@hahnpro/ai-sdk 0.1.0 → 0.2.0

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":"hahnpro-ai-sdk.mjs","sources":["../../../../packages/ai-sdk/src/lib/core/api.service.ts","../../../../packages/ai-sdk/src/lib/core/owner-resolver.service.ts","../../../../packages/ai-sdk/src/lib/ai/context.service.ts","../../../../packages/ai-sdk/src/lib/ai/transloco.module.ts","../../../../packages/ai-sdk/src/lib/ai/chat-scroll.directive.ts","../../../../packages/ai-sdk/src/lib/ai/websocket.service.ts","../../../../packages/ai-sdk/src/lib/ai/utils.ts","../../../../packages/ai-sdk/src/lib/ai/chat.service.ts","../../../../packages/ai-sdk/src/lib/ai/voice-recognition.service.ts","../../../../packages/ai-sdk/src/lib/ai/message-input/message-input.component.ts","../../../../packages/ai-sdk/src/lib/ai/message-input/message-input.component.html","../../../../packages/ai-sdk/src/lib/core/pipes/bytes.pipe.ts","../../../../packages/ai-sdk/src/lib/core/pipes/color-level.pipe.ts","../../../../packages/ai-sdk/src/lib/core/pipes/date-ago.pipe.ts","../../../../packages/ai-sdk/src/lib/core/pipes/pipes.module.ts","../../../../packages/ai-sdk/src/lib/core/utils/i18n.ts","../../../../packages/ai-sdk/src/lib/core/utils/mimetype.ts","../../../../packages/ai-sdk/src/lib/core/utils/index.ts","../../../../packages/ai-sdk/src/lib/ai/preview/preview.component.ts","../../../../packages/ai-sdk/src/lib/ai/preview/preview.component.html","../../../../packages/ai-sdk/src/lib/ai/context-overlay/context-overlay.component.ts","../../../../packages/ai-sdk/src/lib/ai/context-overlay/context-overlay.component.html","../../../../packages/ai-sdk/src/lib/ai/message-context/message-context.component.ts","../../../../packages/ai-sdk/src/lib/ai/message-context/message-context.component.html","../../../../packages/ai-sdk/src/lib/ai/thread/thread.component.ts","../../../../packages/ai-sdk/src/lib/ai/thread/thread.component.html","../../../../packages/ai-sdk/src/lib/ai/chat-dialog/icons.ts","../../../../packages/ai-sdk/src/lib/ai/chat-dialog/chat-dialog.component.ts","../../../../packages/ai-sdk/src/lib/ai/chat-dialog/chat-dialog.component.html","../../../../packages/ai-sdk/src/lib/ai/ai.module.ts","../../../../packages/ai-sdk/src/lib/core/markdown.provider.ts","../../../../packages/ai-sdk/src/lib/ai/providers.ts","../../../../packages/ai-sdk/src/hahnpro-ai-sdk.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n clientCredentialsGrant,\n discovery,\n Configuration,\n} from 'openid-client';\nimport type {\n AiAssistant,\n Asset,\n Content,\n Event,\n Message,\n Paginated,\n RequestParameter,\n SpeechToken,\n Thread,\n ThreadPopulated,\n} from '@hahnpro/hpc-api';\n\n@Injectable({ providedIn: 'root' })\nexport class ApiService {\n private _baseUrl = 'https://testing.hahnpro.com';\n private apiPath = '/api';\n private realm = 'testing';\n private httpClient = new HttpClient();\n\n get baseUrl(): string {\n return this._baseUrl;\n }\n\n get apiUrl(): string {\n return `${this.baseUrl}${this.apiPath}`;\n }\n\n get user(): User | null {\n return this.httpClient.user;\n }\n\n init(clientId: string, clientSecret: string) {\n return this.httpClient.init(\n `${this.baseUrl}/auth/realms/${this.realm}`,\n clientId,\n clientSecret,\n );\n }\n\n getAccessToken(): Promise<string> {\n return this.httpClient.getAccessToken();\n }\n\n createThread(\n assistantId: string,\n isEphemeral?: boolean,\n ): Promise<ThreadPopulated> {\n return this.httpClient.post(`${this.apiUrl}/ai/threads`, {\n assistantId,\n isEphemeral,\n });\n }\n\n getThread(threadId: string): Promise<ThreadPopulated> {\n return this.httpClient.get(`${this.apiUrl}/ai/threads/${threadId}`);\n }\n\n getThreadMessages(threadId: string): Promise<Paginated<Message[]>> {\n return this.httpClient.get(\n `${this.apiUrl}/ai/threads/${threadId}/messages`,\n );\n }\n\n deleteThread(threadId: string): Promise<Thread> {\n return this.httpClient.delete(`${this.apiUrl}/ai/threads/${threadId}`);\n }\n\n getAssistants(): Promise<AiAssistant[]> {\n return this.httpClient.get(`${this.apiUrl}/ai/assistants`);\n }\n\n getSpeechToken(): Promise<SpeechToken> {\n return this.httpClient.get<SpeechToken>(`${this.apiUrl}/ai/speech/token`);\n }\n\n getAssets(params: RequestParameter = {}): Promise<Paginated<Asset[]>> {\n params.limit = params.limit || 0;\n params.page = params.page || 1;\n return this.httpClient.get(`${this.apiUrl}/assets`, { params });\n }\n\n getContents(params: RequestParameter = {}): Promise<Paginated<Content[]>> {\n params.limit = params.limit || 0;\n params.page = params.page || 1;\n return this.httpClient.get(`${this.apiUrl}/contents`, { params });\n }\n\n getEvents(params: RequestParameter = {}): Promise<Paginated<Event[]>> {\n params.limit = params.limit || 0;\n params.page = params.page || 1;\n return this.httpClient.get(`${this.apiUrl}/events`, { params });\n }\n\n downloadContent(id: string, type?: FileType): Promise<Blob> {\n const query = type ? '?type=' + type : '';\n return this.httpClient.get(\n `${this.apiUrl}/contents/${id}/download${query}`,\n );\n }\n\n async loadUsersAsPermissions(): Promise<Permission[]> {\n if (this.httpClient.user?.roles.includes('superuser')) {\n return this.httpClient.get<Permission[]>(\n `${this.apiUrl}/user/permissions`,\n );\n } else {\n return [];\n }\n }\n}\n\nexport type TokenOption = { token?: string };\nexport type Config = TokenOption & {\n headers?: Record<string, string>;\n params?: any;\n};\n\nexport class HttpClient {\n private config: Configuration | null = null;\n private token: string | null = null;\n private expiresAt = 0;\n private _user: User | null = null;\n\n async init(serverUrl: string, clientId: string, clientSecret: string) {\n this.config = await discovery(new URL(serverUrl), clientId, clientSecret);\n }\n\n public delete = <T>(url: string, config?: Config) =>\n this.request<T>('DELETE', url, config);\n public get = <T>(url: string, config?: Config) =>\n this.request<T>('GET', url, config);\n public post = <T>(url: string, data: any, config?: Config) =>\n this.request<T>('POST', url, config, data);\n public put = <T>(url: string, data: any, config?: Config) =>\n this.request<T>('PUT', url, config, data);\n\n get user(): User | null {\n return this._user;\n }\n\n protected request = async <T>(\n method: Method,\n url: string,\n config: Config = {},\n data?: BodyInit | null | undefined,\n ): Promise<T> => {\n const token = await this.getAccessToken();\n if (config.params) {\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(config.params)) {\n params.append(key, String(value));\n }\n url += `?${params}`;\n }\n const response = await fetch(url, {\n method,\n headers: {\n Authorization: `Bearer ${token}`,\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n body: data ? JSON.stringify(data) : undefined,\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n };\n\n async getAccessToken(): Promise<string> {\n if (!this.config) {\n throw new Error('HttpClient not initialized');\n }\n if (!this.token || this.expiresAt <= Date.now()) {\n const tokenResponse = await clientCredentialsGrant(this.config);\n this.token = tokenResponse.access_token;\n this.expiresAt = Date.now() + (tokenResponse.expires_in ?? 0) * 1000;\n this.resolveUser(this.token);\n }\n return this.token;\n }\n\n private resolveUser(token: string) {\n try {\n const tokenParts = token.split('.');\n if (tokenParts.length !== 3) {\n throw new Error('Invalid JWT token format');\n }\n const payload = JSON.parse(atob(tokenParts[1]));\n this._user = {\n id: payload.sub,\n username: payload.preferred_username || payload.email,\n roles: payload.roles || [],\n activeOrg: payload.active_organization\n ? {\n id: payload.active_organization.id,\n name: payload.active_organization.name,\n }\n : undefined,\n };\n } catch (error) {\n console.error('Error parsing JWT token:', error);\n this._user = null;\n }\n }\n}\n\nexport type Method =\n | 'get'\n | 'GET'\n | 'delete'\n | 'DELETE'\n | 'head'\n | 'HEAD'\n | 'options'\n | 'OPTIONS'\n | 'post'\n | 'POST'\n | 'put'\n | 'PUT'\n | 'patch'\n | 'PATCH'\n | 'purge'\n | 'PURGE'\n | 'link'\n | 'LINK'\n | 'unlink'\n | 'UNLINK';\n\nexport type FileType =\n | 'original'\n | 'preview-sm'\n | 'preview-md'\n | 'preview-lg'\n | 'preview-xl';\n\nexport interface Permission {\n label: string;\n value: string;\n}\n\nexport interface User {\n id: string;\n username: string;\n activeOrg?: {\n id: string;\n name: string;\n };\n roles: string[];\n}\n","import { inject, Injectable } from '@angular/core';\nimport { NGXLogger } from 'ngx-logger';\n\nimport { ApiService } from './api.service';\n\n/**\n * Service to resolve owner names based on their IDs. It utilizes caching to minimize\n * redundant requests and leverages authentication and user services to fetch owner details.\n */\n@Injectable({ providedIn: 'root' })\nexport class OwnerResolverService {\n private readonly cache = new ResponseCache(1000, 24 * 60 * 60 * 1000);\n private readonly apiService = inject(ApiService);\n\n /**\n * Resolves the owner name for a given ID.\n */\n async resolveOwner(id: string): Promise<string> {\n return (await this.resolveOwners(id))?.[id];\n }\n\n /**\n * Resolves owner names for a list of IDs.\n */\n async resolveOwners(ids: string | string[]): Promise<Record<string, string>> {\n if (typeof ids === 'string') {\n ids = [ids];\n }\n const idsMap = new Map<string, string>();\n const idsToFetch = new Set<string>();\n\n if (Array.isArray(ids) && ids.length > 0) {\n for (const id of ids) {\n const cachedValue = this.cache.get(id);\n if (cachedValue) {\n idsMap.set(id, cachedValue);\n } else {\n const resolved = await this.resolveFromAuth(id, idsMap);\n if (!resolved) {\n idsToFetch.add(id);\n }\n }\n }\n\n if (idsToFetch.size > 0) {\n await this.fetchIds(idsToFetch, idsMap);\n }\n return Object.fromEntries(idsMap);\n } else {\n return {};\n }\n }\n\n /**\n * Attempts to resolve the owner name from the authentication service.\n */\n private async resolveFromAuth(\n id: string,\n idsMap: Map<string, string>,\n ): Promise<boolean> {\n const { id: userId, username, activeOrg } = this.apiService.user;\n let name: string;\n if (id === userId) {\n name = username;\n } else if (activeOrg.id === id) {\n name = activeOrg.name;\n }\n\n if (name) {\n idsMap.set(id, name);\n this.cache.set(id, name);\n return true;\n } else {\n return false;\n }\n }\n\n private async fetchIds(\n idsToFetch: Set<string>,\n idsMap: Map<string, string>,\n ): Promise<void> {\n try {\n const permissions = await this.apiService.loadUsersAsPermissions();\n const ids = permissions.reduce((acc, user) => {\n acc[user.value] = user.label;\n return acc;\n }, {});\n\n for (const id of Object.keys(idsToFetch)) {\n if (ids[id]) {\n idsMap.set(id, ids[id]);\n this.cache.set(id, ids[id]);\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n}\n\nclass ResponseCache {\n private cache = new Map<string, [any, number]>();\n\n constructor(\n private sizeLimit: number,\n private ttl?: number,\n ) {}\n\n get(key: string) {\n if (!this.cache.has(key)) {\n return undefined;\n }\n\n const [value, ts] = this.cache.get(key);\n\n // if the cache value is older than the ttl, delete it and return undefined\n if (this.ttl && Date.now() - ts > this.ttl) {\n this.cache.delete(key);\n return undefined;\n }\n\n // delete the key/value pair from cache and then set it again to put\n // the retrieved key/value pair back at the front for the map\n this.cache.delete(key);\n this.cache.set(key, [value, ts]);\n\n return value;\n }\n\n set(key: string, value: any) {\n this.cache.delete(key);\n\n if (this.cache.size === this.sizeLimit) {\n this.cache.delete(this.cache.keys().next().value);\n }\n this.cache.set(key, [value, Date.now()]);\n }\n}\n","import { inject, Injectable } from '@angular/core';\n\nimport type { Asset, Content, Event } from '@hahnpro/hpc-api';\nimport { ApiService } from '../core/api.service';\nimport { OwnerResolverService } from '../core/owner-resolver.service';\n\nexport interface Status {\n isComplete?: boolean;\n isError?: boolean;\n isLoading?: boolean;\n}\n\n@Injectable()\nexport class ContextService {\n cache = new Map<string, Asset | Content | Event>();\n status = new Map<string, Status>();\n\n private readonly apiService = inject(ApiService);\n private readonly ownerResolver = inject(OwnerResolverService);\n\n reset() {\n this.cache.clear();\n this.status.clear();\n }\n\n async loadReferences(references: ContextReference[]) {\n const assetIds = [];\n const contentIds = [];\n const eventIds = [];\n\n for (const reference of references) {\n if (\n this.cache.has(reference.id) &&\n this.status.get(reference.id)?.isComplete\n ) {\n continue;\n }\n if (reference.resourceType === 'asset') {\n assetIds.push(reference.id);\n } else if (reference.resourceType === 'content') {\n contentIds.push(reference.id);\n } else if (reference.resourceType === 'event') {\n eventIds.push(reference.id);\n }\n }\n\n if (assetIds.length > 0) {\n assetIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: false,\n isLoading: true,\n }),\n );\n this.apiService\n .getAssets({ filter: `_id=@${assetIds.join(',')}` })\n .then(async (response) => {\n const owners = await this.ownerResolver.resolveOwners(\n response.docs.map((a) => a.owner?.id),\n );\n response.docs.forEach((asset) => {\n if (asset.owner?.id) {\n (asset.owner as any).name =\n owners[asset.owner.id] || asset.owner.id;\n }\n this.cache.set(asset.id, asset);\n this.status.set(asset.id, {\n isComplete: true,\n isError: false,\n isLoading: false,\n });\n });\n })\n .catch((error) => {\n console.error(error);\n assetIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: true,\n isLoading: false,\n }),\n );\n });\n }\n\n if (contentIds.length > 0) {\n contentIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: false,\n isLoading: true,\n }),\n );\n this.apiService\n .getContents({\n filter: `_id=@${contentIds.join(',')}`,\n populate: 'analysis',\n })\n .then(async (response) => {\n const owners = await this.ownerResolver.resolveOwners(\n response.docs.map((c) => c.owner?.id),\n );\n response.docs.forEach((content) => {\n if (content.owner?.id) {\n (content.owner as any).name =\n owners[content.owner.id] || content.owner.id;\n }\n this.cache.set(content.id, content);\n this.status.set(content.id, {\n isComplete: true,\n isError: false,\n isLoading: false,\n });\n });\n })\n .catch((error) => {\n console.error(error);\n contentIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: true,\n isLoading: false,\n }),\n );\n });\n }\n\n if (eventIds.length > 0) {\n eventIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: false,\n isLoading: true,\n }),\n );\n this.apiService\n .getEvents({ filter: `_id=@${eventIds.join(',')}` })\n .then(async (response) => {\n const owners = await this.ownerResolver.resolveOwners(\n response.docs.map((e) => e.owner?.id),\n );\n response.docs.forEach((event) => {\n if (event.owner?.id) {\n (event.owner as any).name =\n owners[event.owner.id] || event.owner.id;\n }\n this.cache.set(event.id, event);\n this.status.set(event.id, {\n isComplete: true,\n isError: false,\n isLoading: false,\n });\n });\n const assetIds = response.docs.map(\n (e) =>\n ({\n id: e.assetRef,\n resourceType: 'asset',\n }) as ContextReference,\n );\n this.loadReferences(assetIds);\n })\n .catch((error) => {\n console.error(error);\n eventIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: true,\n isLoading: false,\n }),\n );\n });\n }\n }\n\n getContext(id: string): Asset | Content | Event {\n return this.cache.get(id);\n }\n\n assetForContent(contentId: string): Asset | null {\n for (const resource of this.cache.values()) {\n if ((resource as Asset).attachments?.includes(contentId)) {\n return resource as Asset;\n }\n }\n return null;\n }\n\n assetForEvent(event: Event): Asset | null {\n if (event.assetRef) {\n return this.cache.get(event.assetRef) as Asset;\n } else {\n return null;\n }\n }\n}\n\nexport interface ContextReference {\n reference_id: number;\n id: string;\n resourceType: 'asset' | 'content' | 'event';\n pageNumber?: number;\n firstOccurrence?: boolean;\n}\n","import { NgModule, isDevMode } from '@angular/core';\nimport {\n DefaultTranspiler,\n TRANSLOCO_LOADER,\n TRANSLOCO_TRANSPILER,\n TranslocoLoader,\n TranslocoModule,\n provideTransloco,\n} from '@jsverse/transloco';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nexport const translations = {\n en: {\n accepted: 'Accepted',\n access_restricted: 'Access restricted',\n access_unrestricted: 'Access unrestricted',\n account: 'Account',\n action: 'Action',\n actions: 'Actions',\n active: 'Active',\n add_attachment: 'Add Attachment',\n add_attribute: 'Add Attribute',\n add_new: 'Add New',\n add_new_member: 'Add new member',\n add_new_organization: 'Add new Organization',\n add_to_clipboard: 'Add to clipboard',\n address: 'Address',\n administration: 'Administration',\n ai: {\n accept: 'Accept',\n adam_ai_intro:\n 'Engage in real-time conversations with Adam AI, your expert assistant in Asset Intelligence. Get instant, intelligent insights and solutions tailored to your needs.',\n agent_unavailable: 'Agent unavailable',\n ai_placeholder: 'How can ADAM help you today?',\n and: 'and',\n asset_intelligence: 'Asset Intelligence',\n assistants: 'Assistants',\n chat_deleted: 'Chat deleted',\n chats: 'Chats',\n clear_history: 'Clear History',\n complete_and_create_report: 'Complete and create report',\n context: 'Referenced Context',\n context_found: 'Found related context',\n context_none:\n 'No related Assets or files found. Consider revising your prompt.',\n context_search: 'Searching for related Assets and files...',\n continue_chat: 'Continue Chat',\n continue_previous_chat: 'Continue previous Chat',\n cookies: 'Cookies',\n create_new_chat: 'Create New Chat',\n create_new_event: 'Create new Event with the help of Adam AI',\n de: 'Deutsch',\n delete_chat: 'Delete Chat',\n delete_item: 'Delete Item',\n delete_item_message:\n '{count, plural, one {Are you sure you want to delete this item?<br><br><b>{{ items }}</b>} other {Are you sure you want to delete these # items?}}',\n delete_item_message_general: 'Are you sure you want to delete this item?',\n delete_item_title:\n '{count, plural, one {Delete Item} other {Delete Multiple Items}}',\n document: 'Document',\n en: 'English',\n failed_to_create_chat: 'Failed to create chat',\n failed_to_delete_chat: 'Failed to delete chat',\n failed_to_initialize_chat: 'Failed to initialize chat',\n failed_to_load_assistants: 'Failed to load assistants',\n failed_to_load_chats: 'Failed to load chat history',\n failed_to_send_message: 'Failed to send message',\n failed_to_update_model: 'Failed to update model',\n file_type: {\n archive: 'Archive',\n audio: 'Audio',\n image: 'Image',\n pdf: 'PDF',\n text: 'Text',\n unknown: 'Unknown',\n video: 'Video',\n },\n finish_reason: {\n 'content-filter':\n 'Your request was blocked due to content filters. Please try rephrasing your question and try again.',\n error: 'Something went wrong. Please try again later.',\n length:\n 'The request is too long to process. Please try again or start a new conversation.',\n unknown: 'Something went wrong. Please try again later.',\n },\n 'gpt-4o': 'GPT-4o',\n 'gpt-4o-2024-08-06': 'GPT-4o',\n 'gpt-4o-2024-11-20': 'GPT-4o',\n 'gpt-4o-mini': 'GPT-4o Mini',\n 'gpt-4o-mini-2024-07-18': 'GPT-4o Mini',\n help_me: 'Ask Adam AI for help',\n last_message: 'Last Message',\n model: 'GPT Model',\n model_updated: 'Model updated',\n no_chats_found: 'No chats found',\n no_messages: 'No messages yet',\n none_of_those: 'None of those',\n of_document: 'of document',\n previous_chats: 'Previous Chats',\n prompt_suggestions: {\n 'asset-info': {\n prompt: 'Provide a detailed maintenance plan for my asset',\n title: 'Asset Info',\n },\n intro: {\n prompt:\n 'What is Adam AI and how can it help me with asset management?',\n title: 'Introduction',\n },\n },\n prompts: {\n asset:\n \"I have a question related to the Asset '{{assetName}}' with ID {{assetId}}\",\n help: \"Please help me solve this task for the asset '{{assetName}}' (ID: {{assetId}}): {{task}}\",\n incident:\n \"Please create a new incident for the asset '{{assetName}}' (ID: {{assetId}}) of type '{{assetTypeName}}' (ID: {{assetTypeId}}')\",\n report:\n \"I have completed the following task for asset '{{assetName}}' (ID: {{assetId}}). Please create a report about it: {{task}}\",\n },\n reference_not_found: 'Reference not found',\n select_asset: 'Select Asset',\n send_message: 'Send Message',\n show_preview: 'Show Preview',\n source: 'Source',\n stop_recording: 'Stop Recording',\n suggested_prompts: 'Suggested prompts to get started with ADAM AI',\n threads: 'Threads',\n toast_error_delete_entry: 'Could not delete {{entry}}.',\n toast_success_delete_entry: '{{entry}} deleted.',\n tools: {\n createEvent: {\n completed: 'Event was created',\n failed: 'Event could not be created',\n pending: 'Creating Event',\n processing: 'Creating Event',\n },\n createReport: {\n completed: 'Report was created',\n failed: 'Report could not be created',\n pending: 'Creating Report',\n processing: 'Creating Report',\n },\n getReportTemplate: {\n completed: 'Report template was retrieved',\n failed: 'Report template could not be retrieved',\n pending: 'Retrieving Report template',\n processing: 'Retrieving Report template',\n },\n searchForAssetAxalta: {\n completed: 'Search for Asset completed',\n failed: 'Search for Asset failed',\n pending: 'Searching for Asset',\n processing: 'Searching for Asset',\n },\n searchForAssetWithId: {\n completed: 'Search for Asset with ID completed',\n failed: 'Search for Asset with ID failed',\n pending: 'Searching for Asset with ID',\n processing: 'Searching for Asset with ID',\n },\n searchForAssets: {\n completed: 'Search for Assets completed',\n failed: 'Search for Assets failed',\n pending: 'Searching for Assets',\n processing: 'Searching for Assets',\n },\n searchForDocuments: {\n completed: 'Search for Documents completed',\n failed: 'Search for Documents failed',\n pending: 'Searching for Documents',\n processing: 'Searching for Documents',\n },\n searchForEvents: {\n completed: 'Search for Events completed',\n failed: 'Search for Events failed',\n pending: 'Searching for Events',\n processing: 'Searching for Events',\n },\n },\n use_microphone: 'Use Microphone',\n view_previous_chats: 'View Previous Chats',\n },\n alert: 'Alert',\n alerts: 'Alerts',\n allowed_to: \"You're allowed to\",\n and: 'and',\n applications: 'Applications',\n apps: 'Applications',\n appstore: 'App Store',\n ascending: 'Ascending',\n asset: 'Asset',\n asset_intelligence: 'Asset Intelligence',\n asset_manager: 'Asset Manager',\n asset_type: 'Asset Type',\n assets: 'Assets',\n assettype: 'Asset Type',\n assettypes: 'Asset Types',\n attachment: 'Attachment',\n attachments: 'Attachments',\n audit_logs: 'Audit Logs',\n author: 'Author',\n authorization_type: 'Authorization Type',\n average: 'Average',\n back: 'Back',\n back_to_organizations: 'Back to organizations',\n bucket_time_range: 'Bucket Time Range (Default is 24h)',\n by: 'by',\n 'cad-preview': {\n 'cad-direction-y': 'Set Y as up vector',\n 'cad-direction-z': 'Set Z as up vector',\n 'cad-fixed-vector': 'Fixed up vector',\n 'cad-menu-center': 'Center',\n 'cad-menu-flip-vector': 'Flip',\n 'cad-unfixed-vector': 'Unfixed vector',\n 'cad-viewer-flip-camera-mode-orthogonal':\n 'Turn on the Orthographic camera',\n 'cad-viewer-flip-camera-mode-perspective':\n 'Turn on the Perspective camera',\n 'error-default-filetype': 'Invalid filetype',\n 'error-invalid-filetype':\n '{{filetype}} is not supported. Try compressing files in a ZIP file if this is a CAD-drawing',\n },\n calendar: 'Calendar',\n cancel: 'Cancel',\n catalog: 'Catalog',\n 'category.delete': 'Remove category',\n 'cert.add.new': 'Add new Certificate',\n 'cert.delete': 'Remove Certificate',\n 'cert.edit': 'Edit Certificate',\n 'cert.name': \"Certificate's name\",\n cert_add_new_description: 'Management of organization related certificates',\n certificate: 'Certificate',\n 'certificate.add.new': 'Add new Certificate',\n certification: {\n date_issue: 'Date of Issue',\n expiration_date: 'Expiration date',\n institution: 'Certification Institution',\n number: 'Certificate number',\n },\n children: 'Children',\n choose: 'Choose',\n choose_file: 'Choose file',\n city: 'City',\n color: 'Color',\n column_settings: 'Column Settings',\n comment: 'Comment',\n company_manager: 'Company Manager',\n company_matching: 'Company Matching',\n complete_subscription: 'Complete Subscription',\n confirm: 'Confirm',\n consent_management: {\n accept_all: 'Accept all',\n accept_all_note:\n 'By clicking \"Accept all\", you agree to the use of essential and analytics cookies.',\n always_enabled: 'Always enabled',\n cookie_groups: {\n analytics: {\n description:\n 'These cookies gather data on website usage, such as which pages are visited, to help us identify the most popular pages and understand how visitors navigate the site. <br /> Website usage data is captured using persistent first and third-party cookies and other tracking technologies to determine the popularity of products and online activity.',\n title: 'Analytics cookies',\n },\n essential: {\n description:\n 'These cookies are essential for the operation of the website. They are usually only set in response to your actions, such as setting your privacy preferences. These cookies do not store any personally identifiable information.',\n title: 'Essential cookies',\n },\n },\n cookie_intro:\n 'This website uses cookies and other tracking technologies to enable essential site functionality, improve the user experience, as well as for analytics and personalisation purposes.',\n cookie_intro_extended:\n 'This website uses cookies and other tracking technologies to enable essential site functionality, improve the user experience, as well as for analytics and personalisation purposes.<br />We use Microsoft Clarity to analyse how our website is used and to improve our products. By using our site, you consent to us and Microsoft collecting and using this data.',\n cookie_learn_more: 'To learn more, please view our',\n cookie_preferences_center: 'Cookie Preferences Center',\n cookie_settings: 'Cookie Settings',\n cookie_usage: 'Cookie usage',\n manage_preferences: 'Manage preferences',\n reject_all: 'Reject all',\n save_preferences: 'Save preferences',\n },\n content: 'Content',\n 'content.file_type': {\n archive: 'Archive',\n audio: 'Audio',\n image: 'Image',\n pdf: 'PDF',\n text: 'Text',\n unknown: 'Unknown',\n video: 'Video',\n },\n\n 'content.show_preview': 'Show Preview',\n 'content.size': 'Size',\n 'content.toast_downloading_content': 'Downloading content...',\n 'content.toast_error_download_content': 'Could not download content.',\n 'content.toast_success_download_content':\n 'Content downloaded successfully.',\n content_drop_zone_text: 'Drag & Drop File',\n content_manager: 'Content Manager',\n contents: 'Contents',\n copy_id: 'Copy ID',\n count: 'Count',\n created: 'Created',\n critical: 'Critical',\n current_organization: 'Current Organization',\n danger_zone: 'Danger Zone',\n dashboards: 'Dashboards',\n data: 'Data',\n date: 'Date',\n day: 'Day',\n days: 'Days',\n de: 'Deutsch',\n default: 'Default',\n delete: 'Delete',\n delete_attachment: 'Delete Attachment',\n delete_member: 'Remove member',\n delete_revision: 'Delete Revision',\n delete_title: 'Delete Title',\n deleted: 'Deleted',\n delimiter: 'Delimiter, like ; or :',\n descending: 'Descending',\n description: 'Description',\n details: 'Details',\n domain: 'Domain',\n 'domain.delete': 'Delete Domain name',\n domain_name: 'Domain name',\n domain_name_placeholder: 'www.domain.com',\n domain_new: 'Add new domain',\n domains: 'Domains',\n download: 'Download',\n download_attachment: 'Download Attachment',\n drag_drop_file: {\n error: {\n file_too_large:\n \"The file '{{fileName}}' exceeds the maximum allowed size of {{maxFileSize}} and has been ignored.\",\n file_type_not_allowed:\n \"The file type of '{{fileName}}' is not allowed and has been rejected.\",\n },\n max_file_size: 'Maximum file size',\n prompt_1:\n 'Drag & drop {limit, plural, one {file} other {files}} here or ',\n prompt_2: 'click to browse',\n warning: {\n max_file_count:\n 'You have selected {{fileCount}} files, but the maximum allowed is {{maxFileCount}}. Only the first {{maxFileCount}} files have been accepted.',\n },\n },\n duration: 'Duration',\n edit: 'Edit',\n edit_attachment: 'Edit Attachment',\n edit_event_level: 'Edit Event Level',\n edit_title: 'Edit Title',\n editor: 'Editor',\n email: 'Email',\n employees: 'Employees',\n en: 'English',\n encoding: 'Encoding',\n endpoints: 'Notification Endpoints',\n english: 'English',\n entries: 'Entries',\n error: 'Error',\n error_loading: 'Failed to load {item}',\n error_message_update: 'Could not update User Settings',\n errors: 'Errors',\n event: 'Event',\n event_level: 'Event Level',\n events: 'Events',\n filename: 'Filename',\n flow: 'Flow',\n flow_studio: 'Flow Studio',\n flowdeployment: 'Flow Deployment',\n flowdeployments: 'Flow Deployments',\n flowfunction: 'Flow Function',\n flowfunctions: 'Flow Functions',\n flowmodel: 'Flow Model',\n flowmodule: 'Flow Module',\n flowmodules: 'Flow Modules',\n flows: 'Flows',\n form_error_delimiter: 'Delimiter required.',\n form_error_details: 'Details Form has Errors.',\n form_error_email: 'Email is required.',\n form_error_empty_method: 'The method must be not empty.',\n form_error_empty_url: 'The URL must be not empty.',\n form_error_encoding: 'Encoding need to set.',\n form_error_expiry_date: 'Expiry date is required.',\n form_error_group: 'At least one group must be selected.',\n form_error_length: 'Name must be at least {{length}} characters long.',\n form_error_max_length: 'Must be no more than {{length}} characters',\n form_error_min_length: 'Must be at least {{length}} characters',\n form_error_name: 'Name is required.',\n form_error_name_pattern:\n 'Only letters, numbers, spaces, hyphens (-), and underscores (_) are allowed',\n form_error_read: 'At least one read permission must be selected.',\n form_error_read_write:\n 'At least one read/write permission must be selected.',\n form_error_required: 'Field is required',\n form_error_role_pattern:\n 'Only lowercase letters, hyphens (-), and underscores (_) are allowed',\n form_error_schema_req: 'Schema is required.',\n form_error_select_file: 'A file must be selected.',\n form_error_select_type: 'An asset type must be selected.',\n form_error_source: 'Source is needed.',\n form_error_unique: 'Property has to be unique: ',\n form_error_view: 'View is needed.',\n general: 'General',\n german: 'German',\n global: 'Global',\n group: 'Group',\n group_by: 'Group by',\n history: 'History',\n hour_format: '{{time}}-hour Time Format',\n id: 'ID',\n inactive: 'Inactive',\n info: 'Info',\n invite_new_employee: 'Invite new employee',\n invite_new_employee_description:\n 'Inviting new employees and assigning them to specific roles',\n invite_new_member: 'Invite new member',\n invite_new_member_description:\n 'Inviting new member and assigning them to specific roles',\n 'jsf_widgets.content.error.resolving_content_failed':\n 'Could not resolve Content',\n 'jsf_widgets.content_reference.error.asset_id_missing': 'Asset ID not set',\n 'jsf_widgets.content_reference.error.loading_attachments_failed':\n 'Could not load Asset Attachments',\n 'jsf_widgets.cron.error.invalid_expression': 'Not a valid cron expression',\n 'jsf_widgets.duration.error.invalid_duration': 'Not a valid duration',\n 'jsf_widgets.permission.error.load_permissions_all_users_failed':\n 'Could not load Permissions of all users',\n 'jsf_widgets.permission.error.load_permissions_failed':\n 'Could not load Permissions',\n 'jsf_widgets.resource_reference.error.searching_failed':\n 'Search could not be completed',\n keys: 'Keys',\n label: 'Label',\n labels: 'Labels',\n labels_edit: 'Edit Labels',\n labels_edit_default: 'Edit Global Default Labels',\n language: 'Language',\n last_updated: 'Last updated',\n leave: 'Leave',\n legal_notice: 'Legal Notice',\n list: 'List',\n loading: 'loading...',\n logo: 'Logo',\n manage_groups: 'Manage Groups',\n manage_identity_providers:\n 'Role that allows to manage the configured identity providers of the company',\n manage_invitations:\n 'Role that allows to manage open invitations of the company',\n manage_members: 'Role that allows to manage the members of the company',\n manage_organization:\n 'Role that allows to manage the company and its details',\n manage_roles: 'Role that allows to manage the roles of the company',\n manager: 'App Manager',\n maximum: 'Maximum',\n member: 'Mitglied',\n message: 'Message',\n method: 'Method',\n modules: 'Modules',\n month: 'Month',\n months: 'Months',\n my_tasks: 'My Tasks',\n name: 'Name',\n new_feminine: 'New',\n new_masculine: 'New',\n new_neutral: 'New',\n new_tag: 'New Label',\n next: 'Next',\n next_step: 'Next',\n no_description: 'No description',\n no_labels: 'No Labels',\n no_preview: 'No preview available',\n no_result: 'No results found!',\n not_assigned: 'Not assigned',\n notification_close_tooltip: 'Close',\n notification_info_empty_list: 'No notifications available',\n notification_open_manager_tooltip: 'Open Notification Manager',\n notification_open_tooltip: 'Open',\n notification_read_all_tooltip: 'Mark all as read',\n notification_read_tooltip: 'Mark as read',\n notification_rules: 'Notification Rules',\n notification_toast_info: 'Received a new notification!',\n notification_unread_tooltip: 'Mark as unread',\n notificationendpoint: 'Notification Endpoint',\n notificationendpoints: 'Notification Endpoints',\n notificationrule: 'Notification Rule',\n notificationrules: 'Notification Rules',\n notifications: 'Notifications',\n offer_requests: 'Offer Requests',\n offers: 'Offers',\n ok: 'OK',\n open: 'Open',\n opened: 'Opened',\n organization: 'Organization',\n 'organization.delete': 'Delete Organization',\n 'organization.delete_as_superuser': 'Delete Organization as Superuser',\n 'organization.request_delete': 'Request Organization Deletion',\n organization_delete_message:\n 'Should the Organization <b>{organization}</b> and all associated data really be deleted?',\n organization_overview: 'Organization Overview',\n organization_request_delete_description:\n 'You hereby request the deletion of your Organization. Please note that the deletion of an Organization is irrevocable and all data belonging to the Organization will also be deleted.',\n organization_tenders: 'Organization Tenders',\n organizations: 'Organizations',\n overview: 'Overview',\n owner: {\n edit_permission: 'Members of {{org}} are allowed to view and edit',\n managed_by: 'Managed by',\n view_permission: 'Members of {{org}} are allowed to view',\n },\n page: 'Page',\n parent: 'Parent',\n password: 'Password',\n pending: 'Pending',\n period: 'Period',\n permissions: 'Permissions',\n phone_number: 'Phone Number',\n preview: 'Preview',\n previous: 'Previous',\n privacy_policy: 'Privacy Policy',\n profile: 'Profile',\n properties: 'Properties',\n property: 'Property',\n quarter: 'Quarter',\n read_permissions: 'Read Permissions',\n read_permissions_edit_default: 'Edit Default Read/Write Permissions',\n read_write_permissions: 'Read/Write Permissions',\n reference: 'Reference',\n references: 'References',\n reset: 'Reset',\n response_type: 'Response Type',\n revision: 'Revision',\n 'role.add.new': 'Add role',\n 'role.delete': 'Remove role',\n 'role.edit': 'Edit role description',\n 'role.edit.info':\n 'Each role must have a unique name and cannot be modified after creating of the role. Only lowercase letters, hyphens (-), and underscores (_) are allowed in the name.',\n 'role.name': 'Name of the role',\n role_add_new_description:\n 'Establishing new roles within your organization and distributing them to resources or assigning them to members as needed.',\n role_admin: 'Admin Role',\n role_info:\n 'Roles to assign the user. Admin role gets all roles. View role gets view only.',\n role_view: 'View Role',\n roles: 'Roles',\n rollback_version: 'Roll back To selected version',\n save: 'Save',\n schema: 'Schema',\n search: 'Search...',\n 'search.no_results': 'No results found',\n search_asset_types: 'Search asset types...',\n search_assets: 'Search assets...',\n search_for_page: 'Search for a page',\n search_roles: 'Search roles...',\n search_tsm: 'Search timeseries...',\n secret: 'Secret',\n secrets: 'Secrets',\n select: 'Select',\n select_file: 'Select File',\n selected_file: 'Selected File',\n 'service.add.new': 'Add Service',\n 'service.delete': 'Remove Service',\n services: 'Services',\n settings: 'Settings',\n setup_certs_description: 'Setup associated certificates',\n show: 'Show',\n show_differences: 'Show differences',\n show_preview: 'Show Preview',\n sign_in: 'Sign in',\n sign_out: 'Sign out',\n signed_in_as: 'Signed in as',\n sort: 'Sort',\n statistic_queries: 'Statistic Queries',\n status: 'Status',\n supertype: 'Supertype',\n system: 'System',\n tags: 'Labels',\n task: 'Task',\n tasks: 'Tasks',\n time: 'Time',\n time_series: 'Time Series',\n time_series_manager: 'Time Series Manager',\n timeseries: 'Time Series',\n title: 'Title',\n toast_active_organization_error: 'Failed to change active organization.',\n toast_active_organization_loading: 'Changing active organization...',\n toast_active_organization_success:\n 'Successfully changed active organization.',\n toast_error: 'Error!',\n toast_error_add_employee:\n \"Couldn't send the invitation of the new employee\",\n toast_error_add_member: \"Couldn't send the invitation of the new member\",\n toast_error_add_role: \"Couldn't add role\",\n toast_error_authenticate: 'Could not authenticate.',\n toast_error_create_tsm: 'Could not create Time Series.',\n toast_error_index_content: 'Error when retrieving indexing status',\n toast_error_invitation_send: 'Could not send invitation',\n toast_error_load_cert: 'Could not load certificates',\n toast_error_load_event_causes: 'Could not load Event causes override.',\n toast_error_load_item: 'Could not load {{item}}.',\n toast_error_load_list: 'Could not load list.',\n toast_error_load_org_roles: 'Could not load roles of the active company.',\n toast_error_load_permissions: 'Could not load Permissions',\n toast_error_load_permissions_all_users:\n 'Could not load Permissions of all users',\n toast_error_load_preview: 'Could not load preview.',\n toast_error_load_role: 'Could not load roles',\n toast_error_load_service: 'Could not load services',\n toast_error_load_tender: 'Could not load tender.',\n toast_error_organization_delete: 'Could not delete organization',\n toast_error_organization_name_exists:\n 'Organization with name {{name}} already exists',\n toast_error_rollback_version: 'Cannot roll back to selected version',\n toast_error_save_item: 'Could not save {{item}}',\n toast_error_update_attachment:\n '{count, plural, one {Could not update attachment} other {Could not update # attachments}}',\n toast_error_update_event_causes: 'Could not update Event causes override.',\n toast_error_update_service: 'Could not update services',\n toast_error_upload_file:\n '{count, plural, one {Could not upload {{file}}} other {Could not upload # files}}',\n toast_error_upload_file_max:\n 'No more than {{max}} files may be uploaded at the same time.',\n toast_form_error_required: '{{param}} cannot be empty',\n toast_form_error_required_selection:\n 'You must select at least one {{param}}',\n toast_form_error_required_selection_feminine:\n 'You must select at least one {{param}}',\n toast_info: 'Info!',\n toast_success: 'Success!',\n toast_success_add_employee:\n 'The invitation of the new employee has been sent successfully',\n toast_success_add_member:\n 'The invitation of the new member has been sent successfully',\n toast_success_add_role: 'Role has been added successfully',\n toast_success_invitation_send: 'Invitation sent',\n toast_success_update_attachment:\n '{count, plural, one {Attachment updated} other {# Attachments updated}}',\n toast_success_update_service: 'Service updated.',\n toast_success_upload_file:\n '{count, plural, one {Upload of {{file}} completed} other {Upload of # files completed}}',\n toast_warning: 'Warning!',\n toast_warning_invalid_form_data:\n 'Invalid form data. Please check the form for errors.',\n toast_warning_invalid_schema: 'Properties Schema is invalid',\n toast_warning_rollback_version:\n \"These referenced elements of the revision don't exist anymore: {{entries}}\",\n tour_start: 'Start tour',\n type: 'Type',\n unknown: 'unknown',\n unverified: 'Unverified',\n updated: 'Updated',\n updated_by: 'Updated by',\n upload_date: 'Upload Date',\n upload_file: 'Upload File',\n url: 'URL',\n user: 'User',\n user_roles: 'User Roles',\n username: 'Username',\n vat: 'VAT-ID',\n vat_example:\n 'VAT-ID must be from Germany (DE followed by 9 digits, e.g. DE123456789) or Austria (ATU followed by 8 digits, e.g. ATU12345678)',\n verified: 'Verified',\n view: 'View',\n view_identity_providers:\n 'Role that allows to view the configured identity providers of the company',\n view_invitations:\n 'Role that allows to view all open invitations of the company',\n view_members: 'Role that allows to view all current members of the company',\n view_organization: 'Role that allows to view the company',\n view_roles: 'Role that allows to view all roles of the company',\n warning: 'Warning',\n week: 'Week',\n write_permissions: 'Write Permissions',\n year: 'Year',\n years: 'Years',\n zip_code: 'Postal Code',\n zip_code_error:\n 'The Postal Code must be valid and not be longer than 10 digits.',\n },\n de: {\n accepted: 'Angenommen',\n access_restricted: 'Zugriff beschränkt',\n access_unrestricted: 'Unbeschränkter Zugriff',\n account: 'Nutzerkonto',\n action: 'Aktion',\n actions: 'Aktionen',\n active: 'Aktiv',\n add_attachment: 'Anhang Hinzufügen',\n add_attribute: 'Attribut Hinzufügen',\n add_new: 'Neue Hinzufügen',\n add_new_member: 'Neues Mitglied hinzufügen',\n add_new_organization: 'Neue Organisation hinzufügen',\n add_to_clipboard: 'Zur Zwischenablage hinzufügen',\n address: 'Adresse',\n administration: 'Verwaltung',\n ai: {\n accept: 'Akzeptieren',\n adam_ai_intro:\n 'Unterhalten Sie sich in Echtzeit mit Adam AI, Ihrem Expertenassistenten für Asset Intelligence. Erhalten Sie intelligente Einblicke und Lösungen, die auf Ihre Bedürfnisse zugeschnitten sind.',\n agent_unavailable: 'Agent nicht verfügbar',\n ai_placeholder: 'Wie kann ADAM Ihnen heute helfen?',\n and: 'und',\n asset_intelligence: 'Asset Intelligence',\n assistants: 'Assistenten',\n chat_deleted: 'Chat gelöscht',\n chats: 'Chats',\n clear_history: 'Verlauf löschen',\n complete_and_create_report: 'Abschließen und Bericht erstellen',\n context: 'Referenzierter Kontext',\n context_found: 'Kontext gefunden',\n context_none: 'Keine zugehörigen Assets oder Dateien gefunden.',\n context_search: 'Suche nach zugehörigen Assets und Dateien...',\n continue_chat: 'Chat fortsetzen',\n continue_previous_chat: 'Vorherigen Chat fortsetzen',\n cookies: 'Cookies',\n create_new_chat: 'Neuen Chat erstellen',\n create_new_event: 'Neue Meldung mit Hilfe von Adam erstellen',\n de: 'Deutsch',\n delete_chat: 'Chat löschen',\n delete_item: 'Eintrag löschen',\n delete_item_message:\n '{count, plural, one {Möchten Sie dieses Element wirklich löschen?<br><br><b>{{ items }}</b>} other {Möchten Sie diese # Elemente wirklich löschen?}}',\n delete_item_message_general:\n 'Möchten Sie dieses Element wirklich löschen?',\n delete_item_title:\n '{count, plural, one {Element löschen} other {Mehrere Elemente löschen}}',\n document: 'Dokument',\n en: 'English',\n failed_to_create_chat: 'Chat konnte nicht erstellt werden',\n failed_to_delete_chat: 'Chat konnte nicht gelöscht werden',\n failed_to_initialize_chat: 'Chat konnte nicht initialisiert werden',\n failed_to_load_assistants: 'Assistenten konnten nicht geladen werden',\n failed_to_load_chats: 'Chat-Verlauf konnte nicht geladen werden',\n failed_to_send_message: 'Nachricht konnte nicht gesendet werden',\n failed_to_update_model: 'Modell konnte nicht aktualisiert werden',\n file_type: {\n archive: 'Archiv',\n audio: 'Audio',\n image: 'Bild',\n pdf: 'PDF',\n text: 'Text',\n unknown: 'Unbekannt',\n video: 'Video',\n },\n finish_reason: {\n 'content-filter':\n 'Ihre Anfrage wurde aufgrund von Inhaltsfiltern blockiert. Bitte formulieren Sie Ihre Frage um und versuchen Sie es erneut.',\n error:\n 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',\n length:\n 'Die Anfrage ist zu lang, um verarbeitet zu werden. Bitte versuchen Sie es erneut oder starten Sie einen neuen Chat.',\n unknown:\n 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',\n },\n 'gpt-4o': 'GPT-4o',\n 'gpt-4o-2024-08-06': 'GPT-4o',\n 'gpt-4o-2024-11-20': 'GPT-4o',\n 'gpt-4o-mini': 'GPT-4o Mini',\n 'gpt-4o-mini-2024-07-18': 'GPT-4o Mini',\n help_me: 'Frag Adam AI um Hilfe',\n last_message: 'Letzte Nachricht',\n model: 'GPT-Modell',\n model_updated: 'Modell aktualisiert',\n no_chats_found: 'Keine Chats gefunden',\n no_messages: 'Noch keine Nachrichten',\n none_of_those: 'Keines davon',\n of_document: 'des Dokuments',\n previous_chats: 'Vorherige Chats',\n prompt_suggestions: {\n 'asset-info': {\n prompt: 'Erstelle einen detaillierten Wartungsplan für mein Asset',\n title: 'Asset-Info',\n },\n intro: {\n prompt:\n 'Was ist Adam AI und wie kann es mir bei der Asset-Verwaltung helfen?',\n title: 'Einführung',\n },\n },\n prompts: {\n asset:\n \"Ich habe eine Frage zu dem Asset '{{assetName}}' mit der ID {{assetId}}\",\n help: \"Bitte hilf mir bei der Lösung dieser Aufgabe für das Asset '{{assetName}}' (ID: {{assetId}}): {{task}}\",\n incident:\n \"Bitte erstelle eine neue Meldung für das Asset '{{assetName}}' (ID: {{assetId}}) vom Typ '{{assetTypeName}}' (ID: {{assetTypeId}}')\",\n report:\n \"Ich habe folgende Aufgabe für das Asset '{{assetName}}' (ID: {{assetId}}) abgeschlossen. Bitte erstelle einen Bericht dazu: {{task}}\",\n },\n reference_not_found: 'Referenz nicht gefunden',\n select_asset: 'Asset auswählen',\n send_message: 'Nachricht senden',\n show_preview: 'Vorschau anzeigen',\n source: 'Quelle',\n stop_recording: 'Aufnahme stoppen',\n suggested_prompts: 'Vorgeschlagene Prompts für den Einstieg in ADAM AI',\n threads: 'Chats',\n toast_error_delete_entry: '{{entry}} konnte nicht gelöscht werden.',\n toast_success_delete_entry: '{{entry}} gelöscht.',\n tools: {\n createEvent: {\n completed: 'Ereignis wurde erstellt',\n failed: 'Ereignis konnte nicht erstellt werden',\n pending: 'Ereignis wird erstellt',\n processing: 'Ereignis wird erstellt',\n },\n createReport: {\n completed: 'Bericht wurde erstellt',\n failed: 'Bericht konnte nicht erstellt werden',\n pending: 'Bericht wird erstellt',\n processing: 'Bericht wird erstellt',\n },\n getReportTemplate: {\n completed: 'Berichtsvorlage wurde abgerufen',\n failed: 'Berichtsvorlage konnte nicht abgerufen werden',\n pending: 'Berichtsvorlage wird abgerufen',\n processing: 'Berichtsvorlage wird abgerufen',\n },\n searchForAssetAxalta: {\n completed: 'Suche nach Asset abgeschlossen',\n failed: 'Suche nach Asset fehlgeschlagen',\n pending: 'Suche nach Asset',\n processing: 'Suche nach Asset',\n },\n searchForAssetWithId: {\n completed: 'Suche nach Asset mit ID abgeschlossen',\n failed: 'Suche nach Asset mit ID fehlgeschlagen',\n pending: 'Suche nach Asset mit ID',\n processing: 'Suche nach Asset mit ID',\n },\n searchForAssets: {\n completed: 'Suche nach Assets abgeschlossen',\n failed: 'Suche nach Assets fehlgeschlagen',\n pending: 'Suche nach Assets',\n processing: 'Suche nach Assets',\n },\n searchForDocuments: {\n completed: 'Suche nach Dokumenten abgeschlossen',\n failed: 'Suche nach Dokumenten fehlgeschlagen',\n pending: 'Suche nach Dokumenten',\n processing: 'Suche nach Dokumenten',\n },\n searchForEvents: {\n completed: 'Suche nach Ereignissen abgeschlossen',\n failed: 'Suche nach Ereignissen fehlgeschlagen',\n pending: 'Suche nach Ereignissen',\n processing: 'Suche nach Ereignissen',\n },\n },\n use_microphone: 'Mikrofon verwenden',\n view_previous_chats: 'Vorherige Chats anzeigen',\n },\n alert: 'Alarm',\n alerts: 'Alarme',\n allowed_to: 'Sie dürfen',\n and: 'und',\n applications: 'Anwendungen',\n apps: 'Applikationen',\n appstore: 'App Store',\n ascending: 'Aufsteigend',\n asset: 'Asset',\n asset_intelligence: 'Asset Intelligence',\n asset_manager: 'Asset Manager',\n asset_type: 'Asset Typ',\n assets: 'Assets',\n assettype: 'Asset Typ',\n assettypes: 'Asset Typen',\n attachment: 'Anhang',\n attachments: 'Anhänge',\n audit_logs: 'Audit Logs',\n author: 'Autor',\n authorization_type: 'Authorization Type',\n average: 'Durchschnitt',\n back: 'Zurück',\n back_to_organizations: 'Zurück zu Organisationen',\n bucket_time_range: 'Bucket Zeitspanne (Default ist 24h)',\n by: 'von',\n calendar: 'Kalender',\n cancel: 'Abbrechen',\n catalog: 'Katalog',\n 'category.delete': 'Dienstleistungskatalog entfernen ',\n 'cert.add.new': 'Zertifikat hinzufügen',\n 'cert.delete': 'Zertifikat entfernen',\n 'cert.edit': 'Zertifikat editieren',\n 'cert.name': 'Zertifikatsname',\n cert_add_new_description: 'Verwaltung Organisationsbezogener Zertifikate',\n certificate: 'Zertifikate',\n 'certificate.add.new': 'Zertifikat hinzufügen',\n certification: {\n date_issue: 'Ausstelldatum',\n expiration_date: 'Ablaufsdatum',\n institution: 'Zertifizierungseinrichtung',\n number: 'Zertifikatsnummer',\n },\n children: 'Kinder',\n choose: 'Auswählen',\n choose_file: 'Datei auswählen',\n city: 'Stadt',\n color: 'Farbe',\n column_settings: 'Spalten-Einstellungen',\n comment: 'Kommentar',\n company_manager: 'Unternehmen Manager',\n company_matching: 'Company-Matching',\n complete_subscription: 'Abonnement abschließen',\n confirm: 'Bestätigen',\n consent_management: {\n accept_all: 'Alle akzeptieren',\n accept_all_note:\n 'Durch Klicken auf \"Alle akzeptieren\" stimmen Sie der Verwendung von essentiellen und analytischen Cookies zu.',\n always_enabled: 'Immer aktiv',\n cookie_groups: {\n analytics: {\n description:\n 'Diese Cookies sammeln Daten über die Nutzung der Website, z.B. welche Seiten besucht werden, um uns zu helfen, die beliebtesten Seiten zu identifizieren und zu verstehen, wie Besucher auf der Website navigieren.<br />Daten zur Nutzung der Website werden mithilfe von dauerhaften Cookies von Erst- und Drittanbietern und anderen Tracking-Technologien erfasst, um die Beliebtheit von Produkten und Online-Aktivitäten zu ermitteln.',\n title: 'Analytische Cookies',\n },\n essential: {\n description:\n 'Diese Cookies sind für den Betrieb der Webseite unbedingt erforderlich. Sie werden in der Regel nur als Reaktion auf Ihre Handlungen gesetzt, wie z. B. die Einstellung Ihrer Datenschutzeinstellungen. Diese Cookies speichern keine persönlich identifizierbaren Informationen.',\n title: 'Erforderliche Cookies',\n },\n },\n cookie_intro:\n 'Diese Website verwendet Cookies und andere Tracking-Technologien, um wesentliche Funktionen der Website zu ermöglichen, die Benutzerfreundlichkeit zu verbessern sowie zu Analyse- und Personalisierungszwecken.',\n cookie_intro_extended:\n 'Diese Website verwendet Cookies und andere Tracking-Technologien, um wesentliche Funktionen der Website zu ermöglichen, die Benutzerfreundlichkeit zu verbessern sowie zu Analyse- und Personalisierungszwecken.<br />Wir verwenden Microsoft Clarity, um zu analysieren, wie unsere Website genutzt wird, und um unsere Produkte zu verbessern. Durch die Nutzung unserer Website erklären Sie sich damit einverstanden, dass wir und Microsoft diese Daten sammeln und nutzen.',\n cookie_learn_more: 'Um mehr zu erfahren, lesen Sie bitte unsere',\n cookie_preferences_center: 'Cookie Einstellungen',\n cookie_settings: 'Cookie Einstellungen',\n cookie_usage: 'Nutzung von Cookies',\n manage_preferences: 'Einstellungen verwalten',\n reject_all: 'Alle ablehnen',\n save_preferences: 'Einstellungen speichern',\n },\n content: 'Inhalt',\n 'content.file_type': {\n archive: 'Archiv',\n audio: 'Audio',\n image: 'Bild',\n pdf: 'PDF',\n text: 'Text',\n unknown: 'Unbekannt',\n video: 'Video',\n },\n 'content.show_preview': 'Vorschau anzeigen',\n 'content.size': 'Größe',\n 'content.toast_downloading_content': 'Datei wird heruntergeladen...',\n 'content.toast_error_download_content':\n 'Datei konnte nicht heruntergeladen werden.',\n 'content.toast_success_download_content':\n 'Datei erfolgreich heruntergeladen.',\n content_drop_zone_text: 'Drag & Drop Datei',\n content_manager: 'Content Manager',\n contents: 'Contents',\n copy_id: 'ID kopieren',\n count: 'Anzahl',\n created: 'Erstellt',\n critical: 'Kritisch',\n current_organization: 'Aktuelles Organisation',\n danger_zone: 'Gefahrenzone',\n dashboards: 'Dashboards',\n data: 'Daten',\n date: 'Datum',\n day: 'Tag',\n days: 'Tage',\n de: 'Deutsch',\n default: 'Standard',\n delete: 'Löschen',\n delete_attachment: 'Anhang Löschen',\n delete_member: 'Mitglied Entfernen',\n delete_revision: 'Version löschen',\n delete_title: 'Titel löschen',\n deleted: 'Gelöscht',\n delimiter: 'Trennzeichen, wie ; oder :',\n descending: 'Absteigend',\n description: 'Beschreibung',\n details: 'Details',\n domain: 'Domäne',\n 'domain.delete': 'Domänenname löschen',\n domain_name: 'Domänenname',\n domain_name_placeholder: 'www.domain.com',\n domain_new: 'neue Domäne hinzufügen',\n domains: 'Domänen',\n download: 'Herunterladen',\n download_attachment: 'Anhang Herunterladen',\n drag_drop_file: {\n error: {\n file_too_large:\n \"Die Datei '{{fileName}}' überschreitet die maximal zulässige Größe von {{maxFileSize}} und wurde ignoriert.\",\n file_type_not_allowed:\n \"Der Dateityp von '{{fileName}}' ist nicht erlaubt und wurde abgelehnt.\",\n },\n max_file_size: 'Maximale Dateigröße',\n prompt_1:\n 'Drag & Drop {limit, plural, one {Datei} other {Dateien}} hier oder ',\n prompt_2: 'hier klicken, um Dateien zu durchsuchen',\n warning: {\n max_file_count:\n 'Sie haben {{fileCount}} Dateien ausgewählt, aber maximal sind {{maxFileCount}} erlaubt. Nur die ersten {{maxFileCount}} Dateien wurden akzeptiert.',\n },\n },\n duration: 'Laufzeit',\n edit: 'Editieren',\n edit_attachment: 'Anhang Editieren',\n edit_event_level: 'Ereignis-Level editieren',\n edit_title: 'Titel anpassen',\n editor: 'Editor',\n email: 'Email',\n employees: 'Mitarbeiter',\n en: 'English',\n encoding: 'Verschlüsselung',\n endpoints: 'Benachrichtigungsendpunkte',\n english: 'Englisch',\n entries: 'Einträge',\n error: 'Fehler',\n error_loading: '{item} konnte nicht geladen werden',\n error_message_update:\n 'Benutzer Einstellungen konnten nicht aktualisiert werden',\n errors: 'Fehler',\n event: 'Ereignis',\n event_level: 'Ereignis-Level',\n events: 'Ereignisse',\n filename: 'Dateiname',\n flow: 'Flow',\n flow_studio: 'Flow Studio',\n flowdeployment: 'Flow Deployment',\n flowdeployments: 'Flow Deployments',\n flowfunction: 'Flow Funktion',\n flowfunctions: 'Flow Funktionen',\n flowmodel: 'Flow Modell',\n flowmodule: 'Flow Modul',\n flowmodules: 'Flow Module',\n flows: 'Flows',\n form_error_delimiter: 'Trennzeichen wird benötigt.',\n form_error_details: 'Auf der Details Seite sind fehlerhafte Einträge.',\n form_error_email: 'Email wird benötigt.',\n form_error_empty_method: 'Eine Methode muss ausgewählt werden.',\n form_error_empty_url: 'Das URL Feld muss ausgefüllt werden.',\n form_error_encoding: 'Eine Verschlüsselung muss angegeben werden.',\n form_error_expiry_date: 'Ein Ablaufdatum muss angegeben werden.',\n form_error_group: 'Zumindest eine Gruppe muss ausgewählt werden.',\n form_error_length:\n 'Der Name muss aus mindestens {{length}} Zeichen bestehen.',\n form_error_max_length: 'Darf maximal {{length}} Zeichen lang sein',\n form_error_min_length: 'Muss mindestens {{length}} Zeichen lang sein',\n form_error_name: 'Namens-Feld wird benötigt.',\n form_error_name_pattern:\n 'Nur Buchstaben, Zahlen, Leerzeichen, Bindestriche (-) und Unterstriche (_) sind erlaubt',\n form_error_read: 'Mindestens ein Lese-Recht muss ausgewählt werden.',\n form_error_read_write:\n 'Mindestens ein Lese/Schreibe-Recht muss ausgewählt werden.',\n form_error_required: 'Pflichtfeld',\n form_error_role_pattern:\n 'Nur Kleinbuchstaben, Bindestriche (-) und Unterstriche (_) sind erlaubt',\n form_error_schema_req: 'Ein Schema wird benötigt.',\n form_error_select_file: 'Eine Datei muss ausgewählt werden.',\n form_error_select_type: 'Ein Asset Typ muss ausgewählt werden.',\n form_error_source: 'Source is needed.',\n form_error_unique: 'Der Wert muss eindeutig sein: ',\n form_error_view: 'View is needed.',\n general: 'Allgemein',\n german: 'Deutsch',\n global: 'Global',\n group: 'Gruppe',\n group_by: 'Gruppieren nach',\n history: 'Verlauf',\n hour_format: '{{time}}-Stunden-Zeitformat',\n id: 'ID',\n inactive: 'Inaktiv',\n info: 'Info',\n invite_new_employee: 'Neuen Mitarbeiter einladen',\n invite_new_employee_description:\n 'Einladung neuer Mitarbeiter und deren Zuweisung zu bestimmten Rollen',\n invite_new_member: 'Neues Mitglied einladen',\n invite_new_member_description:\n 'Einladung neuer Mitglied und deren Zuweisung zu bestimmten Rollen',\n 'jsf_widgets.content.error.resolving_content_failed':\n 'Inhalt konnte nicht aufgelöst werden',\n 'jsf_widgets.content_reference.error.asset_id_missing':\n 'Asset ID ist nicht gesetzt',\n 'jsf_widgets.content_reference.error.loading_attachments_failed':\n 'Asset Anhänge konnten nicht geladen werden',\n 'jsf_widgets.cron.error.invalid_expression': 'Kein gültiger cron Ausdruck',\n 'jsf_widgets.duration.error.invalid_duration': 'Keine gültige Dauer',\n 'jsf_widgets.permission.error.load_permissions_all_users_failed':\n 'Rechte aller Benutzer konnten nicht geladen werden',\n 'jsf_widgets.permission.error.load_permissions_failed':\n 'Rechte konnten nicht geladen werden',\n 'jsf_widgets.resource_reference.error.searching_failed':\n 'Suche konnte nicht abgeschlossen werden',\n keys: 'Schlüssel',\n label: 'Label',\n labels: 'Labels',\n labels_edit: 'Labels bearbeiten',\n labels_edit_default: 'Globale Standard-Labels bearbeiten',\n language: 'Sprache',\n last_updated: 'Zuletzt aktualisiert',\n leave: 'Verlassen',\n legal_notice: 'Impressum',\n list: 'Liste',\n loading: 'lade...',\n logo: 'Logo',\n manage_groups: 'Gruppen verwalten',\n manage_identity_providers:\n 'Rolle, die zur Verwaltung der konfigurierten Identitätsanbieter ermächtigt',\n manage_invitations:\n 'Rolle, die zur Verwaltung der offenen Mitarbeitereinladungen ermächtigt',\n manage_members: 'Rolle, die zur Verwaltung der Mitgliedern ermächtigt',\n manage_organization:\n 'Rolle, die zur Verwaltung des Unternehmens und dessen Eigenschaften ermächtigt',\n manage_roles: 'Rolle, die zur Verwaltung der Unternehmensrollen ermächtigt',\n manager: 'App Manager',\n maximum: 'Maximum',\n member: 'Mitglied',\n message: 'Nachricht',\n method: 'Funktion',\n modules: 'Module',\n month: 'Monat',\n months: 'Monate',\n my_tasks: 'Meine Aufgaben',\n name: 'Name',\n new_feminine: 'Neue',\n new_masculine: 'Neuer',\n new_neutral: 'Neues',\n new_tag: 'Neues Label',\n next: 'Nächste',\n next_step: 'Weiter',\n no_description: 'Keine Beschreibung',\n no_labels: 'Keine Labels',\n no_preview: 'Keine Vorschau verfügbar',\n no_result: 'Keine Ergebnisse!',\n not_assigned: 'Nicht zugewiesen',\n notification_close_tooltip: 'Schließen',\n notification_info_empty_list: 'Keine Benachrichtigungen vorhanden',\n notification_open_manager_tooltip: 'Notification Manager öffnen',\n notification_open_tooltip: 'Öffnen',\n notification_read_all_tooltip: 'Alles als gelesen markieren',\n notification_read_tooltip: 'Als gelesen markieren',\n notification_rules: 'Benachrichtigungsregel',\n notification_toast_info: 'Neue Benachrichtigung erhalten!',\n notification_unread_tooltip: 'Als ungelesen markieren',\n notificationendpoint: 'Benachrichtigungsendpunkt',\n notificationendpoints: 'Benachrichtigungsendpunkte',\n notificationrule: 'Benachrichtigungsregel',\n notificationrules: 'Benachrichtigungsregeln',\n notifications: 'Benachrichtigungen',\n offer_requests: 'Anfragen',\n offers: 'Angebote',\n ok: 'OK',\n open: 'Öffnen',\n opened: 'Geöffnet',\n organization: 'Organisation',\n 'organization.delete': 'Organisation löschen',\n 'organization.delete_as_superuser': 'Organisation löschen als Superuser',\n 'organization.request_delete': 'Löschen der Organisation beantragen',\n organization_delete_message:\n 'Soll die Organisation <b>{organization}</b> mitsamt aller zugehöriger Daten wirklich gelöscht werden?',\n organization_overview: 'Organisations-Profil',\n organization_request_delete_description:\n 'Hiermit beantragen Sie das Löschen ihrer Organisation. Bitte beachten Sie, dass das Löschen einer Organisation unwiderruflich ist und alle zur Organisation gehörigen Daten ebenfalls gelöscht werden.',\n organization_tenders: 'Ausschreibungen der Organisations',\n organizations: 'Organisationen',\n overview: 'Übersicht',\n owner: {\n edit_permission: 'Mitglieder von {{org}} dürfen ansehen und bearbeiten',\n managed_by: 'Verwaltet von',\n view_permission: 'Mitglieder von {{org}} dürfen ansehen',\n },\n page: 'Seite',\n parent: 'Elternteil',\n password: 'Passwort',\n pending: 'Ausstehend',\n period: 'Zeitraum',\n permissions: 'Rechte',\n phone_number: 'Telefonnummer',\n preview: 'Vorschau',\n previous: 'Vorherige',\n privacy_policy: 'Datenschutzerklärung',\n profile: 'Profil',\n properties: 'Eigenschaften',\n property: 'Eigenschaft',\n quarter: 'Quartal',\n read_permissions: 'Lese Rechte',\n read_permissions_edit_default: 'Standard Lese-/Schreibe-Rechte bearbeiten',\n read_write_permissions: 'Lese/Schreibe-Rechte',\n reference: 'Referenz',\n references: 'Referenzen',\n reset: 'Zurücksetzen',\n response_type: 'Response Type',\n revision: 'Version',\n 'role.add.new': 'Rolle hinzufügen',\n 'role.delete': 'Rolle entfernen',\n 'role.edit': 'Rolle editieren',\n 'role.edit.info':\n 'Jede Rolle muss einen eindeutigen Namen haben und kann nach der Erstellung der Rolle nicht mehr geändert werden. Es sind nur Kleinbuchstaben, Bindestriche (-) und Unterstriche (_) im Namen erlaubt.',\n 'role.name': 'Name der Rolle',\n role_add_new_description:\n 'Einrichtung neuer Rollen in Ihrer Organisation und deren Zuweisung nach Bedarf zu Ressourcen bzw. Mitgliedern',\n role_admin: 'Adminrechte',\n role_info:\n 'Rollen, die dem Benutzer zugewiesen werden sollen. Adminrechte erhält alle Rollen. Leserechte erhält nur die View-Rechte',\n role_view: 'Leserechte',\n roles: 'Rollen',\n rollback_version: 'Auf die ausgewählte Version zurücksetzen',\n save: 'Speichern',\n schema: 'Schema',\n search: 'Suche...',\n 'search.no_results': 'Keine Ergebnisse gefunden',\n search_asset_types: 'Suche Asset Types...',\n search_assets: 'Suche Assets...',\n search_for_page: 'Seite suchen',\n search_roles: 'Suche Rollen...',\n search_tsm: 'Suche Zeitreihen...',\n secret: 'Secret',\n secrets: 'Secrets',\n select: 'Auswählen',\n select_file: 'Datei Auswählen',\n selected_file: 'Ausgewählte Datei',\n 'service.add.new': 'Dienstleistung hinzufügen',\n 'service.delete': 'Dienstleistung entfernen',\n services: 'Dienstleistungen',\n settings: 'Einstellungen',\n setup_certs_description: 'Einrichtung zugehöriger Zertifikate',\n show: 'Zeige',\n show_differences: 'Zeige Unterschiede',\n show_preview: 'Vorschau anzeigen',\n sign_in: 'Einloggen',\n sign_out: 'Ausloggen',\n signed_in_as: 'Angemeldet als',\n sort: 'Sortierung',\n statistic_queries: 'Statistik Anfragen',\n status: 'Status',\n supertype: 'Obertyp',\n system: 'System',\n tags: 'Label',\n task: 'Aufgabe',\n tasks: 'Aufgaben',\n time: 'Zeit',\n time_series: 'Zeitreihen',\n time_series_manager: 'Time Series Manager',\n timeseries: 'Zeitreihen',\n title: 'Titel',\n toast_active_organization_error:\n 'Aktive Organisation konnte nicht geändert werden.',\n toast_active_organization_loading: 'Aktive Organisation wird geändert...',\n toast_active_organization_success:\n 'Aktive Organisation erfolgreich geändert.',\n toast_error: 'Fehler!',\n toast_error_add_employee:\n 'Die Einladung des neuen Mitarbeiters konnte nicht versendet werden',\n toast_error_add_member:\n 'Die Einladung des neuen Mitglieds konnte nicht versendet werden',\n toast_error_add_role: 'Die Rolle konnte nicht hinzugefügt werden',\n toast_error_authenticate: 'Authentifizierung fehlgeschlagen.',\n toast_error_create_tsm: 'Zeitreihe konnte nicht erstellt werden.',\n toast_error_index_content: 'Fehler beim Abrufen des Indizierungsstatus.',\n toast_error_invitation_send: 'Einladung konnte nicht gesendet werden',\n toast_error_load_cert: 'Zertifikate konnten nicht geladen werden',\n toast_error_load_event_causes:\n 'Eventursachen-Override konnte nicht geladen werden.',\n toast_error_load_item: '{{item}} konnte nicht geladen werden.',\n toast_error_load_list: 'Liste konnte nicht geladen werden.',\n toast_error_load_org_roles:\n 'Rollen des aktiven Unternehmens konnten nicht geladen werden',\n toast_error_load_permissions: 'Rechte konnten nicht geladen werden',\n toast_error_load_permissions_all_users:\n 'Rechte aller Benutzer konnten nicht geladen werden',\n toast_error_load_preview: 'Vorschau konnte nicht geladen werden.',\n toast_error_load_role: 'Rollen konnten nicht geladen werden',\n toast_error_load_service: 'Dienstleistungen konnten nicht geladen werden',\n toast_error_load_tender: 'Ausschreibung konnte nicht geladen werden.',\n toast_error_organization_delete:\n 'Organisation konnte nicht gelöscht werden.',\n toast_error_organization_name_exists:\n 'Eine Organisation mit dem Namen {{name}} existiert bereits',\n toast_error_rollback_version:\n 'Fehler beim Zurücksetzen auf die ausgewählte Version',\n toast_error_save_item: '{{item}} konnte nicht gespeichert werden',\n toast_error_update_attachment:\n '{count, plural, one {Anhang konnte nicht aktualisiert werden} other {# Anhänge konnten nicht aktualisiert werden}}',\n toast_error_update_event_causes:\n 'Eventursachen-Override konnte nicht aktualisiert werden.',\n toast_error_update_service:\n 'Dienstleistung konnte nicht aktualisiert werden',\n toast_error_upload_file:\n '{count, plural, one {Datei konnte nicht hochgeladen werden {{file}}} other {# Dateien konnten nicht hochgeladen werden}}',\n toast_error_upload_file_max:\n 'Es dürfen nicht mehr als {{max}} Dateien Zeitgleich hochgeladen werden.',\n toast_form_error_required: '{{param}} darf nicht leer sein',\n toast_form_error_required_selection:\n 'Es muss mindestens ein {{param}} ausgewählt werden',\n toast_form_error_required_selection_feminine:\n 'Es muss mindestens eine {{param}} ausgewählt werden',\n toast_info: 'Info!',\n toast_success: 'Erfolgreich!',\n toast_success_add_employee:\n 'Die Einladung des neuen Mitarbeiters wurde erfolgreich versendet',\n toast_success_add_member:\n 'Die Einladung des neuen Mitglieds wurde erfolgreich versendet',\n toast_success_add_role: 'Die Rolle wurde erfolgreich hinzugefügt',\n toast_success_invitation_send: 'Einladung gesendet',\n toast_success_update_attachment:\n '{count, plural, one {Anhang aktualisiert} other {# Anhänge aktualisiert}}',\n toast_success_update_service: 'Dienstleistung wurde aktualisiert',\n toast_success_upload_file:\n '{count, plural, one {Datei wurde erfolgreich hochgeladen: {{file}}} other {# Dateien wurden erfolgreich hochgeladen}}',\n toast_warning: 'Warnung!',\n toast_warning_invalid_form_data:\n 'Ungültige Daten im Formular. Bitte überprüfen Sie das Formular auf Fehler.',\n toast_warning_invalid_schema: 'Das angegebene Schema ist nicht gültig.',\n toast_warning_rollback_version:\n 'Folgende referenzierte Elemente existieren in der Revision nicht mehr: {{entries}}',\n tour_start: 'Starte Tour',\n type: 'Typ',\n unknown: 'Unbekannt',\n unverified: 'Unverifiziert',\n updated: 'Bearbeitet',\n updated_by: 'Aktualisiert von',\n upload_date: 'Hochgeladen am',\n upload_file: 'Datei hochladen',\n url: 'URL',\n user: 'Benutzer',\n user_roles: 'Benutzerrollen',\n username: 'Benutzername',\n vat: 'USt-IdNr./UID',\n vat_example:\n 'Es muss eine gültige USt-IdNr. (DE gefolgt von 9 Ziffern, z.B. DE123456789) oder UID (ATU gefolgt von 8 Ziffern, z.B. ATU12345678) angegeben werden',\n verified: 'Verifiziert',\n view: 'Ansehen',\n view_identity_providers:\n 'Rolle, die den Lesezugriff auf die konfigurierten Identitätsanbieter ermöglicht',\n view_invitations:\n 'Rolle, die den Lesezugriff auf offene Mitarbeitereinladungen ermöglicht',\n view_members:\n 'Rolle, die den Lesezugriff auf alle bestehenden Mitarbeiter ermöglicht',\n view_organization:\n 'Rolle, die den Lesezugriff auf das Unternehmen ermöglicht',\n view_roles: 'Rolle, die den Lesezugriff auf Unternehmensrollen ermöglicht',\n warning: 'Warnung',\n week: 'Woche',\n write_permissions: 'Schreibe-Rechte',\n year: 'Jahr',\n years: 'Jahre',\n zip_code: 'Postleitzahl',\n zip_code_error:\n 'Die Postleitzahl muss gültig sein und darf maximal 10 Zeichen enthalten.',\n },\n};\n\n@Injectable({ providedIn: 'root' })\nexport class AiTranslocoLoader implements TranslocoLoader {\n getTranslation(lang: string): Observable<any> {\n return of(translations[lang] || {});\n }\n}\n\n@NgModule({\n imports: [TranslocoModule],\n exports: [TranslocoModule],\n providers: [\n { provide: TRANSLOCO_TRANSPILER, useClass: DefaultTranspiler },\n { provide: TRANSLOCO_LOADER, useClass: AiTranslocoLoader },\n provideTransloco({\n config: {\n availableLangs: ['de', 'en'],\n defaultLang: 'de',\n reRenderOnLangChange: true,\n prodMode: !isDevMode(),\n },\n loader: AiTranslocoLoader,\n }),\n ],\n})\nexport class AiTranslocoModule {}\n","import {\n Directive,\n ElementRef,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\n/**\n * A directive that automatically scrolls a chat container to the bottom when new content is added,\n * unless the user is currently scrolling.\n */\n@Directive({\n selector: '[aiChatScroll]',\n standalone: true,\n})\nexport class ChatScrollDirective implements OnInit, OnDestroy {\n private isUserScrolling = false;\n private observer: MutationObserver;\n\n constructor(private el: ElementRef<HTMLElement>, private zone: NgZone) {\n this.observer = new MutationObserver(() => this.scrollToBottom());\n }\n\n ngOnInit() {\n this.observer.observe(this.el.nativeElement, {\n childList: true,\n subtree: true,\n });\n this.el.nativeElement.addEventListener(\n 'scroll',\n this.handleUserScroll.bind(this)\n );\n }\n\n ngOnDestroy() {\n this.observer.disconnect();\n this.el.nativeElement.removeEventListener(\n 'scroll',\n this.handleUserScroll.bind(this)\n );\n }\n\n /*\n * Checks if the user is currently scrolling by comparing the scroll position\n * with the total scroll height and client height of the element.\n */\n private handleUserScroll() {\n const { scrollTop, scrollHeight, clientHeight } = this.el.nativeElement;\n this.isUserScrolling = scrollTop + clientHeight < scrollHeight;\n }\n\n private scrollToBottom() {\n if (!this.isUserScrolling) {\n this.zone.runOutsideAngular(\n () =>\n (this.el.nativeElement.scrollTop = this.el.nativeElement.scrollHeight)\n );\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, share } from 'rxjs';\nimport { io, Socket } from 'socket.io-client';\n\nimport { ApiService } from '../core/api.service';\n\n@Injectable()\nexport class WebsocketService {\n private socket: Socket;\n\n subscribersCounter: Record<string, number> = {};\n eventObservables$: Record<string, Observable<any>> = {};\n\n constructor(apiService: ApiService) {\n this.socket = io(apiService.baseUrl, {\n path: `/api/ws/ai`,\n auth: (cb) => {\n apiService.getAccessToken().then((token) => {\n cb({ token: 'Bearer ' + token });\n });\n },\n });\n }\n\n emitToAi(\n threadId: string,\n message: string,\n context?: { timeZone?: string },\n toolCallId?: string,\n result?: any,\n ): Socket {\n return this.socket.emit('message', {\n threadId,\n message,\n context,\n toolCallId,\n result,\n });\n }\n\n emitToolCallResult(\n threadId: string,\n toolCallId: string,\n result: any,\n ): Socket {\n return this.socket.emit('message', { threadId, toolCallId, result });\n }\n\n abortAi(threadId: string): Socket {\n return this.socket.emit('abort', { threadId });\n }\n\n subscribeToThread(threadId: string): Observable<any> {\n return this.fromEvent(threadId, this.socket);\n }\n\n private fromEvent<T>(eventName: string, socket: Socket): Observable<T> {\n if (!this.subscribersCounter[eventName]) {\n this.subscribersCounter[eventName] = 0;\n }\n this.subscribersCounter[eventName]++;\n\n if (!this.eventObservables$[eventName]) {\n this.eventObservables$[eventName] = new Observable((observer: any) => {\n const listener = (data: T) => {\n observer.next(data);\n };\n socket.on(eventName, listener);\n return () => {\n this.subscribersCounter[eventName]--;\n if (this.subscribersCounter[eventName] === 0) {\n socket.removeListener(eventName, listener);\n delete this.eventObservables$[eventName];\n }\n };\n }).pipe(share());\n }\n return this.eventObservables$[eventName];\n }\n}\n","const enum ContextType {\n TOP_LEVEL = 'topLevel',\n STRING = 'string',\n STRING_ESCAPED = 'stringEscaped',\n STRING_UNICODE = 'stringUnicode',\n NUMBER = 'number',\n NUMBER_NEEDS_DIGIT = 'numberNeedsDigit',\n NUMBER_NEEDS_EXPONENT = 'numberNeedsExponent',\n TRUE = 'true',\n FALSE = 'false',\n NULL = 'null',\n ARRAY_NEEDS_VALUE = 'arrayNeedsValue',\n ARRAY_NEEDS_COMMA = 'arrayNeedsComma',\n OBJECT_NEEDS_KEY = 'objectNeedsKey',\n OBJECT_NEEDS_COLON = 'objectNeedsColon',\n OBJECT_NEEDS_VALUE = 'objectNeedsValue',\n OBJECT_NEEDS_COMMA = 'objectNeedsComma',\n}\n\nconst enum RespawnReason {\n STRING_ESCAPE = 'stringEscape',\n COLLECTION_ITEM = 'collectionItem',\n}\n\nfunction isWhitespace(char: string): boolean {\n return '\\u0020\\u000D\\u000A\\u0009'.indexOf(char) >= 0;\n}\n\n// based on https://github.com/dphilipson/untruncate-json\nexport function untruncateJson(json: string): string {\n const contextStack: ContextType[] = [ContextType.TOP_LEVEL];\n let position = 0;\n let respawnPosition: number | undefined;\n let respawnStackLength: number | undefined;\n let respawnReason: RespawnReason | undefined;\n\n const push = (context: ContextType) => contextStack.push(context);\n const replace = (context: ContextType) => (contextStack[contextStack.length - 1] = context);\n const setRespawn = (reason: RespawnReason) => {\n if (respawnPosition == null) {\n respawnPosition = position;\n respawnStackLength = contextStack.length;\n respawnReason = reason;\n }\n };\n const clearRespawn = (reason: RespawnReason) => {\n if (reason === respawnReason) {\n respawnPosition = undefined;\n respawnStackLength = undefined;\n respawnReason = undefined;\n }\n };\n const pop = () => contextStack.pop();\n const dontConsumeCharacter = () => position--;\n\n const startAny = (char: string) => {\n if ('0' <= char && char <= '9') {\n push(ContextType.NUMBER);\n return;\n }\n switch (char) {\n case '\"':\n push(ContextType.STRING);\n return;\n case '-':\n push(ContextType.NUMBER_NEEDS_DIGIT);\n return;\n case 't':\n push(ContextType.TRUE);\n return;\n case 'f':\n push(ContextType.FALSE);\n return;\n case 'n':\n push(ContextType.NULL);\n return;\n case '[':\n push(ContextType.ARRAY_NEEDS_VALUE);\n return;\n case '{':\n push(ContextType.OBJECT_NEEDS_KEY);\n return;\n }\n };\n\n for (const { length } = json; position < length; position++) {\n const char = json[position];\n switch (contextStack[contextStack.length - 1]) {\n case ContextType.TOP_LEVEL:\n startAny(char);\n break;\n case ContextType.STRING:\n switch (char) {\n case '\"':\n pop();\n break;\n case '\\\\':\n setRespawn(RespawnReason.STRING_ESCAPE);\n push(ContextType.STRING_ESCAPED);\n break;\n }\n break;\n case ContextType.STRING_ESCAPED:\n if (char === 'u') {\n push(ContextType.STRING_UNICODE);\n } else {\n clearRespawn(RespawnReason.STRING_ESCAPE);\n pop();\n }\n break;\n case ContextType.STRING_UNICODE:\n if (position - json.lastIndexOf('u', position) === 4) {\n clearRespawn(RespawnReason.STRING_ESCAPE);\n pop();\n }\n break;\n case ContextType.NUMBER:\n if (char === '.') {\n replace(ContextType.NUMBER_NEEDS_DIGIT);\n } else if (char === 'e' || char === 'E') {\n replace(ContextType.NUMBER_NEEDS_EXPONENT);\n } else if (char < '0' || char > '9') {\n dontConsumeCharacter();\n pop();\n }\n break;\n case ContextType.NUMBER_NEEDS_DIGIT:\n replace(ContextType.NUMBER);\n break;\n case ContextType.NUMBER_NEEDS_EXPONENT:\n if (char === '+' || char === '-') {\n replace(ContextType.NUMBER_NEEDS_DIGIT);\n } else {\n replace(ContextType.NUMBER);\n }\n break;\n case ContextType.TRUE:\n case ContextType.FALSE:\n case ContextType.NULL:\n if (char < 'a' || char > 'z') {\n dontConsumeCharacter();\n pop();\n }\n break;\n case ContextType.ARRAY_NEEDS_VALUE:\n if (char === ']') {\n pop();\n } else if (!isWhitespace(char)) {\n clearRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.ARRAY_NEEDS_COMMA);\n startAny(char);\n }\n break;\n case ContextType.ARRAY_NEEDS_COMMA:\n if (char === ']') {\n pop();\n } else if (char === ',') {\n setRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.ARRAY_NEEDS_VALUE);\n }\n break;\n case ContextType.OBJECT_NEEDS_KEY:\n if (char === '}') {\n pop();\n } else if (char === '\"') {\n setRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.OBJECT_NEEDS_COLON);\n push(ContextType.STRING);\n }\n break;\n case ContextType.OBJECT_NEEDS_COLON:\n if (char === ':') {\n replace(ContextType.OBJECT_NEEDS_VALUE);\n }\n break;\n case ContextType.OBJECT_NEEDS_VALUE:\n if (!isWhitespace(char)) {\n clearRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.OBJECT_NEEDS_COMMA);\n startAny(char);\n }\n break;\n case ContextType.OBJECT_NEEDS_COMMA:\n if (char === '}') {\n pop();\n } else if (char === ',') {\n setRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.OBJECT_NEEDS_KEY);\n }\n break;\n }\n }\n\n if (respawnStackLength != null) {\n contextStack.length = respawnStackLength;\n }\n const result = [respawnPosition != null ? json.slice(0, respawnPosition) : json];\n const finishWord = (word: string) => result.push(word.slice(json.length - json.lastIndexOf(word[0])));\n for (let i = contextStack.length - 1; i >= 0; i--) {\n switch (contextStack[i]) {\n case ContextType.STRING:\n result.push('\"');\n break;\n case ContextType.NUMBER_NEEDS_DIGIT:\n case ContextType.NUMBER_NEEDS_EXPONENT:\n result.push('0');\n break;\n case ContextType.TRUE:\n finishWord('true');\n break;\n case ContextType.FALSE:\n finishWord('false');\n break;\n case ContextType.NULL:\n finishWord('null');\n break;\n case ContextType.ARRAY_NEEDS_VALUE:\n case ContextType.ARRAY_NEEDS_COMMA:\n result.push(']');\n break;\n case ContextType.OBJECT_NEEDS_KEY:\n case ContextType.OBJECT_NEEDS_COLON:\n case ContextType.OBJECT_NEEDS_VALUE:\n case ContextType.OBJECT_NEEDS_COMMA:\n result.push('}');\n break;\n }\n }\n return result.join('');\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslocoService } from '@jsverse/transloco';\nimport { Subject, Subscription, takeUntil } from 'rxjs';\n\nimport type {\n AiAssistant,\n AssistantMessage as AiAssistantMessage,\n Message,\n SystemMessage,\n ThreadPopulated,\n ToolMessage,\n UserMessage,\n} from '@hahnpro/hpc-api';\nimport { ApiService } from '../core/api.service';\nimport { ContextReference, ContextService } from './context.service';\nimport { WebsocketService } from './websocket.service';\nimport { untruncateJson } from './utils';\n\nexport enum ChatView {\n Start,\n Thread,\n ThreadList,\n}\n\nconst ChatViewTitles = {\n [ChatView.ThreadList]: 'ai.chats',\n};\n\n@Injectable()\nexport class ChatService {\n readonly ChatView = ChatView;\n highlightContext: string | null = null;\n isLoading = false;\n model: string | null = null;\n locale = 'en';\n isProcessing = false;\n\n private readonly apiService = inject(ApiService);\n private readonly contextService = inject(ContextService);\n private readonly destroy$ = new Subject<void>();\n private readonly router = inject(Router);\n private readonly socket = inject(WebsocketService);\n private readonly translocoService = inject(TranslocoService);\n private _activeView: ChatView = ChatView.Start;\n private _activeAssistant: AiAssistant | null = null;\n private _activeThread: ThreadPopulated | null = null;\n private _assistants: AiAssistant[] = [];\n private _messages: ChatMessage[] = [];\n private errorEvents$: Subscription | null = null;\n private threadEvents$: Subscription | null = null;\n\n constructor() {\n this.locale = this.translocoService.getActiveLang() || 'en';\n }\n\n get activeAssistant(): AiAssistant {\n return this._activeAssistant;\n }\n\n get activeThread(): ThreadPopulated | null {\n return this._activeThread;\n }\n\n get activeView(): ChatView {\n return this._activeView;\n }\n\n get assistants(): AiAssistant[] {\n return this._assistants;\n }\n\n get messages(): ChatMessage[] {\n return this._messages;\n }\n\n get title(): string {\n return ChatViewTitles[this.activeView];\n }\n\n async init() {\n this.isLoading = true;\n try {\n this._assistants = await this.apiService.getAssistants();\n const defaultAssistant = this.assistants.find(\n (a) => a.id === 'asset-assistant',\n );\n if (defaultAssistant) {\n this._activeAssistant = defaultAssistant;\n }\n } catch (err) {\n console.error(err);\n } finally {\n this.isLoading = false;\n }\n }\n\n async createThreadForModal(\n assistantId: string,\n initialMessage?: string,\n hidden?: boolean,\n ): Promise<void> {\n try {\n if (!this.assistants.length) {\n await this.init();\n }\n this.isLoading = true;\n this._activeAssistant =\n this.assistants.find((a) => a.id === assistantId) || null;\n if (!this._activeAssistant) {\n throw new Error(`Assistant ${assistantId} not found`);\n }\n // this._activeThread = await this.apiService.createThread(assistantId);\n this._activeThread = await this.apiService.getThread(\n '67ed93d38361957d6811b944',\n );\n await this.getMessages();\n\n this.setupWebsockets();\n // if (initialMessage) {\n // await this.sendMessage(initialMessage, hidden);\n // }\n } catch (err) {\n console.error(err);\n throw err;\n } finally {\n this.isLoading = false;\n }\n }\n\n async createThread(\n initialMessage?: string,\n assistantId?: string,\n ): Promise<void> {\n if (this.isLoading || (!this.activeAssistant?.id && !assistantId)) {\n return;\n }\n assistantId = assistantId || this.activeAssistant?.id;\n this._activeAssistant =\n this.assistants.find((a) => a.id === assistantId) || this.activeAssistant;\n\n this.isLoading = true;\n try {\n const thread = await this.apiService.createThread(assistantId);\n if (initialMessage) {\n await this.sendMessage(initialMessage);\n }\n this.router.navigate(['/ai/threads', thread.id]);\n } catch (err) {\n console.error(err);\n } finally {\n this.isLoading = false;\n }\n }\n\n deleteThread(threadId: string) {\n if (threadId === this.activeThread?.id) {\n this._activeThread = null;\n }\n return this.apiService.deleteThread(threadId);\n }\n\n showThreadList() {\n if (this._activeView === ChatView.ThreadList) {\n return;\n }\n this._activeView = ChatView.ThreadList;\n }\n\n async openThread(\n thread: string | ThreadPopulated,\n isNewThread = false,\n ): Promise<void> {\n if (!thread) {\n return;\n }\n if (typeof thread === 'string') {\n thread = await this.apiService.getThread(thread);\n }\n\n this._activeThread = thread;\n this._activeView = ChatView.Thread;\n if (isNewThread) {\n this._messages = [];\n } else {\n await this.getMessages();\n }\n this.setupWebsockets();\n }\n\n getAssistantName(thread: ThreadPopulated): string {\n const assistant = this._assistants.find((a) => a.id === thread.assistantId);\n return assistant?.i18n?.[this.locale]?.name;\n }\n\n private async getMessages(): Promise<void> {\n const threadId = this.activeThread?.id;\n if (!threadId) {\n return;\n }\n\n this._messages = [];\n this.isLoading = true;\n try {\n const { docs: messages } =\n await this.apiService.getThreadMessages(threadId);\n this.isLoading = false;\n if (messages.length === 0) {\n const assistant = this.assistants.find(\n (a) => a.id === this.activeThread.assistantId,\n );\n const welcomeMessage = assistant.i18n[this.locale]?.welcomeMessage;\n const currentDate = new Date().toISOString();\n this._messages = [\n {\n thread: threadId,\n role: 'assistant',\n content: welcomeMessage,\n createdAt: currentDate,\n updatedAt: currentDate,\n parsedContent: {\n response: welcomeMessage,\n references: [],\n },\n },\n ];\n } else {\n messages\n .reverse()\n .forEach((message: any) => this.updateMessage(message));\n }\n } catch (err) {\n this.isLoading = false;\n console.error(err);\n throw err;\n }\n }\n\n async sendMessage(content: string, hidden?: boolean): Promise<void> {\n content = content.trim();\n if (!content || !this.activeAssistant?.id) {\n return;\n }\n if (!this.activeThread) {\n const thread = await this.apiService.createThread(\n this.activeAssistant.id,\n );\n await this.openThread(thread, true);\n }\n\n const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const currentDate = new Date().toISOString();\n\n const message: Message = {\n thread: this.activeThread.id,\n content,\n createdAt: currentDate,\n updatedAt: currentDate,\n role: 'user',\n hidden,\n };\n\n const item = this._messages[this._messages.length - 1];\n if (\n item?.role === 'tool' &&\n item?.toolType === 'choice' &&\n item?.status === 'processing' &&\n item?.args?.choices\n ) {\n // the last message was a tool-call, it needs to be finished by setting `thread` and `toolCallId`\n this.socket.emitToAi(\n this.activeThread.id,\n content,\n { timeZone },\n item.toolCallId,\n 'none',\n );\n } else {\n this.socket.emitToAi(this.activeThread.id, content, { timeZone });\n }\n this._messages.push(message);\n }\n\n selectChoice(selection: any, toolMessage: any) {\n this.socket.emitToolCallResult(\n toolMessage.thread,\n toolMessage.toolCallId,\n selection,\n );\n }\n\n private setupWebsockets(): void {\n if (this.threadEvents$) {\n this.threadEvents$.unsubscribe();\n this.threadEvents$ = null;\n }\n if (this.errorEvents$) {\n this.errorEvents$.unsubscribe();\n this.errorEvents$ = null;\n }\n if (!this.activeThread) {\n return;\n }\n\n if (this.activeThread) {\n this.threadEvents$ = this.socket\n .subscribeToThread(this.activeThread.id)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n ({ type, data }: { type: WebSocketMessageType; data: Message }) => {\n this.handleThreadEvent(type, data);\n },\n );\n }\n }\n\n private collectContext(message: AssistantMessage) {\n const references = message.parsedContent?.references;\n const seenIds = new Set<string>();\n references?.forEach((ref) => {\n if ((ref.resourceType as string) === 'document') {\n ref.resourceType = 'content';\n }\n if (!seenIds.has(ref.id)) {\n ref.firstOccurrence = true;\n }\n seenIds.add(ref.id);\n });\n const refs = references?.filter((ref) => ref.firstOccurrence);\n if (refs) {\n this.contextService.loadReferences(refs);\n }\n }\n\n private handleThreadEvent(type: WebSocketMessageType, message: Message) {\n if (type === WebSocketMessageType.AI_PROCESSING) {\n // Message is being processed\n this.isProcessing = true;\n } else if (type === WebSocketMessageType.AI_MESSAGE) {\n // Message processing is complete\n this.updateMessage(message);\n } else if (type === WebSocketMessageType.AI_COMPLETE) {\n // Message processing is complete\n this.isProcessing = false;\n } else if (type === WebSocketMessageType.AI_ABORTED) {\n // Message processing was aborted\n this.isProcessing = false;\n } else if (type === WebSocketMessageType.AI_FAILED_TO_PROCESS) {\n // Message processing failed\n this.isProcessing = false;\n } else if (type === WebSocketMessageType.AI_INVALID_MESSAGE) {\n // Invalid user message\n this.isProcessing = false;\n } else {\n // ignore event\n }\n }\n\n private updateMessage(message: Message) {\n const index = this._messages.findIndex((m) => m.id === message.id);\n let newMessage: ChatMessage;\n\n if (message.role === 'assistant') {\n newMessage = { ...message } as AssistantMessage;\n if (message.content) {\n try {\n newMessage.parsedContent = JSON.parse(\n untruncateJson(message.content),\n );\n this.collectContext(newMessage);\n } catch (_) {\n newMessage.parsedContent = {\n response: message.content,\n references: [],\n };\n }\n }\n }\n if (index !== -1) {\n this._messages[index] = newMessage || message; // update message\n } else {\n this._messages.push(newMessage || message); // add message\n }\n }\n}\n\ninterface MessageContent {\n response: string;\n references: ContextReference[];\n}\n\nexport interface AssistantMessage extends AiAssistantMessage {\n role: 'assistant';\n parsedContent?: MessageContent;\n}\n\nexport type ChatMessage =\n | AssistantMessage\n | SystemMessage\n | ToolMessage\n | UserMessage;\n\nexport enum WebSocketMessageType {\n AI_ASSISTANT_STATUS = 'ai_assistant_status',\n AI_ASSISTANT_TOOL_STATUS = 'ai_assistant_tool_status',\n AI_ABORTED = 'ai_aborted',\n AI_ABORT_FAILED = 'ai_abort_failed',\n AI_COMPLETE = 'ai_complete',\n AI_COMPLETE_RESPONSE = 'ai_complete_response',\n AI_FAILED_TO_PROCESS = 'ai_failed_to_process',\n AI_INVALID_MESSAGE = 'ai_invalid_message',\n AI_MESSAGE = 'ai_message',\n AI_PARTIAL_RESPONSE = 'ai_partial_response',\n AI_PROCESSING = 'ai_processing',\n AI_TOOL_RESPONSE = 'ai_tool_response',\n AI_TOOL_STATUS = 'ai_tool_status',\n ERROR = 'error',\n ERROR_EVENT = 'errorEvent',\n}\n","import { inject, Injectable } from '@angular/core';\nimport {\n AudioConfig,\n Recognizer,\n SessionEventArgs,\n SpeechConfig,\n SpeechRecognitionCanceledEventArgs,\n SpeechRecognitionEventArgs,\n SpeechRecognizer,\n} from 'microsoft-cognitiveservices-speech-sdk';\nimport { NGXLogger } from 'ngx-logger';\nimport { Observable, Subject } from 'rxjs';\n\nimport { ApiService } from '../core/api.service';\n\n@Injectable({ providedIn: 'root' })\nexport class VoiceRecognitionService {\n private _isListening = false;\n private recognizer: SpeechRecognizer | null = null;\n private tokenExpiration = 0;\n private readonly _preResult$ = new Subject<string>();\n private readonly _result$ = new Subject<string>();\n private readonly audioConfig = AudioConfig.fromDefaultMicrophoneInput();\n private readonly apiService = inject(ApiService);\n private readonly logger = inject(NGXLogger);\n\n get isInitialized(): boolean {\n return !!this.recognizer;\n }\n\n get isListening(): boolean {\n return this._isListening;\n }\n\n get isTokenExpired(): boolean {\n const currentTime = Math.floor(Date.now() / 1000);\n const bufferTime = 180; // 3 min\n return currentTime + bufferTime >= this.tokenExpiration;\n }\n\n get preResult$(): Observable<string> {\n return this._preResult$.asObservable();\n }\n\n get result$(): Observable<string> {\n return this._result$.asObservable();\n }\n\n async start(language?: string) {\n if (!this.isInitialized || this.isTokenExpired) {\n await this.init(language).catch((err) => this.logger.error(err));\n }\n this.recognizer?.startContinuousRecognitionAsync(\n () => {},\n (err) => this.logger.error(err),\n );\n }\n\n async stop() {\n this.recognizer?.stopContinuousRecognitionAsync(\n () => (this._isListening = false),\n (err) => {\n this.logger.error(err);\n this._isListening = false;\n this.recognizer?.close();\n this.recognizer = null;\n },\n );\n }\n\n async toggle(language?: string) {\n if (this.isListening) {\n await this.stop();\n } else {\n await this.start(language);\n }\n }\n\n private parseJwtToken(token: string): number {\n try {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = atob(base64);\n const payload = JSON.parse(jsonPayload);\n return payload.exp || 0;\n } catch (error) {\n this.logger.error('Error parsing JWT token:', error);\n return 0;\n }\n }\n\n private async init(language = 'de-DE') {\n const { token, region } = await this.apiService.getSpeechToken();\n this.tokenExpiration = this.parseJwtToken(token);\n\n const speechConfig = SpeechConfig.fromAuthorizationToken(token, region);\n speechConfig.speechRecognitionLanguage = language;\n\n this.recognizer = new SpeechRecognizer(speechConfig, this.audioConfig);\n this.recognizer.recognized = (\n _sender: Recognizer,\n event: SpeechRecognitionEventArgs,\n ) => {\n if (event.result.text) {\n this._result$.next(event.result.text);\n }\n };\n this.recognizer.recognizing = (\n _sender: Recognizer,\n event: SpeechRecognitionEventArgs,\n ) => {\n if (event.result.text) {\n this._preResult$.next(event.result.text);\n }\n };\n this.recognizer.sessionStarted = (\n _sender: Recognizer,\n _event: SessionEventArgs,\n ) => {\n this._isListening = true;\n };\n this.recognizer.sessionStopped = (\n _sender: Recognizer,\n _event: SessionEventArgs,\n ) => {\n this._isListening = false;\n };\n this.recognizer.canceled = (\n _sender: Recognizer,\n event: SpeechRecognitionCanceledEventArgs,\n ) => {\n this.logger.debug(event.errorDetails);\n this.logger.debug(event.reason);\n this._isListening = false;\n };\n }\n}\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { CdkTextareaAutosize, TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n DestroyRef,\n ElementRef,\n inject,\n Input,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslocoModule, TranslocoService } from '@jsverse/transloco';\n\nimport { ChatService } from '../chat.service';\nimport { VoiceRecognitionService } from '../voice-recognition.service';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n imports: [\n CdkTextareaAutosize,\n CommonModule,\n FormsModule,\n MatButtonModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatTooltipModule,\n TextFieldModule,\n TranslocoModule,\n ],\n selector: 'ai-message-input',\n templateUrl: './message-input.component.html',\n})\nexport class MessageInputComponent implements OnInit {\n @ViewChild('messageInput') messageInput: ElementRef<HTMLTextAreaElement>;\n @Input() readonly startConversation: string = '';\n readonly chatService = inject(ChatService);\n readonly voiceRecognitionService = inject(VoiceRecognitionService);\n isMobileView: boolean;\n message: string;\n tmpMessage: string;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly translocoService = inject(TranslocoService);\n private lang: string;\n\n constructor(breakpointObserver: BreakpointObserver) {\n breakpointObserver\n .observe([Breakpoints.XSmall, Breakpoints.Small])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((result) => (this.isMobileView = result.matches));\n }\n\n ngOnInit(): void {\n this.lang = this.translocoService.getActiveLang();\n this.translocoService.langChanges$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((l) => (this.lang = l));\n this.voiceRecognitionService.preResult$.subscribe((result) => {\n const msg = (this.tmpMessage || '') + ' ' + result;\n this.message = msg.trim();\n });\n this.voiceRecognitionService.result$.subscribe((result) => {\n const msg = (this.tmpMessage || '') + ' ' + result;\n this.message = msg.trim();\n this.tmpMessage = this.message;\n });\n }\n\n sendMessage() {\n this.message = this.message.trim();\n if (!this.message) {\n return;\n }\n this.chatService.sendMessage(this.message);\n this.message = '';\n if (this.messageInput) {\n this.messageInput.nativeElement.value = '';\n this.messageInput.nativeElement.focus();\n }\n }\n\n toggleVoice() {\n this.tmpMessage = this.message;\n const lang = this.lang === 'de' ? 'de-DE' : 'en-US';\n this.voiceRecognitionService.toggle(lang);\n }\n\n stopVoice() {\n this.voiceRecognitionService.stop();\n }\n}\n","<div\n class=\"mx-auto flex w-full items-end justify-center bg-zinc-50 py-2 pl-4 pr-2 md:gap-x-2 md:rounded-2xl md:py-4 md:pr-4 lg:max-w-screen-md xl:max-w-screen-lg dark:border dark:border-zinc-600/30 dark:bg-black\"\n *transloco=\"let t\"\n>\n <textarea\n class=\"w-full md:text-lg md:font-semibold\"\n matInput\n cdkAutosizeMaxRows=\"10\"\n cdkTextareaAutosize\n [cdkAutosizeMinRows]=\"isMobileView ? 2 : 4\"\n [placeholder]=\"t('message')\"\n [(ngModel)]=\"message\"\n (keydown.enter)=\"sendMessage() || $event.preventDefault()\"\n spellcheck=\"false\"\n #autosize=\"cdkTextareaAutosize\"\n #messageInput\n ></textarea>\n <div class=\"flex md:flex-col md:gap-2\">\n <button\n mat-icon-button\n [matTooltip]=\"t('ai.use_microphone')\"\n matTooltipPosition=\"above\"\n (click)=\"toggleVoice()\"\n >\n <mat-icon\n class=\"icon-md\"\n [ngClass]=\"{ 'text-red-600': voiceRecognitionService.isListening }\"\n [svgIcon]=\"voiceRecognitionService.isListening ? 'mic_record' : 'mic'\"\n ></mat-icon>\n </button>\n @if (!voiceRecognitionService.isListening) {\n <button\n mat-icon-button\n [matTooltip]=\"t('ai.send_message')\"\n matTooltipPosition=\"above\"\n (click)=\"sendMessage()\"\n >\n <mat-icon svgIcon=\"send\" class=\"icon-md\"></mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n [matTooltip]=\"t('ai.stop_recording')\"\n matTooltipPosition=\"above\"\n (click)=\"stopVoice()\"\n >\n <mat-icon svgIcon=\"record_stop\" class=\"icon-md\"></mat-icon>\n </button>\n }\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport prettyBytes from 'pretty-bytes';\n\nfunction isNumberFinite(value: any): value is number {\n return typeof value === 'number' && isFinite(value);\n}\n\n@Pipe({\n name: 'bytes',\n standalone: false,\n})\nexport class BytesPipe implements PipeTransform {\n transform(input: any): any {\n if (!isNumberFinite(input)) {\n return input;\n }\n return prettyBytes(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { NGXLogger } from 'ngx-logger';\n\n@Pipe({\n name: 'colorLevel',\n standalone: false,\n})\nexport class ColorLevelPipe implements PipeTransform {\n constructor(private readonly logger: NGXLogger) {}\n\n transform(level: string, type: 'svg' | 'bg' | 'text' = 'bg'): string {\n let color;\n switch (level) {\n case 'OK':\n color = type === 'svg' ? '#10B981' : type === 'text' ? 'text-green-600' : 'bg-green-600';\n break;\n case 'WARNING':\n color = type === 'svg' ? '#F59E0B' : type === 'text' ? 'text-amber-600' : 'bg-yellow-600';\n break;\n case 'CRITICAL':\n color = type === 'svg' ? '#EF4444' : type === 'text' ? 'text-red-600' : 'bg-red-600';\n break;\n case 'INFO':\n color = type === 'svg' ? '#3B82F6' : type === 'text' ? 'text-blue-600' : 'bg-blue-600';\n break;\n case 'ANY':\n color = type === 'svg' ? '#78716C' : type === 'text' ? 'text-gray-600' : 'bg-gray-600';\n break;\n default:\n this.logger.error(`Unresolved level ${level}`);\n break;\n }\n return color;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatDistanceToNow } from 'date-fns';\n\n@Pipe({\n name: 'dateAgo',\n pure: false,\n standalone: false,\n})\nexport class DateAgoPipe implements PipeTransform {\n transform(value: string): string {\n return formatDistanceToNow(value);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { BytesPipe } from './bytes.pipe';\nimport { ColorLevelPipe } from './color-level.pipe';\nimport { DateAgoPipe } from './date-ago.pipe';\n\n@NgModule({\n imports: [CommonModule],\n exports: [BytesPipe, ColorLevelPipe, DateAgoPipe],\n declarations: [BytesPipe, ColorLevelPipe, DateAgoPipe],\n})\nexport class UiPipesModule {}\n","import type { HashMap } from '@jsverse/transloco';\n\nconst SUPPORTED_LANGUAGES = ['en', 'de'];\n\nexport function InlineLoaderFactory(loader: (lang: string) => Promise<HashMap>) {\n return SUPPORTED_LANGUAGES.reduce((acc, lang) => {\n acc[lang] = () => loader(lang);\n return acc;\n }, {});\n}\n","export function iconForMimeType(mimetype: string): string {\n if (!mimetype) {\n return 'file';\n }\n\n if (mimetype.startsWith('audio')) {\n return 'file_audio';\n } else if (mimetype.startsWith('image')) {\n return 'image';\n } else if (mimetype.startsWith('text')) {\n return 'file_text';\n } else if (mimetype.startsWith('video')) {\n return 'file_video';\n } else {\n return (\n {\n 'application/pdf': 'file_pdf',\n 'application/json': 'file_text',\n 'application/js': 'file_text',\n 'application/msword': 'file_text',\n 'application/gzip': 'file_zip',\n 'application/typescript': 'file_text',\n 'application/vnd.rar': 'file_zip',\n 'application/x-7z-compressed': 'file_zip',\n 'application/x-tar': 'file_zip',\n 'application/xml': 'file_text',\n 'application/zip': 'file_zip',\n }[mimetype] || 'file'\n );\n }\n}\n\nexport function labelForMimeType(mimetype: string): string {\n if (!mimetype) {\n return 'unknown';\n }\n\n if (mimetype.startsWith('audio')) {\n return 'audio';\n } else if (mimetype.startsWith('image')) {\n return 'image';\n } else if (mimetype.startsWith('text')) {\n return 'text';\n } else if (mimetype.startsWith('video')) {\n return 'video';\n } else {\n return (\n {\n 'application/pdf': 'pdf',\n 'application/json': 'text',\n 'application/js': 'text',\n 'application/msword': 'text',\n 'application/gzip': 'archive',\n 'application/typescript': 'text',\n 'application/vnd.rar': 'archive',\n 'application/x-7z-compressed': 'archive',\n 'application/x-tar': 'archive',\n 'application/xml': 'text',\n 'application/zip': 'archive',\n }[mimetype] || 'unknown'\n );\n }\n}\n","export { InlineLoaderFactory } from './i18n';\nexport { iconForMimeType, labelForMimeType } from './mimetype';\n\nexport function saveAs(blob: Blob | string, name: string) {\n const anchor = document.createElementNS('http://www.w3.org/1999/xhtml', 'a') as HTMLAnchorElement;\n anchor.style.display = 'none';\n anchor.download = name;\n anchor.rel = 'noopener';\n\n if (typeof blob === 'string') {\n anchor.href = blob;\n if (anchor.origin !== location.origin) {\n anchor.target = '_blank';\n corsEnabled(anchor.href) ? download(blob, name) : anchor.click();\n } else {\n anchor.click();\n }\n } else {\n anchor.href = URL.createObjectURL(blob);\n setTimeout(() => URL.revokeObjectURL(anchor.href), 4e4);\n setTimeout(() => anchor.click(), 0);\n }\n}\n\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299;\n}\n\nfunction download(url: string, name: string) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name);\n };\n xhr.send();\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, Inject, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport type { Content } from '@hahnpro/hpc-api';\nimport {\n NgxExtendedPdfViewerModule,\n pdfDefaultOptions,\n} from 'ngx-extended-pdf-viewer';\nimport { NGXLogger } from 'ngx-logger';\nimport { MarkdownModule } from 'ngx-markdown';\n\nimport { ApiService } from '../../core/api.service';\n\n@Component({\n imports: [\n CommonModule,\n MarkdownModule,\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n NgxExtendedPdfViewerModule,\n ],\n selector: 'ai-content-preview',\n templateUrl: './preview.component.html',\n})\nexport class PreviewComponent implements OnInit {\n content: Content & { analysis?: { text: string } };\n isLoading = false;\n pageNumber: number;\n previewUrl: SafeUrl;\n token: string;\n markdown?: string;\n\n private readonly apiService = inject(ApiService);\n private readonly logger = inject(NGXLogger);\n private readonly sanitizer = inject(DomSanitizer);\n\n constructor(\n @Inject(MAT_DIALOG_DATA) data: Content & { pageNumber?: number },\n ) {\n pdfDefaultOptions.assetsFolder = 'assets/ngx-extended-pdf';\n this.pageNumber = data.pageNumber || 1;\n this.content = data;\n }\n\n get pdfSrc() {\n if (this.content?.id) {\n return this.apiService.downloadContent(this.content.id);\n } else {\n return null;\n }\n }\n\n ngOnInit() {\n this.apiService.getAccessToken().then((t) => (this.token = `Bearer ${t}`));\n if (this.content.mimetype === 'application/pdf') {\n // ignore\n } else if (this.content.mimetype?.startsWith('image/')) {\n this.loadPreview();\n } else if (this.content.mimetype?.startsWith('text/')) {\n if (typeof this.content.analysis === 'object') {\n this.markdown = this.content.analysis.text;\n }\n }\n }\n\n private loadPreview() {\n if (this.isLoading || !this.content.id) {\n return;\n }\n this.isLoading = true;\n\n this.apiService\n .downloadContent(this.content.id, 'preview-lg')\n .then((data) => {\n const blob = new Blob([data], { type: 'image/png' });\n this.previewUrl = this.sanitizer.bypassSecurityTrustUrl(\n window.URL.createObjectURL(blob),\n );\n this.isLoading = false;\n })\n .catch((error) => {\n this.logger.error(error);\n this.isLoading = false;\n });\n }\n}\n","<ng-container>\n <div mat-dialog-title class=\"relative\">\n <div class=\"truncate pr-10\">{{ content.filename }}</div>\n <button\n mat-icon-button\n matDialogClose\n class=\"small absolute right-4 top-4 bg-zinc-50 text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 dark:bg-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-50\"\n >\n <mat-icon svgIcon=\"dismiss\"></mat-icon>\n </button>\n </div>\n <div mat-dialog-content class=\"flex grow flex-col\">\n @if (markdown) {\n <div class=\"w-full overflow-y-auto rounded-xl bg-white p-4\">\n <markdown class=\"markdown-body\" [data]=\"markdown\"></markdown>\n </div>\n } @else if (content.mimetype === 'application/pdf') {\n <div class=\"mx-auto w-[50rem] sm:h-[65vh]\">\n <ngx-extended-pdf-viewer\n [authorization]=\"token\"\n [src]=\"pdfSrc\"\n [disableHistory]=\"true\"\n [showBorders]=\"false\"\n [showDownloadButton]=\"false\"\n [showDrawEditor]=\"false\"\n [showEditor]=\"false\"\n [showHighlightEditor]=\"false\"\n [showOpenFileButton]=\"false\"\n [showPrintButton]=\"false\"\n [showRotateButton]=\"false\"\n [showSecondaryToolbarButton]=\"false\"\n [showSidebarButton]=\"false\"\n [showStampEditor]=\"false\"\n [showTextEditor]=\"false\"\n [sidebarVisible]=\"false\"\n [useBrowserLocale]=\"true\"\n [zoom]=\"auto\"\n [page]=\"pageNumber\"\n ></ngx-extended-pdf-viewer>\n </div>\n } @else if (previewUrl) {\n <div\n class=\"group relative w-full overflow-hidden rounded-2xl border border-zinc-300/40 bg-zinc-300/30 p-4 dark:border-zinc-700/40 dark:bg-zinc-700/30\"\n >\n <div class=\"w-full overflow-hidden rounded-lg\">\n <img class=\"w-full\" [src]=\"previewUrl\" alt=\"\" />\n </div>\n </div>\n }\n </div>\n</ng-container>\n","import { ClipboardModule } from '@angular/cdk/clipboard';\nimport { CommonModule } from '@angular/common';\nimport { Component, Inject, inject, InjectionToken } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslocoModule } from '@jsverse/transloco';\n\nimport type { Asset, Content, Event } from '@hahnpro/hpc-api';\nimport { iconForMimeType, labelForMimeType } from '../../core/utils';\nimport { UiPipesModule } from '../../core/pipes';\nimport { ContextService, Status as ContextStatus } from '../context.service';\nimport { PreviewComponent } from '../preview/preview.component';\n\nexport const OVERLAY_PAGE_NUMBER = new InjectionToken<number>(\n 'OVERLAY_PAGE_NUMBER',\n);\nexport const OVERLAY_RESOURCE_ID = new InjectionToken<string>(\n 'OVERLAY_RESOURCE_ID',\n);\nexport const OVERLAY_RESOURCE_TYPE = new InjectionToken<string>(\n 'OVERLAY_RESOURCE_TYPE',\n);\n\n@Component({\n templateUrl: './context-overlay.component.html',\n imports: [\n CommonModule,\n ClipboardModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatTooltipModule,\n TranslocoModule,\n UiPipesModule,\n ],\n})\nexport class ContextOverlayComponent {\n private readonly contextService = inject(ContextService);\n private readonly matDialog = inject(MatDialog);\n\n constructor(\n @Inject(OVERLAY_RESOURCE_ID) public resourceId: string,\n @Inject(OVERLAY_RESOURCE_TYPE)\n public resourceType: 'asset' | 'content' | 'event',\n @Inject(OVERLAY_PAGE_NUMBER) public pageNumber: number,\n ) {}\n\n get resource(): Asset | Content | Event {\n return this.contextService.getContext(this.resourceId);\n }\n\n get status(): ContextStatus | null {\n return this.contextService.status.get(this.resourceId);\n }\n\n get asset(): Asset | null {\n if (this.resourceType === 'content') {\n return this.contextService.assetForContent(this.resourceId);\n } else if (this.resourceType === 'event') {\n return this.contextService.assetForEvent(this.resource as Event);\n }\n return null;\n }\n\n iconForMimeType(): string {\n if (this.resourceType === 'asset') {\n return 'asset';\n } else if (this.resourceType === 'content') {\n return iconForMimeType((this.resource as Content)?.mimetype);\n } else if (this.resourceType === 'event') {\n return 'calendar_clock';\n }\n }\n\n labelForType(): string {\n if (this.resourceType === 'content') {\n return (\n 'content.file_type.' +\n labelForMimeType((this.resource as Content)?.mimetype)\n );\n } else {\n return this.resourceType;\n }\n }\n\n previewContent(pageNumber?: number) {\n if (this.resourceType === 'content' && this.resource) {\n const content = this.resource as Content;\n this.matDialog.open(PreviewComponent, {\n autoFocus: false,\n panelClass: 'upload-modal',\n data: { ...content, pageNumber },\n });\n }\n }\n\n isPreviewSupported(): boolean {\n if (this.resourceType === 'content' && this.resource) {\n const content = this.resource as Content;\n return (\n content.mimetype?.startsWith('image') ||\n content.mimetype === 'application/pdf' ||\n content.mimetype === 'text/markdown'\n );\n } else {\n return false;\n }\n }\n}\n","<div\n class=\"relative min-w-48 max-w-md rounded-2xl border border-zinc-400/50 bg-zinc-100/60 p-4 shadow-md backdrop-blur-md dark:border-zinc-600/50 dark:bg-zinc-800/60\"\n *transloco=\"let t\"\n>\n @if (resource) {\n @if (pageNumber) {\n <div class=\"flex w-full flex-col gap-y-2 px-2\">\n <div class=\"flex items-center gap-x-1 text-lg\">\n <span>{{ t('ai.source') }}:</span>\n <button\n class=\"text-blue-700 underline hover:text-blue-500 dark:text-blue-100 dark:hover:text-blue-400\"\n (click)=\"previewContent(pageNumber)\"\n >\n {{ t('page') }} {{ pageNumber }}\n </button>\n <span>{{ t('ai.of_document') }}</span>\n </div>\n <div class=\"mx-2 h-0.5 bg-zinc-200 dark:bg-zinc-700\"></div>\n <div class=\"flex items-center gap-x-3\">\n <mat-icon [svgIcon]=\"iconForMimeType()\" class=\"icon-sm\"></mat-icon>\n <div>\n {{ resource?.filename }}\n </div>\n </div>\n @if (asset) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"asset\" class=\"icon-sm\"></mat-icon>\n <div>\n {{ asset.name }}\n </div>\n </div>\n }\n </div>\n } @else {\n <div\n class=\"flex w-full flex-col items-center justify-center gap-x-3 pb-4 sm:flex-row sm:justify-start\"\n >\n <div\n class=\"flex rounded-xl border border-zinc-300/50 bg-zinc-300/40 p-2 dark:border-zinc-700/50 dark:bg-zinc-700/30\"\n >\n <mat-icon class=\"icon-md\" [svgIcon]=\"iconForMimeType()\"></mat-icon>\n </div>\n <div class=\"w-full overflow-hidden\">\n <div class=\"flex w-full flex-col items-center pr-8 sm:items-start\">\n <div\n class=\"w-full truncate text-md font-semibold text-zinc-950 dark:text-zinc-50\"\n >\n {{ resource?.name || resource?.filename }}\n </div>\n <div\n class=\"flex flex-col gap-x-2 text-sm text-zinc-900/70 sm:flex-row sm:items-center dark:text-zinc-100/70\"\n >\n <span>{{ t(labelForType()) }}</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex w-full flex-col gap-y-2 px-2\">\n @if (resource?.owner?.name) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"shield_person\" class=\"icon-sm\"></mat-icon>\n <div>\n {{ t('owner.managed_by') }} <b>{{ resource.owner.name }}</b>\n </div>\n </div>\n }\n @if (asset) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"asset\" class=\"icon-sm\"></mat-icon>\n <div>{{ asset.name }} ({{ asset.type$name }})</div>\n </div>\n }\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"history\" class=\"icon-sm\"></mat-icon>\n <div class=\"flex flex-col gap-x-2 sm:flex-row sm:items-center\">\n @if (\n resource?.updatedAt && resource?.updatedAt !== resource?.createdAt\n ) {\n <span>\n {{ t('last_updated') }}\n <span\n class=\"select-none\"\n matTooltip=\"{{ resource?.updatedAt | date: 'medium' }}\"\n matTooltipClass=\"text-sm\"\n >\n {{ resource?.updatedAt | dateAgo }}\n </span>\n </span>\n } @else {\n <span>\n {{ t('created') }}\n <span\n class=\"select-none\"\n matTooltip=\"{{ resource?.createdAt | date: 'medium' }}\"\n matTooltipClass=\"text-sm\"\n >\n {{ resource?.createdAt | dateAgo }}\n </span>\n </span>\n }\n </div>\n </div>\n @if (resource?.description) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"slide_text\" class=\"icon-sm\"></mat-icon>\n <div class=\"line-clamp-3\">{{ resource?.description }}</div>\n </div>\n }\n @if (resource?.size) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"drive\" class=\"icon-sm\"></mat-icon>\n <div>{{ resource?.size | bytes }}</div>\n </div>\n }\n @if (isPreviewSupported()) {\n <div class=\"w-full px-4 pt-4\">\n <button\n mat-raised-button\n color=\"primary\"\n class=\"w-full\"\n (click)=\"previewContent()\"\n >\n {{ t('show_preview') }}\n </button>\n </div>\n }\n </div>\n }\n } @else if (status?.isLoading) {\n <div class=\"flex h-10 w-10 items-center justify-center\">\n <mat-spinner strokeWidth=\"1\" diameter=\"18\"></mat-spinner>\n </div>\n } @else {\n <div class=\"flex flex-col gap-y-1 px-2 py-1\">\n <span class=\"text-md font-semibold\">{{\n t('toast_error_load_item', { item: t(resourceType) })\n }}</span>\n <span class=\"text-xs\">{{ resourceId }}</span>\n </div>\n }\n</div>\n","import { CdkAccordionModule } from '@angular/cdk/accordion';\nimport { Overlay, OverlayModule, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n inject,\n Injector,\n Input,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { TranslocoModule } from '@jsverse/transloco';\n\nimport { iconForMimeType, labelForMimeType } from '../../core/utils';\nimport { UiPipesModule } from '../../core/pipes';\nimport { ContextService } from '../context.service';\nimport { AssistantMessage, ChatService } from '../chat.service';\nimport {\n ContextOverlayComponent,\n OVERLAY_PAGE_NUMBER,\n OVERLAY_RESOURCE_ID,\n OVERLAY_RESOURCE_TYPE,\n} from '../context-overlay/context-overlay.component';\n\n@Component({\n imports: [\n CommonModule,\n CdkAccordionModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n OverlayModule,\n TranslocoModule,\n UiPipesModule,\n ],\n selector: 'ai-message-context',\n templateUrl: './message-context.component.html',\n styleUrl: './message-context.component.scss',\n})\nexport class MessageContextComponent {\n @Input() isLastMessage: boolean;\n @Input() message: AssistantMessage;\n\n readonly chatService = inject(ChatService);\n readonly contextService = inject(ContextService);\n iconForMimeType = iconForMimeType;\n labelForMimeType = labelForMimeType;\n\n private readonly overlay = inject(Overlay);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private overlayRef: OverlayRef | null = null;\n\n openOverlay(\n event: MouseEvent,\n resourceId: string,\n resourceType?: 'asset' | 'content' | 'event',\n pageNumber?: number,\n ) {\n if (this.overlayRef) {\n this.overlayRef.detach();\n }\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(event.target as HTMLElement)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n ]);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n });\n\n const injector = Injector.create({\n providers: [\n { provide: OVERLAY_RESOURCE_ID, useValue: resourceId },\n { provide: OVERLAY_RESOURCE_TYPE, useValue: resourceType },\n { provide: OVERLAY_PAGE_NUMBER, useValue: pageNumber },\n { provide: ContextService, useValue: this.contextService },\n ],\n parent: this.viewContainerRef.injector,\n });\n const portal = new ComponentPortal(\n ContextOverlayComponent,\n this.viewContainerRef,\n injector,\n );\n this.overlayRef.attach(portal);\n this.overlayRef.backdropClick().subscribe(() => this.overlayRef?.detach());\n }\n}\n","<cdk-accordion *transloco=\"let t\">\n <cdk-accordion-item\n #accordionItem=\"cdkAccordionItem\"\n [expanded]=\"isLastMessage\"\n >\n <div\n class=\"flex min-w-80 max-w-full flex-col rounded-2xl bg-zinc-300/40 pt-3 dark:bg-zinc-700/30\"\n >\n @if (message?.parsedContent?.references?.length) {\n <div\n class=\"flex cursor-pointer items-center gap-x-3 px-5 pb-3 text-lg text-zinc-800 dark:text-zinc-300\"\n (click)=\"accordionItem.toggle()\"\n (keyup.enter)=\"accordionItem.toggle()\"\n tabindex=\"0\"\n >\n <mat-icon svgIcon=\"layer_diagonal_sparkle\"></mat-icon>\n <span class=\"font-bold\">{{ t('ai.context') }}</span>\n </div>\n @if (accordionItem.expanded) {\n <div class=\"flex flex-nowrap gap-x-3 overflow-x-auto px-5 pb-3\">\n @for (\n ref of message?.parsedContent?.references;\n track ref.reference_id\n ) {\n @if (contextService.getContext(ref.id); as resource) {\n @if (\n ref.resourceType === 'asset' &&\n contextService.getContext(ref.id)\n ) {\n <div\n class=\"min-w-40 max-w-80 cursor-pointer rounded-2xl border border-zinc-400/40 bg-zinc-400/20 hover:bg-zinc-400/30 dark:border-black/50 dark:bg-black/20\"\n (click)=\"openOverlay($event, ref.id, ref.resourceType)\"\n (keyup.enter)=\"\n openOverlay($event, ref.id, ref.resourceType)\n \"\n tabindex=\"0\"\n >\n <div\n class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\"\n [class.animate-highlight]=\"\n resource.id === chatService.highlightContext\n \"\n (animationend)=\"chatService.highlightContext = ''\"\n >\n <div\n class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-zinc-400/30\"\n >\n <mat-icon svgIcon=\"asset\"></mat-icon>\n </div>\n <div\n class=\"flex h-full grow flex-col overflow-hidden pr-4\"\n >\n <span class=\"truncate text-md font-semibold\">{{\n resource.name\n }}</span>\n @if (resource.type$name) {\n <div class=\"flex items-center gap-x-2 text-xs\">\n <span class=\"truncate\">{{\n resource.type$name\n }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (ref.resourceType === 'content') {\n <div\n class=\"min-w-40 max-w-80 cursor-pointer rounded-2xl border border-zinc-400/40 bg-zinc-400/20 hover:bg-zinc-400/30 dark:border-black/50 dark:bg-black/20\"\n (click)=\"openOverlay($event, ref.id, ref.resourceType)\"\n (keyup.enter)=\"\n openOverlay($event, ref.id, ref.resourceType)\n \"\n tabindex=\"0\"\n >\n <div\n class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\"\n [class.animate-highlight]=\"\n resource.id === chatService.highlightContext\n \"\n (animationend)=\"chatService.highlightContext = ''\"\n >\n <div\n class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-zinc-400/30\"\n >\n <mat-icon\n [svgIcon]=\"iconForMimeType(resource.mimetype)\"\n ></mat-icon>\n </div>\n <div\n class=\"flex h-full grow flex-col overflow-hidden pr-4\"\n >\n <span class=\"truncate text-md font-semibold\">{{\n resource.filename\n }}</span>\n @if (\n contextService.assetForContent(resource.id);\n as asset\n ) {\n <div class=\"flex items-center gap-x-2 text-xs\">\n <span class=\"truncate\">{{ asset.name }}</span>\n <span>·</span>\n <span class=\"truncate\">{{ asset.type$name }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (\n ref.resourceType === 'event' &&\n contextService.getContext(ref.id)\n ) {\n <div\n class=\"min-w-40 max-w-80 cursor-pointer rounded-2xl border border-zinc-400/40 bg-zinc-400/20 hover:bg-zinc-400/30 dark:border-black/50 dark:bg-black/20\"\n (click)=\"openOverlay($event, ref.id, ref.resourceType)\"\n (keyup.enter)=\"\n openOverlay($event, ref.id, ref.resourceType)\n \"\n tabindex=\"0\"\n >\n <div\n class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\"\n [class.animate-highlight]=\"\n resource.id === chatService.highlightContext\n \"\n (animationend)=\"chatService.highlightContext = ''\"\n >\n <div\n class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-zinc-400/30\"\n >\n <mat-icon svgIcon=\"calendar_clock\"></mat-icon>\n </div>\n <div\n class=\"flex h-full grow flex-col overflow-hidden pr-4\"\n >\n <span class=\"truncate text-md font-semibold\">{{\n resource.name\n }}</span>\n @if (contextService.assetForEvent(resource); as asset) {\n <div class=\"flex items-center gap-x-2 text-xs\">\n <span class=\"truncate\">{{ asset.name }}</span>\n <span>·</span>\n <span class=\"truncate\">{{ asset.type$name }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n } @else if (contextService.status.get(ref.id)?.isLoading) {\n <div\n class=\"flex rounded-2xl border border-zinc-400/40 bg-zinc-400/20 px-2 py-1 dark:border-black/50 dark:bg-black/20\"\n >\n <div class=\"flex h-10 w-10 items-center justify-center\">\n <mat-spinner strokeWidth=\"1\" diameter=\"18\"></mat-spinner>\n </div>\n </div>\n } @else {\n <div\n class=\"min-w-40 rounded-2xl border border-zinc-400/40 bg-zinc-400/20 dark:border-black/50 dark:bg-black/20\"\n >\n <div\n class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\"\n >\n <div\n class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-red-300 bg-red-100 text-red-700 dark:border-red-900 dark:bg-red-950/80 dark:text-red-400\"\n >\n <mat-icon svgIcon=\"error_circle\"></mat-icon>\n </div>\n <div class=\"flex h-full flex-col pr-4\">\n <span class=\"text-md font-semibold\">{{\n t('toast_error_load_item', {\n item: t(ref.resourceType),\n })\n }}</span>\n <span class=\"text-xs\">{{ ref.id }}</span>\n </div>\n </div>\n </div>\n }\n }\n </div>\n }\n }\n </div>\n </cdk-accordion-item>\n</cdk-accordion>\n","import { CdkAccordionModule } from '@angular/cdk/accordion';\nimport { Overlay, OverlayModule, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, Injector, ViewContainerRef } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslocoModule, TranslocoService } from '@jsverse/transloco';\nimport { MarkdownModule } from 'ngx-markdown';\n\nimport { UiPipesModule } from '../../core/pipes/pipes.module';\nimport { AssistantMessage, ChatService } from '../chat.service';\nimport {\n ContextOverlayComponent,\n OVERLAY_PAGE_NUMBER,\n OVERLAY_RESOURCE_ID,\n OVERLAY_RESOURCE_TYPE,\n} from '../context-overlay/context-overlay.component';\nimport { MessageContextComponent } from '../message-context/message-context.component';\nimport { ContextService } from '../context.service';\n\n@Component({\n imports: [\n CommonModule,\n CdkAccordionModule,\n MarkdownModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatTooltipModule,\n MessageContextComponent,\n OverlayModule,\n TranslocoModule,\n UiPipesModule,\n ],\n selector: 'ai-thread',\n templateUrl: './thread.component.html',\n styleUrl: './thread.component.scss',\n})\nexport class ThreadComponent {\n readonly chatService = inject(ChatService);\n readonly contextService = inject(ContextService);\n selection: string;\n\n private readonly translocoService = inject(TranslocoService);\n private readonly overlay = inject(Overlay);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private overlayRef: OverlayRef | null = null;\n\n openOverlay(\n event: MouseEvent,\n resourceId: string,\n resourceType?: 'asset' | 'content' | 'event',\n pageNumber?: number,\n ) {\n if (this.overlayRef) {\n this.overlayRef.detach();\n }\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(event.target as HTMLElement)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n ]);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n });\n\n const injector = Injector.create({\n providers: [\n { provide: OVERLAY_RESOURCE_ID, useValue: resourceId },\n { provide: OVERLAY_RESOURCE_TYPE, useValue: resourceType },\n { provide: OVERLAY_PAGE_NUMBER, useValue: pageNumber },\n { provide: ContextService, useValue: this.contextService },\n ],\n parent: this.viewContainerRef.injector,\n });\n const portal = new ComponentPortal(\n ContextOverlayComponent,\n this.viewContainerRef,\n injector,\n );\n this.overlayRef.attach(portal);\n this.overlayRef.backdropClick().subscribe(() => this.overlayRef?.detach());\n }\n\n interceptClick(event: MouseEvent) {\n const element = event.target;\n if (!(element instanceof HTMLAnchorElement)) {\n return;\n }\n let href = element.getAttribute('href');\n if (href.startsWith('$')) {\n href = href.substring(1);\n const params = href.split(',');\n const queryParams: Record<string, string> = params.reduce(\n (acc, param) => {\n const [key, value] = param.split('=');\n acc[key] = value;\n return acc;\n },\n {},\n );\n if (queryParams.ref && queryParams.msg) {\n const message = this.chatService.messages.find(\n (m) => m.id === queryParams.msg,\n );\n if (message) {\n const { references } = (message as AssistantMessage).parsedContent;\n const reference = references?.find(\n (ref) => ref.reference_id === parseInt(queryParams.ref, 10),\n );\n if (reference?.id) {\n const { id, pageNumber } = reference;\n this.chatService.highlightContext = id;\n this.openOverlay(event, id, reference.resourceType, pageNumber);\n } else {\n // this.toastService.error(\n // this.translocoService.translate('ai.reference_not_found'),\n // );\n }\n }\n }\n event.preventDefault();\n }\n }\n\n getMarkdownContent(message: AssistantMessage): string {\n const content = message.parsedContent || message.content;\n if (typeof content === 'string') {\n return content;\n } else if (typeof content.response === 'string') {\n return content.response.replace(\n /\\[\\[(\\d+)\\]\\]/g,\n (_, referenceId) =>\n `<sup><b>[[${referenceId}]]($ref=${referenceId},msg=${message.id},)</b></sup>`,\n );\n } else {\n return '';\n }\n }\n\n getToolStatus(item: any): string {\n const statusMessage = this.translocoService.translate(\n `ai.tools.${item.toolName}.${item.status}`,\n );\n return statusMessage || null;\n }\n\n getFailReason(item): string {\n const reason = this.translocoService.translate(\n `ai.finish_reason.${item.finishReason}`,\n );\n return (\n reason || this.translocoService.translate('ai.finish_reason.unknown')\n );\n }\n\n selectChoice(selection: any, toolMessage: any) {\n this.chatService.selectChoice(selection, toolMessage);\n }\n}\n","<div class=\"relative flex h-full w-full flex-col gap-1 px-6 py-4\" *transloco=\"let t\">\n @if (chatService.isLoading) {\n <div class=\"absolute inset-0 z-100 flex items-center justify-center backdrop-blur-lg\">\n <mat-spinner diameter=\"28\"></mat-spinner>\n </div>\n }\n @for (item of chatService.messages; track item.id; let idx = $index) {\n @if (item.role === 'assistant' && item.parsedContent) {\n <div class=\"flex w-full max-w-[85%] flex-col gap-y-2 self-center px-2 py-2 text-lg md:text-xl\">\n <markdown class=\"markdown-body\" [data]=\"getMarkdownContent(item)\" (click)=\"interceptClick($event)\"></markdown>\n @if (item.parsedContent.references?.length) {\n <ai-message-context [message]=\"item\" [isLastMessage]=\"idx === chatService.messages.length - 1\" class=\"mt-2\"></ai-message-context>\n }\n </div>\n } @else if (item.role === 'assistant' && item.status === 'failed' && getFailReason(item)) {\n <div class=\"flex w-full max-w-[85%] flex-col gap-y-2 self-center px-2 py-2 text-lg md:text-xl\">\n <div class=\"flex items-center gap-x-2 rounded-2xl bg-red-400/10 px-4 py-2 dark:bg-red-600/10\">\n <mat-icon svgIcon=\"dismiss_circle\" class=\"text-red-600/80 icon-sm dark:text-red-400/80\"></mat-icon>\n <span>{{ getFailReason(item) }}</span>\n </div>\n </div>\n } @else if (item.role === 'tool' && item.toolType === 'action' && item.status && getToolStatus(item)) {\n <div class=\"flex w-full max-w-[85%] flex-col self-center px-2 py-1 text-lg md:text-xl\">\n <div\n class=\"flex w-fit items-center gap-x-2 rounded-2xl bg-zinc-300/20 px-4 py-1 text-md text-zinc-800/90 dark:bg-black/70 dark:text-zinc-100/90\"\n >\n @if (item.status === 'completed') {\n <mat-icon svgIcon=\"checkmark_circle\" class=\"text-green-500/80 icon-sm dark:text-green-400/80\"></mat-icon>\n } @else if (item.status === 'failed') {\n <mat-icon svgIcon=\"dismiss_circle\" class=\"text-red-500/80 icon-sm dark:text-red-400/80\"></mat-icon>\n } @else if (item.status === 'pending') {\n <mat-icon svgIcon=\"hourglass_quarter\" class=\"text-zinc-700/60 icon-sm dark:text-zinc-300/40\"></mat-icon>\n } @else if (item.status === 'processing') {\n <mat-spinner diameter=\"16\"></mat-spinner>\n }\n <i>{{ getToolStatus(item) }}</i>\n </div>\n </div>\n } @else if (item.role === 'tool' && item.toolType === 'choice' && item.status === 'processing' && item.args?.choices) {\n <div class=\"flex w-full max-w-[85%] flex-col self-center px-2 py-2 text-lg md:text-xl\">\n <div class=\"flex flex-col rounded-2xl bg-zinc-300/40 pt-3 dark:bg-zinc-700/30\">\n @if (item.args.message) {\n <div class=\"flex items-center gap-x-3 px-5 pb-3 text-lg text-zinc-800 dark:text-zinc-300\">\n <mat-icon svgIcon=\"layer_diagonal_sparkle\"></mat-icon>\n <span class=\"font-semibold\">{{ item.args.message }}</span>\n </div>\n }\n <div class=\"flex flex-wrap gap-x-3 gap-y-2 overflow-x-auto px-5 pb-3\">\n @for (choice of item.args.choices; track choice.id) {\n <div\n class=\"min-w-48 max-w-80 cursor-pointer rounded-2xl border border-zinc-400/40 bg-zinc-400/20 hover:bg-zinc-400/30 dark:border-black/50 dark:bg-black/20\"\n (click)=\"selectChoice(choice, item)\"\n (keyup.enter)=\"selectChoice(choice, item)\"\n tabindex=\"0\"\n >\n <div class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\">\n <div class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-zinc-400/30\">\n <mat-icon svgIcon=\"asset\"></mat-icon>\n </div>\n <div class=\"flex h-full grow flex-col overflow-hidden pr-4\">\n <span class=\"truncate text-md font-semibold\">{{ choice.name }}</span>\n <div class=\"flex items-center gap-x-2 text-xs\">\n <span class=\"truncate\">{{ choice.typeName }}</span>\n @if (choice.location) {\n <span class=\"truncate\">{{ choice.location }}</span>\n }\n @if (choice.factory) {\n <span class=\"truncate\">{{ choice.factory }}</span>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (item.role === 'user' && !item.hidden) {\n <div class=\"flex max-w-[90%] flex-col self-end py-4 md:max-w-[80%]\">\n <div class=\"rounded-2xl bg-zinc-300/30 px-6 py-4 text-md md:text-lg dark:bg-black/20\">\n <markdown class=\"markdown-body\" [data]=\"item.content\"></markdown>\n </div>\n </div>\n }\n }\n\n @if (chatService.isProcessing) {\n <div class=\"flex w-full max-w-[85%] flex-col self-center rounded-2xl text-lg md:text-xl\">\n <div class=\"flex flex-col gap-y-2 px-2 py-4\">\n <div class=\"pulse-loader flex items-center gap-x-1 text-zinc-700/50 dark:text-zinc-300/30\"> <div></div><div></div><div></div> </div>\n </div>\n </div>\n }\n</div>\n","export const svgString = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <symbol id=\"add\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11.883 3.007 12 3a1 1 0 0 1 .993.883L13 4v7h7a1 1 0 0 1 .993.883L21 12a1 1 0 0 1-.883.993L20 13h-7v7a1 1 0 0 1-.883.993L12 21a1 1 0 0 1-.993-.883L11 20v-7H4a1 1 0 0 1-.993-.883L3 12a1 1 0 0 1 .883-.993L4 11h7V4a1 1 0 0 1 .883-.993L12 3z\"/></symbol>\n <symbol id=\"add_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m0 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17M12 7a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 12 7\"/></symbol>\n <symbol id=\"add_square\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 7a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 12 7m-9-.75A3.25 3.25 0 0 1 6.25 3h11.5A3.25 3.25 0 0 1 21 6.25v11.5A3.25 3.25 0 0 1 17.75 21H6.25A3.25 3.25 0 0 1 3 17.75zM6.25 4.5A1.75 1.75 0 0 0 4.5 6.25v11.5c0 .966.784 1.75 1.75 1.75h11.5a1.75 1.75 0 0 0 1.75-1.75V6.25a1.75 1.75 0 0 0-1.75-1.75z\"/></symbol>\n <symbol id=\"app_connectivity\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M20 14h8a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2H9a2 2 0 0 0-2 2v4H4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v6H8v-4h4a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2H9V6h9v6a2 2 0 0 0 2 2m0 14v-4h8v4Zm8-8v2h-8v-2ZM4 20v-4h8v4Zm8-6H4v-2h8Zm8-2V8h8v4Zm8-8v2h-8V4Z\"/></symbol>\n <symbol id=\"apps\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 17a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4M5 17a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7-7a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4M5 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7-7a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4M5 3a2 2 0 1 1 0 4 2 2 0 0 1 0-4\"/></symbol>\n <symbol id=\"arrow_clockwise\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a7.5 7.5 0 1 0 7.419 6.392c-.067-.454.265-.892.724-.892.37 0 .696.256.752.623Q21 11.297 21 12a9 9 0 1 1-3-6.708V4.25a.75.75 0 0 1 1.5 0v3a.75.75 0 0 1-.75.75h-3a.75.75 0 0 1 0-1.5h1.35a7.47 7.47 0 0 0-5.1-2\"/></symbol>\n <symbol id=\"arrow_down\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19.79 13.267a.75.75 0 0 0-1.086-1.034l-5.954 6.251V3.75a.75.75 0 1 0-1.5 0v14.734l-5.955-6.251a.75.75 0 1 0-1.086 1.034l7.067 7.42c.16.168.366.268.58.3a.8.8 0 0 0 .29-.001 1 1 0 0 0 .578-.3z\"/></symbol>\n <symbol id=\"arrow_left\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.733 19.79a.75.75 0 0 0 1.034-1.086L5.516 12.75H20.25a.75.75 0 0 0 0-1.5H5.516l6.251-5.955a.75.75 0 0 0-1.034-1.086l-7.42 7.067a1 1 0 0 0-.3.58.8.8 0 0 0 .001.289 1 1 0 0 0 .3.579z\"/></symbol>\n <symbol id=\"arrow_maximize\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m12.496 3.002 7.556.001.12.014.088.02.104.034.09.04.063.036.063.042.064.05.063.058.094.11.072.11.053.114.036.105.015.065.01.053.01.148v7.504a1 1 0 0 1-1.993.117l-.007-.117v-5.09L6.412 19H11.5a1 1 0 0 1 .993.884L12.5 20a1 1 0 0 1-.884.994L11.5 21H3.939l-.096-.01-.077-.015-.077-.022-.07-.026-.09-.042-.089-.053-.091-.07.032.027a1 1 0 0 1-.166-.166l-.051-.07-.04-.064-.032-.064-.034-.082-.025-.08-.024-.111-.007-.061-.004-.09v-7.503a1 1 0 0 1 1.993-.117l.007.117v5.088L17.582 5.002h-5.086a1 1 0 0 1-.994-.883l-.006-.117a1 1 0 0 1 1-1\"/></symbol>\n <symbol id=\"arrow_minimize\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.498 12.505a1 1 0 0 1 .993.884l.007.116v7.504a1 1 0 0 1-1.994.117l-.006-.117v-5.093l-5.791 5.792a1 1 0 0 1-1.32.083l-.095-.083a1 1 0 0 1-.083-1.32l.083-.095 5.788-5.788H2.996a1 1 0 0 1-.117-1.993l.117-.007zm3-10.505a1 1 0 0 1 .994.883l.007.117v5.087l5.793-5.794a1 1 0 0 1 1.32-.083l.095.083a1 1 0 0 1 .083 1.32l-.083.095-5.797 5.795H21a1 1 0 0 1 .117 1.994l-.117.007h-7.5a1 1 0 0 1-.994-.883l-.006-.117V3a1 1 0 0 1 1-1\"/></symbol>\n <symbol id=\"arrow_move\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.28 6.03a.75.75 0 0 1-1.06 0l-1.47-1.47v3.69a.75.75 0 0 1-1.5 0V4.56L9.78 6.03a.75.75 0 0 1-1.06-1.06l2.75-2.75a.75.75 0 0 1 1.06 0l2.75 2.75a.75.75 0 0 1 0 1.06m-9.25 8.19a.75.75 0 1 1-1.06 1.06l-2.75-2.75a.75.75 0 0 1 0-1.06l2.75-2.75a.75.75 0 0 1 1.06 1.06l-1.47 1.47h3.69a.75.75 0 0 1 0 1.5H4.56zm11.94 1.06a.75.75 0 0 1 0-1.06l1.47-1.47h-3.69a.75.75 0 0 1 0-1.5h3.69l-1.47-1.47a.75.75 0 0 1 1.06-1.06l2.75 2.75a.75.75 0 0 1 0 1.06l-2.75 2.75a.75.75 0 0 1-1.06 0m-2.69 2.69a.75.75 0 0 0-1.06 0l-1.47 1.47v-3.69a.75.75 0 0 0-1.5 0v3.69l-1.47-1.47a.75.75 0 0 0-1.06 1.06l2.75 2.75a.75.75 0 0 0 1.06 0l2.75-2.75a.75.75 0 0 0 0-1.06\"/></symbol>\n <symbol id=\"arrow_right\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.267 4.209a.75.75 0 0 0-1.034 1.086l6.251 5.955H3.75a.75.75 0 0 0 0 1.5h14.734l-6.251 5.954a.75.75 0 0 0 1.034 1.087l7.42-7.067a1 1 0 0 0 .3-.58.8.8 0 0 0-.001-.29 1 1 0 0 0-.3-.578z\"/></symbol>\n <symbol id=\"arrow_sort\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m17.25 4-.1.007a.75.75 0 0 0-.65.743v12.692l-3.22-3.218-.084-.072a.75.75 0 0 0-.976 1.134l4.504 4.5.084.072a.75.75 0 0 0 .976-.073l4.497-4.5.072-.084a.75.75 0 0 0-.073-.977l-.084-.072a.75.75 0 0 0-.977.073L18 17.446V4.75l-.006-.102A.75.75 0 0 0 17.251 4m-11.036.22L1.72 8.715l-.073.084a.75.75 0 0 0 .073.976l.084.073a.75.75 0 0 0 .976-.073l3.217-3.218v12.698l.008.102a.75.75 0 0 0 .743.648l.101-.007a.75.75 0 0 0 .649-.743L7.497 6.559l3.223 3.217.084.072a.75.75 0 0 0 .975-1.134L7.275 4.22l-.085-.072a.75.75 0 0 0-.976.073\"/></symbol>\n <symbol id=\"arrow_sort_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m6.288 4.293-3.995 4-.084.095a1 1 0 0 0 .084 1.32l.095.083a1 1 0 0 0 1.32-.084L6 7.41V19l.007.117a1 1 0 0 0 .993.884l.117-.007A1 1 0 0 0 8 19V7.417l2.293 2.29.095.084a1 1 0 0 0 1.319-1.499l-4.006-4-.094-.083a1 1 0 0 0-1.32.084M17 4.003l-.117.007a1 1 0 0 0-.883.993v11.58l-2.293-2.29-.095-.084a1 1 0 0 0-1.319 1.498l4.004 4 .094.084a1 1 0 0 0 1.32-.084l3.996-4 .084-.095a1 1 0 0 0-.084-1.32l-.095-.083a1 1 0 0 0-1.32.084L18 16.587V5.003l-.007-.116A1 1 0 0 0 17 4.003\"/></symbol>\n <symbol id=\"arrow_up\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.209 10.733a.75.75 0 0 0 1.086 1.034l5.954-6.251V20.25a.75.75 0 0 0 1.5 0V5.516l5.955 6.251a.75.75 0 0 0 1.087-1.034l-7.067-7.42a1 1 0 0 0-.58-.3.8.8 0 0 0-.29.001 1 1 0 0 0-.578.3z\"/></symbol>\n <symbol id=\"ascending\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.25 2a.75.75 0 0 1 .75.75v16.69l2.22-2.22a.75.75 0 1 1 1.06 1.06l-3.5 3.5a.75.75 0 0 1-1.06 0l-3.5-3.5a.75.75 0 1 1 1.06-1.06l2.22 2.22V2.75a.75.75 0 0 1 .75-.75m-9.481.487a.75.75 0 0 0-1.401-.01l-3.317 8.5a.75.75 0 1 0 1.398.546l.79-2.023h3.555l.754 2.013a.75.75 0 0 0 1.405-.526zM5.823 8l1.23-3.15L8.232 8zM4 13.75a.75.75 0 0 1 .75-.75H9.5a.75.75 0 0 1 .634 1.151L6.114 20.5H9.5a.75.75 0 1 1 0 1.5H4.75a.75.75 0 0 1-.633-1.151l4.02-6.35H4.75a.75.75 0 0 1-.75-.75\"/></symbol>\n <symbol id=\"asset\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.78 3.737a2.25 2.25 0 0 0-1.56 0L9.913 5.33a.25.25 0 0 0-.163.234v2.793a4.8 4.8 0 0 0-1.5 0V5.563a1.75 1.75 0 0 1 1.143-1.641L13.7 2.33a3.75 3.75 0 0 1 2.6 0l4.307 1.592a1.75 1.75 0 0 1 1.143 1.641v10.67a1.75 1.75 0 0 1-1.143 1.642l-4.018 1.484c.105-.292.161-.604.161-.927v-.731l3.337-1.233a.25.25 0 0 0 .163-.235V5.563a.25.25 0 0 0-.163-.234zm-4.01 3.93a.75.75 0 1 1 .49-1.418l2.658.92a.25.25 0 0 0 .163 0l2.65-.92a.75.75 0 1 1 .492 1.418l-2.65.919a1.75 1.75 0 0 1-1.145 0zm-6 7a.75.75 0 0 1 .49-1.418l2.74.948 2.732-.947a.75.75 0 1 1 .49 1.417l-2.472.857v2.7a.75.75 0 0 1-1.5 0v-2.7zM10.3 9.53a3.75 3.75 0 0 0-2.6 0l-4.307 1.592a1.75 1.75 0 0 0-1.143 1.641v5.67a1.75 1.75 0 0 0 1.143 1.642L7.7 21.666a3.75 3.75 0 0 0 2.6 0l4.307-1.592a1.75 1.75 0 0 0 1.143-1.642v-5.67a1.75 1.75 0 0 0-1.143-1.641zm-2.08 1.407a2.25 2.25 0 0 1 1.56 0l4.307 1.592a.25.25 0 0 1 .163.234v5.67a.25.25 0 0 1-.163.235L9.78 20.259a2.25 2.25 0 0 1-1.56 0l-4.307-1.592a.25.25 0 0 1-.163-.235v-5.67a.25.25 0 0 1 .163-.234z\"/></symbol>\n <symbol id=\"assistant_direction\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m14.298 2.985 6.717 6.718a3.25 3.25 0 0 1 0 4.596l-6.717 6.717a3.25 3.25 0 0 1-4.596 0L2.984 14.3a3.25 3.25 0 0 1 0-4.596l6.718-6.718a3.25 3.25 0 0 1 4.596 0m-3.536 1.06-6.717 6.718a1.75 1.75 0 0 0 0 2.475l6.717 6.718a1.75 1.75 0 0 0 2.475 0l6.718-6.718a1.75 1.75 0 0 0 0-2.475l-6.718-6.717a1.75 1.75 0 0 0-2.475 0m1.695 3.26.073-.084a.75.75 0 0 1 .977-.073l.084.073 2 2a.75.75 0 0 1 .072.977l-.072.084-2 2a.75.75 0 0 1-1.133-.977l.072-.084.72-.72h-1.5a1.25 1.25 0 0 0-1.244 1.122l-.006.128V15a.75.75 0 0 1-1.493.101l-.007-.1v-3.25a2.75 2.75 0 0 1 2.582-2.745L11.75 9h1.498l-.718-.72a.75.75 0 0 1-.072-.976l.072-.084z\"/></symbol>\n <symbol id=\"bar_vertical\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.251 3a2.25 2.25 0 0 0-2.249 2.25v13.5a2.249 2.249 0 1 0 4.498 0V5.25A2.25 2.25 0 0 0 18.251 3m-6.5 4a2.25 2.25 0 0 0-2.249 2.25v9.5a2.249 2.249 0 1 0 4.498 0v-9.5A2.25 2.25 0 0 0 11.751 7m-6.5 4a2.25 2.25 0 0 0-2.25 2.25v5.5a2.25 2.25 0 1 0 4.5 0v-5.5A2.25 2.25 0 0 0 5.25 11\"/></symbol>\n <symbol id=\"book\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1zm1.5 1.5h7v-1h-7zM4 4.5A2.5 2.5 0 0 1 6.5 2H18a2.5 2.5 0 0 1 2.5 2.5v14.25a.75.75 0 0 1-.75.75H5.5a1 1 0 0 0 1 1h13.25a.75.75 0 0 1 0 1.5H6.5A2.5 2.5 0 0 1 4 19.5zM5.5 18H19V4.5a1 1 0 0 0-1-1H6.5a1 1 0 0 0-1 1z\"/></symbol>\n <symbol id=\"bookmark\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.19 21.855a.75.75 0 0 1-1.187-.61V6.25A3.25 3.25 0 0 1 8.253 3h7.498a3.25 3.25 0 0 1 3.25 3.25v14.996a.75.75 0 0 1-1.188.609l-5.81-4.181zM17.502 6.25a1.75 1.75 0 0 0-1.75-1.75H8.253a1.75 1.75 0 0 0-1.75 1.75v13.532l5.061-3.641a.75.75 0 0 1 .876 0l5.061 3.641z\"/></symbol>\n <symbol id=\"box\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.591 2.513a3.75 3.75 0 0 1 2.818 0l7.498 3.04A1.75 1.75 0 0 1 22 7.175v9.653a1.75 1.75 0 0 1-1.093 1.621l-7.498 3.04a3.75 3.75 0 0 1-2.818 0l-7.498-3.04A1.75 1.75 0 0 1 2 16.827V7.176a1.75 1.75 0 0 1 1.093-1.622zm2.254 1.39a2.25 2.25 0 0 0-1.69 0L9.24 4.68l7.527 2.927 2.669-1.03zm1.846 4.505L7.215 5.5 4.59 6.564l7.411 2.882zM3.5 16.828a.25.25 0 0 0 .156.231l7.499 3.04q.047.02.095.036v-9.371L3.5 7.75zm9.345 3.271 7.499-3.04a.25.25 0 0 0 .156-.232V7.774l-7.75 2.992v9.37z\"/></symbol>\n <symbol id=\"braces_variable\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.5 5.75A2.75 2.75 0 0 1 6.25 3a.75.75 0 0 1 0 1.5C5.56 4.5 5 5.06 5 5.75v4.309c0 .744-.3 1.437-.802 1.941A2.75 2.75 0 0 1 5 13.941v4.309c0 .69.56 1.25 1.25 1.25a.75.75 0 0 1 0 1.5 2.75 2.75 0 0 1-2.75-2.75v-4.308a1.25 1.25 0 0 0-.855-1.186l-.132-.045a.75.75 0 0 1 0-1.422l.132-.045c.51-.17.855-.647.855-1.185zm17 0A2.75 2.75 0 0 0 17.75 3a.75.75 0 0 0 0 1.5c.69 0 1.25.56 1.25 1.25v4.309c0 .744.3 1.437.802 1.941A2.75 2.75 0 0 0 19 13.941v4.309c0 .69-.56 1.25-1.25 1.25a.75.75 0 0 0 0 1.5 2.75 2.75 0 0 0 2.75-2.75v-4.308c0-.539.344-1.016.855-1.186l.132-.045a.75.75 0 0 0 0-1.422l-.132-.045a1.25 1.25 0 0 1-.855-1.185zM9.092 7.04a.75.75 0 1 0-1.184.92L11.05 12l-3.142 4.04a.75.75 0 0 0 1.184.92L12 13.223l2.908 3.739a.75.75 0 0 0 1.184-.921L12.95 12l3.142-4.04a.75.75 0 0 0-1.184-.92L12 10.778z\"/></symbol>\n <symbol id=\"bullet_list\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.25 17.5a1.25 1.25 0 1 1 0 2.499 1.25 1.25 0 0 1 0-2.499m3.5.5h14.5a.75.75 0 0 1 .102 1.493l-.102.007H6.75a.75.75 0 0 1-.102-1.493zh14.5zm-3.5-7a1.25 1.25 0 1 1 0 2.499 1.25 1.25 0 0 1 0-2.499m3.5.5h14.5a.75.75 0 0 1 .102 1.493L21.25 13H6.75a.75.75 0 0 1-.102-1.493zh14.5zm-3.5-7a1.25 1.25 0 1 1 0 2.499 1.25 1.25 0 0 1 0-2.499m3.5.5h14.5a.75.75 0 0 1 .102 1.493l-.102.007H6.75a.75.75 0 0 1-.102-1.493zh14.5z\"/></symbol>\n <symbol id=\"burger_menu\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3 17h18a1 1 0 0 1 .117 1.993L21 19H3a1 1 0 0 1-.117-1.993zh18zm0-6 18-.002a1 1 0 0 1 .117 1.993l-.117.007L3 13a1 1 0 0 1-.117-1.993zl18-.002zm0-6h18a1 1 0 0 1 .117 1.993L21 7H3a1 1 0 0 1-.117-1.993zh18z\"/></symbol>\n <symbol id=\"calatena\" viewBox=\"0 0 121 121\"><path fill=\"currentColor\" d=\"M60.5.5C27.4.5.5 27.4.5 60.5s26.9 60 60 60 60-26.9 60-60-26.9-60-60-60m0 118.9C28 119.4 1.6 93 1.6 60.5S28 1.6 60.5 1.6s58.9 26.4 58.9 58.9-26.4 58.9-58.9 58.9\" class=\"st0\"/><path d=\"m79 58.8 11.1-11.1c4.6-4.6 4.6-12.1 0-16.7S78 26.4 73.4 31l-.1.2L60.5 44 47.7 31.2l-.2-.2-.2-.1-.1-.1c-4.6-4.6-12-4.6-16.6 0s-4.6 12 0 16.6l13.2 13.2-1.8 1.9v.1L31 73.5l-.1.1-.1.2-.1.1c-4.4 4.8-4.1 12.2.6 16.6 4.5 4.2 11.5 4.2 16 0l13.2-13.2 13 13c4.6 4.6 12.1 4.6 16.7 0s4.6-12.1 0-16.7l-.2-.1-12.8-12.8z\" class=\"st1\"/></symbol>\n <symbol id=\"calendar\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.75 3A3.25 3.25 0 0 1 21 6.25v11.5A3.25 3.25 0 0 1 17.75 21H6.25A3.25 3.25 0 0 1 3 17.75V6.25A3.25 3.25 0 0 1 6.25 3zm1.75 5.5h-15v9.25c0 .966.784 1.75 1.75 1.75h11.5a1.75 1.75 0 0 0 1.75-1.75zm-11.75 6a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m4.25 0a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m-4.25-4a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m4.25 0a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m4.25 0a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m1.5-6H6.25A1.75 1.75 0 0 0 4.5 6.25V7h15v-.75a1.75 1.75 0 0 0-1.75-1.75\"/></symbol>\n <symbol id=\"calendar_clock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.75 3A3.25 3.25 0 0 1 21 6.25v5.772a6.5 6.5 0 0 0-1.5-.709V8.5h-15v9.25c0 .966.784 1.75 1.75 1.75h5.063c.173.534.412 1.037.709 1.5H6.25A3.25 3.25 0 0 1 3 17.75V6.25A3.25 3.25 0 0 1 6.25 3zm0 1.5H6.25A1.75 1.75 0 0 0 4.5 6.25V7h15v-.75a1.75 1.75 0 0 0-1.75-1.75m5.25 13a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0M17.5 14a.5.5 0 0 1 .5.5V17h2a.5.5 0 0 1 0 1h-2.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5\"/></symbol>\n <symbol id=\"camera\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.925 2.504a2.25 2.25 0 0 1 1.94 1.11l.814 1.387h2.071A3.25 3.25 0 0 1 22 8.25v9.5A3.25 3.25 0 0 1 18.75 21H5.25A3.25 3.25 0 0 1 2 17.75v-9.5A3.25 3.25 0 0 1 5.25 5h2.08l.875-1.424a2.25 2.25 0 0 1 1.917-1.073zm0 1.5h-3.803a.75.75 0 0 0-.574.268l-.065.09-1.093 1.78a.75.75 0 0 1-.639.358h-2.5A1.75 1.75 0 0 0 3.5 8.25v9.5c0 .966.784 1.75 1.75 1.75h13.5a1.75 1.75 0 0 0 1.75-1.75v-9.5a1.75 1.75 0 0 0-1.75-1.75h-2.5a.75.75 0 0 1-.647-.37l-1.032-1.757a.75.75 0 0 0-.646-.37M12 8a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9m0 1.5a3 3 0 1 0 0 6 3 3 0 0 0 0-6\"/></symbol>\n <symbol id=\"camera_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.925 2.504a2.25 2.25 0 0 1 1.94 1.11l.814 1.387h2.071A3.25 3.25 0 0 1 22 8.25v9.5A3.25 3.25 0 0 1 18.75 21H5.25A3.25 3.25 0 0 1 2 17.75v-9.5A3.25 3.25 0 0 1 5.25 5h2.08l.875-1.424a2.25 2.25 0 0 1 1.917-1.073zM12 8a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9m0 1.5a3 3 0 1 1 0 6 3 3 0 0 1 0-6\"/></symbol>\n <symbol id=\"caret_down\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.161 10.073C4.454 9.265 5.028 8 6.102 8h11.796c1.074 0 1.648 1.265.941 2.073l-5.522 6.31a1.75 1.75 0 0 1-2.634 0zM6.653 9.5l5.159 5.896a.25.25 0 0 0 .376 0l5.16-5.896z\"/></symbol>\n <symbol id=\"caret_up\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.161 14.907c-.707.809-.133 2.073.941 2.073h11.796c1.074 0 1.648-1.264.941-2.073l-5.522-6.31a1.75 1.75 0 0 0-2.634 0zm1.492.573 5.159-5.896a.25.25 0 0 1 .376 0l5.16 5.897z\"/></symbol>\n <symbol id=\"chart_average\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M23 24c-3.6 0-5.03-4.176-6.413-8.214C15.277 11.958 13.92 8 11 8a3.44 3.44 0 0 0-3.053 2.322L6.05 9.684C6.101 9.534 7.321 6 11 6c4.35 0 6.012 4.855 7.48 9.138C19.689 18.667 20.83 22 23 22a3.44 3.44 0 0 0 3.053-2.321l1.896.637C27.899 20.466 26.679 24 23 24\"/><path fill=\"currentColor\" d=\"M4 28V17h2v-2H4V2H2v26a2 2 0 0 0 2 2h26v-2Z\"/><path fill=\"currentColor\" d=\"M8 15h2v2H8zm4 0h2v2h-2zm8 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2z\"/></symbol>\n <symbol id=\"chart_correlation\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M30 30H4a2 2 0 0 1-2-2V2h2v26h26Z\"/><circle cx=\"9\" cy=\"6\" r=\"3\" fill=\"currentColor\"/><circle cx=\"9\" cy=\"22\" r=\"3\" fill=\"currentColor\"/><circle cx=\"18\" cy=\"14\" r=\"3\" fill=\"currentColor\"/><path fill=\"currentColor\" d=\"M9 17a3 3 0 1 1 3-3 3.003 3.003 0 0 1-3 3m0-4a1 1 0 1 0 1 1 1 1 0 0 0-1-1\"/><circle cx=\"27\" cy=\"6\" r=\"3\" fill=\"currentColor\"/><circle cx=\"27\" cy=\"22\" r=\"3\" fill=\"currentColor\"/><path fill=\"currentColor\" d=\"M27 17a3 3 0 1 1 3-3 3.003 3.003 0 0 1-3 3m0-4a1 1 0 1 0 1 1 1 1 0 0 0-1-1m-9 13a3 3 0 1 1 3-3 3.003 3.003 0 0 1-3 3m0-4a1 1 0 1 0 1 1 1 1 0 0 0-1-1m0-14a3 3 0 1 1 3-3 3.003 3.003 0 0 1-3 3m0-4a1 1 0 1 0 1 1 1 1 0 0 0-1-1\"/></symbol>\n <symbol id=\"chart_line\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"m4.67 28 6.39-12 7.3 6.49a2 2 0 0 0 1.7.47 2 2 0 0 0 1.42-1.07L27 10.9l-1.82-.9-5.49 11-7.3-6.49a2 2 0 0 0-1.68-.51 2 2 0 0 0-1.42 1L4 25V2H2v26a2 2 0 0 0 2 2h26v-2Z\"/></symbol>\n <symbol id=\"chart_line_smooth\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M13 15c1.485 0 2.554 1.497 3.686 3.081C17.998 19.918 19.486 22 22 22c5.67 0 7.78-10.79 8-12l-1.968-.358C27.55 12.282 25.394 20 22 20c-1.485 0-2.554-1.497-3.686-3.081C17.002 15.082 15.514 13 13 13c-4.186 0-7.445 7.404-9 11.762V2H2v26a2.003 2.003 0 0 0 2 2h26v-2H5.044c1.51-5.143 4.92-13 7.956-13\"/></symbol>\n <symbol id=\"chart_maximum\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M8 6h2v2H8zm4 0h2v2h-2zm8 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2z\"/><path fill=\"currentColor\" d=\"m27.989 28-.027-.163C26.51 19.074 24.066 9.089 18 8.089V6h-2v2.085c-6.084.978-8.533 10.978-9.986 19.752L5.987 28H4V8h2V6H4V2H2v26a2 2 0 0 0 2 2h26v-2ZM8.015 28c2.024-12.108 4.96-18 8.973-18s6.949 5.892 8.972 18Z\"/></symbol>\n <symbol id=\"chart_minimum\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M4 28v-2h2v-2H4V2H2v26a2 2 0 0 0 2 2h26v-2Z\"/><path fill=\"currentColor\" d=\"M8 24h2v2H8zm4 0h2v2h-2zm8 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2z\"/><path fill=\"currentColor\" d=\"M27.946 4.328 25.973 4C23.949 16.108 21.013 22 17 22s-6.949-5.892-8.973-18l-1.973.328C7.51 13.057 9.964 22.93 16 23.913V26h2v-2.087c6.037-.983 8.49-10.856 9.946-19.585\"/></symbol>\n <symbol id=\"chart_stepper\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M14 22v-8h8V6h8V4H20v8h-8v8H4V2H2v26a2.003 2.003 0 0 0 2 2h26v-2H4v-6Z\"/></symbol>\n <symbol id=\"chart_transformation\" viewBox=\"0 0 32 32\"><path d=\"M10.356 23.058C12.77 24.592 15.62 26 17.95 26a3.87 3.87 0 0 0 2.856-1.084c2.286-2.29.14-6.398-1.938-10.372l5.801-5.801a44 44 0 0 1 3.012 2.124L29 9.349a45 45 0 0 0-2.872-2.064L30 3.413 28.586 2l-4.207 4.206c-3.316-1.91-7.108-3.246-9.228-1.122-2.04 2.043-.552 5.532 1.268 9.083l-6.307 6.306a44 44 0 0 1-2.8-2.1L6 19.884a48 48 0 0 0 2.665 2.035L4 26.585V2H2v26a2 2 0 0 0 2 2h26v-2H5.413Zm6.209-16.557c1.135-1.138 3.693-.286 6.337 1.183l-4.995 4.994c-1.313-2.619-2.35-5.167-1.342-6.177m.821 9.526c1.58 3.032 3.182 6.296 2.007 7.473-1.312 1.314-4.522-.026-7.572-1.908Z\"/><path d=\"M0 0h32v32H0z\" data-name=\"&lt;Transparent Rectangle&gt;\" style=\"fill:none\"/></symbol>\n <symbol id=\"chat_add\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.75 7.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5zM22 12c0-5.523-4.477-10-10-10S2 6.477 2 12a9.96 9.96 0 0 0 1.115 4.592l-1.068 3.823a1.25 1.25 0 0 0 1.54 1.54l3.826-1.067A9.96 9.96 0 0 0 12 22c5.523 0 10-4.477 10-10M3.5 12a8.5 8.5 0 1 1 4.367 7.43l-.27-.15-3.986 1.111 1.113-3.984-.151-.27A8.46 8.46 0 0 1 3.5 12\"/></symbol>\n <symbol id=\"chat_sparkle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.088 6.412a2.84 2.84 0 0 0-1.347-.955l-1.378-.448a.544.544 0 0 1 0-1.025l1.378-.448A2.84 2.84 0 0 0 16.5 1.774l.011-.034.448-1.377a.544.544 0 0 1 1.027 0l.447 1.377a2.84 2.84 0 0 0 1.799 1.796l1.377.448.028.007a.544.544 0 0 1 0 1.025l-1.378.448a2.84 2.84 0 0 0-1.798 1.796l-.448 1.377-.013.034a.544.544 0 0 1-1.013-.034l-.448-1.377a2.8 2.8 0 0 0-.45-.848m7.695 3.801-.766-.248a1.58 1.58 0 0 1-.998-.999l-.25-.764a.302.302 0 0 0-.57 0l-.248.764a1.58 1.58 0 0 1-.984.999l-.765.248a.302.302 0 0 0 0 .57l.765.249a1.58 1.58 0 0 1 1 1.002l.248.764a.302.302 0 0 0 .57 0l.249-.764a1.58 1.58 0 0 1 .999-.999l.765-.248a.302.302 0 0 0 0-.57zM12 2c.957 0 1.883.134 2.759.385a1.8 1.8 0 0 1-.369.174l-1.34.44a1.65 1.65 0 0 0-.721.507A8.5 8.5 0 0 0 3.5 12c0 1.47.373 2.883 1.073 4.137l.15.27-1.112 3.984 3.987-1.112.27.15a8.502 8.502 0 0 0 12.507-5.965q.136.202.335.345a1.29 1.29 0 0 0 1.09.195C20.87 18.567 16.836 22 12 22a9.96 9.96 0 0 1-4.587-1.112l-3.826 1.067a1.25 1.25 0 0 1-1.54-1.54l1.068-3.823A9.96 9.96 0 0 1 2 12C2 6.477 6.477 2 12 2\"/></symbol>\n <symbol id=\"checkmark\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.53 12.97a.75.75 0 0 0-1.06 1.06l4.5 4.5a.75.75 0 0 0 1.06 0l11-11a.75.75 0 0 0-1.06-1.06L8.5 16.94z\"/></symbol>\n <symbol id=\"checkmark_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m0 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17m-1.25 9.94 4.47-4.47a.75.75 0 0 1 1.133.976l-.073.084-5 5a.75.75 0 0 1-.976.073l-.084-.073-2.5-2.5a.75.75 0 0 1 .976-1.133l.084.073zl4.47-4.47z\"/></symbol>\n <symbol id=\"checkmark_circle_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m3.22 6.97-4.47 4.47-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5a.75.75 0 1 0-1.06-1.06\"/></symbol>\n <symbol id=\"checkmark_list\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.78 4.78a.75.75 0 0 0-1.06-1.06L3.75 5.69l-.47-.47a.75.75 0 0 0-1.06 1.06l1 1a.75.75 0 0 0 1.06 0zm14.47 13.227H9.75l-.102.007a.75.75 0 0 0 .102 1.493h11.5l.102-.007a.75.75 0 0 0-.102-1.493m0-6.507H9.75l-.102.007A.75.75 0 0 0 9.75 13h11.5l.102-.007a.75.75 0 0 0-.102-1.493m0-6.5H9.75l-.102.007A.75.75 0 0 0 9.75 6.5h11.5l.102-.007A.75.75 0 0 0 21.25 5M6.78 17.78a.75.75 0 1 0-1.06-1.06l-1.97 1.97-.47-.47a.75.75 0 0 0-1.06 1.06l1 1a.75.75 0 0 0 1.06 0zm0-7.56a.75.75 0 0 1 0 1.06l-2.5 2.5a.75.75 0 0 1-1.06 0l-1-1a.75.75 0 1 1 1.06-1.06l.47.47 1.97-1.97a.75.75 0 0 1 1.06 0\"/></symbol>\n <symbol id=\"checkmark_starburst\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9.836 2.034q.168.058.329.136l1.283.632a1.25 1.25 0 0 0 1.104 0l1.283-.632a2.75 2.75 0 0 1 3.682 1.253l.073.162.063.167.46 1.353c.125.368.414.656.781.781l1.354.46a2.75 2.75 0 0 1 1.581 3.819l-.631 1.283a1.25 1.25 0 0 0 0 1.104l.631 1.283a2.75 2.75 0 0 1-1.581 3.818l-1.354.46a1.25 1.25 0 0 0-.78.781l-.461 1.354a2.75 2.75 0 0 1-3.818 1.581l-1.283-.631a1.25 1.25 0 0 0-1.104 0l-1.283.631a2.75 2.75 0 0 1-3.818-1.581l-.46-1.354a1.25 1.25 0 0 0-.782-.78l-1.353-.461a2.75 2.75 0 0 1-1.582-3.818l.632-1.283a1.25 1.25 0 0 0 0-1.104l-.632-1.283a2.75 2.75 0 0 1 1.582-3.818l1.353-.46a1.25 1.25 0 0 0 .781-.782l.46-1.353a2.75 2.75 0 0 1 3.49-1.718m-2.07 2.2-.46 1.354a2.75 2.75 0 0 1-1.718 1.718l-1.353.46a1.25 1.25 0 0 0-.719 1.736l.632 1.283a2.75 2.75 0 0 1 0 2.43l-.632 1.282a1.25 1.25 0 0 0 .719 1.736l1.353.46a2.75 2.75 0 0 1 1.718 1.718l.46 1.354a1.248 1.248 0 0 0 1.736.719l1.283-.632a2.75 2.75 0 0 1 2.43 0l1.282.632q.074.035.15.061a1.25 1.25 0 0 0 1.586-.78l.46-1.354a2.75 2.75 0 0 1 1.718-1.718l1.354-.46q.075-.026.15-.062a1.25 1.25 0 0 0 .569-1.674l-.632-1.283a2.75 2.75 0 0 1 0-2.429l.632-1.283a1.25 1.25 0 0 0-.719-1.736l-1.354-.46a2.75 2.75 0 0 1-1.718-1.718l-.46-1.353-.029-.076-.033-.074-.062-.111a1.25 1.25 0 0 0-1.612-.458l-1.283.632a2.75 2.75 0 0 1-2.429 0l-1.283-.632a1.25 1.25 0 0 0-1.735.719M10.05 14.39l5.42-5.42a.75.75 0 0 1 1.133.977l-.073.084-6 6a.75.75 0 0 1-1.031.028l-.075-.078-2.5-3a.75.75 0 0 1 1.075-1.04l.077.08zl5.42-5.42z\"/></symbol>\n <symbol id=\"chevron_down\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.22 8.47a.75.75 0 0 1 1.06 0L12 15.19l6.72-6.72a.75.75 0 1 1 1.06 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L4.22 9.53a.75.75 0 0 1 0-1.06\"/></symbol>\n <symbol id=\"chevron_left\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.53 4.22a.75.75 0 0 1 0 1.06L8.81 12l6.72 6.72a.75.75 0 1 1-1.06 1.06l-7.25-7.25a.75.75 0 0 1 0-1.06l7.25-7.25a.75.75 0 0 1 1.06 0\"/></symbol>\n <symbol id=\"chevron_left_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.707 4.293a1 1 0 0 1 0 1.414L9.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414l-7-7a1 1 0 0 1 0-1.414l7-7a1 1 0 0 1 1.414 0\"/></symbol>\n <symbol id=\"chevron_right\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.47 4.22a.75.75 0 0 0 0 1.06L15.19 12l-6.72 6.72a.75.75 0 1 0 1.06 1.06l7.25-7.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0\"/></symbol>\n <symbol id=\"chevron_right_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.293 4.293a1 1 0 0 0 0 1.414L14.586 12l-6.293 6.293a1 1 0 1 0 1.414 1.414l7-7a1 1 0 0 0 0-1.414l-7-7a1 1 0 0 0-1.414 0\"/></symbol>\n <symbol id=\"chevron_up\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.293 15.707a1 1 0 0 0 1.414 0L12 9.414l6.293 6.293a1 1 0 0 0 1.414-1.414l-7-7a1 1 0 0 0-1.414 0l-7 7a1 1 0 0 0 0 1.414\"/></symbol>\n <symbol id=\"circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 3.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12\"/></symbol>\n <symbol id=\"clipboard\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.379 5.5H6.25a.75.75 0 0 0-.75.75v13.5c0 .414.336.75.75.75h11.5a.75.75 0 0 0 .75-.75V6.25a.75.75 0 0 0-.75-.75h-2.129c-.404.603-1.09 1-1.871 1h-3.5c-.78 0-1.467-.397-1.871-1M15.986 4h1.764A2.25 2.25 0 0 1 20 6.25v13.5A2.25 2.25 0 0 1 17.75 22H6.25A2.25 2.25 0 0 1 4 19.75V6.25A2.25 2.25 0 0 1 6.25 4h1.764a2.25 2.25 0 0 1 2.236-2h3.5a2.25 2.25 0 0 1 2.236 2M9.5 4.25c0 .414.336.75.75.75h3.5a.75.75 0 0 0 0-1.5h-3.5a.75.75 0 0 0-.75.75\"/></symbol>\n <symbol id=\"clock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.5 12a8.5 8.5 0 1 1 17 0 8.5 8.5 0 0 1-17 0M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m-.007 4.648a.75.75 0 0 0-1.493.102v6l.007.102a.75.75 0 0 0 .743.648h4l.102-.007A.75.75 0 0 0 15.25 12H12V6.75z\"/></symbol>\n <symbol id=\"cloud_add\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0m-5 .5.001 2.503a.5.5 0 1 1-1 0V17h-2.505a.5.5 0 0 1 0-1H16v-2.5a.5.5 0 1 1 1 0V16h2.497a.5.5 0 0 1 0 1z\"/></symbol>\n <symbol id=\"cloud_archive\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 5.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h5.177a2 2 0 0 0 .323.232V18H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0A4.5 4.5 0 0 1 21.744 12h-1.645a3 3 0 0 0-2.599-1.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 5.5m1 7.5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm7 10a2 2 0 0 0 2-2v-4h-9v4a2 2 0 0 0 2 2zm-4.5-4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5\"/></symbol>\n <symbol id=\"cloud_arrow_down\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-5-3a.5.5 0 0 0-1 0v4.793l-1.646-1.647a.5.5 0 0 0-.708.708l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5a.5.5 0 0 0-.708-.708L17 18.293z\"/></symbol>\n <symbol id=\"cloud_dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-7.146-2.354a.5.5 0 0 0-.708.708l1.647 1.646-1.647 1.646a.5.5 0 0 0 .708.708l1.646-1.647 1.646 1.647a.5.5 0 0 0 .708-.708L17.207 16.5l1.647-1.646a.5.5 0 0 0-.708-.708L16.5 15.793z\"/></symbol>\n <symbol id=\"cloud_download\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-5-3a.5.5 0 0 0-1 0v4.793l-1.646-1.647a.5.5 0 0 0-.708.708l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5a.5.5 0 0 0-.708-.708L17 18.293z\"/></symbol>\n <symbol id=\"cloud_edit\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 5.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h6.355l-.365.365A3.7 3.7 0 0 0 11.717 18H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 2.433 1 3.27 3.27 0 0 0-1.701.71 3 3 0 0 0-1.152-.23h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 5.5m7.1 6.17-5.903 5.902a2.7 2.7 0 0 0-.706 1.247l-.458 1.831a1.087 1.087 0 0 0 1.319 1.318l1.83-.457a2.7 2.7 0 0 0 1.248-.707l5.902-5.902A2.286 2.286 0 0 0 19.1 11.67\"/></symbol>\n <symbol id=\"cloud_link\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 5.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.507c.027.527.14 1.032.326 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.077 4.31 4.76 4.76 0 0 0-2.005-1.5A3 3 0 0 0 17.5 10.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 5.5m10 10.75a3.75 3.75 0 0 0-3.75-3.75l-.102.007A.75.75 0 0 0 18.25 14l.154.005a2.25 2.25 0 0 1-.154 4.495l-.003.005-.102.007a.75.75 0 0 0 .108 1.493V20l.2-.005A3.75 3.75 0 0 0 22 16.25m-6.5-3a.75.75 0 0 0-.75-.75l-.2.005a3.75 3.75 0 0 0 .2 7.495l.102-.007a.75.75 0 0 0-.102-1.493l-.154-.005A2.25 2.25 0 0 1 14.75 14l.102-.007a.75.75 0 0 0 .648-.743m3.5 3a.75.75 0 0 0-.75-.75h-3.5l-.102.007A.75.75 0 0 0 14.75 17h3.5l.102-.007A.75.75 0 0 0 19 16.25\"/></symbol>\n <symbol id=\"cloud_off\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l4.633 4.634a6 6 0 0 0-.773 2.105A4.5 4.5 0 0 0 6.5 19h11q.213 0 .42-.02l2.8 2.8a.75.75 0 0 0 1.06-1.06zM16.44 17.5H6.5a3 3 0 1 1 0-6h.256c.4 0 .73-.315.749-.715.03-.631.19-1.229.453-1.766zm4.06-3c0 .782-.3 1.494-.79 2.029l1.062 1.06a4.5 4.5 0 0 0-2.851-7.57 6 6 0 0 0-8.93-4.21l1.11 1.11a4.5 4.5 0 0 1 6.394 3.866.75.75 0 0 0 .75.715h.255a3 3 0 0 1 3 3\"/></symbol>\n <symbol id=\"cloud_upload\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-6 3a.5.5 0 0 0 1 0v-4.793l1.646 1.647a.5.5 0 0 0 .708-.708l-2.5-2.5a.5.5 0 0 0-.708 0l-2.5 2.5a.5.5 0 0 0 .708.708L16 14.707z\"/></symbol>\n <symbol id=\"code\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m8.066 18.943 6.5-14.5a.75.75 0 0 1 1.404.518l-.036.096-6.5 14.5a.75.75 0 0 1-1.404-.518zl6.5-14.5zM2.22 11.47l4.25-4.25a.75.75 0 0 1 1.133.976l-.073.085L3.81 12l3.72 3.719a.75.75 0 0 1-.976 1.133l-.084-.073-4.25-4.25a.75.75 0 0 1-.073-.976zl4.25-4.25zm14.25-4.25a.75.75 0 0 1 .976-.073l.084.073 4.25 4.25a.75.75 0 0 1 .073.976l-.073.085-4.25 4.25a.75.75 0 0 1-1.133-.977l.073-.084L20.19 12l-3.72-3.72a.75.75 0 0 1 0-1.06\"/></symbol>\n <symbol id=\"color\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.839 5.858c2.94-3.916 9.03-5.055 13.364-2.36 4.28 2.66 5.854 7.777 4.1 12.577-1.655 4.533-6.016 6.328-9.159 4.048-1.177-.854-1.634-1.925-1.854-3.664l-.106-.987-.045-.398c-.123-.934-.311-1.352-.705-1.572-.535-.298-.892-.305-1.595-.033l-.351.146-.179.078c-1.014.44-1.688.595-2.541.416l-.2-.047-.164-.047c-2.789-.864-3.202-4.647-.565-8.157m.984 6.716.123.037.134.03c.439.087.814.015 1.437-.242l.602-.257c1.202-.493 1.985-.54 3.046.05.917.512 1.275 1.298 1.457 2.66l.053.459.055.532.047.422c.172 1.361.485 2.09 1.248 2.644 2.275 1.65 5.534.309 6.87-3.349 1.516-4.152.174-8.514-3.484-10.789-3.675-2.284-8.899-1.306-11.373 1.987-2.075 2.763-1.82 5.28-.215 5.816m11.225-1.994a1.25 1.25 0 1 1 2.414-.647 1.25 1.25 0 0 1-2.414.647m.494 3.488a1.25 1.25 0 1 1 2.415-.647 1.25 1.25 0 0 1-2.415.647M14.07 7.577a1.25 1.25 0 1 1 2.415-.647 1.25 1.25 0 0 1-2.415.647m-.028 8.998a1.25 1.25 0 1 1 2.414-.647 1.25 1.25 0 0 1-2.414.647m-3.497-9.97a1.25 1.25 0 1 1 2.415-.646 1.25 1.25 0 0 1-2.415.646\"/></symbol>\n <symbol id=\"column_triple\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.5 21A2.5 2.5 0 0 1 2 18.5v-13A2.5 2.5 0 0 1 4.5 3h1A2.5 2.5 0 0 1 8 5.5v13A2.5 2.5 0 0 1 5.5 21zm-1-2.5a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-13a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm8 2.5A2.5 2.5 0 0 1 9 18.5v-13A2.5 2.5 0 0 1 11.5 3h1A2.5 2.5 0 0 1 15 5.5v13a2.5 2.5 0 0 1-2.5 2.5zm-1-2.5a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-13a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm5.5 0a2.5 2.5 0 0 0 2.5 2.5h1a2.5 2.5 0 0 0 2.5-2.5v-13A2.5 2.5 0 0 0 19.5 3h-1A2.5 2.5 0 0 0 16 5.5zm2.5 1a1 1 0 0 1-1-1v-13a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1z\"/></symbol>\n <symbol id=\"condition_point\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"m8 16 8-8 8 8-8 8z\"/><path fill=\"currentColor\" d=\"M29.39 14.527 17.474 2.609a2.085 2.085 0 0 0-2.946 0L2.609 14.527a2.085 2.085 0 0 0 0 2.946l11.918 11.918a2.085 2.085 0 0 0 2.946 0l11.918-11.918a2.085 2.085 0 0 0 0-2.946M16 28.036 3.965 16 16 3.964 28.036 16Z\"/></symbol>\n <symbol id=\"copy\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.503 4.627 5.5 6.75v10.504a3.25 3.25 0 0 0 3.25 3.25h8.616a2.25 2.25 0 0 1-2.122 1.5H8.75A4.75 4.75 0 0 1 4 17.254V6.75c0-.98.627-1.815 1.503-2.123M17.75 2A2.25 2.25 0 0 1 20 4.25v13a2.25 2.25 0 0 1-2.25 2.25h-9a2.25 2.25 0 0 1-2.25-2.25v-13A2.25 2.25 0 0 1 8.75 2zm0 1.5h-9a.75.75 0 0 0-.75.75v13c0 .414.336.75.75.75h9a.75.75 0 0 0 .75-.75v-13a.75.75 0 0 0-.75-.75\"/></symbol>\n <symbol id=\"cube\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.049 7.983a.75.75 0 0 1 .967-.435L12 9.438l4.984-1.89a.75.75 0 1 1 .532 1.402l-4.766 1.81v5.49a.75.75 0 1 1-1.5 0v-5.49L6.484 8.95a.75.75 0 0 1-.435-.967m4.542-5.472a3.75 3.75 0 0 1 2.818 0l7.498 3.04A1.75 1.75 0 0 1 22 7.173v9.653a1.75 1.75 0 0 1-1.093 1.621l-7.498 3.04a3.75 3.75 0 0 1-2.818 0l-7.498-3.04A1.75 1.75 0 0 1 2 16.826V7.173A1.75 1.75 0 0 1 3.093 5.55zm2.254 1.39a2.25 2.25 0 0 0-1.69 0l-7.499 3.04a.25.25 0 0 0-.156.232v9.653a.25.25 0 0 0 .156.231l7.499 3.04a2.25 2.25 0 0 0 1.69 0l7.499-3.04a.25.25 0 0 0 .156-.231V7.173a.25.25 0 0 0-.156-.232z\"/></symbol>\n <symbol id=\"cursor_click\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9.25 2a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0v-2.5A.75.75 0 0 1 9.25 2M4.47 3.97a.75.75 0 0 1 1.06 0l1.75 1.75a.75.75 0 1 1-1.06 1.06L4.47 5.03a.75.75 0 0 1 0-1.06m9.56 0a.75.75 0 0 1 0 1.06l-1.75 1.75a.75.75 0 1 1-1.06-1.06l1.75-1.75a.75.75 0 0 1 1.06 0M2.5 8.75A.75.75 0 0 1 3.25 8h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75m8.177-.264C9.822 7.752 8.5 8.36 8.5 9.487v11.274c0 1.21 1.495 1.782 2.302.88l2.614-2.923c.276-.308.664-.49 1.077-.507l3.84-.154c1.197-.048 1.715-1.539.805-2.32zM10 20.287V9.881l7.812 6.696-3.38.135a3.03 3.03 0 0 0-2.133 1.006z\"/></symbol>\n <symbol id=\"dashboard\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M24 21h2v5h-2zm-4-5h2v10h-2zm-9 10a5.006 5.006 0 0 1-5-5h2a3 3 0 1 0 3-3v-2a5 5 0 0 1 0 10\"/><path fill=\"currentColor\" d=\"M28 2H4a2 2 0 0 0-2 2v24a2 2 0 0 0 2 2h24a2.003 2.003 0 0 0 2-2V4a2 2 0 0 0-2-2m0 9H14V4h14ZM12 4v7H4V4ZM4 28V13h24l.002 15Z\"/></symbol>\n <symbol id=\"dashboard_reference\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8zm20 1h2v5h-2zm-4-5h2v10h-2zm-4 2h2v8h-2z\"/><path fill=\"currentColor\" d=\"M28 2H4a2 2 0 0 0-2 2v12h2v-3h24.001l.001 15H16v2h12a2.003 2.003 0 0 0 2-2V4a2 2 0 0 0-2-2m-16 9H4V4h8Zm2 0V4h14v7Z\"/></symbol>\n <symbol id=\"data_accessor\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M28 20h-2v2h2v6H4v-6h2v-2H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2\"/><circle cx=\"7\" cy=\"25\" r=\"1\" fill=\"currentColor\"/><path fill=\"currentColor\" d=\"M21 13a2.96 2.96 0 0 0-1.285.3l-2.3-2.3 2.3-2.3A2.96 2.96 0 0 0 21 9a3 3 0 1 0-3-3 3 3 0 0 0 .3 1.285l-2.3 2.3-2.3-2.3A3 3 0 0 0 14 6a3 3 0 1 0-3 3 2.96 2.96 0 0 0 1.285-.3l2.3 2.3-2.3 2.3A2.96 2.96 0 0 0 11 13a3 3 0 1 0 3 3 3 3 0 0 0-.3-1.285l2.3-2.3 2.3 2.3A3 3 0 0 0 18 16a3 3 0 1 0 3-3m0-8a1 1 0 1 1-1 1 1 1 0 0 1 1-1M10 6a1 1 0 1 1 1 1 1 1 0 0 1-1-1m1 11a1 1 0 1 1 1-1 1 1 0 0 1-1 1m10 0a1 1 0 1 1 1-1 1 1 0 0 1-1 1\"/></symbol>\n <symbol id=\"delete\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10 5h4a2 2 0 1 0-4 0M8.5 5a3.5 3.5 0 1 1 7 0h5.75a.75.75 0 0 1 0 1.5h-1.32l-1.17 12.111A3.75 3.75 0 0 1 15.026 22H8.974a3.75 3.75 0 0 1-3.733-3.389L4.07 6.5H2.75a.75.75 0 0 1 0-1.5zm2 4.75a.75.75 0 0 0-1.5 0v7.5a.75.75 0 0 0 1.5 0zM14.25 9a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75m-7.516 9.467a2.25 2.25 0 0 0 2.24 2.033h6.052a2.25 2.25 0 0 0 2.24-2.033L18.424 6.5H5.576z\"/></symbol>\n <symbol id=\"delete_arrow_back\" viewBox=\"0 0 20 20\"><path fill=\"currentColor\" d=\"M11.5 4a1.5 1.5 0 0 0-3 0zm-4 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.054l-.485 4.196a5.5 5.5 0 0 0-.986-.176L15.44 5H4.561l1.18 10.23A2 2 0 0 0 7.728 17H9.6q.276.538.657 1H7.728a3 3 0 0 1-2.98-2.656L3.554 5H2.5a.5.5 0 0 1 0-1zm7 15a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9m-.896-6.396-.897.896h1.543A2.75 2.75 0 0 1 17 16.25v.25a.5.5 0 0 1-1 0v-.25a1.75 1.75 0 0 0-1.75-1.75h-1.543l.897.896a.5.5 0 0 1-.708.708l-1.752-1.753a.5.5 0 0 1 .002-.705l1.75-1.75a.5.5 0 0 1 .708.708\"/></symbol>\n <symbol id=\"delete_dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M14 5a2 2 0 1 0-4 0zM8.5 5a3.5 3.5 0 1 1 7 0h5.75a.75.75 0 0 1 0 1.5h-1.32l-.502 5.195a6.5 6.5 0 0 0-1.456-.528l.452-4.667H5.576l1.158 11.967a2.25 2.25 0 0 0 2.24 2.033h1.758A6.5 6.5 0 0 0 11.81 22H8.974a3.75 3.75 0 0 1-3.733-3.389L4.07 6.5H2.75a.75.75 0 0 1 0-1.5zM22 17.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-7.146-2.354a.5.5 0 0 0-.708.708l1.647 1.646-1.647 1.646a.5.5 0 0 0 .708.708l1.646-1.647 1.646 1.647a.5.5 0 0 0 .708-.708L17.207 17.5l1.647-1.646a.5.5 0 0 0-.708-.708L16.5 16.793z\"/></symbol>\n <symbol id=\"delete_lines\" viewBox=\"0 0 20 20\"><path fill=\"currentColor\" d=\"M11.5 4a1.5 1.5 0 0 0-3 0zm-4 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.054l-.808 7H14.63l.808-7H4.561l1.18 10.23A2 2 0 0 0 7.728 17h2.357a1.5 1.5 0 0 0 0 1H7.728a3 3 0 0 1-2.98-2.656L3.554 5H2.5a.5.5 0 0 1 0-1zm4 9a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1z\"/></symbol>\n <symbol id=\"descending\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4 2.75A.75.75 0 0 1 4.75 2H9.5a.75.75 0 0 1 .634 1.151L6.113 9.5H9.5a.75.75 0 1 1 0 1.5H4.75a.75.75 0 0 1-.634-1.151L8.137 3.5H4.75A.75.75 0 0 1 4 2.75m2.368 9.727a.75.75 0 0 1 1.401.01l3.184 8.5a.75.75 0 0 1-1.405.526L8.794 19.5H5.238l-.79 2.022a.75.75 0 0 1-1.397-.545zM8.232 18l-1.18-3.15L5.823 18zM17.25 2a.75.75 0 0 1 .75.75v16.69l2.22-2.22a.75.75 0 1 1 1.06 1.06l-3.5 3.5a.75.75 0 0 1-1.06 0l-3.5-3.5a.75.75 0 1 1 1.06-1.06l2.22 2.22V2.75a.75.75 0 0 1 .75-.75\"/></symbol>\n <symbol id=\"devices\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M10 30H4a2 2 0 0 1-2-2V16a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2M4 16v12h6V16Z\"/><path fill=\"currentColor\" d=\"M28 4H6a2 2 0 0 0-2 2v6h2V6h22v14H14v2h2v4h-2v2h9v-2h-5v-4h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2\"/></symbol>\n <symbol id=\"dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m4.397 4.554.073-.084a.75.75 0 0 1 .976-.073l.084.073L12 10.939l6.47-6.47a.75.75 0 1 1 1.06 1.061L13.061 12l6.47 6.47a.75.75 0 0 1 .072.976l-.073.084a.75.75 0 0 1-.976.073l-.084-.073L12 13.061l-6.47 6.47a.75.75 0 0 1-1.06-1.061L10.939 12l-6.47-6.47a.75.75 0 0 1-.072-.976l.073-.084z\"/></symbol>\n <symbol id=\"dismiss_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m0 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17m3.446 4.897.084.073a.75.75 0 0 1 .073.976l-.073.084L13.061 12l2.47 2.47a.75.75 0 0 1 .072.976l-.073.084a.75.75 0 0 1-.976.073l-.084-.073L12 13.061l-2.47 2.47a.75.75 0 0 1-.976.072l-.084-.073a.75.75 0 0 1-.073-.976l.073-.084L10.939 12l-2.47-2.47a.75.75 0 0 1-.072-.976l.073-.084a.75.75 0 0 1 .976-.073l.084.073L12 10.939l2.47-2.47a.75.75 0 0 1 .976-.072\"/></symbol>\n <symbol id=\"dismiss_circle_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m3.53 6.47-.084-.073a.75.75 0 0 0-.882-.007l-.094.08L12 10.939l-2.47-2.47-.084-.072a.75.75 0 0 0-.882-.007l-.094.08-.073.084a.75.75 0 0 0-.007.882l.08.094L10.939 12l-2.47 2.47-.072.084a.75.75 0 0 0-.007.882l.08.094.084.073a.75.75 0 0 0 .882.007l.094-.08L12 13.061l2.47 2.47.084.072a.75.75 0 0 0 .882.007l.094-.08.073-.084a.75.75 0 0 0 .007-.882l-.08-.094L13.061 12l2.47-2.47.072-.084a.75.75 0 0 0 .007-.882zl-.084-.073z\"/></symbol>\n <symbol id=\"dismiss_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m4.21 4.387.083-.094a1 1 0 0 1 1.32-.083l.094.083L12 10.585l6.293-6.292a1 1 0 1 1 1.414 1.414L13.415 12l6.292 6.293a1 1 0 0 1 .083 1.32l-.083.094a1 1 0 0 1-1.32.083l-.094-.083L12 13.415l-6.293 6.292a1 1 0 0 1-1.414-1.414L10.585 12 4.293 5.707a1 1 0 0 1-.083-1.32l.083-.094z\"/></symbol>\n <symbol id=\"document\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414l-5.828-5.828A2 2 0 0 0 12.172 2zm-.5 2a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5v10a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5zm11.88 4.5H14a.5.5 0 0 1-.5-.5V4.62z\"/></symbol>\n <symbol id=\"document_bullet\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 12.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0m.75 2.25a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5M7 18.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0m3.75-6.75a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zM10 15.25a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75m.75 2.25a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm8.664-9.086-5.829-5.828-.049-.04-.036-.03a2 2 0 0 0-.219-.18 1 1 0 0 0-.08-.044l-.048-.024-.05-.029c-.054-.031-.109-.063-.166-.087a2 2 0 0 0-.624-.138q-.03-.002-.059-.007L12.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414M18.5 20a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5zm-5-15.379L17.378 8.5H14a.5.5 0 0 1-.5-.5z\"/></symbol>\n <symbol id=\"document_copy\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.503 4.627 5.5 6.75v10.504a3.25 3.25 0 0 0 3.25 3.25h8.616a2.25 2.25 0 0 1-2.122 1.5H8.75A4.75 4.75 0 0 1 4 17.254V6.75c0-.98.627-1.815 1.503-2.123M13.128 2c.597 0 1.17.237 1.592.66l4.618 4.62c.422.422.659.995.659 1.591v8.383a2.25 2.25 0 0 1-2.25 2.25H8.752a2.25 2.25 0 0 1-2.25-2.25V4.25A2.25 2.25 0 0 1 8.752 2zM13 3.5H8.752a.75.75 0 0 0-.75.75v13.004c0 .414.336.75.75.75h8.995a.75.75 0 0 0 .75-.75V9.003H15.25a2.25 2.25 0 0 1-2.245-2.095L13 6.754zm1.5 1.061.001 2.193c0 .38.282.693.648.743l.102.007 2.19-.001z\"/></symbol>\n <symbol id=\"document_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.75 11.5a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm0 2.75a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm0 2.75a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm4.835-14.414 5.829 5.828A2 2 0 0 1 20 9.828V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h6.172q.042.001.082.007.03.005.059.007c.215.015.427.056.624.138.057.024.112.056.166.087l.05.029.047.024a1 1 0 0 1 .081.044c.078.053.148.116.219.18l.036.03zM18 20.5a.5.5 0 0 0 .5-.5V10H14a2 2 0 0 1-2-2V3.5H6a.5.5 0 0 0-.5.5v16a.5.5 0 0 0 .5.5zm-.622-12L13.5 4.621V8a.5.5 0 0 0 .5.5z\"/></symbol>\n <symbol id=\"document_lock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.5 20a.5.5 0 0 1-.5.5h-6v1q0 .257-.05.5H18a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414l-5.829-5.828-.049-.04-.036-.03a2 2 0 0 0-.219-.18 1 1 0 0 0-.08-.044l-.048-.024-.05-.029c-.054-.031-.109-.063-.166-.087a2 2 0 0 0-.624-.138q-.03-.002-.059-.007L12.172 2H6a2 2 0 0 0-2 2v7.55a3.5 3.5 0 0 1 1.5-.905V4a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5zm-5-15.379L17.378 8.5H14a.5.5 0 0 1-.5-.5zM4 15h-.5A1.5 1.5 0 0 0 2 16.5v5A1.5 1.5 0 0 0 3.5 23h6a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 9.5 15H9v-1a2.5 2.5 0 0 0-5 0zm1.5-1a1 1 0 1 1 2 0v1h-2zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"/></symbol>\n <symbol id=\"document_page\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.25 2A2.25 2.25 0 0 0 4 4.25v15.5A2.25 2.25 0 0 0 6.25 22h11.5A2.25 2.25 0 0 0 20 19.75V4.25A2.25 2.25 0 0 0 17.75 2zM5.5 4.25a.75.75 0 0 1 .75-.75h11.5a.75.75 0 0 1 .75.75v15.5a.75.75 0 0 1-.75.75H6.25a.75.75 0 0 1-.75-.75zM7.75 6.5a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5zM7 16.25a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75M7.75 11a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5z\"/></symbol>\n <symbol id=\"document_sparkle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.25 11h-8.5c-.41 0-.75.34-.75.75s.34.75.75.75h8.5c.41 0 .75-.34.75-.75s-.34-.75-.75-.75m0 4.5h-8.5c-.41 0-.75.34-.75.75s.34.75.75.75h8.5c.41 0 .75-.34.75-.75s-.34-.75-.75-.75M7 7.25c0 .41.34.75.75.75h7.45l-.09-.28q-.075-.21-.21-.39c-.04-.05-.07-.09-.11-.13-.15-.15-.33-.26-.52-.32L13.1 6.5H7.75c-.41 0-.75.34-.75.75m12.8 6.04-.26-.79-.8-.29c-.09-.03-.16-.08-.24-.12v7.66c0 .41-.34.75-.75.75H6.25c-.41 0-.75-.34-.75-.75V4.25c0-.41.34-.75.75-.75h5.53c.03-.06.05-.13.09-.19.24-.34.58-.6.99-.74l1.41-.46c.07-.03.15-.07.22-.11H6.25C5.01 2 4 3.01 4 4.25v15.5C4 20.99 5.01 22 6.25 22h11.5c1.24 0 2.25-1.01 2.25-2.25v-6.08a1.7 1.7 0 0 1-.2-.38m-3.95-7.14c.08.08.16.17.23.27.2.25.35.54.45.85l.45 1.38c.04.11.11.2.2.26.09.07.2.1.31.1a.5.5 0 0 0 .31-.1c.08-.06.15-.14.19-.23v-.03l.46-1.38c.14-.42.37-.8.69-1.11.31-.31.69-.55 1.11-.69l1.38-.45c.11-.04.2-.11.26-.2a.5.5 0 0 0 .1-.31.5.5 0 0 0-.1-.31.63.63 0 0 0-.26-.2h-.03l-1.38-.45c-.42-.14-.8-.37-1.11-.69a2.85 2.85 0 0 1-.69-1.11L17.97.37a.52.52 0 0 0-.2-.26c-.09-.06-.2-.1-.31-.1a.5.5 0 0 0-.31.1c-.09.06-.16.16-.2.26l-.45 1.38v.03c-.15.4-.38.77-.67 1.07-.31.31-.68.55-1.1.69l-1.38.45c-.11.04-.2.11-.26.2a.5.5 0 0 0-.1.31c0 .11.03.22.1.31.06.09.16.16.26.2l1.38.45c.42.14.8.38 1.11.69zm7.93 4.07c.064 0 .13.06.17.11s.05.11.05.17-.01.12-.05.17-.09.09-.15.11l-.77.25c-.23.08-.44.21-.62.38-.17.17-.3.38-.38.62l-.25.76c-.02.06-.06.11-.11.15a.27.27 0 0 1-.34 0 .33.33 0 0 1-.11-.15l-.25-.76c-.08-.23-.21-.45-.38-.62s-.39-.31-.62-.38l-.77-.25a.33.33 0 0 1-.15-.11.27.27 0 0 1 0-.34c.04-.05.09-.09.15-.11l.77-.25c.23-.08.44-.21.61-.38s.3-.38.37-.61l.25-.76c.02-.06.06-.11.11-.15a.27.27 0 0 1 .34 0c.05.04.09.09.11.15l.25.76c.08.23.21.44.38.62.17.17.38.3.62.38z\"/></symbol>\n <symbol id=\"document_toolbox\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.5 4.25a.75.75 0 0 1 .75-.75H12V8a2 2 0 0 0 2 2h4.5v9.75a.75.75 0 0 1-.75.75H13V22h4.75A2.25 2.25 0 0 0 20 19.75V9.664c0-.464-.184-.909-.513-1.237l-5.914-5.914A1.75 1.75 0 0 0 12.336 2H6.25A2.25 2.25 0 0 0 4 4.25v8.018c.294-.17.636-.268 1-.268h.5zM17.44 8.5H14a.5.5 0 0 1-.5-.5V4.56zM4 16v-1.5A1.5 1.5 0 0 1 5.5 13h2A1.5 1.5 0 0 1 9 14.5V16h1.5a1.5 1.5 0 0 1 1.5 1.5V19H9v-.5a.5.5 0 0 0-1 0v.5H5v-.5a.5.5 0 0 0-1 0v.5H1v-1.5A1.5 1.5 0 0 1 2.5 16zm1-1.5V16h3v-1.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5M9 20h3v1.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 1 21.5V20h3v.5a.5.5 0 0 0 1 0V20h3v.5a.5.5 0 0 0 1 0z\"/></symbol>\n <symbol id=\"download\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.25 20.5a.75.75 0 1 1 0 1.5l-13 .005a.75.75 0 1 1 0-1.5zM11.648 2.014l.102-.007a.75.75 0 0 1 .743.648l.007.102-.001 13.685 3.722-3.72a.75.75 0 0 1 .976-.073l.085.073a.75.75 0 0 1 .072.976l-.073.084-4.997 4.997a.75.75 0 0 1-.976.073l-.085-.073-5.003-4.996a.75.75 0 0 1 .976-1.134l.084.072 3.719 3.714L11 2.756a.75.75 0 0 1 .648-.743l.102-.007z\"/></symbol>\n <symbol id=\"drive\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.415 5.27A2.25 2.25 0 0 1 7.441 4h9.118c.863 0 1.65.493 2.026 1.27l3.09 6.388c.214.44.325.925.325 1.415v3.677A2.25 2.25 0 0 1 19.75 19H4.25A2.25 2.25 0 0 1 2 16.75v-3.677c0-.49.11-.974.324-1.415zm11.82.653a.75.75 0 0 0-.676-.423H7.441a.75.75 0 0 0-.676.423L4.31 11h15.382zM3.5 13.25v3.5c0 .414.336.75.75.75h15.5a.75.75 0 0 0 .75-.75v-3.5a.75.75 0 0 0-.75-.75H4.25a.75.75 0 0 0-.75.75M18 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"/></symbol>\n <symbol id=\"edit\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M20.952 3.048a3.58 3.58 0 0 0-5.06 0L3.94 15a3.1 3.1 0 0 0-.825 1.476L2.02 21.078a.75.75 0 0 0 .904.903l4.601-1.096a3.1 3.1 0 0 0 1.477-.825l11.95-11.95a3.58 3.58 0 0 0 0-5.06m-4 1.06a2.078 2.078 0 1 1 2.94 2.94L19 7.939 16.06 5zM15 6.062 17.94 9l-10 10c-.21.21-.474.357-.763.426l-3.416.814.813-3.416c.069-.29.217-.554.427-.764z\"/></symbol>\n <symbol id=\"enterprise\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M8 8h2v4H8zm0 6h2v4H8zm6-6h2v4h-2zm0 6h2v4h-2zm-6 6h2v4H8zm6 0h2v4h-2z\"/><path fill=\"currentColor\" d=\"M30 14a2 2 0 0 0-2-2h-6V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v26h28ZM4 4h16v24H4Zm18 24V14h6v14Z\"/></symbol>\n <symbol id=\"error_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.478 10 10s-4.477 10-10 10S2 17.522 2 12 6.477 2 12 2m0 1.667c-4.595 0-8.333 3.738-8.333 8.333S7.405 20.333 12 20.333s8.333-3.738 8.333-8.333S16.595 3.667 12 3.667m-.001 10.835a.999.999 0 1 1 0 1.998.999.999 0 0 1 0-1.998M11.994 7a.75.75 0 0 1 .744.648l.007.101.004 4.502a.75.75 0 0 1-1.493.103l-.007-.102-.004-4.501a.75.75 0 0 1 .75-.751\"/></symbol>\n <symbol id=\"event_alerting\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M28 17v5H4V6h11V4H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8v4H8v2h16v-2h-4v-4h8a2 2 0 0 0 2-2v-5ZM18 28h-4v-4h4Z\"/><path fill=\"currentColor\" d=\"M29 14H17a1 1 0 0 1-.857-1.514l6-10a1 1 0 0 1 1.715 0l6 10A1 1 0 0 1 29 14m-10.234-2h8.468L23 4.944Z\"/></symbol>\n <symbol id=\"export\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2.753 4.5a.75.75 0 0 1 .743.648l.006.102L3.5 18.254a.75.75 0 0 1-1.493.102L2 18.254 2.002 5.25a.75.75 0 0 1 .75-.75m12.894 1.804.073-.084a.75.75 0 0 1 .976-.073l.084.073 4.997 4.997a.75.75 0 0 1 .073.976l-.073.085-4.996 5.003a.75.75 0 0 1-1.134-.976l.072-.084 3.711-3.717H5.753a.75.75 0 0 1-.743-.647l-.007-.102a.75.75 0 0 1 .648-.743l.102-.007 13.69-.001L15.72 7.28a.75.75 0 0 1-.073-.976l.073-.084z\"/></symbol>\n <symbol id=\"eye\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 9.005a4 4 0 1 1 0 8 4 4 0 0 1 0-8m0 1.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M12 5.5c4.613 0 8.596 3.15 9.701 7.564a.75.75 0 1 1-1.455.365 8.504 8.504 0 0 0-16.493.004.75.75 0 0 1-1.456-.363A10 10 0 0 1 12 5.5\"/></symbol>\n <symbol id=\"eye_hide\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2.22 2.22a.75.75 0 0 0-.073.976l.073.084 4.034 4.035a10 10 0 0 0-3.955 5.75.75.75 0 0 0 1.455.364 8.5 8.5 0 0 1 3.58-5.034l1.81 1.81A4 4 0 0 0 14.8 15.86l5.919 5.92a.75.75 0 0 0 1.133-.977l-.073-.084-6.113-6.114.001-.002-1.2-1.198-2.87-2.87h.002l-2.88-2.877.001-.002-1.133-1.13L3.28 2.22a.75.75 0 0 0-1.06 0m7.984 9.045 3.535 3.536a2.5 2.5 0 0 1-3.535-3.535M12 5.5c-1 0-1.97.148-2.889.425l1.237 1.236a8.503 8.503 0 0 1 9.899 6.272.75.75 0 0 0 1.455-.363A10 10 0 0 0 12 5.5m.195 3.51 3.801 3.8a4.003 4.003 0 0 0-3.801-3.8\"/></symbol>\n <symbol id=\"factory\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.17 2a2.25 2.25 0 0 0-2.247 2.129l-.838 15.5A2.25 2.25 0 0 0 4.332 22h2.834a2.25 2.25 0 0 0 2.246-2.371l-.838-15.5A2.25 2.25 0 0 0 6.328 2zm-.75 2.21a.75.75 0 0 1 .749-.71h1.158a.75.75 0 0 1 .749.71l.837 15.5a.75.75 0 0 1-.748.79H4.332a.75.75 0 0 1-.749-.79zM9.511 22c.395-.412.683-.928.818-1.5h1.17v-4.25c0-.966.783-1.75 1.75-1.75h4c.966 0 1.75.784 1.75 1.75v4.25h.75a.75.75 0 0 0 .75-.75V7.713l-5.241 4.838a.75.75 0 0 1-1.26-.551V7.713l-4.027 3.718-.105-1.944 4.374-4.038A.75.75 0 0 1 15.5 6v4.287l5.241-4.838A.75.75 0 0 1 22 6v13.75A2.25 2.25 0 0 1 19.75 22zm3.488-5.75v4.25h4.5v-4.25a.25.25 0 0 0-.25-.25h-4a.25.25 0 0 0-.25.25\"/></symbol>\n <symbol id=\"file\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414l-5.828-5.828A2 2 0 0 0 12.172 2zm-.5 2a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5v10a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5zm11.88 4.5H14a.5.5 0 0 1-.5-.5V4.62z\"/></symbol>\n <symbol id=\"file_audio\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M29 31a1 1 0 0 1-.624-.22L23.649 27H20a1 1 0 0 1-1-1v-5a1 1 0 0 1 1-1h3.65l4.726-3.78A1 1 0 0 1 30 17v13a1 1 0 0 1-1 1m-8-6h3a1 1 0 0 1 .625.22L28 27.92v-8.84l-3.375 2.7A1 1 0 0 1 24 22h-3Z\"/><path fill=\"currentColor\" d=\"M16 28H8V4h8v6a2.006 2.006 0 0 0 2 2h6v3h2v-5a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 18 2H8a2.006 2.006 0 0 0-2 2v24a2.006 2.006 0 0 0 2 2h8Zm2-23.6 5.6 5.6H18Z\"/></symbol>\n <symbol id=\"file_pdf\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.503 13.002a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0v-.5H8.5a1.5 1.5 0 0 0 0-3zm.997 2h-.497v-1H8.5a.5.5 0 1 1 0 1m6.498-1.5a.5.5 0 0 1 .5-.5h1.505a.5.5 0 1 1 0 1h-1.006l-.001 1.002h1.007a.5.5 0 0 1 0 1h-1.007l.002.497a.5.5 0 0 1-1 .002l-.003-.998v-.002zm-3.498-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h.498a2 2 0 0 0 0-4zm.5 3v-2a1 1 0 0 1 0 2M20 20v-1.164c.591-.281 1-.884 1-1.582V12.75c0-.698-.409-1.3-1-1.582v-1.34a2 2 0 0 0-.586-1.414l-5.829-5.828-.049-.04-.036-.03a2 2 0 0 0-.219-.18 1 1 0 0 0-.08-.044l-.048-.024-.05-.029c-.054-.031-.109-.063-.166-.087a2 2 0 0 0-.624-.138q-.03-.002-.059-.007L12.172 2H6a2 2 0 0 0-2 2v7.168c-.591.281-1 .884-1 1.582v4.504c0 .698.409 1.3 1 1.582V20a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2m-2 .5H6a.5.5 0 0 1-.5-.5v-.996h13V20a.5.5 0 0 1-.5.5m.5-10.5v1h-13V4a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2zm-1.122-1.5H14a.5.5 0 0 1-.5-.5V4.621zm-12.628 4h14.5a.25.25 0 0 1 .25.25v4.504a.25.25 0 0 1-.25.25H4.75a.25.25 0 0 1-.25-.25V12.75a.25.25 0 0 1 .25-.25\"/></symbol>\n <symbol id=\"file_sparkle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.088 6.412a2.84 2.84 0 0 0-1.347-.955l-1.378-.448a.544.544 0 0 1 0-1.025l1.378-.448A2.84 2.84 0 0 0 16.5 1.774l.011-.034.448-1.377a.544.544 0 0 1 1.027 0l.447 1.377a2.84 2.84 0 0 0 1.799 1.796l1.377.448.028.007a.544.544 0 0 1 0 1.025l-1.378.448a2.84 2.84 0 0 0-1.798 1.796l-.448 1.377-.013.034a.544.544 0 0 1-1.013-.034l-.448-1.377a2.8 2.8 0 0 0-.45-.848m7.695 3.801-.766-.248a1.58 1.58 0 0 1-.998-.999l-.25-.764a.302.302 0 0 0-.57 0l-.248.764a1.58 1.58 0 0 1-.984.999l-.765.248a.302.302 0 0 0 0 .57l.765.249a1.58 1.58 0 0 1 1 1.002l.248.764a.302.302 0 0 0 .57 0l.249-.764a1.58 1.58 0 0 1 .999-.999l.765-.248a.302.302 0 0 0 0-.57zM5.25 3h7.797a1.65 1.65 0 0 0-.767.569A1.6 1.6 0 0 0 12 4.5H5.25a.75.75 0 0 0-.75.75v12.5c0 .966.784 1.75 1.75 1.75h9.25V7.327q.052.108.09.222l.41 1.45c.106.31.305.579.57.77q.2.138.43.21V14h4v3.75A3.25 3.25 0 0 1 17.75 21H6.25A3.25 3.25 0 0 1 3 17.75V5.25A2.25 2.25 0 0 1 5.25 3M17 19.5h.75a1.75 1.75 0 0 0 1.75-1.75V15.5H17zM7.25 7a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm-.75 4.75a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75M7.25 15a.75.75 0 0 0 0 1.5h3a.75.75 0 0 0 0-1.5z\"/></symbol>\n <symbol id=\"file_text\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.75 11.5a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm0 2.75a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm0 2.75a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm4.835-14.414 5.829 5.828A2 2 0 0 1 20 9.828V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h6.172q.042.001.082.007.03.005.059.007c.215.015.427.056.624.138.057.024.112.056.166.087l.05.029.047.024a1 1 0 0 1 .081.044c.078.053.148.116.219.18l.036.03zM18 20.5a.5.5 0 0 0 .5-.5V10H14a2 2 0 0 1-2-2V3.5H6a.5.5 0 0 0-.5.5v16a.5.5 0 0 0 .5.5zm-.622-12L13.5 4.621V8a.5.5 0 0 0 .5.5z\"/></symbol>\n <symbol id=\"file_video\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"m30 19-4 3.2V20a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2.2l4 3.2Zm-14 7v-6h8l.002 6Z\"/><path fill=\"currentColor\" d=\"M12 28H8V4h8v6a2.006 2.006 0 0 0 2 2h6v3h2v-5a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 18 2H8a2.006 2.006 0 0 0-2 2v24a2.006 2.006 0 0 0 2 2h4Zm6-23.6 5.6 5.6H18Z\"/></symbol>\n <symbol id=\"file_zip\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.5 8V6.25c0-.966.784-1.75 1.75-1.75h2.879a.75.75 0 0 1 .53.22l1.53 1.53-1.53 1.53a.75.75 0 0 1-.53.22zm1.75-5A3.25 3.25 0 0 0 2 6.25v11.5A3.25 3.25 0 0 0 5.25 21h13.5A3.25 3.25 0 0 0 22 17.75v-9a3.25 3.25 0 0 0-3.25-3.25h-7.19L9.72 3.659A2.25 2.25 0 0 0 8.129 3zm8.25 4v3.25c0 .414.336.75.75.75H15v2h-.25a.75.75 0 0 0 0 1.5H15V16h-.25a.75.75 0 0 0 0 1.5H15v2H5.25a1.75 1.75 0 0 1-1.75-1.75V9.5h4.629a2.25 2.25 0 0 0 1.59-.659L11.562 7zm3 12.5V16h.25a.75.75 0 0 0 0-1.5h-.25V11h.75a.75.75 0 0 0 .75-.75V7h.75c.966 0 1.75.784 1.75 1.75v9a1.75 1.75 0 0 1-1.75 1.75zm0-12.5v2.5H15V7z\"/></symbol>\n <symbol id=\"filter\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.5 16a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5zm3-5a.75.75 0 0 1 0 1.5h-9a.75.75 0 0 1 0-1.5zm3-5a.75.75 0 0 1 0 1.5h-15a.75.75 0 0 1 0-1.5z\"/></symbol>\n <symbol id=\"fingerprint\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M14.858 12.158c.56.573.877 1.268 1.106 2.228l.1.456.178.947c.09.445.158.692.255.908q.449 1.012 1.595 2.065a.75.75 0 0 1-1.013 1.106q-1.363-1.246-1.952-2.56c-.149-.334-.24-.65-.347-1.18l-.21-1.1-.013-.06c-.18-.85-.404-1.385-.772-1.762-.713-.73-2.357-.537-2.797.158-.562.889-.705 2.396-.26 3.916q.518 1.761 1.373 3.467a.75.75 0 0 1-1.34.672 22.3 22.3 0 0 1-1.471-3.717c-.562-1.912-.376-3.864.43-5.14.953-1.506 3.742-1.834 5.138-.404m-2.366 2.315a.75.75 0 0 1 .775.725 7.93 7.93 0 0 0 1.444 4.304l.196.266.3.39a.75.75 0 0 1-1.114.998l-.074-.083-.3-.39a9.43 9.43 0 0 1-1.951-5.435.75.75 0 0 1 .724-.775M8.782 9.39c2.113-1.563 4.875-1.478 6.733-.284.93.598 1.635 1.295 2.103 2.093a.75.75 0 0 1-1.294.76c-.342-.584-.878-1.115-1.62-1.591-1.362-.876-3.451-.94-5.029.228-1.638 1.213-2.328 3.291-2.123 5.482q.172 1.84 1.114 3.724a.75.75 0 0 1-1.342.67Q6.26 18.346 6.06 16.219c-.25-2.67.61-5.263 2.724-6.828m9.18 4.301a.75.75 0 0 1 .788.71c.031.604.18 1.097.442 1.494.22.333.414.525.563.6l.061.024a.75.75 0 0 1-.434 1.436c-.547-.165-1.017-.588-1.443-1.235-.416-.63-.643-1.382-.687-2.241a.75.75 0 0 1 .71-.788m-7.451-7.589a.75.75 0 0 1-.377.992c-1.84.828-3.194 2.008-4.083 3.548-1.114 1.928-1.414 4.181-1.165 6.08a.75.75 0 1 1-1.487.196c-.289-2.201.055-4.778 1.353-7.026C5.804 8.071 7.4 6.68 9.519 5.726a.75.75 0 0 1 .992.376m2.343-.787c1.83.037 3.652.878 5.459 2.486 1.823 1.622 2.921 3.827 3.294 6.58a.75.75 0 1 1-1.486.202c-.327-2.412-1.261-4.287-2.805-5.661-1.56-1.388-3.055-2.078-4.493-2.107a.75.75 0 1 1 .031-1.5m-6.871.014a.75.75 0 0 1-.062 1.06q-.403.357-.843.854-.415.468-.846 1.213a.75.75 0 1 1-1.3-.75 9 9 0 0 1 1.024-1.458q.497-.56.968-.98a.75.75 0 0 1 1.059.061m6.585-2.966c2.193.103 4.03.703 5.53 1.861a.75.75 0 0 1-.917 1.188c-1.245-.962-2.785-1.461-4.683-1.55-1.903-.09-3.462.284-4.715.979-.384.213-.814.106-1.031-.247a.74.74 0 0 1 .246-1.031c1.536-.904 3.383-1.302 5.57-1.2\"/></symbol>\n <symbol id=\"flag-de\" viewBox=\"0 0 640 480\"><path fill=\"#fc0\" d=\"M0 320h640v160H0z\"/><path fill=\"#000001\" d=\"M0 0h640v160H0z\"/><path fill=\"red\" d=\"M0 160h640v160H0z\"/></symbol>\n <symbol id=\"flag-en\" viewBox=\"0 0 640 480\"><path fill=\"#012169\" d=\"M0 0h640v480H0z\"/><path fill=\"#fff\" d=\"m75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z\"/><path fill=\"#c8102e\" d=\"m424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z\"/><path fill=\"#fff\" d=\"M241 0v480h160V0zM0 160v160h640V160z\"/><path fill=\"#c8102e\" d=\"M0 193v96h640v-96zM273 0v480h96V0z\"/></symbol>\n <symbol id=\"flash\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.425 2.83A1.25 1.25 0 0 1 8.603 2h6.453a1.25 1.25 0 0 1 1.186 1.645L14.79 8h3.96c1.103 0 1.665 1.327.897 2.12L8.586 21.536c-1.054 1.088-2.872.106-2.541-1.372l1.27-5.668-1.57-.006a1.75 1.75 0 0 1-1.641-2.337zm1.354.67-3.262 9.157a.25.25 0 0 0 .234.333l2.502.01a.75.75 0 0 1 .729.914l-1.473 6.578L18.159 9.5h-4.41a.75.75 0 0 1-.71-.987l1.67-5.013z\"/></symbol>\n <symbol id=\"flow_stream\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M20 24h-8.137a4 4 0 0 0-.429-1.02L21.98 12.434A3.994 3.994 0 1 0 20.141 8H14v2h6.141a4 4 0 0 0 .425 1.02L10.02 21.566A3.994 3.994 0 1 0 11.859 26H20v3h8v-8h-8zm4-17a2 2 0 1 1-2 2 2 2 0 0 1 2-2M8 27a2 2 0 1 1 2-2 2 2 0 0 1-2 2m14-4h4v4h-4zM9.693 12.75a5 5 0 0 1 0-7.5l1.324 1.5a3 3 0 0 0 0 4.501z\"/><path fill=\"currentColor\" d=\"M7.047 15.751a9 9 0 0 1 0-13.501l1.324 1.5a7 7 0 0 0 0 10.501Z\"/></symbol>\n <symbol id=\"globe\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 1.998c5.524 0 10.002 4.478 10.002 10.002 0 5.523-4.478 10-10.002 10S2 17.523 2 12C1.999 6.476 6.476 1.998 12 1.998M14.94 16.5H9.061c.652 2.415 1.786 4.002 2.94 4.002s2.286-1.588 2.938-4.002m-7.43 0H4.785a8.53 8.53 0 0 0 4.095 3.41c-.522-.82-.953-1.846-1.27-3.015zm11.705 0h-2.722c-.324 1.335-.792 2.5-1.373 3.411a8.53 8.53 0 0 0 3.91-3.127zM7.094 10H3.736l-.005.017A8.5 8.5 0 0 0 3.5 12a8.5 8.5 0 0 0 .544 3h3.173A20 20 0 0 1 7 12c0-.684.032-1.354.095-2.001m8.303 0H8.603a19 19 0 0 0 .135 5h6.524a19 19 0 0 0 .135-5m4.868 0h-3.358c.062.647.095 1.317.095 2a20 20 0 0 1-.218 3h3.173a8.5 8.5 0 0 0 .545-3c0-.689-.082-1.359-.237-2M8.88 4.088l-.023.008A8.53 8.53 0 0 0 4.25 8.5h3.048c.314-1.752.86-3.278 1.583-4.41m3.12-.591-.117.005C10.62 3.62 9.397 5.621 8.83 8.5h6.342c-.566-2.87-1.783-4.869-3.045-4.995zm3.12.59.106.175c.67 1.112 1.177 2.572 1.475 4.237h3.048a8.53 8.53 0 0 0-4.339-4.29z\"/></symbol>\n <symbol id=\"gpt\" viewBox=\"0 0 48 48\"><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"M18.38 27.94v-14.4l11.19-6.46c6.2-3.58 17.3 5.25 12.64 13.33\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"m18.38 20.94 12.47-7.2 11.19 6.46c6.2 3.58 4.1 17.61-5.23 17.61\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"m24.44 17.44 12.47 7.2v12.93c0 7.16-13.2 12.36-17.86 4.28\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"M30.5 21.2v14.14L19.31 41.8c-6.2 3.58-17.3-5.25-12.64-13.33\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"m30.5 27.94-12.47 7.2-11.19-6.46c-6.21-3.59-4.11-17.61 5.22-17.61\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"m24.44 31.44-12.47-7.2V11.31c0-7.16 13.2-12.36 17.86-4.28\"/></symbol>\n <symbol id=\"history\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a7.5 7.5 0 1 1-7.419 6.392c.067-.454-.265-.892-.724-.892a.75.75 0 0 0-.752.623A9 9 0 1 0 6 5.292V4.25a.75.75 0 0 0-1.5 0v3c0 .414.336.75.75.75h3a.75.75 0 0 0 0-1.5H6.9a7.47 7.47 0 0 1 5.1-2m.5 3.25a.75.75 0 0 0-1.5 0v4.5c0 .414.336.75.75.75h3a.75.75 0 0 0 0-1.5H12.5z\"/></symbol>\n <symbol id=\"home_checkmark\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.45 2.532a2.25 2.25 0 0 0-2.9 0L3.8 8.224a2.25 2.25 0 0 0-.8 1.72v9.31c0 .966.784 1.75 1.75 1.75h14.5a1.75 1.75 0 0 0 1.75-1.75v-9.31a2.25 2.25 0 0 0-.8-1.72zm-1.933 1.147a.75.75 0 0 1 .966 0l6.75 5.692a.75.75 0 0 1 .267.573v9.31a.25.25 0 0 1-.25.25H4.75a.25.25 0 0 1-.25-.25v-9.31a.75.75 0 0 1 .267-.573zm4.267 7.601a.75.75 0 1 0-1.061-1.06l-3.973 3.973-1.47-1.47a.75.75 0 1 0-1.06 1.06l2 2a.75.75 0 0 0 1.06 0z\"/></symbol>\n <symbol id=\"hourglass_quarter\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.884 17.15A3.24 3.24 0 0 1 7.92 16h8.16a3.24 3.24 0 0 1 1.42 2.65v.6a.25.25 0 0 1-.25.25H6.75a.25.25 0 0 1-.25-.25v-.6a3.24 3.24 0 0 1 .384-1.5M6.75 2A2.75 2.75 0 0 0 4 4.75v.42a5.75 5.75 0 0 0 2.792 4.93l1.81 1.086a.75.75 0 0 1 .036 1.263l-2.121 1.443A5.75 5.75 0 0 0 4 18.647v.603A2.75 2.75 0 0 0 6.75 22h10.5A2.75 2.75 0 0 0 20 19.25v-.604a5.75 5.75 0 0 0-2.517-4.754l-2.121-1.443a.75.75 0 0 1 .036-1.263l1.81-1.086A5.75 5.75 0 0 0 20 5.17v-.42A2.75 2.75 0 0 0 17.25 2zM5.5 4.75c0-.69.56-1.25 1.25-1.25h10.5c.69 0 1.25.56 1.25 1.25v.42a4.25 4.25 0 0 1-2.063 3.643L14.627 9.9c-1.41.845-1.467 2.866-.108 3.79l2.12 1.442a4.25 4.25 0 0 1 1.861 3.515v.603c0 .69-.56 1.25-1.25 1.25H6.75c-.69 0-1.25-.56-1.25-1.25v-.604a4.25 4.25 0 0 1 1.86-3.514l2.121-1.442c1.359-.924 1.302-2.945-.107-3.79l-1.81-1.087A4.25 4.25 0 0 1 5.5 5.17z\"/></symbol>\n <symbol id=\"id\" viewBox=\"0 0 32 32\"><g fill=\"currentColor\"><path d=\"M13.006 9.163c0-.76.616-1.375 1.375-1.375h3.305c4.551 0 8.278 3.637 8.278 8.17 0 4.531-3.727 8.169-8.278 8.169H14.38c-.76 0-1.375-.616-1.375-1.375zm2.75 12.089c0 .069.056.125.125.125h1.805c3.074 0 5.528-2.447 5.528-5.42s-2.454-5.42-5.528-5.42H15.88a.125.125 0 0 0-.125.126zM9.385 7.89a1.374 1.374 0 0 1 1.377 1.373l.014 13.385a1.375 1.375 0 0 1-2.75.003L8.012 9.266a1.375 1.375 0 0 1 1.373-1.377\"/><path d=\"M6 1a5 5 0 0 0-5 5v20a5 5 0 0 0 5 5h20a5 5 0 0 0 5-5V6a5 5 0 0 0-5-5zM3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3z\"/></g></symbol>\n <symbol id=\"image\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.75 3A3.25 3.25 0 0 1 21 6.25v11.5A3.25 3.25 0 0 1 17.75 21H6.25A3.25 3.25 0 0 1 3 17.75V6.25A3.25 3.25 0 0 1 6.25 3zm.58 16.401-5.805-5.686a.75.75 0 0 0-.966-.071l-.084.07-5.807 5.687q.274.097.582.099h11.5c.203 0 .399-.035.58-.099l-5.805-5.686zM17.75 4.5H6.25A1.75 1.75 0 0 0 4.5 6.25v11.5q.001.313.103.594l5.823-5.701a2.25 2.25 0 0 1 3.02-.116l.128.116 5.822 5.702q.102-.28.104-.595V6.25a1.75 1.75 0 0 0-1.75-1.75m-2.498 2a2.252 2.252 0 1 1 0 4.504 2.252 2.252 0 0 1 0-4.504m0 1.5a.752.752 0 1 0 0 1.504.752.752 0 0 0 0-1.504\"/></symbol>\n <symbol id=\"image_library\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.748 8.996a1.248 1.248 0 1 0 0-2.496 1.248 1.248 0 0 0 0 2.496M6.25 3A3.25 3.25 0 0 0 3 6.25v9a3.25 3.25 0 0 0 3.25 3.25h9a3.25 3.25 0 0 0 3.25-3.25v-9A3.25 3.25 0 0 0 15.25 3zM4.5 6.25c0-.966.784-1.75 1.75-1.75h9c.966 0 1.75.784 1.75 1.75v9c0 .231-.045.452-.126.654l-4.587-4.291a2.25 2.25 0 0 0-3.074 0l-4.587 4.29a1.8 1.8 0 0 1-.126-.653zm6.762 6.458 4.505 4.214q-.246.076-.517.078h-9q-.271 0-.517-.078l4.504-4.214a.75.75 0 0 1 1.025 0M8.75 21a3.25 3.25 0 0 1-2.74-1.5h9.74a3.75 3.75 0 0 0 3.75-3.75V6.011a3.25 3.25 0 0 1 1.5 2.74v7A5.25 5.25 0 0 1 15.75 21z\"/></symbol>\n <symbol id=\"image_search\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M21 6.25A3.25 3.25 0 0 0 17.75 3H6.25A3.25 3.25 0 0 0 3 6.25v4.507a5.5 5.5 0 0 1 1.5-.882V6.25c0-.966.784-1.75 1.75-1.75h11.5c.966 0 1.75.784 1.75 1.75v11.5q-.002.315-.104.595l-5.822-5.702-.128-.116a2.25 2.25 0 0 0-2.243-.38c.259.425.461.889.598 1.38a.75.75 0 0 1 .724.188L18.33 19.4a1.8 1.8 0 0 1-.581.099h-4.775l.512.513c.278.277.443.626.495.987h3.768A3.25 3.25 0 0 0 21 17.75zm-3.496 2.502a2.252 2.252 0 1 0-4.504 0 2.252 2.252 0 0 0 4.504 0m-3.004 0a.752.752 0 1 1 1.504 0 .752.752 0 0 1-1.504 0M9.95 17.89a4.5 4.5 0 1 0-1.145.976l2.915 2.915a.75.75 0 1 0 1.06-1.06zM6.5 18a3 3 0 1 1 0-6 3 3 0 0 1 0 6\"/></symbol>\n <symbol id=\"import\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M21.25 4.5a.75.75 0 0 1 .743.648L22 5.25v13.004a.75.75 0 0 1-1.493.102l-.007-.102V5.25a.75.75 0 0 1 .75-.75m-8.603 1.804.072-.084a.75.75 0 0 1 .977-.073l.084.073 4.997 4.997a.75.75 0 0 1 .073.976l-.073.085-4.997 5.003a.75.75 0 0 1-1.133-.976l.072-.084 3.711-3.717H2.75a.75.75 0 0 1-.743-.647L2 11.755a.75.75 0 0 1 .648-.743l.102-.007 13.693-.001-3.724-3.724a.75.75 0 0 1-.072-.976l.072-.084z\"/></symbol>\n <symbol id=\"info\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 1.998c5.524 0 10.002 4.478 10.002 10.002 0 5.523-4.478 10-10.002 10S2 17.523 2 12C1.999 6.476 6.476 1.998 12 1.998m0 1.5a8.502 8.502 0 1 0 0 17.003 8.502 8.502 0 0 0 0-17.003m-.004 7a.75.75 0 0 1 .744.648l.007.102.004 5.502a.75.75 0 0 1-1.494.102l-.006-.101-.004-5.502a.75.75 0 0 1 .75-.75m.005-3.497a.999.999 0 1 1 0 1.997.999.999 0 0 1 0-1.997\"/></symbol>\n <symbol id=\"iot\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19 4.492a2.5 2.5 0 0 1-3.012 2.448l-1.28 2.117A4 4 0 0 1 16 12.06l1.296.26a2.5 2.5 0 1 1-.279 1.475l-1.319-.266a4 4 0 0 1-1.744 1.964l.495 1.511h.051a2.5 2.5 0 1 1-1.472.479l-.497-1.516a4 4 0 0 1-3.752-1.593l-1.794.848q.015.138.015.28a2.5 2.5 0 1 1-.623-1.652l1.754-.829a4 4 0 0 1 .784-3.566l-.991-1.13a2.5 2.5 0 1 1 1.164-.948l.982 1.12A4 4 0 0 1 12 8.001c.505 0 .989.093 1.434.264l1.245-2.06A2.5 2.5 0 1 1 19 4.492m-1.5 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0M7 7.001a1 1 0 1 0 0-2 1 1 0 0 0 0 2m5 7.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5m-6.5 1a1 1 0 1 0-2 0 1 1 0 0 0 2 0m10 4.002a1 1 0 1 0-2 0 1 1 0 0 0 2 0m4-5.002a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"/></symbol>\n <symbol id=\"key\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.25 7a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0M15.5 2.05A6.554 6.554 0 0 0 8.95 8.6c0 .387.05.76.11 1.104a.28.28 0 0 1-.07.244l-6.235 6.236a2.75 2.75 0 0 0-.806 1.944V20.3c0 .966.784 1.75 1.75 1.75h2.5a1.75 1.75 0 0 0 1.75-1.75v-1.25H9.7c.69 0 1.25-.56 1.25-1.25v-1.75h1.75a1.25 1.25 0 0 0 1.25-1.204c.496.128 1.02.204 1.55.204a6.554 6.554 0 0 0 6.55-6.55c0-3.631-2.953-6.45-6.55-6.45M10.45 8.6a5.054 5.054 0 0 1 5.05-5.05c2.802 0 5.05 2.181 5.05 4.95a5.054 5.054 0 0 1-5.05 5.05c-.68 0-1.38-.171-2.005-.44a.75.75 0 0 0-1.046.69v.75H10.7c-.69 0-1.25.56-1.25 1.25v1.75H7.7c-.69 0-1.25.56-1.25 1.25v1.5a.25.25 0 0 1-.25.25H3.7a.25.25 0 0 1-.25-.25v-2.172c0-.331.132-.65.366-.884l6.236-6.235a1.77 1.77 0 0 0 .486-1.564 5 5 0 0 1-.088-.845\"/></symbol>\n <symbol id=\"key_multiple\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2q.465 0 .908.082a6.5 6.5 0 0 0-1.582 1.483A3.5 3.5 0 0 0 8.62 7.91a.75.75 0 0 1-.194.725L3.5 13.561V16.5h2v-1.75a.75.75 0 0 1 .75-.75H8.5v-1.25a.75.75 0 0 1 .22-.53l1.915-1.915q.336.7.823 1.298L10 13.06v1.689a.75.75 0 0 1-.75.75H7v1.75a.75.75 0 0 1-.75.75h-3.5a.75.75 0 0 1-.75-.75v-4a.75.75 0 0 1 .22-.53l4.855-4.855A5 5 0 0 1 12 2m4.5 1.5a4 4 0 0 0-1.894 7.524.75.75 0 0 1 .394.66v7.734l2.017 1.834 2.123-1.799-.921-.924a.75.75 0 0 1 0-1.058l.967-.971-.967-.97A.75.75 0 0 1 18 15v-3.316a.75.75 0 0 1 .394-.66A4 4 0 0 0 16.5 3.5m-5.5 4a5.5 5.5 0 1 1 8.5 4.61v2.58l1.276 1.28a.75.75 0 0 1 0 1.06l-.967.97.967.97a.75.75 0 0 1-.046 1.102l-3.245 2.75a.75.75 0 0 1-.99-.017l-2.75-2.5a.75.75 0 0 1-.245-.555v-7.64A5.5 5.5 0 0 1 11 7.5m6.5-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"/></symbol>\n <symbol id=\"label\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19.75 2A2.25 2.25 0 0 1 22 4.25v5.462a3.25 3.25 0 0 1-.952 2.298l-8.5 8.503a3.255 3.255 0 0 1-4.597.001L3.489 16.06a3.25 3.25 0 0 1-.004-4.596l8.5-8.51a3.25 3.25 0 0 1 2.3-.953zm0 1.5h-5.466c-.464 0-.91.185-1.238.513l-8.512 8.523a1.75 1.75 0 0 0 .015 2.462l4.461 4.454a1.755 1.755 0 0 0 2.477 0l8.5-8.503a1.75 1.75 0 0 0 .513-1.237V4.25a.75.75 0 0 0-.75-.75M17 5.502a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3\"/></symbol>\n <symbol id=\"labels\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.5 6.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0m-6.992-3.602A3.25 3.25 0 0 1 12.75 2h5.499A2.75 2.75 0 0 1 21 4.75v4.953a3.25 3.25 0 0 1-.97 2.316l-6.946 6.835a2.25 2.25 0 0 1-3.166-.01l-6.256-6.226a2.25 2.25 0 0 1 .034-3.223zm2.243.602c-.45 0-.883.173-1.208.484L4.73 10.48a.75.75 0 0 0-.011 1.075l6.257 6.226a.75.75 0 0 0 1.055.003l6.945-6.834a1.75 1.75 0 0 0 .523-1.247V4.75c0-.69-.56-1.25-1.25-1.25zm7.98 9.232-1.475 1.451q-.06.082-.134.155l-5.334 5.229a3.25 3.25 0 0 1-4.575-.013L7.282 17.63l-2.411-2.386a1 1 0 0 1-.107-.12l-1.63-1.621a2.75 2.75 0 0 0 .682 2.807l4.356 4.311a4.75 4.75 0 0 0 6.666.016l5.334-5.229a2.75 2.75 0 0 0 .69-2.813 4 4 0 0 1-.131.136\"/></symbol>\n <symbol id=\"layer_diagonal_sparkle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.088 7.412a2.84 2.84 0 0 0-1.347-.955l-1.378-.448a.544.544 0 0 1 0-1.025l1.378-.448A2.84 2.84 0 0 0 16.5 2.774l.011-.034.448-1.377a.544.544 0 0 1 1.027 0l.447 1.377a2.84 2.84 0 0 0 1.799 1.796l1.377.448.028.007a.544.544 0 0 1 0 1.025l-1.378.448a2.84 2.84 0 0 0-1.798 1.796l-.448 1.377-.013.034a.544.544 0 0 1-1.013-.034l-.448-1.377a2.8 2.8 0 0 0-.45-.848m7.695 3.801-.766-.248a1.58 1.58 0 0 1-.998-.999l-.25-.764a.302.302 0 0 0-.57 0l-.248.764a1.58 1.58 0 0 1-.984.999l-.765.248a.302.302 0 0 0 0 .57l.765.249a1.58 1.58 0 0 1 1 1.002l.248.764a.302.302 0 0 0 .57 0l.249-.764a1.58 1.58 0 0 1 .999-.999l.765-.248a.302.302 0 0 0 0-.57zm-12.8-9.077a2.25 2.25 0 0 1 2.95 1.572L13.05 4a1.6 1.6 0 0 0-.55.332v-.08a.75.75 0 0 0-1.005-.704l-6.84 2.475A1.75 1.75 0 0 0 3.5 7.667v6.082a.75.75 0 0 0 1.005.705L5 14.275v1.595a2.25 2.25 0 0 1-3-2.12V7.666A3.25 3.25 0 0 1 4.144 4.61zm-3.17 5.595 4.346-1.573A1.7 1.7 0 0 0 13 7l.652.214-5.327 1.928a1.25 1.25 0 0 0-.825 1.176v6.432a.75.75 0 0 0 1.005.705l.495-.18v1.596a2.25 2.25 0 0 1-3-2.122v-6.432A2.75 2.75 0 0 1 7.814 7.73m3.67 3.12L15.8 9.288l.201.71c.088.257.24.481.435.655l-4.44 1.607a.75.75 0 0 0-.495.705v6.783a.75.75 0 0 0 1.005.705l7.5-2.714a.75.75 0 0 0 .495-.705v-2.448c.214.276.512.463.96.463.211 0 .389-.042.54-.114v2.1a2.25 2.25 0 0 1-1.484 2.115l-7.5 2.714A2.25 2.25 0 0 1 10 19.749v-6.783a2.25 2.25 0 0 1 1.484-2.116\"/></symbol>\n <symbol id=\"lightbulb\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2.001a7.25 7.25 0 0 1 7.25 7.25c0 2.096-.9 4.02-2.663 5.742a.75.75 0 0 0-.175.265l-.032.103-1.13 4.895a2.25 2.25 0 0 1-2.02 1.737l-.173.007h-2.114a2.25 2.25 0 0 1-2.147-1.577l-.045-.167-1.13-4.895a.75.75 0 0 0-.206-.368c-1.68-1.64-2.577-3.463-2.659-5.444l-.006-.298.004-.24A7.25 7.25 0 0 1 12 2.002M14.115 18.5H9.884l.329 1.42a.75.75 0 0 0 .627.573l.103.008h2.114a.75.75 0 0 0 .7-.483l.03-.099zM12 3.501a5.75 5.75 0 0 0-5.746 5.53l-.004.22.007.277c.076 1.563.8 3.02 2.206 4.392.264.258.46.576.571.926l.049.178.455 1.975h4.923l.458-1.976a2.25 2.25 0 0 1 .493-.97l.127-.133c1.404-1.373 2.128-2.828 2.204-4.392l.007-.277-.004-.22A5.75 5.75 0 0 0 12 3.5\"/></symbol>\n <symbol id=\"line_horizontal\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2 11.75a.75.75 0 0 1 .75-.75h18.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75\"/></symbol>\n <symbol id=\"link\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9.25 7a.75.75 0 0 1 .11 1.492l-.11.008H7a3.5 3.5 0 0 0-.206 6.994L7 15.5h2.25a.75.75 0 0 1 .11 1.492L9.25 17H7a5 5 0 0 1-.25-9.994L7 7zM17 7a5 5 0 0 1 .25 9.994L17 17h-2.25a.75.75 0 0 1-.11-1.492l.11-.008H17a3.5 3.5 0 0 0 .206-6.994L17 8.5h-2.25a.75.75 0 0 1-.11-1.492L14.75 7zM7 11.25h10a.75.75 0 0 1 .102 1.493L17 12.75H7a.75.75 0 0 1-.102-1.493zh10z\"/></symbol>\n <symbol id=\"link_dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9.25 5a.75.75 0 0 1 .11 1.492l-.11.008H7a3.5 3.5 0 0 0-.206 6.994L7 13.5h2.25a.75.75 0 0 1 .11 1.492L9.25 15H7a5 5 0 0 1-.25-9.994L7 5zM17 5a5 5 0 0 1 4.43 7.322 6.5 6.5 0 0 0-1.294-.765 3.5 3.5 0 0 0-2.93-5.05L17 6.499h-2.25a.75.75 0 0 1-.11-1.492L14.75 5zM7 9.25h10a.75.75 0 0 1 .102 1.493L17 10.75H7a.75.75 0 0 1-.102-1.493zm16 8.25a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-7.146-2.354a.5.5 0 0 0-.708.708l1.647 1.646-1.647 1.646a.5.5 0 0 0 .708.708l1.646-1.647 1.646 1.647a.5.5 0 0 0 .708-.708L18.207 17.5l1.647-1.646a.5.5 0 0 0-.708-.708L17.5 16.793z\"/></symbol>\n <symbol id=\"link_square\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.25 3A3.25 3.25 0 0 0 3 6.25v6a3.25 3.25 0 0 0 3.25 3.25H7.5V14H6.25a1.75 1.75 0 0 1-1.75-1.75v-6c0-.966.784-1.75 1.75-1.75h6c.966 0 1.75.784 1.75 1.75v6A1.75 1.75 0 0 1 12.25 14H11v1.5h1.25a3.25 3.25 0 0 0 3.25-3.25v-6A3.25 3.25 0 0 0 12.25 3zM10 11.75c0-.966.784-1.75 1.75-1.75h1.248V8.5H11.75a3.25 3.25 0 0 0-3.25 3.25v6A3.25 3.25 0 0 0 11.75 21h6A3.25 3.25 0 0 0 21 17.75v-6a3.25 3.25 0 0 0-3.25-3.25H16.5V10h1.25c.966 0 1.75.784 1.75 1.75v6a1.75 1.75 0 0 1-1.75 1.75h-6A1.75 1.75 0 0 1 10 17.75z\"/></symbol>\n <symbol id=\"list_square\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.75 9.25a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3.5-1.75a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm0 3.75a.75.75 0 1 0 0 1.5h5.5a.75.75 0 1 0 0-1.5zm-.75 4.5a.75.75 0 0 1 .75-.75h5.5a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75M8.75 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-1 4.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5A3.25 3.25 0 0 0 6.25 21h11.5A3.25 3.25 0 0 0 21 17.75V6.25A3.25 3.25 0 0 0 17.75 3zM4.5 6.25c0-.966.784-1.75 1.75-1.75h11.5c.966 0 1.75.784 1.75 1.75v11.5a1.75 1.75 0 0 1-1.75 1.75H6.25a1.75 1.75 0 0 1-1.75-1.75z\"/></symbol>\n <symbol id=\"location_on\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.843 4.568a8.707 8.707 0 0 1 12.314 12.314l-1.187 1.174q-1.312 1.287-3.406 3.312a2.25 2.25 0 0 1-3.128 0l-3.491-3.396q-.659-.646-1.102-1.09a8.707 8.707 0 0 1 0-12.314m11.253 1.06A7.207 7.207 0 1 0 6.903 15.822l1.488 1.468q1.228 1.201 3.088 3a.75.75 0 0 0 1.042 0l3.395-3.3q.705-.691 1.18-1.168a7.207 7.207 0 0 0 0-10.192M12 7.999a3.002 3.002 0 1 1 0 6.004A3.002 3.002 0 0 1 12 8m0 1.5a1.502 1.502 0 1 0 0 3.004 1.502 1.502 0 0 0 0-3.003\"/></symbol>\n <symbol id=\"location_searching\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2a.75.75 0 0 1 .743.648l.007.102v1.788a7.5 7.5 0 0 1 6.713 6.714l.037-.002h1.75a.75.75 0 0 1 .102 1.493l-.102.007-1.788-.001a7.5 7.5 0 0 1-6.714 6.714l.002.037v1.75a.75.75 0 0 1-1.493.102l-.007-.102.001-1.788a7.5 7.5 0 0 1-6.714-6.714l-.037.002H2.75a.75.75 0 0 1-.102-1.493l.102-.007h1.788a7.5 7.5 0 0 1 6.714-6.713L11.25 4.5V2.75A.75.75 0 0 1 12 2m0 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8\"/></symbol>\n <symbol id=\"lock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 15.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3M8 6a4 4 0 1 1 8 0v1h.75A3.25 3.25 0 0 1 20 10.25v7.5A3.25 3.25 0 0 1 16.75 21h-9.5A3.25 3.25 0 0 1 4 17.75v-7.5A3.25 3.25 0 0 1 7.25 7H8zm4-2.5A2.5 2.5 0 0 0 9.5 6v1h5V6A2.5 2.5 0 0 0 12 3.5m-4.75 5a1.75 1.75 0 0 0-1.75 1.75v7.5c0 .966.784 1.75 1.75 1.75h9.5a1.75 1.75 0 0 0 1.75-1.75v-7.5a1.75 1.75 0 0 0-1.75-1.75z\"/></symbol>\n <symbol id=\"lock_open\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16 5a2.5 2.5 0 0 1 5 0v.25a.75.75 0 0 0 1.5 0V5a4 4 0 0 0-8 0v2H7.25A3.25 3.25 0 0 0 4 10.25v7.5A3.25 3.25 0 0 0 7.25 21h9.5A3.25 3.25 0 0 0 20 17.75v-7.5A3.25 3.25 0 0 0 16.75 7H16zM7.25 8.5h9.5c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 0 1-1.75 1.75h-9.5a1.75 1.75 0 0 1-1.75-1.75v-7.5c0-.966.784-1.75 1.75-1.75m4.75 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3\"/></symbol>\n <symbol id=\"login\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M26 30H14a2 2 0 0 1-2-2v-3h2v3h12V4H14v3h-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v24a2 2 0 0 1-2 2\"/><path fill=\"currentColor\" d=\"M14.59 20.59 18.17 17H4v-2h14.17l-3.58-3.59L16 10l6 6-6 6z\"/></symbol>\n <symbol id=\"logout\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.502 11.5a1.002 1.002 0 1 1 0 2.004 1.002 1.002 0 0 1 0-2.005M12 4.353v6.65h7.442L17.72 9.28a.75.75 0 0 1-.073-.977l.073-.084a.75.75 0 0 1 .976-.072l.084.072 2.997 2.998a.75.75 0 0 1 .073.976l-.073.084-2.996 3.003a.75.75 0 0 1-1.134-.975l.072-.084 1.713-1.717h-7.431L12 19.25a.75.75 0 0 1-.88.738l-8.5-1.501a.75.75 0 0 1-.62-.739V5.75a.75.75 0 0 1 .628-.74l8.5-1.396a.75.75 0 0 1 .872.74m-1.5.883-7 1.15v10.732l7 1.236zM13 18.5h.765l.102-.007a.75.75 0 0 0 .648-.744l-.007-4.25H13zm.002-8.5L13 8.725V5h.745a.75.75 0 0 1 .743.647l.007.101.007 4.252z\"/></symbol>\n <symbol id=\"mail\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.25 4h13.5a3.25 3.25 0 0 1 3.245 3.066L22 7.25v9.5a3.25 3.25 0 0 1-3.066 3.245L18.75 20H5.25a3.25 3.25 0 0 1-3.245-3.066L2 16.75v-9.5a3.25 3.25 0 0 1 3.066-3.245zh13.5zM20.5 9.373l-8.15 4.29a.75.75 0 0 1-.603.043l-.096-.042L3.5 9.374v7.376a1.75 1.75 0 0 0 1.606 1.744l.144.006h13.5a1.75 1.75 0 0 0 1.744-1.607l.006-.143zM18.75 5.5H5.25a1.75 1.75 0 0 0-1.744 1.606L3.5 7.25v.429l8.5 4.474 8.5-4.475V7.25a1.75 1.75 0 0 0-1.607-1.744z\"/></symbol>\n <symbol id=\"map\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m9.203 4 .047-.002.046.001.068.007.016.004q.129.02.25.092l.053.034 5.07 3.565L19.82 4.14a.75.75 0 0 1 1.174.51l.007.104v10.632a.75.75 0 0 1-.238.548l-.08.066-5.5 3.866a.74.74 0 0 1-.828.023L9.25 16.297l-5.07 3.565a.75.75 0 0 1-1.174-.51l-.007-.104V8.616a.75.75 0 0 1 .238-.548l.08-.066 5.5-3.866a.8.8 0 0 1 .2-.101l.123-.028zm10.298 2.197-4 2.812v8.799l4-2.812zM8.5 6.193l-4 2.812v8.8l4-2.813zm1.502 0v8.8l4 2.811V9.005z\"/></symbol>\n <symbol id=\"mic\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.25 11a.75.75 0 0 1 .743.648l.007.102v.5a6.75 6.75 0 0 1-6.249 6.732l-.001 2.268a.75.75 0 0 1-1.493.102l-.007-.102v-2.268a6.75 6.75 0 0 1-6.246-6.496L5 12.25v-.5a.75.75 0 0 1 1.493-.102l.007.102v.5a5.25 5.25 0 0 0 5.034 5.246l.216.004h.5a5.25 5.25 0 0 0 5.246-5.034l.004-.216v-.5a.75.75 0 0 1 .75-.75M12 2a4 4 0 0 1 4 4v6a4 4 0 0 1-8 0V6a4 4 0 0 1 4-4m0 1.5A2.5 2.5 0 0 0 9.5 6v6a2.5 2.5 0 0 0 5 0V6A2.5 2.5 0 0 0 12 3.5\"/></symbol>\n <symbol id=\"mic_record\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11 17.5c0 1.096.271 2.129.75 3.035v.715a.75.75 0 0 1-1.493.102l-.007-.102v-2.268a6.75 6.75 0 0 1-6.246-6.496L4 12.25v-.5a.75.75 0 0 1 1.493-.102l.007.102v.5a5.25 5.25 0 0 0 5.034 5.246l.216.004zm.175-1.504A6.51 6.51 0 0 1 15 11.498V6a4 4 0 0 0-8 0v6a4 4 0 0 0 4.175 3.996M20 17.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0m3 0a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-9.5 0a4 4 0 1 0 8 0 4 4 0 0 0-8 0\"/></symbol>\n <symbol id=\"microchip_ai\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M8.75 4a.75.75 0 0 0-1.5 0v1.25H7A1.75 1.75 0 0 0 5.25 7v.25H4a.75.75 0 0 0 0 1.5h1.25v2.5H4a.75.75 0 0 0 0 1.5h1.25v2.5H4a.75.75 0 0 0 0 1.5h1.25V17c0 .966.784 1.75 1.75 1.75h.25V20a.75.75 0 0 0 1.5 0v-1.25h2.5V20a.75.75 0 0 0 1.5 0v-1.25h2.5V20a.75.75 0 0 0 1.5 0v-1.25H17A1.75 1.75 0 0 0 18.75 17v-.25H20a.75.75 0 0 0 0-1.5h-1.25v-2.5H20a.75.75 0 0 0 0-1.5h-1.25v-2.5H20a.75.75 0 0 0 0-1.5h-1.25V7A1.75 1.75 0 0 0 17 5.25h-.25V4a.75.75 0 0 0-1.5 0v1.25h-2.5V4a.75.75 0 0 0-1.5 0v1.25h-2.5zm-2 3A.25.25 0 0 1 7 6.75h10a.25.25 0 0 1 .25.25v10a.25.25 0 0 1-.25.25H7a.25.25 0 0 1-.25-.25zm5.049 7.753-.275-.772H9.497l-.275.772a.75.75 0 0 1-1.413-.504l1.7-4.77.003-.009.004-.01c.152-.392.516-.711.994-.711.479 0 .842.319.995.712l.003.009.004.01 1.7 4.77a.75.75 0 0 1-1.413.503m-1.289-3.615.479 1.343h-.958zm3.74-1.64a.75.75 0 0 1 1.5 0v5.003a.75.75 0 1 1-1.5 0z\" clip-rule=\"evenodd\"/></symbol>\n <symbol id=\"microsoft\" viewBox=\"0 0 21 21\"><path fill=\"#f25022\" d=\"M1 1h9v9H1z\"/><path fill=\"#00a4ef\" d=\"M1 11h9v9H1z\"/><path fill=\"#7fba00\" d=\"M11 1h9v9h-9z\"/><path fill=\"#ffb900\" d=\"M11 11h9v9h-9z\"/></symbol>\n <symbol id=\"moon\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M20.026 17.001c-2.762 4.784-8.879 6.423-13.663 3.661A10 10 0 0 1 3.13 17.68a.75.75 0 0 1 .365-1.132c3.767-1.348 5.785-2.91 6.956-5.146 1.233-2.353 1.551-4.93.689-8.463a.75.75 0 0 1 .769-.927 9.96 9.96 0 0 1 4.457 1.327c4.784 2.762 6.423 8.879 3.66 13.662m-8.247-4.903c-1.252 2.389-3.312 4.1-6.818 5.499a8.5 8.5 0 0 0 2.152 1.766 8.502 8.502 0 0 0 8.502-14.725 8.5 8.5 0 0 0-2.792-1.015c.647 3.384.23 6.043-1.045 8.475\"/></symbol>\n <symbol id=\"more_horizontal\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.75 12a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0m6 0a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0M18 13.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5\"/></symbol>\n <symbol id=\"more_vertical\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 7.75a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5m0 6a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5M10.25 18a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0\"/></symbol>\n <symbol id=\"navigation\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19.958 2.104c1.213-.467 2.405.725 1.938 1.938L15.36 21.038c-.522 1.36-2.48 1.252-2.85-.156l-1.845-7.011a.75.75 0 0 0-.535-.535l-7.01-1.845c-1.409-.37-1.516-2.328-.157-2.85zm.538 1.4L3.5 10.04l7.011 1.845a2.25 2.25 0 0 1 1.603 1.603l1.845 7.01z\"/></symbol>\n <symbol id=\"notification\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 1.996a7.49 7.49 0 0 1 7.496 7.25l.004.25v4.097l1.38 3.156a1.25 1.25 0 0 1-1.145 1.75L15 18.502a3 3 0 0 1-5.995.177L9 18.499H4.275a1.25 1.25 0 0 1-1.147-1.747L4.5 13.594V9.496c0-4.155 3.352-7.5 7.5-7.5M13.5 18.5l-3 .002a1.5 1.5 0 0 0 2.993.145zM12 3.496c-3.32 0-6 2.674-6 6v4.41L4.656 17h14.697L18 13.907V9.509l-.003-.225A5.99 5.99 0 0 0 12 3.496\"/></symbol>\n <symbol id=\"notification_off\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m5.22 6.28-3-3a.75.75 0 0 1 1.06-1.06l18.5 18.5a.75.75 0 1 1-1.06 1.06l-3.28-3.28-2.44.001a3 3 0 0 1-5.995.177L9 18.499H4.275a1.25 1.25 0 0 1-1.147-1.747L4.5 13.594V9.496c0-1.152.258-2.242.72-3.216M15.94 17 6.364 7.425A6 6 0 0 0 6 9.496v4.41L4.656 17zm-2.44 1.5-3 .001a1.5 1.5 0 0 0 2.993.145zm4.5-4.593.708 1.62 2.188 2.187a1.25 1.25 0 0 0-.016-.965l-1.38-3.156V9.496l-.004-.25A7.49 7.49 0 0 0 12 1.995 7.48 7.48 0 0 0 7.043 3.86l1.064 1.064A5.98 5.98 0 0 1 12 3.496a5.99 5.99 0 0 1 5.997 5.788l.003.225z\"/></symbol>\n <symbol id=\"offer-request\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.75 11.5a.75.75 0 0 0-.72.54c.423.275.813.598 1.16.96h5.06a.75.75 0 0 0 0-1.5zM5.5 4v7.076a6.5 6.5 0 0 0-1.5.422V4a2 2 0 0 1 2-2h6.172q.042.001.082.007.03.005.059.007c.215.015.427.056.624.138.057.024.112.056.166.087l.05.029.047.024a1 1 0 0 1 .081.044c.078.053.148.116.219.18l.036.03.049.04 5.829 5.828A2 2 0 0 1 20 9.828V20a2 2 0 0 1-2 2h-6.81a6.5 6.5 0 0 0 1.078-1.5H18a.5.5 0 0 0 .5-.5V10H14a2 2 0 0 1-2-2V3.5H6a.5.5 0 0 0-.5.5m10.75 15h-3.424A6.5 6.5 0 0 0 13 17.5h3.25a.75.75 0 0 1 0 1.5m0-3h-3.424a6.5 6.5 0 0 0-.558-1.5h3.982a.75.75 0 0 1 0 1.5M13.5 4.621V8a.5.5 0 0 0 .5.5h3.378zM6.5 23a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11m3-5a.5.5 0 0 0 0-1H4.707l1.647-1.646a.5.5 0 0 0-.708-.708l-2.5 2.5a.5.5 0 0 0 0 .708l2.5 2.5a.5.5 0 0 0 .708-.708L4.707 18z\"/></symbol>\n <symbol id=\"parent_child\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M28 12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h11v4H9a2 2 0 0 0-2 2v4H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2H9v-4h14v4h-3a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-3v-4a2 2 0 0 0-2-2h-6v-4ZM12 28H4v-4h8Zm16 0h-8v-4h8ZM4 4h24v6H4Z\"/></symbol>\n <symbol id=\"people_community\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.5 3.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M4.5 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m-.732 4C2.79 9 2 9.791 2 10.768v.36c0 .207 0 1.408.7 2.575.548.91 1.477 1.727 2.975 2.093a2.78 2.78 0 0 1 1.062-1.335c-1.603-.171-2.361-.883-2.75-1.53-.484-.806-.487-1.664-.487-1.806v-.357c0-.148.12-.268.268-.268H8.03A4 4 0 0 1 8.535 9zm11.697 0c.261.452.437.959.504 1.5h4.263c.148 0 .268.12.268.268v.357c0 .142-.003 1-.487 1.805-.389.648-1.147 1.36-2.75 1.531.48.32.856.786 1.062 1.335 1.498-.366 2.427-1.183 2.974-2.093.701-1.167.701-2.367.701-2.576v-.36C22 9.792 21.209 9 20.232 9zM15 5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0m1.5-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6M12 9.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M9 11a3 3 0 1 1 6 0 3 3 0 0 1-6 0m-2.5 5.768C6.5 15.79 7.291 15 8.268 15h7.464c.977 0 1.768.791 1.768 1.768v.36c0 .207 0 1.408-.7 2.575C16.057 20.937 14.613 22 12 22s-4.058-1.063-4.8-2.297c-.7-1.167-.7-2.367-.7-2.576zm1.768-.268a.27.27 0 0 0-.268.268v.357c0 .142.003 1 .487 1.805.446.743 1.377 1.57 3.513 1.57s3.067-.827 3.513-1.57c.484-.805.487-1.663.487-1.805v-.357a.27.27 0 0 0-.268-.268z\"/></symbol>\n <symbol id=\"person_swap\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.75 13.997c.981 0 1.815.628 2.123 1.503h-2.056l-.066-.003H4.249a.75.75 0 0 0-.749.75v.577c0 .535.191 1.054.539 1.46 1.253 1.469 3.22 2.214 5.957 2.214h.168c.086.183.203.352.35.498l.934.933a15 15 0 0 1-1.452.07c-3.145 0-5.531-.906-7.098-2.74A3.75 3.75 0 0 1 2 16.824v-.578a2.25 2.25 0 0 1 2.249-2.249zM9.997 2.002a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 1.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7m4.784 14.282a.75.75 0 0 0-1.06-1.06l-2.5 2.5a.75.75 0 0 0 0 1.06l2.5 2.5a.75.75 0 0 0 1.06-1.061l-1.22-1.22h6.88l-1.22 1.22a.75.75 0 0 0 1.06 1.06l2.5-2.498a.75.75 0 0 0 0-1.06l-2.5-2.502a.75.75 0 1 0-1.06 1.06l1.218 1.22h-6.877z\"/></symbol>\n <symbol id=\"phone\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.75 2A2.25 2.25 0 0 1 18 4.25v15.5A2.25 2.25 0 0 1 15.75 22h-7.5A2.25 2.25 0 0 1 6 19.75V4.25A2.25 2.25 0 0 1 8.25 2zm0 1.5h-7.5a.75.75 0 0 0-.75.75v15.5c0 .414.336.75.75.75h7.5a.75.75 0 0 0 .75-.75V4.25a.75.75 0 0 0-.75-.75m-2.501 14a.75.75 0 0 1 .002 1.5l-2.5.004a.75.75 0 0 1-.002-1.5z\"/></symbol>\n <symbol id=\"question\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4a5 5 0 0 0-5 5 1 1 0 0 0 2 0c0-1.658 1.342-3 3-3s3 1.342 3 3c0 .816-.199 1.294-.438 1.629-.262.365-.625.638-1.128.985l-.116.078c-.447.306-1.023.699-1.469 1.247-.527.648-.849 1.467-.849 2.561v.5a1 1 0 1 0 2 0v-.5c0-.656.178-1.024.4-1.299.257-.314.603-.552 1.114-.903l.053-.037c.496-.34 1.133-.786 1.62-1.468C16.7 11.081 17 10.183 17 9a5 5 0 0 0-5-5m0 17.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5\"/></symbol>\n <symbol id=\"question_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.478 10 10s-4.477 10-10 10S2 17.522 2 12 6.477 2 12 2m0 1.667c-4.595 0-8.333 3.738-8.333 8.333S7.405 20.333 12 20.333s8.333-3.738 8.333-8.333S16.595 3.667 12 3.667M12 15.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2m0-8.75a2.75 2.75 0 0 1 2.75 2.75c0 1.01-.297 1.574-1.051 2.359l-.169.171c-.622.622-.78.886-.78 1.47a.75.75 0 0 1-1.5 0c0-1.01.297-1.574 1.051-2.359l.169-.171c.622-.622.78-.886.78-1.47a1.25 1.25 0 0 0-2.493-.128l-.007.128a.75.75 0 0 1-1.5 0A2.75 2.75 0 0 1 12 6.75\"/></symbol>\n <symbol id=\"radio_button\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 22.002c5.524 0 10.002-4.478 10.002-10.001 0-5.524-4.478-10.002-10.002-10.002S1.998 6.477 1.998 12.001c0 5.523 4.478 10.001 10.002 10.001m0-1.5A8.502 8.502 0 1 1 12 3.5a8.502 8.502 0 0 1 0 17.003\"/></symbol>\n <symbol id=\"radio_button_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 1.999c5.524 0 10.002 4.478 10.002 10.002 0 5.523-4.478 10.001-10.002 10.001S1.998 17.524 1.998 12.001C1.998 6.477 6.476 1.999 12 1.999m0 1.5a8.502 8.502 0 1 0 0 17.003A8.502 8.502 0 0 0 12 3.5M11.996 6a5.998 5.998 0 1 1 0 11.996 5.998 5.998 0 0 1 0-11.996\"/></symbol>\n <symbol id=\"record_stop\" viewBox=\"0 0 20 20\"><path fill=\"currentColor\" d=\"M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14m-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0m5-2a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z\"/></symbol>\n <symbol id=\"rocket\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.057 7.43a2.5 2.5 0 1 1 3.536 3.536 2.5 2.5 0 0 1-3.536-3.535m2.475 1.061a1 1 0 1 0-1.414 1.415 1 1 0 0 0 1.414-1.415m5.977-4.169a2.75 2.75 0 0 0-1.811-1.81l-.663-.206a6.75 6.75 0 0 0-6.773 1.674l-.996.996a3.5 3.5 0 0 0-4.57.327L5.455 6.545a.75.75 0 0 0 0 1.06l1.591 1.592-.18.18a1.75 1.75 0 0 0 0 2.474l.496.496-1.396.796a.75.75 0 0 0-.158 1.181l3.889 3.89a.75.75 0 0 0 1.181-.158l.798-1.395.497.497a1.75 1.75 0 0 0 2.475 0l.177-.177 1.59 1.59a.75.75 0 0 0 1.06 0l1.242-1.243a3.5 3.5 0 0 0 .328-4.567l.998-.998a6.75 6.75 0 0 0 1.673-6.777zm-2.256-.378c.393.122.701.43.823.823l.207.665a5.25 5.25 0 0 1-1.302 5.27l-5.395 5.395a.25.25 0 0 1-.353 0l-5.307-5.306a.25.25 0 0 1 0-.354l5.397-5.396a5.25 5.25 0 0 1 5.268-1.302zm-1.289 9.897c.453.766.35 1.769-.308 2.427l-.712.712-1.06-1.06zM7.758 6.363a2 2 0 0 1 2.428-.307l-2.08 2.08-1.06-1.06zm2.818 9.199-.514.897-2.5-2.5.898-.513zM6.69 18.394a.75.75 0 0 0-1.06-1.06l-2.476 2.474a.75.75 0 0 0 1.061 1.061zM4.745 15.39a.75.75 0 0 1 0 1.06l-1.06 1.061a.75.75 0 0 1-1.061-1.06l1.06-1.061a.75.75 0 0 1 1.061 0m3.887 4.952a.75.75 0 1 0-1.06-1.06L6.513 20.34a.75.75 0 0 0 1.06 1.06z\"/></symbol>\n <symbol id=\"save\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3 5.75A2.75 2.75 0 0 1 5.75 3h9.965a3.25 3.25 0 0 1 2.298.952l2.035 2.035c.61.61.952 1.437.952 2.299v9.964A2.75 2.75 0 0 1 18.25 21H5.75A2.75 2.75 0 0 1 3 18.25zM5.75 4.5c-.69 0-1.25.56-1.25 1.25v12.5c0 .69.56 1.25 1.25 1.25H6v-5.25A2.25 2.25 0 0 1 8.25 12h7.5A2.25 2.25 0 0 1 18 14.25v5.25h.25c.69 0 1.25-.56 1.25-1.25V8.286c0-.465-.184-.91-.513-1.238l-2.035-2.035a1.75 1.75 0 0 0-.952-.49V7.25a2.25 2.25 0 0 1-2.25 2.25h-4.5A2.25 2.25 0 0 1 7 7.25V4.5zm10.75 15v-5.25a.75.75 0 0 0-.75-.75h-7.5a.75.75 0 0 0-.75.75v5.25zm-8-15v2.75c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75V4.5z\"/></symbol>\n <symbol id=\"save_all\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.75 18A2.75 2.75 0 0 1 3 15.25v-9.5A2.75 2.75 0 0 1 5.75 3h6.964a3.25 3.25 0 0 1 2.299.952l2.035 2.035c.61.61.952 1.437.952 2.299v6.964A2.75 2.75 0 0 1 15.25 18zM4.5 5.75v9.5c0 .69.56 1.25 1.25 1.25H6v-3.25A2.25 2.25 0 0 1 8.25 11h4.5A2.25 2.25 0 0 1 15 13.25v3.25h.25c.69 0 1.25-.56 1.25-1.25V8.286c0-.465-.184-.91-.513-1.238L14 5.061V6.25a2.25 2.25 0 0 1-2.25 2.25h-2.5A2.25 2.25 0 0 1 7 6.25V4.5H5.75c-.69 0-1.25.56-1.25 1.25m9 10.75v-3.25a.75.75 0 0 0-.75-.75h-4.5a.75.75 0 0 0-.75.75v3.25zm-5-10.25c0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75V4.5h-4zM10.75 21a4.74 4.74 0 0 1-3.464-1.5h8.964a3.25 3.25 0 0 0 3.25-3.25V8.44l.548.548c.61.609.952 1.436.952 2.298v4.964A4.75 4.75 0 0 1 16.25 21z\"/></symbol>\n <symbol id=\"scan_text\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.25 3.5A1.75 1.75 0 0 0 3.5 5.25v3a.75.75 0 0 1-1.5 0v-3A3.25 3.25 0 0 1 5.25 2h3a.75.75 0 0 1 0 1.5zm0 17a1.75 1.75 0 0 1-1.75-1.75v-3a.75.75 0 0 0-1.5 0v3A3.25 3.25 0 0 0 5.25 22h3a.75.75 0 0 0 0-1.5zM20.5 5.25a1.75 1.75 0 0 0-1.75-1.75h-3a.75.75 0 0 1 0-1.5h3A3.25 3.25 0 0 1 22 5.25v3a.75.75 0 0 1-1.5 0zM18.75 20.5a1.75 1.75 0 0 0 1.75-1.75v-3a.75.75 0 0 1 1.5 0v3A3.25 3.25 0 0 1 18.75 22h-3a.75.75 0 0 1 0-1.5zM7.75 7a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5zM7 11.75a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75M7.75 15a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5z\"/></symbol>\n <symbol id=\"screen\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.75 4A2.75 2.75 0 0 0 2 6.75v8.5A2.75 2.75 0 0 0 4.75 18h14.5A2.75 2.75 0 0 0 22 15.25v-8.5A2.75 2.75 0 0 0 19.25 4zM3.5 6.75c0-.69.56-1.25 1.25-1.25h14.5c.69 0 1.25.56 1.25 1.25v8.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25zM5.75 19.5a.75.75 0 0 0 0 1.5h12.5a.75.75 0 0 0 0-1.5z\"/></symbol>\n <symbol id=\"search\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.5 10a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0M10 3a7 7 0 1 0 4.391 12.452l5.329 5.328a.75.75 0 1 0 1.06-1.06l-5.328-5.329A7 7 0 0 0 10 3\"/></symbol>\n <symbol id=\"send\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.694 12 2.299 3.272a.75.75 0 0 1 .942-.982l.093.039 18 9a.75.75 0 0 1 .097 1.284l-.097.058-18 9c-.583.291-1.217-.245-1.065-.848l.03-.095zL2.299 3.272zM4.402 4.54l2.61 6.71h6.627a.75.75 0 0 1 .743.648l.007.102a.75.75 0 0 1-.649.743l-.101.007H7.01l-2.609 6.71L19.322 12z\"/></symbol>\n <symbol id=\"settings\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.012 2.25c.734.008 1.465.093 2.182.253a.75.75 0 0 1 .582.649l.17 1.527a1.384 1.384 0 0 0 1.927 1.116l1.4-.615a.75.75 0 0 1 .85.174 9.8 9.8 0 0 1 2.205 3.792.75.75 0 0 1-.272.825l-1.241.916a1.38 1.38 0 0 0 0 2.226l1.243.915a.75.75 0 0 1 .272.826 9.8 9.8 0 0 1-2.204 3.792.75.75 0 0 1-.849.175l-1.406-.617a1.38 1.38 0 0 0-1.926 1.114l-.17 1.526a.75.75 0 0 1-.571.647 9.5 9.5 0 0 1-4.406 0 .75.75 0 0 1-.572-.647l-.169-1.524a1.382 1.382 0 0 0-1.925-1.11l-1.406.616a.75.75 0 0 1-.85-.175 9.8 9.8 0 0 1-2.203-3.796.75.75 0 0 1 .272-.826l1.243-.916a1.38 1.38 0 0 0 0-2.226l-1.243-.914a.75.75 0 0 1-.272-.826 9.8 9.8 0 0 1 2.205-3.792.75.75 0 0 1 .85-.174l1.4.615a1.387 1.387 0 0 0 1.93-1.118l.17-1.526a.75.75 0 0 1 .583-.65q1.074-.238 2.201-.252m0 1.5a9 9 0 0 0-1.354.117l-.11.977A2.886 2.886 0 0 1 6.526 7.17l-.899-.394A8.3 8.3 0 0 0 4.28 9.092l.797.587a2.88 2.88 0 0 1 .001 4.643l-.799.588c.32.842.776 1.626 1.348 2.322l.905-.397a2.882 2.882 0 0 1 4.017 2.318l.109.984c.89.15 1.799.15 2.688 0l.11-.984a2.88 2.88 0 0 1 4.018-2.322l.904.396a8.3 8.3 0 0 0 1.348-2.318l-.798-.588a2.88 2.88 0 0 1-.001-4.643l.797-.587a8.3 8.3 0 0 0-1.348-2.317l-.897.393a2.884 2.884 0 0 1-4.023-2.324l-.109-.976a9 9 0 0 0-1.334-.117M12 8.25a3.75 3.75 0 1 1 0 7.5 3.75 3.75 0 0 1 0-7.5m0 1.5a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5\"/></symbol>\n <symbol id=\"shield\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3 5.75A.75.75 0 0 1 3.75 5c2.663 0 5.258-.943 7.8-2.85a.75.75 0 0 1 .9 0C14.992 4.057 17.587 5 20.25 5a.75.75 0 0 1 .75.75V11c0 5.001-2.958 8.676-8.725 10.948a.75.75 0 0 1-.55 0C5.958 19.676 3 16 3 11zm1.5.728V11c0 4.256 2.453 7.379 7.5 9.442 5.047-2.063 7.5-5.186 7.5-9.442V6.478c-2.577-.152-5.08-1.09-7.5-2.8-2.42 1.71-4.923 2.648-7.5 2.8\"/></symbol>\n <symbol id=\"shield_dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.45 2.15C14.992 4.057 17.587 5 20.25 5a.75.75 0 0 1 .75.75V11c0 5.001-2.958 8.676-8.725 10.948a.75.75 0 0 1-.55 0C5.958 19.676 3 16 3 11V5.75A.75.75 0 0 1 3.75 5c2.663 0 5.258-.943 7.8-2.85a.75.75 0 0 1 .9 0M12 3.678c-2.42 1.71-4.923 2.648-7.5 2.8V11c0 4.256 2.453 7.379 7.5 9.442 5.047-2.063 7.5-5.186 7.5-9.442V6.478c-2.577-.152-5.08-1.09-7.5-2.8M9.28 8.222l2.724 2.723 2.725-2.723a.75.75 0 0 1 .975-.073l.084.073a.75.75 0 0 1 .073.975l-.073.084-2.724 2.723 2.724 2.725a.749.749 0 1 1-1.06 1.059l-2.724-2.724-2.723 2.724a.75.75 0 0 1-.975.073l-.084-.073a.75.75 0 0 1-.073-.975l.073-.084 2.723-2.725-2.723-2.723A.75.75 0 0 1 9.28 8.22\"/></symbol>\n <symbol id=\"shield_lock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3 5.75A.75.75 0 0 1 3.75 5c2.663 0 5.258-.943 7.8-2.85a.75.75 0 0 1 .9 0C14.992 4.057 17.587 5 20.25 5a.75.75 0 0 1 .75.75V11q0 .271-.012.539a3.5 3.5 0 0 0-1.488-.894V6.478c-2.577-.152-5.08-1.09-7.5-2.8-2.42 1.71-4.923 2.648-7.5 2.8V11c0 4.256 2.453 7.379 7.5 9.442a21 21 0 0 0 1-.439V21.5q0 .075.004.146-.356.155-.73.302a.75.75 0 0 1-.549 0C5.958 19.676 3 16 3 11zM16 15v-1a2.5 2.5 0 0 1 5 0v1h.5a1.5 1.5 0 0 1 1.5 1.5v5a1.5 1.5 0 0 1-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5v-5a1.5 1.5 0 0 1 1.5-1.5zm1.5-1v1h2v-1a1 1 0 1 0-2 0m2 5a1 1 0 1 0-2 0 1 1 0 0 0 2 0\"/></symbol>\n <symbol id=\"shield_person\" viewBox=\"0 0 20 20\"><path fill=\"currentColor\" d=\"M10 9.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4m0 5c2.5 0 3.5-1.255 3.5-2.5a1.5 1.5 0 0 0-1.5-1.5H8A1.5 1.5 0 0 0 6.5 12c0 1.25 1 2.5 3.5 2.5m.277-12.416a.5.5 0 0 0-.554 0 15.05 15.05 0 0 1-6.294 2.421A.5.5 0 0 0 3 5v4.5c0 3.891 2.307 6.73 6.82 8.467a.5.5 0 0 0 .36 0C14.693 16.23 17 13.39 17 9.5V5a.5.5 0 0 0-.43-.495 15.05 15.05 0 0 1-6.293-2.421M4 5.428a16 16 0 0 0 5.6-2.082l.4-.249.4.249A16 16 0 0 0 16 5.428V9.5c0 3.392-1.968 5.863-6 7.463-4.032-1.6-6-4.071-6-7.463z\"/></symbol>\n <symbol id=\"shifts_activity\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11.314 3.527a.75.75 0 1 0-.12-1.495C6.049 2.442 2 6.748 2 12c0 5.523 4.477 10 10 10 5.249 0 9.553-4.044 9.967-9.186a.75.75 0 1 0-1.495-.12 8.5 8.5 0 1 1-9.158-9.167m6.383 1.147a.75.75 0 0 1 1.06-.046q.322.294.616.617a.75.75 0 0 1-1.105 1.013 9 9 0 0 0-.525-.525.75.75 0 0 1-.046-1.06M11.25 6a.75.75 0 0 1 .743.648L12 6.75V12h3.25a.75.75 0 0 1 .102 1.493l-.102.007h-4a.75.75 0 0 1-.743-.649l-.007-.101v-6a.75.75 0 0 1 .75-.75m2.531-3.11a.75.75 0 0 1 .925-.52 10 10 0 0 1 1.074.37.75.75 0 1 1-.567 1.388q-.444-.182-.912-.313a.75.75 0 0 1-.52-.925m7.478 5.325a.75.75 0 1 0-1.389.568 8 8 0 0 1 .315.915.75.75 0 1 0 1.444-.405 10 10 0 0 0-.37-1.078\"/></symbol>\n <symbol id=\"shifts_checkmark\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.5 6.25c0-.966.784-1.75 1.75-1.75h11.5c.966 0 1.75.784 1.75 1.75v11.5a1.75 1.75 0 0 1-1.75 1.75h-5.063a6.5 6.5 0 0 1-.709 1.5h5.772A3.25 3.25 0 0 0 21 17.75V6.25A3.25 3.25 0 0 0 17.75 3H6.25A3.25 3.25 0 0 0 3 6.25v5.772a6.5 6.5 0 0 1 1.5-.709zm8 .5a.75.75 0 0 0-1.5 0v6c0 .414.336.75.75.75h4.5a.75.75 0 0 0 0-1.5H12.5zM12 17.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-3.146-1.854a.5.5 0 0 0-.708 0L5.5 18.293l-.896-.897a.5.5 0 0 0-.708.708l1.25 1.25a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0 0-.708\"/></symbol>\n <symbol id=\"shifts_open\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.5 6.25c0-.966.784-1.75 1.75-1.75h3a.75.75 0 0 0 0-1.5h-3A3.25 3.25 0 0 0 3 6.25v11.5A3.25 3.25 0 0 0 6.25 21h3a.75.75 0 0 0 0-1.5h-3a1.75 1.75 0 0 1-1.75-1.75zM14.747 3a.75.75 0 0 0 0 1.5h3.003c.966 0 1.75.784 1.75 1.75v11.5a1.75 1.75 0 0 1-1.75 1.75h-3.003a.75.75 0 0 0 0 1.5h3.003A3.25 3.25 0 0 0 21 17.75V6.25A3.25 3.25 0 0 0 17.75 3zM12.5 6.75a.75.75 0 0 0-1.5 0v6c0 .414.336.75.75.75h4.5a.75.75 0 0 0 0-1.5H12.5z\"/></symbol>\n <symbol id=\"slide_text\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.75 8a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5zM6 11.75a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75M6.75 14a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm-2-10A2.75 2.75 0 0 0 2 6.75v10.5A2.75 2.75 0 0 0 4.75 20h14.5A2.75 2.75 0 0 0 22 17.25V6.75A2.75 2.75 0 0 0 19.25 4zM3.5 6.75c0-.69.56-1.25 1.25-1.25h14.5c.69 0 1.25.56 1.25 1.25v10.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25z\"/></symbol>\n <symbol id=\"squalls\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.077 6.884A4.07 4.07 0 0 1 11.973 4C14.174 4 16 5.783 16 8a4 4 0 0 1-4 4H2.75a.75.75 0 0 1 0-1.5H12A2.5 2.5 0 0 0 14.5 8c0-1.373-1.138-2.5-2.527-2.5-1.13 0-2.138.743-2.46 1.815l-.045.15a.75.75 0 1 1-1.436-.43zm8.212 5.129A2.94 2.94 0 0 1 19.07 10 2.93 2.93 0 0 1 22 12.93V13a3 3 0 0 1-3 3h-1.3a2.75 2.75 0 0 1-2.45 4h-.135a2.56 2.56 0 0 1-2.285-1.41.75.75 0 0 1 1.34-.673c.18.357.545.583.945.583h.135a1.25 1.25 0 1 0 0-2.5H2.75a.75.75 0 0 1 0-1.5H19a1.5 1.5 0 0 0 1.5-1.5v-.07c0-.79-.64-1.43-1.43-1.43-.61 0-1.163.4-1.358.987a.75.75 0 0 1-1.424-.474\"/></symbol>\n <symbol id=\"star\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.788 3.102c.495-1.003 1.926-1.003 2.421 0l2.358 4.778 5.273.766c1.107.16 1.549 1.522.748 2.303l-3.816 3.719.901 5.25c.19 1.104-.968 1.945-1.959 1.424l-4.716-2.48-4.715 2.48c-.99.52-2.148-.32-1.96-1.423l.901-5.251-3.815-3.72c-.801-.78-.359-2.141.748-2.302L8.43 7.88zm1.21.937L9.74 8.614a1.35 1.35 0 0 1-1.016.739l-5.05.734 3.654 3.562c.318.31.463.757.388 1.195l-.862 5.029 4.516-2.375a1.35 1.35 0 0 1 1.257 0l4.516 2.375-.862-5.03a1.35 1.35 0 0 1 .388-1.194l3.654-3.562-5.05-.734a1.35 1.35 0 0 1-1.016-.739z\"/></symbol>\n <symbol id=\"star_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.788 3.102c.495-1.003 1.926-1.003 2.421 0l2.358 4.778 5.273.766c1.107.16 1.549 1.522.748 2.303l-3.816 3.719.901 5.25c.19 1.104-.968 1.945-1.959 1.424l-4.716-2.48-4.715 2.48c-.99.52-2.148-.32-1.96-1.423l.901-5.251-3.815-3.72c-.801-.78-.359-2.141.748-2.302L8.43 7.88z\"/></symbol>\n <symbol id=\"status\" viewBox=\"0 0 24 24\"><path fill=\"#212121\" fill-rule=\"nonzero\" d=\"M19.75 4A2.25 2.25 0 0 1 22 6.25v11.5A2.25 2.25 0 0 1 19.75 20H4.25A2.25 2.25 0 0 1 2 17.75V6.25A2.25 2.25 0 0 1 4.25 4Zm0 1.5H4.25a.75.75 0 0 0-.75.75v11.5c0 .414.336.75.75.75h15.5a.75.75 0 0 0 .75-.75V6.25a.75.75 0 0 0-.75-.75\"/><path fill=\"#212121\" d=\"M9.42 8.415a.75.75 0 0 0-1.348.014L6.382 12H2.75a.75.75 0 0 0 0 1.5h4.107a.75.75 0 0 0 .678-.43l1.234-2.606 2.56 5.121a.75.75 0 0 0 1.279.104l2.698-3.736 1.13 1.29A.75.75 0 0 0 17 13.5h4.25a.75.75 0 0 0 0-1.5h-3.91l-1.526-1.744a.75.75 0 0 0-1.172.055l-2.525 3.496z\"/></symbol>\n <symbol id=\"subtract_square\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.25 11.25h-8.5a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5A3.25 3.25 0 0 0 6.25 21h11.5A3.25 3.25 0 0 0 21 17.75V6.25A3.25 3.25 0 0 0 17.75 3zM4.5 6.25c0-.966.784-1.75 1.75-1.75h11.5c.966 0 1.75.784 1.75 1.75v11.5a1.75 1.75 0 0 1-1.75 1.75H6.25a1.75 1.75 0 0 1-1.75-1.75z\"/></symbol>\n <symbol id=\"sun\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 12 2m0 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10m0-1.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7m9.25-2.75a.75.75 0 0 0 0-1.5h-1.5a.75.75 0 0 0 0 1.5zM12 19a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 12 19m-7.75-6.25a.75.75 0 0 0 0-1.5h-1.5a.75.75 0 0 0 0 1.5zm-.03-8.53a.75.75 0 0 1 1.06 0l1.5 1.5a.75.75 0 0 1-1.06 1.06l-1.5-1.5a.75.75 0 0 1 0-1.06m1.06 15.56a.75.75 0 1 1-1.06-1.06l1.5-1.5a.75.75 0 1 1 1.06 1.06zm14.5-15.56a.75.75 0 0 0-1.06 0l-1.5 1.5a.75.75 0 0 0 1.06 1.06l1.5-1.5a.75.75 0 0 0 0-1.06m-1.06 15.56a.75.75 0 1 0 1.06-1.06l-1.5-1.5a.75.75 0 1 0-1.06 1.06z\"/></symbol>\n <symbol id=\"sync\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.25 5.18a.75.75 0 0 0 .142 1.051 7.251 7.251 0 0 1-3.599 12.976l.677-.677a.75.75 0 0 0-.977-1.133l-.084.073-2 2a.75.75 0 0 0-.073.976l.073.084 2 2a.75.75 0 0 0 1.133-.976l-.072-.084-.75-.75a8.75 8.75 0 0 0 4.581-15.68.75.75 0 0 0-1.051.141m-5.72-3.71a.75.75 0 0 0 0 1.06l.75.75a8.75 8.75 0 0 0-4.85 15.47.75.75 0 1 0 .956-1.157 7.251 7.251 0 0 1 3.82-12.8l-.676.677a.75.75 0 1 0 1.061 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0\"/></symbol>\n <symbol id=\"tasks\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19.995 4.097A2.25 2.25 0 0 0 17.75 2H6.25l-.154.005A2.25 2.25 0 0 0 4 4.251v15.498l.005.154A2.25 2.25 0 0 0 6.25 22h7.568l-1.5-1.5H6.25l-.102-.007a.75.75 0 0 1-.648-.743V4.251l.007-.102a.75.75 0 0 1 .743-.648h11.5l.102.007a.75.75 0 0 1 .648.743v11.567l1.159-1.159q.16-.16.34-.28V4.25zm-3.707 17.902h-.076a.75.75 0 0 1-.493-.219l-2.5-2.502a.75.75 0 0 1 1.062-1.06l1.969 1.971 4.47-4.47a.75.75 0 1 1 1.06 1.061l-5 5a.75.75 0 0 1-.492.219M13.84 16.5a2 2 0 0 0-.182 0h-2.413a.75.75 0 0 1 0-1.5h5.004a.75.75 0 1 1 0 1.5zM9 7.752a1 1 0 1 1-2 0 1 1 0 0 1 2 0m1.496-.002a.75.75 0 0 1 .75-.75h5.004a.75.75 0 1 1 0 1.5h-5.004a.75.75 0 0 1-.75-.75m.75 3.25a.75.75 0 0 0 0 1.5h5.004a.75.75 0 1 0 0-1.5zM8 12.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2m1 2.998a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"/></symbol>\n <symbol id=\"timer\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 5a8.5 8.5 0 1 1 0 17 8.5 8.5 0 0 1 0-17m0 1.5a7 7 0 1 0 0 14 7 7 0 0 0 0-14M12 8a.75.75 0 0 1 .743.648l.007.102v4.5a.75.75 0 0 1-1.493.102l-.007-.102v-4.5A.75.75 0 0 1 12 8m7.147-2.886.083.06 1.158.964a.75.75 0 0 1-.877 1.212l-.082-.06-1.159-.964a.75.75 0 0 1 .877-1.212M14.25 2.5a.75.75 0 0 1 .102 1.493L14.25 4h-4.5a.75.75 0 0 1-.102-1.493L9.75 2.5z\"/></symbol>\n <symbol id=\"upload\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.25 3.51a.75.75 0 1 0 0-1.5l-13-.004a.75.75 0 1 0 0 1.5zm-6.602 18.488.102.007a.75.75 0 0 0 .743-.649l.007-.101-.001-13.685 3.722 3.72a.75.75 0 0 0 .976.073l.085-.073a.75.75 0 0 0 .072-.977l-.073-.084-4.997-4.996a.75.75 0 0 0-.976-.073l-.085.072L6.22 10.23a.75.75 0 0 0 .976 1.134l.084-.073 3.719-3.713L11 21.255c0 .38.282.693.648.743\"/></symbol>\n <symbol id=\"user\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.755 14a2.25 2.25 0 0 1 2.248 2.25v.575c0 .894-.32 1.759-.9 2.438-1.57 1.833-3.957 2.738-7.103 2.738s-5.532-.905-7.098-2.74a3.75 3.75 0 0 1-.898-2.434v-.578A2.25 2.25 0 0 1 6.253 14zm0 1.5H6.252a.75.75 0 0 0-.75.75v.577c0 .535.192 1.053.54 1.46 1.253 1.469 3.22 2.214 5.957 2.214 2.739 0 4.706-.745 5.963-2.213a2.25 2.25 0 0 0 .54-1.463v-.576a.75.75 0 0 0-.748-.749M12 2.005a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 1.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7\"/></symbol>\n <symbol id=\"user_multiple\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M14.754 10c.966 0 1.75.784 1.75 1.75v4.749a4.501 4.501 0 0 1-9.002 0V11.75c0-.966.783-1.75 1.75-1.75zm0 1.5H9.252a.25.25 0 0 0-.25.25v4.749a3.001 3.001 0 0 0 6.002 0V11.75a.25.25 0 0 0-.25-.25M3.75 10h3.381a2.74 2.74 0 0 0-.618 1.5H3.75a.25.25 0 0 0-.25.25v3.249a2.5 2.5 0 0 0 3.082 2.433c.085.504.24.985.453 1.432Q6.539 18.999 6 19a4 4 0 0 1-4-4.001V11.75c0-.966.784-1.75 1.75-1.75m13.125 0h3.375c.966 0 1.75.784 1.75 1.75V15a4 4 0 0 1-5.03 3.866c.214-.448.369-.929.455-1.433q.277.066.575.067a2.5 2.5 0 0 0 2.5-2.5v-3.25a.25.25 0 0 0-.25-.25h-2.757a2.74 2.74 0 0 0-.618-1.5M12 3a3 3 0 1 1 0 6 3 3 0 0 1 0-6m6.5 1a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5m-13 0a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5m6.5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m6.5 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-13 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2\"/></symbol>\n <symbol id=\"user_role\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M14 14H4.253a2.25 2.25 0 0 0-2.25 2.25v.577c0 .892.32 1.756.9 2.435 1.565 1.834 3.952 2.74 7.097 2.74q1.072 0 2.026-.141a2.5 2.5 0 0 1-.026-.36v-1.154q-.92.154-2 .154c-2.738 0-4.704-.745-5.957-2.213a2.25 2.25 0 0 1-.54-1.461v-.578a.75.75 0 0 1 .75-.749h7.955A2.5 2.5 0 0 1 14 14.05zM10 2.005a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 1.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7M15 15h-.5a1.5 1.5 0 0 0-1.5 1.5v5a1.5 1.5 0 0 0 1.5 1.5h6a1.5 1.5 0 0 0 1.5-1.5v-5a1.5 1.5 0 0 0-1.5-1.5H20v-1a2.5 2.5 0 0 0-5 0zm1.5-1a1 1 0 0 1 2 0v1h-2zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"/></symbol>\n <symbol id=\"warning\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13 17a.999.999 0 1 0-1.998 0 .999.999 0 0 0 1.997 0m-.26-7.853a.75.75 0 0 0-1.493.103l.004 4.501.007.102a.75.75 0 0 0 1.493-.103l-.004-4.502zm1.23-5.488c-.857-1.548-3.082-1.548-3.938 0L2.286 17.66c-.83 1.5.255 3.34 1.97 3.34h15.49c1.714 0 2.799-1.84 1.969-3.34zm-2.626.726a.75.75 0 0 1 1.313 0l7.746 14.002a.75.75 0 0 1-.657 1.113H4.256a.75.75 0 0 1-.657-1.113z\"/></symbol>\n <symbol id=\"zoom_fit\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11.49 2.707a.75.75 0 0 1 1.03.002l2.206 2.09a.75.75 0 1 0 1.032-1.088L13.551 1.62a2.25 2.25 0 0 0-3.09-.005L8.237 3.71A.75.75 0 0 0 9.265 4.8zM4.802 9.263a.75.75 0 0 0-1.091-1.028l-2.095 2.224a2.25 2.25 0 0 0 .005 3.09l2.091 2.207a.75.75 0 1 0 1.089-1.032L2.71 12.517a.75.75 0 0 1-.001-1.03zm15.485-1.02A.75.75 0 1 0 19.2 9.275l2.098 2.213a.75.75 0 0 1 0 1.033L19.2 14.734a.75.75 0 0 0 1.088 1.032l2.099-2.213a2.25 2.25 0 0 0 0-3.097zm-4.522 12.045a.75.75 0 0 0-1.032-1.088l-2.212 2.097a.75.75 0 0 1-1.032 0L9.275 19.2a.75.75 0 0 0-1.032 1.09l2.216 2.097a2.25 2.25 0 0 0 3.095 0zM9.75 7A2.75 2.75 0 0 0 7 9.75v4.5A2.75 2.75 0 0 0 9.75 17h4.5A2.75 2.75 0 0 0 17 14.25v-4.5A2.75 2.75 0 0 0 14.25 7zM8.5 9.75c0-.69.56-1.25 1.25-1.25h4.5c.69 0 1.25.56 1.25 1.25v4.5c0 .69-.56 1.25-1.25 1.25h-4.5c-.69 0-1.25-.56-1.25-1.25z\"/></symbol>\n <symbol id=\"zoom_in\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.5 10a.75.75 0 0 0-.75-.75h-2v-2a.75.75 0 0 0-1.5 0v2h-2a.75.75 0 1 0 0 1.5h2v2a.75.75 0 0 0 1.5 0v-2h2a.75.75 0 0 0 .75-.75M10 2.75a7.25 7.25 0 0 1 5.63 11.819l4.9 4.9a.75.75 0 0 1-.976 1.134l-.084-.073-4.901-4.9A7.25 7.25 0 1 1 10 2.75m0 1.5a5.75 5.75 0 1 0 0 11.5 5.75 5.75 0 0 0 0-11.5\"/></symbol>\n <symbol id=\"zoom_out\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.75 9.25a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5zm4.5.75a7.25 7.25 0 1 0-2.681 5.63l4.9 4.9.085.073a.75.75 0 0 0 .976-1.133l-4.9-4.901A7.22 7.22 0 0 0 17.25 10m-13 0a5.75 5.75 0 1 1 11.5 0 5.75 5.75 0 0 1-11.5 0\"/></symbol>\n</svg>\n`;\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, Inject, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { TranslocoService } from '@jsverse/transloco';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport type { Asset, AssetType, Event } from '@hahnpro/hpc-api';\nimport { LoggerModule, NGXLogger } from 'ngx-logger';\n\nimport { ContextService } from '../context.service';\nimport { AiTranslocoModule } from '../transloco.module';\nimport { ChatScrollDirective } from '../chat-scroll.directive';\nimport { ChatService } from '../chat.service';\nimport { MessageInputComponent } from '../message-input/message-input.component';\nimport { ThreadComponent } from '../thread/thread.component';\nimport { WebsocketService } from '../websocket.service';\nimport { svgString } from './icons';\n\n@Component({\n imports: [\n AiTranslocoModule,\n ChatScrollDirective,\n CommonModule,\n LoggerModule,\n MatButtonModule,\n MatDialogModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n FormsModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MessageInputComponent,\n ThreadComponent,\n ],\n providers: [ChatService, ContextService, WebsocketService],\n templateUrl: './chat-dialog.component.html',\n})\nexport class AiChatDialogComponent implements OnInit {\n readonly chatService = inject(ChatService);\n readonly confirm: boolean;\n readonly type: 'asset' | 'help' | 'report' | 'incident' = 'asset';\n\n private readonly asset: Asset;\n private readonly event: Event;\n private readonly task: Task;\n private readonly logger = inject(NGXLogger);\n private readonly translocoService = inject(TranslocoService);\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private readonly matDialogRef: MatDialogRef<AiChatDialogComponent>,\n matIconRegistry: MatIconRegistry,\n domSanitizer: DomSanitizer,\n ) {\n this.asset = data.asset;\n this.confirm = !!data.confirm;\n this.event = data.event;\n this.task = data.task;\n this.type = data.type || 'asset';\n\n const blob = new Blob([svgString], { type: 'image/svg+xml' });\n const url = URL.createObjectURL(blob);\n matIconRegistry.addSvgIconSet(\n domSanitizer.bypassSecurityTrustResourceUrl(url),\n );\n }\n\n ngOnInit(): void {\n let task = {};\n if (this.task) {\n task = {\n name: this.task.name,\n reason: this.task.reason,\n description: this.task.description,\n priority: this.task.priority,\n };\n }\n\n this.chatService\n .init()\n .then(async () => {\n const initialMessage = this.translocoService.translate(\n 'ai.prompts.' + this.type,\n {\n assetId: this.asset?.id,\n assetName: this.asset?.name,\n assetTypeId: (this.asset?.type as AssetType)?.id,\n assetTypeName: (this.asset?.type as AssetType)?.name,\n task: JSON.stringify(task),\n },\n );\n const type = this.type === 'help' ? 'asset' : this.type;\n const assistantId = type + '-assistant';\n await this.chatService.createThreadForModal(\n assistantId,\n initialMessage,\n );\n })\n .catch((err) => {\n this.logger.error(err);\n this.close();\n });\n }\n\n close(message?: string) {\n this.matDialogRef.close(message);\n }\n}\n\nexport interface Task {\n name: string;\n description?: string;\n priority: string;\n tags?: string[];\n author?: string;\n readPermissions: string[];\n readWritePermissions: string[];\n assetRef?: string;\n assetRef$name?: string;\n eventRef?: string;\n eventRef$name?: string;\n schedule?: string;\n expiryDate?: Date;\n parent?: string;\n parent$name?: string;\n subTasks?: string[];\n assignedTo: string[];\n status?: string;\n acceptedBy?: string;\n reason?: string;\n statusHistoryLog?: string[];\n createdAt?: string;\n updatedAt?: string;\n}\n","<div class=\"flex h-full w-full flex-col\" *transloco=\"let t\">\n <div class=\"flex justify-end pb-2\">\n <button\n mat-icon-button\n (click)=\"close()\"\n class=\"small bg-zinc-50 text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 dark:bg-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-50\"\n >\n <mat-icon svgIcon=\"dismiss\"></mat-icon>\n </button>\n </div>\n <div\n class=\"flex h-full w-full flex-col items-center overflow-y-auto\"\n aiChatScroll\n >\n <ai-thread class=\"flex h-full w-full\"></ai-thread>\n </div>\n <ai-message-input class=\"w-full\"></ai-message-input>\n @if (confirm) {\n <div class=\"flex w-full justify-center px-6 pt-8\">\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"close('confirmed')\"\n class=\"w-full sm:w-auto\"\n >\n {{ t('solve') }}\n </button>\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { LoggerModule, NgxLoggerLevel } from 'ngx-logger';\nimport { CommonModule } from '@angular/common';\n\nimport { ChatService } from './chat.service';\nimport { WebsocketService } from './websocket.service';\nimport { ContextService } from './context.service';\nimport { ApiService } from '../core/api.service';\nimport { AiTranslocoModule } from './transloco.module';\n\n@NgModule({\n imports: [\n CommonModule,\n LoggerModule.forRoot({\n level: NgxLoggerLevel.DEBUG,\n disableConsoleLogging: false,\n }),\n ],\n providers: [ApiService, ChatService, ContextService, WebsocketService],\n exports: [AiTranslocoModule],\n})\nexport class AiModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Provider } from '@angular/core';\nimport { MARKED_OPTIONS, provideMarkdown } from 'ngx-markdown';\n\n/**\n * Provides Markdown configuration for AI SDK\n * This allows consuming applications to not have to set up Markdown themselves\n */\nexport function provideAiMarkdown(): Provider {\n return provideMarkdown({\n loader: HttpClient,\n markedOptions: {\n provide: MARKED_OPTIONS,\n useValue: {\n gfm: true,\n breaks: true,\n pedantic: false,\n },\n },\n });\n}\n","import { EnvironmentProviders, Provider } from '@angular/core';\nimport { provideAiMarkdown } from '../core/markdown.provider';\nimport { AiTranslocoModule } from './transloco.module';\nimport { importProvidersFrom } from '@angular/core';\nimport {\n provideHttpClient,\n withInterceptorsFromDi,\n} from '@angular/common/http';\nimport { LoggerModule, NgxLoggerLevel } from 'ngx-logger';\n\n/**\n * Provides all necessary providers for AI SDK\n * This allows consuming applications to configure the AI SDK with a single function\n */\nexport function provideAiSdk(): (Provider | EnvironmentProviders)[] {\n return [\n importProvidersFrom(\n AiTranslocoModule,\n LoggerModule.forRoot({\n level: NgxLoggerLevel.DEBUG,\n disableConsoleLogging: false,\n }),\n ),\n provideAiMarkdown(),\n provideHttpClient(withInterceptorsFromDi()),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ApiService","i4","i5","i8","i1","i2","i3","i7.BytesPipe","i8.DateAgoPipe","HttpClient"],"mappings":"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"}
1
+ {"version":3,"file":"hahnpro-ai-sdk.mjs","sources":["../../../../packages/ai-sdk/src/lib/core/api.service.ts","../../../../packages/ai-sdk/src/lib/core/owner-resolver.service.ts","../../../../packages/ai-sdk/src/lib/ai/context.service.ts","../../../../packages/ai-sdk/src/lib/ai/transloco.module.ts","../../../../packages/ai-sdk/src/lib/ai/chat-scroll.directive.ts","../../../../packages/ai-sdk/src/lib/ai/websocket.service.ts","../../../../packages/ai-sdk/src/lib/ai/utils.ts","../../../../packages/ai-sdk/src/lib/ai/chat.service.ts","../../../../packages/ai-sdk/src/lib/ai/voice-recognition.service.ts","../../../../packages/ai-sdk/src/lib/ai/message-input/message-input.component.ts","../../../../packages/ai-sdk/src/lib/ai/message-input/message-input.component.html","../../../../packages/ai-sdk/src/lib/core/pipes/bytes.pipe.ts","../../../../packages/ai-sdk/src/lib/core/pipes/color-level.pipe.ts","../../../../packages/ai-sdk/src/lib/core/pipes/date-ago.pipe.ts","../../../../packages/ai-sdk/src/lib/core/pipes/pipes.module.ts","../../../../packages/ai-sdk/src/lib/core/utils/i18n.ts","../../../../packages/ai-sdk/src/lib/core/utils/mimetype.ts","../../../../packages/ai-sdk/src/lib/core/utils/index.ts","../../../../packages/ai-sdk/src/lib/ai/preview/preview.component.ts","../../../../packages/ai-sdk/src/lib/ai/preview/preview.component.html","../../../../packages/ai-sdk/src/lib/ai/context-overlay/context-overlay.component.ts","../../../../packages/ai-sdk/src/lib/ai/context-overlay/context-overlay.component.html","../../../../packages/ai-sdk/src/lib/ai/message-context/message-context.component.ts","../../../../packages/ai-sdk/src/lib/ai/message-context/message-context.component.html","../../../../packages/ai-sdk/src/lib/ai/thread/thread.component.ts","../../../../packages/ai-sdk/src/lib/ai/thread/thread.component.html","../../../../packages/ai-sdk/src/lib/ai/chat-dialog/icons.ts","../../../../packages/ai-sdk/src/lib/ai/chat-dialog/chat-dialog.component.ts","../../../../packages/ai-sdk/src/lib/ai/chat-dialog/chat-dialog.component.html","../../../../packages/ai-sdk/src/lib/ai/ai.module.ts","../../../../packages/ai-sdk/src/lib/core/markdown.provider.ts","../../../../packages/ai-sdk/src/lib/ai/providers.ts","../../../../packages/ai-sdk/src/hahnpro-ai-sdk.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n clientCredentialsGrant,\n discovery,\n Configuration,\n} from 'openid-client';\nimport type {\n AiAssistant,\n Asset,\n Content,\n Event,\n Message,\n Paginated,\n RequestParameter,\n SpeechToken,\n Thread,\n ThreadPopulated,\n} from '@hahnpro/hpc-api';\n\n@Injectable({ providedIn: 'root' })\nexport class ApiService {\n private _baseUrl = 'https://adam.hahnpro.com';\n private apiPath = '/api';\n private realm = 'adam';\n private httpClient = new HttpClient();\n\n get baseUrl(): string {\n return this._baseUrl;\n }\n\n get apiUrl(): string {\n return `${this.baseUrl}${this.apiPath}`;\n }\n\n get user(): User | null {\n return this.httpClient.user;\n }\n\n init(\n clientId: string,\n clientSecret: string,\n baseUrl?: string,\n realm?: string,\n ) {\n this._baseUrl = baseUrl || 'https://adam.hahnpro.com';\n this.realm = realm || 'adam';\n return this.httpClient.init(\n `${this.baseUrl}/auth/realms/${this.realm}`,\n clientId,\n clientSecret,\n );\n }\n\n getAccessToken(): Promise<string> {\n return this.httpClient.getAccessToken();\n }\n\n createThread(\n assistantId: string,\n isEphemeral?: boolean,\n ): Promise<ThreadPopulated> {\n return this.httpClient.post(`${this.apiUrl}/ai/threads`, {\n assistantId,\n isEphemeral,\n });\n }\n\n getThread(threadId: string): Promise<ThreadPopulated> {\n return this.httpClient.get(`${this.apiUrl}/ai/threads/${threadId}`);\n }\n\n getThreadMessages(threadId: string): Promise<Paginated<Message[]>> {\n return this.httpClient.get(\n `${this.apiUrl}/ai/threads/${threadId}/messages`,\n );\n }\n\n deleteThread(threadId: string): Promise<Thread> {\n return this.httpClient.delete(`${this.apiUrl}/ai/threads/${threadId}`);\n }\n\n getAssistants(): Promise<AiAssistant[]> {\n return this.httpClient.get(`${this.apiUrl}/ai/assistants`);\n }\n\n getSpeechToken(): Promise<SpeechToken> {\n return this.httpClient.get<SpeechToken>(`${this.apiUrl}/ai/speech/token`);\n }\n\n getAssets(params: RequestParameter = {}): Promise<Paginated<Asset[]>> {\n params.limit = params.limit || 0;\n params.page = params.page || 1;\n return this.httpClient.get(`${this.apiUrl}/assets`, { params });\n }\n\n getContents(params: RequestParameter = {}): Promise<Paginated<Content[]>> {\n params.limit = params.limit || 0;\n params.page = params.page || 1;\n return this.httpClient.get(`${this.apiUrl}/contents`, { params });\n }\n\n getEvents(params: RequestParameter = {}): Promise<Paginated<Event[]>> {\n params.limit = params.limit || 0;\n params.page = params.page || 1;\n return this.httpClient.get(`${this.apiUrl}/events`, { params });\n }\n\n downloadContent(id: string, type?: FileType): Promise<Blob> {\n const query = type ? '?type=' + type : '';\n return this.httpClient.get(\n `${this.apiUrl}/contents/${id}/download${query}`,\n );\n }\n\n async loadUsersAsPermissions(): Promise<Permission[]> {\n if (this.httpClient.user?.roles.includes('superuser')) {\n return this.httpClient.get<Permission[]>(\n `${this.apiUrl}/user/permissions`,\n );\n } else {\n return [];\n }\n }\n}\n\nexport type TokenOption = { token?: string };\nexport type Config = TokenOption & {\n headers?: Record<string, string>;\n params?: any;\n};\n\nexport class HttpClient {\n private config: Configuration | null = null;\n private token: string | null = null;\n private expiresAt = 0;\n private _user: User | null = null;\n\n async init(serverUrl: string, clientId: string, clientSecret: string) {\n this.config = await discovery(new URL(serverUrl), clientId, clientSecret);\n }\n\n public delete = <T>(url: string, config?: Config) =>\n this.request<T>('DELETE', url, config);\n public get = <T>(url: string, config?: Config) =>\n this.request<T>('GET', url, config);\n public post = <T>(url: string, data: any, config?: Config) =>\n this.request<T>('POST', url, config, data);\n public put = <T>(url: string, data: any, config?: Config) =>\n this.request<T>('PUT', url, config, data);\n\n get user(): User | null {\n return this._user;\n }\n\n protected request = async <T>(\n method: Method,\n url: string,\n config: Config = {},\n data?: BodyInit | null | undefined,\n ): Promise<T> => {\n const token = await this.getAccessToken();\n if (config.params) {\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(config.params)) {\n params.append(key, String(value));\n }\n url += `?${params}`;\n }\n const response = await fetch(url, {\n method,\n headers: {\n Authorization: `Bearer ${token}`,\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n body: data ? JSON.stringify(data) : undefined,\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n };\n\n async getAccessToken(): Promise<string> {\n if (!this.config) {\n throw new Error('HttpClient not initialized');\n }\n if (!this.token || this.expiresAt <= Date.now()) {\n const tokenResponse = await clientCredentialsGrant(this.config);\n this.token = tokenResponse.access_token;\n this.expiresAt = Date.now() + (tokenResponse.expires_in ?? 0) * 1000;\n this.resolveUser(this.token);\n }\n return this.token;\n }\n\n private resolveUser(token: string) {\n try {\n const tokenParts = token.split('.');\n if (tokenParts.length !== 3) {\n throw new Error('Invalid JWT token format');\n }\n const payload = JSON.parse(atob(tokenParts[1]));\n this._user = {\n id: payload.sub,\n username: payload.preferred_username || payload.email,\n roles: payload.roles || [],\n activeOrg: payload.active_organization\n ? {\n id: payload.active_organization.id,\n name: payload.active_organization.name,\n }\n : undefined,\n };\n } catch (error) {\n console.error('Error parsing JWT token:', error);\n this._user = null;\n }\n }\n}\n\nexport type Method =\n | 'get'\n | 'GET'\n | 'delete'\n | 'DELETE'\n | 'head'\n | 'HEAD'\n | 'options'\n | 'OPTIONS'\n | 'post'\n | 'POST'\n | 'put'\n | 'PUT'\n | 'patch'\n | 'PATCH'\n | 'purge'\n | 'PURGE'\n | 'link'\n | 'LINK'\n | 'unlink'\n | 'UNLINK';\n\nexport type FileType =\n | 'original'\n | 'preview-sm'\n | 'preview-md'\n | 'preview-lg'\n | 'preview-xl';\n\nexport interface Permission {\n label: string;\n value: string;\n}\n\nexport interface User {\n id: string;\n username: string;\n activeOrg?: {\n id: string;\n name: string;\n };\n roles: string[];\n}\n","import { inject, Injectable } from '@angular/core';\nimport { NGXLogger } from 'ngx-logger';\n\nimport { ApiService } from './api.service';\n\n/**\n * Service to resolve owner names based on their IDs. It utilizes caching to minimize\n * redundant requests and leverages authentication and user services to fetch owner details.\n */\n@Injectable({ providedIn: 'root' })\nexport class OwnerResolverService {\n private readonly cache = new ResponseCache(1000, 24 * 60 * 60 * 1000);\n private readonly apiService = inject(ApiService);\n\n /**\n * Resolves the owner name for a given ID.\n */\n async resolveOwner(id: string): Promise<string> {\n return (await this.resolveOwners(id))?.[id];\n }\n\n /**\n * Resolves owner names for a list of IDs.\n */\n async resolveOwners(ids: string | string[]): Promise<Record<string, string>> {\n if (typeof ids === 'string') {\n ids = [ids];\n }\n const idsMap = new Map<string, string>();\n const idsToFetch = new Set<string>();\n\n if (Array.isArray(ids) && ids.length > 0) {\n for (const id of ids) {\n const cachedValue = this.cache.get(id);\n if (cachedValue) {\n idsMap.set(id, cachedValue);\n } else {\n const resolved = await this.resolveFromAuth(id, idsMap);\n if (!resolved) {\n idsToFetch.add(id);\n }\n }\n }\n\n if (idsToFetch.size > 0) {\n await this.fetchIds(idsToFetch, idsMap);\n }\n return Object.fromEntries(idsMap);\n } else {\n return {};\n }\n }\n\n /**\n * Attempts to resolve the owner name from the authentication service.\n */\n private async resolveFromAuth(\n id: string,\n idsMap: Map<string, string>,\n ): Promise<boolean> {\n const { id: userId, username, activeOrg } = this.apiService.user;\n let name: string;\n if (id === userId) {\n name = username;\n } else if (activeOrg.id === id) {\n name = activeOrg.name;\n }\n\n if (name) {\n idsMap.set(id, name);\n this.cache.set(id, name);\n return true;\n } else {\n return false;\n }\n }\n\n private async fetchIds(\n idsToFetch: Set<string>,\n idsMap: Map<string, string>,\n ): Promise<void> {\n try {\n const permissions = await this.apiService.loadUsersAsPermissions();\n const ids = permissions.reduce((acc, user) => {\n acc[user.value] = user.label;\n return acc;\n }, {});\n\n for (const id of Object.keys(idsToFetch)) {\n if (ids[id]) {\n idsMap.set(id, ids[id]);\n this.cache.set(id, ids[id]);\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n}\n\nclass ResponseCache {\n private cache = new Map<string, [any, number]>();\n\n constructor(\n private sizeLimit: number,\n private ttl?: number,\n ) {}\n\n get(key: string) {\n if (!this.cache.has(key)) {\n return undefined;\n }\n\n const [value, ts] = this.cache.get(key);\n\n // if the cache value is older than the ttl, delete it and return undefined\n if (this.ttl && Date.now() - ts > this.ttl) {\n this.cache.delete(key);\n return undefined;\n }\n\n // delete the key/value pair from cache and then set it again to put\n // the retrieved key/value pair back at the front for the map\n this.cache.delete(key);\n this.cache.set(key, [value, ts]);\n\n return value;\n }\n\n set(key: string, value: any) {\n this.cache.delete(key);\n\n if (this.cache.size === this.sizeLimit) {\n this.cache.delete(this.cache.keys().next().value);\n }\n this.cache.set(key, [value, Date.now()]);\n }\n}\n","import { inject, Injectable } from '@angular/core';\n\nimport type { Asset, Content, Event } from '@hahnpro/hpc-api';\nimport { ApiService } from '../core/api.service';\nimport { OwnerResolverService } from '../core/owner-resolver.service';\n\nexport interface Status {\n isComplete?: boolean;\n isError?: boolean;\n isLoading?: boolean;\n}\n\n@Injectable()\nexport class ContextService {\n cache = new Map<string, Asset | Content | Event>();\n status = new Map<string, Status>();\n\n private readonly apiService = inject(ApiService);\n private readonly ownerResolver = inject(OwnerResolverService);\n\n reset() {\n this.cache.clear();\n this.status.clear();\n }\n\n async loadReferences(references: ContextReference[]) {\n const assetIds = [];\n const contentIds = [];\n const eventIds = [];\n\n for (const reference of references) {\n if (\n this.cache.has(reference.id) &&\n this.status.get(reference.id)?.isComplete\n ) {\n continue;\n }\n if (reference.resourceType === 'asset') {\n assetIds.push(reference.id);\n } else if (reference.resourceType === 'content') {\n contentIds.push(reference.id);\n } else if (reference.resourceType === 'event') {\n eventIds.push(reference.id);\n }\n }\n\n if (assetIds.length > 0) {\n assetIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: false,\n isLoading: true,\n }),\n );\n this.apiService\n .getAssets({ filter: `_id=@${assetIds.join(',')}` })\n .then(async (response) => {\n const owners = await this.ownerResolver.resolveOwners(\n response.docs.map((a) => a.owner?.id),\n );\n response.docs.forEach((asset) => {\n if (asset.owner?.id) {\n (asset.owner as any).name =\n owners[asset.owner.id] || asset.owner.id;\n }\n this.cache.set(asset.id, asset);\n this.status.set(asset.id, {\n isComplete: true,\n isError: false,\n isLoading: false,\n });\n });\n })\n .catch((error) => {\n console.error(error);\n assetIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: true,\n isLoading: false,\n }),\n );\n });\n }\n\n if (contentIds.length > 0) {\n contentIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: false,\n isLoading: true,\n }),\n );\n this.apiService\n .getContents({\n filter: `_id=@${contentIds.join(',')}`,\n populate: 'analysis',\n })\n .then(async (response) => {\n const owners = await this.ownerResolver.resolveOwners(\n response.docs.map((c) => c.owner?.id),\n );\n response.docs.forEach((content) => {\n if (content.owner?.id) {\n (content.owner as any).name =\n owners[content.owner.id] || content.owner.id;\n }\n this.cache.set(content.id, content);\n this.status.set(content.id, {\n isComplete: true,\n isError: false,\n isLoading: false,\n });\n });\n })\n .catch((error) => {\n console.error(error);\n contentIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: true,\n isLoading: false,\n }),\n );\n });\n }\n\n if (eventIds.length > 0) {\n eventIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: false,\n isLoading: true,\n }),\n );\n this.apiService\n .getEvents({ filter: `_id=@${eventIds.join(',')}` })\n .then(async (response) => {\n const owners = await this.ownerResolver.resolveOwners(\n response.docs.map((e) => e.owner?.id),\n );\n response.docs.forEach((event) => {\n if (event.owner?.id) {\n (event.owner as any).name =\n owners[event.owner.id] || event.owner.id;\n }\n this.cache.set(event.id, event);\n this.status.set(event.id, {\n isComplete: true,\n isError: false,\n isLoading: false,\n });\n });\n const assetIds = response.docs.map(\n (e) =>\n ({\n id: e.assetRef,\n resourceType: 'asset',\n }) as ContextReference,\n );\n this.loadReferences(assetIds);\n })\n .catch((error) => {\n console.error(error);\n eventIds.forEach((id) =>\n this.status.set(id, {\n isComplete: false,\n isError: true,\n isLoading: false,\n }),\n );\n });\n }\n }\n\n getContext(id: string): Asset | Content | Event {\n return this.cache.get(id);\n }\n\n assetForContent(contentId: string): Asset | null {\n for (const resource of this.cache.values()) {\n if ((resource as Asset).attachments?.includes(contentId)) {\n return resource as Asset;\n }\n }\n return null;\n }\n\n assetForEvent(event: Event): Asset | null {\n if (event.assetRef) {\n return this.cache.get(event.assetRef) as Asset;\n } else {\n return null;\n }\n }\n}\n\nexport interface ContextReference {\n reference_id: number;\n id: string;\n resourceType: 'asset' | 'content' | 'event';\n pageNumber?: number;\n firstOccurrence?: boolean;\n}\n","import { NgModule, isDevMode } from '@angular/core';\nimport {\n DefaultTranspiler,\n TRANSLOCO_LOADER,\n TRANSLOCO_TRANSPILER,\n TranslocoLoader,\n TranslocoModule,\n provideTransloco,\n} from '@jsverse/transloco';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nexport const translations = {\n en: {\n accepted: 'Accepted',\n access_restricted: 'Access restricted',\n access_unrestricted: 'Access unrestricted',\n account: 'Account',\n action: 'Action',\n actions: 'Actions',\n active: 'Active',\n add_attachment: 'Add Attachment',\n add_attribute: 'Add Attribute',\n add_new: 'Add New',\n add_new_member: 'Add new member',\n add_new_organization: 'Add new Organization',\n add_to_clipboard: 'Add to clipboard',\n address: 'Address',\n administration: 'Administration',\n ai: {\n accept: 'Accept',\n adam_ai_intro:\n 'Engage in real-time conversations with Adam AI, your expert assistant in Asset Intelligence. Get instant, intelligent insights and solutions tailored to your needs.',\n agent_unavailable: 'Agent unavailable',\n ai_placeholder: 'How can ADAM help you today?',\n and: 'and',\n asset_intelligence: 'Asset Intelligence',\n assistants: 'Assistants',\n chat_deleted: 'Chat deleted',\n chats: 'Chats',\n clear_history: 'Clear History',\n complete_and_create_report: 'Complete and create report',\n context: 'Referenced Context',\n context_found: 'Found related context',\n context_none:\n 'No related Assets or files found. Consider revising your prompt.',\n context_search: 'Searching for related Assets and files...',\n continue_chat: 'Continue Chat',\n continue_previous_chat: 'Continue previous Chat',\n cookies: 'Cookies',\n create_new_chat: 'Create New Chat',\n create_new_event: 'Create new Event with the help of Adam AI',\n de: 'Deutsch',\n delete_chat: 'Delete Chat',\n delete_item: 'Delete Item',\n delete_item_message:\n '{count, plural, one {Are you sure you want to delete this item?<br><br><b>{{ items }}</b>} other {Are you sure you want to delete these # items?}}',\n delete_item_message_general: 'Are you sure you want to delete this item?',\n delete_item_title:\n '{count, plural, one {Delete Item} other {Delete Multiple Items}}',\n document: 'Document',\n en: 'English',\n failed_to_create_chat: 'Failed to create chat',\n failed_to_delete_chat: 'Failed to delete chat',\n failed_to_initialize_chat: 'Failed to initialize chat',\n failed_to_load_assistants: 'Failed to load assistants',\n failed_to_load_chats: 'Failed to load chat history',\n failed_to_send_message: 'Failed to send message',\n failed_to_update_model: 'Failed to update model',\n file_type: {\n archive: 'Archive',\n audio: 'Audio',\n image: 'Image',\n pdf: 'PDF',\n text: 'Text',\n unknown: 'Unknown',\n video: 'Video',\n },\n finish_reason: {\n 'content-filter':\n 'Your request was blocked due to content filters. Please try rephrasing your question and try again.',\n error: 'Something went wrong. Please try again later.',\n length:\n 'The request is too long to process. Please try again or start a new conversation.',\n unknown: 'Something went wrong. Please try again later.',\n },\n 'gpt-4o': 'GPT-4o',\n 'gpt-4o-2024-08-06': 'GPT-4o',\n 'gpt-4o-2024-11-20': 'GPT-4o',\n 'gpt-4o-mini': 'GPT-4o Mini',\n 'gpt-4o-mini-2024-07-18': 'GPT-4o Mini',\n help_me: 'Ask Adam AI for help',\n last_message: 'Last Message',\n model: 'GPT Model',\n model_updated: 'Model updated',\n no_chats_found: 'No chats found',\n no_messages: 'No messages yet',\n none_of_those: 'None of those',\n of_document: 'of document',\n previous_chats: 'Previous Chats',\n prompt_suggestions: {\n 'asset-info': {\n prompt: 'Provide a detailed maintenance plan for my asset',\n title: 'Asset Info',\n },\n intro: {\n prompt:\n 'What is Adam AI and how can it help me with asset management?',\n title: 'Introduction',\n },\n },\n prompts: {\n asset:\n \"I have a question related to the Asset '{{assetName}}' with ID {{assetId}}\",\n 'ext-asset':\n \"I have a question related to the Asset '{{assetName}}' with external Key {{assetKey}}\",\n help: \"Please help me solve this task for the asset '{{assetName}}' (ID: {{assetId}}): {{task}}\",\n incident:\n \"Please create a new incident for the asset '{{assetName}}' (ID: {{assetId}}) of type '{{assetTypeName}}' (ID: {{assetTypeId}}')\",\n report:\n \"I have completed the following task for asset '{{assetName}}' (ID: {{assetId}}). Please create a report about it: {{task}}\",\n },\n reference_not_found: 'Reference not found',\n select_asset: 'Select Asset',\n send_message: 'Send Message',\n show_preview: 'Show Preview',\n source: 'Source',\n stop_recording: 'Stop Recording',\n suggested_prompts: 'Suggested prompts to get started with ADAM AI',\n threads: 'Threads',\n toast_error_delete_entry: 'Could not delete {{entry}}.',\n toast_success_delete_entry: '{{entry}} deleted.',\n tools: {\n createEvent: {\n completed: 'Event was created',\n failed: 'Event could not be created',\n pending: 'Creating Event',\n processing: 'Creating Event',\n },\n createReport: {\n completed: 'Report was created',\n failed: 'Report could not be created',\n pending: 'Creating Report',\n processing: 'Creating Report',\n },\n getReportTemplate: {\n completed: 'Report template was retrieved',\n failed: 'Report template could not be retrieved',\n pending: 'Retrieving Report template',\n processing: 'Retrieving Report template',\n },\n searchForAssetAxalta: {\n completed: 'Search for Asset completed',\n failed: 'Search for Asset failed',\n pending: 'Searching for Asset',\n processing: 'Searching for Asset',\n },\n searchForAssetWithId: {\n completed: 'Search for Asset with ID completed',\n failed: 'Search for Asset with ID failed',\n pending: 'Searching for Asset with ID',\n processing: 'Searching for Asset with ID',\n },\n searchForAssets: {\n completed: 'Search for Assets completed',\n failed: 'Search for Assets failed',\n pending: 'Searching for Assets',\n processing: 'Searching for Assets',\n },\n searchForDocuments: {\n completed: 'Search for Documents completed',\n failed: 'Search for Documents failed',\n pending: 'Searching for Documents',\n processing: 'Searching for Documents',\n },\n searchForEvents: {\n completed: 'Search for Events completed',\n failed: 'Search for Events failed',\n pending: 'Searching for Events',\n processing: 'Searching for Events',\n },\n },\n use_microphone: 'Use Microphone',\n view_previous_chats: 'View Previous Chats',\n },\n alert: 'Alert',\n alerts: 'Alerts',\n allowed_to: \"You're allowed to\",\n and: 'and',\n applications: 'Applications',\n apps: 'Applications',\n appstore: 'App Store',\n ascending: 'Ascending',\n asset: 'Asset',\n asset_intelligence: 'Asset Intelligence',\n asset_manager: 'Asset Manager',\n asset_type: 'Asset Type',\n assets: 'Assets',\n assettype: 'Asset Type',\n assettypes: 'Asset Types',\n attachment: 'Attachment',\n attachments: 'Attachments',\n audit_logs: 'Audit Logs',\n author: 'Author',\n authorization_type: 'Authorization Type',\n average: 'Average',\n back: 'Back',\n back_to_organizations: 'Back to organizations',\n bucket_time_range: 'Bucket Time Range (Default is 24h)',\n by: 'by',\n 'cad-preview': {\n 'cad-direction-y': 'Set Y as up vector',\n 'cad-direction-z': 'Set Z as up vector',\n 'cad-fixed-vector': 'Fixed up vector',\n 'cad-menu-center': 'Center',\n 'cad-menu-flip-vector': 'Flip',\n 'cad-unfixed-vector': 'Unfixed vector',\n 'cad-viewer-flip-camera-mode-orthogonal':\n 'Turn on the Orthographic camera',\n 'cad-viewer-flip-camera-mode-perspective':\n 'Turn on the Perspective camera',\n 'error-default-filetype': 'Invalid filetype',\n 'error-invalid-filetype':\n '{{filetype}} is not supported. Try compressing files in a ZIP file if this is a CAD-drawing',\n },\n calendar: 'Calendar',\n cancel: 'Cancel',\n catalog: 'Catalog',\n 'category.delete': 'Remove category',\n 'cert.add.new': 'Add new Certificate',\n 'cert.delete': 'Remove Certificate',\n 'cert.edit': 'Edit Certificate',\n 'cert.name': \"Certificate's name\",\n cert_add_new_description: 'Management of organization related certificates',\n certificate: 'Certificate',\n 'certificate.add.new': 'Add new Certificate',\n certification: {\n date_issue: 'Date of Issue',\n expiration_date: 'Expiration date',\n institution: 'Certification Institution',\n number: 'Certificate number',\n },\n children: 'Children',\n choose: 'Choose',\n choose_file: 'Choose file',\n city: 'City',\n color: 'Color',\n column_settings: 'Column Settings',\n comment: 'Comment',\n company_manager: 'Company Manager',\n company_matching: 'Company Matching',\n complete_subscription: 'Complete Subscription',\n confirm: 'Confirm',\n consent_management: {\n accept_all: 'Accept all',\n accept_all_note:\n 'By clicking \"Accept all\", you agree to the use of essential and analytics cookies.',\n always_enabled: 'Always enabled',\n cookie_groups: {\n analytics: {\n description:\n 'These cookies gather data on website usage, such as which pages are visited, to help us identify the most popular pages and understand how visitors navigate the site. <br /> Website usage data is captured using persistent first and third-party cookies and other tracking technologies to determine the popularity of products and online activity.',\n title: 'Analytics cookies',\n },\n essential: {\n description:\n 'These cookies are essential for the operation of the website. They are usually only set in response to your actions, such as setting your privacy preferences. These cookies do not store any personally identifiable information.',\n title: 'Essential cookies',\n },\n },\n cookie_intro:\n 'This website uses cookies and other tracking technologies to enable essential site functionality, improve the user experience, as well as for analytics and personalisation purposes.',\n cookie_intro_extended:\n 'This website uses cookies and other tracking technologies to enable essential site functionality, improve the user experience, as well as for analytics and personalisation purposes.<br />We use Microsoft Clarity to analyse how our website is used and to improve our products. By using our site, you consent to us and Microsoft collecting and using this data.',\n cookie_learn_more: 'To learn more, please view our',\n cookie_preferences_center: 'Cookie Preferences Center',\n cookie_settings: 'Cookie Settings',\n cookie_usage: 'Cookie usage',\n manage_preferences: 'Manage preferences',\n reject_all: 'Reject all',\n save_preferences: 'Save preferences',\n },\n content: 'Content',\n 'content.file_type': {\n archive: 'Archive',\n audio: 'Audio',\n image: 'Image',\n pdf: 'PDF',\n text: 'Text',\n unknown: 'Unknown',\n video: 'Video',\n },\n\n 'content.show_preview': 'Show Preview',\n 'content.size': 'Size',\n 'content.toast_downloading_content': 'Downloading content...',\n 'content.toast_error_download_content': 'Could not download content.',\n 'content.toast_success_download_content':\n 'Content downloaded successfully.',\n content_drop_zone_text: 'Drag & Drop File',\n content_manager: 'Content Manager',\n contents: 'Contents',\n copy_id: 'Copy ID',\n count: 'Count',\n created: 'Created',\n critical: 'Critical',\n current_organization: 'Current Organization',\n danger_zone: 'Danger Zone',\n dashboards: 'Dashboards',\n data: 'Data',\n date: 'Date',\n day: 'Day',\n days: 'Days',\n de: 'Deutsch',\n default: 'Default',\n delete: 'Delete',\n delete_attachment: 'Delete Attachment',\n delete_member: 'Remove member',\n delete_revision: 'Delete Revision',\n delete_title: 'Delete Title',\n deleted: 'Deleted',\n delimiter: 'Delimiter, like ; or :',\n descending: 'Descending',\n description: 'Description',\n details: 'Details',\n domain: 'Domain',\n 'domain.delete': 'Delete Domain name',\n domain_name: 'Domain name',\n domain_name_placeholder: 'www.domain.com',\n domain_new: 'Add new domain',\n domains: 'Domains',\n download: 'Download',\n download_attachment: 'Download Attachment',\n drag_drop_file: {\n error: {\n file_too_large:\n \"The file '{{fileName}}' exceeds the maximum allowed size of {{maxFileSize}} and has been ignored.\",\n file_type_not_allowed:\n \"The file type of '{{fileName}}' is not allowed and has been rejected.\",\n },\n max_file_size: 'Maximum file size',\n prompt_1:\n 'Drag & drop {limit, plural, one {file} other {files}} here or ',\n prompt_2: 'click to browse',\n warning: {\n max_file_count:\n 'You have selected {{fileCount}} files, but the maximum allowed is {{maxFileCount}}. Only the first {{maxFileCount}} files have been accepted.',\n },\n },\n duration: 'Duration',\n edit: 'Edit',\n edit_attachment: 'Edit Attachment',\n edit_event_level: 'Edit Event Level',\n edit_title: 'Edit Title',\n editor: 'Editor',\n email: 'Email',\n employees: 'Employees',\n en: 'English',\n encoding: 'Encoding',\n endpoints: 'Notification Endpoints',\n english: 'English',\n entries: 'Entries',\n error: 'Error',\n error_loading: 'Failed to load {item}',\n error_message_update: 'Could not update User Settings',\n errors: 'Errors',\n event: 'Event',\n event_level: 'Event Level',\n events: 'Events',\n filename: 'Filename',\n flow: 'Flow',\n flow_studio: 'Flow Studio',\n flowdeployment: 'Flow Deployment',\n flowdeployments: 'Flow Deployments',\n flowfunction: 'Flow Function',\n flowfunctions: 'Flow Functions',\n flowmodel: 'Flow Model',\n flowmodule: 'Flow Module',\n flowmodules: 'Flow Modules',\n flows: 'Flows',\n form_error_delimiter: 'Delimiter required.',\n form_error_details: 'Details Form has Errors.',\n form_error_email: 'Email is required.',\n form_error_empty_method: 'The method must be not empty.',\n form_error_empty_url: 'The URL must be not empty.',\n form_error_encoding: 'Encoding need to set.',\n form_error_expiry_date: 'Expiry date is required.',\n form_error_group: 'At least one group must be selected.',\n form_error_length: 'Name must be at least {{length}} characters long.',\n form_error_max_length: 'Must be no more than {{length}} characters',\n form_error_min_length: 'Must be at least {{length}} characters',\n form_error_name: 'Name is required.',\n form_error_name_pattern:\n 'Only letters, numbers, spaces, hyphens (-), and underscores (_) are allowed',\n form_error_read: 'At least one read permission must be selected.',\n form_error_read_write:\n 'At least one read/write permission must be selected.',\n form_error_required: 'Field is required',\n form_error_role_pattern:\n 'Only lowercase letters, hyphens (-), and underscores (_) are allowed',\n form_error_schema_req: 'Schema is required.',\n form_error_select_file: 'A file must be selected.',\n form_error_select_type: 'An asset type must be selected.',\n form_error_source: 'Source is needed.',\n form_error_unique: 'Property has to be unique: ',\n form_error_view: 'View is needed.',\n general: 'General',\n german: 'German',\n global: 'Global',\n group: 'Group',\n group_by: 'Group by',\n history: 'History',\n hour_format: '{{time}}-hour Time Format',\n id: 'ID',\n inactive: 'Inactive',\n info: 'Info',\n invite_new_employee: 'Invite new employee',\n invite_new_employee_description:\n 'Inviting new employees and assigning them to specific roles',\n invite_new_member: 'Invite new member',\n invite_new_member_description:\n 'Inviting new member and assigning them to specific roles',\n 'jsf_widgets.content.error.resolving_content_failed':\n 'Could not resolve Content',\n 'jsf_widgets.content_reference.error.asset_id_missing': 'Asset ID not set',\n 'jsf_widgets.content_reference.error.loading_attachments_failed':\n 'Could not load Asset Attachments',\n 'jsf_widgets.cron.error.invalid_expression': 'Not a valid cron expression',\n 'jsf_widgets.duration.error.invalid_duration': 'Not a valid duration',\n 'jsf_widgets.permission.error.load_permissions_all_users_failed':\n 'Could not load Permissions of all users',\n 'jsf_widgets.permission.error.load_permissions_failed':\n 'Could not load Permissions',\n 'jsf_widgets.resource_reference.error.searching_failed':\n 'Search could not be completed',\n keys: 'Keys',\n label: 'Label',\n labels: 'Labels',\n labels_edit: 'Edit Labels',\n labels_edit_default: 'Edit Global Default Labels',\n language: 'Language',\n last_updated: 'Last updated',\n leave: 'Leave',\n legal_notice: 'Legal Notice',\n list: 'List',\n loading: 'loading...',\n logo: 'Logo',\n manage_groups: 'Manage Groups',\n manage_identity_providers:\n 'Role that allows to manage the configured identity providers of the company',\n manage_invitations:\n 'Role that allows to manage open invitations of the company',\n manage_members: 'Role that allows to manage the members of the company',\n manage_organization:\n 'Role that allows to manage the company and its details',\n manage_roles: 'Role that allows to manage the roles of the company',\n manager: 'App Manager',\n maximum: 'Maximum',\n member: 'Mitglied',\n message: 'Message',\n method: 'Method',\n modules: 'Modules',\n month: 'Month',\n months: 'Months',\n my_tasks: 'My Tasks',\n name: 'Name',\n new_feminine: 'New',\n new_masculine: 'New',\n new_neutral: 'New',\n new_tag: 'New Label',\n next: 'Next',\n next_step: 'Next',\n no_description: 'No description',\n no_labels: 'No Labels',\n no_preview: 'No preview available',\n no_result: 'No results found!',\n not_assigned: 'Not assigned',\n notification_close_tooltip: 'Close',\n notification_info_empty_list: 'No notifications available',\n notification_open_manager_tooltip: 'Open Notification Manager',\n notification_open_tooltip: 'Open',\n notification_read_all_tooltip: 'Mark all as read',\n notification_read_tooltip: 'Mark as read',\n notification_rules: 'Notification Rules',\n notification_toast_info: 'Received a new notification!',\n notification_unread_tooltip: 'Mark as unread',\n notificationendpoint: 'Notification Endpoint',\n notificationendpoints: 'Notification Endpoints',\n notificationrule: 'Notification Rule',\n notificationrules: 'Notification Rules',\n notifications: 'Notifications',\n offer_requests: 'Offer Requests',\n offers: 'Offers',\n ok: 'OK',\n open: 'Open',\n opened: 'Opened',\n organization: 'Organization',\n 'organization.delete': 'Delete Organization',\n 'organization.delete_as_superuser': 'Delete Organization as Superuser',\n 'organization.request_delete': 'Request Organization Deletion',\n organization_delete_message:\n 'Should the Organization <b>{organization}</b> and all associated data really be deleted?',\n organization_overview: 'Organization Overview',\n organization_request_delete_description:\n 'You hereby request the deletion of your Organization. Please note that the deletion of an Organization is irrevocable and all data belonging to the Organization will also be deleted.',\n organization_tenders: 'Organization Tenders',\n organizations: 'Organizations',\n overview: 'Overview',\n owner: {\n edit_permission: 'Members of {{org}} are allowed to view and edit',\n managed_by: 'Managed by',\n view_permission: 'Members of {{org}} are allowed to view',\n },\n page: 'Page',\n parent: 'Parent',\n password: 'Password',\n pending: 'Pending',\n period: 'Period',\n permissions: 'Permissions',\n phone_number: 'Phone Number',\n preview: 'Preview',\n previous: 'Previous',\n privacy_policy: 'Privacy Policy',\n profile: 'Profile',\n properties: 'Properties',\n property: 'Property',\n quarter: 'Quarter',\n read_permissions: 'Read Permissions',\n read_permissions_edit_default: 'Edit Default Read/Write Permissions',\n read_write_permissions: 'Read/Write Permissions',\n reference: 'Reference',\n references: 'References',\n reset: 'Reset',\n response_type: 'Response Type',\n revision: 'Revision',\n 'role.add.new': 'Add role',\n 'role.delete': 'Remove role',\n 'role.edit': 'Edit role description',\n 'role.edit.info':\n 'Each role must have a unique name and cannot be modified after creating of the role. Only lowercase letters, hyphens (-), and underscores (_) are allowed in the name.',\n 'role.name': 'Name of the role',\n role_add_new_description:\n 'Establishing new roles within your organization and distributing them to resources or assigning them to members as needed.',\n role_admin: 'Admin Role',\n role_info:\n 'Roles to assign the user. Admin role gets all roles. View role gets view only.',\n role_view: 'View Role',\n roles: 'Roles',\n rollback_version: 'Roll back To selected version',\n save: 'Save',\n schema: 'Schema',\n search: 'Search...',\n 'search.no_results': 'No results found',\n search_asset_types: 'Search asset types...',\n search_assets: 'Search assets...',\n search_for_page: 'Search for a page',\n search_roles: 'Search roles...',\n search_tsm: 'Search timeseries...',\n secret: 'Secret',\n secrets: 'Secrets',\n select: 'Select',\n select_file: 'Select File',\n selected_file: 'Selected File',\n 'service.add.new': 'Add Service',\n 'service.delete': 'Remove Service',\n services: 'Services',\n settings: 'Settings',\n setup_certs_description: 'Setup associated certificates',\n show: 'Show',\n show_differences: 'Show differences',\n show_preview: 'Show Preview',\n sign_in: 'Sign in',\n sign_out: 'Sign out',\n signed_in_as: 'Signed in as',\n sort: 'Sort',\n statistic_queries: 'Statistic Queries',\n status: 'Status',\n supertype: 'Supertype',\n system: 'System',\n tags: 'Labels',\n task: 'Task',\n tasks: 'Tasks',\n time: 'Time',\n time_series: 'Time Series',\n time_series_manager: 'Time Series Manager',\n timeseries: 'Time Series',\n title: 'Title',\n toast_active_organization_error: 'Failed to change active organization.',\n toast_active_organization_loading: 'Changing active organization...',\n toast_active_organization_success:\n 'Successfully changed active organization.',\n toast_error: 'Error!',\n toast_error_add_employee:\n \"Couldn't send the invitation of the new employee\",\n toast_error_add_member: \"Couldn't send the invitation of the new member\",\n toast_error_add_role: \"Couldn't add role\",\n toast_error_authenticate: 'Could not authenticate.',\n toast_error_create_tsm: 'Could not create Time Series.',\n toast_error_index_content: 'Error when retrieving indexing status',\n toast_error_invitation_send: 'Could not send invitation',\n toast_error_load_cert: 'Could not load certificates',\n toast_error_load_event_causes: 'Could not load Event causes override.',\n toast_error_load_item: 'Could not load {{item}}.',\n toast_error_load_list: 'Could not load list.',\n toast_error_load_org_roles: 'Could not load roles of the active company.',\n toast_error_load_permissions: 'Could not load Permissions',\n toast_error_load_permissions_all_users:\n 'Could not load Permissions of all users',\n toast_error_load_preview: 'Could not load preview.',\n toast_error_load_role: 'Could not load roles',\n toast_error_load_service: 'Could not load services',\n toast_error_load_tender: 'Could not load tender.',\n toast_error_organization_delete: 'Could not delete organization',\n toast_error_organization_name_exists:\n 'Organization with name {{name}} already exists',\n toast_error_rollback_version: 'Cannot roll back to selected version',\n toast_error_save_item: 'Could not save {{item}}',\n toast_error_update_attachment:\n '{count, plural, one {Could not update attachment} other {Could not update # attachments}}',\n toast_error_update_event_causes: 'Could not update Event causes override.',\n toast_error_update_service: 'Could not update services',\n toast_error_upload_file:\n '{count, plural, one {Could not upload {{file}}} other {Could not upload # files}}',\n toast_error_upload_file_max:\n 'No more than {{max}} files may be uploaded at the same time.',\n toast_form_error_required: '{{param}} cannot be empty',\n toast_form_error_required_selection:\n 'You must select at least one {{param}}',\n toast_form_error_required_selection_feminine:\n 'You must select at least one {{param}}',\n toast_info: 'Info!',\n toast_success: 'Success!',\n toast_success_add_employee:\n 'The invitation of the new employee has been sent successfully',\n toast_success_add_member:\n 'The invitation of the new member has been sent successfully',\n toast_success_add_role: 'Role has been added successfully',\n toast_success_invitation_send: 'Invitation sent',\n toast_success_update_attachment:\n '{count, plural, one {Attachment updated} other {# Attachments updated}}',\n toast_success_update_service: 'Service updated.',\n toast_success_upload_file:\n '{count, plural, one {Upload of {{file}} completed} other {Upload of # files completed}}',\n toast_warning: 'Warning!',\n toast_warning_invalid_form_data:\n 'Invalid form data. Please check the form for errors.',\n toast_warning_invalid_schema: 'Properties Schema is invalid',\n toast_warning_rollback_version:\n \"These referenced elements of the revision don't exist anymore: {{entries}}\",\n tour_start: 'Start tour',\n type: 'Type',\n unknown: 'unknown',\n unverified: 'Unverified',\n updated: 'Updated',\n updated_by: 'Updated by',\n upload_date: 'Upload Date',\n upload_file: 'Upload File',\n url: 'URL',\n user: 'User',\n user_roles: 'User Roles',\n username: 'Username',\n vat: 'VAT-ID',\n vat_example:\n 'VAT-ID must be from Germany (DE followed by 9 digits, e.g. DE123456789) or Austria (ATU followed by 8 digits, e.g. ATU12345678)',\n verified: 'Verified',\n view: 'View',\n view_identity_providers:\n 'Role that allows to view the configured identity providers of the company',\n view_invitations:\n 'Role that allows to view all open invitations of the company',\n view_members: 'Role that allows to view all current members of the company',\n view_organization: 'Role that allows to view the company',\n view_roles: 'Role that allows to view all roles of the company',\n warning: 'Warning',\n week: 'Week',\n write_permissions: 'Write Permissions',\n year: 'Year',\n years: 'Years',\n zip_code: 'Postal Code',\n zip_code_error:\n 'The Postal Code must be valid and not be longer than 10 digits.',\n },\n de: {\n accepted: 'Angenommen',\n access_restricted: 'Zugriff beschränkt',\n access_unrestricted: 'Unbeschränkter Zugriff',\n account: 'Nutzerkonto',\n action: 'Aktion',\n actions: 'Aktionen',\n active: 'Aktiv',\n add_attachment: 'Anhang Hinzufügen',\n add_attribute: 'Attribut Hinzufügen',\n add_new: 'Neue Hinzufügen',\n add_new_member: 'Neues Mitglied hinzufügen',\n add_new_organization: 'Neue Organisation hinzufügen',\n add_to_clipboard: 'Zur Zwischenablage hinzufügen',\n address: 'Adresse',\n administration: 'Verwaltung',\n ai: {\n accept: 'Akzeptieren',\n adam_ai_intro:\n 'Unterhalten Sie sich in Echtzeit mit Adam AI, Ihrem Expertenassistenten für Asset Intelligence. Erhalten Sie intelligente Einblicke und Lösungen, die auf Ihre Bedürfnisse zugeschnitten sind.',\n agent_unavailable: 'Agent nicht verfügbar',\n ai_placeholder: 'Wie kann ADAM Ihnen heute helfen?',\n and: 'und',\n asset_intelligence: 'Asset Intelligence',\n assistants: 'Assistenten',\n chat_deleted: 'Chat gelöscht',\n chats: 'Chats',\n clear_history: 'Verlauf löschen',\n complete_and_create_report: 'Abschließen und Bericht erstellen',\n context: 'Referenzierter Kontext',\n context_found: 'Kontext gefunden',\n context_none: 'Keine zugehörigen Assets oder Dateien gefunden.',\n context_search: 'Suche nach zugehörigen Assets und Dateien...',\n continue_chat: 'Chat fortsetzen',\n continue_previous_chat: 'Vorherigen Chat fortsetzen',\n cookies: 'Cookies',\n create_new_chat: 'Neuen Chat erstellen',\n create_new_event: 'Neue Meldung mit Hilfe von Adam erstellen',\n de: 'Deutsch',\n delete_chat: 'Chat löschen',\n delete_item: 'Eintrag löschen',\n delete_item_message:\n '{count, plural, one {Möchten Sie dieses Element wirklich löschen?<br><br><b>{{ items }}</b>} other {Möchten Sie diese # Elemente wirklich löschen?}}',\n delete_item_message_general:\n 'Möchten Sie dieses Element wirklich löschen?',\n delete_item_title:\n '{count, plural, one {Element löschen} other {Mehrere Elemente löschen}}',\n document: 'Dokument',\n en: 'English',\n failed_to_create_chat: 'Chat konnte nicht erstellt werden',\n failed_to_delete_chat: 'Chat konnte nicht gelöscht werden',\n failed_to_initialize_chat: 'Chat konnte nicht initialisiert werden',\n failed_to_load_assistants: 'Assistenten konnten nicht geladen werden',\n failed_to_load_chats: 'Chat-Verlauf konnte nicht geladen werden',\n failed_to_send_message: 'Nachricht konnte nicht gesendet werden',\n failed_to_update_model: 'Modell konnte nicht aktualisiert werden',\n file_type: {\n archive: 'Archiv',\n audio: 'Audio',\n image: 'Bild',\n pdf: 'PDF',\n text: 'Text',\n unknown: 'Unbekannt',\n video: 'Video',\n },\n finish_reason: {\n 'content-filter':\n 'Ihre Anfrage wurde aufgrund von Inhaltsfiltern blockiert. Bitte formulieren Sie Ihre Frage um und versuchen Sie es erneut.',\n error:\n 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',\n length:\n 'Die Anfrage ist zu lang, um verarbeitet zu werden. Bitte versuchen Sie es erneut oder starten Sie einen neuen Chat.',\n unknown:\n 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',\n },\n 'gpt-4o': 'GPT-4o',\n 'gpt-4o-2024-08-06': 'GPT-4o',\n 'gpt-4o-2024-11-20': 'GPT-4o',\n 'gpt-4o-mini': 'GPT-4o Mini',\n 'gpt-4o-mini-2024-07-18': 'GPT-4o Mini',\n help_me: 'Frag Adam AI um Hilfe',\n last_message: 'Letzte Nachricht',\n model: 'GPT-Modell',\n model_updated: 'Modell aktualisiert',\n no_chats_found: 'Keine Chats gefunden',\n no_messages: 'Noch keine Nachrichten',\n none_of_those: 'Keines davon',\n of_document: 'des Dokuments',\n previous_chats: 'Vorherige Chats',\n prompt_suggestions: {\n 'asset-info': {\n prompt: 'Erstelle einen detaillierten Wartungsplan für mein Asset',\n title: 'Asset-Info',\n },\n intro: {\n prompt:\n 'Was ist Adam AI und wie kann es mir bei der Asset-Verwaltung helfen?',\n title: 'Einführung',\n },\n },\n prompts: {\n asset:\n \"Ich habe eine Frage zu dem Asset '{{assetName}}' mit der ID {{assetId}}\",\n 'ext-asset':\n \"Ich habe eine Frage zu dem Asset '{{assetName}}' mit der externen ID {{assetKey}}\",\n help: \"Bitte hilf mir bei der Lösung dieser Aufgabe für das Asset '{{assetName}}' (ID: {{assetId}}): {{task}}\",\n incident:\n \"Bitte erstelle eine neue Meldung für das Asset '{{assetName}}' (ID: {{assetId}}) vom Typ '{{assetTypeName}}' (ID: {{assetTypeId}}')\",\n report:\n \"Ich habe folgende Aufgabe für das Asset '{{assetName}}' (ID: {{assetId}}) abgeschlossen. Bitte erstelle einen Bericht dazu: {{task}}\",\n },\n reference_not_found: 'Referenz nicht gefunden',\n select_asset: 'Asset auswählen',\n send_message: 'Nachricht senden',\n show_preview: 'Vorschau anzeigen',\n source: 'Quelle',\n stop_recording: 'Aufnahme stoppen',\n suggested_prompts: 'Vorgeschlagene Prompts für den Einstieg in ADAM AI',\n threads: 'Chats',\n toast_error_delete_entry: '{{entry}} konnte nicht gelöscht werden.',\n toast_success_delete_entry: '{{entry}} gelöscht.',\n tools: {\n createEvent: {\n completed: 'Ereignis wurde erstellt',\n failed: 'Ereignis konnte nicht erstellt werden',\n pending: 'Ereignis wird erstellt',\n processing: 'Ereignis wird erstellt',\n },\n createReport: {\n completed: 'Bericht wurde erstellt',\n failed: 'Bericht konnte nicht erstellt werden',\n pending: 'Bericht wird erstellt',\n processing: 'Bericht wird erstellt',\n },\n getReportTemplate: {\n completed: 'Berichtsvorlage wurde abgerufen',\n failed: 'Berichtsvorlage konnte nicht abgerufen werden',\n pending: 'Berichtsvorlage wird abgerufen',\n processing: 'Berichtsvorlage wird abgerufen',\n },\n searchForAssetAxalta: {\n completed: 'Suche nach Asset abgeschlossen',\n failed: 'Suche nach Asset fehlgeschlagen',\n pending: 'Suche nach Asset',\n processing: 'Suche nach Asset',\n },\n searchForAssetWithId: {\n completed: 'Suche nach Asset mit ID abgeschlossen',\n failed: 'Suche nach Asset mit ID fehlgeschlagen',\n pending: 'Suche nach Asset mit ID',\n processing: 'Suche nach Asset mit ID',\n },\n searchForAssets: {\n completed: 'Suche nach Assets abgeschlossen',\n failed: 'Suche nach Assets fehlgeschlagen',\n pending: 'Suche nach Assets',\n processing: 'Suche nach Assets',\n },\n searchForDocuments: {\n completed: 'Suche nach Dokumenten abgeschlossen',\n failed: 'Suche nach Dokumenten fehlgeschlagen',\n pending: 'Suche nach Dokumenten',\n processing: 'Suche nach Dokumenten',\n },\n searchForEvents: {\n completed: 'Suche nach Ereignissen abgeschlossen',\n failed: 'Suche nach Ereignissen fehlgeschlagen',\n pending: 'Suche nach Ereignissen',\n processing: 'Suche nach Ereignissen',\n },\n },\n use_microphone: 'Mikrofon verwenden',\n view_previous_chats: 'Vorherige Chats anzeigen',\n },\n alert: 'Alarm',\n alerts: 'Alarme',\n allowed_to: 'Sie dürfen',\n and: 'und',\n applications: 'Anwendungen',\n apps: 'Applikationen',\n appstore: 'App Store',\n ascending: 'Aufsteigend',\n asset: 'Asset',\n asset_intelligence: 'Asset Intelligence',\n asset_manager: 'Asset Manager',\n asset_type: 'Asset Typ',\n assets: 'Assets',\n assettype: 'Asset Typ',\n assettypes: 'Asset Typen',\n attachment: 'Anhang',\n attachments: 'Anhänge',\n audit_logs: 'Audit Logs',\n author: 'Autor',\n authorization_type: 'Authorization Type',\n average: 'Durchschnitt',\n back: 'Zurück',\n back_to_organizations: 'Zurück zu Organisationen',\n bucket_time_range: 'Bucket Zeitspanne (Default ist 24h)',\n by: 'von',\n calendar: 'Kalender',\n cancel: 'Abbrechen',\n catalog: 'Katalog',\n 'category.delete': 'Dienstleistungskatalog entfernen ',\n 'cert.add.new': 'Zertifikat hinzufügen',\n 'cert.delete': 'Zertifikat entfernen',\n 'cert.edit': 'Zertifikat editieren',\n 'cert.name': 'Zertifikatsname',\n cert_add_new_description: 'Verwaltung Organisationsbezogener Zertifikate',\n certificate: 'Zertifikate',\n 'certificate.add.new': 'Zertifikat hinzufügen',\n certification: {\n date_issue: 'Ausstelldatum',\n expiration_date: 'Ablaufsdatum',\n institution: 'Zertifizierungseinrichtung',\n number: 'Zertifikatsnummer',\n },\n children: 'Kinder',\n choose: 'Auswählen',\n choose_file: 'Datei auswählen',\n city: 'Stadt',\n color: 'Farbe',\n column_settings: 'Spalten-Einstellungen',\n comment: 'Kommentar',\n company_manager: 'Unternehmen Manager',\n company_matching: 'Company-Matching',\n complete_subscription: 'Abonnement abschließen',\n confirm: 'Bestätigen',\n consent_management: {\n accept_all: 'Alle akzeptieren',\n accept_all_note:\n 'Durch Klicken auf \"Alle akzeptieren\" stimmen Sie der Verwendung von essentiellen und analytischen Cookies zu.',\n always_enabled: 'Immer aktiv',\n cookie_groups: {\n analytics: {\n description:\n 'Diese Cookies sammeln Daten über die Nutzung der Website, z.B. welche Seiten besucht werden, um uns zu helfen, die beliebtesten Seiten zu identifizieren und zu verstehen, wie Besucher auf der Website navigieren.<br />Daten zur Nutzung der Website werden mithilfe von dauerhaften Cookies von Erst- und Drittanbietern und anderen Tracking-Technologien erfasst, um die Beliebtheit von Produkten und Online-Aktivitäten zu ermitteln.',\n title: 'Analytische Cookies',\n },\n essential: {\n description:\n 'Diese Cookies sind für den Betrieb der Webseite unbedingt erforderlich. Sie werden in der Regel nur als Reaktion auf Ihre Handlungen gesetzt, wie z. B. die Einstellung Ihrer Datenschutzeinstellungen. Diese Cookies speichern keine persönlich identifizierbaren Informationen.',\n title: 'Erforderliche Cookies',\n },\n },\n cookie_intro:\n 'Diese Website verwendet Cookies und andere Tracking-Technologien, um wesentliche Funktionen der Website zu ermöglichen, die Benutzerfreundlichkeit zu verbessern sowie zu Analyse- und Personalisierungszwecken.',\n cookie_intro_extended:\n 'Diese Website verwendet Cookies und andere Tracking-Technologien, um wesentliche Funktionen der Website zu ermöglichen, die Benutzerfreundlichkeit zu verbessern sowie zu Analyse- und Personalisierungszwecken.<br />Wir verwenden Microsoft Clarity, um zu analysieren, wie unsere Website genutzt wird, und um unsere Produkte zu verbessern. Durch die Nutzung unserer Website erklären Sie sich damit einverstanden, dass wir und Microsoft diese Daten sammeln und nutzen.',\n cookie_learn_more: 'Um mehr zu erfahren, lesen Sie bitte unsere',\n cookie_preferences_center: 'Cookie Einstellungen',\n cookie_settings: 'Cookie Einstellungen',\n cookie_usage: 'Nutzung von Cookies',\n manage_preferences: 'Einstellungen verwalten',\n reject_all: 'Alle ablehnen',\n save_preferences: 'Einstellungen speichern',\n },\n content: 'Inhalt',\n 'content.file_type': {\n archive: 'Archiv',\n audio: 'Audio',\n image: 'Bild',\n pdf: 'PDF',\n text: 'Text',\n unknown: 'Unbekannt',\n video: 'Video',\n },\n 'content.show_preview': 'Vorschau anzeigen',\n 'content.size': 'Größe',\n 'content.toast_downloading_content': 'Datei wird heruntergeladen...',\n 'content.toast_error_download_content':\n 'Datei konnte nicht heruntergeladen werden.',\n 'content.toast_success_download_content':\n 'Datei erfolgreich heruntergeladen.',\n content_drop_zone_text: 'Drag & Drop Datei',\n content_manager: 'Content Manager',\n contents: 'Contents',\n copy_id: 'ID kopieren',\n count: 'Anzahl',\n created: 'Erstellt',\n critical: 'Kritisch',\n current_organization: 'Aktuelles Organisation',\n danger_zone: 'Gefahrenzone',\n dashboards: 'Dashboards',\n data: 'Daten',\n date: 'Datum',\n day: 'Tag',\n days: 'Tage',\n de: 'Deutsch',\n default: 'Standard',\n delete: 'Löschen',\n delete_attachment: 'Anhang Löschen',\n delete_member: 'Mitglied Entfernen',\n delete_revision: 'Version löschen',\n delete_title: 'Titel löschen',\n deleted: 'Gelöscht',\n delimiter: 'Trennzeichen, wie ; oder :',\n descending: 'Absteigend',\n description: 'Beschreibung',\n details: 'Details',\n domain: 'Domäne',\n 'domain.delete': 'Domänenname löschen',\n domain_name: 'Domänenname',\n domain_name_placeholder: 'www.domain.com',\n domain_new: 'neue Domäne hinzufügen',\n domains: 'Domänen',\n download: 'Herunterladen',\n download_attachment: 'Anhang Herunterladen',\n drag_drop_file: {\n error: {\n file_too_large:\n \"Die Datei '{{fileName}}' überschreitet die maximal zulässige Größe von {{maxFileSize}} und wurde ignoriert.\",\n file_type_not_allowed:\n \"Der Dateityp von '{{fileName}}' ist nicht erlaubt und wurde abgelehnt.\",\n },\n max_file_size: 'Maximale Dateigröße',\n prompt_1:\n 'Drag & Drop {limit, plural, one {Datei} other {Dateien}} hier oder ',\n prompt_2: 'hier klicken, um Dateien zu durchsuchen',\n warning: {\n max_file_count:\n 'Sie haben {{fileCount}} Dateien ausgewählt, aber maximal sind {{maxFileCount}} erlaubt. Nur die ersten {{maxFileCount}} Dateien wurden akzeptiert.',\n },\n },\n duration: 'Laufzeit',\n edit: 'Editieren',\n edit_attachment: 'Anhang Editieren',\n edit_event_level: 'Ereignis-Level editieren',\n edit_title: 'Titel anpassen',\n editor: 'Editor',\n email: 'Email',\n employees: 'Mitarbeiter',\n en: 'English',\n encoding: 'Verschlüsselung',\n endpoints: 'Benachrichtigungsendpunkte',\n english: 'Englisch',\n entries: 'Einträge',\n error: 'Fehler',\n error_loading: '{item} konnte nicht geladen werden',\n error_message_update:\n 'Benutzer Einstellungen konnten nicht aktualisiert werden',\n errors: 'Fehler',\n event: 'Ereignis',\n event_level: 'Ereignis-Level',\n events: 'Ereignisse',\n filename: 'Dateiname',\n flow: 'Flow',\n flow_studio: 'Flow Studio',\n flowdeployment: 'Flow Deployment',\n flowdeployments: 'Flow Deployments',\n flowfunction: 'Flow Funktion',\n flowfunctions: 'Flow Funktionen',\n flowmodel: 'Flow Modell',\n flowmodule: 'Flow Modul',\n flowmodules: 'Flow Module',\n flows: 'Flows',\n form_error_delimiter: 'Trennzeichen wird benötigt.',\n form_error_details: 'Auf der Details Seite sind fehlerhafte Einträge.',\n form_error_email: 'Email wird benötigt.',\n form_error_empty_method: 'Eine Methode muss ausgewählt werden.',\n form_error_empty_url: 'Das URL Feld muss ausgefüllt werden.',\n form_error_encoding: 'Eine Verschlüsselung muss angegeben werden.',\n form_error_expiry_date: 'Ein Ablaufdatum muss angegeben werden.',\n form_error_group: 'Zumindest eine Gruppe muss ausgewählt werden.',\n form_error_length:\n 'Der Name muss aus mindestens {{length}} Zeichen bestehen.',\n form_error_max_length: 'Darf maximal {{length}} Zeichen lang sein',\n form_error_min_length: 'Muss mindestens {{length}} Zeichen lang sein',\n form_error_name: 'Namens-Feld wird benötigt.',\n form_error_name_pattern:\n 'Nur Buchstaben, Zahlen, Leerzeichen, Bindestriche (-) und Unterstriche (_) sind erlaubt',\n form_error_read: 'Mindestens ein Lese-Recht muss ausgewählt werden.',\n form_error_read_write:\n 'Mindestens ein Lese/Schreibe-Recht muss ausgewählt werden.',\n form_error_required: 'Pflichtfeld',\n form_error_role_pattern:\n 'Nur Kleinbuchstaben, Bindestriche (-) und Unterstriche (_) sind erlaubt',\n form_error_schema_req: 'Ein Schema wird benötigt.',\n form_error_select_file: 'Eine Datei muss ausgewählt werden.',\n form_error_select_type: 'Ein Asset Typ muss ausgewählt werden.',\n form_error_source: 'Source is needed.',\n form_error_unique: 'Der Wert muss eindeutig sein: ',\n form_error_view: 'View is needed.',\n general: 'Allgemein',\n german: 'Deutsch',\n global: 'Global',\n group: 'Gruppe',\n group_by: 'Gruppieren nach',\n history: 'Verlauf',\n hour_format: '{{time}}-Stunden-Zeitformat',\n id: 'ID',\n inactive: 'Inaktiv',\n info: 'Info',\n invite_new_employee: 'Neuen Mitarbeiter einladen',\n invite_new_employee_description:\n 'Einladung neuer Mitarbeiter und deren Zuweisung zu bestimmten Rollen',\n invite_new_member: 'Neues Mitglied einladen',\n invite_new_member_description:\n 'Einladung neuer Mitglied und deren Zuweisung zu bestimmten Rollen',\n 'jsf_widgets.content.error.resolving_content_failed':\n 'Inhalt konnte nicht aufgelöst werden',\n 'jsf_widgets.content_reference.error.asset_id_missing':\n 'Asset ID ist nicht gesetzt',\n 'jsf_widgets.content_reference.error.loading_attachments_failed':\n 'Asset Anhänge konnten nicht geladen werden',\n 'jsf_widgets.cron.error.invalid_expression': 'Kein gültiger cron Ausdruck',\n 'jsf_widgets.duration.error.invalid_duration': 'Keine gültige Dauer',\n 'jsf_widgets.permission.error.load_permissions_all_users_failed':\n 'Rechte aller Benutzer konnten nicht geladen werden',\n 'jsf_widgets.permission.error.load_permissions_failed':\n 'Rechte konnten nicht geladen werden',\n 'jsf_widgets.resource_reference.error.searching_failed':\n 'Suche konnte nicht abgeschlossen werden',\n keys: 'Schlüssel',\n label: 'Label',\n labels: 'Labels',\n labels_edit: 'Labels bearbeiten',\n labels_edit_default: 'Globale Standard-Labels bearbeiten',\n language: 'Sprache',\n last_updated: 'Zuletzt aktualisiert',\n leave: 'Verlassen',\n legal_notice: 'Impressum',\n list: 'Liste',\n loading: 'lade...',\n logo: 'Logo',\n manage_groups: 'Gruppen verwalten',\n manage_identity_providers:\n 'Rolle, die zur Verwaltung der konfigurierten Identitätsanbieter ermächtigt',\n manage_invitations:\n 'Rolle, die zur Verwaltung der offenen Mitarbeitereinladungen ermächtigt',\n manage_members: 'Rolle, die zur Verwaltung der Mitgliedern ermächtigt',\n manage_organization:\n 'Rolle, die zur Verwaltung des Unternehmens und dessen Eigenschaften ermächtigt',\n manage_roles: 'Rolle, die zur Verwaltung der Unternehmensrollen ermächtigt',\n manager: 'App Manager',\n maximum: 'Maximum',\n member: 'Mitglied',\n message: 'Nachricht',\n method: 'Funktion',\n modules: 'Module',\n month: 'Monat',\n months: 'Monate',\n my_tasks: 'Meine Aufgaben',\n name: 'Name',\n new_feminine: 'Neue',\n new_masculine: 'Neuer',\n new_neutral: 'Neues',\n new_tag: 'Neues Label',\n next: 'Nächste',\n next_step: 'Weiter',\n no_description: 'Keine Beschreibung',\n no_labels: 'Keine Labels',\n no_preview: 'Keine Vorschau verfügbar',\n no_result: 'Keine Ergebnisse!',\n not_assigned: 'Nicht zugewiesen',\n notification_close_tooltip: 'Schließen',\n notification_info_empty_list: 'Keine Benachrichtigungen vorhanden',\n notification_open_manager_tooltip: 'Notification Manager öffnen',\n notification_open_tooltip: 'Öffnen',\n notification_read_all_tooltip: 'Alles als gelesen markieren',\n notification_read_tooltip: 'Als gelesen markieren',\n notification_rules: 'Benachrichtigungsregel',\n notification_toast_info: 'Neue Benachrichtigung erhalten!',\n notification_unread_tooltip: 'Als ungelesen markieren',\n notificationendpoint: 'Benachrichtigungsendpunkt',\n notificationendpoints: 'Benachrichtigungsendpunkte',\n notificationrule: 'Benachrichtigungsregel',\n notificationrules: 'Benachrichtigungsregeln',\n notifications: 'Benachrichtigungen',\n offer_requests: 'Anfragen',\n offers: 'Angebote',\n ok: 'OK',\n open: 'Öffnen',\n opened: 'Geöffnet',\n organization: 'Organisation',\n 'organization.delete': 'Organisation löschen',\n 'organization.delete_as_superuser': 'Organisation löschen als Superuser',\n 'organization.request_delete': 'Löschen der Organisation beantragen',\n organization_delete_message:\n 'Soll die Organisation <b>{organization}</b> mitsamt aller zugehöriger Daten wirklich gelöscht werden?',\n organization_overview: 'Organisations-Profil',\n organization_request_delete_description:\n 'Hiermit beantragen Sie das Löschen ihrer Organisation. Bitte beachten Sie, dass das Löschen einer Organisation unwiderruflich ist und alle zur Organisation gehörigen Daten ebenfalls gelöscht werden.',\n organization_tenders: 'Ausschreibungen der Organisations',\n organizations: 'Organisationen',\n overview: 'Übersicht',\n owner: {\n edit_permission: 'Mitglieder von {{org}} dürfen ansehen und bearbeiten',\n managed_by: 'Verwaltet von',\n view_permission: 'Mitglieder von {{org}} dürfen ansehen',\n },\n page: 'Seite',\n parent: 'Elternteil',\n password: 'Passwort',\n pending: 'Ausstehend',\n period: 'Zeitraum',\n permissions: 'Rechte',\n phone_number: 'Telefonnummer',\n preview: 'Vorschau',\n previous: 'Vorherige',\n privacy_policy: 'Datenschutzerklärung',\n profile: 'Profil',\n properties: 'Eigenschaften',\n property: 'Eigenschaft',\n quarter: 'Quartal',\n read_permissions: 'Lese Rechte',\n read_permissions_edit_default: 'Standard Lese-/Schreibe-Rechte bearbeiten',\n read_write_permissions: 'Lese/Schreibe-Rechte',\n reference: 'Referenz',\n references: 'Referenzen',\n reset: 'Zurücksetzen',\n response_type: 'Response Type',\n revision: 'Version',\n 'role.add.new': 'Rolle hinzufügen',\n 'role.delete': 'Rolle entfernen',\n 'role.edit': 'Rolle editieren',\n 'role.edit.info':\n 'Jede Rolle muss einen eindeutigen Namen haben und kann nach der Erstellung der Rolle nicht mehr geändert werden. Es sind nur Kleinbuchstaben, Bindestriche (-) und Unterstriche (_) im Namen erlaubt.',\n 'role.name': 'Name der Rolle',\n role_add_new_description:\n 'Einrichtung neuer Rollen in Ihrer Organisation und deren Zuweisung nach Bedarf zu Ressourcen bzw. Mitgliedern',\n role_admin: 'Adminrechte',\n role_info:\n 'Rollen, die dem Benutzer zugewiesen werden sollen. Adminrechte erhält alle Rollen. Leserechte erhält nur die View-Rechte',\n role_view: 'Leserechte',\n roles: 'Rollen',\n rollback_version: 'Auf die ausgewählte Version zurücksetzen',\n save: 'Speichern',\n schema: 'Schema',\n search: 'Suche...',\n 'search.no_results': 'Keine Ergebnisse gefunden',\n search_asset_types: 'Suche Asset Types...',\n search_assets: 'Suche Assets...',\n search_for_page: 'Seite suchen',\n search_roles: 'Suche Rollen...',\n search_tsm: 'Suche Zeitreihen...',\n secret: 'Secret',\n secrets: 'Secrets',\n select: 'Auswählen',\n select_file: 'Datei Auswählen',\n selected_file: 'Ausgewählte Datei',\n 'service.add.new': 'Dienstleistung hinzufügen',\n 'service.delete': 'Dienstleistung entfernen',\n services: 'Dienstleistungen',\n settings: 'Einstellungen',\n setup_certs_description: 'Einrichtung zugehöriger Zertifikate',\n show: 'Zeige',\n show_differences: 'Zeige Unterschiede',\n show_preview: 'Vorschau anzeigen',\n sign_in: 'Einloggen',\n sign_out: 'Ausloggen',\n signed_in_as: 'Angemeldet als',\n sort: 'Sortierung',\n statistic_queries: 'Statistik Anfragen',\n status: 'Status',\n supertype: 'Obertyp',\n system: 'System',\n tags: 'Label',\n task: 'Aufgabe',\n tasks: 'Aufgaben',\n time: 'Zeit',\n time_series: 'Zeitreihen',\n time_series_manager: 'Time Series Manager',\n timeseries: 'Zeitreihen',\n title: 'Titel',\n toast_active_organization_error:\n 'Aktive Organisation konnte nicht geändert werden.',\n toast_active_organization_loading: 'Aktive Organisation wird geändert...',\n toast_active_organization_success:\n 'Aktive Organisation erfolgreich geändert.',\n toast_error: 'Fehler!',\n toast_error_add_employee:\n 'Die Einladung des neuen Mitarbeiters konnte nicht versendet werden',\n toast_error_add_member:\n 'Die Einladung des neuen Mitglieds konnte nicht versendet werden',\n toast_error_add_role: 'Die Rolle konnte nicht hinzugefügt werden',\n toast_error_authenticate: 'Authentifizierung fehlgeschlagen.',\n toast_error_create_tsm: 'Zeitreihe konnte nicht erstellt werden.',\n toast_error_index_content: 'Fehler beim Abrufen des Indizierungsstatus.',\n toast_error_invitation_send: 'Einladung konnte nicht gesendet werden',\n toast_error_load_cert: 'Zertifikate konnten nicht geladen werden',\n toast_error_load_event_causes:\n 'Eventursachen-Override konnte nicht geladen werden.',\n toast_error_load_item: '{{item}} konnte nicht geladen werden.',\n toast_error_load_list: 'Liste konnte nicht geladen werden.',\n toast_error_load_org_roles:\n 'Rollen des aktiven Unternehmens konnten nicht geladen werden',\n toast_error_load_permissions: 'Rechte konnten nicht geladen werden',\n toast_error_load_permissions_all_users:\n 'Rechte aller Benutzer konnten nicht geladen werden',\n toast_error_load_preview: 'Vorschau konnte nicht geladen werden.',\n toast_error_load_role: 'Rollen konnten nicht geladen werden',\n toast_error_load_service: 'Dienstleistungen konnten nicht geladen werden',\n toast_error_load_tender: 'Ausschreibung konnte nicht geladen werden.',\n toast_error_organization_delete:\n 'Organisation konnte nicht gelöscht werden.',\n toast_error_organization_name_exists:\n 'Eine Organisation mit dem Namen {{name}} existiert bereits',\n toast_error_rollback_version:\n 'Fehler beim Zurücksetzen auf die ausgewählte Version',\n toast_error_save_item: '{{item}} konnte nicht gespeichert werden',\n toast_error_update_attachment:\n '{count, plural, one {Anhang konnte nicht aktualisiert werden} other {# Anhänge konnten nicht aktualisiert werden}}',\n toast_error_update_event_causes:\n 'Eventursachen-Override konnte nicht aktualisiert werden.',\n toast_error_update_service:\n 'Dienstleistung konnte nicht aktualisiert werden',\n toast_error_upload_file:\n '{count, plural, one {Datei konnte nicht hochgeladen werden {{file}}} other {# Dateien konnten nicht hochgeladen werden}}',\n toast_error_upload_file_max:\n 'Es dürfen nicht mehr als {{max}} Dateien Zeitgleich hochgeladen werden.',\n toast_form_error_required: '{{param}} darf nicht leer sein',\n toast_form_error_required_selection:\n 'Es muss mindestens ein {{param}} ausgewählt werden',\n toast_form_error_required_selection_feminine:\n 'Es muss mindestens eine {{param}} ausgewählt werden',\n toast_info: 'Info!',\n toast_success: 'Erfolgreich!',\n toast_success_add_employee:\n 'Die Einladung des neuen Mitarbeiters wurde erfolgreich versendet',\n toast_success_add_member:\n 'Die Einladung des neuen Mitglieds wurde erfolgreich versendet',\n toast_success_add_role: 'Die Rolle wurde erfolgreich hinzugefügt',\n toast_success_invitation_send: 'Einladung gesendet',\n toast_success_update_attachment:\n '{count, plural, one {Anhang aktualisiert} other {# Anhänge aktualisiert}}',\n toast_success_update_service: 'Dienstleistung wurde aktualisiert',\n toast_success_upload_file:\n '{count, plural, one {Datei wurde erfolgreich hochgeladen: {{file}}} other {# Dateien wurden erfolgreich hochgeladen}}',\n toast_warning: 'Warnung!',\n toast_warning_invalid_form_data:\n 'Ungültige Daten im Formular. Bitte überprüfen Sie das Formular auf Fehler.',\n toast_warning_invalid_schema: 'Das angegebene Schema ist nicht gültig.',\n toast_warning_rollback_version:\n 'Folgende referenzierte Elemente existieren in der Revision nicht mehr: {{entries}}',\n tour_start: 'Starte Tour',\n type: 'Typ',\n unknown: 'Unbekannt',\n unverified: 'Unverifiziert',\n updated: 'Bearbeitet',\n updated_by: 'Aktualisiert von',\n upload_date: 'Hochgeladen am',\n upload_file: 'Datei hochladen',\n url: 'URL',\n user: 'Benutzer',\n user_roles: 'Benutzerrollen',\n username: 'Benutzername',\n vat: 'USt-IdNr./UID',\n vat_example:\n 'Es muss eine gültige USt-IdNr. (DE gefolgt von 9 Ziffern, z.B. DE123456789) oder UID (ATU gefolgt von 8 Ziffern, z.B. ATU12345678) angegeben werden',\n verified: 'Verifiziert',\n view: 'Ansehen',\n view_identity_providers:\n 'Rolle, die den Lesezugriff auf die konfigurierten Identitätsanbieter ermöglicht',\n view_invitations:\n 'Rolle, die den Lesezugriff auf offene Mitarbeitereinladungen ermöglicht',\n view_members:\n 'Rolle, die den Lesezugriff auf alle bestehenden Mitarbeiter ermöglicht',\n view_organization:\n 'Rolle, die den Lesezugriff auf das Unternehmen ermöglicht',\n view_roles: 'Rolle, die den Lesezugriff auf Unternehmensrollen ermöglicht',\n warning: 'Warnung',\n week: 'Woche',\n write_permissions: 'Schreibe-Rechte',\n year: 'Jahr',\n years: 'Jahre',\n zip_code: 'Postleitzahl',\n zip_code_error:\n 'Die Postleitzahl muss gültig sein und darf maximal 10 Zeichen enthalten.',\n },\n};\n\n@Injectable({ providedIn: 'root' })\nexport class AiTranslocoLoader implements TranslocoLoader {\n getTranslation(lang: string): Observable<any> {\n return of(translations[lang] || {});\n }\n}\n\n@NgModule({\n imports: [TranslocoModule],\n exports: [TranslocoModule],\n providers: [\n { provide: TRANSLOCO_TRANSPILER, useClass: DefaultTranspiler },\n { provide: TRANSLOCO_LOADER, useClass: AiTranslocoLoader },\n provideTransloco({\n config: {\n availableLangs: ['de', 'en'],\n defaultLang: 'de',\n reRenderOnLangChange: true,\n prodMode: !isDevMode(),\n },\n loader: AiTranslocoLoader,\n }),\n ],\n})\nexport class AiTranslocoModule {}\n","import {\n Directive,\n ElementRef,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\n/**\n * A directive that automatically scrolls a chat container to the bottom when new content is added,\n * unless the user is currently scrolling.\n */\n@Directive({\n selector: '[aiChatScroll]',\n standalone: true,\n})\nexport class ChatScrollDirective implements OnInit, OnDestroy {\n private isUserScrolling = false;\n private observer: MutationObserver;\n\n constructor(private el: ElementRef<HTMLElement>, private zone: NgZone) {\n this.observer = new MutationObserver(() => this.scrollToBottom());\n }\n\n ngOnInit() {\n this.observer.observe(this.el.nativeElement, {\n childList: true,\n subtree: true,\n });\n this.el.nativeElement.addEventListener(\n 'scroll',\n this.handleUserScroll.bind(this)\n );\n }\n\n ngOnDestroy() {\n this.observer.disconnect();\n this.el.nativeElement.removeEventListener(\n 'scroll',\n this.handleUserScroll.bind(this)\n );\n }\n\n /*\n * Checks if the user is currently scrolling by comparing the scroll position\n * with the total scroll height and client height of the element.\n */\n private handleUserScroll() {\n const { scrollTop, scrollHeight, clientHeight } = this.el.nativeElement;\n this.isUserScrolling = scrollTop + clientHeight < scrollHeight;\n }\n\n private scrollToBottom() {\n if (!this.isUserScrolling) {\n this.zone.runOutsideAngular(\n () =>\n (this.el.nativeElement.scrollTop = this.el.nativeElement.scrollHeight)\n );\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, share } from 'rxjs';\nimport { io, Socket } from 'socket.io-client';\n\nimport { ApiService } from '../core/api.service';\n\n@Injectable()\nexport class WebsocketService {\n private socket: Socket;\n\n subscribersCounter: Record<string, number> = {};\n eventObservables$: Record<string, Observable<any>> = {};\n\n constructor(apiService: ApiService) {\n this.socket = io(apiService.baseUrl, {\n path: `/api/ws/ai`,\n auth: (cb) => {\n apiService.getAccessToken().then((token) => {\n cb({ token: 'Bearer ' + token });\n });\n },\n });\n }\n\n emitToAi(\n threadId: string,\n message: string,\n context?: { timeZone?: string },\n toolCallId?: string,\n result?: any,\n ): Socket {\n return this.socket.emit('message', {\n threadId,\n message,\n context,\n toolCallId,\n result,\n });\n }\n\n emitToolCallResult(\n threadId: string,\n toolCallId: string,\n result: any,\n ): Socket {\n return this.socket.emit('message', { threadId, toolCallId, result });\n }\n\n abortAi(threadId: string): Socket {\n return this.socket.emit('abort', { threadId });\n }\n\n subscribeToThread(threadId: string): Observable<any> {\n return this.fromEvent(threadId, this.socket);\n }\n\n private fromEvent<T>(eventName: string, socket: Socket): Observable<T> {\n if (!this.subscribersCounter[eventName]) {\n this.subscribersCounter[eventName] = 0;\n }\n this.subscribersCounter[eventName]++;\n\n if (!this.eventObservables$[eventName]) {\n this.eventObservables$[eventName] = new Observable((observer: any) => {\n const listener = (data: T) => {\n observer.next(data);\n };\n socket.on(eventName, listener);\n return () => {\n this.subscribersCounter[eventName]--;\n if (this.subscribersCounter[eventName] === 0) {\n socket.removeListener(eventName, listener);\n delete this.eventObservables$[eventName];\n }\n };\n }).pipe(share());\n }\n return this.eventObservables$[eventName];\n }\n}\n","const enum ContextType {\n TOP_LEVEL = 'topLevel',\n STRING = 'string',\n STRING_ESCAPED = 'stringEscaped',\n STRING_UNICODE = 'stringUnicode',\n NUMBER = 'number',\n NUMBER_NEEDS_DIGIT = 'numberNeedsDigit',\n NUMBER_NEEDS_EXPONENT = 'numberNeedsExponent',\n TRUE = 'true',\n FALSE = 'false',\n NULL = 'null',\n ARRAY_NEEDS_VALUE = 'arrayNeedsValue',\n ARRAY_NEEDS_COMMA = 'arrayNeedsComma',\n OBJECT_NEEDS_KEY = 'objectNeedsKey',\n OBJECT_NEEDS_COLON = 'objectNeedsColon',\n OBJECT_NEEDS_VALUE = 'objectNeedsValue',\n OBJECT_NEEDS_COMMA = 'objectNeedsComma',\n}\n\nconst enum RespawnReason {\n STRING_ESCAPE = 'stringEscape',\n COLLECTION_ITEM = 'collectionItem',\n}\n\nfunction isWhitespace(char: string): boolean {\n return '\\u0020\\u000D\\u000A\\u0009'.indexOf(char) >= 0;\n}\n\n// based on https://github.com/dphilipson/untruncate-json\nexport function untruncateJson(json: string): string {\n const contextStack: ContextType[] = [ContextType.TOP_LEVEL];\n let position = 0;\n let respawnPosition: number | undefined;\n let respawnStackLength: number | undefined;\n let respawnReason: RespawnReason | undefined;\n\n const push = (context: ContextType) => contextStack.push(context);\n const replace = (context: ContextType) => (contextStack[contextStack.length - 1] = context);\n const setRespawn = (reason: RespawnReason) => {\n if (respawnPosition == null) {\n respawnPosition = position;\n respawnStackLength = contextStack.length;\n respawnReason = reason;\n }\n };\n const clearRespawn = (reason: RespawnReason) => {\n if (reason === respawnReason) {\n respawnPosition = undefined;\n respawnStackLength = undefined;\n respawnReason = undefined;\n }\n };\n const pop = () => contextStack.pop();\n const dontConsumeCharacter = () => position--;\n\n const startAny = (char: string) => {\n if ('0' <= char && char <= '9') {\n push(ContextType.NUMBER);\n return;\n }\n switch (char) {\n case '\"':\n push(ContextType.STRING);\n return;\n case '-':\n push(ContextType.NUMBER_NEEDS_DIGIT);\n return;\n case 't':\n push(ContextType.TRUE);\n return;\n case 'f':\n push(ContextType.FALSE);\n return;\n case 'n':\n push(ContextType.NULL);\n return;\n case '[':\n push(ContextType.ARRAY_NEEDS_VALUE);\n return;\n case '{':\n push(ContextType.OBJECT_NEEDS_KEY);\n return;\n }\n };\n\n for (const { length } = json; position < length; position++) {\n const char = json[position];\n switch (contextStack[contextStack.length - 1]) {\n case ContextType.TOP_LEVEL:\n startAny(char);\n break;\n case ContextType.STRING:\n switch (char) {\n case '\"':\n pop();\n break;\n case '\\\\':\n setRespawn(RespawnReason.STRING_ESCAPE);\n push(ContextType.STRING_ESCAPED);\n break;\n }\n break;\n case ContextType.STRING_ESCAPED:\n if (char === 'u') {\n push(ContextType.STRING_UNICODE);\n } else {\n clearRespawn(RespawnReason.STRING_ESCAPE);\n pop();\n }\n break;\n case ContextType.STRING_UNICODE:\n if (position - json.lastIndexOf('u', position) === 4) {\n clearRespawn(RespawnReason.STRING_ESCAPE);\n pop();\n }\n break;\n case ContextType.NUMBER:\n if (char === '.') {\n replace(ContextType.NUMBER_NEEDS_DIGIT);\n } else if (char === 'e' || char === 'E') {\n replace(ContextType.NUMBER_NEEDS_EXPONENT);\n } else if (char < '0' || char > '9') {\n dontConsumeCharacter();\n pop();\n }\n break;\n case ContextType.NUMBER_NEEDS_DIGIT:\n replace(ContextType.NUMBER);\n break;\n case ContextType.NUMBER_NEEDS_EXPONENT:\n if (char === '+' || char === '-') {\n replace(ContextType.NUMBER_NEEDS_DIGIT);\n } else {\n replace(ContextType.NUMBER);\n }\n break;\n case ContextType.TRUE:\n case ContextType.FALSE:\n case ContextType.NULL:\n if (char < 'a' || char > 'z') {\n dontConsumeCharacter();\n pop();\n }\n break;\n case ContextType.ARRAY_NEEDS_VALUE:\n if (char === ']') {\n pop();\n } else if (!isWhitespace(char)) {\n clearRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.ARRAY_NEEDS_COMMA);\n startAny(char);\n }\n break;\n case ContextType.ARRAY_NEEDS_COMMA:\n if (char === ']') {\n pop();\n } else if (char === ',') {\n setRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.ARRAY_NEEDS_VALUE);\n }\n break;\n case ContextType.OBJECT_NEEDS_KEY:\n if (char === '}') {\n pop();\n } else if (char === '\"') {\n setRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.OBJECT_NEEDS_COLON);\n push(ContextType.STRING);\n }\n break;\n case ContextType.OBJECT_NEEDS_COLON:\n if (char === ':') {\n replace(ContextType.OBJECT_NEEDS_VALUE);\n }\n break;\n case ContextType.OBJECT_NEEDS_VALUE:\n if (!isWhitespace(char)) {\n clearRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.OBJECT_NEEDS_COMMA);\n startAny(char);\n }\n break;\n case ContextType.OBJECT_NEEDS_COMMA:\n if (char === '}') {\n pop();\n } else if (char === ',') {\n setRespawn(RespawnReason.COLLECTION_ITEM);\n replace(ContextType.OBJECT_NEEDS_KEY);\n }\n break;\n }\n }\n\n if (respawnStackLength != null) {\n contextStack.length = respawnStackLength;\n }\n const result = [respawnPosition != null ? json.slice(0, respawnPosition) : json];\n const finishWord = (word: string) => result.push(word.slice(json.length - json.lastIndexOf(word[0])));\n for (let i = contextStack.length - 1; i >= 0; i--) {\n switch (contextStack[i]) {\n case ContextType.STRING:\n result.push('\"');\n break;\n case ContextType.NUMBER_NEEDS_DIGIT:\n case ContextType.NUMBER_NEEDS_EXPONENT:\n result.push('0');\n break;\n case ContextType.TRUE:\n finishWord('true');\n break;\n case ContextType.FALSE:\n finishWord('false');\n break;\n case ContextType.NULL:\n finishWord('null');\n break;\n case ContextType.ARRAY_NEEDS_VALUE:\n case ContextType.ARRAY_NEEDS_COMMA:\n result.push(']');\n break;\n case ContextType.OBJECT_NEEDS_KEY:\n case ContextType.OBJECT_NEEDS_COLON:\n case ContextType.OBJECT_NEEDS_VALUE:\n case ContextType.OBJECT_NEEDS_COMMA:\n result.push('}');\n break;\n }\n }\n return result.join('');\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslocoService } from '@jsverse/transloco';\nimport { Subject, Subscription, takeUntil } from 'rxjs';\n\nimport type {\n AiAssistant,\n AssistantMessage as AiAssistantMessage,\n Message,\n SystemMessage,\n ThreadPopulated,\n ToolMessage,\n UserMessage,\n} from '@hahnpro/hpc-api';\nimport { ApiService } from '../core/api.service';\nimport { ContextReference, ContextService } from './context.service';\nimport { WebsocketService } from './websocket.service';\nimport { untruncateJson } from './utils';\n\nexport enum ChatView {\n Start,\n Thread,\n ThreadList,\n}\n\nconst ChatViewTitles = {\n [ChatView.ThreadList]: 'ai.chats',\n};\n\n@Injectable()\nexport class ChatService {\n readonly ChatView = ChatView;\n highlightContext: string | null = null;\n isLoading = false;\n model: string | null = null;\n locale = 'en';\n isProcessing = false;\n\n private readonly apiService = inject(ApiService);\n private readonly contextService = inject(ContextService);\n private readonly destroy$ = new Subject<void>();\n private readonly router = inject(Router);\n private readonly socket = inject(WebsocketService);\n private readonly translocoService = inject(TranslocoService);\n private _activeView: ChatView = ChatView.Start;\n private _activeAssistant: AiAssistant | null = null;\n private _activeThread: ThreadPopulated | null = null;\n private _assistants: AiAssistant[] = [];\n private _messages: ChatMessage[] = [];\n private errorEvents$: Subscription | null = null;\n private threadEvents$: Subscription | null = null;\n\n constructor() {\n this.locale = this.translocoService.getActiveLang() || 'en';\n }\n\n get activeAssistant(): AiAssistant {\n return this._activeAssistant;\n }\n\n get activeThread(): ThreadPopulated | null {\n return this._activeThread;\n }\n\n get activeView(): ChatView {\n return this._activeView;\n }\n\n get assistants(): AiAssistant[] {\n return this._assistants;\n }\n\n get messages(): ChatMessage[] {\n return this._messages;\n }\n\n get title(): string {\n return ChatViewTitles[this.activeView];\n }\n\n async init() {\n this.isLoading = true;\n try {\n this._assistants = await this.apiService.getAssistants();\n const defaultAssistant = this.assistants.find(\n (a) => a.id === 'asset-assistant',\n );\n if (defaultAssistant) {\n this._activeAssistant = defaultAssistant;\n }\n } catch (err) {\n console.error(err);\n } finally {\n this.isLoading = false;\n }\n }\n\n async createThreadForModal(\n assistantId: string,\n initialMessage?: string,\n hidden?: boolean,\n ): Promise<void> {\n try {\n if (!this.assistants.length) {\n await this.init();\n }\n this.isLoading = true;\n this._activeAssistant =\n this.assistants.find((a) => a.id === assistantId) || null;\n if (!this._activeAssistant) {\n throw new Error(`Assistant ${assistantId} not found`);\n }\n this._activeThread = await this.apiService.createThread(assistantId);\n // this._activeThread = await this.apiService.getThread(\n // '67ed93d38361957d6811b944',\n // );\n await this.getMessages();\n\n this.setupWebsockets();\n if (initialMessage) {\n await this.sendMessage(initialMessage, hidden);\n }\n } catch (err) {\n console.error(err);\n throw err;\n } finally {\n this.isLoading = false;\n }\n }\n\n async createThread(\n initialMessage?: string,\n assistantId?: string,\n ): Promise<void> {\n if (this.isLoading || (!this.activeAssistant?.id && !assistantId)) {\n return;\n }\n assistantId = assistantId || this.activeAssistant?.id;\n this._activeAssistant =\n this.assistants.find((a) => a.id === assistantId) || this.activeAssistant;\n\n this.isLoading = true;\n try {\n const thread = await this.apiService.createThread(assistantId);\n if (initialMessage) {\n await this.sendMessage(initialMessage);\n }\n this.router.navigate(['/ai/threads', thread.id]);\n } catch (err) {\n console.error(err);\n } finally {\n this.isLoading = false;\n }\n }\n\n deleteThread(threadId: string) {\n if (threadId === this.activeThread?.id) {\n this._activeThread = null;\n }\n return this.apiService.deleteThread(threadId);\n }\n\n showThreadList() {\n if (this._activeView === ChatView.ThreadList) {\n return;\n }\n this._activeView = ChatView.ThreadList;\n }\n\n async openThread(\n thread: string | ThreadPopulated,\n isNewThread = false,\n ): Promise<void> {\n if (!thread) {\n return;\n }\n if (typeof thread === 'string') {\n thread = await this.apiService.getThread(thread);\n }\n\n this._activeThread = thread;\n this._activeView = ChatView.Thread;\n if (isNewThread) {\n this._messages = [];\n } else {\n await this.getMessages();\n }\n this.setupWebsockets();\n }\n\n getAssistantName(thread: ThreadPopulated): string {\n const assistant = this._assistants.find((a) => a.id === thread.assistantId);\n return assistant?.i18n?.[this.locale]?.name;\n }\n\n private async getMessages(): Promise<void> {\n const threadId = this.activeThread?.id;\n if (!threadId) {\n return;\n }\n\n this._messages = [];\n this.isLoading = true;\n try {\n const { docs: messages } =\n await this.apiService.getThreadMessages(threadId);\n this.isLoading = false;\n if (messages.length === 0) {\n const assistant = this.assistants.find(\n (a) => a.id === this.activeThread.assistantId,\n );\n const welcomeMessage = assistant.i18n[this.locale]?.welcomeMessage;\n const currentDate = new Date().toISOString();\n this._messages = [\n {\n thread: threadId,\n role: 'assistant',\n content: welcomeMessage,\n createdAt: currentDate,\n updatedAt: currentDate,\n parsedContent: {\n response: welcomeMessage,\n references: [],\n },\n },\n ];\n } else {\n messages\n .reverse()\n .forEach((message: any) => this.updateMessage(message));\n }\n } catch (err) {\n this.isLoading = false;\n console.error(err);\n throw err;\n }\n }\n\n async sendMessage(content: string, hidden?: boolean): Promise<void> {\n content = content.trim();\n if (!content || !this.activeAssistant?.id) {\n return;\n }\n if (!this.activeThread) {\n const thread = await this.apiService.createThread(\n this.activeAssistant.id,\n );\n await this.openThread(thread, true);\n }\n\n const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const currentDate = new Date().toISOString();\n\n const message: Message = {\n thread: this.activeThread.id,\n content,\n createdAt: currentDate,\n updatedAt: currentDate,\n role: 'user',\n hidden,\n };\n\n const item = this._messages[this._messages.length - 1];\n if (\n item?.role === 'tool' &&\n item?.toolType === 'choice' &&\n item?.status === 'processing' &&\n item?.args?.choices\n ) {\n // the last message was a tool-call, it needs to be finished by setting `thread` and `toolCallId`\n this.socket.emitToAi(\n this.activeThread.id,\n content,\n { timeZone },\n item.toolCallId,\n 'none',\n );\n } else {\n this.socket.emitToAi(this.activeThread.id, content, { timeZone });\n }\n this._messages.push(message);\n }\n\n selectChoice(selection: any, toolMessage: any) {\n this.socket.emitToolCallResult(\n toolMessage.thread,\n toolMessage.toolCallId,\n selection,\n );\n }\n\n private setupWebsockets(): void {\n if (this.threadEvents$) {\n this.threadEvents$.unsubscribe();\n this.threadEvents$ = null;\n }\n if (this.errorEvents$) {\n this.errorEvents$.unsubscribe();\n this.errorEvents$ = null;\n }\n if (!this.activeThread) {\n return;\n }\n\n if (this.activeThread) {\n this.threadEvents$ = this.socket\n .subscribeToThread(this.activeThread.id)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n ({ type, data }: { type: WebSocketMessageType; data: Message }) => {\n this.handleThreadEvent(type, data);\n },\n );\n }\n }\n\n private collectContext(message: AssistantMessage) {\n const references = message.parsedContent?.references;\n const seenIds = new Set<string>();\n references?.forEach((ref) => {\n if ((ref.resourceType as string) === 'document') {\n ref.resourceType = 'content';\n }\n if (!seenIds.has(ref.id)) {\n ref.firstOccurrence = true;\n }\n seenIds.add(ref.id);\n });\n const refs = references?.filter((ref) => ref.firstOccurrence);\n if (refs) {\n this.contextService.loadReferences(refs);\n }\n }\n\n private handleThreadEvent(type: WebSocketMessageType, message: Message) {\n if (type === WebSocketMessageType.AI_PROCESSING) {\n // Message is being processed\n this.isProcessing = true;\n } else if (type === WebSocketMessageType.AI_MESSAGE) {\n // Message processing is complete\n this.updateMessage(message);\n } else if (type === WebSocketMessageType.AI_COMPLETE) {\n // Message processing is complete\n this.isProcessing = false;\n } else if (type === WebSocketMessageType.AI_ABORTED) {\n // Message processing was aborted\n this.isProcessing = false;\n } else if (type === WebSocketMessageType.AI_FAILED_TO_PROCESS) {\n // Message processing failed\n this.isProcessing = false;\n } else if (type === WebSocketMessageType.AI_INVALID_MESSAGE) {\n // Invalid user message\n this.isProcessing = false;\n } else {\n // ignore event\n }\n }\n\n private updateMessage(message: Message) {\n const index = this._messages.findIndex((m) => m.id === message.id);\n let newMessage: ChatMessage;\n\n if (message.role === 'assistant') {\n newMessage = { ...message } as AssistantMessage;\n if (message.content) {\n try {\n newMessage.parsedContent = JSON.parse(\n untruncateJson(message.content),\n );\n this.collectContext(newMessage);\n } catch (_) {\n newMessage.parsedContent = {\n response: message.content,\n references: [],\n };\n }\n }\n }\n if (index !== -1) {\n this._messages[index] = newMessage || message; // update message\n } else {\n this._messages.push(newMessage || message); // add message\n }\n }\n}\n\ninterface MessageContent {\n response: string;\n references: ContextReference[];\n}\n\nexport interface AssistantMessage extends AiAssistantMessage {\n role: 'assistant';\n parsedContent?: MessageContent;\n}\n\nexport type ChatMessage =\n | AssistantMessage\n | SystemMessage\n | ToolMessage\n | UserMessage;\n\nexport enum WebSocketMessageType {\n AI_ASSISTANT_STATUS = 'ai_assistant_status',\n AI_ASSISTANT_TOOL_STATUS = 'ai_assistant_tool_status',\n AI_ABORTED = 'ai_aborted',\n AI_ABORT_FAILED = 'ai_abort_failed',\n AI_COMPLETE = 'ai_complete',\n AI_COMPLETE_RESPONSE = 'ai_complete_response',\n AI_FAILED_TO_PROCESS = 'ai_failed_to_process',\n AI_INVALID_MESSAGE = 'ai_invalid_message',\n AI_MESSAGE = 'ai_message',\n AI_PARTIAL_RESPONSE = 'ai_partial_response',\n AI_PROCESSING = 'ai_processing',\n AI_TOOL_RESPONSE = 'ai_tool_response',\n AI_TOOL_STATUS = 'ai_tool_status',\n ERROR = 'error',\n ERROR_EVENT = 'errorEvent',\n}\n","import { inject, Injectable } from '@angular/core';\nimport {\n AudioConfig,\n Recognizer,\n SessionEventArgs,\n SpeechConfig,\n SpeechRecognitionCanceledEventArgs,\n SpeechRecognitionEventArgs,\n SpeechRecognizer,\n} from 'microsoft-cognitiveservices-speech-sdk';\nimport { NGXLogger } from 'ngx-logger';\nimport { Observable, Subject } from 'rxjs';\n\nimport { ApiService } from '../core/api.service';\n\n@Injectable({ providedIn: 'root' })\nexport class VoiceRecognitionService {\n private _isListening = false;\n private recognizer: SpeechRecognizer | null = null;\n private tokenExpiration = 0;\n private readonly _preResult$ = new Subject<string>();\n private readonly _result$ = new Subject<string>();\n private readonly audioConfig = AudioConfig.fromDefaultMicrophoneInput();\n private readonly apiService = inject(ApiService);\n private readonly logger = inject(NGXLogger);\n\n get isInitialized(): boolean {\n return !!this.recognizer;\n }\n\n get isListening(): boolean {\n return this._isListening;\n }\n\n get isTokenExpired(): boolean {\n const currentTime = Math.floor(Date.now() / 1000);\n const bufferTime = 180; // 3 min\n return currentTime + bufferTime >= this.tokenExpiration;\n }\n\n get preResult$(): Observable<string> {\n return this._preResult$.asObservable();\n }\n\n get result$(): Observable<string> {\n return this._result$.asObservable();\n }\n\n async start(language?: string) {\n if (!this.isInitialized || this.isTokenExpired) {\n await this.init(language).catch((err) => this.logger.error(err));\n }\n this.recognizer?.startContinuousRecognitionAsync(\n () => {},\n (err) => this.logger.error(err),\n );\n }\n\n async stop() {\n this.recognizer?.stopContinuousRecognitionAsync(\n () => (this._isListening = false),\n (err) => {\n this.logger.error(err);\n this._isListening = false;\n this.recognizer?.close();\n this.recognizer = null;\n },\n );\n }\n\n async toggle(language?: string) {\n if (this.isListening) {\n await this.stop();\n } else {\n await this.start(language);\n }\n }\n\n private parseJwtToken(token: string): number {\n try {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = atob(base64);\n const payload = JSON.parse(jsonPayload);\n return payload.exp || 0;\n } catch (error) {\n this.logger.error('Error parsing JWT token:', error);\n return 0;\n }\n }\n\n private async init(language = 'de-DE') {\n const { token, region } = await this.apiService.getSpeechToken();\n this.tokenExpiration = this.parseJwtToken(token);\n\n const speechConfig = SpeechConfig.fromAuthorizationToken(token, region);\n speechConfig.speechRecognitionLanguage = language;\n\n this.recognizer = new SpeechRecognizer(speechConfig, this.audioConfig);\n this.recognizer.recognized = (\n _sender: Recognizer,\n event: SpeechRecognitionEventArgs,\n ) => {\n if (event.result.text) {\n this._result$.next(event.result.text);\n }\n };\n this.recognizer.recognizing = (\n _sender: Recognizer,\n event: SpeechRecognitionEventArgs,\n ) => {\n if (event.result.text) {\n this._preResult$.next(event.result.text);\n }\n };\n this.recognizer.sessionStarted = (\n _sender: Recognizer,\n _event: SessionEventArgs,\n ) => {\n this._isListening = true;\n };\n this.recognizer.sessionStopped = (\n _sender: Recognizer,\n _event: SessionEventArgs,\n ) => {\n this._isListening = false;\n };\n this.recognizer.canceled = (\n _sender: Recognizer,\n event: SpeechRecognitionCanceledEventArgs,\n ) => {\n this.logger.debug(event.errorDetails);\n this.logger.debug(event.reason);\n this._isListening = false;\n };\n }\n}\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { CdkTextareaAutosize, TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n DestroyRef,\n ElementRef,\n inject,\n Input,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslocoModule, TranslocoService } from '@jsverse/transloco';\n\nimport { ChatService } from '../chat.service';\nimport { VoiceRecognitionService } from '../voice-recognition.service';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n imports: [\n CdkTextareaAutosize,\n CommonModule,\n FormsModule,\n MatButtonModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatTooltipModule,\n TextFieldModule,\n TranslocoModule,\n ],\n selector: 'ai-message-input',\n templateUrl: './message-input.component.html',\n})\nexport class MessageInputComponent implements OnInit {\n @ViewChild('messageInput') messageInput: ElementRef<HTMLTextAreaElement>;\n @Input() readonly startConversation: string = '';\n readonly chatService = inject(ChatService);\n readonly voiceRecognitionService = inject(VoiceRecognitionService);\n isMobileView: boolean;\n message: string;\n tmpMessage: string;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly translocoService = inject(TranslocoService);\n private lang: string;\n\n constructor(breakpointObserver: BreakpointObserver) {\n breakpointObserver\n .observe([Breakpoints.XSmall, Breakpoints.Small])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((result) => (this.isMobileView = result.matches));\n }\n\n ngOnInit(): void {\n this.lang = this.translocoService.getActiveLang();\n this.translocoService.langChanges$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((l) => (this.lang = l));\n this.voiceRecognitionService.preResult$.subscribe((result) => {\n const msg = (this.tmpMessage || '') + ' ' + result;\n this.message = msg.trim();\n });\n this.voiceRecognitionService.result$.subscribe((result) => {\n const msg = (this.tmpMessage || '') + ' ' + result;\n this.message = msg.trim();\n this.tmpMessage = this.message;\n });\n }\n\n sendMessage() {\n this.message = this.message.trim();\n if (!this.message) {\n return;\n }\n this.chatService.sendMessage(this.message);\n this.message = '';\n if (this.messageInput) {\n this.messageInput.nativeElement.value = '';\n this.messageInput.nativeElement.focus();\n }\n }\n\n toggleVoice() {\n this.tmpMessage = this.message;\n const lang = this.lang === 'de' ? 'de-DE' : 'en-US';\n this.voiceRecognitionService.toggle(lang);\n }\n\n stopVoice() {\n this.voiceRecognitionService.stop();\n }\n}\n","<div\n class=\"mx-auto flex w-full items-end justify-center bg-zinc-50 py-2 pl-4 pr-2 md:gap-x-2 md:rounded-2xl md:py-4 md:pr-4 lg:max-w-screen-md xl:max-w-screen-lg dark:border dark:border-zinc-600/30 dark:bg-black\"\n *transloco=\"let t\"\n>\n <textarea\n class=\"w-full md:text-lg md:font-semibold\"\n matInput\n cdkAutosizeMaxRows=\"10\"\n cdkTextareaAutosize\n [cdkAutosizeMinRows]=\"isMobileView ? 2 : 4\"\n [placeholder]=\"t('message')\"\n [(ngModel)]=\"message\"\n (keydown.enter)=\"sendMessage() || $event.preventDefault()\"\n spellcheck=\"false\"\n #autosize=\"cdkTextareaAutosize\"\n #messageInput\n ></textarea>\n <div class=\"flex md:flex-col md:gap-2\">\n <button\n mat-icon-button\n [matTooltip]=\"t('ai.use_microphone')\"\n matTooltipPosition=\"above\"\n (click)=\"toggleVoice()\"\n >\n <mat-icon\n class=\"icon-md\"\n [ngClass]=\"{ 'text-red-600': voiceRecognitionService.isListening }\"\n [svgIcon]=\"voiceRecognitionService.isListening ? 'mic_record' : 'mic'\"\n ></mat-icon>\n </button>\n @if (!voiceRecognitionService.isListening) {\n <button\n mat-icon-button\n [matTooltip]=\"t('ai.send_message')\"\n matTooltipPosition=\"above\"\n (click)=\"sendMessage()\"\n >\n <mat-icon svgIcon=\"send\" class=\"icon-md\"></mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n [matTooltip]=\"t('ai.stop_recording')\"\n matTooltipPosition=\"above\"\n (click)=\"stopVoice()\"\n >\n <mat-icon svgIcon=\"record_stop\" class=\"icon-md\"></mat-icon>\n </button>\n }\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport prettyBytes from 'pretty-bytes';\n\nfunction isNumberFinite(value: any): value is number {\n return typeof value === 'number' && isFinite(value);\n}\n\n@Pipe({\n name: 'bytes',\n standalone: false,\n})\nexport class BytesPipe implements PipeTransform {\n transform(input: any): any {\n if (!isNumberFinite(input)) {\n return input;\n }\n return prettyBytes(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { NGXLogger } from 'ngx-logger';\n\n@Pipe({\n name: 'colorLevel',\n standalone: false,\n})\nexport class ColorLevelPipe implements PipeTransform {\n constructor(private readonly logger: NGXLogger) {}\n\n transform(level: string, type: 'svg' | 'bg' | 'text' = 'bg'): string {\n let color;\n switch (level) {\n case 'OK':\n color = type === 'svg' ? '#10B981' : type === 'text' ? 'text-green-600' : 'bg-green-600';\n break;\n case 'WARNING':\n color = type === 'svg' ? '#F59E0B' : type === 'text' ? 'text-amber-600' : 'bg-yellow-600';\n break;\n case 'CRITICAL':\n color = type === 'svg' ? '#EF4444' : type === 'text' ? 'text-red-600' : 'bg-red-600';\n break;\n case 'INFO':\n color = type === 'svg' ? '#3B82F6' : type === 'text' ? 'text-blue-600' : 'bg-blue-600';\n break;\n case 'ANY':\n color = type === 'svg' ? '#78716C' : type === 'text' ? 'text-gray-600' : 'bg-gray-600';\n break;\n default:\n this.logger.error(`Unresolved level ${level}`);\n break;\n }\n return color;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatDistanceToNow } from 'date-fns';\n\n@Pipe({\n name: 'dateAgo',\n pure: false,\n standalone: false,\n})\nexport class DateAgoPipe implements PipeTransform {\n transform(value: string): string {\n return formatDistanceToNow(value);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { BytesPipe } from './bytes.pipe';\nimport { ColorLevelPipe } from './color-level.pipe';\nimport { DateAgoPipe } from './date-ago.pipe';\n\n@NgModule({\n imports: [CommonModule],\n exports: [BytesPipe, ColorLevelPipe, DateAgoPipe],\n declarations: [BytesPipe, ColorLevelPipe, DateAgoPipe],\n})\nexport class UiPipesModule {}\n","import type { HashMap } from '@jsverse/transloco';\n\nconst SUPPORTED_LANGUAGES = ['en', 'de'];\n\nexport function InlineLoaderFactory(loader: (lang: string) => Promise<HashMap>) {\n return SUPPORTED_LANGUAGES.reduce((acc, lang) => {\n acc[lang] = () => loader(lang);\n return acc;\n }, {});\n}\n","export function iconForMimeType(mimetype: string): string {\n if (!mimetype) {\n return 'file';\n }\n\n if (mimetype.startsWith('audio')) {\n return 'file_audio';\n } else if (mimetype.startsWith('image')) {\n return 'image';\n } else if (mimetype.startsWith('text')) {\n return 'file_text';\n } else if (mimetype.startsWith('video')) {\n return 'file_video';\n } else {\n return (\n {\n 'application/pdf': 'file_pdf',\n 'application/json': 'file_text',\n 'application/js': 'file_text',\n 'application/msword': 'file_text',\n 'application/gzip': 'file_zip',\n 'application/typescript': 'file_text',\n 'application/vnd.rar': 'file_zip',\n 'application/x-7z-compressed': 'file_zip',\n 'application/x-tar': 'file_zip',\n 'application/xml': 'file_text',\n 'application/zip': 'file_zip',\n }[mimetype] || 'file'\n );\n }\n}\n\nexport function labelForMimeType(mimetype: string): string {\n if (!mimetype) {\n return 'unknown';\n }\n\n if (mimetype.startsWith('audio')) {\n return 'audio';\n } else if (mimetype.startsWith('image')) {\n return 'image';\n } else if (mimetype.startsWith('text')) {\n return 'text';\n } else if (mimetype.startsWith('video')) {\n return 'video';\n } else {\n return (\n {\n 'application/pdf': 'pdf',\n 'application/json': 'text',\n 'application/js': 'text',\n 'application/msword': 'text',\n 'application/gzip': 'archive',\n 'application/typescript': 'text',\n 'application/vnd.rar': 'archive',\n 'application/x-7z-compressed': 'archive',\n 'application/x-tar': 'archive',\n 'application/xml': 'text',\n 'application/zip': 'archive',\n }[mimetype] || 'unknown'\n );\n }\n}\n","export { InlineLoaderFactory } from './i18n';\nexport { iconForMimeType, labelForMimeType } from './mimetype';\n\nexport function saveAs(blob: Blob | string, name: string) {\n const anchor = document.createElementNS('http://www.w3.org/1999/xhtml', 'a') as HTMLAnchorElement;\n anchor.style.display = 'none';\n anchor.download = name;\n anchor.rel = 'noopener';\n\n if (typeof blob === 'string') {\n anchor.href = blob;\n if (anchor.origin !== location.origin) {\n anchor.target = '_blank';\n corsEnabled(anchor.href) ? download(blob, name) : anchor.click();\n } else {\n anchor.click();\n }\n } else {\n anchor.href = URL.createObjectURL(blob);\n setTimeout(() => URL.revokeObjectURL(anchor.href), 4e4);\n setTimeout(() => anchor.click(), 0);\n }\n}\n\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299;\n}\n\nfunction download(url: string, name: string) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name);\n };\n xhr.send();\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, Inject, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport type { Content } from '@hahnpro/hpc-api';\nimport {\n NgxExtendedPdfViewerModule,\n pdfDefaultOptions,\n} from 'ngx-extended-pdf-viewer';\nimport { NGXLogger } from 'ngx-logger';\nimport { MarkdownModule } from 'ngx-markdown';\n\nimport { ApiService } from '../../core/api.service';\n\n@Component({\n imports: [\n CommonModule,\n MarkdownModule,\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n NgxExtendedPdfViewerModule,\n ],\n selector: 'ai-content-preview',\n templateUrl: './preview.component.html',\n})\nexport class PreviewComponent implements OnInit {\n content: Content & { analysis?: { text: string } };\n isLoading = false;\n pageNumber: number;\n previewUrl: SafeUrl;\n token: string;\n markdown?: string;\n\n private readonly apiService = inject(ApiService);\n private readonly logger = inject(NGXLogger);\n private readonly sanitizer = inject(DomSanitizer);\n\n constructor(\n @Inject(MAT_DIALOG_DATA) data: Content & { pageNumber?: number },\n ) {\n pdfDefaultOptions.assetsFolder = 'assets/ngx-extended-pdf';\n this.pageNumber = data.pageNumber || 1;\n this.content = data;\n }\n\n get pdfSrc() {\n if (this.content?.id) {\n return this.apiService.downloadContent(this.content.id);\n } else {\n return null;\n }\n }\n\n ngOnInit() {\n this.apiService.getAccessToken().then((t) => (this.token = `Bearer ${t}`));\n if (this.content.mimetype === 'application/pdf') {\n // ignore\n } else if (this.content.mimetype?.startsWith('image/')) {\n this.loadPreview();\n } else if (this.content.mimetype?.startsWith('text/')) {\n if (typeof this.content.analysis === 'object') {\n this.markdown = this.content.analysis.text;\n }\n }\n }\n\n private loadPreview() {\n if (this.isLoading || !this.content.id) {\n return;\n }\n this.isLoading = true;\n\n this.apiService\n .downloadContent(this.content.id, 'preview-lg')\n .then((data) => {\n const blob = new Blob([data], { type: 'image/png' });\n this.previewUrl = this.sanitizer.bypassSecurityTrustUrl(\n window.URL.createObjectURL(blob),\n );\n this.isLoading = false;\n })\n .catch((error) => {\n this.logger.error(error);\n this.isLoading = false;\n });\n }\n}\n","<ng-container>\n <div mat-dialog-title class=\"relative\">\n <div class=\"truncate pr-10\">{{ content.filename }}</div>\n <button\n mat-icon-button\n matDialogClose\n class=\"small absolute right-4 top-4 bg-zinc-50 text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 dark:bg-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-50\"\n >\n <mat-icon svgIcon=\"dismiss\"></mat-icon>\n </button>\n </div>\n <div mat-dialog-content class=\"flex grow flex-col\">\n @if (markdown) {\n <div class=\"w-full overflow-y-auto rounded-xl bg-white p-4\">\n <markdown class=\"markdown-body\" [data]=\"markdown\"></markdown>\n </div>\n } @else if (content.mimetype === 'application/pdf') {\n <div class=\"mx-auto w-[50rem] sm:h-[65vh]\">\n <ngx-extended-pdf-viewer\n [authorization]=\"token\"\n [src]=\"pdfSrc\"\n [disableHistory]=\"true\"\n [showBorders]=\"false\"\n [showDownloadButton]=\"false\"\n [showDrawEditor]=\"false\"\n [showEditor]=\"false\"\n [showHighlightEditor]=\"false\"\n [showOpenFileButton]=\"false\"\n [showPrintButton]=\"false\"\n [showRotateButton]=\"false\"\n [showSecondaryToolbarButton]=\"false\"\n [showSidebarButton]=\"false\"\n [showStampEditor]=\"false\"\n [showTextEditor]=\"false\"\n [sidebarVisible]=\"false\"\n [useBrowserLocale]=\"true\"\n [zoom]=\"auto\"\n [page]=\"pageNumber\"\n ></ngx-extended-pdf-viewer>\n </div>\n } @else if (previewUrl) {\n <div\n class=\"group relative w-full overflow-hidden rounded-2xl border border-zinc-300/40 bg-zinc-300/30 p-4 dark:border-zinc-700/40 dark:bg-zinc-700/30\"\n >\n <div class=\"w-full overflow-hidden rounded-lg\">\n <img class=\"w-full\" [src]=\"previewUrl\" alt=\"\" />\n </div>\n </div>\n }\n </div>\n</ng-container>\n","import { ClipboardModule } from '@angular/cdk/clipboard';\nimport { CommonModule } from '@angular/common';\nimport { Component, Inject, inject, InjectionToken } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslocoModule } from '@jsverse/transloco';\n\nimport type { Asset, Content, Event } from '@hahnpro/hpc-api';\nimport { iconForMimeType, labelForMimeType } from '../../core/utils';\nimport { UiPipesModule } from '../../core/pipes';\nimport { ContextService, Status as ContextStatus } from '../context.service';\nimport { PreviewComponent } from '../preview/preview.component';\n\nexport const OVERLAY_PAGE_NUMBER = new InjectionToken<number>(\n 'OVERLAY_PAGE_NUMBER',\n);\nexport const OVERLAY_RESOURCE_ID = new InjectionToken<string>(\n 'OVERLAY_RESOURCE_ID',\n);\nexport const OVERLAY_RESOURCE_TYPE = new InjectionToken<string>(\n 'OVERLAY_RESOURCE_TYPE',\n);\n\n@Component({\n templateUrl: './context-overlay.component.html',\n imports: [\n CommonModule,\n ClipboardModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatTooltipModule,\n TranslocoModule,\n UiPipesModule,\n ],\n})\nexport class ContextOverlayComponent {\n private readonly contextService = inject(ContextService);\n private readonly matDialog = inject(MatDialog);\n\n constructor(\n @Inject(OVERLAY_RESOURCE_ID) public resourceId: string,\n @Inject(OVERLAY_RESOURCE_TYPE)\n public resourceType: 'asset' | 'content' | 'event',\n @Inject(OVERLAY_PAGE_NUMBER) public pageNumber: number,\n ) {}\n\n get resource(): Asset | Content | Event {\n return this.contextService.getContext(this.resourceId);\n }\n\n get status(): ContextStatus | null {\n return this.contextService.status.get(this.resourceId);\n }\n\n get asset(): Asset | null {\n if (this.resourceType === 'content') {\n return this.contextService.assetForContent(this.resourceId);\n } else if (this.resourceType === 'event') {\n return this.contextService.assetForEvent(this.resource as Event);\n }\n return null;\n }\n\n iconForMimeType(): string {\n if (this.resourceType === 'asset') {\n return 'asset';\n } else if (this.resourceType === 'content') {\n return iconForMimeType((this.resource as Content)?.mimetype);\n } else if (this.resourceType === 'event') {\n return 'calendar_clock';\n }\n }\n\n labelForType(): string {\n if (this.resourceType === 'content') {\n return (\n 'content.file_type.' +\n labelForMimeType((this.resource as Content)?.mimetype)\n );\n } else {\n return this.resourceType;\n }\n }\n\n previewContent(pageNumber?: number) {\n if (this.resourceType === 'content' && this.resource) {\n const content = this.resource as Content;\n this.matDialog.open(PreviewComponent, {\n autoFocus: false,\n panelClass: 'upload-modal',\n data: { ...content, pageNumber },\n });\n }\n }\n\n isPreviewSupported(): boolean {\n if (this.resourceType === 'content' && this.resource) {\n const content = this.resource as Content;\n return (\n content.mimetype?.startsWith('image') ||\n content.mimetype === 'application/pdf' ||\n content.mimetype === 'text/markdown'\n );\n } else {\n return false;\n }\n }\n}\n","<div\n class=\"relative min-w-48 max-w-md rounded-2xl border border-zinc-400/50 bg-zinc-100/60 p-4 shadow-md backdrop-blur-md dark:border-zinc-600/50 dark:bg-zinc-800/60\"\n *transloco=\"let t\"\n>\n @if (resource) {\n @if (pageNumber) {\n <div class=\"flex w-full flex-col gap-y-2 px-2\">\n <div class=\"flex items-center gap-x-1 text-lg\">\n <span>{{ t('ai.source') }}:</span>\n <button\n class=\"text-blue-700 underline hover:text-blue-500 dark:text-blue-100 dark:hover:text-blue-400\"\n (click)=\"previewContent(pageNumber)\"\n >\n {{ t('page') }} {{ pageNumber }}\n </button>\n <span>{{ t('ai.of_document') }}</span>\n </div>\n <div class=\"mx-2 h-0.5 bg-zinc-200 dark:bg-zinc-700\"></div>\n <div class=\"flex items-center gap-x-3\">\n <mat-icon [svgIcon]=\"iconForMimeType()\" class=\"icon-sm\"></mat-icon>\n <div>\n {{ resource?.filename }}\n </div>\n </div>\n @if (asset) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"asset\" class=\"icon-sm\"></mat-icon>\n <div>\n {{ asset.name }}\n </div>\n </div>\n }\n </div>\n } @else {\n <div\n class=\"flex w-full flex-col items-center justify-center gap-x-3 pb-4 sm:flex-row sm:justify-start\"\n >\n <div\n class=\"flex rounded-xl border border-zinc-300/50 bg-zinc-300/40 p-2 dark:border-zinc-700/50 dark:bg-zinc-700/30\"\n >\n <mat-icon class=\"icon-md\" [svgIcon]=\"iconForMimeType()\"></mat-icon>\n </div>\n <div class=\"w-full overflow-hidden\">\n <div class=\"flex w-full flex-col items-center pr-8 sm:items-start\">\n <div\n class=\"w-full truncate text-md font-semibold text-zinc-950 dark:text-zinc-50\"\n >\n {{ resource?.name || resource?.filename }}\n </div>\n <div\n class=\"flex flex-col gap-x-2 text-sm text-zinc-900/70 sm:flex-row sm:items-center dark:text-zinc-100/70\"\n >\n <span>{{ t(labelForType()) }}</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex w-full flex-col gap-y-2 px-2\">\n @if (resource?.owner?.name) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"shield_person\" class=\"icon-sm\"></mat-icon>\n <div>\n {{ t('owner.managed_by') }} <b>{{ resource.owner.name }}</b>\n </div>\n </div>\n }\n @if (asset) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"asset\" class=\"icon-sm\"></mat-icon>\n <div>{{ asset.name }} ({{ asset.type$name }})</div>\n </div>\n }\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"history\" class=\"icon-sm\"></mat-icon>\n <div class=\"flex flex-col gap-x-2 sm:flex-row sm:items-center\">\n @if (\n resource?.updatedAt && resource?.updatedAt !== resource?.createdAt\n ) {\n <span>\n {{ t('last_updated') }}\n <span\n class=\"select-none\"\n matTooltip=\"{{ resource?.updatedAt | date: 'medium' }}\"\n matTooltipClass=\"text-sm\"\n >\n {{ resource?.updatedAt | dateAgo }}\n </span>\n </span>\n } @else {\n <span>\n {{ t('created') }}\n <span\n class=\"select-none\"\n matTooltip=\"{{ resource?.createdAt | date: 'medium' }}\"\n matTooltipClass=\"text-sm\"\n >\n {{ resource?.createdAt | dateAgo }}\n </span>\n </span>\n }\n </div>\n </div>\n @if (resource?.description) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"slide_text\" class=\"icon-sm\"></mat-icon>\n <div class=\"line-clamp-3\">{{ resource?.description }}</div>\n </div>\n }\n @if (resource?.size) {\n <div class=\"flex items-center gap-x-3\">\n <mat-icon svgIcon=\"drive\" class=\"icon-sm\"></mat-icon>\n <div>{{ resource?.size | bytes }}</div>\n </div>\n }\n @if (isPreviewSupported()) {\n <div class=\"w-full px-4 pt-4\">\n <button\n mat-raised-button\n color=\"primary\"\n class=\"w-full\"\n (click)=\"previewContent()\"\n >\n {{ t('show_preview') }}\n </button>\n </div>\n }\n </div>\n }\n } @else if (status?.isLoading) {\n <div class=\"flex h-10 w-10 items-center justify-center\">\n <mat-spinner strokeWidth=\"1\" diameter=\"18\"></mat-spinner>\n </div>\n } @else {\n <div class=\"flex flex-col gap-y-1 px-2 py-1\">\n <span class=\"text-md font-semibold\">{{\n t('toast_error_load_item', { item: t(resourceType) })\n }}</span>\n <span class=\"text-xs\">{{ resourceId }}</span>\n </div>\n }\n</div>\n","import { CdkAccordionModule } from '@angular/cdk/accordion';\nimport { Overlay, OverlayModule, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n inject,\n Injector,\n Input,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { TranslocoModule } from '@jsverse/transloco';\n\nimport { iconForMimeType, labelForMimeType } from '../../core/utils';\nimport { UiPipesModule } from '../../core/pipes';\nimport { ContextService } from '../context.service';\nimport { AssistantMessage, ChatService } from '../chat.service';\nimport {\n ContextOverlayComponent,\n OVERLAY_PAGE_NUMBER,\n OVERLAY_RESOURCE_ID,\n OVERLAY_RESOURCE_TYPE,\n} from '../context-overlay/context-overlay.component';\n\n@Component({\n imports: [\n CommonModule,\n CdkAccordionModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n OverlayModule,\n TranslocoModule,\n UiPipesModule,\n ],\n selector: 'ai-message-context',\n templateUrl: './message-context.component.html',\n styleUrl: './message-context.component.scss',\n})\nexport class MessageContextComponent {\n @Input() isLastMessage: boolean;\n @Input() message: AssistantMessage;\n\n readonly chatService = inject(ChatService);\n readonly contextService = inject(ContextService);\n iconForMimeType = iconForMimeType;\n labelForMimeType = labelForMimeType;\n\n private readonly overlay = inject(Overlay);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private overlayRef: OverlayRef | null = null;\n\n openOverlay(\n event: MouseEvent,\n resourceId: string,\n resourceType?: 'asset' | 'content' | 'event',\n pageNumber?: number,\n ) {\n if (this.overlayRef) {\n this.overlayRef.detach();\n }\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(event.target as HTMLElement)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n ]);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n });\n\n const injector = Injector.create({\n providers: [\n { provide: OVERLAY_RESOURCE_ID, useValue: resourceId },\n { provide: OVERLAY_RESOURCE_TYPE, useValue: resourceType },\n { provide: OVERLAY_PAGE_NUMBER, useValue: pageNumber },\n { provide: ContextService, useValue: this.contextService },\n ],\n parent: this.viewContainerRef.injector,\n });\n const portal = new ComponentPortal(\n ContextOverlayComponent,\n this.viewContainerRef,\n injector,\n );\n this.overlayRef.attach(portal);\n this.overlayRef.backdropClick().subscribe(() => this.overlayRef?.detach());\n }\n}\n","<cdk-accordion *transloco=\"let t\">\n <cdk-accordion-item\n #accordionItem=\"cdkAccordionItem\"\n [expanded]=\"isLastMessage\"\n >\n <div\n class=\"flex min-w-80 max-w-full flex-col rounded-2xl bg-zinc-300/40 pt-3 dark:bg-zinc-700/30\"\n >\n @if (message?.parsedContent?.references?.length) {\n <div\n class=\"flex cursor-pointer items-center gap-x-3 px-5 pb-3 text-lg text-zinc-800 dark:text-zinc-300\"\n (click)=\"accordionItem.toggle()\"\n (keyup.enter)=\"accordionItem.toggle()\"\n tabindex=\"0\"\n >\n <mat-icon svgIcon=\"layer_diagonal_sparkle\"></mat-icon>\n <span class=\"font-bold\">{{ t('ai.context') }}</span>\n </div>\n @if (accordionItem.expanded) {\n <div class=\"flex flex-nowrap gap-x-3 overflow-x-auto px-5 pb-3\">\n @for (\n ref of message?.parsedContent?.references;\n track ref.reference_id\n ) {\n @if (contextService.getContext(ref.id); as resource) {\n @if (\n ref.resourceType === 'asset' &&\n contextService.getContext(ref.id)\n ) {\n <div\n class=\"min-w-40 max-w-80 cursor-pointer rounded-2xl border border-zinc-400/40 bg-zinc-400/20 hover:bg-zinc-400/30 dark:border-black/50 dark:bg-black/20\"\n (click)=\"openOverlay($event, ref.id, ref.resourceType)\"\n (keyup.enter)=\"\n openOverlay($event, ref.id, ref.resourceType)\n \"\n tabindex=\"0\"\n >\n <div\n class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\"\n [class.animate-highlight]=\"\n resource.id === chatService.highlightContext\n \"\n (animationend)=\"chatService.highlightContext = ''\"\n >\n <div\n class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-zinc-400/30\"\n >\n <mat-icon svgIcon=\"asset\"></mat-icon>\n </div>\n <div\n class=\"flex h-full grow flex-col overflow-hidden pr-4\"\n >\n <span class=\"truncate text-md font-semibold\">{{\n resource.name\n }}</span>\n @if (resource.type$name) {\n <div class=\"flex items-center gap-x-2 text-xs\">\n <span class=\"truncate\">{{\n resource.type$name\n }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (ref.resourceType === 'content') {\n <div\n class=\"min-w-40 max-w-80 cursor-pointer rounded-2xl border border-zinc-400/40 bg-zinc-400/20 hover:bg-zinc-400/30 dark:border-black/50 dark:bg-black/20\"\n (click)=\"openOverlay($event, ref.id, ref.resourceType)\"\n (keyup.enter)=\"\n openOverlay($event, ref.id, ref.resourceType)\n \"\n tabindex=\"0\"\n >\n <div\n class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\"\n [class.animate-highlight]=\"\n resource.id === chatService.highlightContext\n \"\n (animationend)=\"chatService.highlightContext = ''\"\n >\n <div\n class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-zinc-400/30\"\n >\n <mat-icon\n [svgIcon]=\"iconForMimeType(resource.mimetype)\"\n ></mat-icon>\n </div>\n <div\n class=\"flex h-full grow flex-col overflow-hidden pr-4\"\n >\n <span class=\"truncate text-md font-semibold\">{{\n resource.filename\n }}</span>\n @if (\n contextService.assetForContent(resource.id);\n as asset\n ) {\n <div class=\"flex items-center gap-x-2 text-xs\">\n <span class=\"truncate\">{{ asset.name }}</span>\n <span>·</span>\n <span class=\"truncate\">{{ asset.type$name }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (\n ref.resourceType === 'event' &&\n contextService.getContext(ref.id)\n ) {\n <div\n class=\"min-w-40 max-w-80 cursor-pointer rounded-2xl border border-zinc-400/40 bg-zinc-400/20 hover:bg-zinc-400/30 dark:border-black/50 dark:bg-black/20\"\n (click)=\"openOverlay($event, ref.id, ref.resourceType)\"\n (keyup.enter)=\"\n openOverlay($event, ref.id, ref.resourceType)\n \"\n tabindex=\"0\"\n >\n <div\n class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\"\n [class.animate-highlight]=\"\n resource.id === chatService.highlightContext\n \"\n (animationend)=\"chatService.highlightContext = ''\"\n >\n <div\n class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-zinc-400/30\"\n >\n <mat-icon svgIcon=\"calendar_clock\"></mat-icon>\n </div>\n <div\n class=\"flex h-full grow flex-col overflow-hidden pr-4\"\n >\n <span class=\"truncate text-md font-semibold\">{{\n resource.name\n }}</span>\n @if (contextService.assetForEvent(resource); as asset) {\n <div class=\"flex items-center gap-x-2 text-xs\">\n <span class=\"truncate\">{{ asset.name }}</span>\n <span>·</span>\n <span class=\"truncate\">{{ asset.type$name }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n } @else if (contextService.status.get(ref.id)?.isLoading) {\n <div\n class=\"flex rounded-2xl border border-zinc-400/40 bg-zinc-400/20 px-2 py-1 dark:border-black/50 dark:bg-black/20\"\n >\n <div class=\"flex h-10 w-10 items-center justify-center\">\n <mat-spinner strokeWidth=\"1\" diameter=\"18\"></mat-spinner>\n </div>\n </div>\n } @else {\n <div\n class=\"min-w-40 rounded-2xl border border-zinc-400/40 bg-zinc-400/20 dark:border-black/50 dark:bg-black/20\"\n >\n <div\n class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\"\n >\n <div\n class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-red-300 bg-red-100 text-red-700 dark:border-red-900 dark:bg-red-950/80 dark:text-red-400\"\n >\n <mat-icon svgIcon=\"error_circle\"></mat-icon>\n </div>\n <div class=\"flex h-full flex-col pr-4\">\n <span class=\"text-md font-semibold\">{{\n t('toast_error_load_item', {\n item: t(ref.resourceType),\n })\n }}</span>\n <span class=\"text-xs\">{{ ref.id }}</span>\n </div>\n </div>\n </div>\n }\n }\n </div>\n }\n }\n </div>\n </cdk-accordion-item>\n</cdk-accordion>\n","import { CdkAccordionModule } from '@angular/cdk/accordion';\nimport { Overlay, OverlayModule, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, Injector, ViewContainerRef } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslocoModule, TranslocoService } from '@jsverse/transloco';\nimport { MarkdownModule } from 'ngx-markdown';\n\nimport { UiPipesModule } from '../../core/pipes/pipes.module';\nimport { AssistantMessage, ChatService } from '../chat.service';\nimport {\n ContextOverlayComponent,\n OVERLAY_PAGE_NUMBER,\n OVERLAY_RESOURCE_ID,\n OVERLAY_RESOURCE_TYPE,\n} from '../context-overlay/context-overlay.component';\nimport { MessageContextComponent } from '../message-context/message-context.component';\nimport { ContextService } from '../context.service';\n\n@Component({\n imports: [\n CommonModule,\n CdkAccordionModule,\n MarkdownModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatTooltipModule,\n MessageContextComponent,\n OverlayModule,\n TranslocoModule,\n UiPipesModule,\n ],\n selector: 'ai-thread',\n templateUrl: './thread.component.html',\n styleUrl: './thread.component.scss',\n})\nexport class ThreadComponent {\n readonly chatService = inject(ChatService);\n readonly contextService = inject(ContextService);\n selection: string;\n\n private readonly translocoService = inject(TranslocoService);\n private readonly overlay = inject(Overlay);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private overlayRef: OverlayRef | null = null;\n\n openOverlay(\n event: MouseEvent,\n resourceId: string,\n resourceType?: 'asset' | 'content' | 'event',\n pageNumber?: number,\n ) {\n if (this.overlayRef) {\n this.overlayRef.detach();\n }\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(event.target as HTMLElement)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n ]);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n });\n\n const injector = Injector.create({\n providers: [\n { provide: OVERLAY_RESOURCE_ID, useValue: resourceId },\n { provide: OVERLAY_RESOURCE_TYPE, useValue: resourceType },\n { provide: OVERLAY_PAGE_NUMBER, useValue: pageNumber },\n { provide: ContextService, useValue: this.contextService },\n ],\n parent: this.viewContainerRef.injector,\n });\n const portal = new ComponentPortal(\n ContextOverlayComponent,\n this.viewContainerRef,\n injector,\n );\n this.overlayRef.attach(portal);\n this.overlayRef.backdropClick().subscribe(() => this.overlayRef?.detach());\n }\n\n interceptClick(event: MouseEvent) {\n const element = event.target;\n if (!(element instanceof HTMLAnchorElement)) {\n return;\n }\n let href = element.getAttribute('href');\n if (href.startsWith('$')) {\n href = href.substring(1);\n const params = href.split(',');\n const queryParams: Record<string, string> = params.reduce(\n (acc, param) => {\n const [key, value] = param.split('=');\n acc[key] = value;\n return acc;\n },\n {},\n );\n if (queryParams.ref && queryParams.msg) {\n const message = this.chatService.messages.find(\n (m) => m.id === queryParams.msg,\n );\n if (message) {\n const { references } = (message as AssistantMessage).parsedContent;\n const reference = references?.find(\n (ref) => ref.reference_id === parseInt(queryParams.ref, 10),\n );\n if (reference?.id) {\n const { id, pageNumber } = reference;\n this.chatService.highlightContext = id;\n this.openOverlay(event, id, reference.resourceType, pageNumber);\n } else {\n // this.toastService.error(\n // this.translocoService.translate('ai.reference_not_found'),\n // );\n }\n }\n }\n event.preventDefault();\n }\n }\n\n getMarkdownContent(message: AssistantMessage): string {\n const content = message.parsedContent || message.content;\n if (typeof content === 'string') {\n return content;\n } else if (typeof content.response === 'string') {\n return content.response.replace(\n /\\[\\[(\\d+)\\]\\]/g,\n (_, referenceId) =>\n `<sup><b>[[${referenceId}]]($ref=${referenceId},msg=${message.id},)</b></sup>`,\n );\n } else {\n return '';\n }\n }\n\n getToolStatus(item: any): string {\n const statusMessage = this.translocoService.translate(\n `ai.tools.${item.toolName}.${item.status}`,\n );\n return statusMessage || null;\n }\n\n getFailReason(item): string {\n const reason = this.translocoService.translate(\n `ai.finish_reason.${item.finishReason}`,\n );\n return (\n reason || this.translocoService.translate('ai.finish_reason.unknown')\n );\n }\n\n selectChoice(selection: any, toolMessage: any) {\n this.chatService.selectChoice(selection, toolMessage);\n }\n}\n","<div class=\"relative flex h-full w-full flex-col gap-1 px-6 py-4\" *transloco=\"let t\">\n @if (chatService.isLoading) {\n <div class=\"absolute inset-0 z-100 flex items-center justify-center backdrop-blur-lg\">\n <mat-spinner diameter=\"28\"></mat-spinner>\n </div>\n }\n @for (item of chatService.messages; track item.id; let idx = $index) {\n @if (item.role === 'assistant' && item.parsedContent) {\n <div class=\"flex w-full max-w-[85%] flex-col gap-y-2 self-center px-2 py-2 text-lg md:text-xl\">\n <markdown class=\"markdown-body\" [data]=\"getMarkdownContent(item)\" (click)=\"interceptClick($event)\"></markdown>\n @if (item.parsedContent.references?.length) {\n <ai-message-context [message]=\"item\" [isLastMessage]=\"idx === chatService.messages.length - 1\" class=\"mt-2\"></ai-message-context>\n }\n </div>\n } @else if (item.role === 'assistant' && item.status === 'failed' && getFailReason(item)) {\n <div class=\"flex w-full max-w-[85%] flex-col gap-y-2 self-center px-2 py-2 text-lg md:text-xl\">\n <div class=\"flex items-center gap-x-2 rounded-2xl bg-red-400/10 px-4 py-2 dark:bg-red-600/10\">\n <mat-icon svgIcon=\"dismiss_circle\" class=\"text-red-600/80 icon-sm dark:text-red-400/80\"></mat-icon>\n <span>{{ getFailReason(item) }}</span>\n </div>\n </div>\n } @else if (item.role === 'tool' && item.toolType === 'action' && item.status && getToolStatus(item)) {\n <div class=\"flex w-full max-w-[85%] flex-col self-center px-2 py-1 text-lg md:text-xl\">\n <div\n class=\"flex w-fit items-center gap-x-2 rounded-2xl bg-zinc-300/20 px-4 py-1 text-md text-zinc-800/90 dark:bg-black/70 dark:text-zinc-100/90\"\n >\n @if (item.status === 'completed') {\n <mat-icon svgIcon=\"checkmark_circle\" class=\"text-green-500/80 icon-sm dark:text-green-400/80\"></mat-icon>\n } @else if (item.status === 'failed') {\n <mat-icon svgIcon=\"dismiss_circle\" class=\"text-red-500/80 icon-sm dark:text-red-400/80\"></mat-icon>\n } @else if (item.status === 'pending') {\n <mat-icon svgIcon=\"hourglass_quarter\" class=\"text-zinc-700/60 icon-sm dark:text-zinc-300/40\"></mat-icon>\n } @else if (item.status === 'processing') {\n <mat-spinner diameter=\"16\"></mat-spinner>\n }\n <i>{{ getToolStatus(item) }}</i>\n </div>\n </div>\n } @else if (item.role === 'tool' && item.toolType === 'choice' && item.status === 'processing' && item.args?.choices) {\n <div class=\"flex w-full max-w-[85%] flex-col self-center px-2 py-2 text-lg md:text-xl\">\n <div class=\"flex flex-col rounded-2xl bg-zinc-300/40 pt-3 dark:bg-zinc-700/30\">\n @if (item.args.message) {\n <div class=\"flex items-center gap-x-3 px-5 pb-3 text-lg text-zinc-800 dark:text-zinc-300\">\n <mat-icon svgIcon=\"layer_diagonal_sparkle\"></mat-icon>\n <span class=\"font-semibold\">{{ item.args.message }}</span>\n </div>\n }\n <div class=\"flex flex-wrap gap-x-3 gap-y-2 overflow-x-auto px-5 pb-3\">\n @for (choice of item.args.choices; track choice.id) {\n <div\n class=\"min-w-48 max-w-80 cursor-pointer rounded-2xl border border-zinc-400/40 bg-zinc-400/20 hover:bg-zinc-400/30 dark:border-black/50 dark:bg-black/20\"\n (click)=\"selectChoice(choice, item)\"\n (keyup.enter)=\"selectChoice(choice, item)\"\n tabindex=\"0\"\n >\n <div class=\"flex grow items-center gap-x-2 rounded-2xl px-2 py-1\">\n <div class=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-zinc-400/30\">\n <mat-icon svgIcon=\"asset\"></mat-icon>\n </div>\n <div class=\"flex h-full grow flex-col overflow-hidden pr-4\">\n <span class=\"truncate text-md font-semibold\">{{ choice.name }}</span>\n <div class=\"flex items-center gap-x-2 text-xs\">\n <span class=\"truncate\">{{ choice.typeName }}</span>\n @if (choice.location) {\n <span class=\"truncate\">{{ choice.location }}</span>\n }\n @if (choice.factory) {\n <span class=\"truncate\">{{ choice.factory }}</span>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (item.role === 'user' && !item.hidden) {\n <div class=\"flex max-w-[90%] flex-col self-end py-4 md:max-w-[80%]\">\n <div class=\"rounded-2xl bg-zinc-300/30 px-6 py-4 text-md md:text-lg dark:bg-black/20\">\n <markdown class=\"markdown-body\" [data]=\"item.content\"></markdown>\n </div>\n </div>\n }\n }\n\n @if (chatService.isProcessing) {\n <div class=\"flex w-full max-w-[85%] flex-col self-center rounded-2xl text-lg md:text-xl\">\n <div class=\"flex flex-col gap-y-2 px-2 py-4\">\n <div class=\"pulse-loader flex items-center gap-x-1 text-zinc-700/50 dark:text-zinc-300/30\"> <div></div><div></div><div></div> </div>\n </div>\n </div>\n }\n</div>\n","export const svgString = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <symbol id=\"add\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11.883 3.007 12 3a1 1 0 0 1 .993.883L13 4v7h7a1 1 0 0 1 .993.883L21 12a1 1 0 0 1-.883.993L20 13h-7v7a1 1 0 0 1-.883.993L12 21a1 1 0 0 1-.993-.883L11 20v-7H4a1 1 0 0 1-.993-.883L3 12a1 1 0 0 1 .883-.993L4 11h7V4a1 1 0 0 1 .883-.993L12 3z\"/></symbol>\n <symbol id=\"add_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m0 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17M12 7a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 12 7\"/></symbol>\n <symbol id=\"add_square\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 7a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 12 7m-9-.75A3.25 3.25 0 0 1 6.25 3h11.5A3.25 3.25 0 0 1 21 6.25v11.5A3.25 3.25 0 0 1 17.75 21H6.25A3.25 3.25 0 0 1 3 17.75zM6.25 4.5A1.75 1.75 0 0 0 4.5 6.25v11.5c0 .966.784 1.75 1.75 1.75h11.5a1.75 1.75 0 0 0 1.75-1.75V6.25a1.75 1.75 0 0 0-1.75-1.75z\"/></symbol>\n <symbol id=\"app_connectivity\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M20 14h8a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2H9a2 2 0 0 0-2 2v4H4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v6H8v-4h4a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2H9V6h9v6a2 2 0 0 0 2 2m0 14v-4h8v4Zm8-8v2h-8v-2ZM4 20v-4h8v4Zm8-6H4v-2h8Zm8-2V8h8v4Zm8-8v2h-8V4Z\"/></symbol>\n <symbol id=\"apps\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 17a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4M5 17a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7-7a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4M5 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7-7a2 2 0 1 1 0 4 2 2 0 0 1 0-4m7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4M5 3a2 2 0 1 1 0 4 2 2 0 0 1 0-4\"/></symbol>\n <symbol id=\"arrow_clockwise\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a7.5 7.5 0 1 0 7.419 6.392c-.067-.454.265-.892.724-.892.37 0 .696.256.752.623Q21 11.297 21 12a9 9 0 1 1-3-6.708V4.25a.75.75 0 0 1 1.5 0v3a.75.75 0 0 1-.75.75h-3a.75.75 0 0 1 0-1.5h1.35a7.47 7.47 0 0 0-5.1-2\"/></symbol>\n <symbol id=\"arrow_down\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19.79 13.267a.75.75 0 0 0-1.086-1.034l-5.954 6.251V3.75a.75.75 0 1 0-1.5 0v14.734l-5.955-6.251a.75.75 0 1 0-1.086 1.034l7.067 7.42c.16.168.366.268.58.3a.8.8 0 0 0 .29-.001 1 1 0 0 0 .578-.3z\"/></symbol>\n <symbol id=\"arrow_left\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.733 19.79a.75.75 0 0 0 1.034-1.086L5.516 12.75H20.25a.75.75 0 0 0 0-1.5H5.516l6.251-5.955a.75.75 0 0 0-1.034-1.086l-7.42 7.067a1 1 0 0 0-.3.58.8.8 0 0 0 .001.289 1 1 0 0 0 .3.579z\"/></symbol>\n <symbol id=\"arrow_maximize\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m12.496 3.002 7.556.001.12.014.088.02.104.034.09.04.063.036.063.042.064.05.063.058.094.11.072.11.053.114.036.105.015.065.01.053.01.148v7.504a1 1 0 0 1-1.993.117l-.007-.117v-5.09L6.412 19H11.5a1 1 0 0 1 .993.884L12.5 20a1 1 0 0 1-.884.994L11.5 21H3.939l-.096-.01-.077-.015-.077-.022-.07-.026-.09-.042-.089-.053-.091-.07.032.027a1 1 0 0 1-.166-.166l-.051-.07-.04-.064-.032-.064-.034-.082-.025-.08-.024-.111-.007-.061-.004-.09v-7.503a1 1 0 0 1 1.993-.117l.007.117v5.088L17.582 5.002h-5.086a1 1 0 0 1-.994-.883l-.006-.117a1 1 0 0 1 1-1\"/></symbol>\n <symbol id=\"arrow_minimize\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.498 12.505a1 1 0 0 1 .993.884l.007.116v7.504a1 1 0 0 1-1.994.117l-.006-.117v-5.093l-5.791 5.792a1 1 0 0 1-1.32.083l-.095-.083a1 1 0 0 1-.083-1.32l.083-.095 5.788-5.788H2.996a1 1 0 0 1-.117-1.993l.117-.007zm3-10.505a1 1 0 0 1 .994.883l.007.117v5.087l5.793-5.794a1 1 0 0 1 1.32-.083l.095.083a1 1 0 0 1 .083 1.32l-.083.095-5.797 5.795H21a1 1 0 0 1 .117 1.994l-.117.007h-7.5a1 1 0 0 1-.994-.883l-.006-.117V3a1 1 0 0 1 1-1\"/></symbol>\n <symbol id=\"arrow_move\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.28 6.03a.75.75 0 0 1-1.06 0l-1.47-1.47v3.69a.75.75 0 0 1-1.5 0V4.56L9.78 6.03a.75.75 0 0 1-1.06-1.06l2.75-2.75a.75.75 0 0 1 1.06 0l2.75 2.75a.75.75 0 0 1 0 1.06m-9.25 8.19a.75.75 0 1 1-1.06 1.06l-2.75-2.75a.75.75 0 0 1 0-1.06l2.75-2.75a.75.75 0 0 1 1.06 1.06l-1.47 1.47h3.69a.75.75 0 0 1 0 1.5H4.56zm11.94 1.06a.75.75 0 0 1 0-1.06l1.47-1.47h-3.69a.75.75 0 0 1 0-1.5h3.69l-1.47-1.47a.75.75 0 0 1 1.06-1.06l2.75 2.75a.75.75 0 0 1 0 1.06l-2.75 2.75a.75.75 0 0 1-1.06 0m-2.69 2.69a.75.75 0 0 0-1.06 0l-1.47 1.47v-3.69a.75.75 0 0 0-1.5 0v3.69l-1.47-1.47a.75.75 0 0 0-1.06 1.06l2.75 2.75a.75.75 0 0 0 1.06 0l2.75-2.75a.75.75 0 0 0 0-1.06\"/></symbol>\n <symbol id=\"arrow_right\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.267 4.209a.75.75 0 0 0-1.034 1.086l6.251 5.955H3.75a.75.75 0 0 0 0 1.5h14.734l-6.251 5.954a.75.75 0 0 0 1.034 1.087l7.42-7.067a1 1 0 0 0 .3-.58.8.8 0 0 0-.001-.29 1 1 0 0 0-.3-.578z\"/></symbol>\n <symbol id=\"arrow_sort\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m17.25 4-.1.007a.75.75 0 0 0-.65.743v12.692l-3.22-3.218-.084-.072a.75.75 0 0 0-.976 1.134l4.504 4.5.084.072a.75.75 0 0 0 .976-.073l4.497-4.5.072-.084a.75.75 0 0 0-.073-.977l-.084-.072a.75.75 0 0 0-.977.073L18 17.446V4.75l-.006-.102A.75.75 0 0 0 17.251 4m-11.036.22L1.72 8.715l-.073.084a.75.75 0 0 0 .073.976l.084.073a.75.75 0 0 0 .976-.073l3.217-3.218v12.698l.008.102a.75.75 0 0 0 .743.648l.101-.007a.75.75 0 0 0 .649-.743L7.497 6.559l3.223 3.217.084.072a.75.75 0 0 0 .975-1.134L7.275 4.22l-.085-.072a.75.75 0 0 0-.976.073\"/></symbol>\n <symbol id=\"arrow_sort_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m6.288 4.293-3.995 4-.084.095a1 1 0 0 0 .084 1.32l.095.083a1 1 0 0 0 1.32-.084L6 7.41V19l.007.117a1 1 0 0 0 .993.884l.117-.007A1 1 0 0 0 8 19V7.417l2.293 2.29.095.084a1 1 0 0 0 1.319-1.499l-4.006-4-.094-.083a1 1 0 0 0-1.32.084M17 4.003l-.117.007a1 1 0 0 0-.883.993v11.58l-2.293-2.29-.095-.084a1 1 0 0 0-1.319 1.498l4.004 4 .094.084a1 1 0 0 0 1.32-.084l3.996-4 .084-.095a1 1 0 0 0-.084-1.32l-.095-.083a1 1 0 0 0-1.32.084L18 16.587V5.003l-.007-.116A1 1 0 0 0 17 4.003\"/></symbol>\n <symbol id=\"arrow_up\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.209 10.733a.75.75 0 0 0 1.086 1.034l5.954-6.251V20.25a.75.75 0 0 0 1.5 0V5.516l5.955 6.251a.75.75 0 0 0 1.087-1.034l-7.067-7.42a1 1 0 0 0-.58-.3.8.8 0 0 0-.29.001 1 1 0 0 0-.578.3z\"/></symbol>\n <symbol id=\"ascending\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.25 2a.75.75 0 0 1 .75.75v16.69l2.22-2.22a.75.75 0 1 1 1.06 1.06l-3.5 3.5a.75.75 0 0 1-1.06 0l-3.5-3.5a.75.75 0 1 1 1.06-1.06l2.22 2.22V2.75a.75.75 0 0 1 .75-.75m-9.481.487a.75.75 0 0 0-1.401-.01l-3.317 8.5a.75.75 0 1 0 1.398.546l.79-2.023h3.555l.754 2.013a.75.75 0 0 0 1.405-.526zM5.823 8l1.23-3.15L8.232 8zM4 13.75a.75.75 0 0 1 .75-.75H9.5a.75.75 0 0 1 .634 1.151L6.114 20.5H9.5a.75.75 0 1 1 0 1.5H4.75a.75.75 0 0 1-.633-1.151l4.02-6.35H4.75a.75.75 0 0 1-.75-.75\"/></symbol>\n <symbol id=\"asset\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.78 3.737a2.25 2.25 0 0 0-1.56 0L9.913 5.33a.25.25 0 0 0-.163.234v2.793a4.8 4.8 0 0 0-1.5 0V5.563a1.75 1.75 0 0 1 1.143-1.641L13.7 2.33a3.75 3.75 0 0 1 2.6 0l4.307 1.592a1.75 1.75 0 0 1 1.143 1.641v10.67a1.75 1.75 0 0 1-1.143 1.642l-4.018 1.484c.105-.292.161-.604.161-.927v-.731l3.337-1.233a.25.25 0 0 0 .163-.235V5.563a.25.25 0 0 0-.163-.234zm-4.01 3.93a.75.75 0 1 1 .49-1.418l2.658.92a.25.25 0 0 0 .163 0l2.65-.92a.75.75 0 1 1 .492 1.418l-2.65.919a1.75 1.75 0 0 1-1.145 0zm-6 7a.75.75 0 0 1 .49-1.418l2.74.948 2.732-.947a.75.75 0 1 1 .49 1.417l-2.472.857v2.7a.75.75 0 0 1-1.5 0v-2.7zM10.3 9.53a3.75 3.75 0 0 0-2.6 0l-4.307 1.592a1.75 1.75 0 0 0-1.143 1.641v5.67a1.75 1.75 0 0 0 1.143 1.642L7.7 21.666a3.75 3.75 0 0 0 2.6 0l4.307-1.592a1.75 1.75 0 0 0 1.143-1.642v-5.67a1.75 1.75 0 0 0-1.143-1.641zm-2.08 1.407a2.25 2.25 0 0 1 1.56 0l4.307 1.592a.25.25 0 0 1 .163.234v5.67a.25.25 0 0 1-.163.235L9.78 20.259a2.25 2.25 0 0 1-1.56 0l-4.307-1.592a.25.25 0 0 1-.163-.235v-5.67a.25.25 0 0 1 .163-.234z\"/></symbol>\n <symbol id=\"assistant_direction\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m14.298 2.985 6.717 6.718a3.25 3.25 0 0 1 0 4.596l-6.717 6.717a3.25 3.25 0 0 1-4.596 0L2.984 14.3a3.25 3.25 0 0 1 0-4.596l6.718-6.718a3.25 3.25 0 0 1 4.596 0m-3.536 1.06-6.717 6.718a1.75 1.75 0 0 0 0 2.475l6.717 6.718a1.75 1.75 0 0 0 2.475 0l6.718-6.718a1.75 1.75 0 0 0 0-2.475l-6.718-6.717a1.75 1.75 0 0 0-2.475 0m1.695 3.26.073-.084a.75.75 0 0 1 .977-.073l.084.073 2 2a.75.75 0 0 1 .072.977l-.072.084-2 2a.75.75 0 0 1-1.133-.977l.072-.084.72-.72h-1.5a1.25 1.25 0 0 0-1.244 1.122l-.006.128V15a.75.75 0 0 1-1.493.101l-.007-.1v-3.25a2.75 2.75 0 0 1 2.582-2.745L11.75 9h1.498l-.718-.72a.75.75 0 0 1-.072-.976l.072-.084z\"/></symbol>\n <symbol id=\"bar_vertical\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.251 3a2.25 2.25 0 0 0-2.249 2.25v13.5a2.249 2.249 0 1 0 4.498 0V5.25A2.25 2.25 0 0 0 18.251 3m-6.5 4a2.25 2.25 0 0 0-2.249 2.25v9.5a2.249 2.249 0 1 0 4.498 0v-9.5A2.25 2.25 0 0 0 11.751 7m-6.5 4a2.25 2.25 0 0 0-2.25 2.25v5.5a2.25 2.25 0 1 0 4.5 0v-5.5A2.25 2.25 0 0 0 5.25 11\"/></symbol>\n <symbol id=\"book\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1zm1.5 1.5h7v-1h-7zM4 4.5A2.5 2.5 0 0 1 6.5 2H18a2.5 2.5 0 0 1 2.5 2.5v14.25a.75.75 0 0 1-.75.75H5.5a1 1 0 0 0 1 1h13.25a.75.75 0 0 1 0 1.5H6.5A2.5 2.5 0 0 1 4 19.5zM5.5 18H19V4.5a1 1 0 0 0-1-1H6.5a1 1 0 0 0-1 1z\"/></symbol>\n <symbol id=\"bookmark\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.19 21.855a.75.75 0 0 1-1.187-.61V6.25A3.25 3.25 0 0 1 8.253 3h7.498a3.25 3.25 0 0 1 3.25 3.25v14.996a.75.75 0 0 1-1.188.609l-5.81-4.181zM17.502 6.25a1.75 1.75 0 0 0-1.75-1.75H8.253a1.75 1.75 0 0 0-1.75 1.75v13.532l5.061-3.641a.75.75 0 0 1 .876 0l5.061 3.641z\"/></symbol>\n <symbol id=\"box\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.591 2.513a3.75 3.75 0 0 1 2.818 0l7.498 3.04A1.75 1.75 0 0 1 22 7.175v9.653a1.75 1.75 0 0 1-1.093 1.621l-7.498 3.04a3.75 3.75 0 0 1-2.818 0l-7.498-3.04A1.75 1.75 0 0 1 2 16.827V7.176a1.75 1.75 0 0 1 1.093-1.622zm2.254 1.39a2.25 2.25 0 0 0-1.69 0L9.24 4.68l7.527 2.927 2.669-1.03zm1.846 4.505L7.215 5.5 4.59 6.564l7.411 2.882zM3.5 16.828a.25.25 0 0 0 .156.231l7.499 3.04q.047.02.095.036v-9.371L3.5 7.75zm9.345 3.271 7.499-3.04a.25.25 0 0 0 .156-.232V7.774l-7.75 2.992v9.37z\"/></symbol>\n <symbol id=\"braces_variable\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.5 5.75A2.75 2.75 0 0 1 6.25 3a.75.75 0 0 1 0 1.5C5.56 4.5 5 5.06 5 5.75v4.309c0 .744-.3 1.437-.802 1.941A2.75 2.75 0 0 1 5 13.941v4.309c0 .69.56 1.25 1.25 1.25a.75.75 0 0 1 0 1.5 2.75 2.75 0 0 1-2.75-2.75v-4.308a1.25 1.25 0 0 0-.855-1.186l-.132-.045a.75.75 0 0 1 0-1.422l.132-.045c.51-.17.855-.647.855-1.185zm17 0A2.75 2.75 0 0 0 17.75 3a.75.75 0 0 0 0 1.5c.69 0 1.25.56 1.25 1.25v4.309c0 .744.3 1.437.802 1.941A2.75 2.75 0 0 0 19 13.941v4.309c0 .69-.56 1.25-1.25 1.25a.75.75 0 0 0 0 1.5 2.75 2.75 0 0 0 2.75-2.75v-4.308c0-.539.344-1.016.855-1.186l.132-.045a.75.75 0 0 0 0-1.422l-.132-.045a1.25 1.25 0 0 1-.855-1.185zM9.092 7.04a.75.75 0 1 0-1.184.92L11.05 12l-3.142 4.04a.75.75 0 0 0 1.184.92L12 13.223l2.908 3.739a.75.75 0 0 0 1.184-.921L12.95 12l3.142-4.04a.75.75 0 0 0-1.184-.92L12 10.778z\"/></symbol>\n <symbol id=\"bullet_list\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.25 17.5a1.25 1.25 0 1 1 0 2.499 1.25 1.25 0 0 1 0-2.499m3.5.5h14.5a.75.75 0 0 1 .102 1.493l-.102.007H6.75a.75.75 0 0 1-.102-1.493zh14.5zm-3.5-7a1.25 1.25 0 1 1 0 2.499 1.25 1.25 0 0 1 0-2.499m3.5.5h14.5a.75.75 0 0 1 .102 1.493L21.25 13H6.75a.75.75 0 0 1-.102-1.493zh14.5zm-3.5-7a1.25 1.25 0 1 1 0 2.499 1.25 1.25 0 0 1 0-2.499m3.5.5h14.5a.75.75 0 0 1 .102 1.493l-.102.007H6.75a.75.75 0 0 1-.102-1.493zh14.5z\"/></symbol>\n <symbol id=\"burger_menu\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3 17h18a1 1 0 0 1 .117 1.993L21 19H3a1 1 0 0 1-.117-1.993zh18zm0-6 18-.002a1 1 0 0 1 .117 1.993l-.117.007L3 13a1 1 0 0 1-.117-1.993zl18-.002zm0-6h18a1 1 0 0 1 .117 1.993L21 7H3a1 1 0 0 1-.117-1.993zh18z\"/></symbol>\n <symbol id=\"calatena\" viewBox=\"0 0 121 121\"><path fill=\"currentColor\" d=\"M60.5.5C27.4.5.5 27.4.5 60.5s26.9 60 60 60 60-26.9 60-60-26.9-60-60-60m0 118.9C28 119.4 1.6 93 1.6 60.5S28 1.6 60.5 1.6s58.9 26.4 58.9 58.9-26.4 58.9-58.9 58.9\" class=\"st0\"/><path d=\"m79 58.8 11.1-11.1c4.6-4.6 4.6-12.1 0-16.7S78 26.4 73.4 31l-.1.2L60.5 44 47.7 31.2l-.2-.2-.2-.1-.1-.1c-4.6-4.6-12-4.6-16.6 0s-4.6 12 0 16.6l13.2 13.2-1.8 1.9v.1L31 73.5l-.1.1-.1.2-.1.1c-4.4 4.8-4.1 12.2.6 16.6 4.5 4.2 11.5 4.2 16 0l13.2-13.2 13 13c4.6 4.6 12.1 4.6 16.7 0s4.6-12.1 0-16.7l-.2-.1-12.8-12.8z\" class=\"st1\"/></symbol>\n <symbol id=\"calendar\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.75 3A3.25 3.25 0 0 1 21 6.25v11.5A3.25 3.25 0 0 1 17.75 21H6.25A3.25 3.25 0 0 1 3 17.75V6.25A3.25 3.25 0 0 1 6.25 3zm1.75 5.5h-15v9.25c0 .966.784 1.75 1.75 1.75h11.5a1.75 1.75 0 0 0 1.75-1.75zm-11.75 6a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m4.25 0a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m-4.25-4a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m4.25 0a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m4.25 0a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5m1.5-6H6.25A1.75 1.75 0 0 0 4.5 6.25V7h15v-.75a1.75 1.75 0 0 0-1.75-1.75\"/></symbol>\n <symbol id=\"calendar_clock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.75 3A3.25 3.25 0 0 1 21 6.25v5.772a6.5 6.5 0 0 0-1.5-.709V8.5h-15v9.25c0 .966.784 1.75 1.75 1.75h5.063c.173.534.412 1.037.709 1.5H6.25A3.25 3.25 0 0 1 3 17.75V6.25A3.25 3.25 0 0 1 6.25 3zm0 1.5H6.25A1.75 1.75 0 0 0 4.5 6.25V7h15v-.75a1.75 1.75 0 0 0-1.75-1.75m5.25 13a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0M17.5 14a.5.5 0 0 1 .5.5V17h2a.5.5 0 0 1 0 1h-2.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5\"/></symbol>\n <symbol id=\"camera\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.925 2.504a2.25 2.25 0 0 1 1.94 1.11l.814 1.387h2.071A3.25 3.25 0 0 1 22 8.25v9.5A3.25 3.25 0 0 1 18.75 21H5.25A3.25 3.25 0 0 1 2 17.75v-9.5A3.25 3.25 0 0 1 5.25 5h2.08l.875-1.424a2.25 2.25 0 0 1 1.917-1.073zm0 1.5h-3.803a.75.75 0 0 0-.574.268l-.065.09-1.093 1.78a.75.75 0 0 1-.639.358h-2.5A1.75 1.75 0 0 0 3.5 8.25v9.5c0 .966.784 1.75 1.75 1.75h13.5a1.75 1.75 0 0 0 1.75-1.75v-9.5a1.75 1.75 0 0 0-1.75-1.75h-2.5a.75.75 0 0 1-.647-.37l-1.032-1.757a.75.75 0 0 0-.646-.37M12 8a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9m0 1.5a3 3 0 1 0 0 6 3 3 0 0 0 0-6\"/></symbol>\n <symbol id=\"camera_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.925 2.504a2.25 2.25 0 0 1 1.94 1.11l.814 1.387h2.071A3.25 3.25 0 0 1 22 8.25v9.5A3.25 3.25 0 0 1 18.75 21H5.25A3.25 3.25 0 0 1 2 17.75v-9.5A3.25 3.25 0 0 1 5.25 5h2.08l.875-1.424a2.25 2.25 0 0 1 1.917-1.073zM12 8a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9m0 1.5a3 3 0 1 1 0 6 3 3 0 0 1 0-6\"/></symbol>\n <symbol id=\"caret_down\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.161 10.073C4.454 9.265 5.028 8 6.102 8h11.796c1.074 0 1.648 1.265.941 2.073l-5.522 6.31a1.75 1.75 0 0 1-2.634 0zM6.653 9.5l5.159 5.896a.25.25 0 0 0 .376 0l5.16-5.896z\"/></symbol>\n <symbol id=\"caret_up\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.161 14.907c-.707.809-.133 2.073.941 2.073h11.796c1.074 0 1.648-1.264.941-2.073l-5.522-6.31a1.75 1.75 0 0 0-2.634 0zm1.492.573 5.159-5.896a.25.25 0 0 1 .376 0l5.16 5.897z\"/></symbol>\n <symbol id=\"chart_average\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M23 24c-3.6 0-5.03-4.176-6.413-8.214C15.277 11.958 13.92 8 11 8a3.44 3.44 0 0 0-3.053 2.322L6.05 9.684C6.101 9.534 7.321 6 11 6c4.35 0 6.012 4.855 7.48 9.138C19.689 18.667 20.83 22 23 22a3.44 3.44 0 0 0 3.053-2.321l1.896.637C27.899 20.466 26.679 24 23 24\"/><path fill=\"currentColor\" d=\"M4 28V17h2v-2H4V2H2v26a2 2 0 0 0 2 2h26v-2Z\"/><path fill=\"currentColor\" d=\"M8 15h2v2H8zm4 0h2v2h-2zm8 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2z\"/></symbol>\n <symbol id=\"chart_correlation\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M30 30H4a2 2 0 0 1-2-2V2h2v26h26Z\"/><circle cx=\"9\" cy=\"6\" r=\"3\" fill=\"currentColor\"/><circle cx=\"9\" cy=\"22\" r=\"3\" fill=\"currentColor\"/><circle cx=\"18\" cy=\"14\" r=\"3\" fill=\"currentColor\"/><path fill=\"currentColor\" d=\"M9 17a3 3 0 1 1 3-3 3.003 3.003 0 0 1-3 3m0-4a1 1 0 1 0 1 1 1 1 0 0 0-1-1\"/><circle cx=\"27\" cy=\"6\" r=\"3\" fill=\"currentColor\"/><circle cx=\"27\" cy=\"22\" r=\"3\" fill=\"currentColor\"/><path fill=\"currentColor\" d=\"M27 17a3 3 0 1 1 3-3 3.003 3.003 0 0 1-3 3m0-4a1 1 0 1 0 1 1 1 1 0 0 0-1-1m-9 13a3 3 0 1 1 3-3 3.003 3.003 0 0 1-3 3m0-4a1 1 0 1 0 1 1 1 1 0 0 0-1-1m0-14a3 3 0 1 1 3-3 3.003 3.003 0 0 1-3 3m0-4a1 1 0 1 0 1 1 1 1 0 0 0-1-1\"/></symbol>\n <symbol id=\"chart_line\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"m4.67 28 6.39-12 7.3 6.49a2 2 0 0 0 1.7.47 2 2 0 0 0 1.42-1.07L27 10.9l-1.82-.9-5.49 11-7.3-6.49a2 2 0 0 0-1.68-.51 2 2 0 0 0-1.42 1L4 25V2H2v26a2 2 0 0 0 2 2h26v-2Z\"/></symbol>\n <symbol id=\"chart_line_smooth\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M13 15c1.485 0 2.554 1.497 3.686 3.081C17.998 19.918 19.486 22 22 22c5.67 0 7.78-10.79 8-12l-1.968-.358C27.55 12.282 25.394 20 22 20c-1.485 0-2.554-1.497-3.686-3.081C17.002 15.082 15.514 13 13 13c-4.186 0-7.445 7.404-9 11.762V2H2v26a2.003 2.003 0 0 0 2 2h26v-2H5.044c1.51-5.143 4.92-13 7.956-13\"/></symbol>\n <symbol id=\"chart_maximum\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M8 6h2v2H8zm4 0h2v2h-2zm8 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2z\"/><path fill=\"currentColor\" d=\"m27.989 28-.027-.163C26.51 19.074 24.066 9.089 18 8.089V6h-2v2.085c-6.084.978-8.533 10.978-9.986 19.752L5.987 28H4V8h2V6H4V2H2v26a2 2 0 0 0 2 2h26v-2ZM8.015 28c2.024-12.108 4.96-18 8.973-18s6.949 5.892 8.972 18Z\"/></symbol>\n <symbol id=\"chart_minimum\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M4 28v-2h2v-2H4V2H2v26a2 2 0 0 0 2 2h26v-2Z\"/><path fill=\"currentColor\" d=\"M8 24h2v2H8zm4 0h2v2h-2zm8 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2z\"/><path fill=\"currentColor\" d=\"M27.946 4.328 25.973 4C23.949 16.108 21.013 22 17 22s-6.949-5.892-8.973-18l-1.973.328C7.51 13.057 9.964 22.93 16 23.913V26h2v-2.087c6.037-.983 8.49-10.856 9.946-19.585\"/></symbol>\n <symbol id=\"chart_stepper\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M14 22v-8h8V6h8V4H20v8h-8v8H4V2H2v26a2.003 2.003 0 0 0 2 2h26v-2H4v-6Z\"/></symbol>\n <symbol id=\"chart_transformation\" viewBox=\"0 0 32 32\"><path d=\"M10.356 23.058C12.77 24.592 15.62 26 17.95 26a3.87 3.87 0 0 0 2.856-1.084c2.286-2.29.14-6.398-1.938-10.372l5.801-5.801a44 44 0 0 1 3.012 2.124L29 9.349a45 45 0 0 0-2.872-2.064L30 3.413 28.586 2l-4.207 4.206c-3.316-1.91-7.108-3.246-9.228-1.122-2.04 2.043-.552 5.532 1.268 9.083l-6.307 6.306a44 44 0 0 1-2.8-2.1L6 19.884a48 48 0 0 0 2.665 2.035L4 26.585V2H2v26a2 2 0 0 0 2 2h26v-2H5.413Zm6.209-16.557c1.135-1.138 3.693-.286 6.337 1.183l-4.995 4.994c-1.313-2.619-2.35-5.167-1.342-6.177m.821 9.526c1.58 3.032 3.182 6.296 2.007 7.473-1.312 1.314-4.522-.026-7.572-1.908Z\"/><path d=\"M0 0h32v32H0z\" data-name=\"&lt;Transparent Rectangle&gt;\" style=\"fill:none\"/></symbol>\n <symbol id=\"chat_add\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.75 7.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5zM22 12c0-5.523-4.477-10-10-10S2 6.477 2 12a9.96 9.96 0 0 0 1.115 4.592l-1.068 3.823a1.25 1.25 0 0 0 1.54 1.54l3.826-1.067A9.96 9.96 0 0 0 12 22c5.523 0 10-4.477 10-10M3.5 12a8.5 8.5 0 1 1 4.367 7.43l-.27-.15-3.986 1.111 1.113-3.984-.151-.27A8.46 8.46 0 0 1 3.5 12\"/></symbol>\n <symbol id=\"chat_sparkle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.088 6.412a2.84 2.84 0 0 0-1.347-.955l-1.378-.448a.544.544 0 0 1 0-1.025l1.378-.448A2.84 2.84 0 0 0 16.5 1.774l.011-.034.448-1.377a.544.544 0 0 1 1.027 0l.447 1.377a2.84 2.84 0 0 0 1.799 1.796l1.377.448.028.007a.544.544 0 0 1 0 1.025l-1.378.448a2.84 2.84 0 0 0-1.798 1.796l-.448 1.377-.013.034a.544.544 0 0 1-1.013-.034l-.448-1.377a2.8 2.8 0 0 0-.45-.848m7.695 3.801-.766-.248a1.58 1.58 0 0 1-.998-.999l-.25-.764a.302.302 0 0 0-.57 0l-.248.764a1.58 1.58 0 0 1-.984.999l-.765.248a.302.302 0 0 0 0 .57l.765.249a1.58 1.58 0 0 1 1 1.002l.248.764a.302.302 0 0 0 .57 0l.249-.764a1.58 1.58 0 0 1 .999-.999l.765-.248a.302.302 0 0 0 0-.57zM12 2c.957 0 1.883.134 2.759.385a1.8 1.8 0 0 1-.369.174l-1.34.44a1.65 1.65 0 0 0-.721.507A8.5 8.5 0 0 0 3.5 12c0 1.47.373 2.883 1.073 4.137l.15.27-1.112 3.984 3.987-1.112.27.15a8.502 8.502 0 0 0 12.507-5.965q.136.202.335.345a1.29 1.29 0 0 0 1.09.195C20.87 18.567 16.836 22 12 22a9.96 9.96 0 0 1-4.587-1.112l-3.826 1.067a1.25 1.25 0 0 1-1.54-1.54l1.068-3.823A9.96 9.96 0 0 1 2 12C2 6.477 6.477 2 12 2\"/></symbol>\n <symbol id=\"checkmark\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.53 12.97a.75.75 0 0 0-1.06 1.06l4.5 4.5a.75.75 0 0 0 1.06 0l11-11a.75.75 0 0 0-1.06-1.06L8.5 16.94z\"/></symbol>\n <symbol id=\"checkmark_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m0 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17m-1.25 9.94 4.47-4.47a.75.75 0 0 1 1.133.976l-.073.084-5 5a.75.75 0 0 1-.976.073l-.084-.073-2.5-2.5a.75.75 0 0 1 .976-1.133l.084.073zl4.47-4.47z\"/></symbol>\n <symbol id=\"checkmark_circle_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m3.22 6.97-4.47 4.47-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5a.75.75 0 1 0-1.06-1.06\"/></symbol>\n <symbol id=\"checkmark_list\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.78 4.78a.75.75 0 0 0-1.06-1.06L3.75 5.69l-.47-.47a.75.75 0 0 0-1.06 1.06l1 1a.75.75 0 0 0 1.06 0zm14.47 13.227H9.75l-.102.007a.75.75 0 0 0 .102 1.493h11.5l.102-.007a.75.75 0 0 0-.102-1.493m0-6.507H9.75l-.102.007A.75.75 0 0 0 9.75 13h11.5l.102-.007a.75.75 0 0 0-.102-1.493m0-6.5H9.75l-.102.007A.75.75 0 0 0 9.75 6.5h11.5l.102-.007A.75.75 0 0 0 21.25 5M6.78 17.78a.75.75 0 1 0-1.06-1.06l-1.97 1.97-.47-.47a.75.75 0 0 0-1.06 1.06l1 1a.75.75 0 0 0 1.06 0zm0-7.56a.75.75 0 0 1 0 1.06l-2.5 2.5a.75.75 0 0 1-1.06 0l-1-1a.75.75 0 1 1 1.06-1.06l.47.47 1.97-1.97a.75.75 0 0 1 1.06 0\"/></symbol>\n <symbol id=\"checkmark_starburst\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9.836 2.034q.168.058.329.136l1.283.632a1.25 1.25 0 0 0 1.104 0l1.283-.632a2.75 2.75 0 0 1 3.682 1.253l.073.162.063.167.46 1.353c.125.368.414.656.781.781l1.354.46a2.75 2.75 0 0 1 1.581 3.819l-.631 1.283a1.25 1.25 0 0 0 0 1.104l.631 1.283a2.75 2.75 0 0 1-1.581 3.818l-1.354.46a1.25 1.25 0 0 0-.78.781l-.461 1.354a2.75 2.75 0 0 1-3.818 1.581l-1.283-.631a1.25 1.25 0 0 0-1.104 0l-1.283.631a2.75 2.75 0 0 1-3.818-1.581l-.46-1.354a1.25 1.25 0 0 0-.782-.78l-1.353-.461a2.75 2.75 0 0 1-1.582-3.818l.632-1.283a1.25 1.25 0 0 0 0-1.104l-.632-1.283a2.75 2.75 0 0 1 1.582-3.818l1.353-.46a1.25 1.25 0 0 0 .781-.782l.46-1.353a2.75 2.75 0 0 1 3.49-1.718m-2.07 2.2-.46 1.354a2.75 2.75 0 0 1-1.718 1.718l-1.353.46a1.25 1.25 0 0 0-.719 1.736l.632 1.283a2.75 2.75 0 0 1 0 2.43l-.632 1.282a1.25 1.25 0 0 0 .719 1.736l1.353.46a2.75 2.75 0 0 1 1.718 1.718l.46 1.354a1.248 1.248 0 0 0 1.736.719l1.283-.632a2.75 2.75 0 0 1 2.43 0l1.282.632q.074.035.15.061a1.25 1.25 0 0 0 1.586-.78l.46-1.354a2.75 2.75 0 0 1 1.718-1.718l1.354-.46q.075-.026.15-.062a1.25 1.25 0 0 0 .569-1.674l-.632-1.283a2.75 2.75 0 0 1 0-2.429l.632-1.283a1.25 1.25 0 0 0-.719-1.736l-1.354-.46a2.75 2.75 0 0 1-1.718-1.718l-.46-1.353-.029-.076-.033-.074-.062-.111a1.25 1.25 0 0 0-1.612-.458l-1.283.632a2.75 2.75 0 0 1-2.429 0l-1.283-.632a1.25 1.25 0 0 0-1.735.719M10.05 14.39l5.42-5.42a.75.75 0 0 1 1.133.977l-.073.084-6 6a.75.75 0 0 1-1.031.028l-.075-.078-2.5-3a.75.75 0 0 1 1.075-1.04l.077.08zl5.42-5.42z\"/></symbol>\n <symbol id=\"chevron_down\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.22 8.47a.75.75 0 0 1 1.06 0L12 15.19l6.72-6.72a.75.75 0 1 1 1.06 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L4.22 9.53a.75.75 0 0 1 0-1.06\"/></symbol>\n <symbol id=\"chevron_left\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.53 4.22a.75.75 0 0 1 0 1.06L8.81 12l6.72 6.72a.75.75 0 1 1-1.06 1.06l-7.25-7.25a.75.75 0 0 1 0-1.06l7.25-7.25a.75.75 0 0 1 1.06 0\"/></symbol>\n <symbol id=\"chevron_left_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.707 4.293a1 1 0 0 1 0 1.414L9.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414l-7-7a1 1 0 0 1 0-1.414l7-7a1 1 0 0 1 1.414 0\"/></symbol>\n <symbol id=\"chevron_right\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.47 4.22a.75.75 0 0 0 0 1.06L15.19 12l-6.72 6.72a.75.75 0 1 0 1.06 1.06l7.25-7.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0\"/></symbol>\n <symbol id=\"chevron_right_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.293 4.293a1 1 0 0 0 0 1.414L14.586 12l-6.293 6.293a1 1 0 1 0 1.414 1.414l7-7a1 1 0 0 0 0-1.414l-7-7a1 1 0 0 0-1.414 0\"/></symbol>\n <symbol id=\"chevron_up\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.293 15.707a1 1 0 0 0 1.414 0L12 9.414l6.293 6.293a1 1 0 0 0 1.414-1.414l-7-7a1 1 0 0 0-1.414 0l-7 7a1 1 0 0 0 0 1.414\"/></symbol>\n <symbol id=\"circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 3.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12\"/></symbol>\n <symbol id=\"clipboard\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.379 5.5H6.25a.75.75 0 0 0-.75.75v13.5c0 .414.336.75.75.75h11.5a.75.75 0 0 0 .75-.75V6.25a.75.75 0 0 0-.75-.75h-2.129c-.404.603-1.09 1-1.871 1h-3.5c-.78 0-1.467-.397-1.871-1M15.986 4h1.764A2.25 2.25 0 0 1 20 6.25v13.5A2.25 2.25 0 0 1 17.75 22H6.25A2.25 2.25 0 0 1 4 19.75V6.25A2.25 2.25 0 0 1 6.25 4h1.764a2.25 2.25 0 0 1 2.236-2h3.5a2.25 2.25 0 0 1 2.236 2M9.5 4.25c0 .414.336.75.75.75h3.5a.75.75 0 0 0 0-1.5h-3.5a.75.75 0 0 0-.75.75\"/></symbol>\n <symbol id=\"clock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.5 12a8.5 8.5 0 1 1 17 0 8.5 8.5 0 0 1-17 0M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m-.007 4.648a.75.75 0 0 0-1.493.102v6l.007.102a.75.75 0 0 0 .743.648h4l.102-.007A.75.75 0 0 0 15.25 12H12V6.75z\"/></symbol>\n <symbol id=\"cloud_add\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0m-5 .5.001 2.503a.5.5 0 1 1-1 0V17h-2.505a.5.5 0 0 1 0-1H16v-2.5a.5.5 0 1 1 1 0V16h2.497a.5.5 0 0 1 0 1z\"/></symbol>\n <symbol id=\"cloud_archive\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 5.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h5.177a2 2 0 0 0 .323.232V18H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0A4.5 4.5 0 0 1 21.744 12h-1.645a3 3 0 0 0-2.599-1.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 5.5m1 7.5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm7 10a2 2 0 0 0 2-2v-4h-9v4a2 2 0 0 0 2 2zm-4.5-4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5\"/></symbol>\n <symbol id=\"cloud_arrow_down\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-5-3a.5.5 0 0 0-1 0v4.793l-1.646-1.647a.5.5 0 0 0-.708.708l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5a.5.5 0 0 0-.708-.708L17 18.293z\"/></symbol>\n <symbol id=\"cloud_dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-7.146-2.354a.5.5 0 0 0-.708.708l1.647 1.646-1.647 1.646a.5.5 0 0 0 .708.708l1.646-1.647 1.646 1.647a.5.5 0 0 0 .708-.708L17.207 16.5l1.647-1.646a.5.5 0 0 0-.708-.708L16.5 15.793z\"/></symbol>\n <symbol id=\"cloud_download\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-5-3a.5.5 0 0 0-1 0v4.793l-1.646-1.647a.5.5 0 0 0-.708.708l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5a.5.5 0 0 0-.708-.708L17 18.293z\"/></symbol>\n <symbol id=\"cloud_edit\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 5.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h6.355l-.365.365A3.7 3.7 0 0 0 11.717 18H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 2.433 1 3.27 3.27 0 0 0-1.701.71 3 3 0 0 0-1.152-.23h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 5.5m7.1 6.17-5.903 5.902a2.7 2.7 0 0 0-.706 1.247l-.458 1.831a1.087 1.087 0 0 0 1.319 1.318l1.83-.457a2.7 2.7 0 0 0 1.248-.707l5.902-5.902A2.286 2.286 0 0 0 19.1 11.67\"/></symbol>\n <symbol id=\"cloud_link\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 5.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.507c.027.527.14 1.032.326 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.077 4.31 4.76 4.76 0 0 0-2.005-1.5A3 3 0 0 0 17.5 10.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 5.5m10 10.75a3.75 3.75 0 0 0-3.75-3.75l-.102.007A.75.75 0 0 0 18.25 14l.154.005a2.25 2.25 0 0 1-.154 4.495l-.003.005-.102.007a.75.75 0 0 0 .108 1.493V20l.2-.005A3.75 3.75 0 0 0 22 16.25m-6.5-3a.75.75 0 0 0-.75-.75l-.2.005a3.75 3.75 0 0 0 .2 7.495l.102-.007a.75.75 0 0 0-.102-1.493l-.154-.005A2.25 2.25 0 0 1 14.75 14l.102-.007a.75.75 0 0 0 .648-.743m3.5 3a.75.75 0 0 0-.75-.75h-3.5l-.102.007A.75.75 0 0 0 14.75 17h3.5l.102-.007A.75.75 0 0 0 19 16.25\"/></symbol>\n <symbol id=\"cloud_off\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.28 2.22a.75.75 0 1 0-1.06 1.06l4.633 4.634a6 6 0 0 0-.773 2.105A4.5 4.5 0 0 0 6.5 19h11q.213 0 .42-.02l2.8 2.8a.75.75 0 0 0 1.06-1.06zM16.44 17.5H6.5a3 3 0 1 1 0-6h.256c.4 0 .73-.315.749-.715.03-.631.19-1.229.453-1.766zm4.06-3c0 .782-.3 1.494-.79 2.029l1.062 1.06a4.5 4.5 0 0 0-2.851-7.57 6 6 0 0 0-8.93-4.21l1.11 1.11a4.5 4.5 0 0 1 6.394 3.866.75.75 0 0 0 .75.715h.255a3 3 0 0 1 3 3\"/></symbol>\n <symbol id=\"cloud_upload\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a4.5 4.5 0 0 0-4.495 4.285.75.75 0 0 1-.75.715H6.5a3 3 0 1 0 0 6h3.576a6.6 6.6 0 0 0-.057 1.5H6.5a4.5 4.5 0 0 1-.42-8.98 6.001 6.001 0 0 1 11.84 0 4.5 4.5 0 0 1 4.053 4.973 6.5 6.5 0 0 0-1.8-1.857A3 3 0 0 0 17.5 9.5h-.256a.75.75 0 0 1-.749-.715A4.5 4.5 0 0 0 12 4.5m10 12a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-6 3a.5.5 0 0 0 1 0v-4.793l1.646 1.647a.5.5 0 0 0 .708-.708l-2.5-2.5a.5.5 0 0 0-.708 0l-2.5 2.5a.5.5 0 0 0 .708.708L16 14.707z\"/></symbol>\n <symbol id=\"code\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m8.066 18.943 6.5-14.5a.75.75 0 0 1 1.404.518l-.036.096-6.5 14.5a.75.75 0 0 1-1.404-.518zl6.5-14.5zM2.22 11.47l4.25-4.25a.75.75 0 0 1 1.133.976l-.073.085L3.81 12l3.72 3.719a.75.75 0 0 1-.976 1.133l-.084-.073-4.25-4.25a.75.75 0 0 1-.073-.976zl4.25-4.25zm14.25-4.25a.75.75 0 0 1 .976-.073l.084.073 4.25 4.25a.75.75 0 0 1 .073.976l-.073.085-4.25 4.25a.75.75 0 0 1-1.133-.977l.073-.084L20.19 12l-3.72-3.72a.75.75 0 0 1 0-1.06\"/></symbol>\n <symbol id=\"color\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.839 5.858c2.94-3.916 9.03-5.055 13.364-2.36 4.28 2.66 5.854 7.777 4.1 12.577-1.655 4.533-6.016 6.328-9.159 4.048-1.177-.854-1.634-1.925-1.854-3.664l-.106-.987-.045-.398c-.123-.934-.311-1.352-.705-1.572-.535-.298-.892-.305-1.595-.033l-.351.146-.179.078c-1.014.44-1.688.595-2.541.416l-.2-.047-.164-.047c-2.789-.864-3.202-4.647-.565-8.157m.984 6.716.123.037.134.03c.439.087.814.015 1.437-.242l.602-.257c1.202-.493 1.985-.54 3.046.05.917.512 1.275 1.298 1.457 2.66l.053.459.055.532.047.422c.172 1.361.485 2.09 1.248 2.644 2.275 1.65 5.534.309 6.87-3.349 1.516-4.152.174-8.514-3.484-10.789-3.675-2.284-8.899-1.306-11.373 1.987-2.075 2.763-1.82 5.28-.215 5.816m11.225-1.994a1.25 1.25 0 1 1 2.414-.647 1.25 1.25 0 0 1-2.414.647m.494 3.488a1.25 1.25 0 1 1 2.415-.647 1.25 1.25 0 0 1-2.415.647M14.07 7.577a1.25 1.25 0 1 1 2.415-.647 1.25 1.25 0 0 1-2.415.647m-.028 8.998a1.25 1.25 0 1 1 2.414-.647 1.25 1.25 0 0 1-2.414.647m-3.497-9.97a1.25 1.25 0 1 1 2.415-.646 1.25 1.25 0 0 1-2.415.646\"/></symbol>\n <symbol id=\"column_triple\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.5 21A2.5 2.5 0 0 1 2 18.5v-13A2.5 2.5 0 0 1 4.5 3h1A2.5 2.5 0 0 1 8 5.5v13A2.5 2.5 0 0 1 5.5 21zm-1-2.5a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-13a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm8 2.5A2.5 2.5 0 0 1 9 18.5v-13A2.5 2.5 0 0 1 11.5 3h1A2.5 2.5 0 0 1 15 5.5v13a2.5 2.5 0 0 1-2.5 2.5zm-1-2.5a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-13a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm5.5 0a2.5 2.5 0 0 0 2.5 2.5h1a2.5 2.5 0 0 0 2.5-2.5v-13A2.5 2.5 0 0 0 19.5 3h-1A2.5 2.5 0 0 0 16 5.5zm2.5 1a1 1 0 0 1-1-1v-13a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1z\"/></symbol>\n <symbol id=\"condition_point\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"m8 16 8-8 8 8-8 8z\"/><path fill=\"currentColor\" d=\"M29.39 14.527 17.474 2.609a2.085 2.085 0 0 0-2.946 0L2.609 14.527a2.085 2.085 0 0 0 0 2.946l11.918 11.918a2.085 2.085 0 0 0 2.946 0l11.918-11.918a2.085 2.085 0 0 0 0-2.946M16 28.036 3.965 16 16 3.964 28.036 16Z\"/></symbol>\n <symbol id=\"copy\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.503 4.627 5.5 6.75v10.504a3.25 3.25 0 0 0 3.25 3.25h8.616a2.25 2.25 0 0 1-2.122 1.5H8.75A4.75 4.75 0 0 1 4 17.254V6.75c0-.98.627-1.815 1.503-2.123M17.75 2A2.25 2.25 0 0 1 20 4.25v13a2.25 2.25 0 0 1-2.25 2.25h-9a2.25 2.25 0 0 1-2.25-2.25v-13A2.25 2.25 0 0 1 8.75 2zm0 1.5h-9a.75.75 0 0 0-.75.75v13c0 .414.336.75.75.75h9a.75.75 0 0 0 .75-.75v-13a.75.75 0 0 0-.75-.75\"/></symbol>\n <symbol id=\"cube\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.049 7.983a.75.75 0 0 1 .967-.435L12 9.438l4.984-1.89a.75.75 0 1 1 .532 1.402l-4.766 1.81v5.49a.75.75 0 1 1-1.5 0v-5.49L6.484 8.95a.75.75 0 0 1-.435-.967m4.542-5.472a3.75 3.75 0 0 1 2.818 0l7.498 3.04A1.75 1.75 0 0 1 22 7.173v9.653a1.75 1.75 0 0 1-1.093 1.621l-7.498 3.04a3.75 3.75 0 0 1-2.818 0l-7.498-3.04A1.75 1.75 0 0 1 2 16.826V7.173A1.75 1.75 0 0 1 3.093 5.55zm2.254 1.39a2.25 2.25 0 0 0-1.69 0l-7.499 3.04a.25.25 0 0 0-.156.232v9.653a.25.25 0 0 0 .156.231l7.499 3.04a2.25 2.25 0 0 0 1.69 0l7.499-3.04a.25.25 0 0 0 .156-.231V7.173a.25.25 0 0 0-.156-.232z\"/></symbol>\n <symbol id=\"cursor_click\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9.25 2a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0v-2.5A.75.75 0 0 1 9.25 2M4.47 3.97a.75.75 0 0 1 1.06 0l1.75 1.75a.75.75 0 1 1-1.06 1.06L4.47 5.03a.75.75 0 0 1 0-1.06m9.56 0a.75.75 0 0 1 0 1.06l-1.75 1.75a.75.75 0 1 1-1.06-1.06l1.75-1.75a.75.75 0 0 1 1.06 0M2.5 8.75A.75.75 0 0 1 3.25 8h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75m8.177-.264C9.822 7.752 8.5 8.36 8.5 9.487v11.274c0 1.21 1.495 1.782 2.302.88l2.614-2.923c.276-.308.664-.49 1.077-.507l3.84-.154c1.197-.048 1.715-1.539.805-2.32zM10 20.287V9.881l7.812 6.696-3.38.135a3.03 3.03 0 0 0-2.133 1.006z\"/></symbol>\n <symbol id=\"dashboard\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M24 21h2v5h-2zm-4-5h2v10h-2zm-9 10a5.006 5.006 0 0 1-5-5h2a3 3 0 1 0 3-3v-2a5 5 0 0 1 0 10\"/><path fill=\"currentColor\" d=\"M28 2H4a2 2 0 0 0-2 2v24a2 2 0 0 0 2 2h24a2.003 2.003 0 0 0 2-2V4a2 2 0 0 0-2-2m0 9H14V4h14ZM12 4v7H4V4ZM4 28V13h24l.002 15Z\"/></symbol>\n <symbol id=\"dashboard_reference\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M4 20v2h4.586L2 28.586 3.414 30 10 23.414V28h2v-8zm20 1h2v5h-2zm-4-5h2v10h-2zm-4 2h2v8h-2z\"/><path fill=\"currentColor\" d=\"M28 2H4a2 2 0 0 0-2 2v12h2v-3h24.001l.001 15H16v2h12a2.003 2.003 0 0 0 2-2V4a2 2 0 0 0-2-2m-16 9H4V4h8Zm2 0V4h14v7Z\"/></symbol>\n <symbol id=\"data_accessor\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M28 20h-2v2h2v6H4v-6h2v-2H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2\"/><circle cx=\"7\" cy=\"25\" r=\"1\" fill=\"currentColor\"/><path fill=\"currentColor\" d=\"M21 13a2.96 2.96 0 0 0-1.285.3l-2.3-2.3 2.3-2.3A2.96 2.96 0 0 0 21 9a3 3 0 1 0-3-3 3 3 0 0 0 .3 1.285l-2.3 2.3-2.3-2.3A3 3 0 0 0 14 6a3 3 0 1 0-3 3 2.96 2.96 0 0 0 1.285-.3l2.3 2.3-2.3 2.3A2.96 2.96 0 0 0 11 13a3 3 0 1 0 3 3 3 3 0 0 0-.3-1.285l2.3-2.3 2.3 2.3A3 3 0 0 0 18 16a3 3 0 1 0 3-3m0-8a1 1 0 1 1-1 1 1 1 0 0 1 1-1M10 6a1 1 0 1 1 1 1 1 1 0 0 1-1-1m1 11a1 1 0 1 1 1-1 1 1 0 0 1-1 1m10 0a1 1 0 1 1 1-1 1 1 0 0 1-1 1\"/></symbol>\n <symbol id=\"delete\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10 5h4a2 2 0 1 0-4 0M8.5 5a3.5 3.5 0 1 1 7 0h5.75a.75.75 0 0 1 0 1.5h-1.32l-1.17 12.111A3.75 3.75 0 0 1 15.026 22H8.974a3.75 3.75 0 0 1-3.733-3.389L4.07 6.5H2.75a.75.75 0 0 1 0-1.5zm2 4.75a.75.75 0 0 0-1.5 0v7.5a.75.75 0 0 0 1.5 0zM14.25 9a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75m-7.516 9.467a2.25 2.25 0 0 0 2.24 2.033h6.052a2.25 2.25 0 0 0 2.24-2.033L18.424 6.5H5.576z\"/></symbol>\n <symbol id=\"delete_arrow_back\" viewBox=\"0 0 20 20\"><path fill=\"currentColor\" d=\"M11.5 4a1.5 1.5 0 0 0-3 0zm-4 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.054l-.485 4.196a5.5 5.5 0 0 0-.986-.176L15.44 5H4.561l1.18 10.23A2 2 0 0 0 7.728 17H9.6q.276.538.657 1H7.728a3 3 0 0 1-2.98-2.656L3.554 5H2.5a.5.5 0 0 1 0-1zm7 15a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9m-.896-6.396-.897.896h1.543A2.75 2.75 0 0 1 17 16.25v.25a.5.5 0 0 1-1 0v-.25a1.75 1.75 0 0 0-1.75-1.75h-1.543l.897.896a.5.5 0 0 1-.708.708l-1.752-1.753a.5.5 0 0 1 .002-.705l1.75-1.75a.5.5 0 0 1 .708.708\"/></symbol>\n <symbol id=\"delete_dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M14 5a2 2 0 1 0-4 0zM8.5 5a3.5 3.5 0 1 1 7 0h5.75a.75.75 0 0 1 0 1.5h-1.32l-.502 5.195a6.5 6.5 0 0 0-1.456-.528l.452-4.667H5.576l1.158 11.967a2.25 2.25 0 0 0 2.24 2.033h1.758A6.5 6.5 0 0 0 11.81 22H8.974a3.75 3.75 0 0 1-3.733-3.389L4.07 6.5H2.75a.75.75 0 0 1 0-1.5zM22 17.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-7.146-2.354a.5.5 0 0 0-.708.708l1.647 1.646-1.647 1.646a.5.5 0 0 0 .708.708l1.646-1.647 1.646 1.647a.5.5 0 0 0 .708-.708L17.207 17.5l1.647-1.646a.5.5 0 0 0-.708-.708L16.5 16.793z\"/></symbol>\n <symbol id=\"delete_lines\" viewBox=\"0 0 20 20\"><path fill=\"currentColor\" d=\"M11.5 4a1.5 1.5 0 0 0-3 0zm-4 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.054l-.808 7H14.63l.808-7H4.561l1.18 10.23A2 2 0 0 0 7.728 17h2.357a1.5 1.5 0 0 0 0 1H7.728a3 3 0 0 1-2.98-2.656L3.554 5H2.5a.5.5 0 0 1 0-1zm4 9a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1z\"/></symbol>\n <symbol id=\"descending\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4 2.75A.75.75 0 0 1 4.75 2H9.5a.75.75 0 0 1 .634 1.151L6.113 9.5H9.5a.75.75 0 1 1 0 1.5H4.75a.75.75 0 0 1-.634-1.151L8.137 3.5H4.75A.75.75 0 0 1 4 2.75m2.368 9.727a.75.75 0 0 1 1.401.01l3.184 8.5a.75.75 0 0 1-1.405.526L8.794 19.5H5.238l-.79 2.022a.75.75 0 0 1-1.397-.545zM8.232 18l-1.18-3.15L5.823 18zM17.25 2a.75.75 0 0 1 .75.75v16.69l2.22-2.22a.75.75 0 1 1 1.06 1.06l-3.5 3.5a.75.75 0 0 1-1.06 0l-3.5-3.5a.75.75 0 1 1 1.06-1.06l2.22 2.22V2.75a.75.75 0 0 1 .75-.75\"/></symbol>\n <symbol id=\"devices\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M10 30H4a2 2 0 0 1-2-2V16a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2M4 16v12h6V16Z\"/><path fill=\"currentColor\" d=\"M28 4H6a2 2 0 0 0-2 2v6h2V6h22v14H14v2h2v4h-2v2h9v-2h-5v-4h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2\"/></symbol>\n <symbol id=\"dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m4.397 4.554.073-.084a.75.75 0 0 1 .976-.073l.084.073L12 10.939l6.47-6.47a.75.75 0 1 1 1.06 1.061L13.061 12l6.47 6.47a.75.75 0 0 1 .072.976l-.073.084a.75.75 0 0 1-.976.073l-.084-.073L12 13.061l-6.47 6.47a.75.75 0 0 1-1.06-1.061L10.939 12l-6.47-6.47a.75.75 0 0 1-.072-.976l.073-.084z\"/></symbol>\n <symbol id=\"dismiss_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m0 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17m3.446 4.897.084.073a.75.75 0 0 1 .073.976l-.073.084L13.061 12l2.47 2.47a.75.75 0 0 1 .072.976l-.073.084a.75.75 0 0 1-.976.073l-.084-.073L12 13.061l-2.47 2.47a.75.75 0 0 1-.976.072l-.084-.073a.75.75 0 0 1-.073-.976l.073-.084L10.939 12l-2.47-2.47a.75.75 0 0 1-.072-.976l.073-.084a.75.75 0 0 1 .976-.073l.084.073L12 10.939l2.47-2.47a.75.75 0 0 1 .976-.072\"/></symbol>\n <symbol id=\"dismiss_circle_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2m3.53 6.47-.084-.073a.75.75 0 0 0-.882-.007l-.094.08L12 10.939l-2.47-2.47-.084-.072a.75.75 0 0 0-.882-.007l-.094.08-.073.084a.75.75 0 0 0-.007.882l.08.094L10.939 12l-2.47 2.47-.072.084a.75.75 0 0 0-.007.882l.08.094.084.073a.75.75 0 0 0 .882.007l.094-.08L12 13.061l2.47 2.47.084.072a.75.75 0 0 0 .882.007l.094-.08.073-.084a.75.75 0 0 0 .007-.882l-.08-.094L13.061 12l2.47-2.47.072-.084a.75.75 0 0 0 .007-.882zl-.084-.073z\"/></symbol>\n <symbol id=\"dismiss_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m4.21 4.387.083-.094a1 1 0 0 1 1.32-.083l.094.083L12 10.585l6.293-6.292a1 1 0 1 1 1.414 1.414L13.415 12l6.292 6.293a1 1 0 0 1 .083 1.32l-.083.094a1 1 0 0 1-1.32.083l-.094-.083L12 13.415l-6.293 6.292a1 1 0 0 1-1.414-1.414L10.585 12 4.293 5.707a1 1 0 0 1-.083-1.32l.083-.094z\"/></symbol>\n <symbol id=\"document\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414l-5.828-5.828A2 2 0 0 0 12.172 2zm-.5 2a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5v10a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5zm11.88 4.5H14a.5.5 0 0 1-.5-.5V4.62z\"/></symbol>\n <symbol id=\"document_bullet\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 12.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0m.75 2.25a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5M7 18.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0m3.75-6.75a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zM10 15.25a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75m.75 2.25a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm8.664-9.086-5.829-5.828-.049-.04-.036-.03a2 2 0 0 0-.219-.18 1 1 0 0 0-.08-.044l-.048-.024-.05-.029c-.054-.031-.109-.063-.166-.087a2 2 0 0 0-.624-.138q-.03-.002-.059-.007L12.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414M18.5 20a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5zm-5-15.379L17.378 8.5H14a.5.5 0 0 1-.5-.5z\"/></symbol>\n <symbol id=\"document_copy\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.503 4.627 5.5 6.75v10.504a3.25 3.25 0 0 0 3.25 3.25h8.616a2.25 2.25 0 0 1-2.122 1.5H8.75A4.75 4.75 0 0 1 4 17.254V6.75c0-.98.627-1.815 1.503-2.123M13.128 2c.597 0 1.17.237 1.592.66l4.618 4.62c.422.422.659.995.659 1.591v8.383a2.25 2.25 0 0 1-2.25 2.25H8.752a2.25 2.25 0 0 1-2.25-2.25V4.25A2.25 2.25 0 0 1 8.752 2zM13 3.5H8.752a.75.75 0 0 0-.75.75v13.004c0 .414.336.75.75.75h8.995a.75.75 0 0 0 .75-.75V9.003H15.25a2.25 2.25 0 0 1-2.245-2.095L13 6.754zm1.5 1.061.001 2.193c0 .38.282.693.648.743l.102.007 2.19-.001z\"/></symbol>\n <symbol id=\"document_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.75 11.5a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm0 2.75a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm0 2.75a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm4.835-14.414 5.829 5.828A2 2 0 0 1 20 9.828V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h6.172q.042.001.082.007.03.005.059.007c.215.015.427.056.624.138.057.024.112.056.166.087l.05.029.047.024a1 1 0 0 1 .081.044c.078.053.148.116.219.18l.036.03zM18 20.5a.5.5 0 0 0 .5-.5V10H14a2 2 0 0 1-2-2V3.5H6a.5.5 0 0 0-.5.5v16a.5.5 0 0 0 .5.5zm-.622-12L13.5 4.621V8a.5.5 0 0 0 .5.5z\"/></symbol>\n <symbol id=\"document_lock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.5 20a.5.5 0 0 1-.5.5h-6v1q0 .257-.05.5H18a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414l-5.829-5.828-.049-.04-.036-.03a2 2 0 0 0-.219-.18 1 1 0 0 0-.08-.044l-.048-.024-.05-.029c-.054-.031-.109-.063-.166-.087a2 2 0 0 0-.624-.138q-.03-.002-.059-.007L12.172 2H6a2 2 0 0 0-2 2v7.55a3.5 3.5 0 0 1 1.5-.905V4a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5zm-5-15.379L17.378 8.5H14a.5.5 0 0 1-.5-.5zM4 15h-.5A1.5 1.5 0 0 0 2 16.5v5A1.5 1.5 0 0 0 3.5 23h6a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 9.5 15H9v-1a2.5 2.5 0 0 0-5 0zm1.5-1a1 1 0 1 1 2 0v1h-2zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"/></symbol>\n <symbol id=\"document_page\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.25 2A2.25 2.25 0 0 0 4 4.25v15.5A2.25 2.25 0 0 0 6.25 22h11.5A2.25 2.25 0 0 0 20 19.75V4.25A2.25 2.25 0 0 0 17.75 2zM5.5 4.25a.75.75 0 0 1 .75-.75h11.5a.75.75 0 0 1 .75.75v15.5a.75.75 0 0 1-.75.75H6.25a.75.75 0 0 1-.75-.75zM7.75 6.5a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5zM7 16.25a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75M7.75 11a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5z\"/></symbol>\n <symbol id=\"document_sparkle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.25 11h-8.5c-.41 0-.75.34-.75.75s.34.75.75.75h8.5c.41 0 .75-.34.75-.75s-.34-.75-.75-.75m0 4.5h-8.5c-.41 0-.75.34-.75.75s.34.75.75.75h8.5c.41 0 .75-.34.75-.75s-.34-.75-.75-.75M7 7.25c0 .41.34.75.75.75h7.45l-.09-.28q-.075-.21-.21-.39c-.04-.05-.07-.09-.11-.13-.15-.15-.33-.26-.52-.32L13.1 6.5H7.75c-.41 0-.75.34-.75.75m12.8 6.04-.26-.79-.8-.29c-.09-.03-.16-.08-.24-.12v7.66c0 .41-.34.75-.75.75H6.25c-.41 0-.75-.34-.75-.75V4.25c0-.41.34-.75.75-.75h5.53c.03-.06.05-.13.09-.19.24-.34.58-.6.99-.74l1.41-.46c.07-.03.15-.07.22-.11H6.25C5.01 2 4 3.01 4 4.25v15.5C4 20.99 5.01 22 6.25 22h11.5c1.24 0 2.25-1.01 2.25-2.25v-6.08a1.7 1.7 0 0 1-.2-.38m-3.95-7.14c.08.08.16.17.23.27.2.25.35.54.45.85l.45 1.38c.04.11.11.2.2.26.09.07.2.1.31.1a.5.5 0 0 0 .31-.1c.08-.06.15-.14.19-.23v-.03l.46-1.38c.14-.42.37-.8.69-1.11.31-.31.69-.55 1.11-.69l1.38-.45c.11-.04.2-.11.26-.2a.5.5 0 0 0 .1-.31.5.5 0 0 0-.1-.31.63.63 0 0 0-.26-.2h-.03l-1.38-.45c-.42-.14-.8-.37-1.11-.69a2.85 2.85 0 0 1-.69-1.11L17.97.37a.52.52 0 0 0-.2-.26c-.09-.06-.2-.1-.31-.1a.5.5 0 0 0-.31.1c-.09.06-.16.16-.2.26l-.45 1.38v.03c-.15.4-.38.77-.67 1.07-.31.31-.68.55-1.1.69l-1.38.45c-.11.04-.2.11-.26.2a.5.5 0 0 0-.1.31c0 .11.03.22.1.31.06.09.16.16.26.2l1.38.45c.42.14.8.38 1.11.69zm7.93 4.07c.064 0 .13.06.17.11s.05.11.05.17-.01.12-.05.17-.09.09-.15.11l-.77.25c-.23.08-.44.21-.62.38-.17.17-.3.38-.38.62l-.25.76c-.02.06-.06.11-.11.15a.27.27 0 0 1-.34 0 .33.33 0 0 1-.11-.15l-.25-.76c-.08-.23-.21-.45-.38-.62s-.39-.31-.62-.38l-.77-.25a.33.33 0 0 1-.15-.11.27.27 0 0 1 0-.34c.04-.05.09-.09.15-.11l.77-.25c.23-.08.44-.21.61-.38s.3-.38.37-.61l.25-.76c.02-.06.06-.11.11-.15a.27.27 0 0 1 .34 0c.05.04.09.09.11.15l.25.76c.08.23.21.44.38.62.17.17.38.3.62.38z\"/></symbol>\n <symbol id=\"document_toolbox\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.5 4.25a.75.75 0 0 1 .75-.75H12V8a2 2 0 0 0 2 2h4.5v9.75a.75.75 0 0 1-.75.75H13V22h4.75A2.25 2.25 0 0 0 20 19.75V9.664c0-.464-.184-.909-.513-1.237l-5.914-5.914A1.75 1.75 0 0 0 12.336 2H6.25A2.25 2.25 0 0 0 4 4.25v8.018c.294-.17.636-.268 1-.268h.5zM17.44 8.5H14a.5.5 0 0 1-.5-.5V4.56zM4 16v-1.5A1.5 1.5 0 0 1 5.5 13h2A1.5 1.5 0 0 1 9 14.5V16h1.5a1.5 1.5 0 0 1 1.5 1.5V19H9v-.5a.5.5 0 0 0-1 0v.5H5v-.5a.5.5 0 0 0-1 0v.5H1v-1.5A1.5 1.5 0 0 1 2.5 16zm1-1.5V16h3v-1.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5M9 20h3v1.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 1 21.5V20h3v.5a.5.5 0 0 0 1 0V20h3v.5a.5.5 0 0 0 1 0z\"/></symbol>\n <symbol id=\"download\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.25 20.5a.75.75 0 1 1 0 1.5l-13 .005a.75.75 0 1 1 0-1.5zM11.648 2.014l.102-.007a.75.75 0 0 1 .743.648l.007.102-.001 13.685 3.722-3.72a.75.75 0 0 1 .976-.073l.085.073a.75.75 0 0 1 .072.976l-.073.084-4.997 4.997a.75.75 0 0 1-.976.073l-.085-.073-5.003-4.996a.75.75 0 0 1 .976-1.134l.084.072 3.719 3.714L11 2.756a.75.75 0 0 1 .648-.743l.102-.007z\"/></symbol>\n <symbol id=\"drive\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.415 5.27A2.25 2.25 0 0 1 7.441 4h9.118c.863 0 1.65.493 2.026 1.27l3.09 6.388c.214.44.325.925.325 1.415v3.677A2.25 2.25 0 0 1 19.75 19H4.25A2.25 2.25 0 0 1 2 16.75v-3.677c0-.49.11-.974.324-1.415zm11.82.653a.75.75 0 0 0-.676-.423H7.441a.75.75 0 0 0-.676.423L4.31 11h15.382zM3.5 13.25v3.5c0 .414.336.75.75.75h15.5a.75.75 0 0 0 .75-.75v-3.5a.75.75 0 0 0-.75-.75H4.25a.75.75 0 0 0-.75.75M18 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"/></symbol>\n <symbol id=\"edit\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M20.952 3.048a3.58 3.58 0 0 0-5.06 0L3.94 15a3.1 3.1 0 0 0-.825 1.476L2.02 21.078a.75.75 0 0 0 .904.903l4.601-1.096a3.1 3.1 0 0 0 1.477-.825l11.95-11.95a3.58 3.58 0 0 0 0-5.06m-4 1.06a2.078 2.078 0 1 1 2.94 2.94L19 7.939 16.06 5zM15 6.062 17.94 9l-10 10c-.21.21-.474.357-.763.426l-3.416.814.813-3.416c.069-.29.217-.554.427-.764z\"/></symbol>\n <symbol id=\"enterprise\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M8 8h2v4H8zm0 6h2v4H8zm6-6h2v4h-2zm0 6h2v4h-2zm-6 6h2v4H8zm6 0h2v4h-2z\"/><path fill=\"currentColor\" d=\"M30 14a2 2 0 0 0-2-2h-6V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v26h28ZM4 4h16v24H4Zm18 24V14h6v14Z\"/></symbol>\n <symbol id=\"error_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.478 10 10s-4.477 10-10 10S2 17.522 2 12 6.477 2 12 2m0 1.667c-4.595 0-8.333 3.738-8.333 8.333S7.405 20.333 12 20.333s8.333-3.738 8.333-8.333S16.595 3.667 12 3.667m-.001 10.835a.999.999 0 1 1 0 1.998.999.999 0 0 1 0-1.998M11.994 7a.75.75 0 0 1 .744.648l.007.101.004 4.502a.75.75 0 0 1-1.493.103l-.007-.102-.004-4.501a.75.75 0 0 1 .75-.751\"/></symbol>\n <symbol id=\"event_alerting\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M28 17v5H4V6h11V4H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8v4H8v2h16v-2h-4v-4h8a2 2 0 0 0 2-2v-5ZM18 28h-4v-4h4Z\"/><path fill=\"currentColor\" d=\"M29 14H17a1 1 0 0 1-.857-1.514l6-10a1 1 0 0 1 1.715 0l6 10A1 1 0 0 1 29 14m-10.234-2h8.468L23 4.944Z\"/></symbol>\n <symbol id=\"export\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2.753 4.5a.75.75 0 0 1 .743.648l.006.102L3.5 18.254a.75.75 0 0 1-1.493.102L2 18.254 2.002 5.25a.75.75 0 0 1 .75-.75m12.894 1.804.073-.084a.75.75 0 0 1 .976-.073l.084.073 4.997 4.997a.75.75 0 0 1 .073.976l-.073.085-4.996 5.003a.75.75 0 0 1-1.134-.976l.072-.084 3.711-3.717H5.753a.75.75 0 0 1-.743-.647l-.007-.102a.75.75 0 0 1 .648-.743l.102-.007 13.69-.001L15.72 7.28a.75.75 0 0 1-.073-.976l.073-.084z\"/></symbol>\n <symbol id=\"eye\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 9.005a4 4 0 1 1 0 8 4 4 0 0 1 0-8m0 1.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M12 5.5c4.613 0 8.596 3.15 9.701 7.564a.75.75 0 1 1-1.455.365 8.504 8.504 0 0 0-16.493.004.75.75 0 0 1-1.456-.363A10 10 0 0 1 12 5.5\"/></symbol>\n <symbol id=\"eye_hide\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2.22 2.22a.75.75 0 0 0-.073.976l.073.084 4.034 4.035a10 10 0 0 0-3.955 5.75.75.75 0 0 0 1.455.364 8.5 8.5 0 0 1 3.58-5.034l1.81 1.81A4 4 0 0 0 14.8 15.86l5.919 5.92a.75.75 0 0 0 1.133-.977l-.073-.084-6.113-6.114.001-.002-1.2-1.198-2.87-2.87h.002l-2.88-2.877.001-.002-1.133-1.13L3.28 2.22a.75.75 0 0 0-1.06 0m7.984 9.045 3.535 3.536a2.5 2.5 0 0 1-3.535-3.535M12 5.5c-1 0-1.97.148-2.889.425l1.237 1.236a8.503 8.503 0 0 1 9.899 6.272.75.75 0 0 0 1.455-.363A10 10 0 0 0 12 5.5m.195 3.51 3.801 3.8a4.003 4.003 0 0 0-3.801-3.8\"/></symbol>\n <symbol id=\"factory\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.17 2a2.25 2.25 0 0 0-2.247 2.129l-.838 15.5A2.25 2.25 0 0 0 4.332 22h2.834a2.25 2.25 0 0 0 2.246-2.371l-.838-15.5A2.25 2.25 0 0 0 6.328 2zm-.75 2.21a.75.75 0 0 1 .749-.71h1.158a.75.75 0 0 1 .749.71l.837 15.5a.75.75 0 0 1-.748.79H4.332a.75.75 0 0 1-.749-.79zM9.511 22c.395-.412.683-.928.818-1.5h1.17v-4.25c0-.966.783-1.75 1.75-1.75h4c.966 0 1.75.784 1.75 1.75v4.25h.75a.75.75 0 0 0 .75-.75V7.713l-5.241 4.838a.75.75 0 0 1-1.26-.551V7.713l-4.027 3.718-.105-1.944 4.374-4.038A.75.75 0 0 1 15.5 6v4.287l5.241-4.838A.75.75 0 0 1 22 6v13.75A2.25 2.25 0 0 1 19.75 22zm3.488-5.75v4.25h4.5v-4.25a.25.25 0 0 0-.25-.25h-4a.25.25 0 0 0-.25.25\"/></symbol>\n <symbol id=\"file\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414l-5.828-5.828A2 2 0 0 0 12.172 2zm-.5 2a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5v10a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5zm11.88 4.5H14a.5.5 0 0 1-.5-.5V4.62z\"/></symbol>\n <symbol id=\"file_audio\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M29 31a1 1 0 0 1-.624-.22L23.649 27H20a1 1 0 0 1-1-1v-5a1 1 0 0 1 1-1h3.65l4.726-3.78A1 1 0 0 1 30 17v13a1 1 0 0 1-1 1m-8-6h3a1 1 0 0 1 .625.22L28 27.92v-8.84l-3.375 2.7A1 1 0 0 1 24 22h-3Z\"/><path fill=\"currentColor\" d=\"M16 28H8V4h8v6a2.006 2.006 0 0 0 2 2h6v3h2v-5a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 18 2H8a2.006 2.006 0 0 0-2 2v24a2.006 2.006 0 0 0 2 2h8Zm2-23.6 5.6 5.6H18Z\"/></symbol>\n <symbol id=\"file_pdf\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.503 13.002a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0v-.5H8.5a1.5 1.5 0 0 0 0-3zm.997 2h-.497v-1H8.5a.5.5 0 1 1 0 1m6.498-1.5a.5.5 0 0 1 .5-.5h1.505a.5.5 0 1 1 0 1h-1.006l-.001 1.002h1.007a.5.5 0 0 1 0 1h-1.007l.002.497a.5.5 0 0 1-1 .002l-.003-.998v-.002zm-3.498-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h.498a2 2 0 0 0 0-4zm.5 3v-2a1 1 0 0 1 0 2M20 20v-1.164c.591-.281 1-.884 1-1.582V12.75c0-.698-.409-1.3-1-1.582v-1.34a2 2 0 0 0-.586-1.414l-5.829-5.828-.049-.04-.036-.03a2 2 0 0 0-.219-.18 1 1 0 0 0-.08-.044l-.048-.024-.05-.029c-.054-.031-.109-.063-.166-.087a2 2 0 0 0-.624-.138q-.03-.002-.059-.007L12.172 2H6a2 2 0 0 0-2 2v7.168c-.591.281-1 .884-1 1.582v4.504c0 .698.409 1.3 1 1.582V20a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2m-2 .5H6a.5.5 0 0 1-.5-.5v-.996h13V20a.5.5 0 0 1-.5.5m.5-10.5v1h-13V4a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2zm-1.122-1.5H14a.5.5 0 0 1-.5-.5V4.621zm-12.628 4h14.5a.25.25 0 0 1 .25.25v4.504a.25.25 0 0 1-.25.25H4.75a.25.25 0 0 1-.25-.25V12.75a.25.25 0 0 1 .25-.25\"/></symbol>\n <symbol id=\"file_sparkle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.088 6.412a2.84 2.84 0 0 0-1.347-.955l-1.378-.448a.544.544 0 0 1 0-1.025l1.378-.448A2.84 2.84 0 0 0 16.5 1.774l.011-.034.448-1.377a.544.544 0 0 1 1.027 0l.447 1.377a2.84 2.84 0 0 0 1.799 1.796l1.377.448.028.007a.544.544 0 0 1 0 1.025l-1.378.448a2.84 2.84 0 0 0-1.798 1.796l-.448 1.377-.013.034a.544.544 0 0 1-1.013-.034l-.448-1.377a2.8 2.8 0 0 0-.45-.848m7.695 3.801-.766-.248a1.58 1.58 0 0 1-.998-.999l-.25-.764a.302.302 0 0 0-.57 0l-.248.764a1.58 1.58 0 0 1-.984.999l-.765.248a.302.302 0 0 0 0 .57l.765.249a1.58 1.58 0 0 1 1 1.002l.248.764a.302.302 0 0 0 .57 0l.249-.764a1.58 1.58 0 0 1 .999-.999l.765-.248a.302.302 0 0 0 0-.57zM5.25 3h7.797a1.65 1.65 0 0 0-.767.569A1.6 1.6 0 0 0 12 4.5H5.25a.75.75 0 0 0-.75.75v12.5c0 .966.784 1.75 1.75 1.75h9.25V7.327q.052.108.09.222l.41 1.45c.106.31.305.579.57.77q.2.138.43.21V14h4v3.75A3.25 3.25 0 0 1 17.75 21H6.25A3.25 3.25 0 0 1 3 17.75V5.25A2.25 2.25 0 0 1 5.25 3M17 19.5h.75a1.75 1.75 0 0 0 1.75-1.75V15.5H17zM7.25 7a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm-.75 4.75a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75M7.25 15a.75.75 0 0 0 0 1.5h3a.75.75 0 0 0 0-1.5z\"/></symbol>\n <symbol id=\"file_text\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.75 11.5a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm0 2.75a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm0 2.75a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm4.835-14.414 5.829 5.828A2 2 0 0 1 20 9.828V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h6.172q.042.001.082.007.03.005.059.007c.215.015.427.056.624.138.057.024.112.056.166.087l.05.029.047.024a1 1 0 0 1 .081.044c.078.053.148.116.219.18l.036.03zM18 20.5a.5.5 0 0 0 .5-.5V10H14a2 2 0 0 1-2-2V3.5H6a.5.5 0 0 0-.5.5v16a.5.5 0 0 0 .5.5zm-.622-12L13.5 4.621V8a.5.5 0 0 0 .5.5z\"/></symbol>\n <symbol id=\"file_video\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"m30 19-4 3.2V20a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2.2l4 3.2Zm-14 7v-6h8l.002 6Z\"/><path fill=\"currentColor\" d=\"M12 28H8V4h8v6a2.006 2.006 0 0 0 2 2h6v3h2v-5a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 18 2H8a2.006 2.006 0 0 0-2 2v24a2.006 2.006 0 0 0 2 2h4Zm6-23.6 5.6 5.6H18Z\"/></symbol>\n <symbol id=\"file_zip\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3.5 8V6.25c0-.966.784-1.75 1.75-1.75h2.879a.75.75 0 0 1 .53.22l1.53 1.53-1.53 1.53a.75.75 0 0 1-.53.22zm1.75-5A3.25 3.25 0 0 0 2 6.25v11.5A3.25 3.25 0 0 0 5.25 21h13.5A3.25 3.25 0 0 0 22 17.75v-9a3.25 3.25 0 0 0-3.25-3.25h-7.19L9.72 3.659A2.25 2.25 0 0 0 8.129 3zm8.25 4v3.25c0 .414.336.75.75.75H15v2h-.25a.75.75 0 0 0 0 1.5H15V16h-.25a.75.75 0 0 0 0 1.5H15v2H5.25a1.75 1.75 0 0 1-1.75-1.75V9.5h4.629a2.25 2.25 0 0 0 1.59-.659L11.562 7zm3 12.5V16h.25a.75.75 0 0 0 0-1.5h-.25V11h.75a.75.75 0 0 0 .75-.75V7h.75c.966 0 1.75.784 1.75 1.75v9a1.75 1.75 0 0 1-1.75 1.75zm0-12.5v2.5H15V7z\"/></symbol>\n <symbol id=\"filter\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.5 16a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5zm3-5a.75.75 0 0 1 0 1.5h-9a.75.75 0 0 1 0-1.5zm3-5a.75.75 0 0 1 0 1.5h-15a.75.75 0 0 1 0-1.5z\"/></symbol>\n <symbol id=\"fingerprint\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M14.858 12.158c.56.573.877 1.268 1.106 2.228l.1.456.178.947c.09.445.158.692.255.908q.449 1.012 1.595 2.065a.75.75 0 0 1-1.013 1.106q-1.363-1.246-1.952-2.56c-.149-.334-.24-.65-.347-1.18l-.21-1.1-.013-.06c-.18-.85-.404-1.385-.772-1.762-.713-.73-2.357-.537-2.797.158-.562.889-.705 2.396-.26 3.916q.518 1.761 1.373 3.467a.75.75 0 0 1-1.34.672 22.3 22.3 0 0 1-1.471-3.717c-.562-1.912-.376-3.864.43-5.14.953-1.506 3.742-1.834 5.138-.404m-2.366 2.315a.75.75 0 0 1 .775.725 7.93 7.93 0 0 0 1.444 4.304l.196.266.3.39a.75.75 0 0 1-1.114.998l-.074-.083-.3-.39a9.43 9.43 0 0 1-1.951-5.435.75.75 0 0 1 .724-.775M8.782 9.39c2.113-1.563 4.875-1.478 6.733-.284.93.598 1.635 1.295 2.103 2.093a.75.75 0 0 1-1.294.76c-.342-.584-.878-1.115-1.62-1.591-1.362-.876-3.451-.94-5.029.228-1.638 1.213-2.328 3.291-2.123 5.482q.172 1.84 1.114 3.724a.75.75 0 0 1-1.342.67Q6.26 18.346 6.06 16.219c-.25-2.67.61-5.263 2.724-6.828m9.18 4.301a.75.75 0 0 1 .788.71c.031.604.18 1.097.442 1.494.22.333.414.525.563.6l.061.024a.75.75 0 0 1-.434 1.436c-.547-.165-1.017-.588-1.443-1.235-.416-.63-.643-1.382-.687-2.241a.75.75 0 0 1 .71-.788m-7.451-7.589a.75.75 0 0 1-.377.992c-1.84.828-3.194 2.008-4.083 3.548-1.114 1.928-1.414 4.181-1.165 6.08a.75.75 0 1 1-1.487.196c-.289-2.201.055-4.778 1.353-7.026C5.804 8.071 7.4 6.68 9.519 5.726a.75.75 0 0 1 .992.376m2.343-.787c1.83.037 3.652.878 5.459 2.486 1.823 1.622 2.921 3.827 3.294 6.58a.75.75 0 1 1-1.486.202c-.327-2.412-1.261-4.287-2.805-5.661-1.56-1.388-3.055-2.078-4.493-2.107a.75.75 0 1 1 .031-1.5m-6.871.014a.75.75 0 0 1-.062 1.06q-.403.357-.843.854-.415.468-.846 1.213a.75.75 0 1 1-1.3-.75 9 9 0 0 1 1.024-1.458q.497-.56.968-.98a.75.75 0 0 1 1.059.061m6.585-2.966c2.193.103 4.03.703 5.53 1.861a.75.75 0 0 1-.917 1.188c-1.245-.962-2.785-1.461-4.683-1.55-1.903-.09-3.462.284-4.715.979-.384.213-.814.106-1.031-.247a.74.74 0 0 1 .246-1.031c1.536-.904 3.383-1.302 5.57-1.2\"/></symbol>\n <symbol id=\"flag-de\" viewBox=\"0 0 640 480\"><path fill=\"#fc0\" d=\"M0 320h640v160H0z\"/><path fill=\"#000001\" d=\"M0 0h640v160H0z\"/><path fill=\"red\" d=\"M0 160h640v160H0z\"/></symbol>\n <symbol id=\"flag-en\" viewBox=\"0 0 640 480\"><path fill=\"#012169\" d=\"M0 0h640v480H0z\"/><path fill=\"#fff\" d=\"m75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z\"/><path fill=\"#c8102e\" d=\"m424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z\"/><path fill=\"#fff\" d=\"M241 0v480h160V0zM0 160v160h640V160z\"/><path fill=\"#c8102e\" d=\"M0 193v96h640v-96zM273 0v480h96V0z\"/></symbol>\n <symbol id=\"flash\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.425 2.83A1.25 1.25 0 0 1 8.603 2h6.453a1.25 1.25 0 0 1 1.186 1.645L14.79 8h3.96c1.103 0 1.665 1.327.897 2.12L8.586 21.536c-1.054 1.088-2.872.106-2.541-1.372l1.27-5.668-1.57-.006a1.75 1.75 0 0 1-1.641-2.337zm1.354.67-3.262 9.157a.25.25 0 0 0 .234.333l2.502.01a.75.75 0 0 1 .729.914l-1.473 6.578L18.159 9.5h-4.41a.75.75 0 0 1-.71-.987l1.67-5.013z\"/></symbol>\n <symbol id=\"flow_stream\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M20 24h-8.137a4 4 0 0 0-.429-1.02L21.98 12.434A3.994 3.994 0 1 0 20.141 8H14v2h6.141a4 4 0 0 0 .425 1.02L10.02 21.566A3.994 3.994 0 1 0 11.859 26H20v3h8v-8h-8zm4-17a2 2 0 1 1-2 2 2 2 0 0 1 2-2M8 27a2 2 0 1 1 2-2 2 2 0 0 1-2 2m14-4h4v4h-4zM9.693 12.75a5 5 0 0 1 0-7.5l1.324 1.5a3 3 0 0 0 0 4.501z\"/><path fill=\"currentColor\" d=\"M7.047 15.751a9 9 0 0 1 0-13.501l1.324 1.5a7 7 0 0 0 0 10.501Z\"/></symbol>\n <symbol id=\"globe\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 1.998c5.524 0 10.002 4.478 10.002 10.002 0 5.523-4.478 10-10.002 10S2 17.523 2 12C1.999 6.476 6.476 1.998 12 1.998M14.94 16.5H9.061c.652 2.415 1.786 4.002 2.94 4.002s2.286-1.588 2.938-4.002m-7.43 0H4.785a8.53 8.53 0 0 0 4.095 3.41c-.522-.82-.953-1.846-1.27-3.015zm11.705 0h-2.722c-.324 1.335-.792 2.5-1.373 3.411a8.53 8.53 0 0 0 3.91-3.127zM7.094 10H3.736l-.005.017A8.5 8.5 0 0 0 3.5 12a8.5 8.5 0 0 0 .544 3h3.173A20 20 0 0 1 7 12c0-.684.032-1.354.095-2.001m8.303 0H8.603a19 19 0 0 0 .135 5h6.524a19 19 0 0 0 .135-5m4.868 0h-3.358c.062.647.095 1.317.095 2a20 20 0 0 1-.218 3h3.173a8.5 8.5 0 0 0 .545-3c0-.689-.082-1.359-.237-2M8.88 4.088l-.023.008A8.53 8.53 0 0 0 4.25 8.5h3.048c.314-1.752.86-3.278 1.583-4.41m3.12-.591-.117.005C10.62 3.62 9.397 5.621 8.83 8.5h6.342c-.566-2.87-1.783-4.869-3.045-4.995zm3.12.59.106.175c.67 1.112 1.177 2.572 1.475 4.237h3.048a8.53 8.53 0 0 0-4.339-4.29z\"/></symbol>\n <symbol id=\"gpt\" viewBox=\"0 0 48 48\"><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"M18.38 27.94v-14.4l11.19-6.46c6.2-3.58 17.3 5.25 12.64 13.33\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"m18.38 20.94 12.47-7.2 11.19 6.46c6.2 3.58 4.1 17.61-5.23 17.61\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"m24.44 17.44 12.47 7.2v12.93c0 7.16-13.2 12.36-17.86 4.28\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"M30.5 21.2v14.14L19.31 41.8c-6.2 3.58-17.3-5.25-12.64-13.33\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"m30.5 27.94-12.47 7.2-11.19-6.46c-6.21-3.59-4.11-17.61 5.22-17.61\"/><path fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" d=\"m24.44 31.44-12.47-7.2V11.31c0-7.16 13.2-12.36 17.86-4.28\"/></symbol>\n <symbol id=\"history\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4.5a7.5 7.5 0 1 1-7.419 6.392c.067-.454-.265-.892-.724-.892a.75.75 0 0 0-.752.623A9 9 0 1 0 6 5.292V4.25a.75.75 0 0 0-1.5 0v3c0 .414.336.75.75.75h3a.75.75 0 0 0 0-1.5H6.9a7.47 7.47 0 0 1 5.1-2m.5 3.25a.75.75 0 0 0-1.5 0v4.5c0 .414.336.75.75.75h3a.75.75 0 0 0 0-1.5H12.5z\"/></symbol>\n <symbol id=\"home_checkmark\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.45 2.532a2.25 2.25 0 0 0-2.9 0L3.8 8.224a2.25 2.25 0 0 0-.8 1.72v9.31c0 .966.784 1.75 1.75 1.75h14.5a1.75 1.75 0 0 0 1.75-1.75v-9.31a2.25 2.25 0 0 0-.8-1.72zm-1.933 1.147a.75.75 0 0 1 .966 0l6.75 5.692a.75.75 0 0 1 .267.573v9.31a.25.25 0 0 1-.25.25H4.75a.25.25 0 0 1-.25-.25v-9.31a.75.75 0 0 1 .267-.573zm4.267 7.601a.75.75 0 1 0-1.061-1.06l-3.973 3.973-1.47-1.47a.75.75 0 1 0-1.06 1.06l2 2a.75.75 0 0 0 1.06 0z\"/></symbol>\n <symbol id=\"hourglass_quarter\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.884 17.15A3.24 3.24 0 0 1 7.92 16h8.16a3.24 3.24 0 0 1 1.42 2.65v.6a.25.25 0 0 1-.25.25H6.75a.25.25 0 0 1-.25-.25v-.6a3.24 3.24 0 0 1 .384-1.5M6.75 2A2.75 2.75 0 0 0 4 4.75v.42a5.75 5.75 0 0 0 2.792 4.93l1.81 1.086a.75.75 0 0 1 .036 1.263l-2.121 1.443A5.75 5.75 0 0 0 4 18.647v.603A2.75 2.75 0 0 0 6.75 22h10.5A2.75 2.75 0 0 0 20 19.25v-.604a5.75 5.75 0 0 0-2.517-4.754l-2.121-1.443a.75.75 0 0 1 .036-1.263l1.81-1.086A5.75 5.75 0 0 0 20 5.17v-.42A2.75 2.75 0 0 0 17.25 2zM5.5 4.75c0-.69.56-1.25 1.25-1.25h10.5c.69 0 1.25.56 1.25 1.25v.42a4.25 4.25 0 0 1-2.063 3.643L14.627 9.9c-1.41.845-1.467 2.866-.108 3.79l2.12 1.442a4.25 4.25 0 0 1 1.861 3.515v.603c0 .69-.56 1.25-1.25 1.25H6.75c-.69 0-1.25-.56-1.25-1.25v-.604a4.25 4.25 0 0 1 1.86-3.514l2.121-1.442c1.359-.924 1.302-2.945-.107-3.79l-1.81-1.087A4.25 4.25 0 0 1 5.5 5.17z\"/></symbol>\n <symbol id=\"id\" viewBox=\"0 0 32 32\"><g fill=\"currentColor\"><path d=\"M13.006 9.163c0-.76.616-1.375 1.375-1.375h3.305c4.551 0 8.278 3.637 8.278 8.17 0 4.531-3.727 8.169-8.278 8.169H14.38c-.76 0-1.375-.616-1.375-1.375zm2.75 12.089c0 .069.056.125.125.125h1.805c3.074 0 5.528-2.447 5.528-5.42s-2.454-5.42-5.528-5.42H15.88a.125.125 0 0 0-.125.126zM9.385 7.89a1.374 1.374 0 0 1 1.377 1.373l.014 13.385a1.375 1.375 0 0 1-2.75.003L8.012 9.266a1.375 1.375 0 0 1 1.373-1.377\"/><path d=\"M6 1a5 5 0 0 0-5 5v20a5 5 0 0 0 5 5h20a5 5 0 0 0 5-5V6a5 5 0 0 0-5-5zM3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3z\"/></g></symbol>\n <symbol id=\"image\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.75 3A3.25 3.25 0 0 1 21 6.25v11.5A3.25 3.25 0 0 1 17.75 21H6.25A3.25 3.25 0 0 1 3 17.75V6.25A3.25 3.25 0 0 1 6.25 3zm.58 16.401-5.805-5.686a.75.75 0 0 0-.966-.071l-.084.07-5.807 5.687q.274.097.582.099h11.5c.203 0 .399-.035.58-.099l-5.805-5.686zM17.75 4.5H6.25A1.75 1.75 0 0 0 4.5 6.25v11.5q.001.313.103.594l5.823-5.701a2.25 2.25 0 0 1 3.02-.116l.128.116 5.822 5.702q.102-.28.104-.595V6.25a1.75 1.75 0 0 0-1.75-1.75m-2.498 2a2.252 2.252 0 1 1 0 4.504 2.252 2.252 0 0 1 0-4.504m0 1.5a.752.752 0 1 0 0 1.504.752.752 0 0 0 0-1.504\"/></symbol>\n <symbol id=\"image_library\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.748 8.996a1.248 1.248 0 1 0 0-2.496 1.248 1.248 0 0 0 0 2.496M6.25 3A3.25 3.25 0 0 0 3 6.25v9a3.25 3.25 0 0 0 3.25 3.25h9a3.25 3.25 0 0 0 3.25-3.25v-9A3.25 3.25 0 0 0 15.25 3zM4.5 6.25c0-.966.784-1.75 1.75-1.75h9c.966 0 1.75.784 1.75 1.75v9c0 .231-.045.452-.126.654l-4.587-4.291a2.25 2.25 0 0 0-3.074 0l-4.587 4.29a1.8 1.8 0 0 1-.126-.653zm6.762 6.458 4.505 4.214q-.246.076-.517.078h-9q-.271 0-.517-.078l4.504-4.214a.75.75 0 0 1 1.025 0M8.75 21a3.25 3.25 0 0 1-2.74-1.5h9.74a3.75 3.75 0 0 0 3.75-3.75V6.011a3.25 3.25 0 0 1 1.5 2.74v7A5.25 5.25 0 0 1 15.75 21z\"/></symbol>\n <symbol id=\"image_search\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M21 6.25A3.25 3.25 0 0 0 17.75 3H6.25A3.25 3.25 0 0 0 3 6.25v4.507a5.5 5.5 0 0 1 1.5-.882V6.25c0-.966.784-1.75 1.75-1.75h11.5c.966 0 1.75.784 1.75 1.75v11.5q-.002.315-.104.595l-5.822-5.702-.128-.116a2.25 2.25 0 0 0-2.243-.38c.259.425.461.889.598 1.38a.75.75 0 0 1 .724.188L18.33 19.4a1.8 1.8 0 0 1-.581.099h-4.775l.512.513c.278.277.443.626.495.987h3.768A3.25 3.25 0 0 0 21 17.75zm-3.496 2.502a2.252 2.252 0 1 0-4.504 0 2.252 2.252 0 0 0 4.504 0m-3.004 0a.752.752 0 1 1 1.504 0 .752.752 0 0 1-1.504 0M9.95 17.89a4.5 4.5 0 1 0-1.145.976l2.915 2.915a.75.75 0 1 0 1.06-1.06zM6.5 18a3 3 0 1 1 0-6 3 3 0 0 1 0 6\"/></symbol>\n <symbol id=\"import\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M21.25 4.5a.75.75 0 0 1 .743.648L22 5.25v13.004a.75.75 0 0 1-1.493.102l-.007-.102V5.25a.75.75 0 0 1 .75-.75m-8.603 1.804.072-.084a.75.75 0 0 1 .977-.073l.084.073 4.997 4.997a.75.75 0 0 1 .073.976l-.073.085-4.997 5.003a.75.75 0 0 1-1.133-.976l.072-.084 3.711-3.717H2.75a.75.75 0 0 1-.743-.647L2 11.755a.75.75 0 0 1 .648-.743l.102-.007 13.693-.001-3.724-3.724a.75.75 0 0 1-.072-.976l.072-.084z\"/></symbol>\n <symbol id=\"info\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 1.998c5.524 0 10.002 4.478 10.002 10.002 0 5.523-4.478 10-10.002 10S2 17.523 2 12C1.999 6.476 6.476 1.998 12 1.998m0 1.5a8.502 8.502 0 1 0 0 17.003 8.502 8.502 0 0 0 0-17.003m-.004 7a.75.75 0 0 1 .744.648l.007.102.004 5.502a.75.75 0 0 1-1.494.102l-.006-.101-.004-5.502a.75.75 0 0 1 .75-.75m.005-3.497a.999.999 0 1 1 0 1.997.999.999 0 0 1 0-1.997\"/></symbol>\n <symbol id=\"iot\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19 4.492a2.5 2.5 0 0 1-3.012 2.448l-1.28 2.117A4 4 0 0 1 16 12.06l1.296.26a2.5 2.5 0 1 1-.279 1.475l-1.319-.266a4 4 0 0 1-1.744 1.964l.495 1.511h.051a2.5 2.5 0 1 1-1.472.479l-.497-1.516a4 4 0 0 1-3.752-1.593l-1.794.848q.015.138.015.28a2.5 2.5 0 1 1-.623-1.652l1.754-.829a4 4 0 0 1 .784-3.566l-.991-1.13a2.5 2.5 0 1 1 1.164-.948l.982 1.12A4 4 0 0 1 12 8.001c.505 0 .989.093 1.434.264l1.245-2.06A2.5 2.5 0 1 1 19 4.492m-1.5 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0M7 7.001a1 1 0 1 0 0-2 1 1 0 0 0 0 2m5 7.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5m-6.5 1a1 1 0 1 0-2 0 1 1 0 0 0 2 0m10 4.002a1 1 0 1 0-2 0 1 1 0 0 0 2 0m4-5.002a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"/></symbol>\n <symbol id=\"key\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.25 7a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0M15.5 2.05A6.554 6.554 0 0 0 8.95 8.6c0 .387.05.76.11 1.104a.28.28 0 0 1-.07.244l-6.235 6.236a2.75 2.75 0 0 0-.806 1.944V20.3c0 .966.784 1.75 1.75 1.75h2.5a1.75 1.75 0 0 0 1.75-1.75v-1.25H9.7c.69 0 1.25-.56 1.25-1.25v-1.75h1.75a1.25 1.25 0 0 0 1.25-1.204c.496.128 1.02.204 1.55.204a6.554 6.554 0 0 0 6.55-6.55c0-3.631-2.953-6.45-6.55-6.45M10.45 8.6a5.054 5.054 0 0 1 5.05-5.05c2.802 0 5.05 2.181 5.05 4.95a5.054 5.054 0 0 1-5.05 5.05c-.68 0-1.38-.171-2.005-.44a.75.75 0 0 0-1.046.69v.75H10.7c-.69 0-1.25.56-1.25 1.25v1.75H7.7c-.69 0-1.25.56-1.25 1.25v1.5a.25.25 0 0 1-.25.25H3.7a.25.25 0 0 1-.25-.25v-2.172c0-.331.132-.65.366-.884l6.236-6.235a1.77 1.77 0 0 0 .486-1.564 5 5 0 0 1-.088-.845\"/></symbol>\n <symbol id=\"key_multiple\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2q.465 0 .908.082a6.5 6.5 0 0 0-1.582 1.483A3.5 3.5 0 0 0 8.62 7.91a.75.75 0 0 1-.194.725L3.5 13.561V16.5h2v-1.75a.75.75 0 0 1 .75-.75H8.5v-1.25a.75.75 0 0 1 .22-.53l1.915-1.915q.336.7.823 1.298L10 13.06v1.689a.75.75 0 0 1-.75.75H7v1.75a.75.75 0 0 1-.75.75h-3.5a.75.75 0 0 1-.75-.75v-4a.75.75 0 0 1 .22-.53l4.855-4.855A5 5 0 0 1 12 2m4.5 1.5a4 4 0 0 0-1.894 7.524.75.75 0 0 1 .394.66v7.734l2.017 1.834 2.123-1.799-.921-.924a.75.75 0 0 1 0-1.058l.967-.971-.967-.97A.75.75 0 0 1 18 15v-3.316a.75.75 0 0 1 .394-.66A4 4 0 0 0 16.5 3.5m-5.5 4a5.5 5.5 0 1 1 8.5 4.61v2.58l1.276 1.28a.75.75 0 0 1 0 1.06l-.967.97.967.97a.75.75 0 0 1-.046 1.102l-3.245 2.75a.75.75 0 0 1-.99-.017l-2.75-2.5a.75.75 0 0 1-.245-.555v-7.64A5.5 5.5 0 0 1 11 7.5m6.5-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"/></symbol>\n <symbol id=\"label\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19.75 2A2.25 2.25 0 0 1 22 4.25v5.462a3.25 3.25 0 0 1-.952 2.298l-8.5 8.503a3.255 3.255 0 0 1-4.597.001L3.489 16.06a3.25 3.25 0 0 1-.004-4.596l8.5-8.51a3.25 3.25 0 0 1 2.3-.953zm0 1.5h-5.466c-.464 0-.91.185-1.238.513l-8.512 8.523a1.75 1.75 0 0 0 .015 2.462l4.461 4.454a1.755 1.755 0 0 0 2.477 0l8.5-8.503a1.75 1.75 0 0 0 .513-1.237V4.25a.75.75 0 0 0-.75-.75M17 5.502a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3\"/></symbol>\n <symbol id=\"labels\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.5 6.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0m-6.992-3.602A3.25 3.25 0 0 1 12.75 2h5.499A2.75 2.75 0 0 1 21 4.75v4.953a3.25 3.25 0 0 1-.97 2.316l-6.946 6.835a2.25 2.25 0 0 1-3.166-.01l-6.256-6.226a2.25 2.25 0 0 1 .034-3.223zm2.243.602c-.45 0-.883.173-1.208.484L4.73 10.48a.75.75 0 0 0-.011 1.075l6.257 6.226a.75.75 0 0 0 1.055.003l6.945-6.834a1.75 1.75 0 0 0 .523-1.247V4.75c0-.69-.56-1.25-1.25-1.25zm7.98 9.232-1.475 1.451q-.06.082-.134.155l-5.334 5.229a3.25 3.25 0 0 1-4.575-.013L7.282 17.63l-2.411-2.386a1 1 0 0 1-.107-.12l-1.63-1.621a2.75 2.75 0 0 0 .682 2.807l4.356 4.311a4.75 4.75 0 0 0 6.666.016l5.334-5.229a2.75 2.75 0 0 0 .69-2.813 4 4 0 0 1-.131.136\"/></symbol>\n <symbol id=\"layer_diagonal_sparkle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.088 7.412a2.84 2.84 0 0 0-1.347-.955l-1.378-.448a.544.544 0 0 1 0-1.025l1.378-.448A2.84 2.84 0 0 0 16.5 2.774l.011-.034.448-1.377a.544.544 0 0 1 1.027 0l.447 1.377a2.84 2.84 0 0 0 1.799 1.796l1.377.448.028.007a.544.544 0 0 1 0 1.025l-1.378.448a2.84 2.84 0 0 0-1.798 1.796l-.448 1.377-.013.034a.544.544 0 0 1-1.013-.034l-.448-1.377a2.8 2.8 0 0 0-.45-.848m7.695 3.801-.766-.248a1.58 1.58 0 0 1-.998-.999l-.25-.764a.302.302 0 0 0-.57 0l-.248.764a1.58 1.58 0 0 1-.984.999l-.765.248a.302.302 0 0 0 0 .57l.765.249a1.58 1.58 0 0 1 1 1.002l.248.764a.302.302 0 0 0 .57 0l.249-.764a1.58 1.58 0 0 1 .999-.999l.765-.248a.302.302 0 0 0 0-.57zm-12.8-9.077a2.25 2.25 0 0 1 2.95 1.572L13.05 4a1.6 1.6 0 0 0-.55.332v-.08a.75.75 0 0 0-1.005-.704l-6.84 2.475A1.75 1.75 0 0 0 3.5 7.667v6.082a.75.75 0 0 0 1.005.705L5 14.275v1.595a2.25 2.25 0 0 1-3-2.12V7.666A3.25 3.25 0 0 1 4.144 4.61zm-3.17 5.595 4.346-1.573A1.7 1.7 0 0 0 13 7l.652.214-5.327 1.928a1.25 1.25 0 0 0-.825 1.176v6.432a.75.75 0 0 0 1.005.705l.495-.18v1.596a2.25 2.25 0 0 1-3-2.122v-6.432A2.75 2.75 0 0 1 7.814 7.73m3.67 3.12L15.8 9.288l.201.71c.088.257.24.481.435.655l-4.44 1.607a.75.75 0 0 0-.495.705v6.783a.75.75 0 0 0 1.005.705l7.5-2.714a.75.75 0 0 0 .495-.705v-2.448c.214.276.512.463.96.463.211 0 .389-.042.54-.114v2.1a2.25 2.25 0 0 1-1.484 2.115l-7.5 2.714A2.25 2.25 0 0 1 10 19.749v-6.783a2.25 2.25 0 0 1 1.484-2.116\"/></symbol>\n <symbol id=\"lightbulb\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2.001a7.25 7.25 0 0 1 7.25 7.25c0 2.096-.9 4.02-2.663 5.742a.75.75 0 0 0-.175.265l-.032.103-1.13 4.895a2.25 2.25 0 0 1-2.02 1.737l-.173.007h-2.114a2.25 2.25 0 0 1-2.147-1.577l-.045-.167-1.13-4.895a.75.75 0 0 0-.206-.368c-1.68-1.64-2.577-3.463-2.659-5.444l-.006-.298.004-.24A7.25 7.25 0 0 1 12 2.002M14.115 18.5H9.884l.329 1.42a.75.75 0 0 0 .627.573l.103.008h2.114a.75.75 0 0 0 .7-.483l.03-.099zM12 3.501a5.75 5.75 0 0 0-5.746 5.53l-.004.22.007.277c.076 1.563.8 3.02 2.206 4.392.264.258.46.576.571.926l.049.178.455 1.975h4.923l.458-1.976a2.25 2.25 0 0 1 .493-.97l.127-.133c1.404-1.373 2.128-2.828 2.204-4.392l.007-.277-.004-.22A5.75 5.75 0 0 0 12 3.5\"/></symbol>\n <symbol id=\"line_horizontal\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2 11.75a.75.75 0 0 1 .75-.75h18.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75\"/></symbol>\n <symbol id=\"link\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9.25 7a.75.75 0 0 1 .11 1.492l-.11.008H7a3.5 3.5 0 0 0-.206 6.994L7 15.5h2.25a.75.75 0 0 1 .11 1.492L9.25 17H7a5 5 0 0 1-.25-9.994L7 7zM17 7a5 5 0 0 1 .25 9.994L17 17h-2.25a.75.75 0 0 1-.11-1.492l.11-.008H17a3.5 3.5 0 0 0 .206-6.994L17 8.5h-2.25a.75.75 0 0 1-.11-1.492L14.75 7zM7 11.25h10a.75.75 0 0 1 .102 1.493L17 12.75H7a.75.75 0 0 1-.102-1.493zh10z\"/></symbol>\n <symbol id=\"link_dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9.25 5a.75.75 0 0 1 .11 1.492l-.11.008H7a3.5 3.5 0 0 0-.206 6.994L7 13.5h2.25a.75.75 0 0 1 .11 1.492L9.25 15H7a5 5 0 0 1-.25-9.994L7 5zM17 5a5 5 0 0 1 4.43 7.322 6.5 6.5 0 0 0-1.294-.765 3.5 3.5 0 0 0-2.93-5.05L17 6.499h-2.25a.75.75 0 0 1-.11-1.492L14.75 5zM7 9.25h10a.75.75 0 0 1 .102 1.493L17 10.75H7a.75.75 0 0 1-.102-1.493zm16 8.25a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-7.146-2.354a.5.5 0 0 0-.708.708l1.647 1.646-1.647 1.646a.5.5 0 0 0 .708.708l1.646-1.647 1.646 1.647a.5.5 0 0 0 .708-.708L18.207 17.5l1.647-1.646a.5.5 0 0 0-.708-.708L17.5 16.793z\"/></symbol>\n <symbol id=\"link_square\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.25 3A3.25 3.25 0 0 0 3 6.25v6a3.25 3.25 0 0 0 3.25 3.25H7.5V14H6.25a1.75 1.75 0 0 1-1.75-1.75v-6c0-.966.784-1.75 1.75-1.75h6c.966 0 1.75.784 1.75 1.75v6A1.75 1.75 0 0 1 12.25 14H11v1.5h1.25a3.25 3.25 0 0 0 3.25-3.25v-6A3.25 3.25 0 0 0 12.25 3zM10 11.75c0-.966.784-1.75 1.75-1.75h1.248V8.5H11.75a3.25 3.25 0 0 0-3.25 3.25v6A3.25 3.25 0 0 0 11.75 21h6A3.25 3.25 0 0 0 21 17.75v-6a3.25 3.25 0 0 0-3.25-3.25H16.5V10h1.25c.966 0 1.75.784 1.75 1.75v6a1.75 1.75 0 0 1-1.75 1.75h-6A1.75 1.75 0 0 1 10 17.75z\"/></symbol>\n <symbol id=\"list_square\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.75 9.25a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3.5-1.75a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm0 3.75a.75.75 0 1 0 0 1.5h5.5a.75.75 0 1 0 0-1.5zm-.75 4.5a.75.75 0 0 1 .75-.75h5.5a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75M8.75 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-1 4.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5A3.25 3.25 0 0 0 6.25 21h11.5A3.25 3.25 0 0 0 21 17.75V6.25A3.25 3.25 0 0 0 17.75 3zM4.5 6.25c0-.966.784-1.75 1.75-1.75h11.5c.966 0 1.75.784 1.75 1.75v11.5a1.75 1.75 0 0 1-1.75 1.75H6.25a1.75 1.75 0 0 1-1.75-1.75z\"/></symbol>\n <symbol id=\"location_on\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.843 4.568a8.707 8.707 0 0 1 12.314 12.314l-1.187 1.174q-1.312 1.287-3.406 3.312a2.25 2.25 0 0 1-3.128 0l-3.491-3.396q-.659-.646-1.102-1.09a8.707 8.707 0 0 1 0-12.314m11.253 1.06A7.207 7.207 0 1 0 6.903 15.822l1.488 1.468q1.228 1.201 3.088 3a.75.75 0 0 0 1.042 0l3.395-3.3q.705-.691 1.18-1.168a7.207 7.207 0 0 0 0-10.192M12 7.999a3.002 3.002 0 1 1 0 6.004A3.002 3.002 0 0 1 12 8m0 1.5a1.502 1.502 0 1 0 0 3.004 1.502 1.502 0 0 0 0-3.003\"/></symbol>\n <symbol id=\"location_searching\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2a.75.75 0 0 1 .743.648l.007.102v1.788a7.5 7.5 0 0 1 6.713 6.714l.037-.002h1.75a.75.75 0 0 1 .102 1.493l-.102.007-1.788-.001a7.5 7.5 0 0 1-6.714 6.714l.002.037v1.75a.75.75 0 0 1-1.493.102l-.007-.102.001-1.788a7.5 7.5 0 0 1-6.714-6.714l-.037.002H2.75a.75.75 0 0 1-.102-1.493l.102-.007h1.788a7.5 7.5 0 0 1 6.714-6.713L11.25 4.5V2.75A.75.75 0 0 1 12 2m0 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8\"/></symbol>\n <symbol id=\"lock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 15.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3M8 6a4 4 0 1 1 8 0v1h.75A3.25 3.25 0 0 1 20 10.25v7.5A3.25 3.25 0 0 1 16.75 21h-9.5A3.25 3.25 0 0 1 4 17.75v-7.5A3.25 3.25 0 0 1 7.25 7H8zm4-2.5A2.5 2.5 0 0 0 9.5 6v1h5V6A2.5 2.5 0 0 0 12 3.5m-4.75 5a1.75 1.75 0 0 0-1.75 1.75v7.5c0 .966.784 1.75 1.75 1.75h9.5a1.75 1.75 0 0 0 1.75-1.75v-7.5a1.75 1.75 0 0 0-1.75-1.75z\"/></symbol>\n <symbol id=\"lock_open\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16 5a2.5 2.5 0 0 1 5 0v.25a.75.75 0 0 0 1.5 0V5a4 4 0 0 0-8 0v2H7.25A3.25 3.25 0 0 0 4 10.25v7.5A3.25 3.25 0 0 0 7.25 21h9.5A3.25 3.25 0 0 0 20 17.75v-7.5A3.25 3.25 0 0 0 16.75 7H16zM7.25 8.5h9.5c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 0 1-1.75 1.75h-9.5a1.75 1.75 0 0 1-1.75-1.75v-7.5c0-.966.784-1.75 1.75-1.75m4.75 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3\"/></symbol>\n <symbol id=\"login\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M26 30H14a2 2 0 0 1-2-2v-3h2v3h12V4H14v3h-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v24a2 2 0 0 1-2 2\"/><path fill=\"currentColor\" d=\"M14.59 20.59 18.17 17H4v-2h14.17l-3.58-3.59L16 10l6 6-6 6z\"/></symbol>\n <symbol id=\"logout\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.502 11.5a1.002 1.002 0 1 1 0 2.004 1.002 1.002 0 0 1 0-2.005M12 4.353v6.65h7.442L17.72 9.28a.75.75 0 0 1-.073-.977l.073-.084a.75.75 0 0 1 .976-.072l.084.072 2.997 2.998a.75.75 0 0 1 .073.976l-.073.084-2.996 3.003a.75.75 0 0 1-1.134-.975l.072-.084 1.713-1.717h-7.431L12 19.25a.75.75 0 0 1-.88.738l-8.5-1.501a.75.75 0 0 1-.62-.739V5.75a.75.75 0 0 1 .628-.74l8.5-1.396a.75.75 0 0 1 .872.74m-1.5.883-7 1.15v10.732l7 1.236zM13 18.5h.765l.102-.007a.75.75 0 0 0 .648-.744l-.007-4.25H13zm.002-8.5L13 8.725V5h.745a.75.75 0 0 1 .743.647l.007.101.007 4.252z\"/></symbol>\n <symbol id=\"mail\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.25 4h13.5a3.25 3.25 0 0 1 3.245 3.066L22 7.25v9.5a3.25 3.25 0 0 1-3.066 3.245L18.75 20H5.25a3.25 3.25 0 0 1-3.245-3.066L2 16.75v-9.5a3.25 3.25 0 0 1 3.066-3.245zh13.5zM20.5 9.373l-8.15 4.29a.75.75 0 0 1-.603.043l-.096-.042L3.5 9.374v7.376a1.75 1.75 0 0 0 1.606 1.744l.144.006h13.5a1.75 1.75 0 0 0 1.744-1.607l.006-.143zM18.75 5.5H5.25a1.75 1.75 0 0 0-1.744 1.606L3.5 7.25v.429l8.5 4.474 8.5-4.475V7.25a1.75 1.75 0 0 0-1.607-1.744z\"/></symbol>\n <symbol id=\"map\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m9.203 4 .047-.002.046.001.068.007.016.004q.129.02.25.092l.053.034 5.07 3.565L19.82 4.14a.75.75 0 0 1 1.174.51l.007.104v10.632a.75.75 0 0 1-.238.548l-.08.066-5.5 3.866a.74.74 0 0 1-.828.023L9.25 16.297l-5.07 3.565a.75.75 0 0 1-1.174-.51l-.007-.104V8.616a.75.75 0 0 1 .238-.548l.08-.066 5.5-3.866a.8.8 0 0 1 .2-.101l.123-.028zm10.298 2.197-4 2.812v8.799l4-2.812zM8.5 6.193l-4 2.812v8.8l4-2.813zm1.502 0v8.8l4 2.811V9.005z\"/></symbol>\n <symbol id=\"mic\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.25 11a.75.75 0 0 1 .743.648l.007.102v.5a6.75 6.75 0 0 1-6.249 6.732l-.001 2.268a.75.75 0 0 1-1.493.102l-.007-.102v-2.268a6.75 6.75 0 0 1-6.246-6.496L5 12.25v-.5a.75.75 0 0 1 1.493-.102l.007.102v.5a5.25 5.25 0 0 0 5.034 5.246l.216.004h.5a5.25 5.25 0 0 0 5.246-5.034l.004-.216v-.5a.75.75 0 0 1 .75-.75M12 2a4 4 0 0 1 4 4v6a4 4 0 0 1-8 0V6a4 4 0 0 1 4-4m0 1.5A2.5 2.5 0 0 0 9.5 6v6a2.5 2.5 0 0 0 5 0V6A2.5 2.5 0 0 0 12 3.5\"/></symbol>\n <symbol id=\"mic_record\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11 17.5c0 1.096.271 2.129.75 3.035v.715a.75.75 0 0 1-1.493.102l-.007-.102v-2.268a6.75 6.75 0 0 1-6.246-6.496L4 12.25v-.5a.75.75 0 0 1 1.493-.102l.007.102v.5a5.25 5.25 0 0 0 5.034 5.246l.216.004zm.175-1.504A6.51 6.51 0 0 1 15 11.498V6a4 4 0 0 0-8 0v6a4 4 0 0 0 4.175 3.996M20 17.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0m3 0a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-9.5 0a4 4 0 1 0 8 0 4 4 0 0 0-8 0\"/></symbol>\n <symbol id=\"microchip_ai\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M8.75 4a.75.75 0 0 0-1.5 0v1.25H7A1.75 1.75 0 0 0 5.25 7v.25H4a.75.75 0 0 0 0 1.5h1.25v2.5H4a.75.75 0 0 0 0 1.5h1.25v2.5H4a.75.75 0 0 0 0 1.5h1.25V17c0 .966.784 1.75 1.75 1.75h.25V20a.75.75 0 0 0 1.5 0v-1.25h2.5V20a.75.75 0 0 0 1.5 0v-1.25h2.5V20a.75.75 0 0 0 1.5 0v-1.25H17A1.75 1.75 0 0 0 18.75 17v-.25H20a.75.75 0 0 0 0-1.5h-1.25v-2.5H20a.75.75 0 0 0 0-1.5h-1.25v-2.5H20a.75.75 0 0 0 0-1.5h-1.25V7A1.75 1.75 0 0 0 17 5.25h-.25V4a.75.75 0 0 0-1.5 0v1.25h-2.5V4a.75.75 0 0 0-1.5 0v1.25h-2.5zm-2 3A.25.25 0 0 1 7 6.75h10a.25.25 0 0 1 .25.25v10a.25.25 0 0 1-.25.25H7a.25.25 0 0 1-.25-.25zm5.049 7.753-.275-.772H9.497l-.275.772a.75.75 0 0 1-1.413-.504l1.7-4.77.003-.009.004-.01c.152-.392.516-.711.994-.711.479 0 .842.319.995.712l.003.009.004.01 1.7 4.77a.75.75 0 0 1-1.413.503m-1.289-3.615.479 1.343h-.958zm3.74-1.64a.75.75 0 0 1 1.5 0v5.003a.75.75 0 1 1-1.5 0z\" clip-rule=\"evenodd\"/></symbol>\n <symbol id=\"microsoft\" viewBox=\"0 0 21 21\"><path fill=\"#f25022\" d=\"M1 1h9v9H1z\"/><path fill=\"#00a4ef\" d=\"M1 11h9v9H1z\"/><path fill=\"#7fba00\" d=\"M11 1h9v9h-9z\"/><path fill=\"#ffb900\" d=\"M11 11h9v9h-9z\"/></symbol>\n <symbol id=\"moon\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M20.026 17.001c-2.762 4.784-8.879 6.423-13.663 3.661A10 10 0 0 1 3.13 17.68a.75.75 0 0 1 .365-1.132c3.767-1.348 5.785-2.91 6.956-5.146 1.233-2.353 1.551-4.93.689-8.463a.75.75 0 0 1 .769-.927 9.96 9.96 0 0 1 4.457 1.327c4.784 2.762 6.423 8.879 3.66 13.662m-8.247-4.903c-1.252 2.389-3.312 4.1-6.818 5.499a8.5 8.5 0 0 0 2.152 1.766 8.502 8.502 0 0 0 8.502-14.725 8.5 8.5 0 0 0-2.792-1.015c.647 3.384.23 6.043-1.045 8.475\"/></symbol>\n <symbol id=\"more_horizontal\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.75 12a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0m6 0a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0M18 13.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5\"/></symbol>\n <symbol id=\"more_vertical\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 7.75a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5m0 6a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5M10.25 18a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0\"/></symbol>\n <symbol id=\"navigation\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19.958 2.104c1.213-.467 2.405.725 1.938 1.938L15.36 21.038c-.522 1.36-2.48 1.252-2.85-.156l-1.845-7.011a.75.75 0 0 0-.535-.535l-7.01-1.845c-1.409-.37-1.516-2.328-.157-2.85zm.538 1.4L3.5 10.04l7.011 1.845a2.25 2.25 0 0 1 1.603 1.603l1.845 7.01z\"/></symbol>\n <symbol id=\"notification\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 1.996a7.49 7.49 0 0 1 7.496 7.25l.004.25v4.097l1.38 3.156a1.25 1.25 0 0 1-1.145 1.75L15 18.502a3 3 0 0 1-5.995.177L9 18.499H4.275a1.25 1.25 0 0 1-1.147-1.747L4.5 13.594V9.496c0-4.155 3.352-7.5 7.5-7.5M13.5 18.5l-3 .002a1.5 1.5 0 0 0 2.993.145zM12 3.496c-3.32 0-6 2.674-6 6v4.41L4.656 17h14.697L18 13.907V9.509l-.003-.225A5.99 5.99 0 0 0 12 3.496\"/></symbol>\n <symbol id=\"notification_off\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m5.22 6.28-3-3a.75.75 0 0 1 1.06-1.06l18.5 18.5a.75.75 0 1 1-1.06 1.06l-3.28-3.28-2.44.001a3 3 0 0 1-5.995.177L9 18.499H4.275a1.25 1.25 0 0 1-1.147-1.747L4.5 13.594V9.496c0-1.152.258-2.242.72-3.216M15.94 17 6.364 7.425A6 6 0 0 0 6 9.496v4.41L4.656 17zm-2.44 1.5-3 .001a1.5 1.5 0 0 0 2.993.145zm4.5-4.593.708 1.62 2.188 2.187a1.25 1.25 0 0 0-.016-.965l-1.38-3.156V9.496l-.004-.25A7.49 7.49 0 0 0 12 1.995 7.48 7.48 0 0 0 7.043 3.86l1.064 1.064A5.98 5.98 0 0 1 12 3.496a5.99 5.99 0 0 1 5.997 5.788l.003.225z\"/></symbol>\n <symbol id=\"offer-request\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.75 11.5a.75.75 0 0 0-.72.54c.423.275.813.598 1.16.96h5.06a.75.75 0 0 0 0-1.5zM5.5 4v7.076a6.5 6.5 0 0 0-1.5.422V4a2 2 0 0 1 2-2h6.172q.042.001.082.007.03.005.059.007c.215.015.427.056.624.138.057.024.112.056.166.087l.05.029.047.024a1 1 0 0 1 .081.044c.078.053.148.116.219.18l.036.03.049.04 5.829 5.828A2 2 0 0 1 20 9.828V20a2 2 0 0 1-2 2h-6.81a6.5 6.5 0 0 0 1.078-1.5H18a.5.5 0 0 0 .5-.5V10H14a2 2 0 0 1-2-2V3.5H6a.5.5 0 0 0-.5.5m10.75 15h-3.424A6.5 6.5 0 0 0 13 17.5h3.25a.75.75 0 0 1 0 1.5m0-3h-3.424a6.5 6.5 0 0 0-.558-1.5h3.982a.75.75 0 0 1 0 1.5M13.5 4.621V8a.5.5 0 0 0 .5.5h3.378zM6.5 23a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11m3-5a.5.5 0 0 0 0-1H4.707l1.647-1.646a.5.5 0 0 0-.708-.708l-2.5 2.5a.5.5 0 0 0 0 .708l2.5 2.5a.5.5 0 0 0 .708-.708L4.707 18z\"/></symbol>\n <symbol id=\"parent_child\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M28 12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h11v4H9a2 2 0 0 0-2 2v4H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2H9v-4h14v4h-3a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-3v-4a2 2 0 0 0-2-2h-6v-4ZM12 28H4v-4h8Zm16 0h-8v-4h8ZM4 4h24v6H4Z\"/></symbol>\n <symbol id=\"people_community\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.5 3.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M4.5 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m-.732 4C2.79 9 2 9.791 2 10.768v.36c0 .207 0 1.408.7 2.575.548.91 1.477 1.727 2.975 2.093a2.78 2.78 0 0 1 1.062-1.335c-1.603-.171-2.361-.883-2.75-1.53-.484-.806-.487-1.664-.487-1.806v-.357c0-.148.12-.268.268-.268H8.03A4 4 0 0 1 8.535 9zm11.697 0c.261.452.437.959.504 1.5h4.263c.148 0 .268.12.268.268v.357c0 .142-.003 1-.487 1.805-.389.648-1.147 1.36-2.75 1.531.48.32.856.786 1.062 1.335 1.498-.366 2.427-1.183 2.974-2.093.701-1.167.701-2.367.701-2.576v-.36C22 9.792 21.209 9 20.232 9zM15 5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0m1.5-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6M12 9.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M9 11a3 3 0 1 1 6 0 3 3 0 0 1-6 0m-2.5 5.768C6.5 15.79 7.291 15 8.268 15h7.464c.977 0 1.768.791 1.768 1.768v.36c0 .207 0 1.408-.7 2.575C16.057 20.937 14.613 22 12 22s-4.058-1.063-4.8-2.297c-.7-1.167-.7-2.367-.7-2.576zm1.768-.268a.27.27 0 0 0-.268.268v.357c0 .142.003 1 .487 1.805.446.743 1.377 1.57 3.513 1.57s3.067-.827 3.513-1.57c.484-.805.487-1.663.487-1.805v-.357a.27.27 0 0 0-.268-.268z\"/></symbol>\n <symbol id=\"person_swap\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.75 13.997c.981 0 1.815.628 2.123 1.503h-2.056l-.066-.003H4.249a.75.75 0 0 0-.749.75v.577c0 .535.191 1.054.539 1.46 1.253 1.469 3.22 2.214 5.957 2.214h.168c.086.183.203.352.35.498l.934.933a15 15 0 0 1-1.452.07c-3.145 0-5.531-.906-7.098-2.74A3.75 3.75 0 0 1 2 16.824v-.578a2.25 2.25 0 0 1 2.249-2.249zM9.997 2.002a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 1.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7m4.784 14.282a.75.75 0 0 0-1.06-1.06l-2.5 2.5a.75.75 0 0 0 0 1.06l2.5 2.5a.75.75 0 0 0 1.06-1.061l-1.22-1.22h6.88l-1.22 1.22a.75.75 0 0 0 1.06 1.06l2.5-2.498a.75.75 0 0 0 0-1.06l-2.5-2.502a.75.75 0 1 0-1.06 1.06l1.218 1.22h-6.877z\"/></symbol>\n <symbol id=\"phone\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M15.75 2A2.25 2.25 0 0 1 18 4.25v15.5A2.25 2.25 0 0 1 15.75 22h-7.5A2.25 2.25 0 0 1 6 19.75V4.25A2.25 2.25 0 0 1 8.25 2zm0 1.5h-7.5a.75.75 0 0 0-.75.75v15.5c0 .414.336.75.75.75h7.5a.75.75 0 0 0 .75-.75V4.25a.75.75 0 0 0-.75-.75m-2.501 14a.75.75 0 0 1 .002 1.5l-2.5.004a.75.75 0 0 1-.002-1.5z\"/></symbol>\n <symbol id=\"question\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 4a5 5 0 0 0-5 5 1 1 0 0 0 2 0c0-1.658 1.342-3 3-3s3 1.342 3 3c0 .816-.199 1.294-.438 1.629-.262.365-.625.638-1.128.985l-.116.078c-.447.306-1.023.699-1.469 1.247-.527.648-.849 1.467-.849 2.561v.5a1 1 0 1 0 2 0v-.5c0-.656.178-1.024.4-1.299.257-.314.603-.552 1.114-.903l.053-.037c.496-.34 1.133-.786 1.62-1.468C16.7 11.081 17 10.183 17 9a5 5 0 0 0-5-5m0 17.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5\"/></symbol>\n <symbol id=\"question_circle\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2c5.523 0 10 4.478 10 10s-4.477 10-10 10S2 17.522 2 12 6.477 2 12 2m0 1.667c-4.595 0-8.333 3.738-8.333 8.333S7.405 20.333 12 20.333s8.333-3.738 8.333-8.333S16.595 3.667 12 3.667M12 15.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2m0-8.75a2.75 2.75 0 0 1 2.75 2.75c0 1.01-.297 1.574-1.051 2.359l-.169.171c-.622.622-.78.886-.78 1.47a.75.75 0 0 1-1.5 0c0-1.01.297-1.574 1.051-2.359l.169-.171c.622-.622.78-.886.78-1.47a1.25 1.25 0 0 0-2.493-.128l-.007.128a.75.75 0 0 1-1.5 0A2.75 2.75 0 0 1 12 6.75\"/></symbol>\n <symbol id=\"radio_button\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 22.002c5.524 0 10.002-4.478 10.002-10.001 0-5.524-4.478-10.002-10.002-10.002S1.998 6.477 1.998 12.001c0 5.523 4.478 10.001 10.002 10.001m0-1.5A8.502 8.502 0 1 1 12 3.5a8.502 8.502 0 0 1 0 17.003\"/></symbol>\n <symbol id=\"radio_button_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 1.999c5.524 0 10.002 4.478 10.002 10.002 0 5.523-4.478 10.001-10.002 10.001S1.998 17.524 1.998 12.001C1.998 6.477 6.476 1.999 12 1.999m0 1.5a8.502 8.502 0 1 0 0 17.003A8.502 8.502 0 0 0 12 3.5M11.996 6a5.998 5.998 0 1 1 0 11.996 5.998 5.998 0 0 1 0-11.996\"/></symbol>\n <symbol id=\"record_stop\" viewBox=\"0 0 20 20\"><path fill=\"currentColor\" d=\"M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14m-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0m5-2a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z\"/></symbol>\n <symbol id=\"rocket\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.057 7.43a2.5 2.5 0 1 1 3.536 3.536 2.5 2.5 0 0 1-3.536-3.535m2.475 1.061a1 1 0 1 0-1.414 1.415 1 1 0 0 0 1.414-1.415m5.977-4.169a2.75 2.75 0 0 0-1.811-1.81l-.663-.206a6.75 6.75 0 0 0-6.773 1.674l-.996.996a3.5 3.5 0 0 0-4.57.327L5.455 6.545a.75.75 0 0 0 0 1.06l1.591 1.592-.18.18a1.75 1.75 0 0 0 0 2.474l.496.496-1.396.796a.75.75 0 0 0-.158 1.181l3.889 3.89a.75.75 0 0 0 1.181-.158l.798-1.395.497.497a1.75 1.75 0 0 0 2.475 0l.177-.177 1.59 1.59a.75.75 0 0 0 1.06 0l1.242-1.243a3.5 3.5 0 0 0 .328-4.567l.998-.998a6.75 6.75 0 0 0 1.673-6.777zm-2.256-.378c.393.122.701.43.823.823l.207.665a5.25 5.25 0 0 1-1.302 5.27l-5.395 5.395a.25.25 0 0 1-.353 0l-5.307-5.306a.25.25 0 0 1 0-.354l5.397-5.396a5.25 5.25 0 0 1 5.268-1.302zm-1.289 9.897c.453.766.35 1.769-.308 2.427l-.712.712-1.06-1.06zM7.758 6.363a2 2 0 0 1 2.428-.307l-2.08 2.08-1.06-1.06zm2.818 9.199-.514.897-2.5-2.5.898-.513zM6.69 18.394a.75.75 0 0 0-1.06-1.06l-2.476 2.474a.75.75 0 0 0 1.061 1.061zM4.745 15.39a.75.75 0 0 1 0 1.06l-1.06 1.061a.75.75 0 0 1-1.061-1.06l1.06-1.061a.75.75 0 0 1 1.061 0m3.887 4.952a.75.75 0 1 0-1.06-1.06L6.513 20.34a.75.75 0 0 0 1.06 1.06z\"/></symbol>\n <symbol id=\"save\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3 5.75A2.75 2.75 0 0 1 5.75 3h9.965a3.25 3.25 0 0 1 2.298.952l2.035 2.035c.61.61.952 1.437.952 2.299v9.964A2.75 2.75 0 0 1 18.25 21H5.75A2.75 2.75 0 0 1 3 18.25zM5.75 4.5c-.69 0-1.25.56-1.25 1.25v12.5c0 .69.56 1.25 1.25 1.25H6v-5.25A2.25 2.25 0 0 1 8.25 12h7.5A2.25 2.25 0 0 1 18 14.25v5.25h.25c.69 0 1.25-.56 1.25-1.25V8.286c0-.465-.184-.91-.513-1.238l-2.035-2.035a1.75 1.75 0 0 0-.952-.49V7.25a2.25 2.25 0 0 1-2.25 2.25h-4.5A2.25 2.25 0 0 1 7 7.25V4.5zm10.75 15v-5.25a.75.75 0 0 0-.75-.75h-7.5a.75.75 0 0 0-.75.75v5.25zm-8-15v2.75c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75V4.5z\"/></symbol>\n <symbol id=\"save_all\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.75 18A2.75 2.75 0 0 1 3 15.25v-9.5A2.75 2.75 0 0 1 5.75 3h6.964a3.25 3.25 0 0 1 2.299.952l2.035 2.035c.61.61.952 1.437.952 2.299v6.964A2.75 2.75 0 0 1 15.25 18zM4.5 5.75v9.5c0 .69.56 1.25 1.25 1.25H6v-3.25A2.25 2.25 0 0 1 8.25 11h4.5A2.25 2.25 0 0 1 15 13.25v3.25h.25c.69 0 1.25-.56 1.25-1.25V8.286c0-.465-.184-.91-.513-1.238L14 5.061V6.25a2.25 2.25 0 0 1-2.25 2.25h-2.5A2.25 2.25 0 0 1 7 6.25V4.5H5.75c-.69 0-1.25.56-1.25 1.25m9 10.75v-3.25a.75.75 0 0 0-.75-.75h-4.5a.75.75 0 0 0-.75.75v3.25zm-5-10.25c0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75V4.5h-4zM10.75 21a4.74 4.74 0 0 1-3.464-1.5h8.964a3.25 3.25 0 0 0 3.25-3.25V8.44l.548.548c.61.609.952 1.436.952 2.298v4.964A4.75 4.75 0 0 1 16.25 21z\"/></symbol>\n <symbol id=\"scan_text\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.25 3.5A1.75 1.75 0 0 0 3.5 5.25v3a.75.75 0 0 1-1.5 0v-3A3.25 3.25 0 0 1 5.25 2h3a.75.75 0 0 1 0 1.5zm0 17a1.75 1.75 0 0 1-1.75-1.75v-3a.75.75 0 0 0-1.5 0v3A3.25 3.25 0 0 0 5.25 22h3a.75.75 0 0 0 0-1.5zM20.5 5.25a1.75 1.75 0 0 0-1.75-1.75h-3a.75.75 0 0 1 0-1.5h3A3.25 3.25 0 0 1 22 5.25v3a.75.75 0 0 1-1.5 0zM18.75 20.5a1.75 1.75 0 0 0 1.75-1.75v-3a.75.75 0 0 1 1.5 0v3A3.25 3.25 0 0 1 18.75 22h-3a.75.75 0 0 1 0-1.5zM7.75 7a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5zM7 11.75a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75M7.75 15a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5z\"/></symbol>\n <symbol id=\"screen\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.75 4A2.75 2.75 0 0 0 2 6.75v8.5A2.75 2.75 0 0 0 4.75 18h14.5A2.75 2.75 0 0 0 22 15.25v-8.5A2.75 2.75 0 0 0 19.25 4zM3.5 6.75c0-.69.56-1.25 1.25-1.25h14.5c.69 0 1.25.56 1.25 1.25v8.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25zM5.75 19.5a.75.75 0 0 0 0 1.5h12.5a.75.75 0 0 0 0-1.5z\"/></symbol>\n <symbol id=\"search\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.5 10a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0M10 3a7 7 0 1 0 4.391 12.452l5.329 5.328a.75.75 0 1 0 1.06-1.06l-5.328-5.329A7 7 0 0 0 10 3\"/></symbol>\n <symbol id=\"send\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5.694 12 2.299 3.272a.75.75 0 0 1 .942-.982l.093.039 18 9a.75.75 0 0 1 .097 1.284l-.097.058-18 9c-.583.291-1.217-.245-1.065-.848l.03-.095zL2.299 3.272zM4.402 4.54l2.61 6.71h6.627a.75.75 0 0 1 .743.648l.007.102a.75.75 0 0 1-.649.743l-.101.007H7.01l-2.609 6.71L19.322 12z\"/></symbol>\n <symbol id=\"settings\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.012 2.25c.734.008 1.465.093 2.182.253a.75.75 0 0 1 .582.649l.17 1.527a1.384 1.384 0 0 0 1.927 1.116l1.4-.615a.75.75 0 0 1 .85.174 9.8 9.8 0 0 1 2.205 3.792.75.75 0 0 1-.272.825l-1.241.916a1.38 1.38 0 0 0 0 2.226l1.243.915a.75.75 0 0 1 .272.826 9.8 9.8 0 0 1-2.204 3.792.75.75 0 0 1-.849.175l-1.406-.617a1.38 1.38 0 0 0-1.926 1.114l-.17 1.526a.75.75 0 0 1-.571.647 9.5 9.5 0 0 1-4.406 0 .75.75 0 0 1-.572-.647l-.169-1.524a1.382 1.382 0 0 0-1.925-1.11l-1.406.616a.75.75 0 0 1-.85-.175 9.8 9.8 0 0 1-2.203-3.796.75.75 0 0 1 .272-.826l1.243-.916a1.38 1.38 0 0 0 0-2.226l-1.243-.914a.75.75 0 0 1-.272-.826 9.8 9.8 0 0 1 2.205-3.792.75.75 0 0 1 .85-.174l1.4.615a1.387 1.387 0 0 0 1.93-1.118l.17-1.526a.75.75 0 0 1 .583-.65q1.074-.238 2.201-.252m0 1.5a9 9 0 0 0-1.354.117l-.11.977A2.886 2.886 0 0 1 6.526 7.17l-.899-.394A8.3 8.3 0 0 0 4.28 9.092l.797.587a2.88 2.88 0 0 1 .001 4.643l-.799.588c.32.842.776 1.626 1.348 2.322l.905-.397a2.882 2.882 0 0 1 4.017 2.318l.109.984c.89.15 1.799.15 2.688 0l.11-.984a2.88 2.88 0 0 1 4.018-2.322l.904.396a8.3 8.3 0 0 0 1.348-2.318l-.798-.588a2.88 2.88 0 0 1-.001-4.643l.797-.587a8.3 8.3 0 0 0-1.348-2.317l-.897.393a2.884 2.884 0 0 1-4.023-2.324l-.109-.976a9 9 0 0 0-1.334-.117M12 8.25a3.75 3.75 0 1 1 0 7.5 3.75 3.75 0 0 1 0-7.5m0 1.5a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5\"/></symbol>\n <symbol id=\"shield\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3 5.75A.75.75 0 0 1 3.75 5c2.663 0 5.258-.943 7.8-2.85a.75.75 0 0 1 .9 0C14.992 4.057 17.587 5 20.25 5a.75.75 0 0 1 .75.75V11c0 5.001-2.958 8.676-8.725 10.948a.75.75 0 0 1-.55 0C5.958 19.676 3 16 3 11zm1.5.728V11c0 4.256 2.453 7.379 7.5 9.442 5.047-2.063 7.5-5.186 7.5-9.442V6.478c-2.577-.152-5.08-1.09-7.5-2.8-2.42 1.71-4.923 2.648-7.5 2.8\"/></symbol>\n <symbol id=\"shield_dismiss\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.45 2.15C14.992 4.057 17.587 5 20.25 5a.75.75 0 0 1 .75.75V11c0 5.001-2.958 8.676-8.725 10.948a.75.75 0 0 1-.55 0C5.958 19.676 3 16 3 11V5.75A.75.75 0 0 1 3.75 5c2.663 0 5.258-.943 7.8-2.85a.75.75 0 0 1 .9 0M12 3.678c-2.42 1.71-4.923 2.648-7.5 2.8V11c0 4.256 2.453 7.379 7.5 9.442 5.047-2.063 7.5-5.186 7.5-9.442V6.478c-2.577-.152-5.08-1.09-7.5-2.8M9.28 8.222l2.724 2.723 2.725-2.723a.75.75 0 0 1 .975-.073l.084.073a.75.75 0 0 1 .073.975l-.073.084-2.724 2.723 2.724 2.725a.749.749 0 1 1-1.06 1.059l-2.724-2.724-2.723 2.724a.75.75 0 0 1-.975.073l-.084-.073a.75.75 0 0 1-.073-.975l.073-.084 2.723-2.725-2.723-2.723A.75.75 0 0 1 9.28 8.22\"/></symbol>\n <symbol id=\"shield_lock\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M3 5.75A.75.75 0 0 1 3.75 5c2.663 0 5.258-.943 7.8-2.85a.75.75 0 0 1 .9 0C14.992 4.057 17.587 5 20.25 5a.75.75 0 0 1 .75.75V11q0 .271-.012.539a3.5 3.5 0 0 0-1.488-.894V6.478c-2.577-.152-5.08-1.09-7.5-2.8-2.42 1.71-4.923 2.648-7.5 2.8V11c0 4.256 2.453 7.379 7.5 9.442a21 21 0 0 0 1-.439V21.5q0 .075.004.146-.356.155-.73.302a.75.75 0 0 1-.549 0C5.958 19.676 3 16 3 11zM16 15v-1a2.5 2.5 0 0 1 5 0v1h.5a1.5 1.5 0 0 1 1.5 1.5v5a1.5 1.5 0 0 1-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5v-5a1.5 1.5 0 0 1 1.5-1.5zm1.5-1v1h2v-1a1 1 0 1 0-2 0m2 5a1 1 0 1 0-2 0 1 1 0 0 0 2 0\"/></symbol>\n <symbol id=\"shield_person\" viewBox=\"0 0 20 20\"><path fill=\"currentColor\" d=\"M10 9.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4m0 5c2.5 0 3.5-1.255 3.5-2.5a1.5 1.5 0 0 0-1.5-1.5H8A1.5 1.5 0 0 0 6.5 12c0 1.25 1 2.5 3.5 2.5m.277-12.416a.5.5 0 0 0-.554 0 15.05 15.05 0 0 1-6.294 2.421A.5.5 0 0 0 3 5v4.5c0 3.891 2.307 6.73 6.82 8.467a.5.5 0 0 0 .36 0C14.693 16.23 17 13.39 17 9.5V5a.5.5 0 0 0-.43-.495 15.05 15.05 0 0 1-6.293-2.421M4 5.428a16 16 0 0 0 5.6-2.082l.4-.249.4.249A16 16 0 0 0 16 5.428V9.5c0 3.392-1.968 5.863-6 7.463-4.032-1.6-6-4.071-6-7.463z\"/></symbol>\n <symbol id=\"shifts_activity\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11.314 3.527a.75.75 0 1 0-.12-1.495C6.049 2.442 2 6.748 2 12c0 5.523 4.477 10 10 10 5.249 0 9.553-4.044 9.967-9.186a.75.75 0 1 0-1.495-.12 8.5 8.5 0 1 1-9.158-9.167m6.383 1.147a.75.75 0 0 1 1.06-.046q.322.294.616.617a.75.75 0 0 1-1.105 1.013 9 9 0 0 0-.525-.525.75.75 0 0 1-.046-1.06M11.25 6a.75.75 0 0 1 .743.648L12 6.75V12h3.25a.75.75 0 0 1 .102 1.493l-.102.007h-4a.75.75 0 0 1-.743-.649l-.007-.101v-6a.75.75 0 0 1 .75-.75m2.531-3.11a.75.75 0 0 1 .925-.52 10 10 0 0 1 1.074.37.75.75 0 1 1-.567 1.388q-.444-.182-.912-.313a.75.75 0 0 1-.52-.925m7.478 5.325a.75.75 0 1 0-1.389.568 8 8 0 0 1 .315.915.75.75 0 1 0 1.444-.405 10 10 0 0 0-.37-1.078\"/></symbol>\n <symbol id=\"shifts_checkmark\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.5 6.25c0-.966.784-1.75 1.75-1.75h11.5c.966 0 1.75.784 1.75 1.75v11.5a1.75 1.75 0 0 1-1.75 1.75h-5.063a6.5 6.5 0 0 1-.709 1.5h5.772A3.25 3.25 0 0 0 21 17.75V6.25A3.25 3.25 0 0 0 17.75 3H6.25A3.25 3.25 0 0 0 3 6.25v5.772a6.5 6.5 0 0 1 1.5-.709zm8 .5a.75.75 0 0 0-1.5 0v6c0 .414.336.75.75.75h4.5a.75.75 0 0 0 0-1.5H12.5zM12 17.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0m-3.146-1.854a.5.5 0 0 0-.708 0L5.5 18.293l-.896-.897a.5.5 0 0 0-.708.708l1.25 1.25a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0 0-.708\"/></symbol>\n <symbol id=\"shifts_open\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4.5 6.25c0-.966.784-1.75 1.75-1.75h3a.75.75 0 0 0 0-1.5h-3A3.25 3.25 0 0 0 3 6.25v11.5A3.25 3.25 0 0 0 6.25 21h3a.75.75 0 0 0 0-1.5h-3a1.75 1.75 0 0 1-1.75-1.75zM14.747 3a.75.75 0 0 0 0 1.5h3.003c.966 0 1.75.784 1.75 1.75v11.5a1.75 1.75 0 0 1-1.75 1.75h-3.003a.75.75 0 0 0 0 1.5h3.003A3.25 3.25 0 0 0 21 17.75V6.25A3.25 3.25 0 0 0 17.75 3zM12.5 6.75a.75.75 0 0 0-1.5 0v6c0 .414.336.75.75.75h4.5a.75.75 0 0 0 0-1.5H12.5z\"/></symbol>\n <symbol id=\"slide_text\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6.75 8a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5zM6 11.75a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75M6.75 14a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5zm-2-10A2.75 2.75 0 0 0 2 6.75v10.5A2.75 2.75 0 0 0 4.75 20h14.5A2.75 2.75 0 0 0 22 17.25V6.75A2.75 2.75 0 0 0 19.25 4zM3.5 6.75c0-.69.56-1.25 1.25-1.25h14.5c.69 0 1.25.56 1.25 1.25v10.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25z\"/></symbol>\n <symbol id=\"squalls\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M8.077 6.884A4.07 4.07 0 0 1 11.973 4C14.174 4 16 5.783 16 8a4 4 0 0 1-4 4H2.75a.75.75 0 0 1 0-1.5H12A2.5 2.5 0 0 0 14.5 8c0-1.373-1.138-2.5-2.527-2.5-1.13 0-2.138.743-2.46 1.815l-.045.15a.75.75 0 1 1-1.436-.43zm8.212 5.129A2.94 2.94 0 0 1 19.07 10 2.93 2.93 0 0 1 22 12.93V13a3 3 0 0 1-3 3h-1.3a2.75 2.75 0 0 1-2.45 4h-.135a2.56 2.56 0 0 1-2.285-1.41.75.75 0 0 1 1.34-.673c.18.357.545.583.945.583h.135a1.25 1.25 0 1 0 0-2.5H2.75a.75.75 0 0 1 0-1.5H19a1.5 1.5 0 0 0 1.5-1.5v-.07c0-.79-.64-1.43-1.43-1.43-.61 0-1.163.4-1.358.987a.75.75 0 0 1-1.424-.474\"/></symbol>\n <symbol id=\"star\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.788 3.102c.495-1.003 1.926-1.003 2.421 0l2.358 4.778 5.273.766c1.107.16 1.549 1.522.748 2.303l-3.816 3.719.901 5.25c.19 1.104-.968 1.945-1.959 1.424l-4.716-2.48-4.715 2.48c-.99.52-2.148-.32-1.96-1.423l.901-5.251-3.815-3.72c-.801-.78-.359-2.141.748-2.302L8.43 7.88zm1.21.937L9.74 8.614a1.35 1.35 0 0 1-1.016.739l-5.05.734 3.654 3.562c.318.31.463.757.388 1.195l-.862 5.029 4.516-2.375a1.35 1.35 0 0 1 1.257 0l4.516 2.375-.862-5.03a1.35 1.35 0 0 1 .388-1.194l3.654-3.562-5.05-.734a1.35 1.35 0 0 1-1.016-.739z\"/></symbol>\n <symbol id=\"star_filled\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.788 3.102c.495-1.003 1.926-1.003 2.421 0l2.358 4.778 5.273.766c1.107.16 1.549 1.522.748 2.303l-3.816 3.719.901 5.25c.19 1.104-.968 1.945-1.959 1.424l-4.716-2.48-4.715 2.48c-.99.52-2.148-.32-1.96-1.423l.901-5.251-3.815-3.72c-.801-.78-.359-2.141.748-2.302L8.43 7.88z\"/></symbol>\n <symbol id=\"status\" viewBox=\"0 0 24 24\"><path fill=\"#212121\" fill-rule=\"nonzero\" d=\"M19.75 4A2.25 2.25 0 0 1 22 6.25v11.5A2.25 2.25 0 0 1 19.75 20H4.25A2.25 2.25 0 0 1 2 17.75V6.25A2.25 2.25 0 0 1 4.25 4Zm0 1.5H4.25a.75.75 0 0 0-.75.75v11.5c0 .414.336.75.75.75h15.5a.75.75 0 0 0 .75-.75V6.25a.75.75 0 0 0-.75-.75\"/><path fill=\"#212121\" d=\"M9.42 8.415a.75.75 0 0 0-1.348.014L6.382 12H2.75a.75.75 0 0 0 0 1.5h4.107a.75.75 0 0 0 .678-.43l1.234-2.606 2.56 5.121a.75.75 0 0 0 1.279.104l2.698-3.736 1.13 1.29A.75.75 0 0 0 17 13.5h4.25a.75.75 0 0 0 0-1.5h-3.91l-1.526-1.744a.75.75 0 0 0-1.172.055l-2.525 3.496z\"/></symbol>\n <symbol id=\"subtract_square\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.25 11.25h-8.5a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5M6.25 3A3.25 3.25 0 0 0 3 6.25v11.5A3.25 3.25 0 0 0 6.25 21h11.5A3.25 3.25 0 0 0 21 17.75V6.25A3.25 3.25 0 0 0 17.75 3zM4.5 6.25c0-.966.784-1.75 1.75-1.75h11.5c.966 0 1.75.784 1.75 1.75v11.5a1.75 1.75 0 0 1-1.75 1.75H6.25a1.75 1.75 0 0 1-1.75-1.75z\"/></symbol>\n <symbol id=\"sun\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 2a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 12 2m0 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10m0-1.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7m9.25-2.75a.75.75 0 0 0 0-1.5h-1.5a.75.75 0 0 0 0 1.5zM12 19a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 12 19m-7.75-6.25a.75.75 0 0 0 0-1.5h-1.5a.75.75 0 0 0 0 1.5zm-.03-8.53a.75.75 0 0 1 1.06 0l1.5 1.5a.75.75 0 0 1-1.06 1.06l-1.5-1.5a.75.75 0 0 1 0-1.06m1.06 15.56a.75.75 0 1 1-1.06-1.06l1.5-1.5a.75.75 0 1 1 1.06 1.06zm14.5-15.56a.75.75 0 0 0-1.06 0l-1.5 1.5a.75.75 0 0 0 1.06 1.06l1.5-1.5a.75.75 0 0 0 0-1.06m-1.06 15.56a.75.75 0 1 0 1.06-1.06l-1.5-1.5a.75.75 0 1 0-1.06 1.06z\"/></symbol>\n <symbol id=\"sync\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16.25 5.18a.75.75 0 0 0 .142 1.051 7.251 7.251 0 0 1-3.599 12.976l.677-.677a.75.75 0 0 0-.977-1.133l-.084.073-2 2a.75.75 0 0 0-.073.976l.073.084 2 2a.75.75 0 0 0 1.133-.976l-.072-.084-.75-.75a8.75 8.75 0 0 0 4.581-15.68.75.75 0 0 0-1.051.141m-5.72-3.71a.75.75 0 0 0 0 1.06l.75.75a8.75 8.75 0 0 0-4.85 15.47.75.75 0 1 0 .956-1.157 7.251 7.251 0 0 1 3.82-12.8l-.676.677a.75.75 0 1 0 1.061 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0\"/></symbol>\n <symbol id=\"tasks\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M19.995 4.097A2.25 2.25 0 0 0 17.75 2H6.25l-.154.005A2.25 2.25 0 0 0 4 4.251v15.498l.005.154A2.25 2.25 0 0 0 6.25 22h7.568l-1.5-1.5H6.25l-.102-.007a.75.75 0 0 1-.648-.743V4.251l.007-.102a.75.75 0 0 1 .743-.648h11.5l.102.007a.75.75 0 0 1 .648.743v11.567l1.159-1.159q.16-.16.34-.28V4.25zm-3.707 17.902h-.076a.75.75 0 0 1-.493-.219l-2.5-2.502a.75.75 0 0 1 1.062-1.06l1.969 1.971 4.47-4.47a.75.75 0 1 1 1.06 1.061l-5 5a.75.75 0 0 1-.492.219M13.84 16.5a2 2 0 0 0-.182 0h-2.413a.75.75 0 0 1 0-1.5h5.004a.75.75 0 1 1 0 1.5zM9 7.752a1 1 0 1 1-2 0 1 1 0 0 1 2 0m1.496-.002a.75.75 0 0 1 .75-.75h5.004a.75.75 0 1 1 0 1.5h-5.004a.75.75 0 0 1-.75-.75m.75 3.25a.75.75 0 0 0 0 1.5h5.004a.75.75 0 1 0 0-1.5zM8 12.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2m1 2.998a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"/></symbol>\n <symbol id=\"timer\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 5a8.5 8.5 0 1 1 0 17 8.5 8.5 0 0 1 0-17m0 1.5a7 7 0 1 0 0 14 7 7 0 0 0 0-14M12 8a.75.75 0 0 1 .743.648l.007.102v4.5a.75.75 0 0 1-1.493.102l-.007-.102v-4.5A.75.75 0 0 1 12 8m7.147-2.886.083.06 1.158.964a.75.75 0 0 1-.877 1.212l-.082-.06-1.159-.964a.75.75 0 0 1 .877-1.212M14.25 2.5a.75.75 0 0 1 .102 1.493L14.25 4h-4.5a.75.75 0 0 1-.102-1.493L9.75 2.5z\"/></symbol>\n <symbol id=\"upload\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.25 3.51a.75.75 0 1 0 0-1.5l-13-.004a.75.75 0 1 0 0 1.5zm-6.602 18.488.102.007a.75.75 0 0 0 .743-.649l.007-.101-.001-13.685 3.722 3.72a.75.75 0 0 0 .976.073l.085-.073a.75.75 0 0 0 .072-.977l-.073-.084-4.997-4.996a.75.75 0 0 0-.976-.073l-.085.072L6.22 10.23a.75.75 0 0 0 .976 1.134l.084-.073 3.719-3.713L11 21.255c0 .38.282.693.648.743\"/></symbol>\n <symbol id=\"user\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17.755 14a2.25 2.25 0 0 1 2.248 2.25v.575c0 .894-.32 1.759-.9 2.438-1.57 1.833-3.957 2.738-7.103 2.738s-5.532-.905-7.098-2.74a3.75 3.75 0 0 1-.898-2.434v-.578A2.25 2.25 0 0 1 6.253 14zm0 1.5H6.252a.75.75 0 0 0-.75.75v.577c0 .535.192 1.053.54 1.46 1.253 1.469 3.22 2.214 5.957 2.214 2.739 0 4.706-.745 5.963-2.213a2.25 2.25 0 0 0 .54-1.463v-.576a.75.75 0 0 0-.748-.749M12 2.005a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 1.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7\"/></symbol>\n <symbol id=\"user_multiple\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M14.754 10c.966 0 1.75.784 1.75 1.75v4.749a4.501 4.501 0 0 1-9.002 0V11.75c0-.966.783-1.75 1.75-1.75zm0 1.5H9.252a.25.25 0 0 0-.25.25v4.749a3.001 3.001 0 0 0 6.002 0V11.75a.25.25 0 0 0-.25-.25M3.75 10h3.381a2.74 2.74 0 0 0-.618 1.5H3.75a.25.25 0 0 0-.25.25v3.249a2.5 2.5 0 0 0 3.082 2.433c.085.504.24.985.453 1.432Q6.539 18.999 6 19a4 4 0 0 1-4-4.001V11.75c0-.966.784-1.75 1.75-1.75m13.125 0h3.375c.966 0 1.75.784 1.75 1.75V15a4 4 0 0 1-5.03 3.866c.214-.448.369-.929.455-1.433q.277.066.575.067a2.5 2.5 0 0 0 2.5-2.5v-3.25a.25.25 0 0 0-.25-.25h-2.757a2.74 2.74 0 0 0-.618-1.5M12 3a3 3 0 1 1 0 6 3 3 0 0 1 0-6m6.5 1a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5m-13 0a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5m6.5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m6.5 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-13 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2\"/></symbol>\n <symbol id=\"user_role\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M14 14H4.253a2.25 2.25 0 0 0-2.25 2.25v.577c0 .892.32 1.756.9 2.435 1.565 1.834 3.952 2.74 7.097 2.74q1.072 0 2.026-.141a2.5 2.5 0 0 1-.026-.36v-1.154q-.92.154-2 .154c-2.738 0-4.704-.745-5.957-2.213a2.25 2.25 0 0 1-.54-1.461v-.578a.75.75 0 0 1 .75-.749h7.955A2.5 2.5 0 0 1 14 14.05zM10 2.005a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 1.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7M15 15h-.5a1.5 1.5 0 0 0-1.5 1.5v5a1.5 1.5 0 0 0 1.5 1.5h6a1.5 1.5 0 0 0 1.5-1.5v-5a1.5 1.5 0 0 0-1.5-1.5H20v-1a2.5 2.5 0 0 0-5 0zm1.5-1a1 1 0 0 1 2 0v1h-2zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"/></symbol>\n <symbol id=\"warning\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13 17a.999.999 0 1 0-1.998 0 .999.999 0 0 0 1.997 0m-.26-7.853a.75.75 0 0 0-1.493.103l.004 4.501.007.102a.75.75 0 0 0 1.493-.103l-.004-4.502zm1.23-5.488c-.857-1.548-3.082-1.548-3.938 0L2.286 17.66c-.83 1.5.255 3.34 1.97 3.34h15.49c1.714 0 2.799-1.84 1.969-3.34zm-2.626.726a.75.75 0 0 1 1.313 0l7.746 14.002a.75.75 0 0 1-.657 1.113H4.256a.75.75 0 0 1-.657-1.113z\"/></symbol>\n <symbol id=\"zoom_fit\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11.49 2.707a.75.75 0 0 1 1.03.002l2.206 2.09a.75.75 0 1 0 1.032-1.088L13.551 1.62a2.25 2.25 0 0 0-3.09-.005L8.237 3.71A.75.75 0 0 0 9.265 4.8zM4.802 9.263a.75.75 0 0 0-1.091-1.028l-2.095 2.224a2.25 2.25 0 0 0 .005 3.09l2.091 2.207a.75.75 0 1 0 1.089-1.032L2.71 12.517a.75.75 0 0 1-.001-1.03zm15.485-1.02A.75.75 0 1 0 19.2 9.275l2.098 2.213a.75.75 0 0 1 0 1.033L19.2 14.734a.75.75 0 0 0 1.088 1.032l2.099-2.213a2.25 2.25 0 0 0 0-3.097zm-4.522 12.045a.75.75 0 0 0-1.032-1.088l-2.212 2.097a.75.75 0 0 1-1.032 0L9.275 19.2a.75.75 0 0 0-1.032 1.09l2.216 2.097a2.25 2.25 0 0 0 3.095 0zM9.75 7A2.75 2.75 0 0 0 7 9.75v4.5A2.75 2.75 0 0 0 9.75 17h4.5A2.75 2.75 0 0 0 17 14.25v-4.5A2.75 2.75 0 0 0 14.25 7zM8.5 9.75c0-.69.56-1.25 1.25-1.25h4.5c.69 0 1.25.56 1.25 1.25v4.5c0 .69-.56 1.25-1.25 1.25h-4.5c-.69 0-1.25-.56-1.25-1.25z\"/></symbol>\n <symbol id=\"zoom_in\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.5 10a.75.75 0 0 0-.75-.75h-2v-2a.75.75 0 0 0-1.5 0v2h-2a.75.75 0 1 0 0 1.5h2v2a.75.75 0 0 0 1.5 0v-2h2a.75.75 0 0 0 .75-.75M10 2.75a7.25 7.25 0 0 1 5.63 11.819l4.9 4.9a.75.75 0 0 1-.976 1.134l-.084-.073-4.901-4.9A7.25 7.25 0 1 1 10 2.75m0 1.5a5.75 5.75 0 1 0 0 11.5 5.75 5.75 0 0 0 0-11.5\"/></symbol>\n <symbol id=\"zoom_out\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.75 9.25a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5zm4.5.75a7.25 7.25 0 1 0-2.681 5.63l4.9 4.9.085.073a.75.75 0 0 0 .976-1.133l-4.9-4.901A7.22 7.22 0 0 0 17.25 10m-13 0a5.75 5.75 0 1 1 11.5 0 5.75 5.75 0 0 1-11.5 0\"/></symbol>\n</svg>\n`;\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, Inject, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { TranslocoService } from '@jsverse/transloco';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { LoggerModule, NGXLogger } from 'ngx-logger';\n\nimport { ContextService } from '../context.service';\nimport { AiTranslocoModule } from '../transloco.module';\nimport { ChatScrollDirective } from '../chat-scroll.directive';\nimport { ChatService } from '../chat.service';\nimport { MessageInputComponent } from '../message-input/message-input.component';\nimport { ThreadComponent } from '../thread/thread.component';\nimport { WebsocketService } from '../websocket.service';\nimport { svgString } from './icons';\n\ninterface AssetData {\n id?: string;\n name?: string;\n externalKey?: string;\n}\n\nexport interface ChatDialogData {\n asset: AssetData;\n}\n\n@Component({\n imports: [\n AiTranslocoModule,\n ChatScrollDirective,\n CommonModule,\n LoggerModule,\n MatButtonModule,\n MatDialogModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n FormsModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MessageInputComponent,\n ThreadComponent,\n ],\n providers: [ChatService, ContextService, WebsocketService],\n templateUrl: './chat-dialog.component.html',\n})\nexport class AiChatDialogComponent implements OnInit {\n readonly chatService = inject(ChatService);\n readonly type: 'asset' | 'ext-asset' = 'asset';\n\n private readonly asset: AssetData;\n private readonly logger = inject(NGXLogger);\n private readonly translocoService = inject(TranslocoService);\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: ChatDialogData,\n private readonly matDialogRef: MatDialogRef<AiChatDialogComponent>,\n matIconRegistry: MatIconRegistry,\n domSanitizer: DomSanitizer,\n ) {\n this.asset = data.asset;\n if (this.asset.externalKey && !this.asset.id) {\n this.type = 'ext-asset';\n }\n const blob = new Blob([svgString], { type: 'image/svg+xml' });\n const url = URL.createObjectURL(blob);\n matIconRegistry.addSvgIconSet(\n domSanitizer.bypassSecurityTrustResourceUrl(url),\n );\n }\n\n ngOnInit(): void {\n this.chatService\n .init()\n .then(async () => {\n const initialMessage = this.translocoService.translate(\n 'ai.prompts.' + this.type,\n {\n assetId: this.asset?.id,\n assetName: this.asset?.name,\n assetKey: this.asset?.externalKey,\n },\n );\n const assistantId = 'asset-assistant';\n await this.chatService.createThreadForModal(\n assistantId,\n initialMessage,\n );\n })\n .catch((err) => {\n this.logger.error(err);\n this.close();\n });\n }\n\n close(message?: string) {\n this.matDialogRef.close(message);\n }\n}\n","<div class=\"flex h-full w-full flex-col\" *transloco=\"let t\">\n <div class=\"flex justify-end pb-2\">\n <button\n mat-icon-button\n (click)=\"close()\"\n class=\"small bg-zinc-50 text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 dark:bg-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-50\"\n >\n <mat-icon svgIcon=\"dismiss\"></mat-icon>\n </button>\n </div>\n <div\n class=\"flex h-full w-full flex-col items-center overflow-y-auto\"\n aiChatScroll\n >\n <ai-thread class=\"flex h-full w-full\"></ai-thread>\n </div>\n <ai-message-input class=\"w-full\"></ai-message-input>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LoggerModule, NgxLoggerLevel } from 'ngx-logger';\nimport { CommonModule } from '@angular/common';\n\nimport { ChatService } from './chat.service';\nimport { WebsocketService } from './websocket.service';\nimport { ContextService } from './context.service';\nimport { ApiService } from '../core/api.service';\nimport { AiTranslocoModule } from './transloco.module';\n\n@NgModule({\n imports: [\n CommonModule,\n LoggerModule.forRoot({\n level: NgxLoggerLevel.DEBUG,\n disableConsoleLogging: false,\n }),\n ],\n providers: [ApiService, ChatService, ContextService, WebsocketService],\n exports: [AiTranslocoModule],\n})\nexport class AiModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Provider } from '@angular/core';\nimport { MARKED_OPTIONS, provideMarkdown } from 'ngx-markdown';\n\n/**\n * Provides Markdown configuration for AI SDK\n * This allows consuming applications to not have to set up Markdown themselves\n */\nexport function provideAiMarkdown(): Provider {\n return provideMarkdown({\n loader: HttpClient,\n markedOptions: {\n provide: MARKED_OPTIONS,\n useValue: {\n gfm: true,\n breaks: true,\n pedantic: false,\n },\n },\n });\n}\n","import { EnvironmentProviders, Provider } from '@angular/core';\nimport { provideAiMarkdown } from '../core/markdown.provider';\nimport { AiTranslocoModule } from './transloco.module';\nimport { importProvidersFrom } from '@angular/core';\nimport {\n provideHttpClient,\n withInterceptorsFromDi,\n} from '@angular/common/http';\nimport { LoggerModule, NgxLoggerLevel } from 'ngx-logger';\n\n/**\n * Provides all necessary providers for AI SDK\n * This allows consuming applications to configure the AI SDK with a single function\n */\nexport function provideAiSdk(): (Provider | EnvironmentProviders)[] {\n return [\n importProvidersFrom(\n AiTranslocoModule,\n LoggerModule.forRoot({\n level: NgxLoggerLevel.DEBUG,\n disableConsoleLogging: false,\n }),\n ),\n provideAiMarkdown(),\n provideHttpClient(withInterceptorsFromDi()),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ApiService","i4","i5","i8","i1","i2","i3","i7.BytesPipe","i8.DateAgoPipe","HttpClient"],"mappings":"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"}