From f2e2b59c181a669a113dcf7f646aafc13defbc44 Mon Sep 17 00:00:00 2001
From: Gabriel Ecegi
Date: Fri, 13 Dec 2024 15:29:43 +0100
Subject: [PATCH 001/385] Add batching
---
backend/open_webui/apps/retrieval/main.py | 114 ++++++++++++++++--
.../apps/webui/routers/knowledge.py | 82 ++++++++++++-
2 files changed, 182 insertions(+), 14 deletions(-)
diff --git a/backend/open_webui/apps/retrieval/main.py b/backend/open_webui/apps/retrieval/main.py
index cfbc5beee4..86ea6bf413 100644
--- a/backend/open_webui/apps/retrieval/main.py
+++ b/backend/open_webui/apps/retrieval/main.py
@@ -2,16 +2,14 @@
import json
import logging
-import mimetypes
import os
import shutil
import uuid
from datetime import datetime
-from pathlib import Path
-from typing import Iterator, Optional, Sequence, Union
+from typing import List, Optional
-from fastapi import Depends, FastAPI, File, Form, HTTPException, UploadFile, status
+from fastapi import Depends, FastAPI, HTTPException, status
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
import tiktoken
@@ -52,7 +50,7 @@ from open_webui.apps.retrieval.utils import (
query_doc_with_hybrid_search,
)
-from open_webui.apps.webui.models.files import Files
+from open_webui.apps.webui.models.files import FileModel, Files
from open_webui.config import (
BRAVE_SEARCH_API_KEY,
KAGI_SEARCH_API_KEY,
@@ -64,7 +62,6 @@ from open_webui.config import (
CONTENT_EXTRACTION_ENGINE,
CORS_ALLOW_ORIGIN,
ENABLE_RAG_HYBRID_SEARCH,
- ENABLE_RAG_LOCAL_WEB_FETCH,
ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION,
ENABLE_RAG_WEB_SEARCH,
ENV,
@@ -86,7 +83,6 @@ from open_webui.config import (
RAG_RERANKING_MODEL,
RAG_RERANKING_MODEL_AUTO_UPDATE,
RAG_RERANKING_MODEL_TRUST_REMOTE_CODE,
- DEFAULT_RAG_TEMPLATE,
RAG_TEMPLATE,
RAG_TOP_K,
RAG_WEB_SEARCH_CONCURRENT_REQUESTS,
@@ -118,10 +114,7 @@ from open_webui.env import (
DOCKER,
)
from open_webui.utils.misc import (
- calculate_sha256,
calculate_sha256_string,
- extract_folders_after_data_docs,
- sanitize_filename,
)
from open_webui.utils.auth import get_admin_user, get_verified_user
@@ -1047,6 +1040,106 @@ def process_file(
)
+class BatchProcessFilesForm(BaseModel):
+ files: List[FileModel]
+ collection_name: str
+
+class BatchProcessFilesResult(BaseModel):
+ file_id: str
+ status: str
+ error: Optional[str] = None
+
+class BatchProcessFilesResponse(BaseModel):
+ results: List[BatchProcessFilesResult]
+ errors: List[BatchProcessFilesResult]
+
+@app.post("/process/files/batch")
+def process_files_batch(
+ form_data: BatchProcessFilesForm,
+ user=Depends(get_verified_user),
+) -> BatchProcessFilesResponse:
+ """
+ Process a batch of files and save them to the vector database.
+ """
+ results: List[BatchProcessFilesResult] = []
+ errors: List[BatchProcessFilesResult] = []
+ collection_name = form_data.collection_name
+
+
+ # Prepare all documents first
+ all_docs: List[Document] = []
+ for file_request in form_data.files:
+ try:
+ file = Files.get_file_by_id(file_request.file_id)
+ if not file:
+ log.error(f"process_files_batch: File {file_request.file_id} not found")
+ raise ValueError(f"File {file_request.file_id} not found")
+
+ text_content = file_request.content
+
+ docs: List[Document] = [
+ Document(
+ page_content=text_content.replace(" ", "\n"),
+ metadata={
+ **file.meta,
+ "name": file_request.filename,
+ "created_by": file.user_id,
+ "file_id": file.id,
+ "source": file_request.filename,
+ },
+ )
+ ]
+
+ hash = calculate_sha256_string(text_content)
+ Files.update_file_hash_by_id(file.id, hash)
+ Files.update_file_data_by_id(file.id, {"content": text_content})
+
+ all_docs.extend(docs)
+ results.append(BatchProcessFilesResult(
+ file_id=file.id,
+ status="prepared"
+ ))
+
+ except Exception as e:
+ log.error(f"process_files_batch: Error processing file {file_request.file_id}: {str(e)}")
+ errors.append(BatchProcessFilesResult(
+ file_id=file_request.file_id,
+ status="failed",
+ error=str(e)
+ ))
+
+ # Save all documents in one batch
+ if all_docs:
+ try:
+ save_docs_to_vector_db(
+ docs=all_docs,
+ collection_name=collection_name,
+ add=True
+ )
+
+ # Update all files with collection name
+ for result in results:
+ Files.update_file_metadata_by_id(
+ result.file_id,
+ {"collection_name": collection_name}
+ )
+ result.status = "completed"
+
+ except Exception as e:
+ log.error(f"process_files_batch: Error saving documents to vector DB: {str(e)}")
+ for result in results:
+ result.status = "failed"
+ errors.append(BatchProcessFilesResult(
+ file_id=result.file_id,
+ error=str(e)
+ ))
+
+ return BatchProcessFilesResponse(
+ results=results,
+ errors=errors
+ )
+
+
class ProcessTextForm(BaseModel):
name: str
content: str
@@ -1509,3 +1602,4 @@ if ENV == "dev":
@app.get("/ef/{text}")
async def get_embeddings_text(text: str):
return {"result": app.state.EMBEDDING_FUNCTION(text)}
+
diff --git a/backend/open_webui/apps/webui/routers/knowledge.py b/backend/open_webui/apps/webui/routers/knowledge.py
index d572e83b7b..ccc2251d1b 100644
--- a/backend/open_webui/apps/webui/routers/knowledge.py
+++ b/backend/open_webui/apps/webui/routers/knowledge.py
@@ -1,5 +1,4 @@
-import json
-from typing import Optional, Union
+from typing import List, Optional
from pydantic import BaseModel
from fastapi import APIRouter, Depends, HTTPException, status, Request
import logging
@@ -12,11 +11,11 @@ from open_webui.apps.webui.models.knowledge import (
)
from open_webui.apps.webui.models.files import Files, FileModel
from open_webui.apps.retrieval.vector.connector import VECTOR_DB_CLIENT
-from open_webui.apps.retrieval.main import process_file, ProcessFileForm
+from open_webui.apps.retrieval.main import BatchProcessFilesForm, process_file, ProcessFileForm, process_files_batch
from open_webui.constants import ERROR_MESSAGES
-from open_webui.utils.auth import get_admin_user, get_verified_user
+from open_webui.utils.auth import get_verified_user
from open_webui.utils.access_control import has_access, has_permission
@@ -508,3 +507,78 @@ async def reset_knowledge_by_id(id: str, user=Depends(get_verified_user)):
knowledge = Knowledges.update_knowledge_data_by_id(id=id, data={"file_ids": []})
return knowledge
+
+
+############################
+# AddFilesToKnowledge
+############################
+
+@router.post("/{id}/files/batch/add", response_model=Optional[KnowledgeFilesResponse])
+def add_files_to_knowledge_batch(
+ id: str,
+ form_data: list[KnowledgeFileIdForm],
+ user=Depends(get_verified_user),
+):
+ """
+ Add multiple files to a knowledge base
+ """
+ knowledge = Knowledges.get_knowledge_by_id(id=id)
+ if not knowledge:
+ raise HTTPException(
+ status_code=status.HTTP_400_BAD_REQUEST,
+ detail=ERROR_MESSAGES.NOT_FOUND,
+ )
+
+ if knowledge.user_id != user.id and user.role != "admin":
+ raise HTTPException(
+ status_code=status.HTTP_400_BAD_REQUEST,
+ detail=ERROR_MESSAGES.ACCESS_PROHIBITED,
+ )
+
+ # Get files content
+ print(f"files/batch/add - {len(form_data)} files")
+ files: List[FileModel] = []
+ for form in form_data:
+ file = Files.get_file_by_id(form.file_id)
+ if not file:
+ raise HTTPException(
+ status_code=status.HTTP_400_BAD_REQUEST,
+ detail=f"File {form.file_id} not found",
+ )
+ files.append(file)
+
+ # Process files
+ result = process_files_batch(BatchProcessFilesForm(
+ files=files,
+ collection_name=id
+ ))
+
+ # Add successful files to knowledge base
+ data = knowledge.data or {}
+ existing_file_ids = data.get("file_ids", [])
+
+ # Only add files that were successfully processed
+ successful_file_ids = [r.file_id for r in result.results if r.status == "completed"]
+ for file_id in successful_file_ids:
+ if file_id not in existing_file_ids:
+ existing_file_ids.append(file_id)
+
+ data["file_ids"] = existing_file_ids
+ knowledge = Knowledges.update_knowledge_data_by_id(id=id, data=data)
+
+ # If there were any errors, include them in the response
+ if result.errors:
+ error_details = [f"{err.file_id}: {err.error}" for err in result.errors]
+ return KnowledgeFilesResponse(
+ **knowledge.model_dump(),
+ files=Files.get_files_by_ids(existing_file_ids),
+ warnings={
+ "message": "Some files failed to process",
+ "errors": error_details
+ }
+ )
+
+ return KnowledgeFilesResponse(
+ **knowledge.model_dump(),
+ files=Files.get_files_by_ids(existing_file_ids)
+ )
From 440894f8d3ead0ef438e89cbb5a1b46ff3cd58af Mon Sep 17 00:00:00 2001
From: Gabriel Ecegi
Date: Sat, 14 Dec 2024 10:45:27 +0100
Subject: [PATCH 002/385] Fix process/files/batch
---
backend/open_webui/apps/retrieval/main.py | 21 +++++++------------
.../apps/webui/routers/knowledge.py | 15 +++++++++----
2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/backend/open_webui/apps/retrieval/main.py b/backend/open_webui/apps/retrieval/main.py
index 86ea6bf413..4da322e70d 100644
--- a/backend/open_webui/apps/retrieval/main.py
+++ b/backend/open_webui/apps/retrieval/main.py
@@ -1062,30 +1062,24 @@ def process_files_batch(
Process a batch of files and save them to the vector database.
"""
results: List[BatchProcessFilesResult] = []
- errors: List[BatchProcessFilesResult] = []
+ errors: List[BatchProcessFilesResult] = []
collection_name = form_data.collection_name
-
# Prepare all documents first
all_docs: List[Document] = []
- for file_request in form_data.files:
+ for file in form_data.files:
try:
- file = Files.get_file_by_id(file_request.file_id)
- if not file:
- log.error(f"process_files_batch: File {file_request.file_id} not found")
- raise ValueError(f"File {file_request.file_id} not found")
-
- text_content = file_request.content
+ text_content = file.data.get("content", "")
docs: List[Document] = [
Document(
page_content=text_content.replace(" ", "\n"),
metadata={
**file.meta,
- "name": file_request.filename,
+ "name": file.filename,
"created_by": file.user_id,
"file_id": file.id,
- "source": file_request.filename,
+ "source": file.filename,
},
)
]
@@ -1101,9 +1095,9 @@ def process_files_batch(
))
except Exception as e:
- log.error(f"process_files_batch: Error processing file {file_request.file_id}: {str(e)}")
+ log.error(f"process_files_batch: Error processing file {file.id}: {str(e)}")
errors.append(BatchProcessFilesResult(
- file_id=file_request.file_id,
+ file_id=file.id,
status="failed",
error=str(e)
))
@@ -1139,7 +1133,6 @@ def process_files_batch(
errors=errors
)
-
class ProcessTextForm(BaseModel):
name: str
content: str
diff --git a/backend/open_webui/apps/webui/routers/knowledge.py b/backend/open_webui/apps/webui/routers/knowledge.py
index ccc2251d1b..21361c7f7f 100644
--- a/backend/open_webui/apps/webui/routers/knowledge.py
+++ b/backend/open_webui/apps/webui/routers/knowledge.py
@@ -548,10 +548,17 @@ def add_files_to_knowledge_batch(
files.append(file)
# Process files
- result = process_files_batch(BatchProcessFilesForm(
- files=files,
- collection_name=id
- ))
+ try:
+ result = process_files_batch(BatchProcessFilesForm(
+ files=files,
+ collection_name=id
+ ))
+ except Exception as e:
+ log.error(f"add_files_to_knowledge_batch: Exception occurred: {e}", exc_info=True)
+ raise HTTPException(
+ status_code=status.HTTP_400_BAD_REQUEST,
+ detail=str(e)
+ )
# Add successful files to knowledge base
data = knowledge.data or {}
From 61b1a8fdabb4562c22678562519864f08cb362a2 Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Sun, 15 Dec 2024 16:07:43 -0500
Subject: [PATCH 003/385] feat: Add Google Drive file picker integration to
chat interface
---
src/lib/components/chat/Chat.svelte | 48 +++++++++++++++++
src/lib/utils/google-drive-picker.ts | 80 ++++++++++++++++++++++++++++
2 files changed, 128 insertions(+)
create mode 100644 src/lib/utils/google-drive-picker.ts
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index a0feda0576..eda2cf86a5 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -9,6 +9,7 @@
import { goto } from '$app/navigation';
import { page } from '$app/stores';
+ import { loadGoogleAuthApi, loadGoogleDriveApi, createPicker } from '$lib/utils/google-drive-picker';
import { get, type Unsubscriber, type Writable } from 'svelte/store';
import type { i18n as i18nType } from 'i18next';
@@ -300,6 +301,12 @@
};
onMount(async () => {
+ // Initialize Google APIs
+ await Promise.all([
+ loadGoogleAuthApi(),
+ loadGoogleDriveApi()
+ ]);
+
window.addEventListener('message', onMessageHandler);
$socket?.on('chat-events', chatEventHandler);
@@ -349,6 +356,47 @@
// File upload functions
+ const uploadGoogleDriveFile = async (fileData) => {
+ const fileItem = {
+ type: 'doc',
+ name: fileData.name,
+ collection_name: '',
+ status: 'uploading',
+ url: fileData.url,
+ error: ''
+ };
+
+ try {
+ files = [...files, fileItem];
+ const res = await processWeb(localStorage.token, '', fileData.url);
+
+ if (res) {
+ fileItem.status = 'uploaded';
+ fileItem.collection_name = res.collection_name;
+ fileItem.file = {
+ ...res.file,
+ ...fileItem.file
+ };
+
+ files = files;
+ }
+ } catch (e) {
+ files = files.filter((f) => f.name !== fileData.name);
+ toast.error(JSON.stringify(e));
+ }
+ };
+
+ const handleGoogleDrivePicker = async () => {
+ try {
+ const fileData = await createPicker();
+ if (fileData) {
+ await uploadGoogleDriveFile(fileData);
+ }
+ } catch (error) {
+ toast.error('Error accessing Google Drive: ' + error.message);
+ }
+ };
+
const uploadWeb = async (url) => {
console.log(url);
diff --git a/src/lib/utils/google-drive-picker.ts b/src/lib/utils/google-drive-picker.ts
new file mode 100644
index 0000000000..855f88592f
--- /dev/null
+++ b/src/lib/utils/google-drive-picker.ts
@@ -0,0 +1,80 @@
+// Google Drive Picker API configuration
+const API_KEY = 'YOUR_API_KEY';
+const CLIENT_ID = 'YOUR_CLIENT_ID';
+const SCOPE = ['https://www.googleapis.com/auth/drive.readonly'];
+
+let pickerApiLoaded = false;
+let oauthToken: string | null = null;
+
+export const loadGoogleDriveApi = () => {
+ return new Promise((resolve, reject) => {
+ const script = document.createElement('script');
+ script.src = 'https://apis.google.com/js/api.js';
+ script.onload = () => {
+ gapi.load('picker', () => {
+ pickerApiLoaded = true;
+ resolve(true);
+ });
+ };
+ script.onerror = reject;
+ document.body.appendChild(script);
+ });
+};
+
+export const loadGoogleAuthApi = () => {
+ return new Promise((resolve, reject) => {
+ const script = document.createElement('script');
+ script.src = 'https://accounts.google.com/gsi/client';
+ script.onload = resolve;
+ script.onerror = reject;
+ document.body.appendChild(script);
+ });
+};
+
+export const getAuthToken = async () => {
+ if (!oauthToken) {
+ const tokenClient = google.accounts.oauth2.initTokenClient({
+ client_id: CLIENT_ID,
+ scope: SCOPE.join(' '),
+ callback: (response: any) => {
+ if (response.access_token) {
+ oauthToken = response.access_token;
+ }
+ },
+ });
+ await tokenClient.requestAccessToken();
+ }
+ return oauthToken;
+};
+
+export const createPicker = async () => {
+ if (!pickerApiLoaded) {
+ await loadGoogleDriveApi();
+ }
+
+ const token = await getAuthToken();
+ if (!token) {
+ throw new Error('Unable to get OAuth token');
+ }
+
+ const picker = new google.picker.PickerBuilder()
+ .addView(google.picker.ViewId.DOCS)
+ .setOAuthToken(token)
+ .setDeveloperKey(API_KEY)
+ .setCallback((data: any) => {
+ if (data[google.picker.Response.ACTION] === google.picker.Action.PICKED) {
+ const doc = data[google.picker.Response.DOCUMENTS][0];
+ const fileId = doc[google.picker.Document.ID];
+ const fileName = doc[google.picker.Document.NAME];
+ const fileUrl = doc[google.picker.Document.URL];
+
+ return {
+ id: fileId,
+ name: fileName,
+ url: fileUrl
+ };
+ }
+ })
+ .build();
+ picker.setVisible(true);
+};
From f566c5940a7606221d4953061d357f8aebbcae58 Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Sun, 15 Dec 2024 16:08:32 -0500
Subject: [PATCH 004/385] feat: Add Google Drive picker button to MessageInput
component
---
src/lib/components/chat/Chat.svelte | 2 ++
src/lib/components/chat/MessageInput.svelte | 10 ++++++++++
2 files changed, 12 insertions(+)
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index eda2cf86a5..102453dc0f 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -2316,6 +2316,8 @@
await uploadWeb(data);
} else if (type === 'youtube') {
await uploadYoutubeTranscription(data);
+ } else if (type === 'google-drive') {
+ await uploadGoogleDriveFile(data);
}
}}
on:submit={async (e) => {
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 6dd6ff258f..1303cf373a 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -496,6 +496,16 @@
uploadFilesHandler={() => {
filesInputElement.click();
}}
+ uploadGoogleDriveHandler={async () => {
+ try {
+ const fileData = await createPicker();
+ if (fileData) {
+ dispatch('upload', { type: 'google-drive', data: fileData });
+ }
+ } catch (error) {
+ toast.error('Error accessing Google Drive: ' + error.message);
+ }
+ }}
onClose={async () => {
await tick();
From 90e70608b9ba5520309a846666fd691fab2f6b40 Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Sun, 15 Dec 2024 16:25:18 -0500
Subject: [PATCH 005/385] feat: Add Google Drive upload option to InputMenu
---
.../chat/MessageInput/InputMenu.svelte | 22 +++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/src/lib/components/chat/MessageInput/InputMenu.svelte b/src/lib/components/chat/MessageInput/InputMenu.svelte
index 9cb1b61988..513ad32d31 100644
--- a/src/lib/components/chat/MessageInput/InputMenu.svelte
+++ b/src/lib/components/chat/MessageInput/InputMenu.svelte
@@ -14,6 +14,7 @@
const i18n = getContext('i18n');
export let uploadFilesHandler: Function;
+ export let uploadGoogleDriveHandler: Function;
export let selectedToolIds: string[] = [];
export let webSearchEnabled: boolean;
@@ -104,13 +105,30 @@
{/if}
{
uploadFilesHandler();
}}
>
- {$i18n.t('Upload Files')}
+ {$i18n.t('Upload Files')}
+
+
+ {
+ uploadGoogleDriveHandler();
+ }}
+ >
+
+
+
+
+
+
+
+
+ {$i18n.t('Google Drive')}
From 7bc1876e37fc6aead331e436dafb39d5c0ee8f2d Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Sun, 15 Dec 2024 16:31:30 -0500
Subject: [PATCH 006/385] fix: Resolve Google Drive picker promise with file
data
---
src/lib/utils/google-drive-picker.ts | 66 ++++++++++++++++------------
1 file changed, 37 insertions(+), 29 deletions(-)
diff --git a/src/lib/utils/google-drive-picker.ts b/src/lib/utils/google-drive-picker.ts
index 855f88592f..941b1fce3a 100644
--- a/src/lib/utils/google-drive-picker.ts
+++ b/src/lib/utils/google-drive-picker.ts
@@ -47,34 +47,42 @@ export const getAuthToken = async () => {
return oauthToken;
};
-export const createPicker = async () => {
- if (!pickerApiLoaded) {
- await loadGoogleDriveApi();
- }
-
- const token = await getAuthToken();
- if (!token) {
- throw new Error('Unable to get OAuth token');
- }
-
- const picker = new google.picker.PickerBuilder()
- .addView(google.picker.ViewId.DOCS)
- .setOAuthToken(token)
- .setDeveloperKey(API_KEY)
- .setCallback((data: any) => {
- if (data[google.picker.Response.ACTION] === google.picker.Action.PICKED) {
- const doc = data[google.picker.Response.DOCUMENTS][0];
- const fileId = doc[google.picker.Document.ID];
- const fileName = doc[google.picker.Document.NAME];
- const fileUrl = doc[google.picker.Document.URL];
-
- return {
- id: fileId,
- name: fileName,
- url: fileUrl
- };
+export const createPicker = () => {
+ return new Promise(async (resolve, reject) => {
+ try {
+ if (!pickerApiLoaded) {
+ await loadGoogleDriveApi();
}
- })
- .build();
- picker.setVisible(true);
+
+ const token = await getAuthToken();
+ if (!token) {
+ throw new Error('Unable to get OAuth token');
+ }
+
+ const picker = new google.picker.PickerBuilder()
+ .addView(google.picker.ViewId.DOCS)
+ .setOAuthToken(token)
+ .setDeveloperKey(API_KEY)
+ .setCallback((data: any) => {
+ if (data[google.picker.Response.ACTION] === google.picker.Action.PICKED) {
+ const doc = data[google.picker.Response.DOCUMENTS][0];
+ const fileId = doc[google.picker.Document.ID];
+ const fileName = doc[google.picker.Document.NAME];
+ const fileUrl = doc[google.picker.Document.URL];
+
+ resolve({
+ id: fileId,
+ name: fileName,
+ url: fileUrl
+ });
+ } else if (data[google.picker.Response.ACTION] === google.picker.Action.CANCEL) {
+ resolve(null);
+ }
+ })
+ .build();
+ picker.setVisible(true);
+ } catch (error) {
+ reject(error);
+ }
+ });
};
From 1cd43b122bc92193933d40603661cc16d01f5b36 Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Sun, 15 Dec 2024 16:31:58 -0500
Subject: [PATCH 007/385] feat: Import createPicker function in InputMenu
component
---
src/lib/components/chat/MessageInput/InputMenu.svelte | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/lib/components/chat/MessageInput/InputMenu.svelte b/src/lib/components/chat/MessageInput/InputMenu.svelte
index 513ad32d31..a0634a4a02 100644
--- a/src/lib/components/chat/MessageInput/InputMenu.svelte
+++ b/src/lib/components/chat/MessageInput/InputMenu.svelte
@@ -2,6 +2,7 @@
import { DropdownMenu } from 'bits-ui';
import { flyAndScale } from '$lib/utils/transitions';
import { getContext } from 'svelte';
+ import { createPicker } from '$lib/utils/google-drive-picker';
import Dropdown from '$lib/components/common/Dropdown.svelte';
import Tooltip from '$lib/components/common/Tooltip.svelte';
From b2dc6fef9fe4994fde8547730fb3b68d87266cee Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Sun, 15 Dec 2024 16:33:15 -0500
Subject: [PATCH 008/385] fix: Improve Google Drive picker API loading and
error handling
---
src/lib/utils/google-drive-picker.ts | 47 ++++++++++++++++++----------
1 file changed, 31 insertions(+), 16 deletions(-)
diff --git a/src/lib/utils/google-drive-picker.ts b/src/lib/utils/google-drive-picker.ts
index 941b1fce3a..4a332c79a0 100644
--- a/src/lib/utils/google-drive-picker.ts
+++ b/src/lib/utils/google-drive-picker.ts
@@ -1,6 +1,6 @@
// Google Drive Picker API configuration
-const API_KEY = 'YOUR_API_KEY';
-const CLIENT_ID = 'YOUR_CLIENT_ID';
+const API_KEY = import.meta.env.VITE_GOOGLE_API_KEY;
+const CLIENT_ID = import.meta.env.VITE_GOOGLE_CLIENT_ID;
const SCOPE = ['https://www.googleapis.com/auth/drive.readonly'];
let pickerApiLoaded = false;
@@ -8,26 +8,41 @@ let oauthToken: string | null = null;
export const loadGoogleDriveApi = () => {
return new Promise((resolve, reject) => {
- const script = document.createElement('script');
- script.src = 'https://apis.google.com/js/api.js';
- script.onload = () => {
- gapi.load('picker', () => {
- pickerApiLoaded = true;
- resolve(true);
+ if (typeof gapi === 'undefined') {
+ const script = document.createElement('script');
+ script.src = 'https://apis.google.com/js/api.js';
+ script.onload = () => {
+ gapi.load('picker', {
+ callback: () => {
+ pickerApiLoaded = true;
+ resolve(true);
+ }
+ });
+ };
+ script.onerror = reject;
+ document.body.appendChild(script);
+ } else {
+ gapi.load('picker', {
+ callback: () => {
+ pickerApiLoaded = true;
+ resolve(true);
+ }
});
- };
- script.onerror = reject;
- document.body.appendChild(script);
+ }
});
};
export const loadGoogleAuthApi = () => {
return new Promise((resolve, reject) => {
- const script = document.createElement('script');
- script.src = 'https://accounts.google.com/gsi/client';
- script.onload = resolve;
- script.onerror = reject;
- document.body.appendChild(script);
+ if (typeof google === 'undefined') {
+ const script = document.createElement('script');
+ script.src = 'https://accounts.google.com/gsi/client';
+ script.onload = resolve;
+ script.onerror = reject;
+ document.body.appendChild(script);
+ } else {
+ resolve(true);
+ }
});
};
From eed7cfd2a298af9f760f9b09044695ec02744cd2 Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Sun, 15 Dec 2024 16:34:26 -0500
Subject: [PATCH 009/385] refactor: Remove unused Google Drive picker imports
from Chat.svelte
---
src/lib/components/chat/Chat.svelte | 7 -------
1 file changed, 7 deletions(-)
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index 102453dc0f..1ef0c1a290 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -9,7 +9,6 @@
import { goto } from '$app/navigation';
import { page } from '$app/stores';
- import { loadGoogleAuthApi, loadGoogleDriveApi, createPicker } from '$lib/utils/google-drive-picker';
import { get, type Unsubscriber, type Writable } from 'svelte/store';
import type { i18n as i18nType } from 'i18next';
@@ -301,12 +300,6 @@
};
onMount(async () => {
- // Initialize Google APIs
- await Promise.all([
- loadGoogleAuthApi(),
- loadGoogleDriveApi()
- ]);
-
window.addEventListener('message', onMessageHandler);
$socket?.on('chat-events', chatEventHandler);
From 85508106a8ecbfde153404dc4e213b2cc8b367d8 Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Sun, 15 Dec 2024 16:36:45 -0500
Subject: [PATCH 010/385] fix: Improve Google Drive picker initialization and
error handling
---
src/lib/components/chat/MessageInput.svelte | 4 ++++
src/lib/utils/google-drive-picker.ts | 13 +++++++++----
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 1303cf373a..1789983fc5 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -498,11 +498,15 @@
}}
uploadGoogleDriveHandler={async () => {
try {
+ if (!import.meta.env.VITE_GOOGLE_API_KEY || !import.meta.env.VITE_GOOGLE_CLIENT_ID) {
+ throw new Error('Google Drive API credentials not configured');
+ }
const fileData = await createPicker();
if (fileData) {
dispatch('upload', { type: 'google-drive', data: fileData });
}
} catch (error) {
+ console.error('Google Drive Error:', error);
toast.error('Error accessing Google Drive: ' + error.message);
}
}}
diff --git a/src/lib/utils/google-drive-picker.ts b/src/lib/utils/google-drive-picker.ts
index 4a332c79a0..cfd030c200 100644
--- a/src/lib/utils/google-drive-picker.ts
+++ b/src/lib/utils/google-drive-picker.ts
@@ -5,6 +5,7 @@ const SCOPE = ['https://www.googleapis.com/auth/drive.readonly'];
let pickerApiLoaded = false;
let oauthToken: string | null = null;
+let initialized = false;
export const loadGoogleDriveApi = () => {
return new Promise((resolve, reject) => {
@@ -62,13 +63,17 @@ export const getAuthToken = async () => {
return oauthToken;
};
+const initialize = async () => {
+ if (!initialized) {
+ await Promise.all([loadGoogleDriveApi(), loadGoogleAuthApi()]);
+ initialized = true;
+ }
+};
+
export const createPicker = () => {
return new Promise(async (resolve, reject) => {
try {
- if (!pickerApiLoaded) {
- await loadGoogleDriveApi();
- }
-
+ await initialize();
const token = await getAuthToken();
if (!token) {
throw new Error('Unable to get OAuth token');
From f29dc2f86547a41fe78d9887bbae5ed6c1a7e7fe Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Sun, 15 Dec 2024 16:53:07 -0500
Subject: [PATCH 011/385] fix: Add missing import for createPicker in
MessageInput.svelte
---
src/lib/components/chat/MessageInput.svelte | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 1789983fc5..092c214e88 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -1,6 +1,7 @@
'),
+ (s = s.removeChild(s.firstChild)))
+ : 'string' == typeof u.is
+ ? (s = C.createElement(i, { is: u.is }))
+ : ((s = C.createElement(i)),
+ 'select' === i &&
+ ((C = s),
+ u.multiple ? (C.multiple = !0) : u.size && (C.size = u.size)))
+ : (s = C.createElementNS(s, i)),
+ (s[dn] = o),
+ (s[fn] = u),
+ Es(s, o, !1, !1),
+ (o.stateNode = s);
+ e: {
+ switch (((C = vb(i, u)), i)) {
+ case 'dialog':
+ D('cancel', s), D('close', s), (_ = u);
+ break;
+ case 'iframe':
+ case 'object':
+ case 'embed':
+ D('load', s), (_ = u);
+ break;
+ case 'video':
+ case 'audio':
+ for (_ = 0; _ < en.length; _++) D(en[_], s);
+ _ = u;
+ break;
+ case 'source':
+ D('error', s), (_ = u);
+ break;
+ case 'img':
+ case 'image':
+ case 'link':
+ D('error', s), D('load', s), (_ = u);
+ break;
+ case 'details':
+ D('toggle', s), (_ = u);
+ break;
+ case 'input':
+ Za(s, u), (_ = Ya(s, u)), D('invalid', s);
+ break;
+ case 'option':
+ default:
+ _ = u;
+ break;
+ case 'select':
+ (s._wrapperState = { wasMultiple: !!u.multiple }),
+ (_ = xe({}, u, { value: void 0 })),
+ D('invalid', s);
+ break;
+ case 'textarea':
+ hb(s, u), (_ = gb(s, u)), D('invalid', s);
+ }
+ for (w in (ub(i, _), (j = _)))
+ if (j.hasOwnProperty(w)) {
+ var L = j[w];
+ 'style' === w
+ ? sb(s, L)
+ : 'dangerouslySetInnerHTML' === w
+ ? null != (L = L ? L.__html : void 0) && $e(s, L)
+ : 'children' === w
+ ? 'string' == typeof L
+ ? ('textarea' !== i || '' !== L) && ob(s, L)
+ : 'number' == typeof L && ob(s, '' + L)
+ : 'suppressContentEditableWarning' !== w &&
+ 'suppressHydrationWarning' !== w &&
+ 'autoFocus' !== w &&
+ (x.hasOwnProperty(w)
+ ? null != L && 'onScroll' === w && D('scroll', s)
+ : null != L && ta(s, w, L, C));
+ }
+ switch (i) {
+ case 'input':
+ Va(s), db(s, u, !1);
+ break;
+ case 'textarea':
+ Va(s), jb(s);
+ break;
+ case 'option':
+ null != u.value && s.setAttribute('value', '' + Sa(u.value));
+ break;
+ case 'select':
+ (s.multiple = !!u.multiple),
+ null != (w = u.value)
+ ? fb(s, !!u.multiple, w, !1)
+ : null != u.defaultValue && fb(s, !!u.multiple, u.defaultValue, !0);
+ break;
+ default:
+ 'function' == typeof _.onClick && (s.onclick = Bf);
+ }
+ switch (i) {
+ case 'button':
+ case 'input':
+ case 'select':
+ case 'textarea':
+ u = !!u.autoFocus;
+ break e;
+ case 'img':
+ u = !0;
+ break e;
+ default:
+ u = !1;
+ }
+ }
+ u && (o.flags |= 4);
+ }
+ null !== o.ref && ((o.flags |= 512), (o.flags |= 2097152));
+ }
+ return S(o), null;
+ case 6:
+ if (s && null != o.stateNode) xs(s, o, s.memoizedProps, u);
+ else {
+ if ('string' != typeof u && null === o.stateNode) throw Error(p(166));
+ if (((i = xh(Qn.current)), xh(Xn.current), Gg(o))) {
+ if (
+ ((u = o.stateNode),
+ (i = o.memoizedProps),
+ (u[dn] = o),
+ (w = u.nodeValue !== i) && null !== (s = Ln))
+ )
+ switch (s.tag) {
+ case 3:
+ Af(u.nodeValue, i, !!(1 & s.mode));
+ break;
+ case 5:
+ !0 !== s.memoizedProps.suppressHydrationWarning &&
+ Af(u.nodeValue, i, !!(1 & s.mode));
+ }
+ w && (o.flags |= 4);
+ } else
+ ((u = (9 === i.nodeType ? i : i.ownerDocument).createTextNode(u))[dn] = o),
+ (o.stateNode = u);
+ }
+ return S(o), null;
+ case 13:
+ if (
+ (E(es),
+ (u = o.memoizedState),
+ null === s || (null !== s.memoizedState && null !== s.memoizedState.dehydrated))
+ ) {
+ if (Fn && null !== Bn && 1 & o.mode && !(128 & o.flags))
+ Hg(), Ig(), (o.flags |= 98560), (w = !1);
+ else if (((w = Gg(o)), null !== u && null !== u.dehydrated)) {
+ if (null === s) {
+ if (!w) throw Error(p(318));
+ if (!(w = null !== (w = o.memoizedState) ? w.dehydrated : null))
+ throw Error(p(317));
+ w[dn] = o;
+ } else Ig(), !(128 & o.flags) && (o.memoizedState = null), (o.flags |= 4);
+ S(o), (w = !1);
+ } else null !== qn && (Fj(qn), (qn = null)), (w = !0);
+ if (!w) return 65536 & o.flags ? o : null;
+ }
+ return 128 & o.flags
+ ? ((o.lanes = i), o)
+ : ((u = null !== u) !== (null !== s && null !== s.memoizedState) &&
+ u &&
+ ((o.child.flags |= 8192),
+ 1 & o.mode && (null === s || 1 & es.current ? 0 === zs && (zs = 3) : tj())),
+ null !== o.updateQueue && (o.flags |= 4),
+ S(o),
+ null);
+ case 4:
+ return zh(), ws(s, o), null === s && sf(o.stateNode.containerInfo), S(o), null;
+ case 10:
+ return ah(o.type._context), S(o), null;
+ case 19:
+ if ((E(es), null === (w = o.memoizedState))) return S(o), null;
+ if (((u = !!(128 & o.flags)), null === (C = w.rendering)))
+ if (u) Dj(w, !1);
+ else {
+ if (0 !== zs || (null !== s && 128 & s.flags))
+ for (s = o.child; null !== s; ) {
+ if (null !== (C = Ch(s))) {
+ for (
+ o.flags |= 128,
+ Dj(w, !1),
+ null !== (u = C.updateQueue) && ((o.updateQueue = u), (o.flags |= 4)),
+ o.subtreeFlags = 0,
+ u = i,
+ i = o.child;
+ null !== i;
+
+ )
+ (s = u),
+ ((w = i).flags &= 14680066),
+ null === (C = w.alternate)
+ ? ((w.childLanes = 0),
+ (w.lanes = s),
+ (w.child = null),
+ (w.subtreeFlags = 0),
+ (w.memoizedProps = null),
+ (w.memoizedState = null),
+ (w.updateQueue = null),
+ (w.dependencies = null),
+ (w.stateNode = null))
+ : ((w.childLanes = C.childLanes),
+ (w.lanes = C.lanes),
+ (w.child = C.child),
+ (w.subtreeFlags = 0),
+ (w.deletions = null),
+ (w.memoizedProps = C.memoizedProps),
+ (w.memoizedState = C.memoizedState),
+ (w.updateQueue = C.updateQueue),
+ (w.type = C.type),
+ (s = C.dependencies),
+ (w.dependencies =
+ null === s
+ ? null
+ : { lanes: s.lanes, firstContext: s.firstContext })),
+ (i = i.sibling);
+ return G(es, (1 & es.current) | 2), o.child;
+ }
+ s = s.sibling;
+ }
+ null !== w.tail &&
+ dt() > Zs &&
+ ((o.flags |= 128), (u = !0), Dj(w, !1), (o.lanes = 4194304));
+ }
+ else {
+ if (!u)
+ if (null !== (s = Ch(C))) {
+ if (
+ ((o.flags |= 128),
+ (u = !0),
+ null !== (i = s.updateQueue) && ((o.updateQueue = i), (o.flags |= 4)),
+ Dj(w, !0),
+ null === w.tail && 'hidden' === w.tailMode && !C.alternate && !Fn)
+ )
+ return S(o), null;
+ } else
+ 2 * dt() - w.renderingStartTime > Zs &&
+ 1073741824 !== i &&
+ ((o.flags |= 128), (u = !0), Dj(w, !1), (o.lanes = 4194304));
+ w.isBackwards
+ ? ((C.sibling = o.child), (o.child = C))
+ : (null !== (i = w.last) ? (i.sibling = C) : (o.child = C), (w.last = C));
+ }
+ return null !== w.tail
+ ? ((o = w.tail),
+ (w.rendering = o),
+ (w.tail = o.sibling),
+ (w.renderingStartTime = dt()),
+ (o.sibling = null),
+ (i = es.current),
+ G(es, u ? (1 & i) | 2 : 1 & i),
+ o)
+ : (S(o), null);
+ case 22:
+ case 23:
+ return (
+ Hj(),
+ (u = null !== o.memoizedState),
+ null !== s && (null !== s.memoizedState) !== u && (o.flags |= 8192),
+ u && 1 & o.mode
+ ? !!(1073741824 & Vs) && (S(o), 6 & o.subtreeFlags && (o.flags |= 8192))
+ : S(o),
+ null
+ );
+ case 24:
+ case 25:
+ return null;
+ }
+ throw Error(p(156, o.tag));
+ }
+ function Ij(s, o) {
+ switch ((wg(o), o.tag)) {
+ case 1:
+ return (
+ Zf(o.type) && $f(),
+ 65536 & (s = o.flags) ? ((o.flags = (-65537 & s) | 128), o) : null
+ );
+ case 3:
+ return (
+ zh(),
+ E(Sn),
+ E(wn),
+ Eh(),
+ 65536 & (s = o.flags) && !(128 & s) ? ((o.flags = (-65537 & s) | 128), o) : null
+ );
+ case 5:
+ return Bh(o), null;
+ case 13:
+ if ((E(es), null !== (s = o.memoizedState) && null !== s.dehydrated)) {
+ if (null === o.alternate) throw Error(p(340));
+ Ig();
+ }
+ return 65536 & (s = o.flags) ? ((o.flags = (-65537 & s) | 128), o) : null;
+ case 19:
+ return E(es), null;
+ case 4:
+ return zh(), null;
+ case 10:
+ return ah(o.type._context), null;
+ case 22:
+ case 23:
+ return Hj(), null;
+ default:
+ return null;
+ }
+ }
+ (Es = function (s, o) {
+ for (var i = o.child; null !== i; ) {
+ if (5 === i.tag || 6 === i.tag) s.appendChild(i.stateNode);
+ else if (4 !== i.tag && null !== i.child) {
+ (i.child.return = i), (i = i.child);
+ continue;
+ }
+ if (i === o) break;
+ for (; null === i.sibling; ) {
+ if (null === i.return || i.return === o) return;
+ i = i.return;
+ }
+ (i.sibling.return = i.return), (i = i.sibling);
+ }
+ }),
+ (ws = function () {}),
+ (Ss = function (s, o, i, u) {
+ var _ = s.memoizedProps;
+ if (_ !== u) {
+ (s = o.stateNode), xh(Xn.current);
+ var w,
+ C = null;
+ switch (i) {
+ case 'input':
+ (_ = Ya(s, _)), (u = Ya(s, u)), (C = []);
+ break;
+ case 'select':
+ (_ = xe({}, _, { value: void 0 })),
+ (u = xe({}, u, { value: void 0 })),
+ (C = []);
+ break;
+ case 'textarea':
+ (_ = gb(s, _)), (u = gb(s, u)), (C = []);
+ break;
+ default:
+ 'function' != typeof _.onClick &&
+ 'function' == typeof u.onClick &&
+ (s.onclick = Bf);
+ }
+ for (B in (ub(i, u), (i = null), _))
+ if (!u.hasOwnProperty(B) && _.hasOwnProperty(B) && null != _[B])
+ if ('style' === B) {
+ var j = _[B];
+ for (w in j) j.hasOwnProperty(w) && (i || (i = {}), (i[w] = ''));
+ } else
+ 'dangerouslySetInnerHTML' !== B &&
+ 'children' !== B &&
+ 'suppressContentEditableWarning' !== B &&
+ 'suppressHydrationWarning' !== B &&
+ 'autoFocus' !== B &&
+ (x.hasOwnProperty(B) ? C || (C = []) : (C = C || []).push(B, null));
+ for (B in u) {
+ var L = u[B];
+ if (
+ ((j = null != _ ? _[B] : void 0),
+ u.hasOwnProperty(B) && L !== j && (null != L || null != j))
+ )
+ if ('style' === B)
+ if (j) {
+ for (w in j)
+ !j.hasOwnProperty(w) ||
+ (L && L.hasOwnProperty(w)) ||
+ (i || (i = {}), (i[w] = ''));
+ for (w in L)
+ L.hasOwnProperty(w) && j[w] !== L[w] && (i || (i = {}), (i[w] = L[w]));
+ } else i || (C || (C = []), C.push(B, i)), (i = L);
+ else
+ 'dangerouslySetInnerHTML' === B
+ ? ((L = L ? L.__html : void 0),
+ (j = j ? j.__html : void 0),
+ null != L && j !== L && (C = C || []).push(B, L))
+ : 'children' === B
+ ? ('string' != typeof L && 'number' != typeof L) ||
+ (C = C || []).push(B, '' + L)
+ : 'suppressContentEditableWarning' !== B &&
+ 'suppressHydrationWarning' !== B &&
+ (x.hasOwnProperty(B)
+ ? (null != L && 'onScroll' === B && D('scroll', s),
+ C || j === L || (C = []))
+ : (C = C || []).push(B, L));
+ }
+ i && (C = C || []).push('style', i);
+ var B = C;
+ (o.updateQueue = B) && (o.flags |= 4);
+ }
+ }),
+ (xs = function (s, o, i, u) {
+ i !== u && (o.flags |= 4);
+ });
+ var Cs = !1,
+ Os = !1,
+ As = 'function' == typeof WeakSet ? WeakSet : Set,
+ js = null;
+ function Lj(s, o) {
+ var i = s.ref;
+ if (null !== i)
+ if ('function' == typeof i)
+ try {
+ i(null);
+ } catch (i) {
+ W(s, o, i);
+ }
+ else i.current = null;
+ }
+ function Mj(s, o, i) {
+ try {
+ i();
+ } catch (i) {
+ W(s, o, i);
+ }
+ }
+ var Is = !1;
+ function Pj(s, o, i) {
+ var u = o.updateQueue;
+ if (null !== (u = null !== u ? u.lastEffect : null)) {
+ var _ = (u = u.next);
+ do {
+ if ((_.tag & s) === s) {
+ var w = _.destroy;
+ (_.destroy = void 0), void 0 !== w && Mj(o, i, w);
+ }
+ _ = _.next;
+ } while (_ !== u);
+ }
+ }
+ function Qj(s, o) {
+ if (null !== (o = null !== (o = o.updateQueue) ? o.lastEffect : null)) {
+ var i = (o = o.next);
+ do {
+ if ((i.tag & s) === s) {
+ var u = i.create;
+ i.destroy = u();
+ }
+ i = i.next;
+ } while (i !== o);
+ }
+ }
+ function Rj(s) {
+ var o = s.ref;
+ if (null !== o) {
+ var i = s.stateNode;
+ s.tag, (s = i), 'function' == typeof o ? o(s) : (o.current = s);
+ }
+ }
+ function Sj(s) {
+ var o = s.alternate;
+ null !== o && ((s.alternate = null), Sj(o)),
+ (s.child = null),
+ (s.deletions = null),
+ (s.sibling = null),
+ 5 === s.tag &&
+ null !== (o = s.stateNode) &&
+ (delete o[dn], delete o[fn], delete o[gn], delete o[yn], delete o[vn]),
+ (s.stateNode = null),
+ (s.return = null),
+ (s.dependencies = null),
+ (s.memoizedProps = null),
+ (s.memoizedState = null),
+ (s.pendingProps = null),
+ (s.stateNode = null),
+ (s.updateQueue = null);
+ }
+ function Tj(s) {
+ return 5 === s.tag || 3 === s.tag || 4 === s.tag;
+ }
+ function Uj(s) {
+ e: for (;;) {
+ for (; null === s.sibling; ) {
+ if (null === s.return || Tj(s.return)) return null;
+ s = s.return;
+ }
+ for (
+ s.sibling.return = s.return, s = s.sibling;
+ 5 !== s.tag && 6 !== s.tag && 18 !== s.tag;
+
+ ) {
+ if (2 & s.flags) continue e;
+ if (null === s.child || 4 === s.tag) continue e;
+ (s.child.return = s), (s = s.child);
+ }
+ if (!(2 & s.flags)) return s.stateNode;
+ }
+ }
+ function Vj(s, o, i) {
+ var u = s.tag;
+ if (5 === u || 6 === u)
+ (s = s.stateNode),
+ o
+ ? 8 === i.nodeType
+ ? i.parentNode.insertBefore(s, o)
+ : i.insertBefore(s, o)
+ : (8 === i.nodeType
+ ? (o = i.parentNode).insertBefore(s, i)
+ : (o = i).appendChild(s),
+ null != (i = i._reactRootContainer) || null !== o.onclick || (o.onclick = Bf));
+ else if (4 !== u && null !== (s = s.child))
+ for (Vj(s, o, i), s = s.sibling; null !== s; ) Vj(s, o, i), (s = s.sibling);
+ }
+ function Wj(s, o, i) {
+ var u = s.tag;
+ if (5 === u || 6 === u) (s = s.stateNode), o ? i.insertBefore(s, o) : i.appendChild(s);
+ else if (4 !== u && null !== (s = s.child))
+ for (Wj(s, o, i), s = s.sibling; null !== s; ) Wj(s, o, i), (s = s.sibling);
+ }
+ var Ps = null,
+ Ms = !1;
+ function Yj(s, o, i) {
+ for (i = i.child; null !== i; ) Zj(s, o, i), (i = i.sibling);
+ }
+ function Zj(s, o, i) {
+ if (wt && 'function' == typeof wt.onCommitFiberUnmount)
+ try {
+ wt.onCommitFiberUnmount(Et, i);
+ } catch (s) {}
+ switch (i.tag) {
+ case 5:
+ Os || Lj(i, o);
+ case 6:
+ var u = Ps,
+ _ = Ms;
+ (Ps = null),
+ Yj(s, o, i),
+ (Ms = _),
+ null !== (Ps = u) &&
+ (Ms
+ ? ((s = Ps),
+ (i = i.stateNode),
+ 8 === s.nodeType ? s.parentNode.removeChild(i) : s.removeChild(i))
+ : Ps.removeChild(i.stateNode));
+ break;
+ case 18:
+ null !== Ps &&
+ (Ms
+ ? ((s = Ps),
+ (i = i.stateNode),
+ 8 === s.nodeType ? Kf(s.parentNode, i) : 1 === s.nodeType && Kf(s, i),
+ bd(s))
+ : Kf(Ps, i.stateNode));
+ break;
+ case 4:
+ (u = Ps),
+ (_ = Ms),
+ (Ps = i.stateNode.containerInfo),
+ (Ms = !0),
+ Yj(s, o, i),
+ (Ps = u),
+ (Ms = _);
+ break;
+ case 0:
+ case 11:
+ case 14:
+ case 15:
+ if (!Os && null !== (u = i.updateQueue) && null !== (u = u.lastEffect)) {
+ _ = u = u.next;
+ do {
+ var w = _,
+ x = w.destroy;
+ (w = w.tag), void 0 !== x && (2 & w || 4 & w) && Mj(i, o, x), (_ = _.next);
+ } while (_ !== u);
+ }
+ Yj(s, o, i);
+ break;
+ case 1:
+ if (!Os && (Lj(i, o), 'function' == typeof (u = i.stateNode).componentWillUnmount))
+ try {
+ (u.props = i.memoizedProps),
+ (u.state = i.memoizedState),
+ u.componentWillUnmount();
+ } catch (s) {
+ W(i, o, s);
+ }
+ Yj(s, o, i);
+ break;
+ case 21:
+ Yj(s, o, i);
+ break;
+ case 22:
+ 1 & i.mode
+ ? ((Os = (u = Os) || null !== i.memoizedState), Yj(s, o, i), (Os = u))
+ : Yj(s, o, i);
+ break;
+ default:
+ Yj(s, o, i);
+ }
+ }
+ function ak(s) {
+ var o = s.updateQueue;
+ if (null !== o) {
+ s.updateQueue = null;
+ var i = s.stateNode;
+ null === i && (i = s.stateNode = new As()),
+ o.forEach(function (o) {
+ var u = bk.bind(null, s, o);
+ i.has(o) || (i.add(o), o.then(u, u));
+ });
+ }
+ }
+ function ck(s, o) {
+ var i = o.deletions;
+ if (null !== i)
+ for (var u = 0; u < i.length; u++) {
+ var _ = i[u];
+ try {
+ var w = s,
+ x = o,
+ C = x;
+ e: for (; null !== C; ) {
+ switch (C.tag) {
+ case 5:
+ (Ps = C.stateNode), (Ms = !1);
+ break e;
+ case 3:
+ case 4:
+ (Ps = C.stateNode.containerInfo), (Ms = !0);
+ break e;
+ }
+ C = C.return;
+ }
+ if (null === Ps) throw Error(p(160));
+ Zj(w, x, _), (Ps = null), (Ms = !1);
+ var j = _.alternate;
+ null !== j && (j.return = null), (_.return = null);
+ } catch (s) {
+ W(_, o, s);
+ }
+ }
+ if (12854 & o.subtreeFlags) for (o = o.child; null !== o; ) dk(o, s), (o = o.sibling);
+ }
+ function dk(s, o) {
+ var i = s.alternate,
+ u = s.flags;
+ switch (s.tag) {
+ case 0:
+ case 11:
+ case 14:
+ case 15:
+ if ((ck(o, s), ek(s), 4 & u)) {
+ try {
+ Pj(3, s, s.return), Qj(3, s);
+ } catch (o) {
+ W(s, s.return, o);
+ }
+ try {
+ Pj(5, s, s.return);
+ } catch (o) {
+ W(s, s.return, o);
+ }
+ }
+ break;
+ case 1:
+ ck(o, s), ek(s), 512 & u && null !== i && Lj(i, i.return);
+ break;
+ case 5:
+ if ((ck(o, s), ek(s), 512 & u && null !== i && Lj(i, i.return), 32 & s.flags)) {
+ var _ = s.stateNode;
+ try {
+ ob(_, '');
+ } catch (o) {
+ W(s, s.return, o);
+ }
+ }
+ if (4 & u && null != (_ = s.stateNode)) {
+ var w = s.memoizedProps,
+ x = null !== i ? i.memoizedProps : w,
+ C = s.type,
+ j = s.updateQueue;
+ if (((s.updateQueue = null), null !== j))
+ try {
+ 'input' === C && 'radio' === w.type && null != w.name && ab(_, w), vb(C, x);
+ var L = vb(C, w);
+ for (x = 0; x < j.length; x += 2) {
+ var B = j[x],
+ $ = j[x + 1];
+ 'style' === B
+ ? sb(_, $)
+ : 'dangerouslySetInnerHTML' === B
+ ? $e(_, $)
+ : 'children' === B
+ ? ob(_, $)
+ : ta(_, B, $, L);
+ }
+ switch (C) {
+ case 'input':
+ bb(_, w);
+ break;
+ case 'textarea':
+ ib(_, w);
+ break;
+ case 'select':
+ var V = _._wrapperState.wasMultiple;
+ _._wrapperState.wasMultiple = !!w.multiple;
+ var U = w.value;
+ null != U
+ ? fb(_, !!w.multiple, U, !1)
+ : V !== !!w.multiple &&
+ (null != w.defaultValue
+ ? fb(_, !!w.multiple, w.defaultValue, !0)
+ : fb(_, !!w.multiple, w.multiple ? [] : '', !1));
+ }
+ _[fn] = w;
+ } catch (o) {
+ W(s, s.return, o);
+ }
+ }
+ break;
+ case 6:
+ if ((ck(o, s), ek(s), 4 & u)) {
+ if (null === s.stateNode) throw Error(p(162));
+ (_ = s.stateNode), (w = s.memoizedProps);
+ try {
+ _.nodeValue = w;
+ } catch (o) {
+ W(s, s.return, o);
+ }
+ }
+ break;
+ case 3:
+ if ((ck(o, s), ek(s), 4 & u && null !== i && i.memoizedState.isDehydrated))
+ try {
+ bd(o.containerInfo);
+ } catch (o) {
+ W(s, s.return, o);
+ }
+ break;
+ case 4:
+ default:
+ ck(o, s), ek(s);
+ break;
+ case 13:
+ ck(o, s),
+ ek(s),
+ 8192 & (_ = s.child).flags &&
+ ((w = null !== _.memoizedState),
+ (_.stateNode.isHidden = w),
+ !w ||
+ (null !== _.alternate && null !== _.alternate.memoizedState) ||
+ (Xs = dt())),
+ 4 & u && ak(s);
+ break;
+ case 22:
+ if (
+ ((B = null !== i && null !== i.memoizedState),
+ 1 & s.mode ? ((Os = (L = Os) || B), ck(o, s), (Os = L)) : ck(o, s),
+ ek(s),
+ 8192 & u)
+ ) {
+ if (
+ ((L = null !== s.memoizedState), (s.stateNode.isHidden = L) && !B && 1 & s.mode)
+ )
+ for (js = s, B = s.child; null !== B; ) {
+ for ($ = js = B; null !== js; ) {
+ switch (((U = (V = js).child), V.tag)) {
+ case 0:
+ case 11:
+ case 14:
+ case 15:
+ Pj(4, V, V.return);
+ break;
+ case 1:
+ Lj(V, V.return);
+ var z = V.stateNode;
+ if ('function' == typeof z.componentWillUnmount) {
+ (u = V), (i = V.return);
+ try {
+ (o = u),
+ (z.props = o.memoizedProps),
+ (z.state = o.memoizedState),
+ z.componentWillUnmount();
+ } catch (s) {
+ W(u, i, s);
+ }
+ }
+ break;
+ case 5:
+ Lj(V, V.return);
+ break;
+ case 22:
+ if (null !== V.memoizedState) {
+ gk($);
+ continue;
+ }
+ }
+ null !== U ? ((U.return = V), (js = U)) : gk($);
+ }
+ B = B.sibling;
+ }
+ e: for (B = null, $ = s; ; ) {
+ if (5 === $.tag) {
+ if (null === B) {
+ B = $;
+ try {
+ (_ = $.stateNode),
+ L
+ ? 'function' == typeof (w = _.style).setProperty
+ ? w.setProperty('display', 'none', 'important')
+ : (w.display = 'none')
+ : ((C = $.stateNode),
+ (x =
+ null != (j = $.memoizedProps.style) && j.hasOwnProperty('display')
+ ? j.display
+ : null),
+ (C.style.display = rb('display', x)));
+ } catch (o) {
+ W(s, s.return, o);
+ }
+ }
+ } else if (6 === $.tag) {
+ if (null === B)
+ try {
+ $.stateNode.nodeValue = L ? '' : $.memoizedProps;
+ } catch (o) {
+ W(s, s.return, o);
+ }
+ } else if (
+ ((22 !== $.tag && 23 !== $.tag) || null === $.memoizedState || $ === s) &&
+ null !== $.child
+ ) {
+ ($.child.return = $), ($ = $.child);
+ continue;
+ }
+ if ($ === s) break e;
+ for (; null === $.sibling; ) {
+ if (null === $.return || $.return === s) break e;
+ B === $ && (B = null), ($ = $.return);
+ }
+ B === $ && (B = null), ($.sibling.return = $.return), ($ = $.sibling);
+ }
+ }
+ break;
+ case 19:
+ ck(o, s), ek(s), 4 & u && ak(s);
+ case 21:
+ }
+ }
+ function ek(s) {
+ var o = s.flags;
+ if (2 & o) {
+ try {
+ e: {
+ for (var i = s.return; null !== i; ) {
+ if (Tj(i)) {
+ var u = i;
+ break e;
+ }
+ i = i.return;
+ }
+ throw Error(p(160));
+ }
+ switch (u.tag) {
+ case 5:
+ var _ = u.stateNode;
+ 32 & u.flags && (ob(_, ''), (u.flags &= -33)), Wj(s, Uj(s), _);
+ break;
+ case 3:
+ case 4:
+ var w = u.stateNode.containerInfo;
+ Vj(s, Uj(s), w);
+ break;
+ default:
+ throw Error(p(161));
+ }
+ } catch (o) {
+ W(s, s.return, o);
+ }
+ s.flags &= -3;
+ }
+ 4096 & o && (s.flags &= -4097);
+ }
+ function hk(s, o, i) {
+ (js = s), ik(s, o, i);
+ }
+ function ik(s, o, i) {
+ for (var u = !!(1 & s.mode); null !== js; ) {
+ var _ = js,
+ w = _.child;
+ if (22 === _.tag && u) {
+ var x = null !== _.memoizedState || Cs;
+ if (!x) {
+ var C = _.alternate,
+ j = (null !== C && null !== C.memoizedState) || Os;
+ C = Cs;
+ var L = Os;
+ if (((Cs = x), (Os = j) && !L))
+ for (js = _; null !== js; )
+ (j = (x = js).child),
+ 22 === x.tag && null !== x.memoizedState
+ ? jk(_)
+ : null !== j
+ ? ((j.return = x), (js = j))
+ : jk(_);
+ for (; null !== w; ) (js = w), ik(w, o, i), (w = w.sibling);
+ (js = _), (Cs = C), (Os = L);
+ }
+ kk(s);
+ } else 8772 & _.subtreeFlags && null !== w ? ((w.return = _), (js = w)) : kk(s);
+ }
+ }
+ function kk(s) {
+ for (; null !== js; ) {
+ var o = js;
+ if (8772 & o.flags) {
+ var i = o.alternate;
+ try {
+ if (8772 & o.flags)
+ switch (o.tag) {
+ case 0:
+ case 11:
+ case 15:
+ Os || Qj(5, o);
+ break;
+ case 1:
+ var u = o.stateNode;
+ if (4 & o.flags && !Os)
+ if (null === i) u.componentDidMount();
+ else {
+ var _ =
+ o.elementType === o.type
+ ? i.memoizedProps
+ : Ci(o.type, i.memoizedProps);
+ u.componentDidUpdate(
+ _,
+ i.memoizedState,
+ u.__reactInternalSnapshotBeforeUpdate
+ );
+ }
+ var w = o.updateQueue;
+ null !== w && sh(o, w, u);
+ break;
+ case 3:
+ var x = o.updateQueue;
+ if (null !== x) {
+ if (((i = null), null !== o.child))
+ switch (o.child.tag) {
+ case 5:
+ case 1:
+ i = o.child.stateNode;
+ }
+ sh(o, x, i);
+ }
+ break;
+ case 5:
+ var C = o.stateNode;
+ if (null === i && 4 & o.flags) {
+ i = C;
+ var j = o.memoizedProps;
+ switch (o.type) {
+ case 'button':
+ case 'input':
+ case 'select':
+ case 'textarea':
+ j.autoFocus && i.focus();
+ break;
+ case 'img':
+ j.src && (i.src = j.src);
+ }
+ }
+ break;
+ case 6:
+ case 4:
+ case 12:
+ case 19:
+ case 17:
+ case 21:
+ case 22:
+ case 23:
+ case 25:
+ break;
+ case 13:
+ if (null === o.memoizedState) {
+ var L = o.alternate;
+ if (null !== L) {
+ var B = L.memoizedState;
+ if (null !== B) {
+ var $ = B.dehydrated;
+ null !== $ && bd($);
+ }
+ }
+ }
+ break;
+ default:
+ throw Error(p(163));
+ }
+ Os || (512 & o.flags && Rj(o));
+ } catch (s) {
+ W(o, o.return, s);
+ }
+ }
+ if (o === s) {
+ js = null;
+ break;
+ }
+ if (null !== (i = o.sibling)) {
+ (i.return = o.return), (js = i);
+ break;
+ }
+ js = o.return;
+ }
+ }
+ function gk(s) {
+ for (; null !== js; ) {
+ var o = js;
+ if (o === s) {
+ js = null;
+ break;
+ }
+ var i = o.sibling;
+ if (null !== i) {
+ (i.return = o.return), (js = i);
+ break;
+ }
+ js = o.return;
+ }
+ }
+ function jk(s) {
+ for (; null !== js; ) {
+ var o = js;
+ try {
+ switch (o.tag) {
+ case 0:
+ case 11:
+ case 15:
+ var i = o.return;
+ try {
+ Qj(4, o);
+ } catch (s) {
+ W(o, i, s);
+ }
+ break;
+ case 1:
+ var u = o.stateNode;
+ if ('function' == typeof u.componentDidMount) {
+ var _ = o.return;
+ try {
+ u.componentDidMount();
+ } catch (s) {
+ W(o, _, s);
+ }
+ }
+ var w = o.return;
+ try {
+ Rj(o);
+ } catch (s) {
+ W(o, w, s);
+ }
+ break;
+ case 5:
+ var x = o.return;
+ try {
+ Rj(o);
+ } catch (s) {
+ W(o, x, s);
+ }
+ }
+ } catch (s) {
+ W(o, o.return, s);
+ }
+ if (o === s) {
+ js = null;
+ break;
+ }
+ var C = o.sibling;
+ if (null !== C) {
+ (C.return = o.return), (js = C);
+ break;
+ }
+ js = o.return;
+ }
+ }
+ var Ts,
+ Ns = Math.ceil,
+ Rs = z.ReactCurrentDispatcher,
+ Ds = z.ReactCurrentOwner,
+ Ls = z.ReactCurrentBatchConfig,
+ Bs = 0,
+ Fs = null,
+ qs = null,
+ $s = 0,
+ Vs = 0,
+ Us = Uf(0),
+ zs = 0,
+ Ws = null,
+ Ks = 0,
+ Hs = 0,
+ Js = 0,
+ Gs = null,
+ Ys = null,
+ Xs = 0,
+ Zs = 1 / 0,
+ Qs = null,
+ eo = !1,
+ to = null,
+ ro = null,
+ no = !1,
+ so = null,
+ oo = 0,
+ io = 0,
+ ao = null,
+ lo = -1,
+ co = 0;
+ function R() {
+ return 6 & Bs ? dt() : -1 !== lo ? lo : (lo = dt());
+ }
+ function yi(s) {
+ return 1 & s.mode
+ ? 2 & Bs && 0 !== $s
+ ? $s & -$s
+ : null !== $n.transition
+ ? (0 === co && (co = yc()), co)
+ : 0 !== (s = At)
+ ? s
+ : (s = void 0 === (s = window.event) ? 16 : jd(s.type))
+ : 1;
+ }
+ function gi(s, o, i, u) {
+ if (50 < io) throw ((io = 0), (ao = null), Error(p(185)));
+ Ac(s, i, u),
+ (2 & Bs && s === Fs) ||
+ (s === Fs && (!(2 & Bs) && (Hs |= i), 4 === zs && Ck(s, $s)),
+ Dk(s, u),
+ 1 === i && 0 === Bs && !(1 & o.mode) && ((Zs = dt() + 500), Cn && jg()));
+ }
+ function Dk(s, o) {
+ var i = s.callbackNode;
+ !(function wc(s, o) {
+ for (
+ var i = s.suspendedLanes,
+ u = s.pingedLanes,
+ _ = s.expirationTimes,
+ w = s.pendingLanes;
+ 0 < w;
+
+ ) {
+ var x = 31 - St(w),
+ C = 1 << x,
+ j = _[x];
+ -1 === j
+ ? (C & i && !(C & u)) || (_[x] = vc(C, o))
+ : j <= o && (s.expiredLanes |= C),
+ (w &= ~C);
+ }
+ })(s, o);
+ var u = uc(s, s === Fs ? $s : 0);
+ if (0 === u) null !== i && ut(i), (s.callbackNode = null), (s.callbackPriority = 0);
+ else if (((o = u & -u), s.callbackPriority !== o)) {
+ if ((null != i && ut(i), 1 === o))
+ 0 === s.tag
+ ? (function ig(s) {
+ (Cn = !0), hg(s);
+ })(Ek.bind(null, s))
+ : hg(Ek.bind(null, s)),
+ pn(function () {
+ !(6 & Bs) && jg();
+ }),
+ (i = null);
+ else {
+ switch (Dc(u)) {
+ case 1:
+ i = gt;
+ break;
+ case 4:
+ i = yt;
+ break;
+ case 16:
+ default:
+ i = vt;
+ break;
+ case 536870912:
+ i = _t;
+ }
+ i = Fk(i, Gk.bind(null, s));
+ }
+ (s.callbackPriority = o), (s.callbackNode = i);
+ }
+ }
+ function Gk(s, o) {
+ if (((lo = -1), (co = 0), 6 & Bs)) throw Error(p(327));
+ var i = s.callbackNode;
+ if (Hk() && s.callbackNode !== i) return null;
+ var u = uc(s, s === Fs ? $s : 0);
+ if (0 === u) return null;
+ if (30 & u || u & s.expiredLanes || o) o = Ik(s, u);
+ else {
+ o = u;
+ var _ = Bs;
+ Bs |= 2;
+ var w = Jk();
+ for ((Fs === s && $s === o) || ((Qs = null), (Zs = dt() + 500), Kk(s, o)); ; )
+ try {
+ Lk();
+ break;
+ } catch (o) {
+ Mk(s, o);
+ }
+ $g(),
+ (Rs.current = w),
+ (Bs = _),
+ null !== qs ? (o = 0) : ((Fs = null), ($s = 0), (o = zs));
+ }
+ if (0 !== o) {
+ if ((2 === o && 0 !== (_ = xc(s)) && ((u = _), (o = Nk(s, _))), 1 === o))
+ throw ((i = Ws), Kk(s, 0), Ck(s, u), Dk(s, dt()), i);
+ if (6 === o) Ck(s, u);
+ else {
+ if (
+ ((_ = s.current.alternate),
+ !(
+ 30 & u ||
+ (function Ok(s) {
+ for (var o = s; ; ) {
+ if (16384 & o.flags) {
+ var i = o.updateQueue;
+ if (null !== i && null !== (i = i.stores))
+ for (var u = 0; u < i.length; u++) {
+ var _ = i[u],
+ w = _.getSnapshot;
+ _ = _.value;
+ try {
+ if (!Lr(w(), _)) return !1;
+ } catch (s) {
+ return !1;
+ }
+ }
+ }
+ if (((i = o.child), 16384 & o.subtreeFlags && null !== i))
+ (i.return = o), (o = i);
+ else {
+ if (o === s) break;
+ for (; null === o.sibling; ) {
+ if (null === o.return || o.return === s) return !0;
+ o = o.return;
+ }
+ (o.sibling.return = o.return), (o = o.sibling);
+ }
+ }
+ return !0;
+ })(_) ||
+ ((o = Ik(s, u)),
+ 2 === o && ((w = xc(s)), 0 !== w && ((u = w), (o = Nk(s, w)))),
+ 1 !== o)
+ ))
+ )
+ throw ((i = Ws), Kk(s, 0), Ck(s, u), Dk(s, dt()), i);
+ switch (((s.finishedWork = _), (s.finishedLanes = u), o)) {
+ case 0:
+ case 1:
+ throw Error(p(345));
+ case 2:
+ case 5:
+ Pk(s, Ys, Qs);
+ break;
+ case 3:
+ if ((Ck(s, u), (130023424 & u) === u && 10 < (o = Xs + 500 - dt()))) {
+ if (0 !== uc(s, 0)) break;
+ if (((_ = s.suspendedLanes) & u) !== u) {
+ R(), (s.pingedLanes |= s.suspendedLanes & _);
+ break;
+ }
+ s.timeoutHandle = ln(Pk.bind(null, s, Ys, Qs), o);
+ break;
+ }
+ Pk(s, Ys, Qs);
+ break;
+ case 4:
+ if ((Ck(s, u), (4194240 & u) === u)) break;
+ for (o = s.eventTimes, _ = -1; 0 < u; ) {
+ var x = 31 - St(u);
+ (w = 1 << x), (x = o[x]) > _ && (_ = x), (u &= ~w);
+ }
+ if (
+ ((u = _),
+ 10 <
+ (u =
+ (120 > (u = dt() - u)
+ ? 120
+ : 480 > u
+ ? 480
+ : 1080 > u
+ ? 1080
+ : 1920 > u
+ ? 1920
+ : 3e3 > u
+ ? 3e3
+ : 4320 > u
+ ? 4320
+ : 1960 * Ns(u / 1960)) - u))
+ ) {
+ s.timeoutHandle = ln(Pk.bind(null, s, Ys, Qs), u);
+ break;
+ }
+ Pk(s, Ys, Qs);
+ break;
+ default:
+ throw Error(p(329));
+ }
+ }
+ }
+ return Dk(s, dt()), s.callbackNode === i ? Gk.bind(null, s) : null;
+ }
+ function Nk(s, o) {
+ var i = Gs;
+ return (
+ s.current.memoizedState.isDehydrated && (Kk(s, o).flags |= 256),
+ 2 !== (s = Ik(s, o)) && ((o = Ys), (Ys = i), null !== o && Fj(o)),
+ s
+ );
+ }
+ function Fj(s) {
+ null === Ys ? (Ys = s) : Ys.push.apply(Ys, s);
+ }
+ function Ck(s, o) {
+ for (
+ o &= ~Js, o &= ~Hs, s.suspendedLanes |= o, s.pingedLanes &= ~o, s = s.expirationTimes;
+ 0 < o;
+
+ ) {
+ var i = 31 - St(o),
+ u = 1 << i;
+ (s[i] = -1), (o &= ~u);
+ }
+ }
+ function Ek(s) {
+ if (6 & Bs) throw Error(p(327));
+ Hk();
+ var o = uc(s, 0);
+ if (!(1 & o)) return Dk(s, dt()), null;
+ var i = Ik(s, o);
+ if (0 !== s.tag && 2 === i) {
+ var u = xc(s);
+ 0 !== u && ((o = u), (i = Nk(s, u)));
+ }
+ if (1 === i) throw ((i = Ws), Kk(s, 0), Ck(s, o), Dk(s, dt()), i);
+ if (6 === i) throw Error(p(345));
+ return (
+ (s.finishedWork = s.current.alternate),
+ (s.finishedLanes = o),
+ Pk(s, Ys, Qs),
+ Dk(s, dt()),
+ null
+ );
+ }
+ function Qk(s, o) {
+ var i = Bs;
+ Bs |= 1;
+ try {
+ return s(o);
+ } finally {
+ 0 === (Bs = i) && ((Zs = dt() + 500), Cn && jg());
+ }
+ }
+ function Rk(s) {
+ null !== so && 0 === so.tag && !(6 & Bs) && Hk();
+ var o = Bs;
+ Bs |= 1;
+ var i = Ls.transition,
+ u = At;
+ try {
+ if (((Ls.transition = null), (At = 1), s)) return s();
+ } finally {
+ (At = u), (Ls.transition = i), !(6 & (Bs = o)) && jg();
+ }
+ }
+ function Hj() {
+ (Vs = Us.current), E(Us);
+ }
+ function Kk(s, o) {
+ (s.finishedWork = null), (s.finishedLanes = 0);
+ var i = s.timeoutHandle;
+ if ((-1 !== i && ((s.timeoutHandle = -1), cn(i)), null !== qs))
+ for (i = qs.return; null !== i; ) {
+ var u = i;
+ switch ((wg(u), u.tag)) {
+ case 1:
+ null != (u = u.type.childContextTypes) && $f();
+ break;
+ case 3:
+ zh(), E(Sn), E(wn), Eh();
+ break;
+ case 5:
+ Bh(u);
+ break;
+ case 4:
+ zh();
+ break;
+ case 13:
+ case 19:
+ E(es);
+ break;
+ case 10:
+ ah(u.type._context);
+ break;
+ case 22:
+ case 23:
+ Hj();
+ }
+ i = i.return;
+ }
+ if (
+ ((Fs = s),
+ (qs = s = Pg(s.current, null)),
+ ($s = Vs = o),
+ (zs = 0),
+ (Ws = null),
+ (Js = Hs = Ks = 0),
+ (Ys = Gs = null),
+ null !== Jn)
+ ) {
+ for (o = 0; o < Jn.length; o++)
+ if (null !== (u = (i = Jn[o]).interleaved)) {
+ i.interleaved = null;
+ var _ = u.next,
+ w = i.pending;
+ if (null !== w) {
+ var x = w.next;
+ (w.next = _), (u.next = x);
+ }
+ i.pending = u;
+ }
+ Jn = null;
+ }
+ return s;
+ }
+ function Mk(s, o) {
+ for (;;) {
+ var i = qs;
+ try {
+ if (($g(), (rs.current = ds), cs)) {
+ for (var u = os.memoizedState; null !== u; ) {
+ var _ = u.queue;
+ null !== _ && (_.pending = null), (u = u.next);
+ }
+ cs = !1;
+ }
+ if (
+ ((ss = 0),
+ (ls = as = os = null),
+ (us = !1),
+ (ps = 0),
+ (Ds.current = null),
+ null === i || null === i.return)
+ ) {
+ (zs = 1), (Ws = o), (qs = null);
+ break;
+ }
+ e: {
+ var w = s,
+ x = i.return,
+ C = i,
+ j = o;
+ if (
+ ((o = $s),
+ (C.flags |= 32768),
+ null !== j && 'object' == typeof j && 'function' == typeof j.then)
+ ) {
+ var L = j,
+ B = C,
+ $ = B.tag;
+ if (!(1 & B.mode || (0 !== $ && 11 !== $ && 15 !== $))) {
+ var V = B.alternate;
+ V
+ ? ((B.updateQueue = V.updateQueue),
+ (B.memoizedState = V.memoizedState),
+ (B.lanes = V.lanes))
+ : ((B.updateQueue = null), (B.memoizedState = null));
+ }
+ var U = Ui(x);
+ if (null !== U) {
+ (U.flags &= -257), Vi(U, x, C, 0, o), 1 & U.mode && Si(w, L, o), (j = L);
+ var z = (o = U).updateQueue;
+ if (null === z) {
+ var Y = new Set();
+ Y.add(j), (o.updateQueue = Y);
+ } else z.add(j);
+ break e;
+ }
+ if (!(1 & o)) {
+ Si(w, L, o), tj();
+ break e;
+ }
+ j = Error(p(426));
+ } else if (Fn && 1 & C.mode) {
+ var Z = Ui(x);
+ if (null !== Z) {
+ !(65536 & Z.flags) && (Z.flags |= 256), Vi(Z, x, C, 0, o), Jg(Ji(j, C));
+ break e;
+ }
+ }
+ (w = j = Ji(j, C)),
+ 4 !== zs && (zs = 2),
+ null === Gs ? (Gs = [w]) : Gs.push(w),
+ (w = x);
+ do {
+ switch (w.tag) {
+ case 3:
+ (w.flags |= 65536), (o &= -o), (w.lanes |= o), ph(w, Ni(0, j, o));
+ break e;
+ case 1:
+ C = j;
+ var ee = w.type,
+ ie = w.stateNode;
+ if (
+ !(
+ 128 & w.flags ||
+ ('function' != typeof ee.getDerivedStateFromError &&
+ (null === ie ||
+ 'function' != typeof ie.componentDidCatch ||
+ (null !== ro && ro.has(ie))))
+ )
+ ) {
+ (w.flags |= 65536), (o &= -o), (w.lanes |= o), ph(w, Qi(w, C, o));
+ break e;
+ }
+ }
+ w = w.return;
+ } while (null !== w);
+ }
+ Sk(i);
+ } catch (s) {
+ (o = s), qs === i && null !== i && (qs = i = i.return);
+ continue;
+ }
+ break;
+ }
+ }
+ function Jk() {
+ var s = Rs.current;
+ return (Rs.current = ds), null === s ? ds : s;
+ }
+ function tj() {
+ (0 !== zs && 3 !== zs && 2 !== zs) || (zs = 4),
+ null === Fs || (!(268435455 & Ks) && !(268435455 & Hs)) || Ck(Fs, $s);
+ }
+ function Ik(s, o) {
+ var i = Bs;
+ Bs |= 2;
+ var u = Jk();
+ for ((Fs === s && $s === o) || ((Qs = null), Kk(s, o)); ; )
+ try {
+ Tk();
+ break;
+ } catch (o) {
+ Mk(s, o);
+ }
+ if (($g(), (Bs = i), (Rs.current = u), null !== qs)) throw Error(p(261));
+ return (Fs = null), ($s = 0), zs;
+ }
+ function Tk() {
+ for (; null !== qs; ) Uk(qs);
+ }
+ function Lk() {
+ for (; null !== qs && !pt(); ) Uk(qs);
+ }
+ function Uk(s) {
+ var o = Ts(s.alternate, s, Vs);
+ (s.memoizedProps = s.pendingProps), null === o ? Sk(s) : (qs = o), (Ds.current = null);
+ }
+ function Sk(s) {
+ var o = s;
+ do {
+ var i = o.alternate;
+ if (((s = o.return), 32768 & o.flags)) {
+ if (null !== (i = Ij(i, o))) return (i.flags &= 32767), void (qs = i);
+ if (null === s) return (zs = 6), void (qs = null);
+ (s.flags |= 32768), (s.subtreeFlags = 0), (s.deletions = null);
+ } else if (null !== (i = Ej(i, o, Vs))) return void (qs = i);
+ if (null !== (o = o.sibling)) return void (qs = o);
+ qs = o = s;
+ } while (null !== o);
+ 0 === zs && (zs = 5);
+ }
+ function Pk(s, o, i) {
+ var u = At,
+ _ = Ls.transition;
+ try {
+ (Ls.transition = null),
+ (At = 1),
+ (function Wk(s, o, i, u) {
+ do {
+ Hk();
+ } while (null !== so);
+ if (6 & Bs) throw Error(p(327));
+ i = s.finishedWork;
+ var _ = s.finishedLanes;
+ if (null === i) return null;
+ if (((s.finishedWork = null), (s.finishedLanes = 0), i === s.current))
+ throw Error(p(177));
+ (s.callbackNode = null), (s.callbackPriority = 0);
+ var w = i.lanes | i.childLanes;
+ if (
+ ((function Bc(s, o) {
+ var i = s.pendingLanes & ~o;
+ (s.pendingLanes = o),
+ (s.suspendedLanes = 0),
+ (s.pingedLanes = 0),
+ (s.expiredLanes &= o),
+ (s.mutableReadLanes &= o),
+ (s.entangledLanes &= o),
+ (o = s.entanglements);
+ var u = s.eventTimes;
+ for (s = s.expirationTimes; 0 < i; ) {
+ var _ = 31 - St(i),
+ w = 1 << _;
+ (o[_] = 0), (u[_] = -1), (s[_] = -1), (i &= ~w);
+ }
+ })(s, w),
+ s === Fs && ((qs = Fs = null), ($s = 0)),
+ (!(2064 & i.subtreeFlags) && !(2064 & i.flags)) ||
+ no ||
+ ((no = !0),
+ Fk(vt, function () {
+ return Hk(), null;
+ })),
+ (w = !!(15990 & i.flags)),
+ !!(15990 & i.subtreeFlags) || w)
+ ) {
+ (w = Ls.transition), (Ls.transition = null);
+ var x = At;
+ At = 1;
+ var C = Bs;
+ (Bs |= 4),
+ (Ds.current = null),
+ (function Oj(s, o) {
+ if (((on = zt), Ne((s = Me())))) {
+ if ('selectionStart' in s)
+ var i = { start: s.selectionStart, end: s.selectionEnd };
+ else
+ e: {
+ var u =
+ (i = ((i = s.ownerDocument) && i.defaultView) || window)
+ .getSelection && i.getSelection();
+ if (u && 0 !== u.rangeCount) {
+ i = u.anchorNode;
+ var _ = u.anchorOffset,
+ w = u.focusNode;
+ u = u.focusOffset;
+ try {
+ i.nodeType, w.nodeType;
+ } catch (s) {
+ i = null;
+ break e;
+ }
+ var x = 0,
+ C = -1,
+ j = -1,
+ L = 0,
+ B = 0,
+ $ = s,
+ V = null;
+ t: for (;;) {
+ for (
+ var U;
+ $ !== i || (0 !== _ && 3 !== $.nodeType) || (C = x + _),
+ $ !== w || (0 !== u && 3 !== $.nodeType) || (j = x + u),
+ 3 === $.nodeType && (x += $.nodeValue.length),
+ null !== (U = $.firstChild);
+
+ )
+ (V = $), ($ = U);
+ for (;;) {
+ if ($ === s) break t;
+ if (
+ (V === i && ++L === _ && (C = x),
+ V === w && ++B === u && (j = x),
+ null !== (U = $.nextSibling))
+ )
+ break;
+ V = ($ = V).parentNode;
+ }
+ $ = U;
+ }
+ i = -1 === C || -1 === j ? null : { start: C, end: j };
+ } else i = null;
+ }
+ i = i || { start: 0, end: 0 };
+ } else i = null;
+ for (
+ an = { focusedElem: s, selectionRange: i }, zt = !1, js = o;
+ null !== js;
+
+ )
+ if (((s = (o = js).child), 1028 & o.subtreeFlags && null !== s))
+ (s.return = o), (js = s);
+ else
+ for (; null !== js; ) {
+ o = js;
+ try {
+ var z = o.alternate;
+ if (1024 & o.flags)
+ switch (o.tag) {
+ case 0:
+ case 11:
+ case 15:
+ case 5:
+ case 6:
+ case 4:
+ case 17:
+ break;
+ case 1:
+ if (null !== z) {
+ var Y = z.memoizedProps,
+ Z = z.memoizedState,
+ ee = o.stateNode,
+ ie = ee.getSnapshotBeforeUpdate(
+ o.elementType === o.type ? Y : Ci(o.type, Y),
+ Z
+ );
+ ee.__reactInternalSnapshotBeforeUpdate = ie;
+ }
+ break;
+ case 3:
+ var ae = o.stateNode.containerInfo;
+ 1 === ae.nodeType
+ ? (ae.textContent = '')
+ : 9 === ae.nodeType &&
+ ae.documentElement &&
+ ae.removeChild(ae.documentElement);
+ break;
+ default:
+ throw Error(p(163));
+ }
+ } catch (s) {
+ W(o, o.return, s);
+ }
+ if (null !== (s = o.sibling)) {
+ (s.return = o.return), (js = s);
+ break;
+ }
+ js = o.return;
+ }
+ return (z = Is), (Is = !1), z;
+ })(s, i),
+ dk(i, s),
+ Oe(an),
+ (zt = !!on),
+ (an = on = null),
+ (s.current = i),
+ hk(i, s, _),
+ ht(),
+ (Bs = C),
+ (At = x),
+ (Ls.transition = w);
+ } else s.current = i;
+ if (
+ (no && ((no = !1), (so = s), (oo = _)),
+ (w = s.pendingLanes),
+ 0 === w && (ro = null),
+ (function mc(s) {
+ if (wt && 'function' == typeof wt.onCommitFiberRoot)
+ try {
+ wt.onCommitFiberRoot(Et, s, void 0, !(128 & ~s.current.flags));
+ } catch (s) {}
+ })(i.stateNode),
+ Dk(s, dt()),
+ null !== o)
+ )
+ for (u = s.onRecoverableError, i = 0; i < o.length; i++)
+ (_ = o[i]), u(_.value, { componentStack: _.stack, digest: _.digest });
+ if (eo) throw ((eo = !1), (s = to), (to = null), s);
+ return (
+ !!(1 & oo) && 0 !== s.tag && Hk(),
+ (w = s.pendingLanes),
+ 1 & w ? (s === ao ? io++ : ((io = 0), (ao = s))) : (io = 0),
+ jg(),
+ null
+ );
+ })(s, o, i, u);
+ } finally {
+ (Ls.transition = _), (At = u);
+ }
+ return null;
+ }
+ function Hk() {
+ if (null !== so) {
+ var s = Dc(oo),
+ o = Ls.transition,
+ i = At;
+ try {
+ if (((Ls.transition = null), (At = 16 > s ? 16 : s), null === so)) var u = !1;
+ else {
+ if (((s = so), (so = null), (oo = 0), 6 & Bs)) throw Error(p(331));
+ var _ = Bs;
+ for (Bs |= 4, js = s.current; null !== js; ) {
+ var w = js,
+ x = w.child;
+ if (16 & js.flags) {
+ var C = w.deletions;
+ if (null !== C) {
+ for (var j = 0; j < C.length; j++) {
+ var L = C[j];
+ for (js = L; null !== js; ) {
+ var B = js;
+ switch (B.tag) {
+ case 0:
+ case 11:
+ case 15:
+ Pj(8, B, w);
+ }
+ var $ = B.child;
+ if (null !== $) ($.return = B), (js = $);
+ else
+ for (; null !== js; ) {
+ var V = (B = js).sibling,
+ U = B.return;
+ if ((Sj(B), B === L)) {
+ js = null;
+ break;
+ }
+ if (null !== V) {
+ (V.return = U), (js = V);
+ break;
+ }
+ js = U;
+ }
+ }
+ }
+ var z = w.alternate;
+ if (null !== z) {
+ var Y = z.child;
+ if (null !== Y) {
+ z.child = null;
+ do {
+ var Z = Y.sibling;
+ (Y.sibling = null), (Y = Z);
+ } while (null !== Y);
+ }
+ }
+ js = w;
+ }
+ }
+ if (2064 & w.subtreeFlags && null !== x) (x.return = w), (js = x);
+ else
+ e: for (; null !== js; ) {
+ if (2048 & (w = js).flags)
+ switch (w.tag) {
+ case 0:
+ case 11:
+ case 15:
+ Pj(9, w, w.return);
+ }
+ var ee = w.sibling;
+ if (null !== ee) {
+ (ee.return = w.return), (js = ee);
+ break e;
+ }
+ js = w.return;
+ }
+ }
+ var ie = s.current;
+ for (js = ie; null !== js; ) {
+ var ae = (x = js).child;
+ if (2064 & x.subtreeFlags && null !== ae) (ae.return = x), (js = ae);
+ else
+ e: for (x = ie; null !== js; ) {
+ if (2048 & (C = js).flags)
+ try {
+ switch (C.tag) {
+ case 0:
+ case 11:
+ case 15:
+ Qj(9, C);
+ }
+ } catch (s) {
+ W(C, C.return, s);
+ }
+ if (C === x) {
+ js = null;
+ break e;
+ }
+ var le = C.sibling;
+ if (null !== le) {
+ (le.return = C.return), (js = le);
+ break e;
+ }
+ js = C.return;
+ }
+ }
+ if (((Bs = _), jg(), wt && 'function' == typeof wt.onPostCommitFiberRoot))
+ try {
+ wt.onPostCommitFiberRoot(Et, s);
+ } catch (s) {}
+ u = !0;
+ }
+ return u;
+ } finally {
+ (At = i), (Ls.transition = o);
+ }
+ }
+ return !1;
+ }
+ function Xk(s, o, i) {
+ (s = nh(s, (o = Ni(0, (o = Ji(i, o)), 1)), 1)),
+ (o = R()),
+ null !== s && (Ac(s, 1, o), Dk(s, o));
+ }
+ function W(s, o, i) {
+ if (3 === s.tag) Xk(s, s, i);
+ else
+ for (; null !== o; ) {
+ if (3 === o.tag) {
+ Xk(o, s, i);
+ break;
+ }
+ if (1 === o.tag) {
+ var u = o.stateNode;
+ if (
+ 'function' == typeof o.type.getDerivedStateFromError ||
+ ('function' == typeof u.componentDidCatch && (null === ro || !ro.has(u)))
+ ) {
+ (o = nh(o, (s = Qi(o, (s = Ji(i, s)), 1)), 1)),
+ (s = R()),
+ null !== o && (Ac(o, 1, s), Dk(o, s));
+ break;
+ }
+ }
+ o = o.return;
+ }
+ }
+ function Ti(s, o, i) {
+ var u = s.pingCache;
+ null !== u && u.delete(o),
+ (o = R()),
+ (s.pingedLanes |= s.suspendedLanes & i),
+ Fs === s &&
+ ($s & i) === i &&
+ (4 === zs || (3 === zs && (130023424 & $s) === $s && 500 > dt() - Xs)
+ ? Kk(s, 0)
+ : (Js |= i)),
+ Dk(s, o);
+ }
+ function Yk(s, o) {
+ 0 === o &&
+ (1 & s.mode ? ((o = Ot), !(130023424 & (Ot <<= 1)) && (Ot = 4194304)) : (o = 1));
+ var i = R();
+ null !== (s = ih(s, o)) && (Ac(s, o, i), Dk(s, i));
+ }
+ function uj(s) {
+ var o = s.memoizedState,
+ i = 0;
+ null !== o && (i = o.retryLane), Yk(s, i);
+ }
+ function bk(s, o) {
+ var i = 0;
+ switch (s.tag) {
+ case 13:
+ var u = s.stateNode,
+ _ = s.memoizedState;
+ null !== _ && (i = _.retryLane);
+ break;
+ case 19:
+ u = s.stateNode;
+ break;
+ default:
+ throw Error(p(314));
+ }
+ null !== u && u.delete(o), Yk(s, i);
+ }
+ function Fk(s, o) {
+ return ct(s, o);
+ }
+ function $k(s, o, i, u) {
+ (this.tag = s),
+ (this.key = i),
+ (this.sibling =
+ this.child =
+ this.return =
+ this.stateNode =
+ this.type =
+ this.elementType =
+ null),
+ (this.index = 0),
+ (this.ref = null),
+ (this.pendingProps = o),
+ (this.dependencies =
+ this.memoizedState =
+ this.updateQueue =
+ this.memoizedProps =
+ null),
+ (this.mode = u),
+ (this.subtreeFlags = this.flags = 0),
+ (this.deletions = null),
+ (this.childLanes = this.lanes = 0),
+ (this.alternate = null);
+ }
+ function Bg(s, o, i, u) {
+ return new $k(s, o, i, u);
+ }
+ function aj(s) {
+ return !(!(s = s.prototype) || !s.isReactComponent);
+ }
+ function Pg(s, o) {
+ var i = s.alternate;
+ return (
+ null === i
+ ? (((i = Bg(s.tag, o, s.key, s.mode)).elementType = s.elementType),
+ (i.type = s.type),
+ (i.stateNode = s.stateNode),
+ (i.alternate = s),
+ (s.alternate = i))
+ : ((i.pendingProps = o),
+ (i.type = s.type),
+ (i.flags = 0),
+ (i.subtreeFlags = 0),
+ (i.deletions = null)),
+ (i.flags = 14680064 & s.flags),
+ (i.childLanes = s.childLanes),
+ (i.lanes = s.lanes),
+ (i.child = s.child),
+ (i.memoizedProps = s.memoizedProps),
+ (i.memoizedState = s.memoizedState),
+ (i.updateQueue = s.updateQueue),
+ (o = s.dependencies),
+ (i.dependencies =
+ null === o ? null : { lanes: o.lanes, firstContext: o.firstContext }),
+ (i.sibling = s.sibling),
+ (i.index = s.index),
+ (i.ref = s.ref),
+ i
+ );
+ }
+ function Rg(s, o, i, u, _, w) {
+ var x = 2;
+ if (((u = s), 'function' == typeof s)) aj(s) && (x = 1);
+ else if ('string' == typeof s) x = 5;
+ else
+ e: switch (s) {
+ case ee:
+ return Tg(i.children, _, w, o);
+ case ie:
+ (x = 8), (_ |= 8);
+ break;
+ case ae:
+ return ((s = Bg(12, i, o, 2 | _)).elementType = ae), (s.lanes = w), s;
+ case de:
+ return ((s = Bg(13, i, o, _)).elementType = de), (s.lanes = w), s;
+ case fe:
+ return ((s = Bg(19, i, o, _)).elementType = fe), (s.lanes = w), s;
+ case _e:
+ return pj(i, _, w, o);
+ default:
+ if ('object' == typeof s && null !== s)
+ switch (s.$$typeof) {
+ case le:
+ x = 10;
+ break e;
+ case ce:
+ x = 9;
+ break e;
+ case pe:
+ x = 11;
+ break e;
+ case ye:
+ x = 14;
+ break e;
+ case be:
+ (x = 16), (u = null);
+ break e;
+ }
+ throw Error(p(130, null == s ? s : typeof s, ''));
+ }
+ return ((o = Bg(x, i, o, _)).elementType = s), (o.type = u), (o.lanes = w), o;
+ }
+ function Tg(s, o, i, u) {
+ return ((s = Bg(7, s, u, o)).lanes = i), s;
+ }
+ function pj(s, o, i, u) {
+ return (
+ ((s = Bg(22, s, u, o)).elementType = _e),
+ (s.lanes = i),
+ (s.stateNode = { isHidden: !1 }),
+ s
+ );
+ }
+ function Qg(s, o, i) {
+ return ((s = Bg(6, s, null, o)).lanes = i), s;
+ }
+ function Sg(s, o, i) {
+ return (
+ ((o = Bg(4, null !== s.children ? s.children : [], s.key, o)).lanes = i),
+ (o.stateNode = {
+ containerInfo: s.containerInfo,
+ pendingChildren: null,
+ implementation: s.implementation
+ }),
+ o
+ );
+ }
+ function al(s, o, i, u, _) {
+ (this.tag = o),
+ (this.containerInfo = s),
+ (this.finishedWork = this.pingCache = this.current = this.pendingChildren = null),
+ (this.timeoutHandle = -1),
+ (this.callbackNode = this.pendingContext = this.context = null),
+ (this.callbackPriority = 0),
+ (this.eventTimes = zc(0)),
+ (this.expirationTimes = zc(-1)),
+ (this.entangledLanes =
+ this.finishedLanes =
+ this.mutableReadLanes =
+ this.expiredLanes =
+ this.pingedLanes =
+ this.suspendedLanes =
+ this.pendingLanes =
+ 0),
+ (this.entanglements = zc(0)),
+ (this.identifierPrefix = u),
+ (this.onRecoverableError = _),
+ (this.mutableSourceEagerHydrationData = null);
+ }
+ function bl(s, o, i, u, _, w, x, C, j) {
+ return (
+ (s = new al(s, o, i, C, j)),
+ 1 === o ? ((o = 1), !0 === w && (o |= 8)) : (o = 0),
+ (w = Bg(3, null, null, o)),
+ (s.current = w),
+ (w.stateNode = s),
+ (w.memoizedState = {
+ element: u,
+ isDehydrated: i,
+ cache: null,
+ transitions: null,
+ pendingSuspenseBoundaries: null
+ }),
+ kh(w),
+ s
+ );
+ }
+ function dl(s) {
+ if (!s) return En;
+ e: {
+ if (Vb((s = s._reactInternals)) !== s || 1 !== s.tag) throw Error(p(170));
+ var o = s;
+ do {
+ switch (o.tag) {
+ case 3:
+ o = o.stateNode.context;
+ break e;
+ case 1:
+ if (Zf(o.type)) {
+ o = o.stateNode.__reactInternalMemoizedMergedChildContext;
+ break e;
+ }
+ }
+ o = o.return;
+ } while (null !== o);
+ throw Error(p(171));
+ }
+ if (1 === s.tag) {
+ var i = s.type;
+ if (Zf(i)) return bg(s, i, o);
+ }
+ return o;
+ }
+ function el(s, o, i, u, _, w, x, C, j) {
+ return (
+ ((s = bl(i, u, !0, s, 0, w, 0, C, j)).context = dl(null)),
+ (i = s.current),
+ ((w = mh((u = R()), (_ = yi(i)))).callback = null != o ? o : null),
+ nh(i, w, _),
+ (s.current.lanes = _),
+ Ac(s, _, u),
+ Dk(s, u),
+ s
+ );
+ }
+ function fl(s, o, i, u) {
+ var _ = o.current,
+ w = R(),
+ x = yi(_);
+ return (
+ (i = dl(i)),
+ null === o.context ? (o.context = i) : (o.pendingContext = i),
+ ((o = mh(w, x)).payload = { element: s }),
+ null !== (u = void 0 === u ? null : u) && (o.callback = u),
+ null !== (s = nh(_, o, x)) && (gi(s, _, x, w), oh(s, _, x)),
+ x
+ );
+ }
+ function gl(s) {
+ return (s = s.current).child ? (s.child.tag, s.child.stateNode) : null;
+ }
+ function hl(s, o) {
+ if (null !== (s = s.memoizedState) && null !== s.dehydrated) {
+ var i = s.retryLane;
+ s.retryLane = 0 !== i && i < o ? i : o;
+ }
+ }
+ function il(s, o) {
+ hl(s, o), (s = s.alternate) && hl(s, o);
+ }
+ Ts = function (s, o, i) {
+ if (null !== s)
+ if (s.memoizedProps !== o.pendingProps || Sn.current) _s = !0;
+ else {
+ if (!(s.lanes & i || 128 & o.flags))
+ return (
+ (_s = !1),
+ (function yj(s, o, i) {
+ switch (o.tag) {
+ case 3:
+ kj(o), Ig();
+ break;
+ case 5:
+ Ah(o);
+ break;
+ case 1:
+ Zf(o.type) && cg(o);
+ break;
+ case 4:
+ yh(o, o.stateNode.containerInfo);
+ break;
+ case 10:
+ var u = o.type._context,
+ _ = o.memoizedProps.value;
+ G(zn, u._currentValue), (u._currentValue = _);
+ break;
+ case 13:
+ if (null !== (u = o.memoizedState))
+ return null !== u.dehydrated
+ ? (G(es, 1 & es.current), (o.flags |= 128), null)
+ : i & o.child.childLanes
+ ? oj(s, o, i)
+ : (G(es, 1 & es.current),
+ null !== (s = Zi(s, o, i)) ? s.sibling : null);
+ G(es, 1 & es.current);
+ break;
+ case 19:
+ if (((u = !!(i & o.childLanes)), 128 & s.flags)) {
+ if (u) return xj(s, o, i);
+ o.flags |= 128;
+ }
+ if (
+ (null !== (_ = o.memoizedState) &&
+ ((_.rendering = null), (_.tail = null), (_.lastEffect = null)),
+ G(es, es.current),
+ u)
+ )
+ break;
+ return null;
+ case 22:
+ case 23:
+ return (o.lanes = 0), dj(s, o, i);
+ }
+ return Zi(s, o, i);
+ })(s, o, i)
+ );
+ _s = !!(131072 & s.flags);
+ }
+ else (_s = !1), Fn && 1048576 & o.flags && ug(o, Pn, o.index);
+ switch (((o.lanes = 0), o.tag)) {
+ case 2:
+ var u = o.type;
+ ij(s, o), (s = o.pendingProps);
+ var _ = Yf(o, wn.current);
+ ch(o, i), (_ = Nh(null, o, u, s, _, i));
+ var w = Sh();
+ return (
+ (o.flags |= 1),
+ 'object' == typeof _ &&
+ null !== _ &&
+ 'function' == typeof _.render &&
+ void 0 === _.$$typeof
+ ? ((o.tag = 1),
+ (o.memoizedState = null),
+ (o.updateQueue = null),
+ Zf(u) ? ((w = !0), cg(o)) : (w = !1),
+ (o.memoizedState = null !== _.state && void 0 !== _.state ? _.state : null),
+ kh(o),
+ (_.updater = ys),
+ (o.stateNode = _),
+ (_._reactInternals = o),
+ Ii(o, u, s, i),
+ (o = jj(null, o, u, !0, w, i)))
+ : ((o.tag = 0), Fn && w && vg(o), Xi(null, o, _, i), (o = o.child)),
+ o
+ );
+ case 16:
+ u = o.elementType;
+ e: {
+ switch (
+ (ij(s, o),
+ (s = o.pendingProps),
+ (u = (_ = u._init)(u._payload)),
+ (o.type = u),
+ (_ = o.tag =
+ (function Zk(s) {
+ if ('function' == typeof s) return aj(s) ? 1 : 0;
+ if (null != s) {
+ if ((s = s.$$typeof) === pe) return 11;
+ if (s === ye) return 14;
+ }
+ return 2;
+ })(u)),
+ (s = Ci(u, s)),
+ _)
+ ) {
+ case 0:
+ o = cj(null, o, u, s, i);
+ break e;
+ case 1:
+ o = hj(null, o, u, s, i);
+ break e;
+ case 11:
+ o = Yi(null, o, u, s, i);
+ break e;
+ case 14:
+ o = $i(null, o, u, Ci(u.type, s), i);
+ break e;
+ }
+ throw Error(p(306, u, ''));
+ }
+ return o;
+ case 0:
+ return (
+ (u = o.type),
+ (_ = o.pendingProps),
+ cj(s, o, u, (_ = o.elementType === u ? _ : Ci(u, _)), i)
+ );
+ case 1:
+ return (
+ (u = o.type),
+ (_ = o.pendingProps),
+ hj(s, o, u, (_ = o.elementType === u ? _ : Ci(u, _)), i)
+ );
+ case 3:
+ e: {
+ if ((kj(o), null === s)) throw Error(p(387));
+ (u = o.pendingProps),
+ (_ = (w = o.memoizedState).element),
+ lh(s, o),
+ qh(o, u, null, i);
+ var x = o.memoizedState;
+ if (((u = x.element), w.isDehydrated)) {
+ if (
+ ((w = {
+ element: u,
+ isDehydrated: !1,
+ cache: x.cache,
+ pendingSuspenseBoundaries: x.pendingSuspenseBoundaries,
+ transitions: x.transitions
+ }),
+ (o.updateQueue.baseState = w),
+ (o.memoizedState = w),
+ 256 & o.flags)
+ ) {
+ o = lj(s, o, u, i, (_ = Ji(Error(p(423)), o)));
+ break e;
+ }
+ if (u !== _) {
+ o = lj(s, o, u, i, (_ = Ji(Error(p(424)), o)));
+ break e;
+ }
+ for (
+ Bn = Lf(o.stateNode.containerInfo.firstChild),
+ Ln = o,
+ Fn = !0,
+ qn = null,
+ i = Un(o, null, u, i),
+ o.child = i;
+ i;
+
+ )
+ (i.flags = (-3 & i.flags) | 4096), (i = i.sibling);
+ } else {
+ if ((Ig(), u === _)) {
+ o = Zi(s, o, i);
+ break e;
+ }
+ Xi(s, o, u, i);
+ }
+ o = o.child;
+ }
+ return o;
+ case 5:
+ return (
+ Ah(o),
+ null === s && Eg(o),
+ (u = o.type),
+ (_ = o.pendingProps),
+ (w = null !== s ? s.memoizedProps : null),
+ (x = _.children),
+ Ef(u, _) ? (x = null) : null !== w && Ef(u, w) && (o.flags |= 32),
+ gj(s, o),
+ Xi(s, o, x, i),
+ o.child
+ );
+ case 6:
+ return null === s && Eg(o), null;
+ case 13:
+ return oj(s, o, i);
+ case 4:
+ return (
+ yh(o, o.stateNode.containerInfo),
+ (u = o.pendingProps),
+ null === s ? (o.child = Vn(o, null, u, i)) : Xi(s, o, u, i),
+ o.child
+ );
+ case 11:
+ return (
+ (u = o.type),
+ (_ = o.pendingProps),
+ Yi(s, o, u, (_ = o.elementType === u ? _ : Ci(u, _)), i)
+ );
+ case 7:
+ return Xi(s, o, o.pendingProps, i), o.child;
+ case 8:
+ case 12:
+ return Xi(s, o, o.pendingProps.children, i), o.child;
+ case 10:
+ e: {
+ if (
+ ((u = o.type._context),
+ (_ = o.pendingProps),
+ (w = o.memoizedProps),
+ (x = _.value),
+ G(zn, u._currentValue),
+ (u._currentValue = x),
+ null !== w)
+ )
+ if (Lr(w.value, x)) {
+ if (w.children === _.children && !Sn.current) {
+ o = Zi(s, o, i);
+ break e;
+ }
+ } else
+ for (null !== (w = o.child) && (w.return = o); null !== w; ) {
+ var C = w.dependencies;
+ if (null !== C) {
+ x = w.child;
+ for (var j = C.firstContext; null !== j; ) {
+ if (j.context === u) {
+ if (1 === w.tag) {
+ (j = mh(-1, i & -i)).tag = 2;
+ var L = w.updateQueue;
+ if (null !== L) {
+ var B = (L = L.shared).pending;
+ null === B ? (j.next = j) : ((j.next = B.next), (B.next = j)),
+ (L.pending = j);
+ }
+ }
+ (w.lanes |= i),
+ null !== (j = w.alternate) && (j.lanes |= i),
+ bh(w.return, i, o),
+ (C.lanes |= i);
+ break;
+ }
+ j = j.next;
+ }
+ } else if (10 === w.tag) x = w.type === o.type ? null : w.child;
+ else if (18 === w.tag) {
+ if (null === (x = w.return)) throw Error(p(341));
+ (x.lanes |= i),
+ null !== (C = x.alternate) && (C.lanes |= i),
+ bh(x, i, o),
+ (x = w.sibling);
+ } else x = w.child;
+ if (null !== x) x.return = w;
+ else
+ for (x = w; null !== x; ) {
+ if (x === o) {
+ x = null;
+ break;
+ }
+ if (null !== (w = x.sibling)) {
+ (w.return = x.return), (x = w);
+ break;
+ }
+ x = x.return;
+ }
+ w = x;
+ }
+ Xi(s, o, _.children, i), (o = o.child);
+ }
+ return o;
+ case 9:
+ return (
+ (_ = o.type),
+ (u = o.pendingProps.children),
+ ch(o, i),
+ (u = u((_ = eh(_)))),
+ (o.flags |= 1),
+ Xi(s, o, u, i),
+ o.child
+ );
+ case 14:
+ return (_ = Ci((u = o.type), o.pendingProps)), $i(s, o, u, (_ = Ci(u.type, _)), i);
+ case 15:
+ return bj(s, o, o.type, o.pendingProps, i);
+ case 17:
+ return (
+ (u = o.type),
+ (_ = o.pendingProps),
+ (_ = o.elementType === u ? _ : Ci(u, _)),
+ ij(s, o),
+ (o.tag = 1),
+ Zf(u) ? ((s = !0), cg(o)) : (s = !1),
+ ch(o, i),
+ Gi(o, u, _),
+ Ii(o, u, _, i),
+ jj(null, o, u, !0, s, i)
+ );
+ case 19:
+ return xj(s, o, i);
+ case 22:
+ return dj(s, o, i);
+ }
+ throw Error(p(156, o.tag));
+ };
+ var uo =
+ 'function' == typeof reportError
+ ? reportError
+ : function (s) {
+ console.error(s);
+ };
+ function ll(s) {
+ this._internalRoot = s;
+ }
+ function ml(s) {
+ this._internalRoot = s;
+ }
+ function nl(s) {
+ return !(!s || (1 !== s.nodeType && 9 !== s.nodeType && 11 !== s.nodeType));
+ }
+ function ol(s) {
+ return !(
+ !s ||
+ (1 !== s.nodeType &&
+ 9 !== s.nodeType &&
+ 11 !== s.nodeType &&
+ (8 !== s.nodeType || ' react-mount-point-unstable ' !== s.nodeValue))
+ );
+ }
+ function pl() {}
+ function rl(s, o, i, u, _) {
+ var w = i._reactRootContainer;
+ if (w) {
+ var x = w;
+ if ('function' == typeof _) {
+ var C = _;
+ _ = function () {
+ var s = gl(x);
+ C.call(s);
+ };
+ }
+ fl(o, x, s, _);
+ } else
+ x = (function ql(s, o, i, u, _) {
+ if (_) {
+ if ('function' == typeof u) {
+ var w = u;
+ u = function () {
+ var s = gl(x);
+ w.call(s);
+ };
+ }
+ var x = el(o, u, s, 0, null, !1, 0, '', pl);
+ return (
+ (s._reactRootContainer = x),
+ (s[mn] = x.current),
+ sf(8 === s.nodeType ? s.parentNode : s),
+ Rk(),
+ x
+ );
+ }
+ for (; (_ = s.lastChild); ) s.removeChild(_);
+ if ('function' == typeof u) {
+ var C = u;
+ u = function () {
+ var s = gl(j);
+ C.call(s);
+ };
+ }
+ var j = bl(s, 0, !1, null, 0, !1, 0, '', pl);
+ return (
+ (s._reactRootContainer = j),
+ (s[mn] = j.current),
+ sf(8 === s.nodeType ? s.parentNode : s),
+ Rk(function () {
+ fl(o, j, i, u);
+ }),
+ j
+ );
+ })(i, o, s, _, u);
+ return gl(x);
+ }
+ (ml.prototype.render = ll.prototype.render =
+ function (s) {
+ var o = this._internalRoot;
+ if (null === o) throw Error(p(409));
+ fl(s, o, null, null);
+ }),
+ (ml.prototype.unmount = ll.prototype.unmount =
+ function () {
+ var s = this._internalRoot;
+ if (null !== s) {
+ this._internalRoot = null;
+ var o = s.containerInfo;
+ Rk(function () {
+ fl(null, s, null, null);
+ }),
+ (o[mn] = null);
+ }
+ }),
+ (ml.prototype.unstable_scheduleHydration = function (s) {
+ if (s) {
+ var o = Mt();
+ s = { blockedOn: null, target: s, priority: o };
+ for (var i = 0; i < $t.length && 0 !== o && o < $t[i].priority; i++);
+ $t.splice(i, 0, s), 0 === i && Vc(s);
+ }
+ }),
+ (jt = function (s) {
+ switch (s.tag) {
+ case 3:
+ var o = s.stateNode;
+ if (o.current.memoizedState.isDehydrated) {
+ var i = tc(o.pendingLanes);
+ 0 !== i && (Cc(o, 1 | i), Dk(o, dt()), !(6 & Bs) && ((Zs = dt() + 500), jg()));
+ }
+ break;
+ case 13:
+ Rk(function () {
+ var o = ih(s, 1);
+ if (null !== o) {
+ var i = R();
+ gi(o, s, 1, i);
+ }
+ }),
+ il(s, 1);
+ }
+ }),
+ (It = function (s) {
+ if (13 === s.tag) {
+ var o = ih(s, 134217728);
+ if (null !== o) gi(o, s, 134217728, R());
+ il(s, 134217728);
+ }
+ }),
+ (Pt = function (s) {
+ if (13 === s.tag) {
+ var o = yi(s),
+ i = ih(s, o);
+ if (null !== i) gi(i, s, o, R());
+ il(s, o);
+ }
+ }),
+ (Mt = function () {
+ return At;
+ }),
+ (Tt = function (s, o) {
+ var i = At;
+ try {
+ return (At = s), o();
+ } finally {
+ At = i;
+ }
+ }),
+ (Xe = function (s, o, i) {
+ switch (o) {
+ case 'input':
+ if ((bb(s, i), (o = i.name), 'radio' === i.type && null != o)) {
+ for (i = s; i.parentNode; ) i = i.parentNode;
+ for (
+ i = i.querySelectorAll(
+ 'input[name=' + JSON.stringify('' + o) + '][type="radio"]'
+ ),
+ o = 0;
+ o < i.length;
+ o++
+ ) {
+ var u = i[o];
+ if (u !== s && u.form === s.form) {
+ var _ = Db(u);
+ if (!_) throw Error(p(90));
+ Wa(u), bb(u, _);
+ }
+ }
+ }
+ break;
+ case 'textarea':
+ ib(s, i);
+ break;
+ case 'select':
+ null != (o = i.value) && fb(s, !!i.multiple, o, !1);
+ }
+ }),
+ (Gb = Qk),
+ (Hb = Rk);
+ var po = { usingClientEntryPoint: !1, Events: [Cb, ue, Db, Eb, Fb, Qk] },
+ ho = {
+ findFiberByHostInstance: Wc,
+ bundleType: 0,
+ version: '18.3.1',
+ rendererPackageName: 'react-dom'
+ },
+ fo = {
+ bundleType: ho.bundleType,
+ version: ho.version,
+ rendererPackageName: ho.rendererPackageName,
+ rendererConfig: ho.rendererConfig,
+ overrideHookState: null,
+ overrideHookStateDeletePath: null,
+ overrideHookStateRenamePath: null,
+ overrideProps: null,
+ overridePropsDeletePath: null,
+ overridePropsRenamePath: null,
+ setErrorHandler: null,
+ setSuspenseHandler: null,
+ scheduleUpdate: null,
+ currentDispatcherRef: z.ReactCurrentDispatcher,
+ findHostInstanceByFiber: function (s) {
+ return null === (s = Zb(s)) ? null : s.stateNode;
+ },
+ findFiberByHostInstance:
+ ho.findFiberByHostInstance ||
+ function jl() {
+ return null;
+ },
+ findHostInstancesForRefresh: null,
+ scheduleRefresh: null,
+ scheduleRoot: null,
+ setRefreshHandler: null,
+ getCurrentFiber: null,
+ reconcilerVersion: '18.3.1-next-f1338f8080-20240426'
+ };
+ if ('undefined' != typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
+ var mo = __REACT_DEVTOOLS_GLOBAL_HOOK__;
+ if (!mo.isDisabled && mo.supportsFiber)
+ try {
+ (Et = mo.inject(fo)), (wt = mo);
+ } catch (qe) {}
+ }
+ (o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = po),
+ (o.createPortal = function (s, o) {
+ var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
+ if (!nl(o)) throw Error(p(200));
+ return (function cl(s, o, i) {
+ var u = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
+ return {
+ $$typeof: Z,
+ key: null == u ? null : '' + u,
+ children: s,
+ containerInfo: o,
+ implementation: i
+ };
+ })(s, o, null, i);
+ }),
+ (o.createRoot = function (s, o) {
+ if (!nl(s)) throw Error(p(299));
+ var i = !1,
+ u = '',
+ _ = uo;
+ return (
+ null != o &&
+ (!0 === o.unstable_strictMode && (i = !0),
+ void 0 !== o.identifierPrefix && (u = o.identifierPrefix),
+ void 0 !== o.onRecoverableError && (_ = o.onRecoverableError)),
+ (o = bl(s, 1, !1, null, 0, i, 0, u, _)),
+ (s[mn] = o.current),
+ sf(8 === s.nodeType ? s.parentNode : s),
+ new ll(o)
+ );
+ }),
+ (o.findDOMNode = function (s) {
+ if (null == s) return null;
+ if (1 === s.nodeType) return s;
+ var o = s._reactInternals;
+ if (void 0 === o) {
+ if ('function' == typeof s.render) throw Error(p(188));
+ throw ((s = Object.keys(s).join(',')), Error(p(268, s)));
+ }
+ return (s = null === (s = Zb(o)) ? null : s.stateNode);
+ }),
+ (o.flushSync = function (s) {
+ return Rk(s);
+ }),
+ (o.hydrate = function (s, o, i) {
+ if (!ol(o)) throw Error(p(200));
+ return rl(null, s, o, !0, i);
+ }),
+ (o.hydrateRoot = function (s, o, i) {
+ if (!nl(s)) throw Error(p(405));
+ var u = (null != i && i.hydratedSources) || null,
+ _ = !1,
+ w = '',
+ x = uo;
+ if (
+ (null != i &&
+ (!0 === i.unstable_strictMode && (_ = !0),
+ void 0 !== i.identifierPrefix && (w = i.identifierPrefix),
+ void 0 !== i.onRecoverableError && (x = i.onRecoverableError)),
+ (o = el(o, null, s, 1, null != i ? i : null, _, 0, w, x)),
+ (s[mn] = o.current),
+ sf(s),
+ u)
+ )
+ for (s = 0; s < u.length; s++)
+ (_ = (_ = (i = u[s])._getVersion)(i._source)),
+ null == o.mutableSourceEagerHydrationData
+ ? (o.mutableSourceEagerHydrationData = [i, _])
+ : o.mutableSourceEagerHydrationData.push(i, _);
+ return new ml(o);
+ }),
+ (o.render = function (s, o, i) {
+ if (!ol(o)) throw Error(p(200));
+ return rl(null, s, o, !1, i);
+ }),
+ (o.unmountComponentAtNode = function (s) {
+ if (!ol(s)) throw Error(p(40));
+ return (
+ !!s._reactRootContainer &&
+ (Rk(function () {
+ rl(null, null, s, !1, function () {
+ (s._reactRootContainer = null), (s[mn] = null);
+ });
+ }),
+ !0)
+ );
+ }),
+ (o.unstable_batchedUpdates = Qk),
+ (o.unstable_renderSubtreeIntoContainer = function (s, o, i, u) {
+ if (!ol(i)) throw Error(p(200));
+ if (null == s || void 0 === s._reactInternals) throw Error(p(38));
+ return rl(s, o, i, !1, u);
+ }),
+ (o.version = '18.3.1-next-f1338f8080-20240426');
+ },
+ 40961: (s, o, i) => {
+ 'use strict';
+ !(function checkDCE() {
+ if (
+ 'undefined' != typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
+ 'function' == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE
+ )
+ try {
+ __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);
+ } catch (s) {
+ console.error(s);
+ }
+ })(),
+ (s.exports = i(22551));
+ },
+ 2209: (s, o, i) => {
+ 'use strict';
+ var u,
+ _ = i(9404),
+ w = function productionTypeChecker() {
+ invariant(!1, 'ImmutablePropTypes type checking code is stripped in production.');
+ };
+ w.isRequired = w;
+ var x = function getProductionTypeChecker() {
+ return w;
+ };
+ function getPropType(s) {
+ var o = typeof s;
+ return Array.isArray(s)
+ ? 'array'
+ : s instanceof RegExp
+ ? 'object'
+ : s instanceof _.Iterable
+ ? 'Immutable.' + s.toSource().split(' ')[0]
+ : o;
+ }
+ function createChainableTypeChecker(s) {
+ function checkType(o, i, u, _, w, x) {
+ for (var C = arguments.length, j = Array(C > 6 ? C - 6 : 0), L = 6; L < C; L++)
+ j[L - 6] = arguments[L];
+ return (
+ (x = x || u),
+ (_ = _ || '<>'),
+ null != i[u]
+ ? s.apply(void 0, [i, u, _, w, x].concat(j))
+ : o
+ ? new Error('Required ' + w + ' `' + x + '` was not specified in `' + _ + '`.')
+ : void 0
+ );
+ }
+ var o = checkType.bind(null, !1);
+ return (o.isRequired = checkType.bind(null, !0)), o;
+ }
+ function createIterableSubclassTypeChecker(s, o) {
+ return (function createImmutableTypeChecker(s, o) {
+ return createChainableTypeChecker(function validate(i, u, _, w, x) {
+ var C = i[u];
+ if (!o(C)) {
+ var j = getPropType(C);
+ return new Error(
+ 'Invalid ' +
+ w +
+ ' `' +
+ x +
+ '` of type `' +
+ j +
+ '` supplied to `' +
+ _ +
+ '`, expected `' +
+ s +
+ '`.'
+ );
+ }
+ return null;
+ });
+ })('Iterable.' + s, function (s) {
+ return _.Iterable.isIterable(s) && o(s);
+ });
+ }
+ ((u = {
+ listOf: x,
+ mapOf: x,
+ orderedMapOf: x,
+ setOf: x,
+ orderedSetOf: x,
+ stackOf: x,
+ iterableOf: x,
+ recordOf: x,
+ shape: x,
+ contains: x,
+ mapContains: x,
+ orderedMapContains: x,
+ list: w,
+ map: w,
+ orderedMap: w,
+ set: w,
+ orderedSet: w,
+ stack: w,
+ seq: w,
+ record: w,
+ iterable: w
+ }).iterable.indexed = createIterableSubclassTypeChecker('Indexed', _.Iterable.isIndexed)),
+ (u.iterable.keyed = createIterableSubclassTypeChecker('Keyed', _.Iterable.isKeyed)),
+ (s.exports = u);
+ },
+ 15287: (s, o) => {
+ 'use strict';
+ var i = Symbol.for('react.element'),
+ u = Symbol.for('react.portal'),
+ _ = Symbol.for('react.fragment'),
+ w = Symbol.for('react.strict_mode'),
+ x = Symbol.for('react.profiler'),
+ C = Symbol.for('react.provider'),
+ j = Symbol.for('react.context'),
+ L = Symbol.for('react.forward_ref'),
+ B = Symbol.for('react.suspense'),
+ $ = Symbol.for('react.memo'),
+ V = Symbol.for('react.lazy'),
+ U = Symbol.iterator;
+ var z = {
+ isMounted: function () {
+ return !1;
+ },
+ enqueueForceUpdate: function () {},
+ enqueueReplaceState: function () {},
+ enqueueSetState: function () {}
+ },
+ Y = Object.assign,
+ Z = {};
+ function E(s, o, i) {
+ (this.props = s), (this.context = o), (this.refs = Z), (this.updater = i || z);
+ }
+ function F() {}
+ function G(s, o, i) {
+ (this.props = s), (this.context = o), (this.refs = Z), (this.updater = i || z);
+ }
+ (E.prototype.isReactComponent = {}),
+ (E.prototype.setState = function (s, o) {
+ if ('object' != typeof s && 'function' != typeof s && null != s)
+ throw Error(
+ 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.'
+ );
+ this.updater.enqueueSetState(this, s, o, 'setState');
+ }),
+ (E.prototype.forceUpdate = function (s) {
+ this.updater.enqueueForceUpdate(this, s, 'forceUpdate');
+ }),
+ (F.prototype = E.prototype);
+ var ee = (G.prototype = new F());
+ (ee.constructor = G), Y(ee, E.prototype), (ee.isPureReactComponent = !0);
+ var ie = Array.isArray,
+ ae = Object.prototype.hasOwnProperty,
+ le = { current: null },
+ ce = { key: !0, ref: !0, __self: !0, __source: !0 };
+ function M(s, o, u) {
+ var _,
+ w = {},
+ x = null,
+ C = null;
+ if (null != o)
+ for (_ in (void 0 !== o.ref && (C = o.ref), void 0 !== o.key && (x = '' + o.key), o))
+ ae.call(o, _) && !ce.hasOwnProperty(_) && (w[_] = o[_]);
+ var j = arguments.length - 2;
+ if (1 === j) w.children = u;
+ else if (1 < j) {
+ for (var L = Array(j), B = 0; B < j; B++) L[B] = arguments[B + 2];
+ w.children = L;
+ }
+ if (s && s.defaultProps)
+ for (_ in (j = s.defaultProps)) void 0 === w[_] && (w[_] = j[_]);
+ return { $$typeof: i, type: s, key: x, ref: C, props: w, _owner: le.current };
+ }
+ function O(s) {
+ return 'object' == typeof s && null !== s && s.$$typeof === i;
+ }
+ var pe = /\/+/g;
+ function Q(s, o) {
+ return 'object' == typeof s && null !== s && null != s.key
+ ? (function escape(s) {
+ var o = { '=': '=0', ':': '=2' };
+ return (
+ '$' +
+ s.replace(/[=:]/g, function (s) {
+ return o[s];
+ })
+ );
+ })('' + s.key)
+ : o.toString(36);
+ }
+ function R(s, o, _, w, x) {
+ var C = typeof s;
+ ('undefined' !== C && 'boolean' !== C) || (s = null);
+ var j = !1;
+ if (null === s) j = !0;
+ else
+ switch (C) {
+ case 'string':
+ case 'number':
+ j = !0;
+ break;
+ case 'object':
+ switch (s.$$typeof) {
+ case i:
+ case u:
+ j = !0;
+ }
+ }
+ if (j)
+ return (
+ (x = x((j = s))),
+ (s = '' === w ? '.' + Q(j, 0) : w),
+ ie(x)
+ ? ((_ = ''),
+ null != s && (_ = s.replace(pe, '$&/') + '/'),
+ R(x, o, _, '', function (s) {
+ return s;
+ }))
+ : null != x &&
+ (O(x) &&
+ (x = (function N(s, o) {
+ return {
+ $$typeof: i,
+ type: s.type,
+ key: o,
+ ref: s.ref,
+ props: s.props,
+ _owner: s._owner
+ };
+ })(
+ x,
+ _ +
+ (!x.key || (j && j.key === x.key)
+ ? ''
+ : ('' + x.key).replace(pe, '$&/') + '/') +
+ s
+ )),
+ o.push(x)),
+ 1
+ );
+ if (((j = 0), (w = '' === w ? '.' : w + ':'), ie(s)))
+ for (var L = 0; L < s.length; L++) {
+ var B = w + Q((C = s[L]), L);
+ j += R(C, o, _, B, x);
+ }
+ else if (
+ ((B = (function A(s) {
+ return null === s || 'object' != typeof s
+ ? null
+ : 'function' == typeof (s = (U && s[U]) || s['@@iterator'])
+ ? s
+ : null;
+ })(s)),
+ 'function' == typeof B)
+ )
+ for (s = B.call(s), L = 0; !(C = s.next()).done; )
+ j += R((C = C.value), o, _, (B = w + Q(C, L++)), x);
+ else if ('object' === C)
+ throw (
+ ((o = String(s)),
+ Error(
+ 'Objects are not valid as a React child (found: ' +
+ ('[object Object]' === o
+ ? 'object with keys {' + Object.keys(s).join(', ') + '}'
+ : o) +
+ '). If you meant to render a collection of children, use an array instead.'
+ ))
+ );
+ return j;
+ }
+ function S(s, o, i) {
+ if (null == s) return s;
+ var u = [],
+ _ = 0;
+ return (
+ R(s, u, '', '', function (s) {
+ return o.call(i, s, _++);
+ }),
+ u
+ );
+ }
+ function T(s) {
+ if (-1 === s._status) {
+ var o = s._result;
+ (o = o()).then(
+ function (o) {
+ (0 !== s._status && -1 !== s._status) || ((s._status = 1), (s._result = o));
+ },
+ function (o) {
+ (0 !== s._status && -1 !== s._status) || ((s._status = 2), (s._result = o));
+ }
+ ),
+ -1 === s._status && ((s._status = 0), (s._result = o));
+ }
+ if (1 === s._status) return s._result.default;
+ throw s._result;
+ }
+ var de = { current: null },
+ fe = { transition: null },
+ ye = { ReactCurrentDispatcher: de, ReactCurrentBatchConfig: fe, ReactCurrentOwner: le };
+ function X() {
+ throw Error('act(...) is not supported in production builds of React.');
+ }
+ (o.Children = {
+ map: S,
+ forEach: function (s, o, i) {
+ S(
+ s,
+ function () {
+ o.apply(this, arguments);
+ },
+ i
+ );
+ },
+ count: function (s) {
+ var o = 0;
+ return (
+ S(s, function () {
+ o++;
+ }),
+ o
+ );
+ },
+ toArray: function (s) {
+ return (
+ S(s, function (s) {
+ return s;
+ }) || []
+ );
+ },
+ only: function (s) {
+ if (!O(s))
+ throw Error(
+ 'React.Children.only expected to receive a single React element child.'
+ );
+ return s;
+ }
+ }),
+ (o.Component = E),
+ (o.Fragment = _),
+ (o.Profiler = x),
+ (o.PureComponent = G),
+ (o.StrictMode = w),
+ (o.Suspense = B),
+ (o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ye),
+ (o.act = X),
+ (o.cloneElement = function (s, o, u) {
+ if (null == s)
+ throw Error(
+ 'React.cloneElement(...): The argument must be a React element, but you passed ' +
+ s +
+ '.'
+ );
+ var _ = Y({}, s.props),
+ w = s.key,
+ x = s.ref,
+ C = s._owner;
+ if (null != o) {
+ if (
+ (void 0 !== o.ref && ((x = o.ref), (C = le.current)),
+ void 0 !== o.key && (w = '' + o.key),
+ s.type && s.type.defaultProps)
+ )
+ var j = s.type.defaultProps;
+ for (L in o)
+ ae.call(o, L) &&
+ !ce.hasOwnProperty(L) &&
+ (_[L] = void 0 === o[L] && void 0 !== j ? j[L] : o[L]);
+ }
+ var L = arguments.length - 2;
+ if (1 === L) _.children = u;
+ else if (1 < L) {
+ j = Array(L);
+ for (var B = 0; B < L; B++) j[B] = arguments[B + 2];
+ _.children = j;
+ }
+ return { $$typeof: i, type: s.type, key: w, ref: x, props: _, _owner: C };
+ }),
+ (o.createContext = function (s) {
+ return (
+ ((s = {
+ $$typeof: j,
+ _currentValue: s,
+ _currentValue2: s,
+ _threadCount: 0,
+ Provider: null,
+ Consumer: null,
+ _defaultValue: null,
+ _globalName: null
+ }).Provider = { $$typeof: C, _context: s }),
+ (s.Consumer = s)
+ );
+ }),
+ (o.createElement = M),
+ (o.createFactory = function (s) {
+ var o = M.bind(null, s);
+ return (o.type = s), o;
+ }),
+ (o.createRef = function () {
+ return { current: null };
+ }),
+ (o.forwardRef = function (s) {
+ return { $$typeof: L, render: s };
+ }),
+ (o.isValidElement = O),
+ (o.lazy = function (s) {
+ return { $$typeof: V, _payload: { _status: -1, _result: s }, _init: T };
+ }),
+ (o.memo = function (s, o) {
+ return { $$typeof: $, type: s, compare: void 0 === o ? null : o };
+ }),
+ (o.startTransition = function (s) {
+ var o = fe.transition;
+ fe.transition = {};
+ try {
+ s();
+ } finally {
+ fe.transition = o;
+ }
+ }),
+ (o.unstable_act = X),
+ (o.useCallback = function (s, o) {
+ return de.current.useCallback(s, o);
+ }),
+ (o.useContext = function (s) {
+ return de.current.useContext(s);
+ }),
+ (o.useDebugValue = function () {}),
+ (o.useDeferredValue = function (s) {
+ return de.current.useDeferredValue(s);
+ }),
+ (o.useEffect = function (s, o) {
+ return de.current.useEffect(s, o);
+ }),
+ (o.useId = function () {
+ return de.current.useId();
+ }),
+ (o.useImperativeHandle = function (s, o, i) {
+ return de.current.useImperativeHandle(s, o, i);
+ }),
+ (o.useInsertionEffect = function (s, o) {
+ return de.current.useInsertionEffect(s, o);
+ }),
+ (o.useLayoutEffect = function (s, o) {
+ return de.current.useLayoutEffect(s, o);
+ }),
+ (o.useMemo = function (s, o) {
+ return de.current.useMemo(s, o);
+ }),
+ (o.useReducer = function (s, o, i) {
+ return de.current.useReducer(s, o, i);
+ }),
+ (o.useRef = function (s) {
+ return de.current.useRef(s);
+ }),
+ (o.useState = function (s) {
+ return de.current.useState(s);
+ }),
+ (o.useSyncExternalStore = function (s, o, i) {
+ return de.current.useSyncExternalStore(s, o, i);
+ }),
+ (o.useTransition = function () {
+ return de.current.useTransition();
+ }),
+ (o.version = '18.3.1');
+ },
+ 96540: (s, o, i) => {
+ 'use strict';
+ s.exports = i(15287);
+ },
+ 86048: (s) => {
+ 'use strict';
+ var o = {};
+ function createErrorType(s, i, u) {
+ u || (u = Error);
+ var _ = (function (s) {
+ function NodeError(o, u, _) {
+ return (
+ s.call(
+ this,
+ (function getMessage(s, o, u) {
+ return 'string' == typeof i ? i : i(s, o, u);
+ })(o, u, _)
+ ) || this
+ );
+ }
+ return (
+ (function _inheritsLoose(s, o) {
+ (s.prototype = Object.create(o.prototype)),
+ (s.prototype.constructor = s),
+ (s.__proto__ = o);
+ })(NodeError, s),
+ NodeError
+ );
+ })(u);
+ (_.prototype.name = u.name), (_.prototype.code = s), (o[s] = _);
+ }
+ function oneOf(s, o) {
+ if (Array.isArray(s)) {
+ var i = s.length;
+ return (
+ (s = s.map(function (s) {
+ return String(s);
+ })),
+ i > 2
+ ? 'one of '.concat(o, ' ').concat(s.slice(0, i - 1).join(', '), ', or ') +
+ s[i - 1]
+ : 2 === i
+ ? 'one of '.concat(o, ' ').concat(s[0], ' or ').concat(s[1])
+ : 'of '.concat(o, ' ').concat(s[0])
+ );
+ }
+ return 'of '.concat(o, ' ').concat(String(s));
+ }
+ createErrorType(
+ 'ERR_INVALID_OPT_VALUE',
+ function (s, o) {
+ return 'The value "' + o + '" is invalid for option "' + s + '"';
+ },
+ TypeError
+ ),
+ createErrorType(
+ 'ERR_INVALID_ARG_TYPE',
+ function (s, o, i) {
+ var u, _;
+ if (
+ ('string' == typeof o &&
+ (function startsWith(s, o, i) {
+ return s.substr(!i || i < 0 ? 0 : +i, o.length) === o;
+ })(o, 'not ')
+ ? ((u = 'must not be'), (o = o.replace(/^not /, '')))
+ : (u = 'must be'),
+ (function endsWith(s, o, i) {
+ return (
+ (void 0 === i || i > s.length) && (i = s.length),
+ s.substring(i - o.length, i) === o
+ );
+ })(s, ' argument'))
+ )
+ _ = 'The '.concat(s, ' ').concat(u, ' ').concat(oneOf(o, 'type'));
+ else {
+ var w = (function includes(s, o, i) {
+ return (
+ 'number' != typeof i && (i = 0),
+ !(i + o.length > s.length) && -1 !== s.indexOf(o, i)
+ );
+ })(s, '.')
+ ? 'property'
+ : 'argument';
+ _ = 'The "'
+ .concat(s, '" ')
+ .concat(w, ' ')
+ .concat(u, ' ')
+ .concat(oneOf(o, 'type'));
+ }
+ return (_ += '. Received type '.concat(typeof i));
+ },
+ TypeError
+ ),
+ createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF'),
+ createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (s) {
+ return 'The ' + s + ' method is not implemented';
+ }),
+ createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close'),
+ createErrorType('ERR_STREAM_DESTROYED', function (s) {
+ return 'Cannot call ' + s + ' after a stream was destroyed';
+ }),
+ createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times'),
+ createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable'),
+ createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end'),
+ createErrorType(
+ 'ERR_STREAM_NULL_VALUES',
+ 'May not write null values to stream',
+ TypeError
+ ),
+ createErrorType(
+ 'ERR_UNKNOWN_ENCODING',
+ function (s) {
+ return 'Unknown encoding: ' + s;
+ },
+ TypeError
+ ),
+ createErrorType(
+ 'ERR_STREAM_UNSHIFT_AFTER_END_EVENT',
+ 'stream.unshift() after end event'
+ ),
+ (s.exports.F = o);
+ },
+ 25382: (s, o, i) => {
+ 'use strict';
+ var u = i(65606),
+ _ =
+ Object.keys ||
+ function (s) {
+ var o = [];
+ for (var i in s) o.push(i);
+ return o;
+ };
+ s.exports = Duplex;
+ var w = i(45412),
+ x = i(16708);
+ i(56698)(Duplex, w);
+ for (var C = _(x.prototype), j = 0; j < C.length; j++) {
+ var L = C[j];
+ Duplex.prototype[L] || (Duplex.prototype[L] = x.prototype[L]);
+ }
+ function Duplex(s) {
+ if (!(this instanceof Duplex)) return new Duplex(s);
+ w.call(this, s),
+ x.call(this, s),
+ (this.allowHalfOpen = !0),
+ s &&
+ (!1 === s.readable && (this.readable = !1),
+ !1 === s.writable && (this.writable = !1),
+ !1 === s.allowHalfOpen && ((this.allowHalfOpen = !1), this.once('end', onend)));
+ }
+ function onend() {
+ this._writableState.ended || u.nextTick(onEndNT, this);
+ }
+ function onEndNT(s) {
+ s.end();
+ }
+ Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', {
+ enumerable: !1,
+ get: function get() {
+ return this._writableState.highWaterMark;
+ }
+ }),
+ Object.defineProperty(Duplex.prototype, 'writableBuffer', {
+ enumerable: !1,
+ get: function get() {
+ return this._writableState && this._writableState.getBuffer();
+ }
+ }),
+ Object.defineProperty(Duplex.prototype, 'writableLength', {
+ enumerable: !1,
+ get: function get() {
+ return this._writableState.length;
+ }
+ }),
+ Object.defineProperty(Duplex.prototype, 'destroyed', {
+ enumerable: !1,
+ get: function get() {
+ return (
+ void 0 !== this._readableState &&
+ void 0 !== this._writableState &&
+ this._readableState.destroyed &&
+ this._writableState.destroyed
+ );
+ },
+ set: function set(s) {
+ void 0 !== this._readableState &&
+ void 0 !== this._writableState &&
+ ((this._readableState.destroyed = s), (this._writableState.destroyed = s));
+ }
+ });
+ },
+ 63600: (s, o, i) => {
+ 'use strict';
+ s.exports = PassThrough;
+ var u = i(74610);
+ function PassThrough(s) {
+ if (!(this instanceof PassThrough)) return new PassThrough(s);
+ u.call(this, s);
+ }
+ i(56698)(PassThrough, u),
+ (PassThrough.prototype._transform = function (s, o, i) {
+ i(null, s);
+ });
+ },
+ 45412: (s, o, i) => {
+ 'use strict';
+ var u,
+ _ = i(65606);
+ (s.exports = Readable), (Readable.ReadableState = ReadableState);
+ i(37007).EventEmitter;
+ var w = function EElistenerCount(s, o) {
+ return s.listeners(o).length;
+ },
+ x = i(40345),
+ C = i(48287).Buffer,
+ j =
+ (void 0 !== i.g
+ ? i.g
+ : 'undefined' != typeof window
+ ? window
+ : 'undefined' != typeof self
+ ? self
+ : {}
+ ).Uint8Array || function () {};
+ var L,
+ B = i(79838);
+ L = B && B.debuglog ? B.debuglog('stream') : function debug() {};
+ var $,
+ V,
+ U,
+ z = i(80345),
+ Y = i(75896),
+ Z = i(65291).getHighWaterMark,
+ ee = i(86048).F,
+ ie = ee.ERR_INVALID_ARG_TYPE,
+ ae = ee.ERR_STREAM_PUSH_AFTER_EOF,
+ le = ee.ERR_METHOD_NOT_IMPLEMENTED,
+ ce = ee.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;
+ i(56698)(Readable, x);
+ var pe = Y.errorOrDestroy,
+ de = ['error', 'close', 'destroy', 'pause', 'resume'];
+ function ReadableState(s, o, _) {
+ (u = u || i(25382)),
+ (s = s || {}),
+ 'boolean' != typeof _ && (_ = o instanceof u),
+ (this.objectMode = !!s.objectMode),
+ _ && (this.objectMode = this.objectMode || !!s.readableObjectMode),
+ (this.highWaterMark = Z(this, s, 'readableHighWaterMark', _)),
+ (this.buffer = new z()),
+ (this.length = 0),
+ (this.pipes = null),
+ (this.pipesCount = 0),
+ (this.flowing = null),
+ (this.ended = !1),
+ (this.endEmitted = !1),
+ (this.reading = !1),
+ (this.sync = !0),
+ (this.needReadable = !1),
+ (this.emittedReadable = !1),
+ (this.readableListening = !1),
+ (this.resumeScheduled = !1),
+ (this.paused = !0),
+ (this.emitClose = !1 !== s.emitClose),
+ (this.autoDestroy = !!s.autoDestroy),
+ (this.destroyed = !1),
+ (this.defaultEncoding = s.defaultEncoding || 'utf8'),
+ (this.awaitDrain = 0),
+ (this.readingMore = !1),
+ (this.decoder = null),
+ (this.encoding = null),
+ s.encoding &&
+ ($ || ($ = i(83141).I),
+ (this.decoder = new $(s.encoding)),
+ (this.encoding = s.encoding));
+ }
+ function Readable(s) {
+ if (((u = u || i(25382)), !(this instanceof Readable))) return new Readable(s);
+ var o = this instanceof u;
+ (this._readableState = new ReadableState(s, this, o)),
+ (this.readable = !0),
+ s &&
+ ('function' == typeof s.read && (this._read = s.read),
+ 'function' == typeof s.destroy && (this._destroy = s.destroy)),
+ x.call(this);
+ }
+ function readableAddChunk(s, o, i, u, _) {
+ L('readableAddChunk', o);
+ var w,
+ x = s._readableState;
+ if (null === o)
+ (x.reading = !1),
+ (function onEofChunk(s, o) {
+ if ((L('onEofChunk'), o.ended)) return;
+ if (o.decoder) {
+ var i = o.decoder.end();
+ i && i.length && (o.buffer.push(i), (o.length += o.objectMode ? 1 : i.length));
+ }
+ (o.ended = !0),
+ o.sync
+ ? emitReadable(s)
+ : ((o.needReadable = !1),
+ o.emittedReadable || ((o.emittedReadable = !0), emitReadable_(s)));
+ })(s, x);
+ else if (
+ (_ ||
+ (w = (function chunkInvalid(s, o) {
+ var i;
+ (function _isUint8Array(s) {
+ return C.isBuffer(s) || s instanceof j;
+ })(o) ||
+ 'string' == typeof o ||
+ void 0 === o ||
+ s.objectMode ||
+ (i = new ie('chunk', ['string', 'Buffer', 'Uint8Array'], o));
+ return i;
+ })(x, o)),
+ w)
+ )
+ pe(s, w);
+ else if (x.objectMode || (o && o.length > 0))
+ if (
+ ('string' == typeof o ||
+ x.objectMode ||
+ Object.getPrototypeOf(o) === C.prototype ||
+ (o = (function _uint8ArrayToBuffer(s) {
+ return C.from(s);
+ })(o)),
+ u)
+ )
+ x.endEmitted ? pe(s, new ce()) : addChunk(s, x, o, !0);
+ else if (x.ended) pe(s, new ae());
+ else {
+ if (x.destroyed) return !1;
+ (x.reading = !1),
+ x.decoder && !i
+ ? ((o = x.decoder.write(o)),
+ x.objectMode || 0 !== o.length ? addChunk(s, x, o, !1) : maybeReadMore(s, x))
+ : addChunk(s, x, o, !1);
+ }
+ else u || ((x.reading = !1), maybeReadMore(s, x));
+ return !x.ended && (x.length < x.highWaterMark || 0 === x.length);
+ }
+ function addChunk(s, o, i, u) {
+ o.flowing && 0 === o.length && !o.sync
+ ? ((o.awaitDrain = 0), s.emit('data', i))
+ : ((o.length += o.objectMode ? 1 : i.length),
+ u ? o.buffer.unshift(i) : o.buffer.push(i),
+ o.needReadable && emitReadable(s)),
+ maybeReadMore(s, o);
+ }
+ Object.defineProperty(Readable.prototype, 'destroyed', {
+ enumerable: !1,
+ get: function get() {
+ return void 0 !== this._readableState && this._readableState.destroyed;
+ },
+ set: function set(s) {
+ this._readableState && (this._readableState.destroyed = s);
+ }
+ }),
+ (Readable.prototype.destroy = Y.destroy),
+ (Readable.prototype._undestroy = Y.undestroy),
+ (Readable.prototype._destroy = function (s, o) {
+ o(s);
+ }),
+ (Readable.prototype.push = function (s, o) {
+ var i,
+ u = this._readableState;
+ return (
+ u.objectMode
+ ? (i = !0)
+ : 'string' == typeof s &&
+ ((o = o || u.defaultEncoding) !== u.encoding && ((s = C.from(s, o)), (o = '')),
+ (i = !0)),
+ readableAddChunk(this, s, o, !1, i)
+ );
+ }),
+ (Readable.prototype.unshift = function (s) {
+ return readableAddChunk(this, s, null, !0, !1);
+ }),
+ (Readable.prototype.isPaused = function () {
+ return !1 === this._readableState.flowing;
+ }),
+ (Readable.prototype.setEncoding = function (s) {
+ $ || ($ = i(83141).I);
+ var o = new $(s);
+ (this._readableState.decoder = o),
+ (this._readableState.encoding = this._readableState.decoder.encoding);
+ for (var u = this._readableState.buffer.head, _ = ''; null !== u; )
+ (_ += o.write(u.data)), (u = u.next);
+ return (
+ this._readableState.buffer.clear(),
+ '' !== _ && this._readableState.buffer.push(_),
+ (this._readableState.length = _.length),
+ this
+ );
+ });
+ var fe = 1073741824;
+ function howMuchToRead(s, o) {
+ return s <= 0 || (0 === o.length && o.ended)
+ ? 0
+ : o.objectMode
+ ? 1
+ : s != s
+ ? o.flowing && o.length
+ ? o.buffer.head.data.length
+ : o.length
+ : (s > o.highWaterMark &&
+ (o.highWaterMark = (function computeNewHighWaterMark(s) {
+ return (
+ s >= fe
+ ? (s = fe)
+ : (s--,
+ (s |= s >>> 1),
+ (s |= s >>> 2),
+ (s |= s >>> 4),
+ (s |= s >>> 8),
+ (s |= s >>> 16),
+ s++),
+ s
+ );
+ })(s)),
+ s <= o.length ? s : o.ended ? o.length : ((o.needReadable = !0), 0));
+ }
+ function emitReadable(s) {
+ var o = s._readableState;
+ L('emitReadable', o.needReadable, o.emittedReadable),
+ (o.needReadable = !1),
+ o.emittedReadable ||
+ (L('emitReadable', o.flowing),
+ (o.emittedReadable = !0),
+ _.nextTick(emitReadable_, s));
+ }
+ function emitReadable_(s) {
+ var o = s._readableState;
+ L('emitReadable_', o.destroyed, o.length, o.ended),
+ o.destroyed ||
+ (!o.length && !o.ended) ||
+ (s.emit('readable'), (o.emittedReadable = !1)),
+ (o.needReadable = !o.flowing && !o.ended && o.length <= o.highWaterMark),
+ flow(s);
+ }
+ function maybeReadMore(s, o) {
+ o.readingMore || ((o.readingMore = !0), _.nextTick(maybeReadMore_, s, o));
+ }
+ function maybeReadMore_(s, o) {
+ for (
+ ;
+ !o.reading &&
+ !o.ended &&
+ (o.length < o.highWaterMark || (o.flowing && 0 === o.length));
+
+ ) {
+ var i = o.length;
+ if ((L('maybeReadMore read 0'), s.read(0), i === o.length)) break;
+ }
+ o.readingMore = !1;
+ }
+ function updateReadableListening(s) {
+ var o = s._readableState;
+ (o.readableListening = s.listenerCount('readable') > 0),
+ o.resumeScheduled && !o.paused
+ ? (o.flowing = !0)
+ : s.listenerCount('data') > 0 && s.resume();
+ }
+ function nReadingNextTick(s) {
+ L('readable nexttick read 0'), s.read(0);
+ }
+ function resume_(s, o) {
+ L('resume', o.reading),
+ o.reading || s.read(0),
+ (o.resumeScheduled = !1),
+ s.emit('resume'),
+ flow(s),
+ o.flowing && !o.reading && s.read(0);
+ }
+ function flow(s) {
+ var o = s._readableState;
+ for (L('flow', o.flowing); o.flowing && null !== s.read(); );
+ }
+ function fromList(s, o) {
+ return 0 === o.length
+ ? null
+ : (o.objectMode
+ ? (i = o.buffer.shift())
+ : !s || s >= o.length
+ ? ((i = o.decoder
+ ? o.buffer.join('')
+ : 1 === o.buffer.length
+ ? o.buffer.first()
+ : o.buffer.concat(o.length)),
+ o.buffer.clear())
+ : (i = o.buffer.consume(s, o.decoder)),
+ i);
+ var i;
+ }
+ function endReadable(s) {
+ var o = s._readableState;
+ L('endReadable', o.endEmitted),
+ o.endEmitted || ((o.ended = !0), _.nextTick(endReadableNT, o, s));
+ }
+ function endReadableNT(s, o) {
+ if (
+ (L('endReadableNT', s.endEmitted, s.length),
+ !s.endEmitted &&
+ 0 === s.length &&
+ ((s.endEmitted = !0), (o.readable = !1), o.emit('end'), s.autoDestroy))
+ ) {
+ var i = o._writableState;
+ (!i || (i.autoDestroy && i.finished)) && o.destroy();
+ }
+ }
+ function indexOf(s, o) {
+ for (var i = 0, u = s.length; i < u; i++) if (s[i] === o) return i;
+ return -1;
+ }
+ (Readable.prototype.read = function (s) {
+ L('read', s), (s = parseInt(s, 10));
+ var o = this._readableState,
+ i = s;
+ if (
+ (0 !== s && (o.emittedReadable = !1),
+ 0 === s &&
+ o.needReadable &&
+ ((0 !== o.highWaterMark ? o.length >= o.highWaterMark : o.length > 0) || o.ended))
+ )
+ return (
+ L('read: emitReadable', o.length, o.ended),
+ 0 === o.length && o.ended ? endReadable(this) : emitReadable(this),
+ null
+ );
+ if (0 === (s = howMuchToRead(s, o)) && o.ended)
+ return 0 === o.length && endReadable(this), null;
+ var u,
+ _ = o.needReadable;
+ return (
+ L('need readable', _),
+ (0 === o.length || o.length - s < o.highWaterMark) &&
+ L('length less than watermark', (_ = !0)),
+ o.ended || o.reading
+ ? L('reading or ended', (_ = !1))
+ : _ &&
+ (L('do read'),
+ (o.reading = !0),
+ (o.sync = !0),
+ 0 === o.length && (o.needReadable = !0),
+ this._read(o.highWaterMark),
+ (o.sync = !1),
+ o.reading || (s = howMuchToRead(i, o))),
+ null === (u = s > 0 ? fromList(s, o) : null)
+ ? ((o.needReadable = o.length <= o.highWaterMark), (s = 0))
+ : ((o.length -= s), (o.awaitDrain = 0)),
+ 0 === o.length &&
+ (o.ended || (o.needReadable = !0), i !== s && o.ended && endReadable(this)),
+ null !== u && this.emit('data', u),
+ u
+ );
+ }),
+ (Readable.prototype._read = function (s) {
+ pe(this, new le('_read()'));
+ }),
+ (Readable.prototype.pipe = function (s, o) {
+ var i = this,
+ u = this._readableState;
+ switch (u.pipesCount) {
+ case 0:
+ u.pipes = s;
+ break;
+ case 1:
+ u.pipes = [u.pipes, s];
+ break;
+ default:
+ u.pipes.push(s);
+ }
+ (u.pipesCount += 1), L('pipe count=%d opts=%j', u.pipesCount, o);
+ var x = (!o || !1 !== o.end) && s !== _.stdout && s !== _.stderr ? onend : unpipe;
+ function onunpipe(o, _) {
+ L('onunpipe'),
+ o === i &&
+ _ &&
+ !1 === _.hasUnpiped &&
+ ((_.hasUnpiped = !0),
+ (function cleanup() {
+ L('cleanup'),
+ s.removeListener('close', onclose),
+ s.removeListener('finish', onfinish),
+ s.removeListener('drain', C),
+ s.removeListener('error', onerror),
+ s.removeListener('unpipe', onunpipe),
+ i.removeListener('end', onend),
+ i.removeListener('end', unpipe),
+ i.removeListener('data', ondata),
+ (j = !0),
+ !u.awaitDrain || (s._writableState && !s._writableState.needDrain) || C();
+ })());
+ }
+ function onend() {
+ L('onend'), s.end();
+ }
+ u.endEmitted ? _.nextTick(x) : i.once('end', x), s.on('unpipe', onunpipe);
+ var C = (function pipeOnDrain(s) {
+ return function pipeOnDrainFunctionResult() {
+ var o = s._readableState;
+ L('pipeOnDrain', o.awaitDrain),
+ o.awaitDrain && o.awaitDrain--,
+ 0 === o.awaitDrain && w(s, 'data') && ((o.flowing = !0), flow(s));
+ };
+ })(i);
+ s.on('drain', C);
+ var j = !1;
+ function ondata(o) {
+ L('ondata');
+ var _ = s.write(o);
+ L('dest.write', _),
+ !1 === _ &&
+ (((1 === u.pipesCount && u.pipes === s) ||
+ (u.pipesCount > 1 && -1 !== indexOf(u.pipes, s))) &&
+ !j &&
+ (L('false write response, pause', u.awaitDrain), u.awaitDrain++),
+ i.pause());
+ }
+ function onerror(o) {
+ L('onerror', o),
+ unpipe(),
+ s.removeListener('error', onerror),
+ 0 === w(s, 'error') && pe(s, o);
+ }
+ function onclose() {
+ s.removeListener('finish', onfinish), unpipe();
+ }
+ function onfinish() {
+ L('onfinish'), s.removeListener('close', onclose), unpipe();
+ }
+ function unpipe() {
+ L('unpipe'), i.unpipe(s);
+ }
+ return (
+ i.on('data', ondata),
+ (function prependListener(s, o, i) {
+ if ('function' == typeof s.prependListener) return s.prependListener(o, i);
+ s._events && s._events[o]
+ ? Array.isArray(s._events[o])
+ ? s._events[o].unshift(i)
+ : (s._events[o] = [i, s._events[o]])
+ : s.on(o, i);
+ })(s, 'error', onerror),
+ s.once('close', onclose),
+ s.once('finish', onfinish),
+ s.emit('pipe', i),
+ u.flowing || (L('pipe resume'), i.resume()),
+ s
+ );
+ }),
+ (Readable.prototype.unpipe = function (s) {
+ var o = this._readableState,
+ i = { hasUnpiped: !1 };
+ if (0 === o.pipesCount) return this;
+ if (1 === o.pipesCount)
+ return (
+ (s && s !== o.pipes) ||
+ (s || (s = o.pipes),
+ (o.pipes = null),
+ (o.pipesCount = 0),
+ (o.flowing = !1),
+ s && s.emit('unpipe', this, i)),
+ this
+ );
+ if (!s) {
+ var u = o.pipes,
+ _ = o.pipesCount;
+ (o.pipes = null), (o.pipesCount = 0), (o.flowing = !1);
+ for (var w = 0; w < _; w++) u[w].emit('unpipe', this, { hasUnpiped: !1 });
+ return this;
+ }
+ var x = indexOf(o.pipes, s);
+ return (
+ -1 === x ||
+ (o.pipes.splice(x, 1),
+ (o.pipesCount -= 1),
+ 1 === o.pipesCount && (o.pipes = o.pipes[0]),
+ s.emit('unpipe', this, i)),
+ this
+ );
+ }),
+ (Readable.prototype.on = function (s, o) {
+ var i = x.prototype.on.call(this, s, o),
+ u = this._readableState;
+ return (
+ 'data' === s
+ ? ((u.readableListening = this.listenerCount('readable') > 0),
+ !1 !== u.flowing && this.resume())
+ : 'readable' === s &&
+ (u.endEmitted ||
+ u.readableListening ||
+ ((u.readableListening = u.needReadable = !0),
+ (u.flowing = !1),
+ (u.emittedReadable = !1),
+ L('on readable', u.length, u.reading),
+ u.length
+ ? emitReadable(this)
+ : u.reading || _.nextTick(nReadingNextTick, this))),
+ i
+ );
+ }),
+ (Readable.prototype.addListener = Readable.prototype.on),
+ (Readable.prototype.removeListener = function (s, o) {
+ var i = x.prototype.removeListener.call(this, s, o);
+ return 'readable' === s && _.nextTick(updateReadableListening, this), i;
+ }),
+ (Readable.prototype.removeAllListeners = function (s) {
+ var o = x.prototype.removeAllListeners.apply(this, arguments);
+ return (
+ ('readable' !== s && void 0 !== s) || _.nextTick(updateReadableListening, this), o
+ );
+ }),
+ (Readable.prototype.resume = function () {
+ var s = this._readableState;
+ return (
+ s.flowing ||
+ (L('resume'),
+ (s.flowing = !s.readableListening),
+ (function resume(s, o) {
+ o.resumeScheduled || ((o.resumeScheduled = !0), _.nextTick(resume_, s, o));
+ })(this, s)),
+ (s.paused = !1),
+ this
+ );
+ }),
+ (Readable.prototype.pause = function () {
+ return (
+ L('call pause flowing=%j', this._readableState.flowing),
+ !1 !== this._readableState.flowing &&
+ (L('pause'), (this._readableState.flowing = !1), this.emit('pause')),
+ (this._readableState.paused = !0),
+ this
+ );
+ }),
+ (Readable.prototype.wrap = function (s) {
+ var o = this,
+ i = this._readableState,
+ u = !1;
+ for (var _ in (s.on('end', function () {
+ if ((L('wrapped end'), i.decoder && !i.ended)) {
+ var s = i.decoder.end();
+ s && s.length && o.push(s);
+ }
+ o.push(null);
+ }),
+ s.on('data', function (_) {
+ (L('wrapped data'),
+ i.decoder && (_ = i.decoder.write(_)),
+ i.objectMode && null == _) ||
+ ((i.objectMode || (_ && _.length)) && (o.push(_) || ((u = !0), s.pause())));
+ }),
+ s))
+ void 0 === this[_] &&
+ 'function' == typeof s[_] &&
+ (this[_] = (function methodWrap(o) {
+ return function methodWrapReturnFunction() {
+ return s[o].apply(s, arguments);
+ };
+ })(_));
+ for (var w = 0; w < de.length; w++) s.on(de[w], this.emit.bind(this, de[w]));
+ return (
+ (this._read = function (o) {
+ L('wrapped _read', o), u && ((u = !1), s.resume());
+ }),
+ this
+ );
+ }),
+ 'function' == typeof Symbol &&
+ (Readable.prototype[Symbol.asyncIterator] = function () {
+ return void 0 === V && (V = i(2955)), V(this);
+ }),
+ Object.defineProperty(Readable.prototype, 'readableHighWaterMark', {
+ enumerable: !1,
+ get: function get() {
+ return this._readableState.highWaterMark;
+ }
+ }),
+ Object.defineProperty(Readable.prototype, 'readableBuffer', {
+ enumerable: !1,
+ get: function get() {
+ return this._readableState && this._readableState.buffer;
+ }
+ }),
+ Object.defineProperty(Readable.prototype, 'readableFlowing', {
+ enumerable: !1,
+ get: function get() {
+ return this._readableState.flowing;
+ },
+ set: function set(s) {
+ this._readableState && (this._readableState.flowing = s);
+ }
+ }),
+ (Readable._fromList = fromList),
+ Object.defineProperty(Readable.prototype, 'readableLength', {
+ enumerable: !1,
+ get: function get() {
+ return this._readableState.length;
+ }
+ }),
+ 'function' == typeof Symbol &&
+ (Readable.from = function (s, o) {
+ return void 0 === U && (U = i(55157)), U(Readable, s, o);
+ });
+ },
+ 74610: (s, o, i) => {
+ 'use strict';
+ s.exports = Transform;
+ var u = i(86048).F,
+ _ = u.ERR_METHOD_NOT_IMPLEMENTED,
+ w = u.ERR_MULTIPLE_CALLBACK,
+ x = u.ERR_TRANSFORM_ALREADY_TRANSFORMING,
+ C = u.ERR_TRANSFORM_WITH_LENGTH_0,
+ j = i(25382);
+ function afterTransform(s, o) {
+ var i = this._transformState;
+ i.transforming = !1;
+ var u = i.writecb;
+ if (null === u) return this.emit('error', new w());
+ (i.writechunk = null), (i.writecb = null), null != o && this.push(o), u(s);
+ var _ = this._readableState;
+ (_.reading = !1),
+ (_.needReadable || _.length < _.highWaterMark) && this._read(_.highWaterMark);
+ }
+ function Transform(s) {
+ if (!(this instanceof Transform)) return new Transform(s);
+ j.call(this, s),
+ (this._transformState = {
+ afterTransform: afterTransform.bind(this),
+ needTransform: !1,
+ transforming: !1,
+ writecb: null,
+ writechunk: null,
+ writeencoding: null
+ }),
+ (this._readableState.needReadable = !0),
+ (this._readableState.sync = !1),
+ s &&
+ ('function' == typeof s.transform && (this._transform = s.transform),
+ 'function' == typeof s.flush && (this._flush = s.flush)),
+ this.on('prefinish', prefinish);
+ }
+ function prefinish() {
+ var s = this;
+ 'function' != typeof this._flush || this._readableState.destroyed
+ ? done(this, null, null)
+ : this._flush(function (o, i) {
+ done(s, o, i);
+ });
+ }
+ function done(s, o, i) {
+ if (o) return s.emit('error', o);
+ if ((null != i && s.push(i), s._writableState.length)) throw new C();
+ if (s._transformState.transforming) throw new x();
+ return s.push(null);
+ }
+ i(56698)(Transform, j),
+ (Transform.prototype.push = function (s, o) {
+ return (this._transformState.needTransform = !1), j.prototype.push.call(this, s, o);
+ }),
+ (Transform.prototype._transform = function (s, o, i) {
+ i(new _('_transform()'));
+ }),
+ (Transform.prototype._write = function (s, o, i) {
+ var u = this._transformState;
+ if (((u.writecb = i), (u.writechunk = s), (u.writeencoding = o), !u.transforming)) {
+ var _ = this._readableState;
+ (u.needTransform || _.needReadable || _.length < _.highWaterMark) &&
+ this._read(_.highWaterMark);
+ }
+ }),
+ (Transform.prototype._read = function (s) {
+ var o = this._transformState;
+ null === o.writechunk || o.transforming
+ ? (o.needTransform = !0)
+ : ((o.transforming = !0),
+ this._transform(o.writechunk, o.writeencoding, o.afterTransform));
+ }),
+ (Transform.prototype._destroy = function (s, o) {
+ j.prototype._destroy.call(this, s, function (s) {
+ o(s);
+ });
+ });
+ },
+ 16708: (s, o, i) => {
+ 'use strict';
+ var u,
+ _ = i(65606);
+ function CorkedRequest(s) {
+ var o = this;
+ (this.next = null),
+ (this.entry = null),
+ (this.finish = function () {
+ !(function onCorkedFinish(s, o, i) {
+ var u = s.entry;
+ s.entry = null;
+ for (; u; ) {
+ var _ = u.callback;
+ o.pendingcb--, _(i), (u = u.next);
+ }
+ o.corkedRequestsFree.next = s;
+ })(o, s);
+ });
+ }
+ (s.exports = Writable), (Writable.WritableState = WritableState);
+ var w = { deprecate: i(94643) },
+ x = i(40345),
+ C = i(48287).Buffer,
+ j =
+ (void 0 !== i.g
+ ? i.g
+ : 'undefined' != typeof window
+ ? window
+ : 'undefined' != typeof self
+ ? self
+ : {}
+ ).Uint8Array || function () {};
+ var L,
+ B = i(75896),
+ $ = i(65291).getHighWaterMark,
+ V = i(86048).F,
+ U = V.ERR_INVALID_ARG_TYPE,
+ z = V.ERR_METHOD_NOT_IMPLEMENTED,
+ Y = V.ERR_MULTIPLE_CALLBACK,
+ Z = V.ERR_STREAM_CANNOT_PIPE,
+ ee = V.ERR_STREAM_DESTROYED,
+ ie = V.ERR_STREAM_NULL_VALUES,
+ ae = V.ERR_STREAM_WRITE_AFTER_END,
+ le = V.ERR_UNKNOWN_ENCODING,
+ ce = B.errorOrDestroy;
+ function nop() {}
+ function WritableState(s, o, w) {
+ (u = u || i(25382)),
+ (s = s || {}),
+ 'boolean' != typeof w && (w = o instanceof u),
+ (this.objectMode = !!s.objectMode),
+ w && (this.objectMode = this.objectMode || !!s.writableObjectMode),
+ (this.highWaterMark = $(this, s, 'writableHighWaterMark', w)),
+ (this.finalCalled = !1),
+ (this.needDrain = !1),
+ (this.ending = !1),
+ (this.ended = !1),
+ (this.finished = !1),
+ (this.destroyed = !1);
+ var x = !1 === s.decodeStrings;
+ (this.decodeStrings = !x),
+ (this.defaultEncoding = s.defaultEncoding || 'utf8'),
+ (this.length = 0),
+ (this.writing = !1),
+ (this.corked = 0),
+ (this.sync = !0),
+ (this.bufferProcessing = !1),
+ (this.onwrite = function (s) {
+ !(function onwrite(s, o) {
+ var i = s._writableState,
+ u = i.sync,
+ w = i.writecb;
+ if ('function' != typeof w) throw new Y();
+ if (
+ ((function onwriteStateUpdate(s) {
+ (s.writing = !1),
+ (s.writecb = null),
+ (s.length -= s.writelen),
+ (s.writelen = 0);
+ })(i),
+ o)
+ )
+ !(function onwriteError(s, o, i, u, w) {
+ --o.pendingcb,
+ i
+ ? (_.nextTick(w, u),
+ _.nextTick(finishMaybe, s, o),
+ (s._writableState.errorEmitted = !0),
+ ce(s, u))
+ : (w(u),
+ (s._writableState.errorEmitted = !0),
+ ce(s, u),
+ finishMaybe(s, o));
+ })(s, i, u, o, w);
+ else {
+ var x = needFinish(i) || s.destroyed;
+ x || i.corked || i.bufferProcessing || !i.bufferedRequest || clearBuffer(s, i),
+ u ? _.nextTick(afterWrite, s, i, x, w) : afterWrite(s, i, x, w);
+ }
+ })(o, s);
+ }),
+ (this.writecb = null),
+ (this.writelen = 0),
+ (this.bufferedRequest = null),
+ (this.lastBufferedRequest = null),
+ (this.pendingcb = 0),
+ (this.prefinished = !1),
+ (this.errorEmitted = !1),
+ (this.emitClose = !1 !== s.emitClose),
+ (this.autoDestroy = !!s.autoDestroy),
+ (this.bufferedRequestCount = 0),
+ (this.corkedRequestsFree = new CorkedRequest(this));
+ }
+ function Writable(s) {
+ var o = this instanceof (u = u || i(25382));
+ if (!o && !L.call(Writable, this)) return new Writable(s);
+ (this._writableState = new WritableState(s, this, o)),
+ (this.writable = !0),
+ s &&
+ ('function' == typeof s.write && (this._write = s.write),
+ 'function' == typeof s.writev && (this._writev = s.writev),
+ 'function' == typeof s.destroy && (this._destroy = s.destroy),
+ 'function' == typeof s.final && (this._final = s.final)),
+ x.call(this);
+ }
+ function doWrite(s, o, i, u, _, w, x) {
+ (o.writelen = u),
+ (o.writecb = x),
+ (o.writing = !0),
+ (o.sync = !0),
+ o.destroyed
+ ? o.onwrite(new ee('write'))
+ : i
+ ? s._writev(_, o.onwrite)
+ : s._write(_, w, o.onwrite),
+ (o.sync = !1);
+ }
+ function afterWrite(s, o, i, u) {
+ i ||
+ (function onwriteDrain(s, o) {
+ 0 === o.length && o.needDrain && ((o.needDrain = !1), s.emit('drain'));
+ })(s, o),
+ o.pendingcb--,
+ u(),
+ finishMaybe(s, o);
+ }
+ function clearBuffer(s, o) {
+ o.bufferProcessing = !0;
+ var i = o.bufferedRequest;
+ if (s._writev && i && i.next) {
+ var u = o.bufferedRequestCount,
+ _ = new Array(u),
+ w = o.corkedRequestsFree;
+ w.entry = i;
+ for (var x = 0, C = !0; i; ) (_[x] = i), i.isBuf || (C = !1), (i = i.next), (x += 1);
+ (_.allBuffers = C),
+ doWrite(s, o, !0, o.length, _, '', w.finish),
+ o.pendingcb++,
+ (o.lastBufferedRequest = null),
+ w.next
+ ? ((o.corkedRequestsFree = w.next), (w.next = null))
+ : (o.corkedRequestsFree = new CorkedRequest(o)),
+ (o.bufferedRequestCount = 0);
+ } else {
+ for (; i; ) {
+ var j = i.chunk,
+ L = i.encoding,
+ B = i.callback;
+ if (
+ (doWrite(s, o, !1, o.objectMode ? 1 : j.length, j, L, B),
+ (i = i.next),
+ o.bufferedRequestCount--,
+ o.writing)
+ )
+ break;
+ }
+ null === i && (o.lastBufferedRequest = null);
+ }
+ (o.bufferedRequest = i), (o.bufferProcessing = !1);
+ }
+ function needFinish(s) {
+ return (
+ s.ending && 0 === s.length && null === s.bufferedRequest && !s.finished && !s.writing
+ );
+ }
+ function callFinal(s, o) {
+ s._final(function (i) {
+ o.pendingcb--,
+ i && ce(s, i),
+ (o.prefinished = !0),
+ s.emit('prefinish'),
+ finishMaybe(s, o);
+ });
+ }
+ function finishMaybe(s, o) {
+ var i = needFinish(o);
+ if (
+ i &&
+ ((function prefinish(s, o) {
+ o.prefinished ||
+ o.finalCalled ||
+ ('function' != typeof s._final || o.destroyed
+ ? ((o.prefinished = !0), s.emit('prefinish'))
+ : (o.pendingcb++, (o.finalCalled = !0), _.nextTick(callFinal, s, o)));
+ })(s, o),
+ 0 === o.pendingcb && ((o.finished = !0), s.emit('finish'), o.autoDestroy))
+ ) {
+ var u = s._readableState;
+ (!u || (u.autoDestroy && u.endEmitted)) && s.destroy();
+ }
+ return i;
+ }
+ i(56698)(Writable, x),
+ (WritableState.prototype.getBuffer = function getBuffer() {
+ for (var s = this.bufferedRequest, o = []; s; ) o.push(s), (s = s.next);
+ return o;
+ }),
+ (function () {
+ try {
+ Object.defineProperty(WritableState.prototype, 'buffer', {
+ get: w.deprecate(
+ function writableStateBufferGetter() {
+ return this.getBuffer();
+ },
+ '_writableState.buffer is deprecated. Use _writableState.getBuffer instead.',
+ 'DEP0003'
+ )
+ });
+ } catch (s) {}
+ })(),
+ 'function' == typeof Symbol &&
+ Symbol.hasInstance &&
+ 'function' == typeof Function.prototype[Symbol.hasInstance]
+ ? ((L = Function.prototype[Symbol.hasInstance]),
+ Object.defineProperty(Writable, Symbol.hasInstance, {
+ value: function value(s) {
+ return (
+ !!L.call(this, s) ||
+ (this === Writable && s && s._writableState instanceof WritableState)
+ );
+ }
+ }))
+ : (L = function realHasInstance(s) {
+ return s instanceof this;
+ }),
+ (Writable.prototype.pipe = function () {
+ ce(this, new Z());
+ }),
+ (Writable.prototype.write = function (s, o, i) {
+ var u = this._writableState,
+ w = !1,
+ x =
+ !u.objectMode &&
+ (function _isUint8Array(s) {
+ return C.isBuffer(s) || s instanceof j;
+ })(s);
+ return (
+ x &&
+ !C.isBuffer(s) &&
+ (s = (function _uint8ArrayToBuffer(s) {
+ return C.from(s);
+ })(s)),
+ 'function' == typeof o && ((i = o), (o = null)),
+ x ? (o = 'buffer') : o || (o = u.defaultEncoding),
+ 'function' != typeof i && (i = nop),
+ u.ending
+ ? (function writeAfterEnd(s, o) {
+ var i = new ae();
+ ce(s, i), _.nextTick(o, i);
+ })(this, i)
+ : (x ||
+ (function validChunk(s, o, i, u) {
+ var w;
+ return (
+ null === i
+ ? (w = new ie())
+ : 'string' == typeof i ||
+ o.objectMode ||
+ (w = new U('chunk', ['string', 'Buffer'], i)),
+ !w || (ce(s, w), _.nextTick(u, w), !1)
+ );
+ })(this, u, s, i)) &&
+ (u.pendingcb++,
+ (w = (function writeOrBuffer(s, o, i, u, _, w) {
+ if (!i) {
+ var x = (function decodeChunk(s, o, i) {
+ s.objectMode ||
+ !1 === s.decodeStrings ||
+ 'string' != typeof o ||
+ (o = C.from(o, i));
+ return o;
+ })(o, u, _);
+ u !== x && ((i = !0), (_ = 'buffer'), (u = x));
+ }
+ var j = o.objectMode ? 1 : u.length;
+ o.length += j;
+ var L = o.length < o.highWaterMark;
+ L || (o.needDrain = !0);
+ if (o.writing || o.corked) {
+ var B = o.lastBufferedRequest;
+ (o.lastBufferedRequest = {
+ chunk: u,
+ encoding: _,
+ isBuf: i,
+ callback: w,
+ next: null
+ }),
+ B
+ ? (B.next = o.lastBufferedRequest)
+ : (o.bufferedRequest = o.lastBufferedRequest),
+ (o.bufferedRequestCount += 1);
+ } else doWrite(s, o, !1, j, u, _, w);
+ return L;
+ })(this, u, x, s, o, i))),
+ w
+ );
+ }),
+ (Writable.prototype.cork = function () {
+ this._writableState.corked++;
+ }),
+ (Writable.prototype.uncork = function () {
+ var s = this._writableState;
+ s.corked &&
+ (s.corked--,
+ s.writing ||
+ s.corked ||
+ s.bufferProcessing ||
+ !s.bufferedRequest ||
+ clearBuffer(this, s));
+ }),
+ (Writable.prototype.setDefaultEncoding = function setDefaultEncoding(s) {
+ if (
+ ('string' == typeof s && (s = s.toLowerCase()),
+ !(
+ [
+ 'hex',
+ 'utf8',
+ 'utf-8',
+ 'ascii',
+ 'binary',
+ 'base64',
+ 'ucs2',
+ 'ucs-2',
+ 'utf16le',
+ 'utf-16le',
+ 'raw'
+ ].indexOf((s + '').toLowerCase()) > -1
+ ))
+ )
+ throw new le(s);
+ return (this._writableState.defaultEncoding = s), this;
+ }),
+ Object.defineProperty(Writable.prototype, 'writableBuffer', {
+ enumerable: !1,
+ get: function get() {
+ return this._writableState && this._writableState.getBuffer();
+ }
+ }),
+ Object.defineProperty(Writable.prototype, 'writableHighWaterMark', {
+ enumerable: !1,
+ get: function get() {
+ return this._writableState.highWaterMark;
+ }
+ }),
+ (Writable.prototype._write = function (s, o, i) {
+ i(new z('_write()'));
+ }),
+ (Writable.prototype._writev = null),
+ (Writable.prototype.end = function (s, o, i) {
+ var u = this._writableState;
+ return (
+ 'function' == typeof s
+ ? ((i = s), (s = null), (o = null))
+ : 'function' == typeof o && ((i = o), (o = null)),
+ null != s && this.write(s, o),
+ u.corked && ((u.corked = 1), this.uncork()),
+ u.ending ||
+ (function endWritable(s, o, i) {
+ (o.ending = !0),
+ finishMaybe(s, o),
+ i && (o.finished ? _.nextTick(i) : s.once('finish', i));
+ (o.ended = !0), (s.writable = !1);
+ })(this, u, i),
+ this
+ );
+ }),
+ Object.defineProperty(Writable.prototype, 'writableLength', {
+ enumerable: !1,
+ get: function get() {
+ return this._writableState.length;
+ }
+ }),
+ Object.defineProperty(Writable.prototype, 'destroyed', {
+ enumerable: !1,
+ get: function get() {
+ return void 0 !== this._writableState && this._writableState.destroyed;
+ },
+ set: function set(s) {
+ this._writableState && (this._writableState.destroyed = s);
+ }
+ }),
+ (Writable.prototype.destroy = B.destroy),
+ (Writable.prototype._undestroy = B.undestroy),
+ (Writable.prototype._destroy = function (s, o) {
+ o(s);
+ });
+ },
+ 2955: (s, o, i) => {
+ 'use strict';
+ var u,
+ _ = i(65606);
+ function _defineProperty(s, o, i) {
+ return (
+ (o = (function _toPropertyKey(s) {
+ var o = (function _toPrimitive(s, o) {
+ if ('object' != typeof s || null === s) return s;
+ var i = s[Symbol.toPrimitive];
+ if (void 0 !== i) {
+ var u = i.call(s, o || 'default');
+ if ('object' != typeof u) return u;
+ throw new TypeError('@@toPrimitive must return a primitive value.');
+ }
+ return ('string' === o ? String : Number)(s);
+ })(s, 'string');
+ return 'symbol' == typeof o ? o : String(o);
+ })(o)) in s
+ ? Object.defineProperty(s, o, {
+ value: i,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ })
+ : (s[o] = i),
+ s
+ );
+ }
+ var w = i(86238),
+ x = Symbol('lastResolve'),
+ C = Symbol('lastReject'),
+ j = Symbol('error'),
+ L = Symbol('ended'),
+ B = Symbol('lastPromise'),
+ $ = Symbol('handlePromise'),
+ V = Symbol('stream');
+ function createIterResult(s, o) {
+ return { value: s, done: o };
+ }
+ function readAndResolve(s) {
+ var o = s[x];
+ if (null !== o) {
+ var i = s[V].read();
+ null !== i &&
+ ((s[B] = null), (s[x] = null), (s[C] = null), o(createIterResult(i, !1)));
+ }
+ }
+ function onReadable(s) {
+ _.nextTick(readAndResolve, s);
+ }
+ var U = Object.getPrototypeOf(function () {}),
+ z = Object.setPrototypeOf(
+ (_defineProperty(
+ (u = {
+ get stream() {
+ return this[V];
+ },
+ next: function next() {
+ var s = this,
+ o = this[j];
+ if (null !== o) return Promise.reject(o);
+ if (this[L]) return Promise.resolve(createIterResult(void 0, !0));
+ if (this[V].destroyed)
+ return new Promise(function (o, i) {
+ _.nextTick(function () {
+ s[j] ? i(s[j]) : o(createIterResult(void 0, !0));
+ });
+ });
+ var i,
+ u = this[B];
+ if (u)
+ i = new Promise(
+ (function wrapForNext(s, o) {
+ return function (i, u) {
+ s.then(function () {
+ o[L] ? i(createIterResult(void 0, !0)) : o[$](i, u);
+ }, u);
+ };
+ })(u, this)
+ );
+ else {
+ var w = this[V].read();
+ if (null !== w) return Promise.resolve(createIterResult(w, !1));
+ i = new Promise(this[$]);
+ }
+ return (this[B] = i), i;
+ }
+ }),
+ Symbol.asyncIterator,
+ function () {
+ return this;
+ }
+ ),
+ _defineProperty(u, 'return', function _return() {
+ var s = this;
+ return new Promise(function (o, i) {
+ s[V].destroy(null, function (s) {
+ s ? i(s) : o(createIterResult(void 0, !0));
+ });
+ });
+ }),
+ u),
+ U
+ );
+ s.exports = function createReadableStreamAsyncIterator(s) {
+ var o,
+ i = Object.create(
+ z,
+ (_defineProperty((o = {}), V, { value: s, writable: !0 }),
+ _defineProperty(o, x, { value: null, writable: !0 }),
+ _defineProperty(o, C, { value: null, writable: !0 }),
+ _defineProperty(o, j, { value: null, writable: !0 }),
+ _defineProperty(o, L, { value: s._readableState.endEmitted, writable: !0 }),
+ _defineProperty(o, $, {
+ value: function value(s, o) {
+ var u = i[V].read();
+ u
+ ? ((i[B] = null), (i[x] = null), (i[C] = null), s(createIterResult(u, !1)))
+ : ((i[x] = s), (i[C] = o));
+ },
+ writable: !0
+ }),
+ o)
+ );
+ return (
+ (i[B] = null),
+ w(s, function (s) {
+ if (s && 'ERR_STREAM_PREMATURE_CLOSE' !== s.code) {
+ var o = i[C];
+ return (
+ null !== o && ((i[B] = null), (i[x] = null), (i[C] = null), o(s)),
+ void (i[j] = s)
+ );
+ }
+ var u = i[x];
+ null !== u &&
+ ((i[B] = null), (i[x] = null), (i[C] = null), u(createIterResult(void 0, !0))),
+ (i[L] = !0);
+ }),
+ s.on('readable', onReadable.bind(null, i)),
+ i
+ );
+ };
+ },
+ 80345: (s, o, i) => {
+ 'use strict';
+ function ownKeys(s, o) {
+ var i = Object.keys(s);
+ if (Object.getOwnPropertySymbols) {
+ var u = Object.getOwnPropertySymbols(s);
+ o &&
+ (u = u.filter(function (o) {
+ return Object.getOwnPropertyDescriptor(s, o).enumerable;
+ })),
+ i.push.apply(i, u);
+ }
+ return i;
+ }
+ function _objectSpread(s) {
+ for (var o = 1; o < arguments.length; o++) {
+ var i = null != arguments[o] ? arguments[o] : {};
+ o % 2
+ ? ownKeys(Object(i), !0).forEach(function (o) {
+ _defineProperty(s, o, i[o]);
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(s, Object.getOwnPropertyDescriptors(i))
+ : ownKeys(Object(i)).forEach(function (o) {
+ Object.defineProperty(s, o, Object.getOwnPropertyDescriptor(i, o));
+ });
+ }
+ return s;
+ }
+ function _defineProperty(s, o, i) {
+ return (
+ (o = _toPropertyKey(o)) in s
+ ? Object.defineProperty(s, o, {
+ value: i,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ })
+ : (s[o] = i),
+ s
+ );
+ }
+ function _defineProperties(s, o) {
+ for (var i = 0; i < o.length; i++) {
+ var u = o[i];
+ (u.enumerable = u.enumerable || !1),
+ (u.configurable = !0),
+ 'value' in u && (u.writable = !0),
+ Object.defineProperty(s, _toPropertyKey(u.key), u);
+ }
+ }
+ function _toPropertyKey(s) {
+ var o = (function _toPrimitive(s, o) {
+ if ('object' != typeof s || null === s) return s;
+ var i = s[Symbol.toPrimitive];
+ if (void 0 !== i) {
+ var u = i.call(s, o || 'default');
+ if ('object' != typeof u) return u;
+ throw new TypeError('@@toPrimitive must return a primitive value.');
+ }
+ return ('string' === o ? String : Number)(s);
+ })(s, 'string');
+ return 'symbol' == typeof o ? o : String(o);
+ }
+ var u = i(48287).Buffer,
+ _ = i(15340).inspect,
+ w = (_ && _.custom) || 'inspect';
+ s.exports = (function () {
+ function BufferList() {
+ !(function _classCallCheck(s, o) {
+ if (!(s instanceof o)) throw new TypeError('Cannot call a class as a function');
+ })(this, BufferList),
+ (this.head = null),
+ (this.tail = null),
+ (this.length = 0);
+ }
+ return (
+ (function _createClass(s, o, i) {
+ return (
+ o && _defineProperties(s.prototype, o),
+ i && _defineProperties(s, i),
+ Object.defineProperty(s, 'prototype', { writable: !1 }),
+ s
+ );
+ })(BufferList, [
+ {
+ key: 'push',
+ value: function push(s) {
+ var o = { data: s, next: null };
+ this.length > 0 ? (this.tail.next = o) : (this.head = o),
+ (this.tail = o),
+ ++this.length;
+ }
+ },
+ {
+ key: 'unshift',
+ value: function unshift(s) {
+ var o = { data: s, next: this.head };
+ 0 === this.length && (this.tail = o), (this.head = o), ++this.length;
+ }
+ },
+ {
+ key: 'shift',
+ value: function shift() {
+ if (0 !== this.length) {
+ var s = this.head.data;
+ return (
+ 1 === this.length
+ ? (this.head = this.tail = null)
+ : (this.head = this.head.next),
+ --this.length,
+ s
+ );
+ }
+ }
+ },
+ {
+ key: 'clear',
+ value: function clear() {
+ (this.head = this.tail = null), (this.length = 0);
+ }
+ },
+ {
+ key: 'join',
+ value: function join(s) {
+ if (0 === this.length) return '';
+ for (var o = this.head, i = '' + o.data; (o = o.next); ) i += s + o.data;
+ return i;
+ }
+ },
+ {
+ key: 'concat',
+ value: function concat(s) {
+ if (0 === this.length) return u.alloc(0);
+ for (var o, i, _, w = u.allocUnsafe(s >>> 0), x = this.head, C = 0; x; )
+ (o = x.data),
+ (i = w),
+ (_ = C),
+ u.prototype.copy.call(o, i, _),
+ (C += x.data.length),
+ (x = x.next);
+ return w;
+ }
+ },
+ {
+ key: 'consume',
+ value: function consume(s, o) {
+ var i;
+ return (
+ s < this.head.data.length
+ ? ((i = this.head.data.slice(0, s)),
+ (this.head.data = this.head.data.slice(s)))
+ : (i =
+ s === this.head.data.length
+ ? this.shift()
+ : o
+ ? this._getString(s)
+ : this._getBuffer(s)),
+ i
+ );
+ }
+ },
+ {
+ key: 'first',
+ value: function first() {
+ return this.head.data;
+ }
+ },
+ {
+ key: '_getString',
+ value: function _getString(s) {
+ var o = this.head,
+ i = 1,
+ u = o.data;
+ for (s -= u.length; (o = o.next); ) {
+ var _ = o.data,
+ w = s > _.length ? _.length : s;
+ if ((w === _.length ? (u += _) : (u += _.slice(0, s)), 0 === (s -= w))) {
+ w === _.length
+ ? (++i, o.next ? (this.head = o.next) : (this.head = this.tail = null))
+ : ((this.head = o), (o.data = _.slice(w)));
+ break;
+ }
+ ++i;
+ }
+ return (this.length -= i), u;
+ }
+ },
+ {
+ key: '_getBuffer',
+ value: function _getBuffer(s) {
+ var o = u.allocUnsafe(s),
+ i = this.head,
+ _ = 1;
+ for (i.data.copy(o), s -= i.data.length; (i = i.next); ) {
+ var w = i.data,
+ x = s > w.length ? w.length : s;
+ if ((w.copy(o, o.length - s, 0, x), 0 === (s -= x))) {
+ x === w.length
+ ? (++_, i.next ? (this.head = i.next) : (this.head = this.tail = null))
+ : ((this.head = i), (i.data = w.slice(x)));
+ break;
+ }
+ ++_;
+ }
+ return (this.length -= _), o;
+ }
+ },
+ {
+ key: w,
+ value: function value(s, o) {
+ return _(
+ this,
+ _objectSpread(_objectSpread({}, o), {}, { depth: 0, customInspect: !1 })
+ );
+ }
+ }
+ ]),
+ BufferList
+ );
+ })();
+ },
+ 75896: (s, o, i) => {
+ 'use strict';
+ var u = i(65606);
+ function emitErrorAndCloseNT(s, o) {
+ emitErrorNT(s, o), emitCloseNT(s);
+ }
+ function emitCloseNT(s) {
+ (s._writableState && !s._writableState.emitClose) ||
+ (s._readableState && !s._readableState.emitClose) ||
+ s.emit('close');
+ }
+ function emitErrorNT(s, o) {
+ s.emit('error', o);
+ }
+ s.exports = {
+ destroy: function destroy(s, o) {
+ var i = this,
+ _ = this._readableState && this._readableState.destroyed,
+ w = this._writableState && this._writableState.destroyed;
+ return _ || w
+ ? (o
+ ? o(s)
+ : s &&
+ (this._writableState
+ ? this._writableState.errorEmitted ||
+ ((this._writableState.errorEmitted = !0),
+ u.nextTick(emitErrorNT, this, s))
+ : u.nextTick(emitErrorNT, this, s)),
+ this)
+ : (this._readableState && (this._readableState.destroyed = !0),
+ this._writableState && (this._writableState.destroyed = !0),
+ this._destroy(s || null, function (s) {
+ !o && s
+ ? i._writableState
+ ? i._writableState.errorEmitted
+ ? u.nextTick(emitCloseNT, i)
+ : ((i._writableState.errorEmitted = !0),
+ u.nextTick(emitErrorAndCloseNT, i, s))
+ : u.nextTick(emitErrorAndCloseNT, i, s)
+ : o
+ ? (u.nextTick(emitCloseNT, i), o(s))
+ : u.nextTick(emitCloseNT, i);
+ }),
+ this);
+ },
+ undestroy: function undestroy() {
+ this._readableState &&
+ ((this._readableState.destroyed = !1),
+ (this._readableState.reading = !1),
+ (this._readableState.ended = !1),
+ (this._readableState.endEmitted = !1)),
+ this._writableState &&
+ ((this._writableState.destroyed = !1),
+ (this._writableState.ended = !1),
+ (this._writableState.ending = !1),
+ (this._writableState.finalCalled = !1),
+ (this._writableState.prefinished = !1),
+ (this._writableState.finished = !1),
+ (this._writableState.errorEmitted = !1));
+ },
+ errorOrDestroy: function errorOrDestroy(s, o) {
+ var i = s._readableState,
+ u = s._writableState;
+ (i && i.autoDestroy) || (u && u.autoDestroy) ? s.destroy(o) : s.emit('error', o);
+ }
+ };
+ },
+ 86238: (s, o, i) => {
+ 'use strict';
+ var u = i(86048).F.ERR_STREAM_PREMATURE_CLOSE;
+ function noop() {}
+ s.exports = function eos(s, o, i) {
+ if ('function' == typeof o) return eos(s, null, o);
+ o || (o = {}),
+ (i = (function once(s) {
+ var o = !1;
+ return function () {
+ if (!o) {
+ o = !0;
+ for (var i = arguments.length, u = new Array(i), _ = 0; _ < i; _++)
+ u[_] = arguments[_];
+ s.apply(this, u);
+ }
+ };
+ })(i || noop));
+ var _ = o.readable || (!1 !== o.readable && s.readable),
+ w = o.writable || (!1 !== o.writable && s.writable),
+ x = function onlegacyfinish() {
+ s.writable || j();
+ },
+ C = s._writableState && s._writableState.finished,
+ j = function onfinish() {
+ (w = !1), (C = !0), _ || i.call(s);
+ },
+ L = s._readableState && s._readableState.endEmitted,
+ B = function onend() {
+ (_ = !1), (L = !0), w || i.call(s);
+ },
+ $ = function onerror(o) {
+ i.call(s, o);
+ },
+ V = function onclose() {
+ var o;
+ return _ && !L
+ ? ((s._readableState && s._readableState.ended) || (o = new u()), i.call(s, o))
+ : w && !C
+ ? ((s._writableState && s._writableState.ended) || (o = new u()), i.call(s, o))
+ : void 0;
+ },
+ U = function onrequest() {
+ s.req.on('finish', j);
+ };
+ return (
+ !(function isRequest(s) {
+ return s.setHeader && 'function' == typeof s.abort;
+ })(s)
+ ? w && !s._writableState && (s.on('end', x), s.on('close', x))
+ : (s.on('complete', j), s.on('abort', V), s.req ? U() : s.on('request', U)),
+ s.on('end', B),
+ s.on('finish', j),
+ !1 !== o.error && s.on('error', $),
+ s.on('close', V),
+ function () {
+ s.removeListener('complete', j),
+ s.removeListener('abort', V),
+ s.removeListener('request', U),
+ s.req && s.req.removeListener('finish', j),
+ s.removeListener('end', x),
+ s.removeListener('close', x),
+ s.removeListener('finish', j),
+ s.removeListener('end', B),
+ s.removeListener('error', $),
+ s.removeListener('close', V);
+ }
+ );
+ };
+ },
+ 55157: (s) => {
+ s.exports = function () {
+ throw new Error('Readable.from is not available in the browser');
+ };
+ },
+ 57758: (s, o, i) => {
+ 'use strict';
+ var u;
+ var _ = i(86048).F,
+ w = _.ERR_MISSING_ARGS,
+ x = _.ERR_STREAM_DESTROYED;
+ function noop(s) {
+ if (s) throw s;
+ }
+ function call(s) {
+ s();
+ }
+ function pipe(s, o) {
+ return s.pipe(o);
+ }
+ s.exports = function pipeline() {
+ for (var s = arguments.length, o = new Array(s), _ = 0; _ < s; _++) o[_] = arguments[_];
+ var C,
+ j = (function popCallback(s) {
+ return s.length ? ('function' != typeof s[s.length - 1] ? noop : s.pop()) : noop;
+ })(o);
+ if ((Array.isArray(o[0]) && (o = o[0]), o.length < 2)) throw new w('streams');
+ var L = o.map(function (s, _) {
+ var w = _ < o.length - 1;
+ return (function destroyer(s, o, _, w) {
+ w = (function once(s) {
+ var o = !1;
+ return function () {
+ o || ((o = !0), s.apply(void 0, arguments));
+ };
+ })(w);
+ var C = !1;
+ s.on('close', function () {
+ C = !0;
+ }),
+ void 0 === u && (u = i(86238)),
+ u(s, { readable: o, writable: _ }, function (s) {
+ if (s) return w(s);
+ (C = !0), w();
+ });
+ var j = !1;
+ return function (o) {
+ if (!C && !j)
+ return (
+ (j = !0),
+ (function isRequest(s) {
+ return s.setHeader && 'function' == typeof s.abort;
+ })(s)
+ ? s.abort()
+ : 'function' == typeof s.destroy
+ ? s.destroy()
+ : void w(o || new x('pipe'))
+ );
+ };
+ })(s, w, _ > 0, function (s) {
+ C || (C = s), s && L.forEach(call), w || (L.forEach(call), j(C));
+ });
+ });
+ return o.reduce(pipe);
+ };
+ },
+ 65291: (s, o, i) => {
+ 'use strict';
+ var u = i(86048).F.ERR_INVALID_OPT_VALUE;
+ s.exports = {
+ getHighWaterMark: function getHighWaterMark(s, o, i, _) {
+ var w = (function highWaterMarkFrom(s, o, i) {
+ return null != s.highWaterMark ? s.highWaterMark : o ? s[i] : null;
+ })(o, _, i);
+ if (null != w) {
+ if (!isFinite(w) || Math.floor(w) !== w || w < 0)
+ throw new u(_ ? i : 'highWaterMark', w);
+ return Math.floor(w);
+ }
+ return s.objectMode ? 16 : 16384;
+ }
+ };
+ },
+ 40345: (s, o, i) => {
+ s.exports = i(37007).EventEmitter;
+ },
+ 84977: (s, o, i) => {
+ 'use strict';
+ Object.defineProperty(o, '__esModule', { value: !0 });
+ var u = (function _interopRequireDefault(s) {
+ return s && s.__esModule ? s : { default: s };
+ })(i(9404)),
+ _ = i(55674);
+ (o.default = function (s) {
+ var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : u.default.Map,
+ i = Object.keys(s);
+ return function () {
+ var u = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : o(),
+ w = arguments[1];
+ return u.withMutations(function (o) {
+ i.forEach(function (i) {
+ var u = (0, s[i])(o.get(i), w);
+ (0, _.validateNextState)(u, i, w), o.set(i, u);
+ });
+ });
+ };
+ }),
+ (s.exports = o.default);
+ },
+ 89593: (s, o, i) => {
+ 'use strict';
+ o.H = void 0;
+ var u = (function _interopRequireDefault(s) {
+ return s && s.__esModule ? s : { default: s };
+ })(i(84977));
+ o.H = u.default;
+ },
+ 48590: (s, o) => {
+ 'use strict';
+ Object.defineProperty(o, '__esModule', { value: !0 }),
+ (o.default = function (s) {
+ return s && '@@redux/INIT' === s.type
+ ? 'initialState argument passed to createStore'
+ : 'previous state received by the reducer';
+ }),
+ (s.exports = o.default);
+ },
+ 82261: (s, o, i) => {
+ 'use strict';
+ Object.defineProperty(o, '__esModule', { value: !0 });
+ var u = _interopRequireDefault(i(9404)),
+ _ = _interopRequireDefault(i(48590));
+ function _interopRequireDefault(s) {
+ return s && s.__esModule ? s : { default: s };
+ }
+ (o.default = function (s, o, i) {
+ var w = Object.keys(o);
+ if (!w.length)
+ return 'Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.';
+ var x = (0, _.default)(i);
+ if (
+ u.default.isImmutable ? !u.default.isImmutable(s) : !u.default.Iterable.isIterable(s)
+ )
+ return (
+ 'The ' +
+ x +
+ ' is of unexpected type. Expected argument to be an instance of Immutable.Collection or Immutable.Record with the following properties: "' +
+ w.join('", "') +
+ '".'
+ );
+ var C = s
+ .toSeq()
+ .keySeq()
+ .toArray()
+ .filter(function (s) {
+ return !o.hasOwnProperty(s);
+ });
+ return C.length > 0
+ ? 'Unexpected ' +
+ (1 === C.length ? 'property' : 'properties') +
+ ' "' +
+ C.join('", "') +
+ '" found in ' +
+ x +
+ '. Expected to find one of the known reducer property names instead: "' +
+ w.join('", "') +
+ '". Unexpected properties will be ignored.'
+ : null;
+ }),
+ (s.exports = o.default);
+ },
+ 55674: (s, o, i) => {
+ 'use strict';
+ Object.defineProperty(o, '__esModule', { value: !0 }),
+ (o.validateNextState =
+ o.getUnexpectedInvocationParameterMessage =
+ o.getStateName =
+ void 0);
+ var u = _interopRequireDefault(i(48590)),
+ _ = _interopRequireDefault(i(82261)),
+ w = _interopRequireDefault(i(27374));
+ function _interopRequireDefault(s) {
+ return s && s.__esModule ? s : { default: s };
+ }
+ (o.getStateName = u.default),
+ (o.getUnexpectedInvocationParameterMessage = _.default),
+ (o.validateNextState = w.default);
+ },
+ 27374: (s, o) => {
+ 'use strict';
+ Object.defineProperty(o, '__esModule', { value: !0 }),
+ (o.default = function (s, o, i) {
+ if (void 0 === s)
+ throw new Error(
+ 'Reducer "' +
+ o +
+ '" returned undefined when handling "' +
+ i.type +
+ '" action. To ignore an action, you must explicitly return the previous state.'
+ );
+ }),
+ (s.exports = o.default);
+ },
+ 75208: (s) => {
+ 'use strict';
+ var o,
+ i = '';
+ s.exports = function repeat(s, u) {
+ if ('string' != typeof s) throw new TypeError('expected a string');
+ if (1 === u) return s;
+ if (2 === u) return s + s;
+ var _ = s.length * u;
+ if (o !== s || void 0 === o) (o = s), (i = '');
+ else if (i.length >= _) return i.substr(0, _);
+ for (; _ > i.length && u > 1; ) 1 & u && (i += s), (u >>= 1), (s += s);
+ return (i = (i += s).substr(0, _));
+ };
+ },
+ 92063: (s) => {
+ 'use strict';
+ s.exports = function required(s, o) {
+ if (((o = o.split(':')[0]), !(s = +s))) return !1;
+ switch (o) {
+ case 'http':
+ case 'ws':
+ return 80 !== s;
+ case 'https':
+ case 'wss':
+ return 443 !== s;
+ case 'ftp':
+ return 21 !== s;
+ case 'gopher':
+ return 70 !== s;
+ case 'file':
+ return !1;
+ }
+ return 0 !== s;
+ };
+ },
+ 27096: (s, o, i) => {
+ const u = i(87586),
+ _ = i(6205),
+ w = i(10023),
+ x = i(8048);
+ (s.exports = (s) => {
+ var o,
+ i,
+ C = 0,
+ j = { type: _.ROOT, stack: [] },
+ L = j,
+ B = j.stack,
+ $ = [],
+ repeatErr = (o) => {
+ u.error(s, 'Nothing to repeat at column ' + (o - 1));
+ },
+ V = u.strToChars(s);
+ for (o = V.length; C < o; )
+ switch ((i = V[C++])) {
+ case '\\':
+ switch ((i = V[C++])) {
+ case 'b':
+ B.push(x.wordBoundary());
+ break;
+ case 'B':
+ B.push(x.nonWordBoundary());
+ break;
+ case 'w':
+ B.push(w.words());
+ break;
+ case 'W':
+ B.push(w.notWords());
+ break;
+ case 'd':
+ B.push(w.ints());
+ break;
+ case 'D':
+ B.push(w.notInts());
+ break;
+ case 's':
+ B.push(w.whitespace());
+ break;
+ case 'S':
+ B.push(w.notWhitespace());
+ break;
+ default:
+ /\d/.test(i)
+ ? B.push({ type: _.REFERENCE, value: parseInt(i, 10) })
+ : B.push({ type: _.CHAR, value: i.charCodeAt(0) });
+ }
+ break;
+ case '^':
+ B.push(x.begin());
+ break;
+ case '$':
+ B.push(x.end());
+ break;
+ case '[':
+ var U;
+ '^' === V[C] ? ((U = !0), C++) : (U = !1);
+ var z = u.tokenizeClass(V.slice(C), s);
+ (C += z[1]), B.push({ type: _.SET, set: z[0], not: U });
+ break;
+ case '.':
+ B.push(w.anyChar());
+ break;
+ case '(':
+ var Y = { type: _.GROUP, stack: [], remember: !0 };
+ '?' === (i = V[C]) &&
+ ((i = V[C + 1]),
+ (C += 2),
+ '=' === i
+ ? (Y.followedBy = !0)
+ : '!' === i
+ ? (Y.notFollowedBy = !0)
+ : ':' !== i &&
+ u.error(
+ s,
+ `Invalid group, character '${i}' after '?' at column ` + (C - 1)
+ ),
+ (Y.remember = !1)),
+ B.push(Y),
+ $.push(L),
+ (L = Y),
+ (B = Y.stack);
+ break;
+ case ')':
+ 0 === $.length && u.error(s, 'Unmatched ) at column ' + (C - 1)),
+ (B = (L = $.pop()).options ? L.options[L.options.length - 1] : L.stack);
+ break;
+ case '|':
+ L.options || ((L.options = [L.stack]), delete L.stack);
+ var Z = [];
+ L.options.push(Z), (B = Z);
+ break;
+ case '{':
+ var ee,
+ ie,
+ ae = /^(\d+)(,(\d+)?)?\}/.exec(V.slice(C));
+ null !== ae
+ ? (0 === B.length && repeatErr(C),
+ (ee = parseInt(ae[1], 10)),
+ (ie = ae[2] ? (ae[3] ? parseInt(ae[3], 10) : 1 / 0) : ee),
+ (C += ae[0].length),
+ B.push({ type: _.REPETITION, min: ee, max: ie, value: B.pop() }))
+ : B.push({ type: _.CHAR, value: 123 });
+ break;
+ case '?':
+ 0 === B.length && repeatErr(C),
+ B.push({ type: _.REPETITION, min: 0, max: 1, value: B.pop() });
+ break;
+ case '+':
+ 0 === B.length && repeatErr(C),
+ B.push({ type: _.REPETITION, min: 1, max: 1 / 0, value: B.pop() });
+ break;
+ case '*':
+ 0 === B.length && repeatErr(C),
+ B.push({ type: _.REPETITION, min: 0, max: 1 / 0, value: B.pop() });
+ break;
+ default:
+ B.push({ type: _.CHAR, value: i.charCodeAt(0) });
+ }
+ return 0 !== $.length && u.error(s, 'Unterminated group'), j;
+ }),
+ (s.exports.types = _);
+ },
+ 8048: (s, o, i) => {
+ const u = i(6205);
+ (o.wordBoundary = () => ({ type: u.POSITION, value: 'b' })),
+ (o.nonWordBoundary = () => ({ type: u.POSITION, value: 'B' })),
+ (o.begin = () => ({ type: u.POSITION, value: '^' })),
+ (o.end = () => ({ type: u.POSITION, value: '$' }));
+ },
+ 10023: (s, o, i) => {
+ const u = i(6205),
+ INTS = () => [{ type: u.RANGE, from: 48, to: 57 }],
+ WORDS = () =>
+ [
+ { type: u.CHAR, value: 95 },
+ { type: u.RANGE, from: 97, to: 122 },
+ { type: u.RANGE, from: 65, to: 90 }
+ ].concat(INTS()),
+ WHITESPACE = () => [
+ { type: u.CHAR, value: 9 },
+ { type: u.CHAR, value: 10 },
+ { type: u.CHAR, value: 11 },
+ { type: u.CHAR, value: 12 },
+ { type: u.CHAR, value: 13 },
+ { type: u.CHAR, value: 32 },
+ { type: u.CHAR, value: 160 },
+ { type: u.CHAR, value: 5760 },
+ { type: u.RANGE, from: 8192, to: 8202 },
+ { type: u.CHAR, value: 8232 },
+ { type: u.CHAR, value: 8233 },
+ { type: u.CHAR, value: 8239 },
+ { type: u.CHAR, value: 8287 },
+ { type: u.CHAR, value: 12288 },
+ { type: u.CHAR, value: 65279 }
+ ];
+ (o.words = () => ({ type: u.SET, set: WORDS(), not: !1 })),
+ (o.notWords = () => ({ type: u.SET, set: WORDS(), not: !0 })),
+ (o.ints = () => ({ type: u.SET, set: INTS(), not: !1 })),
+ (o.notInts = () => ({ type: u.SET, set: INTS(), not: !0 })),
+ (o.whitespace = () => ({ type: u.SET, set: WHITESPACE(), not: !1 })),
+ (o.notWhitespace = () => ({ type: u.SET, set: WHITESPACE(), not: !0 })),
+ (o.anyChar = () => ({
+ type: u.SET,
+ set: [
+ { type: u.CHAR, value: 10 },
+ { type: u.CHAR, value: 13 },
+ { type: u.CHAR, value: 8232 },
+ { type: u.CHAR, value: 8233 }
+ ],
+ not: !0
+ }));
+ },
+ 6205: (s) => {
+ s.exports = {
+ ROOT: 0,
+ GROUP: 1,
+ POSITION: 2,
+ SET: 3,
+ RANGE: 4,
+ REPETITION: 5,
+ REFERENCE: 6,
+ CHAR: 7
+ };
+ },
+ 87586: (s, o, i) => {
+ const u = i(6205),
+ _ = i(10023),
+ w = { 0: 0, t: 9, n: 10, v: 11, f: 12, r: 13 };
+ (o.strToChars = function (s) {
+ return (s = s.replace(
+ /(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,
+ function (s, o, i, u, _, x, C, j) {
+ if (i) return s;
+ var L = o
+ ? 8
+ : u
+ ? parseInt(u, 16)
+ : _
+ ? parseInt(_, 16)
+ : x
+ ? parseInt(x, 8)
+ : C
+ ? '@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?'.indexOf(C)
+ : w[j],
+ B = String.fromCharCode(L);
+ return /[[\]{}^$.|?*+()]/.test(B) && (B = '\\' + B), B;
+ }
+ ));
+ }),
+ (o.tokenizeClass = (s, i) => {
+ for (
+ var w,
+ x,
+ C = [],
+ j =
+ /\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?([^])/g;
+ null != (w = j.exec(s));
+
+ )
+ if (w[1]) C.push(_.words());
+ else if (w[2]) C.push(_.ints());
+ else if (w[3]) C.push(_.whitespace());
+ else if (w[4]) C.push(_.notWords());
+ else if (w[5]) C.push(_.notInts());
+ else if (w[6]) C.push(_.notWhitespace());
+ else if (w[7])
+ C.push({
+ type: u.RANGE,
+ from: (w[8] || w[9]).charCodeAt(0),
+ to: w[10].charCodeAt(0)
+ });
+ else {
+ if (!(x = w[12])) return [C, j.lastIndex];
+ C.push({ type: u.CHAR, value: x.charCodeAt(0) });
+ }
+ o.error(i, 'Unterminated character class');
+ }),
+ (o.error = (s, o) => {
+ throw new SyntaxError('Invalid regular expression: /' + s + '/: ' + o);
+ });
+ },
+ 92861: (s, o, i) => {
+ var u = i(48287),
+ _ = u.Buffer;
+ function copyProps(s, o) {
+ for (var i in s) o[i] = s[i];
+ }
+ function SafeBuffer(s, o, i) {
+ return _(s, o, i);
+ }
+ _.from && _.alloc && _.allocUnsafe && _.allocUnsafeSlow
+ ? (s.exports = u)
+ : (copyProps(u, o), (o.Buffer = SafeBuffer)),
+ (SafeBuffer.prototype = Object.create(_.prototype)),
+ copyProps(_, SafeBuffer),
+ (SafeBuffer.from = function (s, o, i) {
+ if ('number' == typeof s) throw new TypeError('Argument must not be a number');
+ return _(s, o, i);
+ }),
+ (SafeBuffer.alloc = function (s, o, i) {
+ if ('number' != typeof s) throw new TypeError('Argument must be a number');
+ var u = _(s);
+ return (
+ void 0 !== o ? ('string' == typeof i ? u.fill(o, i) : u.fill(o)) : u.fill(0), u
+ );
+ }),
+ (SafeBuffer.allocUnsafe = function (s) {
+ if ('number' != typeof s) throw new TypeError('Argument must be a number');
+ return _(s);
+ }),
+ (SafeBuffer.allocUnsafeSlow = function (s) {
+ if ('number' != typeof s) throw new TypeError('Argument must be a number');
+ return u.SlowBuffer(s);
+ });
+ },
+ 29844: (s, o) => {
+ 'use strict';
+ function f(s, o) {
+ var i = s.length;
+ s.push(o);
+ e: for (; 0 < i; ) {
+ var u = (i - 1) >>> 1,
+ _ = s[u];
+ if (!(0 < g(_, o))) break e;
+ (s[u] = o), (s[i] = _), (i = u);
+ }
+ }
+ function h(s) {
+ return 0 === s.length ? null : s[0];
+ }
+ function k(s) {
+ if (0 === s.length) return null;
+ var o = s[0],
+ i = s.pop();
+ if (i !== o) {
+ s[0] = i;
+ e: for (var u = 0, _ = s.length, w = _ >>> 1; u < w; ) {
+ var x = 2 * (u + 1) - 1,
+ C = s[x],
+ j = x + 1,
+ L = s[j];
+ if (0 > g(C, i))
+ j < _ && 0 > g(L, C)
+ ? ((s[u] = L), (s[j] = i), (u = j))
+ : ((s[u] = C), (s[x] = i), (u = x));
+ else {
+ if (!(j < _ && 0 > g(L, i))) break e;
+ (s[u] = L), (s[j] = i), (u = j);
+ }
+ }
+ }
+ return o;
+ }
+ function g(s, o) {
+ var i = s.sortIndex - o.sortIndex;
+ return 0 !== i ? i : s.id - o.id;
+ }
+ if ('object' == typeof performance && 'function' == typeof performance.now) {
+ var i = performance;
+ o.unstable_now = function () {
+ return i.now();
+ };
+ } else {
+ var u = Date,
+ _ = u.now();
+ o.unstable_now = function () {
+ return u.now() - _;
+ };
+ }
+ var w = [],
+ x = [],
+ C = 1,
+ j = null,
+ L = 3,
+ B = !1,
+ $ = !1,
+ V = !1,
+ U = 'function' == typeof setTimeout ? setTimeout : null,
+ z = 'function' == typeof clearTimeout ? clearTimeout : null,
+ Y = 'undefined' != typeof setImmediate ? setImmediate : null;
+ function G(s) {
+ for (var o = h(x); null !== o; ) {
+ if (null === o.callback) k(x);
+ else {
+ if (!(o.startTime <= s)) break;
+ k(x), (o.sortIndex = o.expirationTime), f(w, o);
+ }
+ o = h(x);
+ }
+ }
+ function H(s) {
+ if (((V = !1), G(s), !$))
+ if (null !== h(w)) ($ = !0), I(J);
+ else {
+ var o = h(x);
+ null !== o && K(H, o.startTime - s);
+ }
+ }
+ function J(s, i) {
+ ($ = !1), V && ((V = !1), z(ae), (ae = -1)), (B = !0);
+ var u = L;
+ try {
+ for (G(i), j = h(w); null !== j && (!(j.expirationTime > i) || (s && !M())); ) {
+ var _ = j.callback;
+ if ('function' == typeof _) {
+ (j.callback = null), (L = j.priorityLevel);
+ var C = _(j.expirationTime <= i);
+ (i = o.unstable_now()),
+ 'function' == typeof C ? (j.callback = C) : j === h(w) && k(w),
+ G(i);
+ } else k(w);
+ j = h(w);
+ }
+ if (null !== j) var U = !0;
+ else {
+ var Y = h(x);
+ null !== Y && K(H, Y.startTime - i), (U = !1);
+ }
+ return U;
+ } finally {
+ (j = null), (L = u), (B = !1);
+ }
+ }
+ 'undefined' != typeof navigator &&
+ void 0 !== navigator.scheduling &&
+ void 0 !== navigator.scheduling.isInputPending &&
+ navigator.scheduling.isInputPending.bind(navigator.scheduling);
+ var Z,
+ ee = !1,
+ ie = null,
+ ae = -1,
+ le = 5,
+ ce = -1;
+ function M() {
+ return !(o.unstable_now() - ce < le);
+ }
+ function R() {
+ if (null !== ie) {
+ var s = o.unstable_now();
+ ce = s;
+ var i = !0;
+ try {
+ i = ie(!0, s);
+ } finally {
+ i ? Z() : ((ee = !1), (ie = null));
+ }
+ } else ee = !1;
+ }
+ if ('function' == typeof Y)
+ Z = function () {
+ Y(R);
+ };
+ else if ('undefined' != typeof MessageChannel) {
+ var pe = new MessageChannel(),
+ de = pe.port2;
+ (pe.port1.onmessage = R),
+ (Z = function () {
+ de.postMessage(null);
+ });
+ } else
+ Z = function () {
+ U(R, 0);
+ };
+ function I(s) {
+ (ie = s), ee || ((ee = !0), Z());
+ }
+ function K(s, i) {
+ ae = U(function () {
+ s(o.unstable_now());
+ }, i);
+ }
+ (o.unstable_IdlePriority = 5),
+ (o.unstable_ImmediatePriority = 1),
+ (o.unstable_LowPriority = 4),
+ (o.unstable_NormalPriority = 3),
+ (o.unstable_Profiling = null),
+ (o.unstable_UserBlockingPriority = 2),
+ (o.unstable_cancelCallback = function (s) {
+ s.callback = null;
+ }),
+ (o.unstable_continueExecution = function () {
+ $ || B || (($ = !0), I(J));
+ }),
+ (o.unstable_forceFrameRate = function (s) {
+ 0 > s || 125 < s
+ ? console.error(
+ 'forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported'
+ )
+ : (le = 0 < s ? Math.floor(1e3 / s) : 5);
+ }),
+ (o.unstable_getCurrentPriorityLevel = function () {
+ return L;
+ }),
+ (o.unstable_getFirstCallbackNode = function () {
+ return h(w);
+ }),
+ (o.unstable_next = function (s) {
+ switch (L) {
+ case 1:
+ case 2:
+ case 3:
+ var o = 3;
+ break;
+ default:
+ o = L;
+ }
+ var i = L;
+ L = o;
+ try {
+ return s();
+ } finally {
+ L = i;
+ }
+ }),
+ (o.unstable_pauseExecution = function () {}),
+ (o.unstable_requestPaint = function () {}),
+ (o.unstable_runWithPriority = function (s, o) {
+ switch (s) {
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ default:
+ s = 3;
+ }
+ var i = L;
+ L = s;
+ try {
+ return o();
+ } finally {
+ L = i;
+ }
+ }),
+ (o.unstable_scheduleCallback = function (s, i, u) {
+ var _ = o.unstable_now();
+ switch (
+ ('object' == typeof u && null !== u
+ ? (u = 'number' == typeof (u = u.delay) && 0 < u ? _ + u : _)
+ : (u = _),
+ s)
+ ) {
+ case 1:
+ var j = -1;
+ break;
+ case 2:
+ j = 250;
+ break;
+ case 5:
+ j = 1073741823;
+ break;
+ case 4:
+ j = 1e4;
+ break;
+ default:
+ j = 5e3;
+ }
+ return (
+ (s = {
+ id: C++,
+ callback: i,
+ priorityLevel: s,
+ startTime: u,
+ expirationTime: (j = u + j),
+ sortIndex: -1
+ }),
+ u > _
+ ? ((s.sortIndex = u),
+ f(x, s),
+ null === h(w) && s === h(x) && (V ? (z(ae), (ae = -1)) : (V = !0), K(H, u - _)))
+ : ((s.sortIndex = j), f(w, s), $ || B || (($ = !0), I(J))),
+ s
+ );
+ }),
+ (o.unstable_shouldYield = M),
+ (o.unstable_wrapCallback = function (s) {
+ var o = L;
+ return function () {
+ var i = L;
+ L = o;
+ try {
+ return s.apply(this, arguments);
+ } finally {
+ L = i;
+ }
+ };
+ });
+ },
+ 69982: (s, o, i) => {
+ 'use strict';
+ s.exports = i(29844);
+ },
+ 20334: (s, o, i) => {
+ 'use strict';
+ var u = i(48287).Buffer;
+ class NonError extends Error {
+ constructor(s) {
+ super(NonError._prepareSuperMessage(s)),
+ Object.defineProperty(this, 'name', {
+ value: 'NonError',
+ configurable: !0,
+ writable: !0
+ }),
+ Error.captureStackTrace && Error.captureStackTrace(this, NonError);
+ }
+ static _prepareSuperMessage(s) {
+ try {
+ return JSON.stringify(s);
+ } catch {
+ return String(s);
+ }
+ }
+ }
+ const _ = [
+ { property: 'name', enumerable: !1 },
+ { property: 'message', enumerable: !1 },
+ { property: 'stack', enumerable: !1 },
+ { property: 'code', enumerable: !0 }
+ ],
+ w = Symbol('.toJSON called'),
+ destroyCircular = ({
+ from: s,
+ seen: o,
+ to_: i,
+ forceEnumerable: x,
+ maxDepth: C,
+ depth: j
+ }) => {
+ const L = i || (Array.isArray(s) ? [] : {});
+ if ((o.push(s), j >= C)) return L;
+ if ('function' == typeof s.toJSON && !0 !== s[w])
+ return ((s) => {
+ s[w] = !0;
+ const o = s.toJSON();
+ return delete s[w], o;
+ })(s);
+ for (const [i, _] of Object.entries(s))
+ 'function' == typeof u && u.isBuffer(_)
+ ? (L[i] = '[object Buffer]')
+ : 'function' != typeof _ &&
+ (_ && 'object' == typeof _
+ ? o.includes(s[i])
+ ? (L[i] = '[Circular]')
+ : (j++,
+ (L[i] = destroyCircular({
+ from: s[i],
+ seen: o.slice(),
+ forceEnumerable: x,
+ maxDepth: C,
+ depth: j
+ })))
+ : (L[i] = _));
+ for (const { property: o, enumerable: i } of _)
+ 'string' == typeof s[o] &&
+ Object.defineProperty(L, o, {
+ value: s[o],
+ enumerable: !!x || i,
+ configurable: !0,
+ writable: !0
+ });
+ return L;
+ };
+ s.exports = {
+ serializeError: (s, o = {}) => {
+ const { maxDepth: i = Number.POSITIVE_INFINITY } = o;
+ return 'object' == typeof s && null !== s
+ ? destroyCircular({ from: s, seen: [], forceEnumerable: !0, maxDepth: i, depth: 0 })
+ : 'function' == typeof s
+ ? `[Function: ${s.name || 'anonymous'}]`
+ : s;
+ },
+ deserializeError: (s, o = {}) => {
+ const { maxDepth: i = Number.POSITIVE_INFINITY } = o;
+ if (s instanceof Error) return s;
+ if ('object' == typeof s && null !== s && !Array.isArray(s)) {
+ const o = new Error();
+ return destroyCircular({ from: s, seen: [], to_: o, maxDepth: i, depth: 0 }), o;
+ }
+ return new NonError(s);
+ }
+ };
+ },
+ 90392: (s, o, i) => {
+ var u = i(92861).Buffer;
+ function Hash(s, o) {
+ (this._block = u.alloc(s)),
+ (this._finalSize = o),
+ (this._blockSize = s),
+ (this._len = 0);
+ }
+ (Hash.prototype.update = function (s, o) {
+ 'string' == typeof s && ((o = o || 'utf8'), (s = u.from(s, o)));
+ for (
+ var i = this._block, _ = this._blockSize, w = s.length, x = this._len, C = 0;
+ C < w;
+
+ ) {
+ for (var j = x % _, L = Math.min(w - C, _ - j), B = 0; B < L; B++)
+ i[j + B] = s[C + B];
+ (C += L), (x += L) % _ == 0 && this._update(i);
+ }
+ return (this._len += w), this;
+ }),
+ (Hash.prototype.digest = function (s) {
+ var o = this._len % this._blockSize;
+ (this._block[o] = 128),
+ this._block.fill(0, o + 1),
+ o >= this._finalSize && (this._update(this._block), this._block.fill(0));
+ var i = 8 * this._len;
+ if (i <= 4294967295) this._block.writeUInt32BE(i, this._blockSize - 4);
+ else {
+ var u = (4294967295 & i) >>> 0,
+ _ = (i - u) / 4294967296;
+ this._block.writeUInt32BE(_, this._blockSize - 8),
+ this._block.writeUInt32BE(u, this._blockSize - 4);
+ }
+ this._update(this._block);
+ var w = this._hash();
+ return s ? w.toString(s) : w;
+ }),
+ (Hash.prototype._update = function () {
+ throw new Error('_update must be implemented by subclass');
+ }),
+ (s.exports = Hash);
+ },
+ 62802: (s, o, i) => {
+ var u = (s.exports = function SHA(s) {
+ s = s.toLowerCase();
+ var o = u[s];
+ if (!o) throw new Error(s + ' is not supported (we accept pull requests)');
+ return new o();
+ });
+ (u.sha = i(27816)),
+ (u.sha1 = i(63737)),
+ (u.sha224 = i(26710)),
+ (u.sha256 = i(24107)),
+ (u.sha384 = i(32827)),
+ (u.sha512 = i(82890));
+ },
+ 27816: (s, o, i) => {
+ var u = i(56698),
+ _ = i(90392),
+ w = i(92861).Buffer,
+ x = [1518500249, 1859775393, -1894007588, -899497514],
+ C = new Array(80);
+ function Sha() {
+ this.init(), (this._w = C), _.call(this, 64, 56);
+ }
+ function rotl30(s) {
+ return (s << 30) | (s >>> 2);
+ }
+ function ft(s, o, i, u) {
+ return 0 === s ? (o & i) | (~o & u) : 2 === s ? (o & i) | (o & u) | (i & u) : o ^ i ^ u;
+ }
+ u(Sha, _),
+ (Sha.prototype.init = function () {
+ return (
+ (this._a = 1732584193),
+ (this._b = 4023233417),
+ (this._c = 2562383102),
+ (this._d = 271733878),
+ (this._e = 3285377520),
+ this
+ );
+ }),
+ (Sha.prototype._update = function (s) {
+ for (
+ var o,
+ i = this._w,
+ u = 0 | this._a,
+ _ = 0 | this._b,
+ w = 0 | this._c,
+ C = 0 | this._d,
+ j = 0 | this._e,
+ L = 0;
+ L < 16;
+ ++L
+ )
+ i[L] = s.readInt32BE(4 * L);
+ for (; L < 80; ++L) i[L] = i[L - 3] ^ i[L - 8] ^ i[L - 14] ^ i[L - 16];
+ for (var B = 0; B < 80; ++B) {
+ var $ = ~~(B / 20),
+ V = 0 | ((((o = u) << 5) | (o >>> 27)) + ft($, _, w, C) + j + i[B] + x[$]);
+ (j = C), (C = w), (w = rotl30(_)), (_ = u), (u = V);
+ }
+ (this._a = (u + this._a) | 0),
+ (this._b = (_ + this._b) | 0),
+ (this._c = (w + this._c) | 0),
+ (this._d = (C + this._d) | 0),
+ (this._e = (j + this._e) | 0);
+ }),
+ (Sha.prototype._hash = function () {
+ var s = w.allocUnsafe(20);
+ return (
+ s.writeInt32BE(0 | this._a, 0),
+ s.writeInt32BE(0 | this._b, 4),
+ s.writeInt32BE(0 | this._c, 8),
+ s.writeInt32BE(0 | this._d, 12),
+ s.writeInt32BE(0 | this._e, 16),
+ s
+ );
+ }),
+ (s.exports = Sha);
+ },
+ 63737: (s, o, i) => {
+ var u = i(56698),
+ _ = i(90392),
+ w = i(92861).Buffer,
+ x = [1518500249, 1859775393, -1894007588, -899497514],
+ C = new Array(80);
+ function Sha1() {
+ this.init(), (this._w = C), _.call(this, 64, 56);
+ }
+ function rotl5(s) {
+ return (s << 5) | (s >>> 27);
+ }
+ function rotl30(s) {
+ return (s << 30) | (s >>> 2);
+ }
+ function ft(s, o, i, u) {
+ return 0 === s ? (o & i) | (~o & u) : 2 === s ? (o & i) | (o & u) | (i & u) : o ^ i ^ u;
+ }
+ u(Sha1, _),
+ (Sha1.prototype.init = function () {
+ return (
+ (this._a = 1732584193),
+ (this._b = 4023233417),
+ (this._c = 2562383102),
+ (this._d = 271733878),
+ (this._e = 3285377520),
+ this
+ );
+ }),
+ (Sha1.prototype._update = function (s) {
+ for (
+ var o,
+ i = this._w,
+ u = 0 | this._a,
+ _ = 0 | this._b,
+ w = 0 | this._c,
+ C = 0 | this._d,
+ j = 0 | this._e,
+ L = 0;
+ L < 16;
+ ++L
+ )
+ i[L] = s.readInt32BE(4 * L);
+ for (; L < 80; ++L)
+ i[L] = ((o = i[L - 3] ^ i[L - 8] ^ i[L - 14] ^ i[L - 16]) << 1) | (o >>> 31);
+ for (var B = 0; B < 80; ++B) {
+ var $ = ~~(B / 20),
+ V = (rotl5(u) + ft($, _, w, C) + j + i[B] + x[$]) | 0;
+ (j = C), (C = w), (w = rotl30(_)), (_ = u), (u = V);
+ }
+ (this._a = (u + this._a) | 0),
+ (this._b = (_ + this._b) | 0),
+ (this._c = (w + this._c) | 0),
+ (this._d = (C + this._d) | 0),
+ (this._e = (j + this._e) | 0);
+ }),
+ (Sha1.prototype._hash = function () {
+ var s = w.allocUnsafe(20);
+ return (
+ s.writeInt32BE(0 | this._a, 0),
+ s.writeInt32BE(0 | this._b, 4),
+ s.writeInt32BE(0 | this._c, 8),
+ s.writeInt32BE(0 | this._d, 12),
+ s.writeInt32BE(0 | this._e, 16),
+ s
+ );
+ }),
+ (s.exports = Sha1);
+ },
+ 26710: (s, o, i) => {
+ var u = i(56698),
+ _ = i(24107),
+ w = i(90392),
+ x = i(92861).Buffer,
+ C = new Array(64);
+ function Sha224() {
+ this.init(), (this._w = C), w.call(this, 64, 56);
+ }
+ u(Sha224, _),
+ (Sha224.prototype.init = function () {
+ return (
+ (this._a = 3238371032),
+ (this._b = 914150663),
+ (this._c = 812702999),
+ (this._d = 4144912697),
+ (this._e = 4290775857),
+ (this._f = 1750603025),
+ (this._g = 1694076839),
+ (this._h = 3204075428),
+ this
+ );
+ }),
+ (Sha224.prototype._hash = function () {
+ var s = x.allocUnsafe(28);
+ return (
+ s.writeInt32BE(this._a, 0),
+ s.writeInt32BE(this._b, 4),
+ s.writeInt32BE(this._c, 8),
+ s.writeInt32BE(this._d, 12),
+ s.writeInt32BE(this._e, 16),
+ s.writeInt32BE(this._f, 20),
+ s.writeInt32BE(this._g, 24),
+ s
+ );
+ }),
+ (s.exports = Sha224);
+ },
+ 24107: (s, o, i) => {
+ var u = i(56698),
+ _ = i(90392),
+ w = i(92861).Buffer,
+ x = [
+ 1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748,
+ 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206,
+ 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983,
+ 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671,
+ 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372,
+ 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411,
+ 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734,
+ 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779,
+ 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479,
+ 3329325298
+ ],
+ C = new Array(64);
+ function Sha256() {
+ this.init(), (this._w = C), _.call(this, 64, 56);
+ }
+ function ch(s, o, i) {
+ return i ^ (s & (o ^ i));
+ }
+ function maj(s, o, i) {
+ return (s & o) | (i & (s | o));
+ }
+ function sigma0(s) {
+ return ((s >>> 2) | (s << 30)) ^ ((s >>> 13) | (s << 19)) ^ ((s >>> 22) | (s << 10));
+ }
+ function sigma1(s) {
+ return ((s >>> 6) | (s << 26)) ^ ((s >>> 11) | (s << 21)) ^ ((s >>> 25) | (s << 7));
+ }
+ function gamma0(s) {
+ return ((s >>> 7) | (s << 25)) ^ ((s >>> 18) | (s << 14)) ^ (s >>> 3);
+ }
+ u(Sha256, _),
+ (Sha256.prototype.init = function () {
+ return (
+ (this._a = 1779033703),
+ (this._b = 3144134277),
+ (this._c = 1013904242),
+ (this._d = 2773480762),
+ (this._e = 1359893119),
+ (this._f = 2600822924),
+ (this._g = 528734635),
+ (this._h = 1541459225),
+ this
+ );
+ }),
+ (Sha256.prototype._update = function (s) {
+ for (
+ var o,
+ i = this._w,
+ u = 0 | this._a,
+ _ = 0 | this._b,
+ w = 0 | this._c,
+ C = 0 | this._d,
+ j = 0 | this._e,
+ L = 0 | this._f,
+ B = 0 | this._g,
+ $ = 0 | this._h,
+ V = 0;
+ V < 16;
+ ++V
+ )
+ i[V] = s.readInt32BE(4 * V);
+ for (; V < 64; ++V)
+ i[V] =
+ 0 |
+ (((((o = i[V - 2]) >>> 17) | (o << 15)) ^ ((o >>> 19) | (o << 13)) ^ (o >>> 10)) +
+ i[V - 7] +
+ gamma0(i[V - 15]) +
+ i[V - 16]);
+ for (var U = 0; U < 64; ++U) {
+ var z = ($ + sigma1(j) + ch(j, L, B) + x[U] + i[U]) | 0,
+ Y = (sigma0(u) + maj(u, _, w)) | 0;
+ ($ = B),
+ (B = L),
+ (L = j),
+ (j = (C + z) | 0),
+ (C = w),
+ (w = _),
+ (_ = u),
+ (u = (z + Y) | 0);
+ }
+ (this._a = (u + this._a) | 0),
+ (this._b = (_ + this._b) | 0),
+ (this._c = (w + this._c) | 0),
+ (this._d = (C + this._d) | 0),
+ (this._e = (j + this._e) | 0),
+ (this._f = (L + this._f) | 0),
+ (this._g = (B + this._g) | 0),
+ (this._h = ($ + this._h) | 0);
+ }),
+ (Sha256.prototype._hash = function () {
+ var s = w.allocUnsafe(32);
+ return (
+ s.writeInt32BE(this._a, 0),
+ s.writeInt32BE(this._b, 4),
+ s.writeInt32BE(this._c, 8),
+ s.writeInt32BE(this._d, 12),
+ s.writeInt32BE(this._e, 16),
+ s.writeInt32BE(this._f, 20),
+ s.writeInt32BE(this._g, 24),
+ s.writeInt32BE(this._h, 28),
+ s
+ );
+ }),
+ (s.exports = Sha256);
+ },
+ 32827: (s, o, i) => {
+ var u = i(56698),
+ _ = i(82890),
+ w = i(90392),
+ x = i(92861).Buffer,
+ C = new Array(160);
+ function Sha384() {
+ this.init(), (this._w = C), w.call(this, 128, 112);
+ }
+ u(Sha384, _),
+ (Sha384.prototype.init = function () {
+ return (
+ (this._ah = 3418070365),
+ (this._bh = 1654270250),
+ (this._ch = 2438529370),
+ (this._dh = 355462360),
+ (this._eh = 1731405415),
+ (this._fh = 2394180231),
+ (this._gh = 3675008525),
+ (this._hh = 1203062813),
+ (this._al = 3238371032),
+ (this._bl = 914150663),
+ (this._cl = 812702999),
+ (this._dl = 4144912697),
+ (this._el = 4290775857),
+ (this._fl = 1750603025),
+ (this._gl = 1694076839),
+ (this._hl = 3204075428),
+ this
+ );
+ }),
+ (Sha384.prototype._hash = function () {
+ var s = x.allocUnsafe(48);
+ function writeInt64BE(o, i, u) {
+ s.writeInt32BE(o, u), s.writeInt32BE(i, u + 4);
+ }
+ return (
+ writeInt64BE(this._ah, this._al, 0),
+ writeInt64BE(this._bh, this._bl, 8),
+ writeInt64BE(this._ch, this._cl, 16),
+ writeInt64BE(this._dh, this._dl, 24),
+ writeInt64BE(this._eh, this._el, 32),
+ writeInt64BE(this._fh, this._fl, 40),
+ s
+ );
+ }),
+ (s.exports = Sha384);
+ },
+ 82890: (s, o, i) => {
+ var u = i(56698),
+ _ = i(90392),
+ w = i(92861).Buffer,
+ x = [
+ 1116352408, 3609767458, 1899447441, 602891725, 3049323471, 3964484399, 3921009573,
+ 2173295548, 961987163, 4081628472, 1508970993, 3053834265, 2453635748, 2937671579,
+ 2870763221, 3664609560, 3624381080, 2734883394, 310598401, 1164996542, 607225278,
+ 1323610764, 1426881987, 3590304994, 1925078388, 4068182383, 2162078206, 991336113,
+ 2614888103, 633803317, 3248222580, 3479774868, 3835390401, 2666613458, 4022224774,
+ 944711139, 264347078, 2341262773, 604807628, 2007800933, 770255983, 1495990901,
+ 1249150122, 1856431235, 1555081692, 3175218132, 1996064986, 2198950837, 2554220882,
+ 3999719339, 2821834349, 766784016, 2952996808, 2566594879, 3210313671, 3203337956,
+ 3336571891, 1034457026, 3584528711, 2466948901, 113926993, 3758326383, 338241895,
+ 168717936, 666307205, 1188179964, 773529912, 1546045734, 1294757372, 1522805485,
+ 1396182291, 2643833823, 1695183700, 2343527390, 1986661051, 1014477480, 2177026350,
+ 1206759142, 2456956037, 344077627, 2730485921, 1290863460, 2820302411, 3158454273,
+ 3259730800, 3505952657, 3345764771, 106217008, 3516065817, 3606008344, 3600352804,
+ 1432725776, 4094571909, 1467031594, 275423344, 851169720, 430227734, 3100823752,
+ 506948616, 1363258195, 659060556, 3750685593, 883997877, 3785050280, 958139571,
+ 3318307427, 1322822218, 3812723403, 1537002063, 2003034995, 1747873779, 3602036899,
+ 1955562222, 1575990012, 2024104815, 1125592928, 2227730452, 2716904306, 2361852424,
+ 442776044, 2428436474, 593698344, 2756734187, 3733110249, 3204031479, 2999351573,
+ 3329325298, 3815920427, 3391569614, 3928383900, 3515267271, 566280711, 3940187606,
+ 3454069534, 4118630271, 4000239992, 116418474, 1914138554, 174292421, 2731055270,
+ 289380356, 3203993006, 460393269, 320620315, 685471733, 587496836, 852142971,
+ 1086792851, 1017036298, 365543100, 1126000580, 2618297676, 1288033470, 3409855158,
+ 1501505948, 4234509866, 1607167915, 987167468, 1816402316, 1246189591
+ ],
+ C = new Array(160);
+ function Sha512() {
+ this.init(), (this._w = C), _.call(this, 128, 112);
+ }
+ function Ch(s, o, i) {
+ return i ^ (s & (o ^ i));
+ }
+ function maj(s, o, i) {
+ return (s & o) | (i & (s | o));
+ }
+ function sigma0(s, o) {
+ return ((s >>> 28) | (o << 4)) ^ ((o >>> 2) | (s << 30)) ^ ((o >>> 7) | (s << 25));
+ }
+ function sigma1(s, o) {
+ return ((s >>> 14) | (o << 18)) ^ ((s >>> 18) | (o << 14)) ^ ((o >>> 9) | (s << 23));
+ }
+ function Gamma0(s, o) {
+ return ((s >>> 1) | (o << 31)) ^ ((s >>> 8) | (o << 24)) ^ (s >>> 7);
+ }
+ function Gamma0l(s, o) {
+ return ((s >>> 1) | (o << 31)) ^ ((s >>> 8) | (o << 24)) ^ ((s >>> 7) | (o << 25));
+ }
+ function Gamma1(s, o) {
+ return ((s >>> 19) | (o << 13)) ^ ((o >>> 29) | (s << 3)) ^ (s >>> 6);
+ }
+ function Gamma1l(s, o) {
+ return ((s >>> 19) | (o << 13)) ^ ((o >>> 29) | (s << 3)) ^ ((s >>> 6) | (o << 26));
+ }
+ function getCarry(s, o) {
+ return s >>> 0 < o >>> 0 ? 1 : 0;
+ }
+ u(Sha512, _),
+ (Sha512.prototype.init = function () {
+ return (
+ (this._ah = 1779033703),
+ (this._bh = 3144134277),
+ (this._ch = 1013904242),
+ (this._dh = 2773480762),
+ (this._eh = 1359893119),
+ (this._fh = 2600822924),
+ (this._gh = 528734635),
+ (this._hh = 1541459225),
+ (this._al = 4089235720),
+ (this._bl = 2227873595),
+ (this._cl = 4271175723),
+ (this._dl = 1595750129),
+ (this._el = 2917565137),
+ (this._fl = 725511199),
+ (this._gl = 4215389547),
+ (this._hl = 327033209),
+ this
+ );
+ }),
+ (Sha512.prototype._update = function (s) {
+ for (
+ var o = this._w,
+ i = 0 | this._ah,
+ u = 0 | this._bh,
+ _ = 0 | this._ch,
+ w = 0 | this._dh,
+ C = 0 | this._eh,
+ j = 0 | this._fh,
+ L = 0 | this._gh,
+ B = 0 | this._hh,
+ $ = 0 | this._al,
+ V = 0 | this._bl,
+ U = 0 | this._cl,
+ z = 0 | this._dl,
+ Y = 0 | this._el,
+ Z = 0 | this._fl,
+ ee = 0 | this._gl,
+ ie = 0 | this._hl,
+ ae = 0;
+ ae < 32;
+ ae += 2
+ )
+ (o[ae] = s.readInt32BE(4 * ae)), (o[ae + 1] = s.readInt32BE(4 * ae + 4));
+ for (; ae < 160; ae += 2) {
+ var le = o[ae - 30],
+ ce = o[ae - 30 + 1],
+ pe = Gamma0(le, ce),
+ de = Gamma0l(ce, le),
+ fe = Gamma1((le = o[ae - 4]), (ce = o[ae - 4 + 1])),
+ ye = Gamma1l(ce, le),
+ be = o[ae - 14],
+ _e = o[ae - 14 + 1],
+ we = o[ae - 32],
+ Se = o[ae - 32 + 1],
+ xe = (de + _e) | 0,
+ Pe = (pe + be + getCarry(xe, de)) | 0;
+ (Pe =
+ ((Pe = (Pe + fe + getCarry((xe = (xe + ye) | 0), ye)) | 0) +
+ we +
+ getCarry((xe = (xe + Se) | 0), Se)) |
+ 0),
+ (o[ae] = Pe),
+ (o[ae + 1] = xe);
+ }
+ for (var Te = 0; Te < 160; Te += 2) {
+ (Pe = o[Te]), (xe = o[Te + 1]);
+ var Re = maj(i, u, _),
+ qe = maj($, V, U),
+ $e = sigma0(i, $),
+ ze = sigma0($, i),
+ We = sigma1(C, Y),
+ He = sigma1(Y, C),
+ Ye = x[Te],
+ Xe = x[Te + 1],
+ Qe = Ch(C, j, L),
+ et = Ch(Y, Z, ee),
+ tt = (ie + He) | 0,
+ rt = (B + We + getCarry(tt, ie)) | 0;
+ rt =
+ ((rt =
+ ((rt = (rt + Qe + getCarry((tt = (tt + et) | 0), et)) | 0) +
+ Ye +
+ getCarry((tt = (tt + Xe) | 0), Xe)) |
+ 0) +
+ Pe +
+ getCarry((tt = (tt + xe) | 0), xe)) |
+ 0;
+ var nt = (ze + qe) | 0,
+ st = ($e + Re + getCarry(nt, ze)) | 0;
+ (B = L),
+ (ie = ee),
+ (L = j),
+ (ee = Z),
+ (j = C),
+ (Z = Y),
+ (C = (w + rt + getCarry((Y = (z + tt) | 0), z)) | 0),
+ (w = _),
+ (z = U),
+ (_ = u),
+ (U = V),
+ (u = i),
+ (V = $),
+ (i = (rt + st + getCarry(($ = (tt + nt) | 0), tt)) | 0);
+ }
+ (this._al = (this._al + $) | 0),
+ (this._bl = (this._bl + V) | 0),
+ (this._cl = (this._cl + U) | 0),
+ (this._dl = (this._dl + z) | 0),
+ (this._el = (this._el + Y) | 0),
+ (this._fl = (this._fl + Z) | 0),
+ (this._gl = (this._gl + ee) | 0),
+ (this._hl = (this._hl + ie) | 0),
+ (this._ah = (this._ah + i + getCarry(this._al, $)) | 0),
+ (this._bh = (this._bh + u + getCarry(this._bl, V)) | 0),
+ (this._ch = (this._ch + _ + getCarry(this._cl, U)) | 0),
+ (this._dh = (this._dh + w + getCarry(this._dl, z)) | 0),
+ (this._eh = (this._eh + C + getCarry(this._el, Y)) | 0),
+ (this._fh = (this._fh + j + getCarry(this._fl, Z)) | 0),
+ (this._gh = (this._gh + L + getCarry(this._gl, ee)) | 0),
+ (this._hh = (this._hh + B + getCarry(this._hl, ie)) | 0);
+ }),
+ (Sha512.prototype._hash = function () {
+ var s = w.allocUnsafe(64);
+ function writeInt64BE(o, i, u) {
+ s.writeInt32BE(o, u), s.writeInt32BE(i, u + 4);
+ }
+ return (
+ writeInt64BE(this._ah, this._al, 0),
+ writeInt64BE(this._bh, this._bl, 8),
+ writeInt64BE(this._ch, this._cl, 16),
+ writeInt64BE(this._dh, this._dl, 24),
+ writeInt64BE(this._eh, this._el, 32),
+ writeInt64BE(this._fh, this._fl, 40),
+ writeInt64BE(this._gh, this._gl, 48),
+ writeInt64BE(this._hh, this._hl, 56),
+ s
+ );
+ }),
+ (s.exports = Sha512);
+ },
+ 8068: (s) => {
+ 'use strict';
+ var o = (() => {
+ var s = Object.defineProperty,
+ o = Object.getOwnPropertyDescriptor,
+ i = Object.getOwnPropertyNames,
+ u = Object.getOwnPropertySymbols,
+ _ = Object.prototype.hasOwnProperty,
+ w = Object.prototype.propertyIsEnumerable,
+ __defNormalProp = (o, i, u) =>
+ i in o
+ ? s(o, i, { enumerable: !0, configurable: !0, writable: !0, value: u })
+ : (o[i] = u),
+ __spreadValues = (s, o) => {
+ for (var i in o || (o = {})) _.call(o, i) && __defNormalProp(s, i, o[i]);
+ if (u) for (var i of u(o)) w.call(o, i) && __defNormalProp(s, i, o[i]);
+ return s;
+ },
+ __publicField = (s, o, i) => (
+ __defNormalProp(s, 'symbol' != typeof o ? o + '' : o, i), i
+ ),
+ x = {};
+ ((o, i) => {
+ for (var u in i) s(o, u, { get: i[u], enumerable: !0 });
+ })(x, { DEFAULT_OPTIONS: () => j, DEFAULT_UUID_LENGTH: () => C, default: () => $ });
+ var C = 6,
+ j = { dictionary: 'alphanum', shuffle: !0, debug: !1, length: C, counter: 0 },
+ L = class _ShortUniqueId {
+ constructor(s = {}) {
+ __publicField(this, 'counter'),
+ __publicField(this, 'debug'),
+ __publicField(this, 'dict'),
+ __publicField(this, 'version'),
+ __publicField(this, 'dictIndex', 0),
+ __publicField(this, 'dictRange', []),
+ __publicField(this, 'lowerBound', 0),
+ __publicField(this, 'upperBound', 0),
+ __publicField(this, 'dictLength', 0),
+ __publicField(this, 'uuidLength'),
+ __publicField(this, '_digit_first_ascii', 48),
+ __publicField(this, '_digit_last_ascii', 58),
+ __publicField(this, '_alpha_lower_first_ascii', 97),
+ __publicField(this, '_alpha_lower_last_ascii', 123),
+ __publicField(this, '_hex_last_ascii', 103),
+ __publicField(this, '_alpha_upper_first_ascii', 65),
+ __publicField(this, '_alpha_upper_last_ascii', 91),
+ __publicField(this, '_number_dict_ranges', {
+ digits: [this._digit_first_ascii, this._digit_last_ascii]
+ }),
+ __publicField(this, '_alpha_dict_ranges', {
+ lowerCase: [this._alpha_lower_first_ascii, this._alpha_lower_last_ascii],
+ upperCase: [this._alpha_upper_first_ascii, this._alpha_upper_last_ascii]
+ }),
+ __publicField(this, '_alpha_lower_dict_ranges', {
+ lowerCase: [this._alpha_lower_first_ascii, this._alpha_lower_last_ascii]
+ }),
+ __publicField(this, '_alpha_upper_dict_ranges', {
+ upperCase: [this._alpha_upper_first_ascii, this._alpha_upper_last_ascii]
+ }),
+ __publicField(this, '_alphanum_dict_ranges', {
+ digits: [this._digit_first_ascii, this._digit_last_ascii],
+ lowerCase: [this._alpha_lower_first_ascii, this._alpha_lower_last_ascii],
+ upperCase: [this._alpha_upper_first_ascii, this._alpha_upper_last_ascii]
+ }),
+ __publicField(this, '_alphanum_lower_dict_ranges', {
+ digits: [this._digit_first_ascii, this._digit_last_ascii],
+ lowerCase: [this._alpha_lower_first_ascii, this._alpha_lower_last_ascii]
+ }),
+ __publicField(this, '_alphanum_upper_dict_ranges', {
+ digits: [this._digit_first_ascii, this._digit_last_ascii],
+ upperCase: [this._alpha_upper_first_ascii, this._alpha_upper_last_ascii]
+ }),
+ __publicField(this, '_hex_dict_ranges', {
+ decDigits: [this._digit_first_ascii, this._digit_last_ascii],
+ alphaDigits: [this._alpha_lower_first_ascii, this._hex_last_ascii]
+ }),
+ __publicField(this, '_dict_ranges', {
+ _number_dict_ranges: this._number_dict_ranges,
+ _alpha_dict_ranges: this._alpha_dict_ranges,
+ _alpha_lower_dict_ranges: this._alpha_lower_dict_ranges,
+ _alpha_upper_dict_ranges: this._alpha_upper_dict_ranges,
+ _alphanum_dict_ranges: this._alphanum_dict_ranges,
+ _alphanum_lower_dict_ranges: this._alphanum_lower_dict_ranges,
+ _alphanum_upper_dict_ranges: this._alphanum_upper_dict_ranges,
+ _hex_dict_ranges: this._hex_dict_ranges
+ }),
+ __publicField(this, 'log', (...s) => {
+ const o = [...s];
+ if (
+ ((o[0] = `[short-unique-id] ${s[0]}`),
+ !0 === this.debug && 'undefined' != typeof console && null !== console)
+ )
+ return console.log(...o);
+ }),
+ __publicField(this, '_normalizeDictionary', (s, o) => {
+ let i;
+ if (s && Array.isArray(s) && s.length > 1) i = s;
+ else {
+ let o;
+ (i = []), (this.dictIndex = o = 0);
+ const u = `_${s}_dict_ranges`,
+ _ = this._dict_ranges[u];
+ Object.keys(_).forEach((s) => {
+ const u = s;
+ for (
+ this.dictRange = _[u],
+ this.lowerBound = this.dictRange[0],
+ this.upperBound = this.dictRange[1],
+ this.dictIndex = o = this.lowerBound;
+ this.lowerBound <= this.upperBound
+ ? o < this.upperBound
+ : o > this.upperBound;
+ this.dictIndex =
+ this.lowerBound <= this.upperBound ? (o += 1) : (o -= 1)
+ )
+ i.push(String.fromCharCode(this.dictIndex));
+ });
+ }
+ if (o) {
+ const s = 0.5;
+ i = i.sort(() => Math.random() - s);
+ }
+ return i;
+ }),
+ __publicField(this, 'setDictionary', (s, o) => {
+ (this.dict = this._normalizeDictionary(s, o)),
+ (this.dictLength = this.dict.length),
+ this.setCounter(0);
+ }),
+ __publicField(this, 'seq', () => this.sequentialUUID()),
+ __publicField(this, 'sequentialUUID', () => {
+ let s,
+ o,
+ i = '';
+ s = this.counter;
+ do {
+ (o = s % this.dictLength),
+ (s = Math.trunc(s / this.dictLength)),
+ (i += this.dict[o]);
+ } while (0 !== s);
+ return (this.counter += 1), i;
+ }),
+ __publicField(this, 'rnd', (s = this.uuidLength || C) => this.randomUUID(s)),
+ __publicField(this, 'randomUUID', (s = this.uuidLength || C) => {
+ let o, i, u;
+ if (null == s || s < 1) throw new Error('Invalid UUID Length Provided');
+ for (o = '', u = 0; u < s; u += 1)
+ (i =
+ parseInt((Math.random() * this.dictLength).toFixed(0), 10) %
+ this.dictLength),
+ (o += this.dict[i]);
+ return o;
+ }),
+ __publicField(this, 'fmt', (s, o) => this.formattedUUID(s, o)),
+ __publicField(this, 'formattedUUID', (s, o) => {
+ const i = { $r: this.randomUUID, $s: this.sequentialUUID, $t: this.stamp };
+ return s.replace(/\$[rs]\d{0,}|\$t0|\$t[1-9]\d{1,}/g, (s) => {
+ const u = s.slice(0, 2),
+ _ = parseInt(s.slice(2), 10);
+ return '$s' === u
+ ? i[u]().padStart(_, '0')
+ : '$t' === u && o
+ ? i[u](_, o)
+ : i[u](_);
+ });
+ }),
+ __publicField(this, 'availableUUIDs', (s = this.uuidLength) =>
+ parseFloat(Math.pow([...new Set(this.dict)].length, s).toFixed(0))
+ ),
+ __publicField(
+ this,
+ 'approxMaxBeforeCollision',
+ (s = this.availableUUIDs(this.uuidLength)) =>
+ parseFloat(Math.sqrt((Math.PI / 2) * s).toFixed(20))
+ ),
+ __publicField(
+ this,
+ 'collisionProbability',
+ (s = this.availableUUIDs(this.uuidLength), o = this.uuidLength) =>
+ parseFloat(
+ (this.approxMaxBeforeCollision(s) / this.availableUUIDs(o)).toFixed(20)
+ )
+ ),
+ __publicField(
+ this,
+ 'uniqueness',
+ (s = this.availableUUIDs(this.uuidLength)) => {
+ const o = parseFloat(
+ (1 - this.approxMaxBeforeCollision(s) / s).toFixed(20)
+ );
+ return o > 1 ? 1 : o < 0 ? 0 : o;
+ }
+ ),
+ __publicField(this, 'getVersion', () => this.version),
+ __publicField(this, 'stamp', (s, o) => {
+ const i = Math.floor(+(o || new Date()) / 1e3).toString(16);
+ if ('number' == typeof s && 0 === s) return i;
+ if ('number' != typeof s || s < 10)
+ throw new Error(
+ [
+ 'Param finalLength must be a number greater than or equal to 10,',
+ 'or 0 if you want the raw hexadecimal timestamp'
+ ].join('\n')
+ );
+ const u = s - 9,
+ _ = Math.round(Math.random() * (u > 15 ? 15 : u)),
+ w = this.randomUUID(u);
+ return `${w.substring(0, _)}${i}${w.substring(_)}${_.toString(16)}`;
+ }),
+ __publicField(this, 'parseStamp', (s, o) => {
+ if (o && !/t0|t[1-9]\d{1,}/.test(o))
+ throw new Error(
+ 'Cannot extract date from a formated UUID with no timestamp in the format'
+ );
+ const i = o
+ ? o
+ .replace(/\$[rs]\d{0,}|\$t0|\$t[1-9]\d{1,}/g, (s) => {
+ const o = {
+ $r: (s) => [...Array(s)].map(() => 'r').join(''),
+ $s: (s) => [...Array(s)].map(() => 's').join(''),
+ $t: (s) => [...Array(s)].map(() => 't').join('')
+ },
+ i = s.slice(0, 2),
+ u = parseInt(s.slice(2), 10);
+ return o[i](u);
+ })
+ .replace(/^(.*?)(t{8,})(.*)$/g, (o, i, u) =>
+ s.substring(i.length, i.length + u.length)
+ )
+ : s;
+ if (8 === i.length) return new Date(1e3 * parseInt(i, 16));
+ if (i.length < 10) throw new Error('Stamp length invalid');
+ const u = parseInt(i.substring(i.length - 1), 16);
+ return new Date(1e3 * parseInt(i.substring(u, u + 8), 16));
+ }),
+ __publicField(this, 'setCounter', (s) => {
+ this.counter = s;
+ }),
+ __publicField(this, 'validate', (s, o) => {
+ const i = o ? this._normalizeDictionary(o) : this.dict;
+ return s.split('').every((s) => i.includes(s));
+ });
+ const o = __spreadValues(__spreadValues({}, j), s);
+ (this.counter = 0), (this.debug = !1), (this.dict = []), (this.version = '5.2.0');
+ const { dictionary: i, shuffle: u, length: _, counter: w } = o;
+ return (
+ (this.uuidLength = _),
+ this.setDictionary(i, u),
+ this.setCounter(w),
+ (this.debug = o.debug),
+ this.log(this.dict),
+ this.log(
+ `Generator instantiated with Dictionary Size ${this.dictLength} and counter set to ${this.counter}`
+ ),
+ (this.log = this.log.bind(this)),
+ (this.setDictionary = this.setDictionary.bind(this)),
+ (this.setCounter = this.setCounter.bind(this)),
+ (this.seq = this.seq.bind(this)),
+ (this.sequentialUUID = this.sequentialUUID.bind(this)),
+ (this.rnd = this.rnd.bind(this)),
+ (this.randomUUID = this.randomUUID.bind(this)),
+ (this.fmt = this.fmt.bind(this)),
+ (this.formattedUUID = this.formattedUUID.bind(this)),
+ (this.availableUUIDs = this.availableUUIDs.bind(this)),
+ (this.approxMaxBeforeCollision = this.approxMaxBeforeCollision.bind(this)),
+ (this.collisionProbability = this.collisionProbability.bind(this)),
+ (this.uniqueness = this.uniqueness.bind(this)),
+ (this.getVersion = this.getVersion.bind(this)),
+ (this.stamp = this.stamp.bind(this)),
+ (this.parseStamp = this.parseStamp.bind(this)),
+ this
+ );
+ }
+ };
+ __publicField(L, 'default', L);
+ var B,
+ $ = L;
+ return (
+ (B = x),
+ ((u, w, x, C) => {
+ if ((w && 'object' == typeof w) || 'function' == typeof w)
+ for (let j of i(w))
+ _.call(u, j) ||
+ j === x ||
+ s(u, j, { get: () => w[j], enumerable: !(C = o(w, j)) || C.enumerable });
+ return u;
+ })(s({}, '__esModule', { value: !0 }), B)
+ );
+ })();
+ (s.exports = o.default), 'undefined' != typeof window && (o = o.default);
+ },
+ 88310: (s, o, i) => {
+ s.exports = Stream;
+ var u = i(37007).EventEmitter;
+ function Stream() {
+ u.call(this);
+ }
+ i(56698)(Stream, u),
+ (Stream.Readable = i(45412)),
+ (Stream.Writable = i(16708)),
+ (Stream.Duplex = i(25382)),
+ (Stream.Transform = i(74610)),
+ (Stream.PassThrough = i(63600)),
+ (Stream.finished = i(86238)),
+ (Stream.pipeline = i(57758)),
+ (Stream.Stream = Stream),
+ (Stream.prototype.pipe = function (s, o) {
+ var i = this;
+ function ondata(o) {
+ s.writable && !1 === s.write(o) && i.pause && i.pause();
+ }
+ function ondrain() {
+ i.readable && i.resume && i.resume();
+ }
+ i.on('data', ondata),
+ s.on('drain', ondrain),
+ s._isStdio || (o && !1 === o.end) || (i.on('end', onend), i.on('close', onclose));
+ var _ = !1;
+ function onend() {
+ _ || ((_ = !0), s.end());
+ }
+ function onclose() {
+ _ || ((_ = !0), 'function' == typeof s.destroy && s.destroy());
+ }
+ function onerror(s) {
+ if ((cleanup(), 0 === u.listenerCount(this, 'error'))) throw s;
+ }
+ function cleanup() {
+ i.removeListener('data', ondata),
+ s.removeListener('drain', ondrain),
+ i.removeListener('end', onend),
+ i.removeListener('close', onclose),
+ i.removeListener('error', onerror),
+ s.removeListener('error', onerror),
+ i.removeListener('end', cleanup),
+ i.removeListener('close', cleanup),
+ s.removeListener('close', cleanup);
+ }
+ return (
+ i.on('error', onerror),
+ s.on('error', onerror),
+ i.on('end', cleanup),
+ i.on('close', cleanup),
+ s.on('close', cleanup),
+ s.emit('pipe', i),
+ s
+ );
+ });
+ },
+ 83141: (s, o, i) => {
+ 'use strict';
+ var u = i(92861).Buffer,
+ _ =
+ u.isEncoding ||
+ function (s) {
+ switch ((s = '' + s) && s.toLowerCase()) {
+ case 'hex':
+ case 'utf8':
+ case 'utf-8':
+ case 'ascii':
+ case 'binary':
+ case 'base64':
+ case 'ucs2':
+ case 'ucs-2':
+ case 'utf16le':
+ case 'utf-16le':
+ case 'raw':
+ return !0;
+ default:
+ return !1;
+ }
+ };
+ function StringDecoder(s) {
+ var o;
+ switch (
+ ((this.encoding = (function normalizeEncoding(s) {
+ var o = (function _normalizeEncoding(s) {
+ if (!s) return 'utf8';
+ for (var o; ; )
+ switch (s) {
+ case 'utf8':
+ case 'utf-8':
+ return 'utf8';
+ case 'ucs2':
+ case 'ucs-2':
+ case 'utf16le':
+ case 'utf-16le':
+ return 'utf16le';
+ case 'latin1':
+ case 'binary':
+ return 'latin1';
+ case 'base64':
+ case 'ascii':
+ case 'hex':
+ return s;
+ default:
+ if (o) return;
+ (s = ('' + s).toLowerCase()), (o = !0);
+ }
+ })(s);
+ if ('string' != typeof o && (u.isEncoding === _ || !_(s)))
+ throw new Error('Unknown encoding: ' + s);
+ return o || s;
+ })(s)),
+ this.encoding)
+ ) {
+ case 'utf16le':
+ (this.text = utf16Text), (this.end = utf16End), (o = 4);
+ break;
+ case 'utf8':
+ (this.fillLast = utf8FillLast), (o = 4);
+ break;
+ case 'base64':
+ (this.text = base64Text), (this.end = base64End), (o = 3);
+ break;
+ default:
+ return (this.write = simpleWrite), void (this.end = simpleEnd);
+ }
+ (this.lastNeed = 0), (this.lastTotal = 0), (this.lastChar = u.allocUnsafe(o));
+ }
+ function utf8CheckByte(s) {
+ return s <= 127
+ ? 0
+ : s >> 5 == 6
+ ? 2
+ : s >> 4 == 14
+ ? 3
+ : s >> 3 == 30
+ ? 4
+ : s >> 6 == 2
+ ? -1
+ : -2;
+ }
+ function utf8FillLast(s) {
+ var o = this.lastTotal - this.lastNeed,
+ i = (function utf8CheckExtraBytes(s, o, i) {
+ if (128 != (192 & o[0])) return (s.lastNeed = 0), '�';
+ if (s.lastNeed > 1 && o.length > 1) {
+ if (128 != (192 & o[1])) return (s.lastNeed = 1), '�';
+ if (s.lastNeed > 2 && o.length > 2 && 128 != (192 & o[2]))
+ return (s.lastNeed = 2), '�';
+ }
+ })(this, s);
+ return void 0 !== i
+ ? i
+ : this.lastNeed <= s.length
+ ? (s.copy(this.lastChar, o, 0, this.lastNeed),
+ this.lastChar.toString(this.encoding, 0, this.lastTotal))
+ : (s.copy(this.lastChar, o, 0, s.length), void (this.lastNeed -= s.length));
+ }
+ function utf16Text(s, o) {
+ if ((s.length - o) % 2 == 0) {
+ var i = s.toString('utf16le', o);
+ if (i) {
+ var u = i.charCodeAt(i.length - 1);
+ if (u >= 55296 && u <= 56319)
+ return (
+ (this.lastNeed = 2),
+ (this.lastTotal = 4),
+ (this.lastChar[0] = s[s.length - 2]),
+ (this.lastChar[1] = s[s.length - 1]),
+ i.slice(0, -1)
+ );
+ }
+ return i;
+ }
+ return (
+ (this.lastNeed = 1),
+ (this.lastTotal = 2),
+ (this.lastChar[0] = s[s.length - 1]),
+ s.toString('utf16le', o, s.length - 1)
+ );
+ }
+ function utf16End(s) {
+ var o = s && s.length ? this.write(s) : '';
+ if (this.lastNeed) {
+ var i = this.lastTotal - this.lastNeed;
+ return o + this.lastChar.toString('utf16le', 0, i);
+ }
+ return o;
+ }
+ function base64Text(s, o) {
+ var i = (s.length - o) % 3;
+ return 0 === i
+ ? s.toString('base64', o)
+ : ((this.lastNeed = 3 - i),
+ (this.lastTotal = 3),
+ 1 === i
+ ? (this.lastChar[0] = s[s.length - 1])
+ : ((this.lastChar[0] = s[s.length - 2]), (this.lastChar[1] = s[s.length - 1])),
+ s.toString('base64', o, s.length - i));
+ }
+ function base64End(s) {
+ var o = s && s.length ? this.write(s) : '';
+ return this.lastNeed ? o + this.lastChar.toString('base64', 0, 3 - this.lastNeed) : o;
+ }
+ function simpleWrite(s) {
+ return s.toString(this.encoding);
+ }
+ function simpleEnd(s) {
+ return s && s.length ? this.write(s) : '';
+ }
+ (o.I = StringDecoder),
+ (StringDecoder.prototype.write = function (s) {
+ if (0 === s.length) return '';
+ var o, i;
+ if (this.lastNeed) {
+ if (void 0 === (o = this.fillLast(s))) return '';
+ (i = this.lastNeed), (this.lastNeed = 0);
+ } else i = 0;
+ return i < s.length ? (o ? o + this.text(s, i) : this.text(s, i)) : o || '';
+ }),
+ (StringDecoder.prototype.end = function utf8End(s) {
+ var o = s && s.length ? this.write(s) : '';
+ return this.lastNeed ? o + '�' : o;
+ }),
+ (StringDecoder.prototype.text = function utf8Text(s, o) {
+ var i = (function utf8CheckIncomplete(s, o, i) {
+ var u = o.length - 1;
+ if (u < i) return 0;
+ var _ = utf8CheckByte(o[u]);
+ if (_ >= 0) return _ > 0 && (s.lastNeed = _ - 1), _;
+ if (--u < i || -2 === _) return 0;
+ if (((_ = utf8CheckByte(o[u])), _ >= 0)) return _ > 0 && (s.lastNeed = _ - 2), _;
+ if (--u < i || -2 === _) return 0;
+ if (((_ = utf8CheckByte(o[u])), _ >= 0))
+ return _ > 0 && (2 === _ ? (_ = 0) : (s.lastNeed = _ - 3)), _;
+ return 0;
+ })(this, s, o);
+ if (!this.lastNeed) return s.toString('utf8', o);
+ this.lastTotal = i;
+ var u = s.length - (i - this.lastNeed);
+ return s.copy(this.lastChar, 0, u), s.toString('utf8', o, u);
+ }),
+ (StringDecoder.prototype.fillLast = function (s) {
+ if (this.lastNeed <= s.length)
+ return (
+ s.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed),
+ this.lastChar.toString(this.encoding, 0, this.lastTotal)
+ );
+ s.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, s.length),
+ (this.lastNeed -= s.length);
+ });
+ },
+ 69883: (s, o) => {
+ 'use strict';
+ (o.parse = function parse(s, o) {
+ if ('string' != typeof s) throw new TypeError('argument str must be a string');
+ var i = {},
+ _ = s.length;
+ if (_ < 2) return i;
+ var w = (o && o.decode) || decode,
+ x = 0,
+ C = 0,
+ j = 0;
+ do {
+ if (-1 === (C = s.indexOf('=', x))) break;
+ if (-1 === (j = s.indexOf(';', x))) j = _;
+ else if (C > j) {
+ x = s.lastIndexOf(';', C - 1) + 1;
+ continue;
+ }
+ var L = startIndex(s, x, C),
+ B = endIndex(s, C, L),
+ $ = s.slice(L, B);
+ if (!u.call(i, $)) {
+ var V = startIndex(s, C + 1, j),
+ U = endIndex(s, j, V);
+ 34 === s.charCodeAt(V) && 34 === s.charCodeAt(U - 1) && (V++, U--);
+ var z = s.slice(V, U);
+ i[$] = tryDecode(z, w);
+ }
+ x = j + 1;
+ } while (x < _);
+ return i;
+ }),
+ (o.serialize = function serialize(s, o, u) {
+ var j = (u && u.encode) || encodeURIComponent;
+ if ('function' != typeof j) throw new TypeError('option encode is invalid');
+ if (!_.test(s)) throw new TypeError('argument name is invalid');
+ var L = j(o);
+ if (!w.test(L)) throw new TypeError('argument val is invalid');
+ var B = s + '=' + L;
+ if (!u) return B;
+ if (null != u.maxAge) {
+ var $ = Math.floor(u.maxAge);
+ if (!isFinite($)) throw new TypeError('option maxAge is invalid');
+ B += '; Max-Age=' + $;
+ }
+ if (u.domain) {
+ if (!x.test(u.domain)) throw new TypeError('option domain is invalid');
+ B += '; Domain=' + u.domain;
+ }
+ if (u.path) {
+ if (!C.test(u.path)) throw new TypeError('option path is invalid');
+ B += '; Path=' + u.path;
+ }
+ if (u.expires) {
+ var V = u.expires;
+ if (
+ !(function isDate(s) {
+ return '[object Date]' === i.call(s);
+ })(V) ||
+ isNaN(V.valueOf())
+ )
+ throw new TypeError('option expires is invalid');
+ B += '; Expires=' + V.toUTCString();
+ }
+ u.httpOnly && (B += '; HttpOnly');
+ u.secure && (B += '; Secure');
+ u.partitioned && (B += '; Partitioned');
+ if (u.priority) {
+ switch ('string' == typeof u.priority ? u.priority.toLowerCase() : u.priority) {
+ case 'low':
+ B += '; Priority=Low';
+ break;
+ case 'medium':
+ B += '; Priority=Medium';
+ break;
+ case 'high':
+ B += '; Priority=High';
+ break;
+ default:
+ throw new TypeError('option priority is invalid');
+ }
+ }
+ if (u.sameSite) {
+ switch ('string' == typeof u.sameSite ? u.sameSite.toLowerCase() : u.sameSite) {
+ case !0:
+ B += '; SameSite=Strict';
+ break;
+ case 'lax':
+ B += '; SameSite=Lax';
+ break;
+ case 'strict':
+ B += '; SameSite=Strict';
+ break;
+ case 'none':
+ B += '; SameSite=None';
+ break;
+ default:
+ throw new TypeError('option sameSite is invalid');
+ }
+ }
+ return B;
+ });
+ var i = Object.prototype.toString,
+ u = Object.prototype.hasOwnProperty,
+ _ = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,
+ w = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,
+ x =
+ /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,
+ C = /^[\u0020-\u003A\u003D-\u007E]*$/;
+ function startIndex(s, o, i) {
+ do {
+ var u = s.charCodeAt(o);
+ if (32 !== u && 9 !== u) return o;
+ } while (++o < i);
+ return i;
+ }
+ function endIndex(s, o, i) {
+ for (; o > i; ) {
+ var u = s.charCodeAt(--o);
+ if (32 !== u && 9 !== u) return o + 1;
+ }
+ return i;
+ }
+ function decode(s) {
+ return -1 !== s.indexOf('%') ? decodeURIComponent(s) : s;
+ }
+ function tryDecode(s, o) {
+ try {
+ return o(s);
+ } catch (o) {
+ return s;
+ }
+ }
+ },
+ 16426: (s) => {
+ s.exports = function () {
+ var s = document.getSelection();
+ if (!s.rangeCount) return function () {};
+ for (var o = document.activeElement, i = [], u = 0; u < s.rangeCount; u++)
+ i.push(s.getRangeAt(u));
+ switch (o.tagName.toUpperCase()) {
+ case 'INPUT':
+ case 'TEXTAREA':
+ o.blur();
+ break;
+ default:
+ o = null;
+ }
+ return (
+ s.removeAllRanges(),
+ function () {
+ 'Caret' === s.type && s.removeAllRanges(),
+ s.rangeCount ||
+ i.forEach(function (o) {
+ s.addRange(o);
+ }),
+ o && o.focus();
+ }
+ );
+ };
+ },
+ 61160: (s, o, i) => {
+ 'use strict';
+ var u = i(92063),
+ _ = i(73992),
+ w = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,
+ x = /[\n\r\t]/g,
+ C = /^[A-Za-z][A-Za-z0-9+-.]*:\/\//,
+ j = /:\d+$/,
+ L = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,
+ B = /^[a-zA-Z]:/;
+ function trimLeft(s) {
+ return (s || '').toString().replace(w, '');
+ }
+ var $ = [
+ ['#', 'hash'],
+ ['?', 'query'],
+ function sanitize(s, o) {
+ return isSpecial(o.protocol) ? s.replace(/\\/g, '/') : s;
+ },
+ ['/', 'pathname'],
+ ['@', 'auth', 1],
+ [NaN, 'host', void 0, 1, 1],
+ [/:(\d*)$/, 'port', void 0, 1],
+ [NaN, 'hostname', void 0, 1, 1]
+ ],
+ V = { hash: 1, query: 1 };
+ function lolcation(s) {
+ var o,
+ u =
+ ('undefined' != typeof window
+ ? window
+ : void 0 !== i.g
+ ? i.g
+ : 'undefined' != typeof self
+ ? self
+ : {}
+ ).location || {},
+ _ = {},
+ w = typeof (s = s || u);
+ if ('blob:' === s.protocol) _ = new Url(unescape(s.pathname), {});
+ else if ('string' === w) for (o in ((_ = new Url(s, {})), V)) delete _[o];
+ else if ('object' === w) {
+ for (o in s) o in V || (_[o] = s[o]);
+ void 0 === _.slashes && (_.slashes = C.test(s.href));
+ }
+ return _;
+ }
+ function isSpecial(s) {
+ return (
+ 'file:' === s ||
+ 'ftp:' === s ||
+ 'http:' === s ||
+ 'https:' === s ||
+ 'ws:' === s ||
+ 'wss:' === s
+ );
+ }
+ function extractProtocol(s, o) {
+ (s = (s = trimLeft(s)).replace(x, '')), (o = o || {});
+ var i,
+ u = L.exec(s),
+ _ = u[1] ? u[1].toLowerCase() : '',
+ w = !!u[2],
+ C = !!u[3],
+ j = 0;
+ return (
+ w
+ ? C
+ ? ((i = u[2] + u[3] + u[4]), (j = u[2].length + u[3].length))
+ : ((i = u[2] + u[4]), (j = u[2].length))
+ : C
+ ? ((i = u[3] + u[4]), (j = u[3].length))
+ : (i = u[4]),
+ 'file:' === _
+ ? j >= 2 && (i = i.slice(2))
+ : isSpecial(_)
+ ? (i = u[4])
+ : _
+ ? w && (i = i.slice(2))
+ : j >= 2 && isSpecial(o.protocol) && (i = u[4]),
+ { protocol: _, slashes: w || isSpecial(_), slashesCount: j, rest: i }
+ );
+ }
+ function Url(s, o, i) {
+ if (((s = (s = trimLeft(s)).replace(x, '')), !(this instanceof Url)))
+ return new Url(s, o, i);
+ var w,
+ C,
+ j,
+ L,
+ V,
+ U,
+ z = $.slice(),
+ Y = typeof o,
+ Z = this,
+ ee = 0;
+ for (
+ 'object' !== Y && 'string' !== Y && ((i = o), (o = null)),
+ i && 'function' != typeof i && (i = _.parse),
+ w = !(C = extractProtocol(s || '', (o = lolcation(o)))).protocol && !C.slashes,
+ Z.slashes = C.slashes || (w && o.slashes),
+ Z.protocol = C.protocol || o.protocol || '',
+ s = C.rest,
+ (('file:' === C.protocol && (2 !== C.slashesCount || B.test(s))) ||
+ (!C.slashes && (C.protocol || C.slashesCount < 2 || !isSpecial(Z.protocol)))) &&
+ (z[3] = [/(.*)/, 'pathname']);
+ ee < z.length;
+ ee++
+ )
+ 'function' != typeof (L = z[ee])
+ ? ((j = L[0]),
+ (U = L[1]),
+ j != j
+ ? (Z[U] = s)
+ : 'string' == typeof j
+ ? ~(V = '@' === j ? s.lastIndexOf(j) : s.indexOf(j)) &&
+ ('number' == typeof L[2]
+ ? ((Z[U] = s.slice(0, V)), (s = s.slice(V + L[2])))
+ : ((Z[U] = s.slice(V)), (s = s.slice(0, V))))
+ : (V = j.exec(s)) && ((Z[U] = V[1]), (s = s.slice(0, V.index))),
+ (Z[U] = Z[U] || (w && L[3] && o[U]) || ''),
+ L[4] && (Z[U] = Z[U].toLowerCase()))
+ : (s = L(s, Z));
+ i && (Z.query = i(Z.query)),
+ w &&
+ o.slashes &&
+ '/' !== Z.pathname.charAt(0) &&
+ ('' !== Z.pathname || '' !== o.pathname) &&
+ (Z.pathname = (function resolve(s, o) {
+ if ('' === s) return o;
+ for (
+ var i = (o || '/').split('/').slice(0, -1).concat(s.split('/')),
+ u = i.length,
+ _ = i[u - 1],
+ w = !1,
+ x = 0;
+ u--;
+
+ )
+ '.' === i[u]
+ ? i.splice(u, 1)
+ : '..' === i[u]
+ ? (i.splice(u, 1), x++)
+ : x && (0 === u && (w = !0), i.splice(u, 1), x--);
+ return w && i.unshift(''), ('.' !== _ && '..' !== _) || i.push(''), i.join('/');
+ })(Z.pathname, o.pathname)),
+ '/' !== Z.pathname.charAt(0) &&
+ isSpecial(Z.protocol) &&
+ (Z.pathname = '/' + Z.pathname),
+ u(Z.port, Z.protocol) || ((Z.host = Z.hostname), (Z.port = '')),
+ (Z.username = Z.password = ''),
+ Z.auth &&
+ (~(V = Z.auth.indexOf(':'))
+ ? ((Z.username = Z.auth.slice(0, V)),
+ (Z.username = encodeURIComponent(decodeURIComponent(Z.username))),
+ (Z.password = Z.auth.slice(V + 1)),
+ (Z.password = encodeURIComponent(decodeURIComponent(Z.password))))
+ : (Z.username = encodeURIComponent(decodeURIComponent(Z.auth))),
+ (Z.auth = Z.password ? Z.username + ':' + Z.password : Z.username)),
+ (Z.origin =
+ 'file:' !== Z.protocol && isSpecial(Z.protocol) && Z.host
+ ? Z.protocol + '//' + Z.host
+ : 'null'),
+ (Z.href = Z.toString());
+ }
+ (Url.prototype = {
+ set: function set(s, o, i) {
+ var w = this;
+ switch (s) {
+ case 'query':
+ 'string' == typeof o && o.length && (o = (i || _.parse)(o)), (w[s] = o);
+ break;
+ case 'port':
+ (w[s] = o),
+ u(o, w.protocol)
+ ? o && (w.host = w.hostname + ':' + o)
+ : ((w.host = w.hostname), (w[s] = ''));
+ break;
+ case 'hostname':
+ (w[s] = o), w.port && (o += ':' + w.port), (w.host = o);
+ break;
+ case 'host':
+ (w[s] = o),
+ j.test(o)
+ ? ((o = o.split(':')), (w.port = o.pop()), (w.hostname = o.join(':')))
+ : ((w.hostname = o), (w.port = ''));
+ break;
+ case 'protocol':
+ (w.protocol = o.toLowerCase()), (w.slashes = !i);
+ break;
+ case 'pathname':
+ case 'hash':
+ if (o) {
+ var x = 'pathname' === s ? '/' : '#';
+ w[s] = o.charAt(0) !== x ? x + o : o;
+ } else w[s] = o;
+ break;
+ case 'username':
+ case 'password':
+ w[s] = encodeURIComponent(o);
+ break;
+ case 'auth':
+ var C = o.indexOf(':');
+ ~C
+ ? ((w.username = o.slice(0, C)),
+ (w.username = encodeURIComponent(decodeURIComponent(w.username))),
+ (w.password = o.slice(C + 1)),
+ (w.password = encodeURIComponent(decodeURIComponent(w.password))))
+ : (w.username = encodeURIComponent(decodeURIComponent(o)));
+ }
+ for (var L = 0; L < $.length; L++) {
+ var B = $[L];
+ B[4] && (w[B[1]] = w[B[1]].toLowerCase());
+ }
+ return (
+ (w.auth = w.password ? w.username + ':' + w.password : w.username),
+ (w.origin =
+ 'file:' !== w.protocol && isSpecial(w.protocol) && w.host
+ ? w.protocol + '//' + w.host
+ : 'null'),
+ (w.href = w.toString()),
+ w
+ );
+ },
+ toString: function toString(s) {
+ (s && 'function' == typeof s) || (s = _.stringify);
+ var o,
+ i = this,
+ u = i.host,
+ w = i.protocol;
+ w && ':' !== w.charAt(w.length - 1) && (w += ':');
+ var x = w + ((i.protocol && i.slashes) || isSpecial(i.protocol) ? '//' : '');
+ return (
+ i.username
+ ? ((x += i.username), i.password && (x += ':' + i.password), (x += '@'))
+ : i.password
+ ? ((x += ':' + i.password), (x += '@'))
+ : 'file:' !== i.protocol &&
+ isSpecial(i.protocol) &&
+ !u &&
+ '/' !== i.pathname &&
+ (x += '@'),
+ (':' === u[u.length - 1] || (j.test(i.hostname) && !i.port)) && (u += ':'),
+ (x += u + i.pathname),
+ (o = 'object' == typeof i.query ? s(i.query) : i.query) &&
+ (x += '?' !== o.charAt(0) ? '?' + o : o),
+ i.hash && (x += i.hash),
+ x
+ );
+ }
+ }),
+ (Url.extractProtocol = extractProtocol),
+ (Url.location = lolcation),
+ (Url.trimLeft = trimLeft),
+ (Url.qs = _),
+ (s.exports = Url);
+ },
+ 77154: (s, o, i) => {
+ 'use strict';
+ var u = i(96540);
+ var _ =
+ 'function' == typeof Object.is
+ ? Object.is
+ : function n(s, o) {
+ return (s === o && (0 !== s || 1 / s == 1 / o)) || (s != s && o != o);
+ },
+ w = u.useSyncExternalStore,
+ x = u.useRef,
+ C = u.useEffect,
+ j = u.useMemo,
+ L = u.useDebugValue;
+ o.useSyncExternalStoreWithSelector = function (s, o, i, u, B) {
+ var $ = x(null);
+ if (null === $.current) {
+ var V = { hasValue: !1, value: null };
+ $.current = V;
+ } else V = $.current;
+ $ = j(
+ function () {
+ function a(o) {
+ if (!x) {
+ if (((x = !0), (s = o), (o = u(o)), void 0 !== B && V.hasValue)) {
+ var i = V.value;
+ if (B(i, o)) return (w = i);
+ }
+ return (w = o);
+ }
+ if (((i = w), _(s, o))) return i;
+ var C = u(o);
+ return void 0 !== B && B(i, C) ? i : ((s = o), (w = C));
+ }
+ var s,
+ w,
+ x = !1,
+ C = void 0 === i ? null : i;
+ return [
+ function () {
+ return a(o());
+ },
+ null === C
+ ? void 0
+ : function () {
+ return a(C());
+ }
+ ];
+ },
+ [o, i, u, B]
+ );
+ var U = w(s, $[0], $[1]);
+ return (
+ C(
+ function () {
+ (V.hasValue = !0), (V.value = U);
+ },
+ [U]
+ ),
+ L(U),
+ U
+ );
+ };
+ },
+ 78418: (s, o, i) => {
+ 'use strict';
+ s.exports = i(77154);
+ },
+ 94643: (s, o, i) => {
+ function config(s) {
+ try {
+ if (!i.g.localStorage) return !1;
+ } catch (s) {
+ return !1;
+ }
+ var o = i.g.localStorage[s];
+ return null != o && 'true' === String(o).toLowerCase();
+ }
+ s.exports = function deprecate(s, o) {
+ if (config('noDeprecation')) return s;
+ var i = !1;
+ return function deprecated() {
+ if (!i) {
+ if (config('throwDeprecation')) throw new Error(o);
+ config('traceDeprecation') ? console.trace(o) : console.warn(o), (i = !0);
+ }
+ return s.apply(this, arguments);
+ };
+ };
+ },
+ 26657: (s, o, i) => {
+ 'use strict';
+ var u = i(75208),
+ _ = function isClosingTag(s) {
+ return /<\/+[^>]+>/.test(s);
+ },
+ w = function isSelfClosingTag(s) {
+ return /<[^>]+\/>/.test(s);
+ };
+ function getType(s) {
+ return _(s)
+ ? 'ClosingTag'
+ : (function isOpeningTag(s) {
+ return (
+ (function isTag(s) {
+ return /<[^>!]+>/.test(s);
+ })(s) &&
+ !_(s) &&
+ !w(s)
+ );
+ })(s)
+ ? 'OpeningTag'
+ : w(s)
+ ? 'SelfClosingTag'
+ : 'Text';
+ }
+ s.exports = function (s) {
+ var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
+ i = o.indentor,
+ _ = o.textNodesOnSameLine,
+ w = 0,
+ x = [];
+ i = i || ' ';
+ var C = (function lexer(s) {
+ return (function splitOnTags(s) {
+ return s.split(/(<\/?[^>]+>)/g).filter(function (s) {
+ return '' !== s.trim();
+ });
+ })(s).map(function (s) {
+ return { value: s, type: getType(s) };
+ });
+ })(s).map(function (s, o, C) {
+ var j = s.value,
+ L = s.type;
+ 'ClosingTag' === L && w--;
+ var B = u(i, w),
+ $ = B + j;
+ if (('OpeningTag' === L && w++, _)) {
+ var V = C[o - 1],
+ U = C[o - 2];
+ 'ClosingTag' === L &&
+ 'Text' === V.type &&
+ 'OpeningTag' === U.type &&
+ (($ = '' + B + U.value + V.value + j), x.push(o - 2, o - 1));
+ }
+ return $;
+ });
+ return (
+ x.forEach(function (s) {
+ return (C[s] = null);
+ }),
+ C.filter(function (s) {
+ return !!s;
+ }).join('\n')
+ );
+ };
+ },
+ 31499: (s) => {
+ var o = { '&': '&', '"': '"', "'": ''', '<': '<', '>': '>' };
+ s.exports = function escapeForXML(s) {
+ return s && s.replace
+ ? s.replace(/([&"<>'])/g, function (s, i) {
+ return o[i];
+ })
+ : s;
+ };
+ },
+ 19123: (s, o, i) => {
+ var u = i(65606),
+ _ = i(31499),
+ w = i(88310).Stream;
+ function resolve(s, o, i) {
+ var u,
+ w = (function create_indent(s, o) {
+ return new Array(o || 0).join(s || '');
+ })(o, (i = i || 0)),
+ x = s;
+ if ('object' == typeof s && (x = s[(u = Object.keys(s)[0])]) && x._elem)
+ return (
+ (x._elem.name = u),
+ (x._elem.icount = i),
+ (x._elem.indent = o),
+ (x._elem.indents = w),
+ (x._elem.interrupt = x),
+ x._elem
+ );
+ var C,
+ j = [],
+ L = [];
+ function get_attributes(s) {
+ Object.keys(s).forEach(function (o) {
+ j.push(
+ (function attribute(s, o) {
+ return s + '="' + _(o) + '"';
+ })(o, s[o])
+ );
+ });
+ }
+ switch (typeof x) {
+ case 'object':
+ if (null === x) break;
+ x._attr && get_attributes(x._attr),
+ x._cdata &&
+ L.push(('/g, ']]]]>') + ']]>'),
+ x.forEach &&
+ ((C = !1),
+ L.push(''),
+ x.forEach(function (s) {
+ 'object' == typeof s
+ ? '_attr' == Object.keys(s)[0]
+ ? get_attributes(s._attr)
+ : L.push(resolve(s, o, i + 1))
+ : (L.pop(), (C = !0), L.push(_(s)));
+ }),
+ C || L.push(''));
+ break;
+ default:
+ L.push(_(x));
+ }
+ return {
+ name: u,
+ interrupt: !1,
+ attributes: j,
+ content: L,
+ icount: i,
+ indents: w,
+ indent: o
+ };
+ }
+ function format(s, o, i) {
+ if ('object' != typeof o) return s(!1, o);
+ var u = o.interrupt ? 1 : o.content.length;
+ function proceed() {
+ for (; o.content.length; ) {
+ var _ = o.content.shift();
+ if (void 0 !== _) {
+ if (interrupt(_)) return;
+ format(s, _);
+ }
+ }
+ s(
+ !1,
+ (u > 1 ? o.indents : '') +
+ (o.name ? '' + o.name + '>' : '') +
+ (o.indent && !i ? '\n' : '')
+ ),
+ i && i();
+ }
+ function interrupt(o) {
+ return (
+ !!o.interrupt &&
+ ((o.interrupt.append = s),
+ (o.interrupt.end = proceed),
+ (o.interrupt = !1),
+ s(!0),
+ !0)
+ );
+ }
+ if (
+ (s(
+ !1,
+ o.indents +
+ (o.name ? '<' + o.name : '') +
+ (o.attributes.length ? ' ' + o.attributes.join(' ') : '') +
+ (u ? (o.name ? '>' : '') : o.name ? '/>' : '') +
+ (o.indent && u > 1 ? '\n' : '')
+ ),
+ !u)
+ )
+ return s(!1, o.indent ? '\n' : '');
+ interrupt(o) || proceed();
+ }
+ (s.exports = function xml(s, o) {
+ 'object' != typeof o && (o = { indent: o });
+ var i = o.stream ? new w() : null,
+ _ = '',
+ x = !1,
+ C = o.indent ? (!0 === o.indent ? ' ' : o.indent) : '',
+ j = !0;
+ function delay(s) {
+ j ? u.nextTick(s) : s();
+ }
+ function append(s, o) {
+ if ((void 0 !== o && (_ += o), s && !x && ((i = i || new w()), (x = !0)), s && x)) {
+ var u = _;
+ delay(function () {
+ i.emit('data', u);
+ }),
+ (_ = '');
+ }
+ }
+ function add(s, o) {
+ format(append, resolve(s, C, C ? 1 : 0), o);
+ }
+ function end() {
+ if (i) {
+ var s = _;
+ delay(function () {
+ i.emit('data', s), i.emit('end'), (i.readable = !1), i.emit('close');
+ });
+ }
+ }
+ return (
+ delay(function () {
+ j = !1;
+ }),
+ o.declaration &&
+ (function addXmlDeclaration(s) {
+ var o = { version: '1.0', encoding: s.encoding || 'UTF-8' };
+ s.standalone && (o.standalone = s.standalone),
+ add({ '?xml': { _attr: o } }),
+ (_ = _.replace('/>', '?>'));
+ })(o.declaration),
+ s && s.forEach
+ ? s.forEach(function (o, i) {
+ var u;
+ i + 1 === s.length && (u = end), add(o, u);
+ })
+ : add(s, end),
+ i ? ((i.readable = !0), i) : _
+ );
+ }),
+ (s.exports.element = s.exports.Element =
+ function element() {
+ var s = {
+ _elem: resolve(Array.prototype.slice.call(arguments)),
+ push: function (s) {
+ if (!this.append) throw new Error('not assigned to a parent!');
+ var o = this,
+ i = this._elem.indent;
+ format(
+ this.append,
+ resolve(s, i, this._elem.icount + (i ? 1 : 0)),
+ function () {
+ o.append(!0);
+ }
+ );
+ },
+ close: function (s) {
+ void 0 !== s && this.push(s), this.end && this.end();
+ }
+ };
+ return s;
+ });
+ },
+ 86215: function (s, o) {
+ var i, u, _;
+ (u = []),
+ (i = (function () {
+ 'use strict';
+ var isNativeSmoothScrollEnabledOn = function (s) {
+ return (
+ s &&
+ 'getComputedStyle' in window &&
+ 'smooth' === window.getComputedStyle(s)['scroll-behavior']
+ );
+ };
+ if ('undefined' == typeof window || !('document' in window)) return {};
+ var makeScroller = function (s, o, i) {
+ var u;
+ (o = o || 999), i || 0 === i || (i = 9);
+ var setScrollTimeoutId = function (s) {
+ u = s;
+ },
+ stopScroll = function () {
+ clearTimeout(u), setScrollTimeoutId(0);
+ },
+ getTopWithEdgeOffset = function (o) {
+ return Math.max(0, s.getTopOf(o) - i);
+ },
+ scrollToY = function (i, u, _) {
+ if (
+ (stopScroll(),
+ 0 === u || (u && u < 0) || isNativeSmoothScrollEnabledOn(s.body))
+ )
+ s.toY(i), _ && _();
+ else {
+ var w = s.getY(),
+ x = Math.max(0, i) - w,
+ C = new Date().getTime();
+ (u = u || Math.min(Math.abs(x), o)),
+ (function loopScroll() {
+ setScrollTimeoutId(
+ setTimeout(function () {
+ var o = Math.min(1, (new Date().getTime() - C) / u),
+ i = Math.max(
+ 0,
+ Math.floor(w + x * (o < 0.5 ? 2 * o * o : o * (4 - 2 * o) - 1))
+ );
+ s.toY(i),
+ o < 1 && s.getHeight() + i < s.body.scrollHeight
+ ? loopScroll()
+ : (setTimeout(stopScroll, 99), _ && _());
+ }, 9)
+ );
+ })();
+ }
+ },
+ scrollToElem = function (s, o, i) {
+ scrollToY(getTopWithEdgeOffset(s), o, i);
+ },
+ scrollIntoView = function (o, u, _) {
+ var w = o.getBoundingClientRect().height,
+ x = s.getTopOf(o) + w,
+ C = s.getHeight(),
+ j = s.getY(),
+ L = j + C;
+ getTopWithEdgeOffset(o) < j || w + i > C
+ ? scrollToElem(o, u, _)
+ : x + i > L
+ ? scrollToY(x - C + i, u, _)
+ : _ && _();
+ },
+ scrollToCenterOf = function (o, i, u, _) {
+ scrollToY(
+ Math.max(
+ 0,
+ s.getTopOf(o) -
+ s.getHeight() / 2 +
+ (u || o.getBoundingClientRect().height / 2)
+ ),
+ i,
+ _
+ );
+ };
+ return {
+ setup: function (s, u) {
+ return (
+ (0 === s || s) && (o = s),
+ (0 === u || u) && (i = u),
+ { defaultDuration: o, edgeOffset: i }
+ );
+ },
+ to: scrollToElem,
+ toY: scrollToY,
+ intoView: scrollIntoView,
+ center: scrollToCenterOf,
+ stop: stopScroll,
+ moving: function () {
+ return !!u;
+ },
+ getY: s.getY,
+ getTopOf: s.getTopOf
+ };
+ },
+ s = document.documentElement,
+ getDocY = function () {
+ return window.scrollY || s.scrollTop;
+ },
+ o = makeScroller({
+ body: document.scrollingElement || document.body,
+ toY: function (s) {
+ window.scrollTo(0, s);
+ },
+ getY: getDocY,
+ getHeight: function () {
+ return window.innerHeight || s.clientHeight;
+ },
+ getTopOf: function (o) {
+ return o.getBoundingClientRect().top + getDocY() - s.offsetTop;
+ }
+ });
+ if (
+ ((o.createScroller = function (o, i, u) {
+ return makeScroller(
+ {
+ body: o,
+ toY: function (s) {
+ o.scrollTop = s;
+ },
+ getY: function () {
+ return o.scrollTop;
+ },
+ getHeight: function () {
+ return Math.min(o.clientHeight, window.innerHeight || s.clientHeight);
+ },
+ getTopOf: function (s) {
+ return s.offsetTop;
+ }
+ },
+ i,
+ u
+ );
+ }),
+ 'addEventListener' in window &&
+ !window.noZensmooth &&
+ !isNativeSmoothScrollEnabledOn(document.body))
+ ) {
+ var i = 'history' in window && 'pushState' in history,
+ u = i && 'scrollRestoration' in history;
+ u && (history.scrollRestoration = 'auto'),
+ window.addEventListener(
+ 'load',
+ function () {
+ u &&
+ (setTimeout(function () {
+ history.scrollRestoration = 'manual';
+ }, 9),
+ window.addEventListener(
+ 'popstate',
+ function (s) {
+ s.state && 'zenscrollY' in s.state && o.toY(s.state.zenscrollY);
+ },
+ !1
+ )),
+ window.location.hash &&
+ setTimeout(function () {
+ var s = o.setup().edgeOffset;
+ if (s) {
+ var i = document.getElementById(window.location.href.split('#')[1]);
+ if (i) {
+ var u = Math.max(0, o.getTopOf(i) - s),
+ _ = o.getY() - u;
+ 0 <= _ && _ < 9 && window.scrollTo(0, u);
+ }
+ }
+ }, 9);
+ },
+ !1
+ );
+ var _ = new RegExp('(^|\\s)noZensmooth(\\s|$)');
+ window.addEventListener(
+ 'click',
+ function (s) {
+ for (var w = s.target; w && 'A' !== w.tagName; ) w = w.parentNode;
+ if (
+ !(!w || 1 !== s.which || s.shiftKey || s.metaKey || s.ctrlKey || s.altKey)
+ ) {
+ if (u) {
+ var x =
+ history.state && 'object' == typeof history.state ? history.state : {};
+ x.zenscrollY = o.getY();
+ try {
+ history.replaceState(x, '');
+ } catch (s) {}
+ }
+ var C = w.getAttribute('href') || '';
+ if (0 === C.indexOf('#') && !_.test(w.className)) {
+ var j = 0,
+ L = document.getElementById(C.substring(1));
+ if ('#' !== C) {
+ if (!L) return;
+ j = o.getTopOf(L);
+ }
+ s.preventDefault();
+ var onDone = function () {
+ window.location = C;
+ },
+ B = o.setup().edgeOffset;
+ B &&
+ ((j = Math.max(0, j - B)),
+ i &&
+ (onDone = function () {
+ history.pushState({}, '', C);
+ })),
+ o.toY(j, null, onDone);
+ }
+ }
+ },
+ !1
+ );
+ }
+ return o;
+ })()),
+ void 0 === (_ = 'function' == typeof i ? i.apply(o, u) : i) || (s.exports = _);
+ },
+ 15340: () => {},
+ 79838: () => {},
+ 48675: (s, o, i) => {
+ s.exports = i(20850);
+ },
+ 7666: (s, o, i) => {
+ var u = i(84851),
+ _ = i(953);
+ function _extends() {
+ var o;
+ return (
+ (s.exports = _extends =
+ u
+ ? _((o = u)).call(o)
+ : function (s) {
+ for (var o = 1; o < arguments.length; o++) {
+ var i = arguments[o];
+ for (var u in i) ({}).hasOwnProperty.call(i, u) && (s[u] = i[u]);
+ }
+ return s;
+ }),
+ (s.exports.__esModule = !0),
+ (s.exports.default = s.exports),
+ _extends.apply(null, arguments)
+ );
+ }
+ (s.exports = _extends), (s.exports.__esModule = !0), (s.exports.default = s.exports);
+ },
+ 46942: (s, o) => {
+ var i;
+ !(function () {
+ 'use strict';
+ var u = {}.hasOwnProperty;
+ function classNames() {
+ for (var s = '', o = 0; o < arguments.length; o++) {
+ var i = arguments[o];
+ i && (s = appendClass(s, parseValue(i)));
+ }
+ return s;
+ }
+ function parseValue(s) {
+ if ('string' == typeof s || 'number' == typeof s) return s;
+ if ('object' != typeof s) return '';
+ if (Array.isArray(s)) return classNames.apply(null, s);
+ if (
+ s.toString !== Object.prototype.toString &&
+ !s.toString.toString().includes('[native code]')
+ )
+ return s.toString();
+ var o = '';
+ for (var i in s) u.call(s, i) && s[i] && (o = appendClass(o, i));
+ return o;
+ }
+ function appendClass(s, o) {
+ return o ? (s ? s + ' ' + o : s + o) : s;
+ }
+ s.exports
+ ? ((classNames.default = classNames), (s.exports = classNames))
+ : void 0 ===
+ (i = function () {
+ return classNames;
+ }.apply(o, [])) || (s.exports = i);
+ })();
+ },
+ 68623: (s, o, i) => {
+ 'use strict';
+ var u = i(694);
+ s.exports = u;
+ },
+ 93700: (s, o, i) => {
+ 'use strict';
+ var u = i(19709);
+ s.exports = u;
+ },
+ 462: (s, o, i) => {
+ 'use strict';
+ var u = i(40975);
+ s.exports = u;
+ },
+ 37257: (s, o, i) => {
+ 'use strict';
+ i(96605), i(64502), i(36371), i(99363), i(7057);
+ var u = i(92046);
+ s.exports = u.AggregateError;
+ },
+ 32567: (s, o, i) => {
+ 'use strict';
+ i(79307);
+ var u = i(61747);
+ s.exports = u('Function', 'bind');
+ },
+ 23034: (s, o, i) => {
+ 'use strict';
+ var u = i(88280),
+ _ = i(32567),
+ w = Function.prototype;
+ s.exports = function (s) {
+ var o = s.bind;
+ return s === w || (u(w, s) && o === w.bind) ? _ : o;
+ };
+ },
+ 9748: (s, o, i) => {
+ 'use strict';
+ i(71340);
+ var u = i(92046);
+ s.exports = u.Object.assign;
+ },
+ 20850: (s, o, i) => {
+ 'use strict';
+ s.exports = i(46076);
+ },
+ 953: (s, o, i) => {
+ 'use strict';
+ s.exports = i(53375);
+ },
+ 84851: (s, o, i) => {
+ 'use strict';
+ s.exports = i(85401);
+ },
+ 46076: (s, o, i) => {
+ 'use strict';
+ i(91599);
+ var u = i(68623);
+ s.exports = u;
+ },
+ 53375: (s, o, i) => {
+ 'use strict';
+ var u = i(93700);
+ s.exports = u;
+ },
+ 85401: (s, o, i) => {
+ 'use strict';
+ var u = i(462);
+ s.exports = u;
+ },
+ 82159: (s, o, i) => {
+ 'use strict';
+ var u = i(62250),
+ _ = i(4640),
+ w = TypeError;
+ s.exports = function (s) {
+ if (u(s)) return s;
+ throw new w(_(s) + ' is not a function');
+ };
+ },
+ 10043: (s, o, i) => {
+ 'use strict';
+ var u = i(54018),
+ _ = String,
+ w = TypeError;
+ s.exports = function (s) {
+ if (u(s)) return s;
+ throw new w("Can't set " + _(s) + ' as a prototype');
+ };
+ },
+ 42156: (s) => {
+ 'use strict';
+ s.exports = function () {};
+ },
+ 36624: (s, o, i) => {
+ 'use strict';
+ var u = i(46285),
+ _ = String,
+ w = TypeError;
+ s.exports = function (s) {
+ if (u(s)) return s;
+ throw new w(_(s) + ' is not an object');
+ };
+ },
+ 74436: (s, o, i) => {
+ 'use strict';
+ var u = i(4993),
+ _ = i(34849),
+ w = i(20575),
+ createMethod = function (s) {
+ return function (o, i, x) {
+ var C = u(o),
+ j = w(C);
+ if (0 === j) return !s && -1;
+ var L,
+ B = _(x, j);
+ if (s && i != i) {
+ for (; j > B; ) if ((L = C[B++]) != L) return !0;
+ } else for (; j > B; B++) if ((s || B in C) && C[B] === i) return s || B || 0;
+ return !s && -1;
+ };
+ };
+ s.exports = { includes: createMethod(!0), indexOf: createMethod(!1) };
+ },
+ 93427: (s, o, i) => {
+ 'use strict';
+ var u = i(1907);
+ s.exports = u([].slice);
+ },
+ 45807: (s, o, i) => {
+ 'use strict';
+ var u = i(1907),
+ _ = u({}.toString),
+ w = u(''.slice);
+ s.exports = function (s) {
+ return w(_(s), 8, -1);
+ };
+ },
+ 73948: (s, o, i) => {
+ 'use strict';
+ var u = i(52623),
+ _ = i(62250),
+ w = i(45807),
+ x = i(76264)('toStringTag'),
+ C = Object,
+ j =
+ 'Arguments' ===
+ w(
+ (function () {
+ return arguments;
+ })()
+ );
+ s.exports = u
+ ? w
+ : function (s) {
+ var o, i, u;
+ return void 0 === s
+ ? 'Undefined'
+ : null === s
+ ? 'Null'
+ : 'string' ==
+ typeof (i = (function (s, o) {
+ try {
+ return s[o];
+ } catch (s) {}
+ })((o = C(s)), x))
+ ? i
+ : j
+ ? w(o)
+ : 'Object' === (u = w(o)) && _(o.callee)
+ ? 'Arguments'
+ : u;
+ };
+ },
+ 19595: (s, o, i) => {
+ 'use strict';
+ var u = i(49724),
+ _ = i(11042),
+ w = i(13846),
+ x = i(74284);
+ s.exports = function (s, o, i) {
+ for (var C = _(o), j = x.f, L = w.f, B = 0; B < C.length; B++) {
+ var $ = C[B];
+ u(s, $) || (i && u(i, $)) || j(s, $, L(o, $));
+ }
+ };
+ },
+ 57382: (s, o, i) => {
+ 'use strict';
+ var u = i(98828);
+ s.exports = !u(function () {
+ function F() {}
+ return (F.prototype.constructor = null), Object.getPrototypeOf(new F()) !== F.prototype;
+ });
+ },
+ 59550: (s) => {
+ 'use strict';
+ s.exports = function (s, o) {
+ return { value: s, done: o };
+ };
+ },
+ 61626: (s, o, i) => {
+ 'use strict';
+ var u = i(39447),
+ _ = i(74284),
+ w = i(75817);
+ s.exports = u
+ ? function (s, o, i) {
+ return _.f(s, o, w(1, i));
+ }
+ : function (s, o, i) {
+ return (s[o] = i), s;
+ };
+ },
+ 75817: (s) => {
+ 'use strict';
+ s.exports = function (s, o) {
+ return { enumerable: !(1 & s), configurable: !(2 & s), writable: !(4 & s), value: o };
+ };
+ },
+ 68055: (s, o, i) => {
+ 'use strict';
+ var u = i(61626);
+ s.exports = function (s, o, i, _) {
+ return _ && _.enumerable ? (s[o] = i) : u(s, o, i), s;
+ };
+ },
+ 2532: (s, o, i) => {
+ 'use strict';
+ var u = i(45951),
+ _ = Object.defineProperty;
+ s.exports = function (s, o) {
+ try {
+ _(u, s, { value: o, configurable: !0, writable: !0 });
+ } catch (i) {
+ u[s] = o;
+ }
+ return o;
+ };
+ },
+ 39447: (s, o, i) => {
+ 'use strict';
+ var u = i(98828);
+ s.exports = !u(function () {
+ return (
+ 7 !==
+ Object.defineProperty({}, 1, {
+ get: function () {
+ return 7;
+ }
+ })[1]
+ );
+ });
+ },
+ 49552: (s, o, i) => {
+ 'use strict';
+ var u = i(45951),
+ _ = i(46285),
+ w = u.document,
+ x = _(w) && _(w.createElement);
+ s.exports = function (s) {
+ return x ? w.createElement(s) : {};
+ };
+ },
+ 19287: (s) => {
+ 'use strict';
+ s.exports = {
+ CSSRuleList: 0,
+ CSSStyleDeclaration: 0,
+ CSSValueList: 0,
+ ClientRectList: 0,
+ DOMRectList: 0,
+ DOMStringList: 0,
+ DOMTokenList: 1,
+ DataTransferItemList: 0,
+ FileList: 0,
+ HTMLAllCollection: 0,
+ HTMLCollection: 0,
+ HTMLFormElement: 0,
+ HTMLSelectElement: 0,
+ MediaList: 0,
+ MimeTypeArray: 0,
+ NamedNodeMap: 0,
+ NodeList: 1,
+ PaintRequestList: 0,
+ Plugin: 0,
+ PluginArray: 0,
+ SVGLengthList: 0,
+ SVGNumberList: 0,
+ SVGPathSegList: 0,
+ SVGPointList: 0,
+ SVGStringList: 0,
+ SVGTransformList: 0,
+ SourceBufferList: 0,
+ StyleSheetList: 0,
+ TextTrackCueList: 0,
+ TextTrackList: 0,
+ TouchList: 0
+ };
+ },
+ 80376: (s) => {
+ 'use strict';
+ s.exports = [
+ 'constructor',
+ 'hasOwnProperty',
+ 'isPrototypeOf',
+ 'propertyIsEnumerable',
+ 'toLocaleString',
+ 'toString',
+ 'valueOf'
+ ];
+ },
+ 96794: (s, o, i) => {
+ 'use strict';
+ var u = i(45951).navigator,
+ _ = u && u.userAgent;
+ s.exports = _ ? String(_) : '';
+ },
+ 20798: (s, o, i) => {
+ 'use strict';
+ var u,
+ _,
+ w = i(45951),
+ x = i(96794),
+ C = w.process,
+ j = w.Deno,
+ L = (C && C.versions) || (j && j.version),
+ B = L && L.v8;
+ B && (_ = (u = B.split('.'))[0] > 0 && u[0] < 4 ? 1 : +(u[0] + u[1])),
+ !_ &&
+ x &&
+ (!(u = x.match(/Edge\/(\d+)/)) || u[1] >= 74) &&
+ (u = x.match(/Chrome\/(\d+)/)) &&
+ (_ = +u[1]),
+ (s.exports = _);
+ },
+ 85762: (s, o, i) => {
+ 'use strict';
+ var u = i(1907),
+ _ = Error,
+ w = u(''.replace),
+ x = String(new _('zxcasd').stack),
+ C = /\n\s*at [^:]*:[^\n]*/,
+ j = C.test(x);
+ s.exports = function (s, o) {
+ if (j && 'string' == typeof s && !_.prepareStackTrace) for (; o--; ) s = w(s, C, '');
+ return s;
+ };
+ },
+ 85884: (s, o, i) => {
+ 'use strict';
+ var u = i(61626),
+ _ = i(85762),
+ w = i(23888),
+ x = Error.captureStackTrace;
+ s.exports = function (s, o, i, C) {
+ w && (x ? x(s, o) : u(s, 'stack', _(i, C)));
+ };
+ },
+ 23888: (s, o, i) => {
+ 'use strict';
+ var u = i(98828),
+ _ = i(75817);
+ s.exports = !u(function () {
+ var s = new Error('a');
+ return !('stack' in s) || (Object.defineProperty(s, 'stack', _(1, 7)), 7 !== s.stack);
+ });
+ },
+ 11091: (s, o, i) => {
+ 'use strict';
+ var u = i(45951),
+ _ = i(76024),
+ w = i(92361),
+ x = i(62250),
+ C = i(13846).f,
+ j = i(7463),
+ L = i(92046),
+ B = i(28311),
+ $ = i(61626),
+ V = i(49724);
+ i(36128);
+ var wrapConstructor = function (s) {
+ var Wrapper = function (o, i, u) {
+ if (this instanceof Wrapper) {
+ switch (arguments.length) {
+ case 0:
+ return new s();
+ case 1:
+ return new s(o);
+ case 2:
+ return new s(o, i);
+ }
+ return new s(o, i, u);
+ }
+ return _(s, this, arguments);
+ };
+ return (Wrapper.prototype = s.prototype), Wrapper;
+ };
+ s.exports = function (s, o) {
+ var i,
+ _,
+ U,
+ z,
+ Y,
+ Z,
+ ee,
+ ie,
+ ae,
+ le = s.target,
+ ce = s.global,
+ pe = s.stat,
+ de = s.proto,
+ fe = ce ? u : pe ? u[le] : u[le] && u[le].prototype,
+ ye = ce ? L : L[le] || $(L, le, {})[le],
+ be = ye.prototype;
+ for (z in o)
+ (_ = !(i = j(ce ? z : le + (pe ? '.' : '#') + z, s.forced)) && fe && V(fe, z)),
+ (Z = ye[z]),
+ _ && (ee = s.dontCallGetSet ? (ae = C(fe, z)) && ae.value : fe[z]),
+ (Y = _ && ee ? ee : o[z]),
+ (i || de || typeof Z != typeof Y) &&
+ ((ie =
+ s.bind && _
+ ? B(Y, u)
+ : s.wrap && _
+ ? wrapConstructor(Y)
+ : de && x(Y)
+ ? w(Y)
+ : Y),
+ (s.sham || (Y && Y.sham) || (Z && Z.sham)) && $(ie, 'sham', !0),
+ $(ye, z, ie),
+ de &&
+ (V(L, (U = le + 'Prototype')) || $(L, U, {}),
+ $(L[U], z, Y),
+ s.real && be && (i || !be[z]) && $(be, z, Y)));
+ };
+ },
+ 98828: (s) => {
+ 'use strict';
+ s.exports = function (s) {
+ try {
+ return !!s();
+ } catch (s) {
+ return !0;
+ }
+ };
+ },
+ 76024: (s, o, i) => {
+ 'use strict';
+ var u = i(41505),
+ _ = Function.prototype,
+ w = _.apply,
+ x = _.call;
+ s.exports =
+ ('object' == typeof Reflect && Reflect.apply) ||
+ (u
+ ? x.bind(w)
+ : function () {
+ return x.apply(w, arguments);
+ });
+ },
+ 28311: (s, o, i) => {
+ 'use strict';
+ var u = i(92361),
+ _ = i(82159),
+ w = i(41505),
+ x = u(u.bind);
+ s.exports = function (s, o) {
+ return (
+ _(s),
+ void 0 === o
+ ? s
+ : w
+ ? x(s, o)
+ : function () {
+ return s.apply(o, arguments);
+ }
+ );
+ };
+ },
+ 41505: (s, o, i) => {
+ 'use strict';
+ var u = i(98828);
+ s.exports = !u(function () {
+ var s = function () {}.bind();
+ return 'function' != typeof s || s.hasOwnProperty('prototype');
+ });
+ },
+ 44673: (s, o, i) => {
+ 'use strict';
+ var u = i(1907),
+ _ = i(82159),
+ w = i(46285),
+ x = i(49724),
+ C = i(93427),
+ j = i(41505),
+ L = Function,
+ B = u([].concat),
+ $ = u([].join),
+ V = {};
+ s.exports = j
+ ? L.bind
+ : function bind(s) {
+ var o = _(this),
+ i = o.prototype,
+ u = C(arguments, 1),
+ j = function bound() {
+ var i = B(u, C(arguments));
+ return this instanceof j
+ ? (function (s, o, i) {
+ if (!x(V, o)) {
+ for (var u = [], _ = 0; _ < o; _++) u[_] = 'a[' + _ + ']';
+ V[o] = L('C,a', 'return new C(' + $(u, ',') + ')');
+ }
+ return V[o](s, i);
+ })(o, i.length, i)
+ : o.apply(s, i);
+ };
+ return w(i) && (j.prototype = i), j;
+ };
+ },
+ 13930: (s, o, i) => {
+ 'use strict';
+ var u = i(41505),
+ _ = Function.prototype.call;
+ s.exports = u
+ ? _.bind(_)
+ : function () {
+ return _.apply(_, arguments);
+ };
+ },
+ 36833: (s, o, i) => {
+ 'use strict';
+ var u = i(39447),
+ _ = i(49724),
+ w = Function.prototype,
+ x = u && Object.getOwnPropertyDescriptor,
+ C = _(w, 'name'),
+ j = C && 'something' === function something() {}.name,
+ L = C && (!u || (u && x(w, 'name').configurable));
+ s.exports = { EXISTS: C, PROPER: j, CONFIGURABLE: L };
+ },
+ 51871: (s, o, i) => {
+ 'use strict';
+ var u = i(1907),
+ _ = i(82159);
+ s.exports = function (s, o, i) {
+ try {
+ return u(_(Object.getOwnPropertyDescriptor(s, o)[i]));
+ } catch (s) {}
+ };
+ },
+ 92361: (s, o, i) => {
+ 'use strict';
+ var u = i(45807),
+ _ = i(1907);
+ s.exports = function (s) {
+ if ('Function' === u(s)) return _(s);
+ };
+ },
+ 1907: (s, o, i) => {
+ 'use strict';
+ var u = i(41505),
+ _ = Function.prototype,
+ w = _.call,
+ x = u && _.bind.bind(w, w);
+ s.exports = u
+ ? x
+ : function (s) {
+ return function () {
+ return w.apply(s, arguments);
+ };
+ };
+ },
+ 61747: (s, o, i) => {
+ 'use strict';
+ var u = i(45951),
+ _ = i(92046);
+ s.exports = function (s, o) {
+ var i = _[s + 'Prototype'],
+ w = i && i[o];
+ if (w) return w;
+ var x = u[s],
+ C = x && x.prototype;
+ return C && C[o];
+ };
+ },
+ 85582: (s, o, i) => {
+ 'use strict';
+ var u = i(92046),
+ _ = i(45951),
+ w = i(62250),
+ aFunction = function (s) {
+ return w(s) ? s : void 0;
+ };
+ s.exports = function (s, o) {
+ return arguments.length < 2
+ ? aFunction(u[s]) || aFunction(_[s])
+ : (u[s] && u[s][o]) || (_[s] && _[s][o]);
+ };
+ },
+ 73448: (s, o, i) => {
+ 'use strict';
+ var u = i(73948),
+ _ = i(29367),
+ w = i(87136),
+ x = i(93742),
+ C = i(76264)('iterator');
+ s.exports = function (s) {
+ if (!w(s)) return _(s, C) || _(s, '@@iterator') || x[u(s)];
+ };
+ },
+ 10300: (s, o, i) => {
+ 'use strict';
+ var u = i(13930),
+ _ = i(82159),
+ w = i(36624),
+ x = i(4640),
+ C = i(73448),
+ j = TypeError;
+ s.exports = function (s, o) {
+ var i = arguments.length < 2 ? C(s) : o;
+ if (_(i)) return w(u(i, s));
+ throw new j(x(s) + ' is not iterable');
+ };
+ },
+ 29367: (s, o, i) => {
+ 'use strict';
+ var u = i(82159),
+ _ = i(87136);
+ s.exports = function (s, o) {
+ var i = s[o];
+ return _(i) ? void 0 : u(i);
+ };
+ },
+ 45951: function (s, o, i) {
+ 'use strict';
+ var check = function (s) {
+ return s && s.Math === Math && s;
+ };
+ s.exports =
+ check('object' == typeof globalThis && globalThis) ||
+ check('object' == typeof window && window) ||
+ check('object' == typeof self && self) ||
+ check('object' == typeof i.g && i.g) ||
+ check('object' == typeof this && this) ||
+ (function () {
+ return this;
+ })() ||
+ Function('return this')();
+ },
+ 49724: (s, o, i) => {
+ 'use strict';
+ var u = i(1907),
+ _ = i(39298),
+ w = u({}.hasOwnProperty);
+ s.exports =
+ Object.hasOwn ||
+ function hasOwn(s, o) {
+ return w(_(s), o);
+ };
+ },
+ 38530: (s) => {
+ 'use strict';
+ s.exports = {};
+ },
+ 62416: (s, o, i) => {
+ 'use strict';
+ var u = i(85582);
+ s.exports = u('document', 'documentElement');
+ },
+ 73648: (s, o, i) => {
+ 'use strict';
+ var u = i(39447),
+ _ = i(98828),
+ w = i(49552);
+ s.exports =
+ !u &&
+ !_(function () {
+ return (
+ 7 !==
+ Object.defineProperty(w('div'), 'a', {
+ get: function () {
+ return 7;
+ }
+ }).a
+ );
+ });
+ },
+ 16946: (s, o, i) => {
+ 'use strict';
+ var u = i(1907),
+ _ = i(98828),
+ w = i(45807),
+ x = Object,
+ C = u(''.split);
+ s.exports = _(function () {
+ return !x('z').propertyIsEnumerable(0);
+ })
+ ? function (s) {
+ return 'String' === w(s) ? C(s, '') : x(s);
+ }
+ : x;
+ },
+ 34084: (s, o, i) => {
+ 'use strict';
+ var u = i(62250),
+ _ = i(46285),
+ w = i(79192);
+ s.exports = function (s, o, i) {
+ var x, C;
+ return (
+ w &&
+ u((x = o.constructor)) &&
+ x !== i &&
+ _((C = x.prototype)) &&
+ C !== i.prototype &&
+ w(s, C),
+ s
+ );
+ };
+ },
+ 39259: (s, o, i) => {
+ 'use strict';
+ var u = i(46285),
+ _ = i(61626);
+ s.exports = function (s, o) {
+ u(o) && 'cause' in o && _(s, 'cause', o.cause);
+ };
+ },
+ 64932: (s, o, i) => {
+ 'use strict';
+ var u,
+ _,
+ w,
+ x = i(40551),
+ C = i(45951),
+ j = i(46285),
+ L = i(61626),
+ B = i(49724),
+ $ = i(36128),
+ V = i(92522),
+ U = i(38530),
+ z = 'Object already initialized',
+ Y = C.TypeError,
+ Z = C.WeakMap;
+ if (x || $.state) {
+ var ee = $.state || ($.state = new Z());
+ (ee.get = ee.get),
+ (ee.has = ee.has),
+ (ee.set = ee.set),
+ (u = function (s, o) {
+ if (ee.has(s)) throw new Y(z);
+ return (o.facade = s), ee.set(s, o), o;
+ }),
+ (_ = function (s) {
+ return ee.get(s) || {};
+ }),
+ (w = function (s) {
+ return ee.has(s);
+ });
+ } else {
+ var ie = V('state');
+ (U[ie] = !0),
+ (u = function (s, o) {
+ if (B(s, ie)) throw new Y(z);
+ return (o.facade = s), L(s, ie, o), o;
+ }),
+ (_ = function (s) {
+ return B(s, ie) ? s[ie] : {};
+ }),
+ (w = function (s) {
+ return B(s, ie);
+ });
+ }
+ s.exports = {
+ set: u,
+ get: _,
+ has: w,
+ enforce: function (s) {
+ return w(s) ? _(s) : u(s, {});
+ },
+ getterFor: function (s) {
+ return function (o) {
+ var i;
+ if (!j(o) || (i = _(o)).type !== s)
+ throw new Y('Incompatible receiver, ' + s + ' required');
+ return i;
+ };
+ }
+ };
+ },
+ 37812: (s, o, i) => {
+ 'use strict';
+ var u = i(76264),
+ _ = i(93742),
+ w = u('iterator'),
+ x = Array.prototype;
+ s.exports = function (s) {
+ return void 0 !== s && (_.Array === s || x[w] === s);
+ };
+ },
+ 62250: (s) => {
+ 'use strict';
+ var o = 'object' == typeof document && document.all;
+ s.exports =
+ void 0 === o && void 0 !== o
+ ? function (s) {
+ return 'function' == typeof s || s === o;
+ }
+ : function (s) {
+ return 'function' == typeof s;
+ };
+ },
+ 7463: (s, o, i) => {
+ 'use strict';
+ var u = i(98828),
+ _ = i(62250),
+ w = /#|\.prototype\./,
+ isForced = function (s, o) {
+ var i = C[x(s)];
+ return i === L || (i !== j && (_(o) ? u(o) : !!o));
+ },
+ x = (isForced.normalize = function (s) {
+ return String(s).replace(w, '.').toLowerCase();
+ }),
+ C = (isForced.data = {}),
+ j = (isForced.NATIVE = 'N'),
+ L = (isForced.POLYFILL = 'P');
+ s.exports = isForced;
+ },
+ 87136: (s) => {
+ 'use strict';
+ s.exports = function (s) {
+ return null == s;
+ };
+ },
+ 46285: (s, o, i) => {
+ 'use strict';
+ var u = i(62250);
+ s.exports = function (s) {
+ return 'object' == typeof s ? null !== s : u(s);
+ };
+ },
+ 54018: (s, o, i) => {
+ 'use strict';
+ var u = i(46285);
+ s.exports = function (s) {
+ return u(s) || null === s;
+ };
+ },
+ 7376: (s) => {
+ 'use strict';
+ s.exports = !0;
+ },
+ 25594: (s, o, i) => {
+ 'use strict';
+ var u = i(85582),
+ _ = i(62250),
+ w = i(88280),
+ x = i(51175),
+ C = Object;
+ s.exports = x
+ ? function (s) {
+ return 'symbol' == typeof s;
+ }
+ : function (s) {
+ var o = u('Symbol');
+ return _(o) && w(o.prototype, C(s));
+ };
+ },
+ 24823: (s, o, i) => {
+ 'use strict';
+ var u = i(28311),
+ _ = i(13930),
+ w = i(36624),
+ x = i(4640),
+ C = i(37812),
+ j = i(20575),
+ L = i(88280),
+ B = i(10300),
+ $ = i(73448),
+ V = i(40154),
+ U = TypeError,
+ Result = function (s, o) {
+ (this.stopped = s), (this.result = o);
+ },
+ z = Result.prototype;
+ s.exports = function (s, o, i) {
+ var Y,
+ Z,
+ ee,
+ ie,
+ ae,
+ le,
+ ce,
+ pe = i && i.that,
+ de = !(!i || !i.AS_ENTRIES),
+ fe = !(!i || !i.IS_RECORD),
+ ye = !(!i || !i.IS_ITERATOR),
+ be = !(!i || !i.INTERRUPTED),
+ _e = u(o, pe),
+ stop = function (s) {
+ return Y && V(Y, 'normal', s), new Result(!0, s);
+ },
+ callFn = function (s) {
+ return de
+ ? (w(s), be ? _e(s[0], s[1], stop) : _e(s[0], s[1]))
+ : be
+ ? _e(s, stop)
+ : _e(s);
+ };
+ if (fe) Y = s.iterator;
+ else if (ye) Y = s;
+ else {
+ if (!(Z = $(s))) throw new U(x(s) + ' is not iterable');
+ if (C(Z)) {
+ for (ee = 0, ie = j(s); ie > ee; ee++)
+ if ((ae = callFn(s[ee])) && L(z, ae)) return ae;
+ return new Result(!1);
+ }
+ Y = B(s, Z);
+ }
+ for (le = fe ? s.next : Y.next; !(ce = _(le, Y)).done; ) {
+ try {
+ ae = callFn(ce.value);
+ } catch (s) {
+ V(Y, 'throw', s);
+ }
+ if ('object' == typeof ae && ae && L(z, ae)) return ae;
+ }
+ return new Result(!1);
+ };
+ },
+ 40154: (s, o, i) => {
+ 'use strict';
+ var u = i(13930),
+ _ = i(36624),
+ w = i(29367);
+ s.exports = function (s, o, i) {
+ var x, C;
+ _(s);
+ try {
+ if (!(x = w(s, 'return'))) {
+ if ('throw' === o) throw i;
+ return i;
+ }
+ x = u(x, s);
+ } catch (s) {
+ (C = !0), (x = s);
+ }
+ if ('throw' === o) throw i;
+ if (C) throw x;
+ return _(x), i;
+ };
+ },
+ 47181: (s, o, i) => {
+ 'use strict';
+ var u = i(95116).IteratorPrototype,
+ _ = i(58075),
+ w = i(75817),
+ x = i(14840),
+ C = i(93742),
+ returnThis = function () {
+ return this;
+ };
+ s.exports = function (s, o, i, j) {
+ var L = o + ' Iterator';
+ return (
+ (s.prototype = _(u, { next: w(+!j, i) })), x(s, L, !1, !0), (C[L] = returnThis), s
+ );
+ };
+ },
+ 60183: (s, o, i) => {
+ 'use strict';
+ var u = i(11091),
+ _ = i(13930),
+ w = i(7376),
+ x = i(36833),
+ C = i(62250),
+ j = i(47181),
+ L = i(15972),
+ B = i(79192),
+ $ = i(14840),
+ V = i(61626),
+ U = i(68055),
+ z = i(76264),
+ Y = i(93742),
+ Z = i(95116),
+ ee = x.PROPER,
+ ie = x.CONFIGURABLE,
+ ae = Z.IteratorPrototype,
+ le = Z.BUGGY_SAFARI_ITERATORS,
+ ce = z('iterator'),
+ pe = 'keys',
+ de = 'values',
+ fe = 'entries',
+ returnThis = function () {
+ return this;
+ };
+ s.exports = function (s, o, i, x, z, Z, ye) {
+ j(i, o, x);
+ var be,
+ _e,
+ we,
+ getIterationMethod = function (s) {
+ if (s === z && Re) return Re;
+ if (!le && s && s in Pe) return Pe[s];
+ switch (s) {
+ case pe:
+ return function keys() {
+ return new i(this, s);
+ };
+ case de:
+ return function values() {
+ return new i(this, s);
+ };
+ case fe:
+ return function entries() {
+ return new i(this, s);
+ };
+ }
+ return function () {
+ return new i(this);
+ };
+ },
+ Se = o + ' Iterator',
+ xe = !1,
+ Pe = s.prototype,
+ Te = Pe[ce] || Pe['@@iterator'] || (z && Pe[z]),
+ Re = (!le && Te) || getIterationMethod(z),
+ qe = ('Array' === o && Pe.entries) || Te;
+ if (
+ (qe &&
+ (be = L(qe.call(new s()))) !== Object.prototype &&
+ be.next &&
+ (w || L(be) === ae || (B ? B(be, ae) : C(be[ce]) || U(be, ce, returnThis)),
+ $(be, Se, !0, !0),
+ w && (Y[Se] = returnThis)),
+ ee &&
+ z === de &&
+ Te &&
+ Te.name !== de &&
+ (!w && ie
+ ? V(Pe, 'name', de)
+ : ((xe = !0),
+ (Re = function values() {
+ return _(Te, this);
+ }))),
+ z)
+ )
+ if (
+ ((_e = {
+ values: getIterationMethod(de),
+ keys: Z ? Re : getIterationMethod(pe),
+ entries: getIterationMethod(fe)
+ }),
+ ye)
+ )
+ for (we in _e) (le || xe || !(we in Pe)) && U(Pe, we, _e[we]);
+ else u({ target: o, proto: !0, forced: le || xe }, _e);
+ return (w && !ye) || Pe[ce] === Re || U(Pe, ce, Re, { name: z }), (Y[o] = Re), _e;
+ };
+ },
+ 95116: (s, o, i) => {
+ 'use strict';
+ var u,
+ _,
+ w,
+ x = i(98828),
+ C = i(62250),
+ j = i(46285),
+ L = i(58075),
+ B = i(15972),
+ $ = i(68055),
+ V = i(76264),
+ U = i(7376),
+ z = V('iterator'),
+ Y = !1;
+ [].keys &&
+ ('next' in (w = [].keys()) ? (_ = B(B(w))) !== Object.prototype && (u = _) : (Y = !0)),
+ !j(u) ||
+ x(function () {
+ var s = {};
+ return u[z].call(s) !== s;
+ })
+ ? (u = {})
+ : U && (u = L(u)),
+ C(u[z]) ||
+ $(u, z, function () {
+ return this;
+ }),
+ (s.exports = { IteratorPrototype: u, BUGGY_SAFARI_ITERATORS: Y });
+ },
+ 93742: (s) => {
+ 'use strict';
+ s.exports = {};
+ },
+ 20575: (s, o, i) => {
+ 'use strict';
+ var u = i(3121);
+ s.exports = function (s) {
+ return u(s.length);
+ };
+ },
+ 41176: (s) => {
+ 'use strict';
+ var o = Math.ceil,
+ i = Math.floor;
+ s.exports =
+ Math.trunc ||
+ function trunc(s) {
+ var u = +s;
+ return (u > 0 ? i : o)(u);
+ };
+ },
+ 32096: (s, o, i) => {
+ 'use strict';
+ var u = i(90160);
+ s.exports = function (s, o) {
+ return void 0 === s ? (arguments.length < 2 ? '' : o) : u(s);
+ };
+ },
+ 29538: (s, o, i) => {
+ 'use strict';
+ var u = i(39447),
+ _ = i(1907),
+ w = i(13930),
+ x = i(98828),
+ C = i(2875),
+ j = i(87170),
+ L = i(22574),
+ B = i(39298),
+ $ = i(16946),
+ V = Object.assign,
+ U = Object.defineProperty,
+ z = _([].concat);
+ s.exports =
+ !V ||
+ x(function () {
+ if (
+ u &&
+ 1 !==
+ V(
+ { b: 1 },
+ V(
+ U({}, 'a', {
+ enumerable: !0,
+ get: function () {
+ U(this, 'b', { value: 3, enumerable: !1 });
+ }
+ }),
+ { b: 2 }
+ )
+ ).b
+ )
+ return !0;
+ var s = {},
+ o = {},
+ i = Symbol('assign detection'),
+ _ = 'abcdefghijklmnopqrst';
+ return (
+ (s[i] = 7),
+ _.split('').forEach(function (s) {
+ o[s] = s;
+ }),
+ 7 !== V({}, s)[i] || C(V({}, o)).join('') !== _
+ );
+ })
+ ? function assign(s, o) {
+ for (var i = B(s), _ = arguments.length, x = 1, V = j.f, U = L.f; _ > x; )
+ for (
+ var Y,
+ Z = $(arguments[x++]),
+ ee = V ? z(C(Z), V(Z)) : C(Z),
+ ie = ee.length,
+ ae = 0;
+ ie > ae;
+
+ )
+ (Y = ee[ae++]), (u && !w(U, Z, Y)) || (i[Y] = Z[Y]);
+ return i;
+ }
+ : V;
+ },
+ 58075: (s, o, i) => {
+ 'use strict';
+ var u,
+ _ = i(36624),
+ w = i(42220),
+ x = i(80376),
+ C = i(38530),
+ j = i(62416),
+ L = i(49552),
+ B = i(92522),
+ $ = 'prototype',
+ V = 'script',
+ U = B('IE_PROTO'),
+ EmptyConstructor = function () {},
+ scriptTag = function (s) {
+ return '<' + V + '>' + s + '' + V + '>';
+ },
+ NullProtoObjectViaActiveX = function (s) {
+ s.write(scriptTag('')), s.close();
+ var o = s.parentWindow.Object;
+ return (s = null), o;
+ },
+ NullProtoObject = function () {
+ try {
+ u = new ActiveXObject('htmlfile');
+ } catch (s) {}
+ var s, o, i;
+ NullProtoObject =
+ 'undefined' != typeof document
+ ? document.domain && u
+ ? NullProtoObjectViaActiveX(u)
+ : ((o = L('iframe')),
+ (i = 'java' + V + ':'),
+ (o.style.display = 'none'),
+ j.appendChild(o),
+ (o.src = String(i)),
+ (s = o.contentWindow.document).open(),
+ s.write(scriptTag('document.F=Object')),
+ s.close(),
+ s.F)
+ : NullProtoObjectViaActiveX(u);
+ for (var _ = x.length; _--; ) delete NullProtoObject[$][x[_]];
+ return NullProtoObject();
+ };
+ (C[U] = !0),
+ (s.exports =
+ Object.create ||
+ function create(s, o) {
+ var i;
+ return (
+ null !== s
+ ? ((EmptyConstructor[$] = _(s)),
+ (i = new EmptyConstructor()),
+ (EmptyConstructor[$] = null),
+ (i[U] = s))
+ : (i = NullProtoObject()),
+ void 0 === o ? i : w.f(i, o)
+ );
+ });
+ },
+ 42220: (s, o, i) => {
+ 'use strict';
+ var u = i(39447),
+ _ = i(58661),
+ w = i(74284),
+ x = i(36624),
+ C = i(4993),
+ j = i(2875);
+ o.f =
+ u && !_
+ ? Object.defineProperties
+ : function defineProperties(s, o) {
+ x(s);
+ for (var i, u = C(o), _ = j(o), L = _.length, B = 0; L > B; )
+ w.f(s, (i = _[B++]), u[i]);
+ return s;
+ };
+ },
+ 74284: (s, o, i) => {
+ 'use strict';
+ var u = i(39447),
+ _ = i(73648),
+ w = i(58661),
+ x = i(36624),
+ C = i(70470),
+ j = TypeError,
+ L = Object.defineProperty,
+ B = Object.getOwnPropertyDescriptor,
+ $ = 'enumerable',
+ V = 'configurable',
+ U = 'writable';
+ o.f = u
+ ? w
+ ? function defineProperty(s, o, i) {
+ if (
+ (x(s),
+ (o = C(o)),
+ x(i),
+ 'function' == typeof s && 'prototype' === o && 'value' in i && U in i && !i[U])
+ ) {
+ var u = B(s, o);
+ u &&
+ u[U] &&
+ ((s[o] = i.value),
+ (i = {
+ configurable: V in i ? i[V] : u[V],
+ enumerable: $ in i ? i[$] : u[$],
+ writable: !1
+ }));
+ }
+ return L(s, o, i);
+ }
+ : L
+ : function defineProperty(s, o, i) {
+ if ((x(s), (o = C(o)), x(i), _))
+ try {
+ return L(s, o, i);
+ } catch (s) {}
+ if ('get' in i || 'set' in i) throw new j('Accessors not supported');
+ return 'value' in i && (s[o] = i.value), s;
+ };
+ },
+ 13846: (s, o, i) => {
+ 'use strict';
+ var u = i(39447),
+ _ = i(13930),
+ w = i(22574),
+ x = i(75817),
+ C = i(4993),
+ j = i(70470),
+ L = i(49724),
+ B = i(73648),
+ $ = Object.getOwnPropertyDescriptor;
+ o.f = u
+ ? $
+ : function getOwnPropertyDescriptor(s, o) {
+ if (((s = C(s)), (o = j(o)), B))
+ try {
+ return $(s, o);
+ } catch (s) {}
+ if (L(s, o)) return x(!_(w.f, s, o), s[o]);
+ };
+ },
+ 24443: (s, o, i) => {
+ 'use strict';
+ var u = i(23045),
+ _ = i(80376).concat('length', 'prototype');
+ o.f =
+ Object.getOwnPropertyNames ||
+ function getOwnPropertyNames(s) {
+ return u(s, _);
+ };
+ },
+ 87170: (s, o) => {
+ 'use strict';
+ o.f = Object.getOwnPropertySymbols;
+ },
+ 15972: (s, o, i) => {
+ 'use strict';
+ var u = i(49724),
+ _ = i(62250),
+ w = i(39298),
+ x = i(92522),
+ C = i(57382),
+ j = x('IE_PROTO'),
+ L = Object,
+ B = L.prototype;
+ s.exports = C
+ ? L.getPrototypeOf
+ : function (s) {
+ var o = w(s);
+ if (u(o, j)) return o[j];
+ var i = o.constructor;
+ return _(i) && o instanceof i ? i.prototype : o instanceof L ? B : null;
+ };
+ },
+ 88280: (s, o, i) => {
+ 'use strict';
+ var u = i(1907);
+ s.exports = u({}.isPrototypeOf);
+ },
+ 23045: (s, o, i) => {
+ 'use strict';
+ var u = i(1907),
+ _ = i(49724),
+ w = i(4993),
+ x = i(74436).indexOf,
+ C = i(38530),
+ j = u([].push);
+ s.exports = function (s, o) {
+ var i,
+ u = w(s),
+ L = 0,
+ B = [];
+ for (i in u) !_(C, i) && _(u, i) && j(B, i);
+ for (; o.length > L; ) _(u, (i = o[L++])) && (~x(B, i) || j(B, i));
+ return B;
+ };
+ },
+ 2875: (s, o, i) => {
+ 'use strict';
+ var u = i(23045),
+ _ = i(80376);
+ s.exports =
+ Object.keys ||
+ function keys(s) {
+ return u(s, _);
+ };
+ },
+ 22574: (s, o) => {
+ 'use strict';
+ var i = {}.propertyIsEnumerable,
+ u = Object.getOwnPropertyDescriptor,
+ _ = u && !i.call({ 1: 2 }, 1);
+ o.f = _
+ ? function propertyIsEnumerable(s) {
+ var o = u(this, s);
+ return !!o && o.enumerable;
+ }
+ : i;
+ },
+ 79192: (s, o, i) => {
+ 'use strict';
+ var u = i(51871),
+ _ = i(46285),
+ w = i(74239),
+ x = i(10043);
+ s.exports =
+ Object.setPrototypeOf ||
+ ('__proto__' in {}
+ ? (function () {
+ var s,
+ o = !1,
+ i = {};
+ try {
+ (s = u(Object.prototype, '__proto__', 'set'))(i, []), (o = i instanceof Array);
+ } catch (s) {}
+ return function setPrototypeOf(i, u) {
+ return w(i), x(u), _(i) ? (o ? s(i, u) : (i.__proto__ = u), i) : i;
+ };
+ })()
+ : void 0);
+ },
+ 54878: (s, o, i) => {
+ 'use strict';
+ var u = i(52623),
+ _ = i(73948);
+ s.exports = u
+ ? {}.toString
+ : function toString() {
+ return '[object ' + _(this) + ']';
+ };
+ },
+ 60581: (s, o, i) => {
+ 'use strict';
+ var u = i(13930),
+ _ = i(62250),
+ w = i(46285),
+ x = TypeError;
+ s.exports = function (s, o) {
+ var i, C;
+ if ('string' === o && _((i = s.toString)) && !w((C = u(i, s)))) return C;
+ if (_((i = s.valueOf)) && !w((C = u(i, s)))) return C;
+ if ('string' !== o && _((i = s.toString)) && !w((C = u(i, s)))) return C;
+ throw new x("Can't convert object to primitive value");
+ };
+ },
+ 11042: (s, o, i) => {
+ 'use strict';
+ var u = i(85582),
+ _ = i(1907),
+ w = i(24443),
+ x = i(87170),
+ C = i(36624),
+ j = _([].concat);
+ s.exports =
+ u('Reflect', 'ownKeys') ||
+ function ownKeys(s) {
+ var o = w.f(C(s)),
+ i = x.f;
+ return i ? j(o, i(s)) : o;
+ };
+ },
+ 92046: (s) => {
+ 'use strict';
+ s.exports = {};
+ },
+ 54829: (s, o, i) => {
+ 'use strict';
+ var u = i(74284).f;
+ s.exports = function (s, o, i) {
+ i in s ||
+ u(s, i, {
+ configurable: !0,
+ get: function () {
+ return o[i];
+ },
+ set: function (s) {
+ o[i] = s;
+ }
+ });
+ };
+ },
+ 74239: (s, o, i) => {
+ 'use strict';
+ var u = i(87136),
+ _ = TypeError;
+ s.exports = function (s) {
+ if (u(s)) throw new _("Can't call method on " + s);
+ return s;
+ };
+ },
+ 14840: (s, o, i) => {
+ 'use strict';
+ var u = i(52623),
+ _ = i(74284).f,
+ w = i(61626),
+ x = i(49724),
+ C = i(54878),
+ j = i(76264)('toStringTag');
+ s.exports = function (s, o, i, L) {
+ var B = i ? s : s && s.prototype;
+ B &&
+ (x(B, j) || _(B, j, { configurable: !0, value: o }), L && !u && w(B, 'toString', C));
+ };
+ },
+ 92522: (s, o, i) => {
+ 'use strict';
+ var u = i(85816),
+ _ = i(6499),
+ w = u('keys');
+ s.exports = function (s) {
+ return w[s] || (w[s] = _(s));
+ };
+ },
+ 36128: (s, o, i) => {
+ 'use strict';
+ var u = i(7376),
+ _ = i(45951),
+ w = i(2532),
+ x = '__core-js_shared__',
+ C = (s.exports = _[x] || w(x, {}));
+ (C.versions || (C.versions = [])).push({
+ version: '3.39.0',
+ mode: u ? 'pure' : 'global',
+ copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
+ license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE',
+ source: 'https://github.com/zloirock/core-js'
+ });
+ },
+ 85816: (s, o, i) => {
+ 'use strict';
+ var u = i(36128);
+ s.exports = function (s, o) {
+ return u[s] || (u[s] = o || {});
+ };
+ },
+ 11470: (s, o, i) => {
+ 'use strict';
+ var u = i(1907),
+ _ = i(65482),
+ w = i(90160),
+ x = i(74239),
+ C = u(''.charAt),
+ j = u(''.charCodeAt),
+ L = u(''.slice),
+ createMethod = function (s) {
+ return function (o, i) {
+ var u,
+ B,
+ $ = w(x(o)),
+ V = _(i),
+ U = $.length;
+ return V < 0 || V >= U
+ ? s
+ ? ''
+ : void 0
+ : (u = j($, V)) < 55296 ||
+ u > 56319 ||
+ V + 1 === U ||
+ (B = j($, V + 1)) < 56320 ||
+ B > 57343
+ ? s
+ ? C($, V)
+ : u
+ : s
+ ? L($, V, V + 2)
+ : B - 56320 + ((u - 55296) << 10) + 65536;
+ };
+ };
+ s.exports = { codeAt: createMethod(!1), charAt: createMethod(!0) };
+ },
+ 19846: (s, o, i) => {
+ 'use strict';
+ var u = i(20798),
+ _ = i(98828),
+ w = i(45951).String;
+ s.exports =
+ !!Object.getOwnPropertySymbols &&
+ !_(function () {
+ var s = Symbol('symbol detection');
+ return !w(s) || !(Object(s) instanceof Symbol) || (!Symbol.sham && u && u < 41);
+ });
+ },
+ 34849: (s, o, i) => {
+ 'use strict';
+ var u = i(65482),
+ _ = Math.max,
+ w = Math.min;
+ s.exports = function (s, o) {
+ var i = u(s);
+ return i < 0 ? _(i + o, 0) : w(i, o);
+ };
+ },
+ 4993: (s, o, i) => {
+ 'use strict';
+ var u = i(16946),
+ _ = i(74239);
+ s.exports = function (s) {
+ return u(_(s));
+ };
+ },
+ 65482: (s, o, i) => {
+ 'use strict';
+ var u = i(41176);
+ s.exports = function (s) {
+ var o = +s;
+ return o != o || 0 === o ? 0 : u(o);
+ };
+ },
+ 3121: (s, o, i) => {
+ 'use strict';
+ var u = i(65482),
+ _ = Math.min;
+ s.exports = function (s) {
+ var o = u(s);
+ return o > 0 ? _(o, 9007199254740991) : 0;
+ };
+ },
+ 39298: (s, o, i) => {
+ 'use strict';
+ var u = i(74239),
+ _ = Object;
+ s.exports = function (s) {
+ return _(u(s));
+ };
+ },
+ 46028: (s, o, i) => {
+ 'use strict';
+ var u = i(13930),
+ _ = i(46285),
+ w = i(25594),
+ x = i(29367),
+ C = i(60581),
+ j = i(76264),
+ L = TypeError,
+ B = j('toPrimitive');
+ s.exports = function (s, o) {
+ if (!_(s) || w(s)) return s;
+ var i,
+ j = x(s, B);
+ if (j) {
+ if ((void 0 === o && (o = 'default'), (i = u(j, s, o)), !_(i) || w(i))) return i;
+ throw new L("Can't convert object to primitive value");
+ }
+ return void 0 === o && (o = 'number'), C(s, o);
+ };
+ },
+ 70470: (s, o, i) => {
+ 'use strict';
+ var u = i(46028),
+ _ = i(25594);
+ s.exports = function (s) {
+ var o = u(s, 'string');
+ return _(o) ? o : o + '';
+ };
+ },
+ 52623: (s, o, i) => {
+ 'use strict';
+ var u = {};
+ (u[i(76264)('toStringTag')] = 'z'), (s.exports = '[object z]' === String(u));
+ },
+ 90160: (s, o, i) => {
+ 'use strict';
+ var u = i(73948),
+ _ = String;
+ s.exports = function (s) {
+ if ('Symbol' === u(s)) throw new TypeError('Cannot convert a Symbol value to a string');
+ return _(s);
+ };
+ },
+ 4640: (s) => {
+ 'use strict';
+ var o = String;
+ s.exports = function (s) {
+ try {
+ return o(s);
+ } catch (s) {
+ return 'Object';
+ }
+ };
+ },
+ 6499: (s, o, i) => {
+ 'use strict';
+ var u = i(1907),
+ _ = 0,
+ w = Math.random(),
+ x = u((1).toString);
+ s.exports = function (s) {
+ return 'Symbol(' + (void 0 === s ? '' : s) + ')_' + x(++_ + w, 36);
+ };
+ },
+ 51175: (s, o, i) => {
+ 'use strict';
+ var u = i(19846);
+ s.exports = u && !Symbol.sham && 'symbol' == typeof Symbol.iterator;
+ },
+ 58661: (s, o, i) => {
+ 'use strict';
+ var u = i(39447),
+ _ = i(98828);
+ s.exports =
+ u &&
+ _(function () {
+ return (
+ 42 !==
+ Object.defineProperty(function () {}, 'prototype', { value: 42, writable: !1 })
+ .prototype
+ );
+ });
+ },
+ 40551: (s, o, i) => {
+ 'use strict';
+ var u = i(45951),
+ _ = i(62250),
+ w = u.WeakMap;
+ s.exports = _(w) && /native code/.test(String(w));
+ },
+ 76264: (s, o, i) => {
+ 'use strict';
+ var u = i(45951),
+ _ = i(85816),
+ w = i(49724),
+ x = i(6499),
+ C = i(19846),
+ j = i(51175),
+ L = u.Symbol,
+ B = _('wks'),
+ $ = j ? L.for || L : (L && L.withoutSetter) || x;
+ s.exports = function (s) {
+ return w(B, s) || (B[s] = C && w(L, s) ? L[s] : $('Symbol.' + s)), B[s];
+ };
+ },
+ 19358: (s, o, i) => {
+ 'use strict';
+ var u = i(85582),
+ _ = i(49724),
+ w = i(61626),
+ x = i(88280),
+ C = i(79192),
+ j = i(19595),
+ L = i(54829),
+ B = i(34084),
+ $ = i(32096),
+ V = i(39259),
+ U = i(85884),
+ z = i(39447),
+ Y = i(7376);
+ s.exports = function (s, o, i, Z) {
+ var ee = 'stackTraceLimit',
+ ie = Z ? 2 : 1,
+ ae = s.split('.'),
+ le = ae[ae.length - 1],
+ ce = u.apply(null, ae);
+ if (ce) {
+ var pe = ce.prototype;
+ if ((!Y && _(pe, 'cause') && delete pe.cause, !i)) return ce;
+ var de = u('Error'),
+ fe = o(function (s, o) {
+ var i = $(Z ? o : s, void 0),
+ u = Z ? new ce(s) : new ce();
+ return (
+ void 0 !== i && w(u, 'message', i),
+ U(u, fe, u.stack, 2),
+ this && x(pe, this) && B(u, this, fe),
+ arguments.length > ie && V(u, arguments[ie]),
+ u
+ );
+ });
+ if (
+ ((fe.prototype = pe),
+ 'Error' !== le
+ ? C
+ ? C(fe, de)
+ : j(fe, de, { name: !0 })
+ : z && ee in ce && (L(fe, ce, ee), L(fe, ce, 'prepareStackTrace')),
+ j(fe, ce),
+ !Y)
+ )
+ try {
+ pe.name !== le && w(pe, 'name', le), (pe.constructor = fe);
+ } catch (s) {}
+ return fe;
+ }
+ };
+ },
+ 36371: (s, o, i) => {
+ 'use strict';
+ var u = i(11091),
+ _ = i(85582),
+ w = i(76024),
+ x = i(98828),
+ C = i(19358),
+ j = 'AggregateError',
+ L = _(j),
+ B =
+ !x(function () {
+ return 1 !== L([1]).errors[0];
+ }) &&
+ x(function () {
+ return 7 !== L([1], j, { cause: 7 }).cause;
+ });
+ u(
+ { global: !0, constructor: !0, arity: 2, forced: B },
+ {
+ AggregateError: C(
+ j,
+ function (s) {
+ return function AggregateError(o, i) {
+ return w(s, this, arguments);
+ };
+ },
+ B,
+ !0
+ )
+ }
+ );
+ },
+ 82048: (s, o, i) => {
+ 'use strict';
+ var u = i(11091),
+ _ = i(88280),
+ w = i(15972),
+ x = i(79192),
+ C = i(19595),
+ j = i(58075),
+ L = i(61626),
+ B = i(75817),
+ $ = i(39259),
+ V = i(85884),
+ U = i(24823),
+ z = i(32096),
+ Y = i(76264)('toStringTag'),
+ Z = Error,
+ ee = [].push,
+ ie = function AggregateError(s, o) {
+ var i,
+ u = _(ae, this);
+ x ? (i = x(new Z(), u ? w(this) : ae)) : ((i = u ? this : j(ae)), L(i, Y, 'Error')),
+ void 0 !== o && L(i, 'message', z(o)),
+ V(i, ie, i.stack, 1),
+ arguments.length > 2 && $(i, arguments[2]);
+ var C = [];
+ return U(s, ee, { that: C }), L(i, 'errors', C), i;
+ };
+ x ? x(ie, Z) : C(ie, Z, { name: !0 });
+ var ae = (ie.prototype = j(Z.prototype, {
+ constructor: B(1, ie),
+ message: B(1, ''),
+ name: B(1, 'AggregateError')
+ }));
+ u({ global: !0, constructor: !0, arity: 2 }, { AggregateError: ie });
+ },
+ 64502: (s, o, i) => {
+ 'use strict';
+ i(82048);
+ },
+ 99363: (s, o, i) => {
+ 'use strict';
+ var u = i(4993),
+ _ = i(42156),
+ w = i(93742),
+ x = i(64932),
+ C = i(74284).f,
+ j = i(60183),
+ L = i(59550),
+ B = i(7376),
+ $ = i(39447),
+ V = 'Array Iterator',
+ U = x.set,
+ z = x.getterFor(V);
+ s.exports = j(
+ Array,
+ 'Array',
+ function (s, o) {
+ U(this, { type: V, target: u(s), index: 0, kind: o });
+ },
+ function () {
+ var s = z(this),
+ o = s.target,
+ i = s.index++;
+ if (!o || i >= o.length) return (s.target = null), L(void 0, !0);
+ switch (s.kind) {
+ case 'keys':
+ return L(i, !1);
+ case 'values':
+ return L(o[i], !1);
+ }
+ return L([i, o[i]], !1);
+ },
+ 'values'
+ );
+ var Y = (w.Arguments = w.Array);
+ if ((_('keys'), _('values'), _('entries'), !B && $ && 'values' !== Y.name))
+ try {
+ C(Y, 'name', { value: 'values' });
+ } catch (s) {}
+ },
+ 96605: (s, o, i) => {
+ 'use strict';
+ var u = i(11091),
+ _ = i(45951),
+ w = i(76024),
+ x = i(19358),
+ C = 'WebAssembly',
+ j = _[C],
+ L = 7 !== new Error('e', { cause: 7 }).cause,
+ exportGlobalErrorCauseWrapper = function (s, o) {
+ var i = {};
+ (i[s] = x(s, o, L)), u({ global: !0, constructor: !0, arity: 1, forced: L }, i);
+ },
+ exportWebAssemblyErrorCauseWrapper = function (s, o) {
+ if (j && j[s]) {
+ var i = {};
+ (i[s] = x(C + '.' + s, o, L)),
+ u({ target: C, stat: !0, constructor: !0, arity: 1, forced: L }, i);
+ }
+ };
+ exportGlobalErrorCauseWrapper('Error', function (s) {
+ return function Error(o) {
+ return w(s, this, arguments);
+ };
+ }),
+ exportGlobalErrorCauseWrapper('EvalError', function (s) {
+ return function EvalError(o) {
+ return w(s, this, arguments);
+ };
+ }),
+ exportGlobalErrorCauseWrapper('RangeError', function (s) {
+ return function RangeError(o) {
+ return w(s, this, arguments);
+ };
+ }),
+ exportGlobalErrorCauseWrapper('ReferenceError', function (s) {
+ return function ReferenceError(o) {
+ return w(s, this, arguments);
+ };
+ }),
+ exportGlobalErrorCauseWrapper('SyntaxError', function (s) {
+ return function SyntaxError(o) {
+ return w(s, this, arguments);
+ };
+ }),
+ exportGlobalErrorCauseWrapper('TypeError', function (s) {
+ return function TypeError(o) {
+ return w(s, this, arguments);
+ };
+ }),
+ exportGlobalErrorCauseWrapper('URIError', function (s) {
+ return function URIError(o) {
+ return w(s, this, arguments);
+ };
+ }),
+ exportWebAssemblyErrorCauseWrapper('CompileError', function (s) {
+ return function CompileError(o) {
+ return w(s, this, arguments);
+ };
+ }),
+ exportWebAssemblyErrorCauseWrapper('LinkError', function (s) {
+ return function LinkError(o) {
+ return w(s, this, arguments);
+ };
+ }),
+ exportWebAssemblyErrorCauseWrapper('RuntimeError', function (s) {
+ return function RuntimeError(o) {
+ return w(s, this, arguments);
+ };
+ });
+ },
+ 79307: (s, o, i) => {
+ 'use strict';
+ var u = i(11091),
+ _ = i(44673);
+ u({ target: 'Function', proto: !0, forced: Function.bind !== _ }, { bind: _ });
+ },
+ 71340: (s, o, i) => {
+ 'use strict';
+ var u = i(11091),
+ _ = i(29538);
+ u({ target: 'Object', stat: !0, arity: 2, forced: Object.assign !== _ }, { assign: _ });
+ },
+ 7057: (s, o, i) => {
+ 'use strict';
+ var u = i(11470).charAt,
+ _ = i(90160),
+ w = i(64932),
+ x = i(60183),
+ C = i(59550),
+ j = 'String Iterator',
+ L = w.set,
+ B = w.getterFor(j);
+ x(
+ String,
+ 'String',
+ function (s) {
+ L(this, { type: j, string: _(s), index: 0 });
+ },
+ function next() {
+ var s,
+ o = B(this),
+ i = o.string,
+ _ = o.index;
+ return _ >= i.length
+ ? C(void 0, !0)
+ : ((s = u(i, _)), (o.index += s.length), C(s, !1));
+ }
+ );
+ },
+ 91599: (s, o, i) => {
+ 'use strict';
+ i(64502);
+ },
+ 12560: (s, o, i) => {
+ 'use strict';
+ i(99363);
+ var u = i(19287),
+ _ = i(45951),
+ w = i(14840),
+ x = i(93742);
+ for (var C in u) w(_[C], C), (x[C] = x.Array);
+ },
+ 694: (s, o, i) => {
+ 'use strict';
+ i(91599);
+ var u = i(37257);
+ i(12560), (s.exports = u);
+ },
+ 19709: (s, o, i) => {
+ 'use strict';
+ var u = i(23034);
+ s.exports = u;
+ },
+ 40975: (s, o, i) => {
+ 'use strict';
+ var u = i(9748);
+ s.exports = u;
+ }
+ },
+ u = {};
+ function __webpack_require__(s) {
+ var o = u[s];
+ if (void 0 !== o) return o.exports;
+ var _ = (u[s] = { id: s, loaded: !1, exports: {} });
+ return i[s].call(_.exports, _, _.exports, __webpack_require__), (_.loaded = !0), _.exports;
+ }
+ (__webpack_require__.n = (s) => {
+ var o = s && s.__esModule ? () => s.default : () => s;
+ return __webpack_require__.d(o, { a: o }), o;
+ }),
+ (o = Object.getPrototypeOf ? (s) => Object.getPrototypeOf(s) : (s) => s.__proto__),
+ (__webpack_require__.t = function (i, u) {
+ if ((1 & u && (i = this(i)), 8 & u)) return i;
+ if ('object' == typeof i && i) {
+ if (4 & u && i.__esModule) return i;
+ if (16 & u && 'function' == typeof i.then) return i;
+ }
+ var _ = Object.create(null);
+ __webpack_require__.r(_);
+ var w = {};
+ s = s || [null, o({}), o([]), o(o)];
+ for (var x = 2 & u && i; 'object' == typeof x && !~s.indexOf(x); x = o(x))
+ Object.getOwnPropertyNames(x).forEach((s) => (w[s] = () => i[s]));
+ return (w.default = () => i), __webpack_require__.d(_, w), _;
+ }),
+ (__webpack_require__.d = (s, o) => {
+ for (var i in o)
+ __webpack_require__.o(o, i) &&
+ !__webpack_require__.o(s, i) &&
+ Object.defineProperty(s, i, { enumerable: !0, get: o[i] });
+ }),
+ (__webpack_require__.g = (function () {
+ if ('object' == typeof globalThis) return globalThis;
+ try {
+ return this || new Function('return this')();
+ } catch (s) {
+ if ('object' == typeof window) return window;
+ }
+ })()),
+ (__webpack_require__.o = (s, o) => Object.prototype.hasOwnProperty.call(s, o)),
+ (__webpack_require__.r = (s) => {
+ 'undefined' != typeof Symbol &&
+ Symbol.toStringTag &&
+ Object.defineProperty(s, Symbol.toStringTag, { value: 'Module' }),
+ Object.defineProperty(s, '__esModule', { value: !0 });
+ }),
+ (__webpack_require__.nmd = (s) => ((s.paths = []), s.children || (s.children = []), s));
+ var _ = {};
+ return (
+ (() => {
+ 'use strict';
+ __webpack_require__.d(_, { default: () => WI });
+ var s = {};
+ __webpack_require__.r(s),
+ __webpack_require__.d(s, {
+ CLEAR: () => ot,
+ CLEAR_BY: () => it,
+ NEW_AUTH_ERR: () => st,
+ NEW_SPEC_ERR: () => rt,
+ NEW_SPEC_ERR_BATCH: () => nt,
+ NEW_THROWN_ERR: () => et,
+ NEW_THROWN_ERR_BATCH: () => tt,
+ clear: () => clear,
+ clearBy: () => clearBy,
+ newAuthErr: () => newAuthErr,
+ newSpecErr: () => newSpecErr,
+ newSpecErrBatch: () => newSpecErrBatch,
+ newThrownErr: () => newThrownErr,
+ newThrownErrBatch: () => newThrownErrBatch
+ });
+ var o = {};
+ __webpack_require__.r(o),
+ __webpack_require__.d(o, {
+ AUTHORIZE: () => Nt,
+ AUTHORIZE_OAUTH2: () => Lt,
+ CONFIGURE_AUTH: () => Ft,
+ LOGOUT: () => Rt,
+ PRE_AUTHORIZE_OAUTH2: () => Dt,
+ RESTORE_AUTHORIZATION: () => qt,
+ SHOW_AUTH_POPUP: () => Tt,
+ VALIDATE: () => Bt,
+ authPopup: () => authPopup,
+ authorize: () => authorize,
+ authorizeAccessCodeWithBasicAuthentication: () =>
+ authorizeAccessCodeWithBasicAuthentication,
+ authorizeAccessCodeWithFormParams: () => authorizeAccessCodeWithFormParams,
+ authorizeApplication: () => authorizeApplication,
+ authorizeOauth2: () => authorizeOauth2,
+ authorizeOauth2WithPersistOption: () => authorizeOauth2WithPersistOption,
+ authorizePassword: () => authorizePassword,
+ authorizeRequest: () => authorizeRequest,
+ authorizeWithPersistOption: () => authorizeWithPersistOption,
+ configureAuth: () => configureAuth,
+ logout: () => logout,
+ logoutWithPersistOption: () => logoutWithPersistOption,
+ persistAuthorizationIfNeeded: () => persistAuthorizationIfNeeded,
+ preAuthorizeImplicit: () => preAuthorizeImplicit,
+ restoreAuthorization: () => restoreAuthorization,
+ showDefinitions: () => showDefinitions
+ });
+ var i = {};
+ __webpack_require__.r(i),
+ __webpack_require__.d(i, {
+ authorized: () => Ht,
+ definitionsForRequirements: () => definitionsForRequirements,
+ definitionsToAuthorize: () => Kt,
+ getConfigs: () => Jt,
+ getDefinitionsByNames: () => getDefinitionsByNames,
+ isAuthorized: () => isAuthorized,
+ shownDefinitions: () => Wt
+ });
+ var u = {};
+ __webpack_require__.r(u),
+ __webpack_require__.d(u, {
+ TOGGLE_CONFIGS: () => yn,
+ UPDATE_CONFIGS: () => gn,
+ downloadConfig: () => downloadConfig,
+ getConfigByUrl: () => getConfigByUrl,
+ loaded: () => actions_loaded,
+ toggle: () => toggle,
+ update: () => update
+ });
+ var w = {};
+ __webpack_require__.r(w), __webpack_require__.d(w, { get: () => get });
+ var x = {};
+ __webpack_require__.r(x), __webpack_require__.d(x, { transform: () => transform });
+ var C = {};
+ __webpack_require__.r(C),
+ __webpack_require__.d(C, { transform: () => parameter_oneof_transform });
+ var j = {};
+ __webpack_require__.r(j),
+ __webpack_require__.d(j, { allErrors: () => Mn, lastError: () => Tn });
+ var L = {};
+ __webpack_require__.r(L),
+ __webpack_require__.d(L, {
+ SHOW: () => Fn,
+ UPDATE_FILTER: () => Ln,
+ UPDATE_LAYOUT: () => Dn,
+ UPDATE_MODE: () => Bn,
+ changeMode: () => changeMode,
+ show: () => actions_show,
+ updateFilter: () => updateFilter,
+ updateLayout: () => updateLayout
+ });
+ var B = {};
+ __webpack_require__.r(B),
+ __webpack_require__.d(B, {
+ current: () => current,
+ currentFilter: () => currentFilter,
+ isShown: () => isShown,
+ showSummary: () => $n,
+ whatMode: () => whatMode
+ });
+ var $ = {};
+ __webpack_require__.r($),
+ __webpack_require__.d($, { taggedOperations: () => taggedOperations });
+ var V = {};
+ __webpack_require__.r(V),
+ __webpack_require__.d(V, {
+ requestSnippetGenerator_curl_bash: () => requestSnippetGenerator_curl_bash,
+ requestSnippetGenerator_curl_cmd: () => requestSnippetGenerator_curl_cmd,
+ requestSnippetGenerator_curl_powershell: () => requestSnippetGenerator_curl_powershell
+ });
+ var U = {};
+ __webpack_require__.r(U),
+ __webpack_require__.d(U, {
+ getActiveLanguage: () => zn,
+ getDefaultExpanded: () => Wn,
+ getGenerators: () => Un,
+ getSnippetGenerators: () => getSnippetGenerators
+ });
+ var z = {};
+ __webpack_require__.r(z),
+ __webpack_require__.d(z, {
+ JsonSchemaArrayItemFile: () => JsonSchemaArrayItemFile,
+ JsonSchemaArrayItemText: () => JsonSchemaArrayItemText,
+ JsonSchemaForm: () => JsonSchemaForm,
+ JsonSchema_array: () => JsonSchema_array,
+ JsonSchema_boolean: () => JsonSchema_boolean,
+ JsonSchema_object: () => JsonSchema_object,
+ JsonSchema_string: () => JsonSchema_string
+ });
+ var Y = {};
+ __webpack_require__.r(Y),
+ __webpack_require__.d(Y, {
+ allowTryItOutFor: () => allowTryItOutFor,
+ basePath: () => Ks,
+ canExecuteScheme: () => canExecuteScheme,
+ consumes: () => $s,
+ consumesOptionsFor: () => consumesOptionsFor,
+ contentTypeValues: () => contentTypeValues,
+ currentProducesFor: () => currentProducesFor,
+ definitions: () => Ws,
+ externalDocs: () => Rs,
+ findDefinition: () => findDefinition,
+ getOAS3RequiredRequestBodyContentType: () => getOAS3RequiredRequestBodyContentType,
+ getParameter: () => getParameter,
+ hasHost: () => to,
+ host: () => Hs,
+ info: () => Ns,
+ isMediaTypeSchemaPropertiesEqual: () => isMediaTypeSchemaPropertiesEqual,
+ isOAS3: () => Ts,
+ lastError: () => ks,
+ mutatedRequestFor: () => mutatedRequestFor,
+ mutatedRequests: () => eo,
+ operationScheme: () => operationScheme,
+ operationWithMeta: () => operationWithMeta,
+ operations: () => qs,
+ operationsWithRootInherited: () => Gs,
+ operationsWithTags: () => Xs,
+ parameterInclusionSettingFor: () => parameterInclusionSettingFor,
+ parameterValues: () => parameterValues,
+ parameterWithMeta: () => parameterWithMeta,
+ parameterWithMetaByIdentity: () => parameterWithMetaByIdentity,
+ parametersIncludeIn: () => parametersIncludeIn,
+ parametersIncludeType: () => parametersIncludeType,
+ paths: () => Bs,
+ produces: () => Vs,
+ producesOptionsFor: () => producesOptionsFor,
+ requestFor: () => requestFor,
+ requests: () => Qs,
+ responseFor: () => responseFor,
+ responses: () => Zs,
+ schemes: () => Js,
+ security: () => Us,
+ securityDefinitions: () => zs,
+ semver: () => Ls,
+ spec: () => spec,
+ specJS: () => Is,
+ specJson: () => js,
+ specJsonWithResolvedSubtrees: () => Ms,
+ specResolved: () => Ps,
+ specResolvedSubtree: () => specResolvedSubtree,
+ specSource: () => As,
+ specStr: () => Os,
+ tagDetails: () => tagDetails,
+ taggedOperations: () => selectors_taggedOperations,
+ tags: () => Ys,
+ url: () => Cs,
+ validOperationMethods: () => Fs,
+ validateBeforeExecute: () => validateBeforeExecute,
+ validationErrors: () => validationErrors,
+ version: () => Ds
+ });
+ var Z = {};
+ __webpack_require__.r(Z),
+ __webpack_require__.d(Z, {
+ CLEAR_REQUEST: () => wo,
+ CLEAR_RESPONSE: () => Eo,
+ CLEAR_VALIDATE_PARAMS: () => So,
+ LOG_REQUEST: () => _o,
+ SET_MUTATED_REQUEST: () => bo,
+ SET_REQUEST: () => vo,
+ SET_RESPONSE: () => yo,
+ SET_SCHEME: () => Oo,
+ UPDATE_EMPTY_PARAM_INCLUSION: () => mo,
+ UPDATE_JSON: () => ho,
+ UPDATE_OPERATION_META_VALUE: () => xo,
+ UPDATE_PARAM: () => fo,
+ UPDATE_RESOLVED: () => ko,
+ UPDATE_RESOLVED_SUBTREE: () => Co,
+ UPDATE_SPEC: () => uo,
+ UPDATE_URL: () => po,
+ VALIDATE_PARAMS: () => go,
+ changeConsumesValue: () => changeConsumesValue,
+ changeParam: () => changeParam,
+ changeParamByIdentity: () => changeParamByIdentity,
+ changeProducesValue: () => changeProducesValue,
+ clearRequest: () => clearRequest,
+ clearResponse: () => clearResponse,
+ clearValidateParams: () => clearValidateParams,
+ execute: () => actions_execute,
+ executeRequest: () => executeRequest,
+ invalidateResolvedSubtreeCache: () => invalidateResolvedSubtreeCache,
+ logRequest: () => logRequest,
+ parseToJson: () => parseToJson,
+ requestResolvedSubtree: () => requestResolvedSubtree,
+ resolveSpec: () => resolveSpec,
+ setMutatedRequest: () => setMutatedRequest,
+ setRequest: () => setRequest,
+ setResponse: () => setResponse,
+ setScheme: () => setScheme,
+ updateEmptyParamInclusion: () => updateEmptyParamInclusion,
+ updateJsonSpec: () => updateJsonSpec,
+ updateResolved: () => updateResolved,
+ updateResolvedSubtree: () => updateResolvedSubtree,
+ updateSpec: () => updateSpec,
+ updateUrl: () => updateUrl,
+ validateParams: () => validateParams
+ });
+ var ee = {};
+ __webpack_require__.r(ee),
+ __webpack_require__.d(ee, {
+ executeRequest: () => wrap_actions_executeRequest,
+ updateJsonSpec: () => wrap_actions_updateJsonSpec,
+ updateSpec: () => wrap_actions_updateSpec,
+ validateParams: () => wrap_actions_validateParams
+ });
+ var ie = {};
+ __webpack_require__.r(ie),
+ __webpack_require__.d(ie, {
+ JsonPatchError: () => Ro,
+ _areEquals: () => _areEquals,
+ applyOperation: () => applyOperation,
+ applyPatch: () => applyPatch,
+ applyReducer: () => applyReducer,
+ deepClone: () => Do,
+ getValueByPointer: () => getValueByPointer,
+ validate: () => validate,
+ validator: () => validator
+ });
+ var ae = {};
+ __webpack_require__.r(ae),
+ __webpack_require__.d(ae, {
+ compare: () => compare,
+ generate: () => generate,
+ observe: () => observe,
+ unobserve: () => unobserve
+ });
+ var le = {};
+ __webpack_require__.r(le),
+ __webpack_require__.d(le, {
+ hasElementSourceMap: () => hasElementSourceMap,
+ includesClasses: () => includesClasses,
+ includesSymbols: () => includesSymbols,
+ isAnnotationElement: () => zu,
+ isArrayElement: () => qu,
+ isBooleanElement: () => Bu,
+ isCommentElement: () => Wu,
+ isElement: () => Nu,
+ isLinkElement: () => Vu,
+ isMemberElement: () => $u,
+ isNullElement: () => Lu,
+ isNumberElement: () => Du,
+ isObjectElement: () => Fu,
+ isParseResultElement: () => Ku,
+ isPrimitiveElement: () => isPrimitiveElement,
+ isRefElement: () => Uu,
+ isSourceMapElement: () => Hu,
+ isStringElement: () => Ru
+ });
+ var ce = {};
+ __webpack_require__.r(ce),
+ __webpack_require__.d(ce, {
+ isJSONReferenceElement: () => Nf,
+ isJSONSchemaElement: () => Tf,
+ isLinkDescriptionElement: () => Df,
+ isMediaElement: () => Rf
+ });
+ var pe = {};
+ __webpack_require__.r(pe),
+ __webpack_require__.d(pe, {
+ isBooleanJsonSchemaElement: () => isBooleanJsonSchemaElement,
+ isCallbackElement: () => Im,
+ isComponentsElement: () => Pm,
+ isContactElement: () => Mm,
+ isExampleElement: () => Tm,
+ isExternalDocumentationElement: () => Nm,
+ isHeaderElement: () => Rm,
+ isInfoElement: () => Dm,
+ isLicenseElement: () => Lm,
+ isLinkElement: () => Bm,
+ isMediaTypeElement: () => eg,
+ isOpenApi3_0Element: () => qm,
+ isOpenapiElement: () => Fm,
+ isOperationElement: () => $m,
+ isParameterElement: () => Vm,
+ isPathItemElement: () => Um,
+ isPathsElement: () => zm,
+ isReferenceElement: () => Wm,
+ isRequestBodyElement: () => Km,
+ isResponseElement: () => Hm,
+ isResponsesElement: () => Jm,
+ isSchemaElement: () => Gm,
+ isSecurityRequirementElement: () => Ym,
+ isSecuritySchemeElement: () => Xm,
+ isServerElement: () => Zm,
+ isServerVariableElement: () => Qm,
+ isServersElement: () => rg
+ });
+ var de = {};
+ __webpack_require__.r(de),
+ __webpack_require__.d(de, {
+ isBooleanJsonSchemaElement: () => predicates_isBooleanJsonSchemaElement,
+ isCallbackElement: () => T_,
+ isComponentsElement: () => N_,
+ isContactElement: () => R_,
+ isExampleElement: () => D_,
+ isExternalDocumentationElement: () => L_,
+ isHeaderElement: () => B_,
+ isInfoElement: () => F_,
+ isJsonSchemaDialectElement: () => q_,
+ isLicenseElement: () => $_,
+ isLinkElement: () => V_,
+ isMediaTypeElement: () => sE,
+ isOpenApi3_1Element: () => z_,
+ isOpenapiElement: () => U_,
+ isOperationElement: () => W_,
+ isParameterElement: () => K_,
+ isPathItemElement: () => H_,
+ isPathItemElementExternal: () => isPathItemElementExternal,
+ isPathsElement: () => J_,
+ isReferenceElement: () => G_,
+ isReferenceElementExternal: () => isReferenceElementExternal,
+ isRequestBodyElement: () => Y_,
+ isResponseElement: () => X_,
+ isResponsesElement: () => Z_,
+ isSchemaElement: () => Q_,
+ isSecurityRequirementElement: () => eE,
+ isSecuritySchemeElement: () => tE,
+ isServerElement: () => rE,
+ isServerVariableElement: () => nE
+ });
+ var fe = {};
+ __webpack_require__.r(fe),
+ __webpack_require__.d(fe, {
+ cookie: () => parameter_builders_cookie,
+ header: () => parameter_builders_header,
+ path: () => parameter_builders_path,
+ query: () => parameter_builders_query
+ });
+ var ye = {};
+ __webpack_require__.r(ye),
+ __webpack_require__.d(ye, {
+ Button: () => Button,
+ Col: () => Col,
+ Collapse: () => Collapse,
+ Container: () => Container,
+ Input: () => Input,
+ Link: () => layout_utils_Link,
+ Row: () => Row,
+ Select: () => Select,
+ TextArea: () => TextArea
+ });
+ var be = {};
+ __webpack_require__.r(be),
+ __webpack_require__.d(be, {
+ basePath: () => KO,
+ consumes: () => HO,
+ definitions: () => VO,
+ findDefinition: () => $O,
+ hasHost: () => UO,
+ host: () => WO,
+ produces: () => JO,
+ schemes: () => GO,
+ securityDefinitions: () => zO,
+ validOperationMethods: () => wrap_selectors_validOperationMethods
+ });
+ var _e = {};
+ __webpack_require__.r(_e), __webpack_require__.d(_e, { definitionsToAuthorize: () => YO });
+ var we = {};
+ __webpack_require__.r(we),
+ __webpack_require__.d(we, {
+ callbacksOperations: () => QO,
+ findSchema: () => findSchema,
+ isOAS3: () => selectors_isOAS3,
+ isOAS30: () => selectors_isOAS30,
+ isSwagger2: () => selectors_isSwagger2,
+ servers: () => ZO
+ });
+ var Se = {};
+ __webpack_require__.r(Se),
+ __webpack_require__.d(Se, {
+ CLEAR_REQUEST_BODY_VALIDATE_ERROR: () => bA,
+ CLEAR_REQUEST_BODY_VALUE: () => _A,
+ SET_REQUEST_BODY_VALIDATE_ERROR: () => vA,
+ UPDATE_ACTIVE_EXAMPLES_MEMBER: () => fA,
+ UPDATE_REQUEST_BODY_INCLUSION: () => dA,
+ UPDATE_REQUEST_BODY_VALUE: () => pA,
+ UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG: () => hA,
+ UPDATE_REQUEST_CONTENT_TYPE: () => mA,
+ UPDATE_RESPONSE_CONTENT_TYPE: () => gA,
+ UPDATE_SELECTED_SERVER: () => uA,
+ UPDATE_SERVER_VARIABLE_VALUE: () => yA,
+ clearRequestBodyValidateError: () => clearRequestBodyValidateError,
+ clearRequestBodyValue: () => clearRequestBodyValue,
+ initRequestBodyValidateError: () => initRequestBodyValidateError,
+ setActiveExamplesMember: () => setActiveExamplesMember,
+ setRequestBodyInclusion: () => setRequestBodyInclusion,
+ setRequestBodyValidateError: () => setRequestBodyValidateError,
+ setRequestBodyValue: () => setRequestBodyValue,
+ setRequestContentType: () => setRequestContentType,
+ setResponseContentType: () => setResponseContentType,
+ setRetainRequestBodyValueFlag: () => setRetainRequestBodyValueFlag,
+ setSelectedServer: () => setSelectedServer,
+ setServerVariableValue: () => setServerVariableValue
+ });
+ var xe = {};
+ __webpack_require__.r(xe),
+ __webpack_require__.d(xe, {
+ activeExamplesMember: () => jA,
+ hasUserEditedBody: () => CA,
+ requestBodyErrors: () => AA,
+ requestBodyInclusionSetting: () => OA,
+ requestBodyValue: () => xA,
+ requestContentType: () => IA,
+ responseContentType: () => PA,
+ selectDefaultRequestBodyValue: () => selectDefaultRequestBodyValue,
+ selectedServer: () => SA,
+ serverEffectiveValue: () => NA,
+ serverVariableValue: () => MA,
+ serverVariables: () => TA,
+ shouldRetainRequestBodyValue: () => kA,
+ validOperationMethods: () => DA,
+ validateBeforeExecute: () => RA,
+ validateShallowRequired: () => validateShallowRequired
+ });
+ var Pe = __webpack_require__(96540);
+ function formatProdErrorMessage(s) {
+ return `Minified Redux error #${s}; visit https://redux.js.org/Errors?code=${s} for the full message or use the non-minified dev environment for full errors. `;
+ }
+ var Te = (() => ('function' == typeof Symbol && Symbol.observable) || '@@observable')(),
+ randomString = () => Math.random().toString(36).substring(7).split('').join('.'),
+ Re = {
+ INIT: `@@redux/INIT${randomString()}`,
+ REPLACE: `@@redux/REPLACE${randomString()}`,
+ PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${randomString()}`
+ };
+ function isPlainObject(s) {
+ if ('object' != typeof s || null === s) return !1;
+ let o = s;
+ for (; null !== Object.getPrototypeOf(o); ) o = Object.getPrototypeOf(o);
+ return Object.getPrototypeOf(s) === o || null === Object.getPrototypeOf(s);
+ }
+ function createStore(s, o, i) {
+ if ('function' != typeof s) throw new Error(formatProdErrorMessage(2));
+ if (
+ ('function' == typeof o && 'function' == typeof i) ||
+ ('function' == typeof i && 'function' == typeof arguments[3])
+ )
+ throw new Error(formatProdErrorMessage(0));
+ if (('function' == typeof o && void 0 === i && ((i = o), (o = void 0)), void 0 !== i)) {
+ if ('function' != typeof i) throw new Error(formatProdErrorMessage(1));
+ return i(createStore)(s, o);
+ }
+ let u = s,
+ _ = o,
+ w = new Map(),
+ x = w,
+ C = 0,
+ j = !1;
+ function ensureCanMutateNextListeners() {
+ x === w &&
+ ((x = new Map()),
+ w.forEach((s, o) => {
+ x.set(o, s);
+ }));
+ }
+ function getState() {
+ if (j) throw new Error(formatProdErrorMessage(3));
+ return _;
+ }
+ function subscribe(s) {
+ if ('function' != typeof s) throw new Error(formatProdErrorMessage(4));
+ if (j) throw new Error(formatProdErrorMessage(5));
+ let o = !0;
+ ensureCanMutateNextListeners();
+ const i = C++;
+ return (
+ x.set(i, s),
+ function unsubscribe() {
+ if (o) {
+ if (j) throw new Error(formatProdErrorMessage(6));
+ (o = !1), ensureCanMutateNextListeners(), x.delete(i), (w = null);
+ }
+ }
+ );
+ }
+ function dispatch(s) {
+ if (!isPlainObject(s)) throw new Error(formatProdErrorMessage(7));
+ if (void 0 === s.type) throw new Error(formatProdErrorMessage(8));
+ if ('string' != typeof s.type) throw new Error(formatProdErrorMessage(17));
+ if (j) throw new Error(formatProdErrorMessage(9));
+ try {
+ (j = !0), (_ = u(_, s));
+ } finally {
+ j = !1;
+ }
+ return (
+ (w = x).forEach((s) => {
+ s();
+ }),
+ s
+ );
+ }
+ dispatch({ type: Re.INIT });
+ return {
+ dispatch,
+ subscribe,
+ getState,
+ replaceReducer: function replaceReducer(s) {
+ if ('function' != typeof s) throw new Error(formatProdErrorMessage(10));
+ (u = s), dispatch({ type: Re.REPLACE });
+ },
+ [Te]: function observable() {
+ const s = subscribe;
+ return {
+ subscribe(o) {
+ if ('object' != typeof o || null === o)
+ throw new Error(formatProdErrorMessage(11));
+ function observeState() {
+ const s = o;
+ s.next && s.next(getState());
+ }
+ observeState();
+ return { unsubscribe: s(observeState) };
+ },
+ [Te]() {
+ return this;
+ }
+ };
+ }
+ };
+ }
+ function bindActionCreator(s, o) {
+ return function (...i) {
+ return o(s.apply(this, i));
+ };
+ }
+ function compose(...s) {
+ return 0 === s.length
+ ? (s) => s
+ : 1 === s.length
+ ? s[0]
+ : s.reduce(
+ (s, o) =>
+ (...i) =>
+ s(o(...i))
+ );
+ }
+ var qe = __webpack_require__(9404),
+ $e = __webpack_require__.n(qe),
+ ze = __webpack_require__(81919),
+ We = __webpack_require__.n(ze),
+ He = __webpack_require__(89593),
+ Ye = __webpack_require__(20334),
+ Xe = __webpack_require__(55364),
+ Qe = __webpack_require__.n(Xe);
+ const et = 'err_new_thrown_err',
+ tt = 'err_new_thrown_err_batch',
+ rt = 'err_new_spec_err',
+ nt = 'err_new_spec_err_batch',
+ st = 'err_new_auth_err',
+ ot = 'err_clear',
+ it = 'err_clear_by';
+ function newThrownErr(s) {
+ return { type: et, payload: (0, Ye.serializeError)(s) };
+ }
+ function newThrownErrBatch(s) {
+ return { type: tt, payload: s };
+ }
+ function newSpecErr(s) {
+ return { type: rt, payload: s };
+ }
+ function newSpecErrBatch(s) {
+ return { type: nt, payload: s };
+ }
+ function newAuthErr(s) {
+ return { type: st, payload: s };
+ }
+ function clear(s = {}) {
+ return { type: ot, payload: s };
+ }
+ function clearBy(s = () => !0) {
+ return { type: it, payload: s };
+ }
+ const at = (function makeWindow() {
+ var s = {
+ location: {},
+ history: {},
+ open: () => {},
+ close: () => {},
+ File: function () {},
+ FormData: function () {}
+ };
+ if ('undefined' == typeof window) return s;
+ try {
+ s = window;
+ for (var o of ['File', 'Blob', 'FormData']) o in window && (s[o] = window[o]);
+ } catch (s) {
+ console.error(s);
+ }
+ return s;
+ })();
+ var lt = __webpack_require__(16750),
+ ct = (__webpack_require__(84058), __webpack_require__(55808), __webpack_require__(50104)),
+ ut = __webpack_require__.n(ct),
+ pt = __webpack_require__(7309),
+ ht = __webpack_require__.n(pt),
+ dt = __webpack_require__(42426),
+ mt = __webpack_require__.n(dt),
+ gt = __webpack_require__(75288),
+ yt = __webpack_require__.n(gt),
+ vt = __webpack_require__(1882),
+ bt = __webpack_require__.n(vt),
+ _t = __webpack_require__(2205),
+ Et = __webpack_require__.n(_t),
+ wt = __webpack_require__(53209),
+ St = __webpack_require__.n(wt),
+ xt = __webpack_require__(62802),
+ kt = __webpack_require__.n(xt);
+ const Ct = $e().Set.of(
+ 'type',
+ 'format',
+ 'items',
+ 'default',
+ 'maximum',
+ 'exclusiveMaximum',
+ 'minimum',
+ 'exclusiveMinimum',
+ 'maxLength',
+ 'minLength',
+ 'pattern',
+ 'maxItems',
+ 'minItems',
+ 'uniqueItems',
+ 'enum',
+ 'multipleOf'
+ );
+ function getParameterSchema(s, { isOAS3: o } = {}) {
+ if (!$e().Map.isMap(s)) return { schema: $e().Map(), parameterContentMediaType: null };
+ if (!o)
+ return 'body' === s.get('in')
+ ? { schema: s.get('schema', $e().Map()), parameterContentMediaType: null }
+ : { schema: s.filter((s, o) => Ct.includes(o)), parameterContentMediaType: null };
+ if (s.get('content')) {
+ const o = s.get('content', $e().Map({})).keySeq().first();
+ return {
+ schema: s.getIn(['content', o, 'schema'], $e().Map()),
+ parameterContentMediaType: o
+ };
+ }
+ return {
+ schema: s.get('schema') ? s.get('schema', $e().Map()) : $e().Map(),
+ parameterContentMediaType: null
+ };
+ }
+ var Ot = __webpack_require__(48287).Buffer;
+ const At = 'default',
+ isImmutable = (s) => $e().Iterable.isIterable(s);
+ function objectify(s) {
+ return isObject(s) ? (isImmutable(s) ? s.toJS() : s) : {};
+ }
+ function fromJSOrdered(s) {
+ if (isImmutable(s)) return s;
+ if (s instanceof at.File) return s;
+ if (!isObject(s)) return s;
+ if (Array.isArray(s)) return $e().Seq(s).map(fromJSOrdered).toList();
+ if (bt()(s.entries)) {
+ const o = (function createObjWithHashedKeys(s) {
+ if (!bt()(s.entries)) return s;
+ const o = {},
+ i = '_**[]',
+ u = {};
+ for (let _ of s.entries())
+ if (o[_[0]] || (u[_[0]] && u[_[0]].containsMultiple)) {
+ if (!u[_[0]]) {
+ (u[_[0]] = { containsMultiple: !0, length: 1 }),
+ (o[`${_[0]}${i}${u[_[0]].length}`] = o[_[0]]),
+ delete o[_[0]];
+ }
+ (u[_[0]].length += 1), (o[`${_[0]}${i}${u[_[0]].length}`] = _[1]);
+ } else o[_[0]] = _[1];
+ return o;
+ })(s);
+ return $e().OrderedMap(o).map(fromJSOrdered);
+ }
+ return $e().OrderedMap(s).map(fromJSOrdered);
+ }
+ function normalizeArray(s) {
+ return Array.isArray(s) ? s : [s];
+ }
+ function isFn(s) {
+ return 'function' == typeof s;
+ }
+ function isObject(s) {
+ return !!s && 'object' == typeof s;
+ }
+ function isFunc(s) {
+ return 'function' == typeof s;
+ }
+ function isArray(s) {
+ return Array.isArray(s);
+ }
+ const jt = ut();
+ function objMap(s, o) {
+ return Object.keys(s).reduce((i, u) => ((i[u] = o(s[u], u)), i), {});
+ }
+ function objReduce(s, o) {
+ return Object.keys(s).reduce((i, u) => {
+ let _ = o(s[u], u);
+ return _ && 'object' == typeof _ && Object.assign(i, _), i;
+ }, {});
+ }
+ function systemThunkMiddleware(s) {
+ return ({ dispatch: o, getState: i }) =>
+ (o) =>
+ (i) =>
+ 'function' == typeof i ? i(s()) : o(i);
+ }
+ function validateValueBySchema(s, o, i, u, _) {
+ if (!o) return [];
+ let w = [],
+ x = o.get('nullable'),
+ C = o.get('required'),
+ j = o.get('maximum'),
+ L = o.get('minimum'),
+ B = o.get('type'),
+ $ = o.get('format'),
+ V = o.get('maxLength'),
+ U = o.get('minLength'),
+ z = o.get('uniqueItems'),
+ Y = o.get('maxItems'),
+ Z = o.get('minItems'),
+ ee = o.get('pattern');
+ const ie = i || !0 === C,
+ ae = null != s,
+ le = ie || (ae && 'array' === B) || !(!ie && !ae),
+ ce = x && null === s;
+ if (ie && !ae && !ce && !u && !B) return w.push('Required field is not provided'), w;
+ if (ce || !B || !le) return [];
+ let pe = 'string' === B && s,
+ de = 'array' === B && Array.isArray(s) && s.length,
+ fe = 'array' === B && $e().List.isList(s) && s.count();
+ const ye = [
+ pe,
+ de,
+ fe,
+ 'array' === B && 'string' == typeof s && s,
+ 'file' === B && s instanceof at.File,
+ 'boolean' === B && (s || !1 === s),
+ 'number' === B && (s || 0 === s),
+ 'integer' === B && (s || 0 === s),
+ 'object' === B && 'object' == typeof s && null !== s,
+ 'object' === B && 'string' == typeof s && s
+ ].some((s) => !!s);
+ if (ie && !ye && !u) return w.push('Required field is not provided'), w;
+ if ('object' === B && (null === _ || 'application/json' === _)) {
+ let i = s;
+ if ('string' == typeof s)
+ try {
+ i = JSON.parse(s);
+ } catch (s) {
+ return w.push('Parameter string value must be valid JSON'), w;
+ }
+ o &&
+ o.has('required') &&
+ isFunc(C.isList) &&
+ C.isList() &&
+ C.forEach((s) => {
+ void 0 === i[s] && w.push({ propKey: s, error: 'Required property not found' });
+ }),
+ o &&
+ o.has('properties') &&
+ o.get('properties').forEach((s, o) => {
+ const x = validateValueBySchema(i[o], s, !1, u, _);
+ w.push(...x.map((s) => ({ propKey: o, error: s })));
+ });
+ }
+ if (ee) {
+ let o = ((s, o) => {
+ if (!new RegExp(o).test(s)) return 'Value must follow pattern ' + o;
+ })(s, ee);
+ o && w.push(o);
+ }
+ if (Z && 'array' === B) {
+ let o = ((s, o) => {
+ if ((!s && o >= 1) || (s && s.length < o))
+ return `Array must contain at least ${o} item${1 === o ? '' : 's'}`;
+ })(s, Z);
+ o && w.push(o);
+ }
+ if (Y && 'array' === B) {
+ let o = ((s, o) => {
+ if (s && s.length > o)
+ return `Array must not contain more then ${o} item${1 === o ? '' : 's'}`;
+ })(s, Y);
+ o && w.push({ needRemove: !0, error: o });
+ }
+ if (z && 'array' === B) {
+ let o = ((s, o) => {
+ if (s && ('true' === o || !0 === o)) {
+ const o = (0, qe.fromJS)(s),
+ i = o.toSet();
+ if (s.length > i.size) {
+ let s = (0, qe.Set)();
+ if (
+ (o.forEach((i, u) => {
+ o.filter((s) => (isFunc(s.equals) ? s.equals(i) : s === i)).size > 1 &&
+ (s = s.add(u));
+ }),
+ 0 !== s.size)
+ )
+ return s.map((s) => ({ index: s, error: 'No duplicates allowed.' })).toArray();
+ }
+ }
+ })(s, z);
+ o && w.push(...o);
+ }
+ if (V || 0 === V) {
+ let o = ((s, o) => {
+ if (s.length > o)
+ return `Value must be no longer than ${o} character${1 !== o ? 's' : ''}`;
+ })(s, V);
+ o && w.push(o);
+ }
+ if (U) {
+ let o = ((s, o) => {
+ if (s.length < o) return `Value must be at least ${o} character${1 !== o ? 's' : ''}`;
+ })(s, U);
+ o && w.push(o);
+ }
+ if (j || 0 === j) {
+ let o = ((s, o) => {
+ if (s > o) return `Value must be less than ${o}`;
+ })(s, j);
+ o && w.push(o);
+ }
+ if (L || 0 === L) {
+ let o = ((s, o) => {
+ if (s < o) return `Value must be greater than ${o}`;
+ })(s, L);
+ o && w.push(o);
+ }
+ if ('string' === B) {
+ let o;
+ if (
+ ((o =
+ 'date-time' === $
+ ? ((s) => {
+ if (isNaN(Date.parse(s))) return 'Value must be a DateTime';
+ })(s)
+ : 'uuid' === $
+ ? ((s) => {
+ if (
+ ((s = s.toString().toLowerCase()),
+ !/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(
+ s
+ ))
+ )
+ return 'Value must be a Guid';
+ })(s)
+ : ((s) => {
+ if (s && 'string' != typeof s) return 'Value must be a string';
+ })(s)),
+ !o)
+ )
+ return w;
+ w.push(o);
+ } else if ('boolean' === B) {
+ let o = ((s) => {
+ if ('true' !== s && 'false' !== s && !0 !== s && !1 !== s)
+ return 'Value must be a boolean';
+ })(s);
+ if (!o) return w;
+ w.push(o);
+ } else if ('number' === B) {
+ let o = ((s) => {
+ if (!/^-?\d+(\.?\d+)?$/.test(s)) return 'Value must be a number';
+ })(s);
+ if (!o) return w;
+ w.push(o);
+ } else if ('integer' === B) {
+ let o = ((s) => {
+ if (!/^-?\d+$/.test(s)) return 'Value must be an integer';
+ })(s);
+ if (!o) return w;
+ w.push(o);
+ } else if ('array' === B) {
+ if (!de && !fe) return w;
+ s &&
+ s.forEach((s, i) => {
+ const x = validateValueBySchema(s, o.get('items'), !1, u, _);
+ w.push(...x.map((s) => ({ index: i, error: s })));
+ });
+ } else if ('file' === B) {
+ let o = ((s) => {
+ if (s && !(s instanceof at.File)) return 'Value must be a file';
+ })(s);
+ if (!o) return w;
+ w.push(o);
+ }
+ return w;
+ }
+ const utils_btoa = (s) => {
+ let o;
+ return (o = s instanceof Ot ? s : Ot.from(s.toString(), 'utf-8')), o.toString('base64');
+ },
+ It = {
+ operationsSorter: {
+ alpha: (s, o) => s.get('path').localeCompare(o.get('path')),
+ method: (s, o) => s.get('method').localeCompare(o.get('method'))
+ },
+ tagsSorter: { alpha: (s, o) => s.localeCompare(o) }
+ },
+ buildFormData = (s) => {
+ let o = [];
+ for (let i in s) {
+ let u = s[i];
+ void 0 !== u &&
+ '' !== u &&
+ o.push([i, '=', encodeURIComponent(u).replace(/%20/g, '+')].join(''));
+ }
+ return o.join('&');
+ },
+ shallowEqualKeys = (s, o, i) => !!ht()(i, (i) => yt()(s[i], o[i]));
+ function sanitizeUrl(s) {
+ return 'string' != typeof s || '' === s ? '' : (0, lt.J)(s);
+ }
+ function requiresValidationURL(s) {
+ return !(
+ !s ||
+ s.indexOf('localhost') >= 0 ||
+ s.indexOf('127.0.0.1') >= 0 ||
+ 'none' === s
+ );
+ }
+ const createDeepLinkPath = (s) =>
+ 'string' == typeof s || s instanceof String ? s.trim().replace(/\s/g, '%20') : '',
+ escapeDeepLinkPath = (s) => Et()(createDeepLinkPath(s).replace(/%20/g, '_')),
+ getExtensions = (s) => s.filter((s, o) => /^x-/.test(o)),
+ getCommonExtensions = (s) =>
+ s.filter((s, o) => /^pattern|maxLength|minLength|maximum|minimum/.test(o));
+ function deeplyStripKey(s, o, i = () => !0) {
+ if ('object' != typeof s || Array.isArray(s) || null === s || !o) return s;
+ const u = Object.assign({}, s);
+ return (
+ Object.keys(u).forEach((s) => {
+ s === o && i(u[s], s) ? delete u[s] : (u[s] = deeplyStripKey(u[s], o, i));
+ }),
+ u
+ );
+ }
+ function stringify(s) {
+ if ('string' == typeof s) return s;
+ if ((s && s.toJS && (s = s.toJS()), 'object' == typeof s && null !== s))
+ try {
+ return JSON.stringify(s, null, 2);
+ } catch (o) {
+ return String(s);
+ }
+ return null == s ? '' : s.toString();
+ }
+ function paramToIdentifier(s, { returnAll: o = !1, allowHashes: i = !0 } = {}) {
+ if (!$e().Map.isMap(s))
+ throw new Error('paramToIdentifier: received a non-Im.Map parameter as input');
+ const u = s.get('name'),
+ _ = s.get('in');
+ let w = [];
+ return (
+ s && s.hashCode && _ && u && i && w.push(`${_}.${u}.hash-${s.hashCode()}`),
+ _ && u && w.push(`${_}.${u}`),
+ w.push(u),
+ o ? w : w[0] || ''
+ );
+ }
+ function paramToValue(s, o) {
+ return paramToIdentifier(s, { returnAll: !0 })
+ .map((s) => o[s])
+ .filter((s) => void 0 !== s)[0];
+ }
+ function b64toB64UrlEncoded(s) {
+ return s.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
+ }
+ const isEmptyValue = (s) => !s || !(!isImmutable(s) || !s.isEmpty()),
+ idFn = (s) => s;
+ function createStoreWithMiddleware(s, o, i) {
+ let u = [systemThunkMiddleware(i)];
+ return createStore(
+ s,
+ o,
+ (at.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose)(
+ (function applyMiddleware(...s) {
+ return (o) => (i, u) => {
+ const _ = o(i, u);
+ let dispatch = () => {
+ throw new Error(formatProdErrorMessage(15));
+ };
+ const w = { getState: _.getState, dispatch: (s, ...o) => dispatch(s, ...o) },
+ x = s.map((s) => s(w));
+ return (dispatch = compose(...x)(_.dispatch)), { ..._, dispatch };
+ };
+ })(...u)
+ )
+ );
+ }
+ class Store {
+ constructor(s = {}) {
+ We()(
+ this,
+ {
+ state: {},
+ plugins: [],
+ system: { configs: {}, fn: {}, components: {}, rootInjects: {}, statePlugins: {} },
+ boundSystem: {},
+ toolbox: {}
+ },
+ s
+ ),
+ (this.getSystem = this._getSystem.bind(this)),
+ (this.store = (function configureStore(s, o, i) {
+ return createStoreWithMiddleware(s, o, i);
+ })(idFn, (0, qe.fromJS)(this.state), this.getSystem)),
+ this.buildSystem(!1),
+ this.register(this.plugins);
+ }
+ getStore() {
+ return this.store;
+ }
+ register(s, o = !0) {
+ var i = combinePlugins(s, this.getSystem());
+ systemExtend(this.system, i), o && this.buildSystem();
+ callAfterLoad.call(this.system, s, this.getSystem()) && this.buildSystem();
+ }
+ buildSystem(s = !0) {
+ let o = this.getStore().dispatch,
+ i = this.getStore().getState;
+ (this.boundSystem = Object.assign(
+ {},
+ this.getRootInjects(),
+ this.getWrappedAndBoundActions(o),
+ this.getWrappedAndBoundSelectors(i, this.getSystem),
+ this.getStateThunks(i),
+ this.getFn(),
+ this.getConfigs()
+ )),
+ s && this.rebuildReducer();
+ }
+ _getSystem() {
+ return this.boundSystem;
+ }
+ getRootInjects() {
+ return Object.assign(
+ {
+ getSystem: this.getSystem,
+ getStore: this.getStore.bind(this),
+ getComponents: this.getComponents.bind(this),
+ getState: this.getStore().getState,
+ getConfigs: this._getConfigs.bind(this),
+ Im: $e(),
+ React: Pe
+ },
+ this.system.rootInjects || {}
+ );
+ }
+ _getConfigs() {
+ return this.system.configs;
+ }
+ getConfigs() {
+ return { configs: this.system.configs };
+ }
+ setConfigs(s) {
+ this.system.configs = s;
+ }
+ rebuildReducer() {
+ this.store.replaceReducer(
+ (function buildReducer(s) {
+ return (function allReducers(s) {
+ let o = Object.keys(s).reduce(
+ (o, i) => (
+ (o[i] = (function makeReducer(s) {
+ return (o = new qe.Map(), i) => {
+ if (!s) return o;
+ let u = s[i.type];
+ if (u) {
+ const s = wrapWithTryCatch(u)(o, i);
+ return null === s ? o : s;
+ }
+ return o;
+ };
+ })(s[i])),
+ o
+ ),
+ {}
+ );
+ if (!Object.keys(o).length) return idFn;
+ return (0, He.H)(o);
+ })(objMap(s, (s) => s.reducers));
+ })(this.system.statePlugins)
+ );
+ }
+ getType(s) {
+ let o = s[0].toUpperCase() + s.slice(1);
+ return objReduce(this.system.statePlugins, (i, u) => {
+ let _ = i[s];
+ if (_) return { [u + o]: _ };
+ });
+ }
+ getSelectors() {
+ return this.getType('selectors');
+ }
+ getActions() {
+ return objMap(this.getType('actions'), (s) =>
+ objReduce(s, (s, o) => {
+ if (isFn(s)) return { [o]: s };
+ })
+ );
+ }
+ getWrappedAndBoundActions(s) {
+ return objMap(this.getBoundActions(s), (s, o) => {
+ let i = this.system.statePlugins[o.slice(0, -7)].wrapActions;
+ return i
+ ? objMap(s, (s, o) => {
+ let u = i[o];
+ return u
+ ? (Array.isArray(u) || (u = [u]),
+ u.reduce((s, o) => {
+ let newAction = (...i) => o(s, this.getSystem())(...i);
+ if (!isFn(newAction))
+ throw new TypeError(
+ 'wrapActions needs to return a function that returns a new function (ie the wrapped action)'
+ );
+ return wrapWithTryCatch(newAction);
+ }, s || Function.prototype))
+ : s;
+ })
+ : s;
+ });
+ }
+ getWrappedAndBoundSelectors(s, o) {
+ return objMap(this.getBoundSelectors(s, o), (o, i) => {
+ let u = [i.slice(0, -9)],
+ _ = this.system.statePlugins[u].wrapSelectors;
+ return _
+ ? objMap(o, (o, i) => {
+ let w = _[i];
+ return w
+ ? (Array.isArray(w) || (w = [w]),
+ w.reduce((o, i) => {
+ let wrappedSelector = (..._) =>
+ i(o, this.getSystem())(s().getIn(u), ..._);
+ if (!isFn(wrappedSelector))
+ throw new TypeError(
+ 'wrapSelector needs to return a function that returns a new function (ie the wrapped action)'
+ );
+ return wrappedSelector;
+ }, o || Function.prototype))
+ : o;
+ })
+ : o;
+ });
+ }
+ getStates(s) {
+ return Object.keys(this.system.statePlugins).reduce(
+ (o, i) => ((o[i] = s.get(i)), o),
+ {}
+ );
+ }
+ getStateThunks(s) {
+ return Object.keys(this.system.statePlugins).reduce(
+ (o, i) => ((o[i] = () => s().get(i)), o),
+ {}
+ );
+ }
+ getFn() {
+ return { fn: this.system.fn };
+ }
+ getComponents(s) {
+ const o = this.system.components[s];
+ return Array.isArray(o)
+ ? o.reduce((s, o) => o(s, this.getSystem()))
+ : void 0 !== s
+ ? this.system.components[s]
+ : this.system.components;
+ }
+ getBoundSelectors(s, o) {
+ return objMap(this.getSelectors(), (i, u) => {
+ let _ = [u.slice(0, -9)];
+ return objMap(i, (i) => (...u) => {
+ let w = wrapWithTryCatch(i).apply(null, [s().getIn(_), ...u]);
+ return 'function' == typeof w && (w = wrapWithTryCatch(w)(o())), w;
+ });
+ });
+ }
+ getBoundActions(s) {
+ s = s || this.getStore().dispatch;
+ const o = this.getActions(),
+ process = (s) =>
+ 'function' != typeof s
+ ? objMap(s, (s) => process(s))
+ : (...o) => {
+ var i = null;
+ try {
+ i = s(...o);
+ } catch (s) {
+ i = { type: et, error: !0, payload: (0, Ye.serializeError)(s) };
+ } finally {
+ return i;
+ }
+ };
+ return objMap(o, (o) =>
+ (function bindActionCreators(s, o) {
+ if ('function' == typeof s) return bindActionCreator(s, o);
+ if ('object' != typeof s || null === s) throw new Error(formatProdErrorMessage(16));
+ const i = {};
+ for (const u in s) {
+ const _ = s[u];
+ 'function' == typeof _ && (i[u] = bindActionCreator(_, o));
+ }
+ return i;
+ })(process(o), s)
+ );
+ }
+ getMapStateToProps() {
+ return () => Object.assign({}, this.getSystem());
+ }
+ getMapDispatchToProps(s) {
+ return (o) => We()({}, this.getWrappedAndBoundActions(o), this.getFn(), s);
+ }
+ }
+ function combinePlugins(s, o) {
+ return isObject(s) && !isArray(s)
+ ? Qe()({}, s)
+ : isFunc(s)
+ ? combinePlugins(s(o), o)
+ : isArray(s)
+ ? s
+ .map((s) => combinePlugins(s, o))
+ .reduce(systemExtend, { components: o.getComponents() })
+ : {};
+ }
+ function callAfterLoad(s, o, { hasLoaded: i } = {}) {
+ let u = i;
+ return (
+ isObject(s) &&
+ !isArray(s) &&
+ 'function' == typeof s.afterLoad &&
+ ((u = !0), wrapWithTryCatch(s.afterLoad).call(this, o)),
+ isFunc(s)
+ ? callAfterLoad.call(this, s(o), o, { hasLoaded: u })
+ : isArray(s)
+ ? s.map((s) => callAfterLoad.call(this, s, o, { hasLoaded: u }))
+ : u
+ );
+ }
+ function systemExtend(s = {}, o = {}) {
+ if (!isObject(s)) return {};
+ if (!isObject(o)) return s;
+ o.wrapComponents &&
+ (objMap(o.wrapComponents, (i, u) => {
+ const _ = s.components && s.components[u];
+ _ && Array.isArray(_)
+ ? ((s.components[u] = _.concat([i])), delete o.wrapComponents[u])
+ : _ && ((s.components[u] = [_, i]), delete o.wrapComponents[u]);
+ }),
+ Object.keys(o.wrapComponents).length || delete o.wrapComponents);
+ const { statePlugins: i } = s;
+ if (isObject(i))
+ for (let s in i) {
+ const u = i[s];
+ if (!isObject(u)) continue;
+ const { wrapActions: _, wrapSelectors: w } = u;
+ if (isObject(_))
+ for (let i in _) {
+ let u = _[i];
+ Array.isArray(u) || ((u = [u]), (_[i] = u)),
+ o &&
+ o.statePlugins &&
+ o.statePlugins[s] &&
+ o.statePlugins[s].wrapActions &&
+ o.statePlugins[s].wrapActions[i] &&
+ (o.statePlugins[s].wrapActions[i] = _[i].concat(
+ o.statePlugins[s].wrapActions[i]
+ ));
+ }
+ if (isObject(w))
+ for (let i in w) {
+ let u = w[i];
+ Array.isArray(u) || ((u = [u]), (w[i] = u)),
+ o &&
+ o.statePlugins &&
+ o.statePlugins[s] &&
+ o.statePlugins[s].wrapSelectors &&
+ o.statePlugins[s].wrapSelectors[i] &&
+ (o.statePlugins[s].wrapSelectors[i] = w[i].concat(
+ o.statePlugins[s].wrapSelectors[i]
+ ));
+ }
+ }
+ return We()(s, o);
+ }
+ function wrapWithTryCatch(s, { logErrors: o = !0 } = {}) {
+ return 'function' != typeof s
+ ? s
+ : function (...i) {
+ try {
+ return s.call(this, ...i);
+ } catch (s) {
+ return o && console.error(s), null;
+ }
+ };
+ }
+ var Pt = __webpack_require__(61160),
+ Mt = __webpack_require__.n(Pt);
+ const Tt = 'show_popup',
+ Nt = 'authorize',
+ Rt = 'logout',
+ Dt = 'pre_authorize_oauth2',
+ Lt = 'authorize_oauth2',
+ Bt = 'validate',
+ Ft = 'configure_auth',
+ qt = 'restore_authorization';
+ function showDefinitions(s) {
+ return { type: Tt, payload: s };
+ }
+ function authorize(s) {
+ return { type: Nt, payload: s };
+ }
+ const authorizeWithPersistOption =
+ (s) =>
+ ({ authActions: o }) => {
+ o.authorize(s), o.persistAuthorizationIfNeeded();
+ };
+ function logout(s) {
+ return { type: Rt, payload: s };
+ }
+ const logoutWithPersistOption =
+ (s) =>
+ ({ authActions: o }) => {
+ o.logout(s), o.persistAuthorizationIfNeeded();
+ },
+ preAuthorizeImplicit =
+ (s) =>
+ ({ authActions: o, errActions: i }) => {
+ let { auth: u, token: _, isValid: w } = s,
+ { schema: x, name: C } = u,
+ j = x.get('flow');
+ delete at.swaggerUIRedirectOauth2,
+ 'accessCode' === j ||
+ w ||
+ i.newAuthErr({
+ authId: C,
+ source: 'auth',
+ level: 'warning',
+ message:
+ "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"
+ }),
+ _.error
+ ? i.newAuthErr({
+ authId: C,
+ source: 'auth',
+ level: 'error',
+ message: JSON.stringify(_)
+ })
+ : o.authorizeOauth2WithPersistOption({ auth: u, token: _ });
+ };
+ function authorizeOauth2(s) {
+ return { type: Lt, payload: s };
+ }
+ const authorizeOauth2WithPersistOption =
+ (s) =>
+ ({ authActions: o }) => {
+ o.authorizeOauth2(s), o.persistAuthorizationIfNeeded();
+ },
+ authorizePassword =
+ (s) =>
+ ({ authActions: o }) => {
+ let {
+ schema: i,
+ name: u,
+ username: _,
+ password: w,
+ passwordType: x,
+ clientId: C,
+ clientSecret: j
+ } = s,
+ L = { grant_type: 'password', scope: s.scopes.join(' '), username: _, password: w },
+ B = {};
+ switch (x) {
+ case 'request-body':
+ !(function setClientIdAndSecret(s, o, i) {
+ o && Object.assign(s, { client_id: o });
+ i && Object.assign(s, { client_secret: i });
+ })(L, C, j);
+ break;
+ case 'basic':
+ B.Authorization = 'Basic ' + utils_btoa(C + ':' + j);
+ break;
+ default:
+ console.warn(
+ `Warning: invalid passwordType ${x} was passed, not including client id and secret`
+ );
+ }
+ return o.authorizeRequest({
+ body: buildFormData(L),
+ url: i.get('tokenUrl'),
+ name: u,
+ headers: B,
+ query: {},
+ auth: s
+ });
+ };
+ const authorizeApplication =
+ (s) =>
+ ({ authActions: o }) => {
+ let { schema: i, scopes: u, name: _, clientId: w, clientSecret: x } = s,
+ C = { Authorization: 'Basic ' + utils_btoa(w + ':' + x) },
+ j = { grant_type: 'client_credentials', scope: u.join(' ') };
+ return o.authorizeRequest({
+ body: buildFormData(j),
+ name: _,
+ url: i.get('tokenUrl'),
+ auth: s,
+ headers: C
+ });
+ },
+ authorizeAccessCodeWithFormParams =
+ ({ auth: s, redirectUrl: o }) =>
+ ({ authActions: i }) => {
+ let { schema: u, name: _, clientId: w, clientSecret: x, codeVerifier: C } = s,
+ j = {
+ grant_type: 'authorization_code',
+ code: s.code,
+ client_id: w,
+ client_secret: x,
+ redirect_uri: o,
+ code_verifier: C
+ };
+ return i.authorizeRequest({
+ body: buildFormData(j),
+ name: _,
+ url: u.get('tokenUrl'),
+ auth: s
+ });
+ },
+ authorizeAccessCodeWithBasicAuthentication =
+ ({ auth: s, redirectUrl: o }) =>
+ ({ authActions: i }) => {
+ let { schema: u, name: _, clientId: w, clientSecret: x, codeVerifier: C } = s,
+ j = { Authorization: 'Basic ' + utils_btoa(w + ':' + x) },
+ L = {
+ grant_type: 'authorization_code',
+ code: s.code,
+ client_id: w,
+ redirect_uri: o,
+ code_verifier: C
+ };
+ return i.authorizeRequest({
+ body: buildFormData(L),
+ name: _,
+ url: u.get('tokenUrl'),
+ auth: s,
+ headers: j
+ });
+ },
+ authorizeRequest =
+ (s) =>
+ ({
+ fn: o,
+ getConfigs: i,
+ authActions: u,
+ errActions: _,
+ oas3Selectors: w,
+ specSelectors: x,
+ authSelectors: C
+ }) => {
+ let j,
+ { body: L, query: B = {}, headers: $ = {}, name: V, url: U, auth: z } = s,
+ { additionalQueryStringParams: Y } = C.getConfigs() || {};
+ if (x.isOAS3()) {
+ let s = w.serverEffectiveValue(w.selectedServer());
+ j = Mt()(U, s, !0);
+ } else j = Mt()(U, x.url(), !0);
+ 'object' == typeof Y && (j.query = Object.assign({}, j.query, Y));
+ const Z = j.toString();
+ let ee = Object.assign(
+ {
+ Accept: 'application/json, text/plain, */*',
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ 'X-Requested-With': 'XMLHttpRequest'
+ },
+ $
+ );
+ o.fetch({
+ url: Z,
+ method: 'post',
+ headers: ee,
+ query: B,
+ body: L,
+ requestInterceptor: i().requestInterceptor,
+ responseInterceptor: i().responseInterceptor
+ })
+ .then(function (s) {
+ let o = JSON.parse(s.data),
+ i = o && (o.error || ''),
+ w = o && (o.parseError || '');
+ s.ok
+ ? i || w
+ ? _.newAuthErr({
+ authId: V,
+ level: 'error',
+ source: 'auth',
+ message: JSON.stringify(o)
+ })
+ : u.authorizeOauth2WithPersistOption({ auth: z, token: o })
+ : _.newAuthErr({
+ authId: V,
+ level: 'error',
+ source: 'auth',
+ message: s.statusText
+ });
+ })
+ .catch((s) => {
+ let o = new Error(s).message;
+ if (s.response && s.response.data) {
+ const i = s.response.data;
+ try {
+ const s = 'string' == typeof i ? JSON.parse(i) : i;
+ s.error && (o += `, error: ${s.error}`),
+ s.error_description && (o += `, description: ${s.error_description}`);
+ } catch (s) {}
+ }
+ _.newAuthErr({ authId: V, level: 'error', source: 'auth', message: o });
+ });
+ };
+ function configureAuth(s) {
+ return { type: Ft, payload: s };
+ }
+ function restoreAuthorization(s) {
+ return { type: qt, payload: s };
+ }
+ const persistAuthorizationIfNeeded =
+ () =>
+ ({ authSelectors: s, getConfigs: o }) => {
+ if (!o().persistAuthorization) return;
+ const i = s.authorized().toJS();
+ localStorage.setItem('authorized', JSON.stringify(i));
+ },
+ authPopup = (s, o) => () => {
+ (at.swaggerUIRedirectOauth2 = o), at.open(s);
+ },
+ $t = {
+ [Tt]: (s, { payload: o }) => s.set('showDefinitions', o),
+ [Nt]: (s, { payload: o }) => {
+ let i = (0, qe.fromJS)(o),
+ u = s.get('authorized') || (0, qe.Map)();
+ return (
+ i.entrySeq().forEach(([o, i]) => {
+ if (!isFunc(i.getIn)) return s.set('authorized', u);
+ let _ = i.getIn(['schema', 'type']);
+ if ('apiKey' === _ || 'http' === _) u = u.set(o, i);
+ else if ('basic' === _) {
+ let s = i.getIn(['value', 'username']),
+ _ = i.getIn(['value', 'password']);
+ (u = u.setIn([o, 'value'], {
+ username: s,
+ header: 'Basic ' + utils_btoa(s + ':' + _)
+ })),
+ (u = u.setIn([o, 'schema'], i.get('schema')));
+ }
+ }),
+ s.set('authorized', u)
+ );
+ },
+ [Lt]: (s, { payload: o }) => {
+ let i,
+ { auth: u, token: _ } = o;
+ (u.token = Object.assign({}, _)), (i = (0, qe.fromJS)(u));
+ let w = s.get('authorized') || (0, qe.Map)();
+ return (w = w.set(i.get('name'), i)), s.set('authorized', w);
+ },
+ [Rt]: (s, { payload: o }) => {
+ let i = s.get('authorized').withMutations((s) => {
+ o.forEach((o) => {
+ s.delete(o);
+ });
+ });
+ return s.set('authorized', i);
+ },
+ [Ft]: (s, { payload: o }) => s.set('configs', o),
+ [qt]: (s, { payload: o }) => s.set('authorized', (0, qe.fromJS)(o.authorized))
+ };
+ function assertIsFunction(s, o = 'expected a function, instead received ' + typeof s) {
+ if ('function' != typeof s) throw new TypeError(o);
+ }
+ var ensureIsArray = (s) => (Array.isArray(s) ? s : [s]);
+ function getDependencies(s) {
+ const o = Array.isArray(s[0]) ? s[0] : s;
+ return (
+ (function assertIsArrayOfFunctions(
+ s,
+ o = 'expected all items to be functions, instead received the following types: '
+ ) {
+ if (!s.every((s) => 'function' == typeof s)) {
+ const i = s
+ .map((s) =>
+ 'function' == typeof s ? `function ${s.name || 'unnamed'}()` : typeof s
+ )
+ .join(', ');
+ throw new TypeError(`${o}[${i}]`);
+ }
+ })(
+ o,
+ 'createSelector expects all input-selectors to be functions, but received the following types: '
+ ),
+ o
+ );
+ }
+ Symbol(), Object.getPrototypeOf({});
+ var Vt =
+ 'undefined' != typeof WeakRef
+ ? WeakRef
+ : class {
+ constructor(s) {
+ this.value = s;
+ }
+ deref() {
+ return this.value;
+ }
+ };
+ function weakMapMemoize(s, o = {}) {
+ let i = { s: 0, v: void 0, o: null, p: null };
+ const { resultEqualityCheck: u } = o;
+ let _,
+ w = 0;
+ function memoized() {
+ let o = i;
+ const { length: x } = arguments;
+ for (let s = 0, i = x; s < i; s++) {
+ const i = arguments[s];
+ if ('function' == typeof i || ('object' == typeof i && null !== i)) {
+ let s = o.o;
+ null === s && (o.o = s = new WeakMap());
+ const u = s.get(i);
+ void 0 === u ? ((o = { s: 0, v: void 0, o: null, p: null }), s.set(i, o)) : (o = u);
+ } else {
+ let s = o.p;
+ null === s && (o.p = s = new Map());
+ const u = s.get(i);
+ void 0 === u ? ((o = { s: 0, v: void 0, o: null, p: null }), s.set(i, o)) : (o = u);
+ }
+ }
+ const C = o;
+ let j;
+ if (1 === o.s) j = o.v;
+ else if (((j = s.apply(null, arguments)), w++, u)) {
+ const s = _?.deref?.() ?? _;
+ null != s && u(s, j) && ((j = s), 0 !== w && w--);
+ _ = ('object' == typeof j && null !== j) || 'function' == typeof j ? new Vt(j) : j;
+ }
+ return (C.s = 1), (C.v = j), j;
+ }
+ return (
+ (memoized.clearCache = () => {
+ (i = { s: 0, v: void 0, o: null, p: null }), memoized.resetResultsCount();
+ }),
+ (memoized.resultsCount = () => w),
+ (memoized.resetResultsCount = () => {
+ w = 0;
+ }),
+ memoized
+ );
+ }
+ function createSelectorCreator(s, ...o) {
+ const i = 'function' == typeof s ? { memoize: s, memoizeOptions: o } : s,
+ createSelector2 = (...s) => {
+ let o,
+ u = 0,
+ _ = 0,
+ w = {},
+ x = s.pop();
+ 'object' == typeof x && ((w = x), (x = s.pop())),
+ assertIsFunction(
+ x,
+ `createSelector expects an output function after the inputs, but received: [${typeof x}]`
+ );
+ const C = { ...i, ...w },
+ {
+ memoize: j,
+ memoizeOptions: L = [],
+ argsMemoize: B = weakMapMemoize,
+ argsMemoizeOptions: $ = [],
+ devModeChecks: V = {}
+ } = C,
+ U = ensureIsArray(L),
+ z = ensureIsArray($),
+ Y = getDependencies(s),
+ Z = j(
+ function recomputationWrapper() {
+ return u++, x.apply(null, arguments);
+ },
+ ...U
+ );
+ const ee = B(
+ function dependenciesChecker() {
+ _++;
+ const s = (function collectInputSelectorResults(s, o) {
+ const i = [],
+ { length: u } = s;
+ for (let _ = 0; _ < u; _++) i.push(s[_].apply(null, o));
+ return i;
+ })(Y, arguments);
+ return (o = Z.apply(null, s)), o;
+ },
+ ...z
+ );
+ return Object.assign(ee, {
+ resultFunc: x,
+ memoizedResultFunc: Z,
+ dependencies: Y,
+ dependencyRecomputations: () => _,
+ resetDependencyRecomputations: () => {
+ _ = 0;
+ },
+ lastResult: () => o,
+ recomputations: () => u,
+ resetRecomputations: () => {
+ u = 0;
+ },
+ memoize: j,
+ argsMemoize: B
+ });
+ };
+ return (
+ Object.assign(createSelector2, { withTypes: () => createSelector2 }), createSelector2
+ );
+ }
+ var Ut = createSelectorCreator(weakMapMemoize),
+ zt = Object.assign(
+ (s, o = Ut) => {
+ !(function assertIsObject(s, o = 'expected an object, instead received ' + typeof s) {
+ if ('object' != typeof s) throw new TypeError(o);
+ })(
+ s,
+ 'createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ' +
+ typeof s
+ );
+ const i = Object.keys(s);
+ return o(
+ i.map((o) => s[o]),
+ (...s) => s.reduce((s, o, u) => ((s[i[u]] = o), s), {})
+ );
+ },
+ { withTypes: () => zt }
+ );
+ const state = (s) => s,
+ Wt = Ut(state, (s) => s.get('showDefinitions')),
+ Kt = Ut(state, () => ({ specSelectors: s }) => {
+ let o = s.securityDefinitions() || (0, qe.Map)({}),
+ i = (0, qe.List)();
+ return (
+ o.entrySeq().forEach(([s, o]) => {
+ let u = (0, qe.Map)();
+ (u = u.set(s, o)), (i = i.push(u));
+ }),
+ i
+ );
+ }),
+ getDefinitionsByNames =
+ (s, o) =>
+ ({ specSelectors: s }) => {
+ console.warn(
+ 'WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.'
+ );
+ let i = s.securityDefinitions(),
+ u = (0, qe.List)();
+ return (
+ o.valueSeq().forEach((s) => {
+ let o = (0, qe.Map)();
+ s.entrySeq().forEach(([s, u]) => {
+ let _,
+ w = i.get(s);
+ 'oauth2' === w.get('type') &&
+ u.size &&
+ ((_ = w.get('scopes')),
+ _.keySeq().forEach((s) => {
+ u.contains(s) || (_ = _.delete(s));
+ }),
+ (w = w.set('allowedScopes', _))),
+ (o = o.set(s, w));
+ }),
+ (u = u.push(o));
+ }),
+ u
+ );
+ },
+ definitionsForRequirements =
+ (s, o = (0, qe.List)()) =>
+ ({ authSelectors: s }) => {
+ const i = s.definitionsToAuthorize() || (0, qe.List)();
+ let u = (0, qe.List)();
+ return (
+ i.forEach((s) => {
+ let i = o.find((o) => o.get(s.keySeq().first()));
+ i &&
+ (s.forEach((o, u) => {
+ if ('oauth2' === o.get('type')) {
+ const _ = i.get(u);
+ let w = o.get('scopes');
+ qe.List.isList(_) &&
+ qe.Map.isMap(w) &&
+ (w.keySeq().forEach((s) => {
+ _.contains(s) || (w = w.delete(s));
+ }),
+ (s = s.set(u, o.set('scopes', w))));
+ }
+ }),
+ (u = u.push(s)));
+ }),
+ u
+ );
+ },
+ Ht = Ut(state, (s) => s.get('authorized') || (0, qe.Map)()),
+ isAuthorized =
+ (s, o) =>
+ ({ authSelectors: s }) => {
+ let i = s.authorized();
+ return qe.List.isList(o)
+ ? !!o.toJS().filter(
+ (s) =>
+ -1 ===
+ Object.keys(s)
+ .map((s) => !!i.get(s))
+ .indexOf(!1)
+ ).length
+ : null;
+ },
+ Jt = Ut(state, (s) => s.get('configs')),
+ execute =
+ (s, { authSelectors: o, specSelectors: i }) =>
+ ({ path: u, method: _, operation: w, extras: x }) => {
+ let C = {
+ authorized: o.authorized() && o.authorized().toJS(),
+ definitions: i.securityDefinitions() && i.securityDefinitions().toJS(),
+ specSecurity: i.security() && i.security().toJS()
+ };
+ return s({ path: u, method: _, operation: w, securities: C, ...x });
+ },
+ loaded = (s, o) => (i) => {
+ const { getConfigs: u, authActions: _ } = o,
+ w = u();
+ if ((s(i), w.persistAuthorization)) {
+ const s = localStorage.getItem('authorized');
+ s && _.restoreAuthorization({ authorized: JSON.parse(s) });
+ }
+ },
+ wrap_actions_authorize = (s, o) => (i) => {
+ s(i);
+ if (o.getConfigs().persistAuthorization)
+ try {
+ const [{ schema: s, value: o }] = Object.values(i),
+ u = 'apiKey' === s.get('type'),
+ _ = 'cookie' === s.get('in');
+ u && _ && (document.cookie = `${s.get('name')}=${o}; SameSite=None; Secure`);
+ } catch (s) {
+ console.error('Error persisting cookie based apiKey in document.cookie.', s);
+ }
+ },
+ wrap_actions_logout = (s, o) => (i) => {
+ const u = o.getConfigs(),
+ _ = o.authSelectors.authorized();
+ try {
+ u.persistAuthorization &&
+ Array.isArray(i) &&
+ i.forEach((s) => {
+ const o = _.get(s, {}),
+ i = 'apiKey' === o.getIn(['schema', 'type']),
+ u = 'cookie' === o.getIn(['schema', 'in']);
+ if (i && u) {
+ const s = o.getIn(['schema', 'name']);
+ document.cookie = `${s}=; Max-Age=-99999999`;
+ }
+ });
+ } catch (s) {
+ console.error('Error deleting cookie based apiKey from document.cookie.', s);
+ }
+ s(i);
+ };
+ var Gt = __webpack_require__(90179),
+ Yt = __webpack_require__.n(Gt);
+ class LockAuthIcon extends Pe.Component {
+ mapStateToProps(s, o) {
+ return { state: s, ownProps: Yt()(o, Object.keys(o.getSystem())) };
+ }
+ render() {
+ const { getComponent: s, ownProps: o } = this.props,
+ i = s('LockIcon');
+ return Pe.createElement(i, o);
+ }
+ }
+ const Xt = LockAuthIcon;
+ class UnlockAuthIcon extends Pe.Component {
+ mapStateToProps(s, o) {
+ return { state: s, ownProps: Yt()(o, Object.keys(o.getSystem())) };
+ }
+ render() {
+ const { getComponent: s, ownProps: o } = this.props,
+ i = s('UnlockIcon');
+ return Pe.createElement(i, o);
+ }
+ }
+ const Zt = UnlockAuthIcon;
+ function auth() {
+ return {
+ afterLoad(s) {
+ (this.rootInjects = this.rootInjects || {}),
+ (this.rootInjects.initOAuth = s.authActions.configureAuth),
+ (this.rootInjects.preauthorizeApiKey = preauthorizeApiKey.bind(null, s)),
+ (this.rootInjects.preauthorizeBasic = preauthorizeBasic.bind(null, s));
+ },
+ components: {
+ LockAuthIcon: Xt,
+ UnlockAuthIcon: Zt,
+ LockAuthOperationIcon: Xt,
+ UnlockAuthOperationIcon: Zt
+ },
+ statePlugins: {
+ auth: {
+ reducers: $t,
+ actions: o,
+ selectors: i,
+ wrapActions: { authorize: wrap_actions_authorize, logout: wrap_actions_logout }
+ },
+ configs: { wrapActions: { loaded } },
+ spec: { wrapActions: { execute } }
+ }
+ };
+ }
+ function preauthorizeBasic(s, o, i, u) {
+ const {
+ authActions: { authorize: _ },
+ specSelectors: { specJson: w, isOAS3: x }
+ } = s,
+ C = x() ? ['components', 'securitySchemes'] : ['securityDefinitions'],
+ j = w().getIn([...C, o]);
+ return j ? _({ [o]: { value: { username: i, password: u }, schema: j.toJS() } }) : null;
+ }
+ function preauthorizeApiKey(s, o, i) {
+ const {
+ authActions: { authorize: u },
+ specSelectors: { specJson: _, isOAS3: w }
+ } = s,
+ x = w() ? ['components', 'securitySchemes'] : ['securityDefinitions'],
+ C = _().getIn([...x, o]);
+ return C ? u({ [o]: { value: i, schema: C.toJS() } }) : null;
+ }
+ function isNothing(s) {
+ return null == s;
+ }
+ var Qt = function repeat(s, o) {
+ var i,
+ u = '';
+ for (i = 0; i < o; i += 1) u += s;
+ return u;
+ },
+ er = function isNegativeZero(s) {
+ return 0 === s && Number.NEGATIVE_INFINITY === 1 / s;
+ },
+ tr = {
+ isNothing,
+ isObject: function js_yaml_isObject(s) {
+ return 'object' == typeof s && null !== s;
+ },
+ toArray: function toArray(s) {
+ return Array.isArray(s) ? s : isNothing(s) ? [] : [s];
+ },
+ repeat: Qt,
+ isNegativeZero: er,
+ extend: function extend(s, o) {
+ var i, u, _, w;
+ if (o)
+ for (i = 0, u = (w = Object.keys(o)).length; i < u; i += 1) s[(_ = w[i])] = o[_];
+ return s;
+ }
+ };
+ function formatError(s, o) {
+ var i = '',
+ u = s.reason || '(unknown reason)';
+ return s.mark
+ ? (s.mark.name && (i += 'in "' + s.mark.name + '" '),
+ (i += '(' + (s.mark.line + 1) + ':' + (s.mark.column + 1) + ')'),
+ !o && s.mark.snippet && (i += '\n\n' + s.mark.snippet),
+ u + ' ' + i)
+ : u;
+ }
+ function YAMLException$1(s, o) {
+ Error.call(this),
+ (this.name = 'YAMLException'),
+ (this.reason = s),
+ (this.mark = o),
+ (this.message = formatError(this, !1)),
+ Error.captureStackTrace
+ ? Error.captureStackTrace(this, this.constructor)
+ : (this.stack = new Error().stack || '');
+ }
+ (YAMLException$1.prototype = Object.create(Error.prototype)),
+ (YAMLException$1.prototype.constructor = YAMLException$1),
+ (YAMLException$1.prototype.toString = function toString(s) {
+ return this.name + ': ' + formatError(this, s);
+ });
+ var rr = YAMLException$1;
+ function getLine(s, o, i, u, _) {
+ var w = '',
+ x = '',
+ C = Math.floor(_ / 2) - 1;
+ return (
+ u - o > C && (o = u - C + (w = ' ... ').length),
+ i - u > C && (i = u + C - (x = ' ...').length),
+ { str: w + s.slice(o, i).replace(/\t/g, '→') + x, pos: u - o + w.length }
+ );
+ }
+ function padStart(s, o) {
+ return tr.repeat(' ', o - s.length) + s;
+ }
+ var nr = function makeSnippet(s, o) {
+ if (((o = Object.create(o || null)), !s.buffer)) return null;
+ o.maxLength || (o.maxLength = 79),
+ 'number' != typeof o.indent && (o.indent = 1),
+ 'number' != typeof o.linesBefore && (o.linesBefore = 3),
+ 'number' != typeof o.linesAfter && (o.linesAfter = 2);
+ for (var i, u = /\r?\n|\r|\0/g, _ = [0], w = [], x = -1; (i = u.exec(s.buffer)); )
+ w.push(i.index),
+ _.push(i.index + i[0].length),
+ s.position <= i.index && x < 0 && (x = _.length - 2);
+ x < 0 && (x = _.length - 1);
+ var C,
+ j,
+ L = '',
+ B = Math.min(s.line + o.linesAfter, w.length).toString().length,
+ $ = o.maxLength - (o.indent + B + 3);
+ for (C = 1; C <= o.linesBefore && !(x - C < 0); C++)
+ (j = getLine(s.buffer, _[x - C], w[x - C], s.position - (_[x] - _[x - C]), $)),
+ (L =
+ tr.repeat(' ', o.indent) +
+ padStart((s.line - C + 1).toString(), B) +
+ ' | ' +
+ j.str +
+ '\n' +
+ L);
+ for (
+ j = getLine(s.buffer, _[x], w[x], s.position, $),
+ L +=
+ tr.repeat(' ', o.indent) +
+ padStart((s.line + 1).toString(), B) +
+ ' | ' +
+ j.str +
+ '\n',
+ L += tr.repeat('-', o.indent + B + 3 + j.pos) + '^\n',
+ C = 1;
+ C <= o.linesAfter && !(x + C >= w.length);
+ C++
+ )
+ (j = getLine(s.buffer, _[x + C], w[x + C], s.position - (_[x] - _[x + C]), $)),
+ (L +=
+ tr.repeat(' ', o.indent) +
+ padStart((s.line + C + 1).toString(), B) +
+ ' | ' +
+ j.str +
+ '\n');
+ return L.replace(/\n$/, '');
+ },
+ sr = [
+ 'kind',
+ 'multi',
+ 'resolve',
+ 'construct',
+ 'instanceOf',
+ 'predicate',
+ 'represent',
+ 'representName',
+ 'defaultStyle',
+ 'styleAliases'
+ ],
+ ir = ['scalar', 'sequence', 'mapping'];
+ var ar = function Type$1(s, o) {
+ if (
+ ((o = o || {}),
+ Object.keys(o).forEach(function (o) {
+ if (-1 === sr.indexOf(o))
+ throw new rr(
+ 'Unknown option "' + o + '" is met in definition of "' + s + '" YAML type.'
+ );
+ }),
+ (this.options = o),
+ (this.tag = s),
+ (this.kind = o.kind || null),
+ (this.resolve =
+ o.resolve ||
+ function () {
+ return !0;
+ }),
+ (this.construct =
+ o.construct ||
+ function (s) {
+ return s;
+ }),
+ (this.instanceOf = o.instanceOf || null),
+ (this.predicate = o.predicate || null),
+ (this.represent = o.represent || null),
+ (this.representName = o.representName || null),
+ (this.defaultStyle = o.defaultStyle || null),
+ (this.multi = o.multi || !1),
+ (this.styleAliases = (function compileStyleAliases(s) {
+ var o = {};
+ return (
+ null !== s &&
+ Object.keys(s).forEach(function (i) {
+ s[i].forEach(function (s) {
+ o[String(s)] = i;
+ });
+ }),
+ o
+ );
+ })(o.styleAliases || null)),
+ -1 === ir.indexOf(this.kind))
+ )
+ throw new rr(
+ 'Unknown kind "' + this.kind + '" is specified for "' + s + '" YAML type.'
+ );
+ };
+ function compileList(s, o) {
+ var i = [];
+ return (
+ s[o].forEach(function (s) {
+ var o = i.length;
+ i.forEach(function (i, u) {
+ i.tag === s.tag && i.kind === s.kind && i.multi === s.multi && (o = u);
+ }),
+ (i[o] = s);
+ }),
+ i
+ );
+ }
+ function Schema$1(s) {
+ return this.extend(s);
+ }
+ Schema$1.prototype.extend = function extend(s) {
+ var o = [],
+ i = [];
+ if (s instanceof ar) i.push(s);
+ else if (Array.isArray(s)) i = i.concat(s);
+ else {
+ if (!s || (!Array.isArray(s.implicit) && !Array.isArray(s.explicit)))
+ throw new rr(
+ 'Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })'
+ );
+ s.implicit && (o = o.concat(s.implicit)), s.explicit && (i = i.concat(s.explicit));
+ }
+ o.forEach(function (s) {
+ if (!(s instanceof ar))
+ throw new rr(
+ 'Specified list of YAML types (or a single Type object) contains a non-Type object.'
+ );
+ if (s.loadKind && 'scalar' !== s.loadKind)
+ throw new rr(
+ 'There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'
+ );
+ if (s.multi)
+ throw new rr(
+ 'There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.'
+ );
+ }),
+ i.forEach(function (s) {
+ if (!(s instanceof ar))
+ throw new rr(
+ 'Specified list of YAML types (or a single Type object) contains a non-Type object.'
+ );
+ });
+ var u = Object.create(Schema$1.prototype);
+ return (
+ (u.implicit = (this.implicit || []).concat(o)),
+ (u.explicit = (this.explicit || []).concat(i)),
+ (u.compiledImplicit = compileList(u, 'implicit')),
+ (u.compiledExplicit = compileList(u, 'explicit')),
+ (u.compiledTypeMap = (function compileMap() {
+ var s,
+ o,
+ i = {
+ scalar: {},
+ sequence: {},
+ mapping: {},
+ fallback: {},
+ multi: { scalar: [], sequence: [], mapping: [], fallback: [] }
+ };
+ function collectType(s) {
+ s.multi
+ ? (i.multi[s.kind].push(s), i.multi.fallback.push(s))
+ : (i[s.kind][s.tag] = i.fallback[s.tag] = s);
+ }
+ for (s = 0, o = arguments.length; s < o; s += 1) arguments[s].forEach(collectType);
+ return i;
+ })(u.compiledImplicit, u.compiledExplicit)),
+ u
+ );
+ };
+ var lr = Schema$1,
+ cr = new ar('tag:yaml.org,2002:str', {
+ kind: 'scalar',
+ construct: function (s) {
+ return null !== s ? s : '';
+ }
+ }),
+ ur = new ar('tag:yaml.org,2002:seq', {
+ kind: 'sequence',
+ construct: function (s) {
+ return null !== s ? s : [];
+ }
+ }),
+ pr = new ar('tag:yaml.org,2002:map', {
+ kind: 'mapping',
+ construct: function (s) {
+ return null !== s ? s : {};
+ }
+ }),
+ dr = new lr({ explicit: [cr, ur, pr] });
+ var fr = new ar('tag:yaml.org,2002:null', {
+ kind: 'scalar',
+ resolve: function resolveYamlNull(s) {
+ if (null === s) return !0;
+ var o = s.length;
+ return (
+ (1 === o && '~' === s) || (4 === o && ('null' === s || 'Null' === s || 'NULL' === s))
+ );
+ },
+ construct: function constructYamlNull() {
+ return null;
+ },
+ predicate: function isNull(s) {
+ return null === s;
+ },
+ represent: {
+ canonical: function () {
+ return '~';
+ },
+ lowercase: function () {
+ return 'null';
+ },
+ uppercase: function () {
+ return 'NULL';
+ },
+ camelcase: function () {
+ return 'Null';
+ },
+ empty: function () {
+ return '';
+ }
+ },
+ defaultStyle: 'lowercase'
+ });
+ var mr = new ar('tag:yaml.org,2002:bool', {
+ kind: 'scalar',
+ resolve: function resolveYamlBoolean(s) {
+ if (null === s) return !1;
+ var o = s.length;
+ return (
+ (4 === o && ('true' === s || 'True' === s || 'TRUE' === s)) ||
+ (5 === o && ('false' === s || 'False' === s || 'FALSE' === s))
+ );
+ },
+ construct: function constructYamlBoolean(s) {
+ return 'true' === s || 'True' === s || 'TRUE' === s;
+ },
+ predicate: function isBoolean(s) {
+ return '[object Boolean]' === Object.prototype.toString.call(s);
+ },
+ represent: {
+ lowercase: function (s) {
+ return s ? 'true' : 'false';
+ },
+ uppercase: function (s) {
+ return s ? 'TRUE' : 'FALSE';
+ },
+ camelcase: function (s) {
+ return s ? 'True' : 'False';
+ }
+ },
+ defaultStyle: 'lowercase'
+ });
+ function isOctCode(s) {
+ return 48 <= s && s <= 55;
+ }
+ function isDecCode(s) {
+ return 48 <= s && s <= 57;
+ }
+ var gr = new ar('tag:yaml.org,2002:int', {
+ kind: 'scalar',
+ resolve: function resolveYamlInteger(s) {
+ if (null === s) return !1;
+ var o,
+ i,
+ u = s.length,
+ _ = 0,
+ w = !1;
+ if (!u) return !1;
+ if ((('-' !== (o = s[_]) && '+' !== o) || (o = s[++_]), '0' === o)) {
+ if (_ + 1 === u) return !0;
+ if ('b' === (o = s[++_])) {
+ for (_++; _ < u; _++)
+ if ('_' !== (o = s[_])) {
+ if ('0' !== o && '1' !== o) return !1;
+ w = !0;
+ }
+ return w && '_' !== o;
+ }
+ if ('x' === o) {
+ for (_++; _ < u; _++)
+ if ('_' !== (o = s[_])) {
+ if (
+ !(
+ (48 <= (i = s.charCodeAt(_)) && i <= 57) ||
+ (65 <= i && i <= 70) ||
+ (97 <= i && i <= 102)
+ )
+ )
+ return !1;
+ w = !0;
+ }
+ return w && '_' !== o;
+ }
+ if ('o' === o) {
+ for (_++; _ < u; _++)
+ if ('_' !== (o = s[_])) {
+ if (!isOctCode(s.charCodeAt(_))) return !1;
+ w = !0;
+ }
+ return w && '_' !== o;
+ }
+ }
+ if ('_' === o) return !1;
+ for (; _ < u; _++)
+ if ('_' !== (o = s[_])) {
+ if (!isDecCode(s.charCodeAt(_))) return !1;
+ w = !0;
+ }
+ return !(!w || '_' === o);
+ },
+ construct: function constructYamlInteger(s) {
+ var o,
+ i = s,
+ u = 1;
+ if (
+ (-1 !== i.indexOf('_') && (i = i.replace(/_/g, '')),
+ ('-' !== (o = i[0]) && '+' !== o) ||
+ ('-' === o && (u = -1), (o = (i = i.slice(1))[0])),
+ '0' === i)
+ )
+ return 0;
+ if ('0' === o) {
+ if ('b' === i[1]) return u * parseInt(i.slice(2), 2);
+ if ('x' === i[1]) return u * parseInt(i.slice(2), 16);
+ if ('o' === i[1]) return u * parseInt(i.slice(2), 8);
+ }
+ return u * parseInt(i, 10);
+ },
+ predicate: function isInteger(s) {
+ return (
+ '[object Number]' === Object.prototype.toString.call(s) &&
+ s % 1 == 0 &&
+ !tr.isNegativeZero(s)
+ );
+ },
+ represent: {
+ binary: function (s) {
+ return s >= 0 ? '0b' + s.toString(2) : '-0b' + s.toString(2).slice(1);
+ },
+ octal: function (s) {
+ return s >= 0 ? '0o' + s.toString(8) : '-0o' + s.toString(8).slice(1);
+ },
+ decimal: function (s) {
+ return s.toString(10);
+ },
+ hexadecimal: function (s) {
+ return s >= 0
+ ? '0x' + s.toString(16).toUpperCase()
+ : '-0x' + s.toString(16).toUpperCase().slice(1);
+ }
+ },
+ defaultStyle: 'decimal',
+ styleAliases: {
+ binary: [2, 'bin'],
+ octal: [8, 'oct'],
+ decimal: [10, 'dec'],
+ hexadecimal: [16, 'hex']
+ }
+ }),
+ yr = new RegExp(
+ '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$'
+ );
+ var vr = /^[-+]?[0-9]+e/;
+ var br = new ar('tag:yaml.org,2002:float', {
+ kind: 'scalar',
+ resolve: function resolveYamlFloat(s) {
+ return null !== s && !(!yr.test(s) || '_' === s[s.length - 1]);
+ },
+ construct: function constructYamlFloat(s) {
+ var o, i;
+ return (
+ (i = '-' === (o = s.replace(/_/g, '').toLowerCase())[0] ? -1 : 1),
+ '+-'.indexOf(o[0]) >= 0 && (o = o.slice(1)),
+ '.inf' === o
+ ? 1 === i
+ ? Number.POSITIVE_INFINITY
+ : Number.NEGATIVE_INFINITY
+ : '.nan' === o
+ ? NaN
+ : i * parseFloat(o, 10)
+ );
+ },
+ predicate: function isFloat(s) {
+ return (
+ '[object Number]' === Object.prototype.toString.call(s) &&
+ (s % 1 != 0 || tr.isNegativeZero(s))
+ );
+ },
+ represent: function representYamlFloat(s, o) {
+ var i;
+ if (isNaN(s))
+ switch (o) {
+ case 'lowercase':
+ return '.nan';
+ case 'uppercase':
+ return '.NAN';
+ case 'camelcase':
+ return '.NaN';
+ }
+ else if (Number.POSITIVE_INFINITY === s)
+ switch (o) {
+ case 'lowercase':
+ return '.inf';
+ case 'uppercase':
+ return '.INF';
+ case 'camelcase':
+ return '.Inf';
+ }
+ else if (Number.NEGATIVE_INFINITY === s)
+ switch (o) {
+ case 'lowercase':
+ return '-.inf';
+ case 'uppercase':
+ return '-.INF';
+ case 'camelcase':
+ return '-.Inf';
+ }
+ else if (tr.isNegativeZero(s)) return '-0.0';
+ return (i = s.toString(10)), vr.test(i) ? i.replace('e', '.e') : i;
+ },
+ defaultStyle: 'lowercase'
+ }),
+ _r = dr.extend({ implicit: [fr, mr, gr, br] }),
+ Er = _r,
+ wr = new RegExp('^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$'),
+ Sr = new RegExp(
+ '^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$'
+ );
+ var xr = new ar('tag:yaml.org,2002:timestamp', {
+ kind: 'scalar',
+ resolve: function resolveYamlTimestamp(s) {
+ return null !== s && (null !== wr.exec(s) || null !== Sr.exec(s));
+ },
+ construct: function constructYamlTimestamp(s) {
+ var o,
+ i,
+ u,
+ _,
+ w,
+ x,
+ C,
+ j,
+ L = 0,
+ B = null;
+ if ((null === (o = wr.exec(s)) && (o = Sr.exec(s)), null === o))
+ throw new Error('Date resolve error');
+ if (((i = +o[1]), (u = +o[2] - 1), (_ = +o[3]), !o[4]))
+ return new Date(Date.UTC(i, u, _));
+ if (((w = +o[4]), (x = +o[5]), (C = +o[6]), o[7])) {
+ for (L = o[7].slice(0, 3); L.length < 3; ) L += '0';
+ L = +L;
+ }
+ return (
+ o[9] && ((B = 6e4 * (60 * +o[10] + +(o[11] || 0))), '-' === o[9] && (B = -B)),
+ (j = new Date(Date.UTC(i, u, _, w, x, C, L))),
+ B && j.setTime(j.getTime() - B),
+ j
+ );
+ },
+ instanceOf: Date,
+ represent: function representYamlTimestamp(s) {
+ return s.toISOString();
+ }
+ });
+ var kr = new ar('tag:yaml.org,2002:merge', {
+ kind: 'scalar',
+ resolve: function resolveYamlMerge(s) {
+ return '<<' === s || null === s;
+ }
+ }),
+ Cr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r';
+ var Or = new ar('tag:yaml.org,2002:binary', {
+ kind: 'scalar',
+ resolve: function resolveYamlBinary(s) {
+ if (null === s) return !1;
+ var o,
+ i,
+ u = 0,
+ _ = s.length,
+ w = Cr;
+ for (i = 0; i < _; i++)
+ if (!((o = w.indexOf(s.charAt(i))) > 64)) {
+ if (o < 0) return !1;
+ u += 6;
+ }
+ return u % 8 == 0;
+ },
+ construct: function constructYamlBinary(s) {
+ var o,
+ i,
+ u = s.replace(/[\r\n=]/g, ''),
+ _ = u.length,
+ w = Cr,
+ x = 0,
+ C = [];
+ for (o = 0; o < _; o++)
+ o % 4 == 0 &&
+ o &&
+ (C.push((x >> 16) & 255), C.push((x >> 8) & 255), C.push(255 & x)),
+ (x = (x << 6) | w.indexOf(u.charAt(o)));
+ return (
+ 0 === (i = (_ % 4) * 6)
+ ? (C.push((x >> 16) & 255), C.push((x >> 8) & 255), C.push(255 & x))
+ : 18 === i
+ ? (C.push((x >> 10) & 255), C.push((x >> 2) & 255))
+ : 12 === i && C.push((x >> 4) & 255),
+ new Uint8Array(C)
+ );
+ },
+ predicate: function isBinary(s) {
+ return '[object Uint8Array]' === Object.prototype.toString.call(s);
+ },
+ represent: function representYamlBinary(s) {
+ var o,
+ i,
+ u = '',
+ _ = 0,
+ w = s.length,
+ x = Cr;
+ for (o = 0; o < w; o++)
+ o % 3 == 0 &&
+ o &&
+ ((u += x[(_ >> 18) & 63]),
+ (u += x[(_ >> 12) & 63]),
+ (u += x[(_ >> 6) & 63]),
+ (u += x[63 & _])),
+ (_ = (_ << 8) + s[o]);
+ return (
+ 0 === (i = w % 3)
+ ? ((u += x[(_ >> 18) & 63]),
+ (u += x[(_ >> 12) & 63]),
+ (u += x[(_ >> 6) & 63]),
+ (u += x[63 & _]))
+ : 2 === i
+ ? ((u += x[(_ >> 10) & 63]),
+ (u += x[(_ >> 4) & 63]),
+ (u += x[(_ << 2) & 63]),
+ (u += x[64]))
+ : 1 === i &&
+ ((u += x[(_ >> 2) & 63]),
+ (u += x[(_ << 4) & 63]),
+ (u += x[64]),
+ (u += x[64])),
+ u
+ );
+ }
+ }),
+ Ar = Object.prototype.hasOwnProperty,
+ jr = Object.prototype.toString;
+ var Ir = new ar('tag:yaml.org,2002:omap', {
+ kind: 'sequence',
+ resolve: function resolveYamlOmap(s) {
+ if (null === s) return !0;
+ var o,
+ i,
+ u,
+ _,
+ w,
+ x = [],
+ C = s;
+ for (o = 0, i = C.length; o < i; o += 1) {
+ if (((u = C[o]), (w = !1), '[object Object]' !== jr.call(u))) return !1;
+ for (_ in u)
+ if (Ar.call(u, _)) {
+ if (w) return !1;
+ w = !0;
+ }
+ if (!w) return !1;
+ if (-1 !== x.indexOf(_)) return !1;
+ x.push(_);
+ }
+ return !0;
+ },
+ construct: function constructYamlOmap(s) {
+ return null !== s ? s : [];
+ }
+ }),
+ Pr = Object.prototype.toString;
+ var Mr = new ar('tag:yaml.org,2002:pairs', {
+ kind: 'sequence',
+ resolve: function resolveYamlPairs(s) {
+ if (null === s) return !0;
+ var o,
+ i,
+ u,
+ _,
+ w,
+ x = s;
+ for (w = new Array(x.length), o = 0, i = x.length; o < i; o += 1) {
+ if (((u = x[o]), '[object Object]' !== Pr.call(u))) return !1;
+ if (1 !== (_ = Object.keys(u)).length) return !1;
+ w[o] = [_[0], u[_[0]]];
+ }
+ return !0;
+ },
+ construct: function constructYamlPairs(s) {
+ if (null === s) return [];
+ var o,
+ i,
+ u,
+ _,
+ w,
+ x = s;
+ for (w = new Array(x.length), o = 0, i = x.length; o < i; o += 1)
+ (u = x[o]), (_ = Object.keys(u)), (w[o] = [_[0], u[_[0]]]);
+ return w;
+ }
+ }),
+ Tr = Object.prototype.hasOwnProperty;
+ var Nr = new ar('tag:yaml.org,2002:set', {
+ kind: 'mapping',
+ resolve: function resolveYamlSet(s) {
+ if (null === s) return !0;
+ var o,
+ i = s;
+ for (o in i) if (Tr.call(i, o) && null !== i[o]) return !1;
+ return !0;
+ },
+ construct: function constructYamlSet(s) {
+ return null !== s ? s : {};
+ }
+ }),
+ Rr = Er.extend({ implicit: [xr, kr], explicit: [Or, Ir, Mr, Nr] }),
+ Dr = Object.prototype.hasOwnProperty,
+ Lr =
+ /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,
+ Br = /[\x85\u2028\u2029]/,
+ Fr = /[,\[\]\{\}]/,
+ qr = /^(?:!|!!|![a-z\-]+!)$/i,
+ $r = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
+ function _class(s) {
+ return Object.prototype.toString.call(s);
+ }
+ function is_EOL(s) {
+ return 10 === s || 13 === s;
+ }
+ function is_WHITE_SPACE(s) {
+ return 9 === s || 32 === s;
+ }
+ function is_WS_OR_EOL(s) {
+ return 9 === s || 32 === s || 10 === s || 13 === s;
+ }
+ function is_FLOW_INDICATOR(s) {
+ return 44 === s || 91 === s || 93 === s || 123 === s || 125 === s;
+ }
+ function fromHexCode(s) {
+ var o;
+ return 48 <= s && s <= 57 ? s - 48 : 97 <= (o = 32 | s) && o <= 102 ? o - 97 + 10 : -1;
+ }
+ function simpleEscapeSequence(s) {
+ return 48 === s
+ ? '\0'
+ : 97 === s
+ ? ''
+ : 98 === s
+ ? '\b'
+ : 116 === s || 9 === s
+ ? '\t'
+ : 110 === s
+ ? '\n'
+ : 118 === s
+ ? '\v'
+ : 102 === s
+ ? '\f'
+ : 114 === s
+ ? '\r'
+ : 101 === s
+ ? ''
+ : 32 === s
+ ? ' '
+ : 34 === s
+ ? '"'
+ : 47 === s
+ ? '/'
+ : 92 === s
+ ? '\\'
+ : 78 === s
+ ? '
'
+ : 95 === s
+ ? ' '
+ : 76 === s
+ ? '\u2028'
+ : 80 === s
+ ? '\u2029'
+ : '';
+ }
+ function charFromCodepoint(s) {
+ return s <= 65535
+ ? String.fromCharCode(s)
+ : String.fromCharCode(55296 + ((s - 65536) >> 10), 56320 + ((s - 65536) & 1023));
+ }
+ for (var Vr = new Array(256), Ur = new Array(256), zr = 0; zr < 256; zr++)
+ (Vr[zr] = simpleEscapeSequence(zr) ? 1 : 0), (Ur[zr] = simpleEscapeSequence(zr));
+ function State$1(s, o) {
+ (this.input = s),
+ (this.filename = o.filename || null),
+ (this.schema = o.schema || Rr),
+ (this.onWarning = o.onWarning || null),
+ (this.legacy = o.legacy || !1),
+ (this.json = o.json || !1),
+ (this.listener = o.listener || null),
+ (this.implicitTypes = this.schema.compiledImplicit),
+ (this.typeMap = this.schema.compiledTypeMap),
+ (this.length = s.length),
+ (this.position = 0),
+ (this.line = 0),
+ (this.lineStart = 0),
+ (this.lineIndent = 0),
+ (this.firstTabInLine = -1),
+ (this.documents = []);
+ }
+ function generateError(s, o) {
+ var i = {
+ name: s.filename,
+ buffer: s.input.slice(0, -1),
+ position: s.position,
+ line: s.line,
+ column: s.position - s.lineStart
+ };
+ return (i.snippet = nr(i)), new rr(o, i);
+ }
+ function throwError(s, o) {
+ throw generateError(s, o);
+ }
+ function throwWarning(s, o) {
+ s.onWarning && s.onWarning.call(null, generateError(s, o));
+ }
+ var Wr = {
+ YAML: function handleYamlDirective(s, o, i) {
+ var u, _, w;
+ null !== s.version && throwError(s, 'duplication of %YAML directive'),
+ 1 !== i.length && throwError(s, 'YAML directive accepts exactly one argument'),
+ null === (u = /^([0-9]+)\.([0-9]+)$/.exec(i[0])) &&
+ throwError(s, 'ill-formed argument of the YAML directive'),
+ (_ = parseInt(u[1], 10)),
+ (w = parseInt(u[2], 10)),
+ 1 !== _ && throwError(s, 'unacceptable YAML version of the document'),
+ (s.version = i[0]),
+ (s.checkLineBreaks = w < 2),
+ 1 !== w && 2 !== w && throwWarning(s, 'unsupported YAML version of the document');
+ },
+ TAG: function handleTagDirective(s, o, i) {
+ var u, _;
+ 2 !== i.length && throwError(s, 'TAG directive accepts exactly two arguments'),
+ (u = i[0]),
+ (_ = i[1]),
+ qr.test(u) ||
+ throwError(s, 'ill-formed tag handle (first argument) of the TAG directive'),
+ Dr.call(s.tagMap, u) &&
+ throwError(s, 'there is a previously declared suffix for "' + u + '" tag handle'),
+ $r.test(_) ||
+ throwError(s, 'ill-formed tag prefix (second argument) of the TAG directive');
+ try {
+ _ = decodeURIComponent(_);
+ } catch (o) {
+ throwError(s, 'tag prefix is malformed: ' + _);
+ }
+ s.tagMap[u] = _;
+ }
+ };
+ function captureSegment(s, o, i, u) {
+ var _, w, x, C;
+ if (o < i) {
+ if (((C = s.input.slice(o, i)), u))
+ for (_ = 0, w = C.length; _ < w; _ += 1)
+ 9 === (x = C.charCodeAt(_)) ||
+ (32 <= x && x <= 1114111) ||
+ throwError(s, 'expected valid JSON character');
+ else Lr.test(C) && throwError(s, 'the stream contains non-printable characters');
+ s.result += C;
+ }
+ }
+ function mergeMappings(s, o, i, u) {
+ var _, w, x, C;
+ for (
+ tr.isObject(i) ||
+ throwError(s, 'cannot merge mappings; the provided source object is unacceptable'),
+ x = 0,
+ C = (_ = Object.keys(i)).length;
+ x < C;
+ x += 1
+ )
+ (w = _[x]), Dr.call(o, w) || ((o[w] = i[w]), (u[w] = !0));
+ }
+ function storeMappingPair(s, o, i, u, _, w, x, C, j) {
+ var L, B;
+ if (Array.isArray(_))
+ for (L = 0, B = (_ = Array.prototype.slice.call(_)).length; L < B; L += 1)
+ Array.isArray(_[L]) && throwError(s, 'nested arrays are not supported inside keys'),
+ 'object' == typeof _ &&
+ '[object Object]' === _class(_[L]) &&
+ (_[L] = '[object Object]');
+ if (
+ ('object' == typeof _ && '[object Object]' === _class(_) && (_ = '[object Object]'),
+ (_ = String(_)),
+ null === o && (o = {}),
+ 'tag:yaml.org,2002:merge' === u)
+ )
+ if (Array.isArray(w))
+ for (L = 0, B = w.length; L < B; L += 1) mergeMappings(s, o, w[L], i);
+ else mergeMappings(s, o, w, i);
+ else
+ s.json ||
+ Dr.call(i, _) ||
+ !Dr.call(o, _) ||
+ ((s.line = x || s.line),
+ (s.lineStart = C || s.lineStart),
+ (s.position = j || s.position),
+ throwError(s, 'duplicated mapping key')),
+ '__proto__' === _
+ ? Object.defineProperty(o, _, {
+ configurable: !0,
+ enumerable: !0,
+ writable: !0,
+ value: w
+ })
+ : (o[_] = w),
+ delete i[_];
+ return o;
+ }
+ function readLineBreak(s) {
+ var o;
+ 10 === (o = s.input.charCodeAt(s.position))
+ ? s.position++
+ : 13 === o
+ ? (s.position++, 10 === s.input.charCodeAt(s.position) && s.position++)
+ : throwError(s, 'a line break is expected'),
+ (s.line += 1),
+ (s.lineStart = s.position),
+ (s.firstTabInLine = -1);
+ }
+ function skipSeparationSpace(s, o, i) {
+ for (var u = 0, _ = s.input.charCodeAt(s.position); 0 !== _; ) {
+ for (; is_WHITE_SPACE(_); )
+ 9 === _ && -1 === s.firstTabInLine && (s.firstTabInLine = s.position),
+ (_ = s.input.charCodeAt(++s.position));
+ if (o && 35 === _)
+ do {
+ _ = s.input.charCodeAt(++s.position);
+ } while (10 !== _ && 13 !== _ && 0 !== _);
+ if (!is_EOL(_)) break;
+ for (
+ readLineBreak(s), _ = s.input.charCodeAt(s.position), u++, s.lineIndent = 0;
+ 32 === _;
+
+ )
+ s.lineIndent++, (_ = s.input.charCodeAt(++s.position));
+ }
+ return (
+ -1 !== i && 0 !== u && s.lineIndent < i && throwWarning(s, 'deficient indentation'), u
+ );
+ }
+ function testDocumentSeparator(s) {
+ var o,
+ i = s.position;
+ return !(
+ (45 !== (o = s.input.charCodeAt(i)) && 46 !== o) ||
+ o !== s.input.charCodeAt(i + 1) ||
+ o !== s.input.charCodeAt(i + 2) ||
+ ((i += 3), 0 !== (o = s.input.charCodeAt(i)) && !is_WS_OR_EOL(o))
+ );
+ }
+ function writeFoldedLines(s, o) {
+ 1 === o ? (s.result += ' ') : o > 1 && (s.result += tr.repeat('\n', o - 1));
+ }
+ function readBlockSequence(s, o) {
+ var i,
+ u,
+ _ = s.tag,
+ w = s.anchor,
+ x = [],
+ C = !1;
+ if (-1 !== s.firstTabInLine) return !1;
+ for (
+ null !== s.anchor && (s.anchorMap[s.anchor] = x), u = s.input.charCodeAt(s.position);
+ 0 !== u &&
+ (-1 !== s.firstTabInLine &&
+ ((s.position = s.firstTabInLine),
+ throwError(s, 'tab characters must not be used in indentation')),
+ 45 === u) &&
+ is_WS_OR_EOL(s.input.charCodeAt(s.position + 1));
+
+ )
+ if (((C = !0), s.position++, skipSeparationSpace(s, !0, -1) && s.lineIndent <= o))
+ x.push(null), (u = s.input.charCodeAt(s.position));
+ else if (
+ ((i = s.line),
+ composeNode(s, o, 3, !1, !0),
+ x.push(s.result),
+ skipSeparationSpace(s, !0, -1),
+ (u = s.input.charCodeAt(s.position)),
+ (s.line === i || s.lineIndent > o) && 0 !== u)
+ )
+ throwError(s, 'bad indentation of a sequence entry');
+ else if (s.lineIndent < o) break;
+ return !!C && ((s.tag = _), (s.anchor = w), (s.kind = 'sequence'), (s.result = x), !0);
+ }
+ function readTagProperty(s) {
+ var o,
+ i,
+ u,
+ _,
+ w = !1,
+ x = !1;
+ if (33 !== (_ = s.input.charCodeAt(s.position))) return !1;
+ if (
+ (null !== s.tag && throwError(s, 'duplication of a tag property'),
+ 60 === (_ = s.input.charCodeAt(++s.position))
+ ? ((w = !0), (_ = s.input.charCodeAt(++s.position)))
+ : 33 === _
+ ? ((x = !0), (i = '!!'), (_ = s.input.charCodeAt(++s.position)))
+ : (i = '!'),
+ (o = s.position),
+ w)
+ ) {
+ do {
+ _ = s.input.charCodeAt(++s.position);
+ } while (0 !== _ && 62 !== _);
+ s.position < s.length
+ ? ((u = s.input.slice(o, s.position)), (_ = s.input.charCodeAt(++s.position)))
+ : throwError(s, 'unexpected end of the stream within a verbatim tag');
+ } else {
+ for (; 0 !== _ && !is_WS_OR_EOL(_); )
+ 33 === _ &&
+ (x
+ ? throwError(s, 'tag suffix cannot contain exclamation marks')
+ : ((i = s.input.slice(o - 1, s.position + 1)),
+ qr.test(i) || throwError(s, 'named tag handle cannot contain such characters'),
+ (x = !0),
+ (o = s.position + 1))),
+ (_ = s.input.charCodeAt(++s.position));
+ (u = s.input.slice(o, s.position)),
+ Fr.test(u) && throwError(s, 'tag suffix cannot contain flow indicator characters');
+ }
+ u && !$r.test(u) && throwError(s, 'tag name cannot contain such characters: ' + u);
+ try {
+ u = decodeURIComponent(u);
+ } catch (o) {
+ throwError(s, 'tag name is malformed: ' + u);
+ }
+ return (
+ w
+ ? (s.tag = u)
+ : Dr.call(s.tagMap, i)
+ ? (s.tag = s.tagMap[i] + u)
+ : '!' === i
+ ? (s.tag = '!' + u)
+ : '!!' === i
+ ? (s.tag = 'tag:yaml.org,2002:' + u)
+ : throwError(s, 'undeclared tag handle "' + i + '"'),
+ !0
+ );
+ }
+ function readAnchorProperty(s) {
+ var o, i;
+ if (38 !== (i = s.input.charCodeAt(s.position))) return !1;
+ for (
+ null !== s.anchor && throwError(s, 'duplication of an anchor property'),
+ i = s.input.charCodeAt(++s.position),
+ o = s.position;
+ 0 !== i && !is_WS_OR_EOL(i) && !is_FLOW_INDICATOR(i);
+
+ )
+ i = s.input.charCodeAt(++s.position);
+ return (
+ s.position === o &&
+ throwError(s, 'name of an anchor node must contain at least one character'),
+ (s.anchor = s.input.slice(o, s.position)),
+ !0
+ );
+ }
+ function composeNode(s, o, i, u, _) {
+ var w,
+ x,
+ C,
+ j,
+ L,
+ B,
+ $,
+ V,
+ U,
+ z = 1,
+ Y = !1,
+ Z = !1;
+ if (
+ (null !== s.listener && s.listener('open', s),
+ (s.tag = null),
+ (s.anchor = null),
+ (s.kind = null),
+ (s.result = null),
+ (w = x = C = 4 === i || 3 === i),
+ u &&
+ skipSeparationSpace(s, !0, -1) &&
+ ((Y = !0),
+ s.lineIndent > o
+ ? (z = 1)
+ : s.lineIndent === o
+ ? (z = 0)
+ : s.lineIndent < o && (z = -1)),
+ 1 === z)
+ )
+ for (; readTagProperty(s) || readAnchorProperty(s); )
+ skipSeparationSpace(s, !0, -1)
+ ? ((Y = !0),
+ (C = w),
+ s.lineIndent > o
+ ? (z = 1)
+ : s.lineIndent === o
+ ? (z = 0)
+ : s.lineIndent < o && (z = -1))
+ : (C = !1);
+ if (
+ (C && (C = Y || _),
+ (1 !== z && 4 !== i) ||
+ ((V = 1 === i || 2 === i ? o : o + 1),
+ (U = s.position - s.lineStart),
+ 1 === z
+ ? (C &&
+ (readBlockSequence(s, U) ||
+ (function readBlockMapping(s, o, i) {
+ var u,
+ _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B = s.tag,
+ $ = s.anchor,
+ V = {},
+ U = Object.create(null),
+ z = null,
+ Y = null,
+ Z = null,
+ ee = !1,
+ ie = !1;
+ if (-1 !== s.firstTabInLine) return !1;
+ for (
+ null !== s.anchor && (s.anchorMap[s.anchor] = V),
+ L = s.input.charCodeAt(s.position);
+ 0 !== L;
+
+ ) {
+ if (
+ (ee ||
+ -1 === s.firstTabInLine ||
+ ((s.position = s.firstTabInLine),
+ throwError(s, 'tab characters must not be used in indentation')),
+ (u = s.input.charCodeAt(s.position + 1)),
+ (w = s.line),
+ (63 !== L && 58 !== L) || !is_WS_OR_EOL(u))
+ ) {
+ if (
+ ((x = s.line),
+ (C = s.lineStart),
+ (j = s.position),
+ !composeNode(s, i, 2, !1, !0))
+ )
+ break;
+ if (s.line === w) {
+ for (L = s.input.charCodeAt(s.position); is_WHITE_SPACE(L); )
+ L = s.input.charCodeAt(++s.position);
+ if (58 === L)
+ is_WS_OR_EOL((L = s.input.charCodeAt(++s.position))) ||
+ throwError(
+ s,
+ 'a whitespace character is expected after the key-value separator within a block mapping'
+ ),
+ ee &&
+ (storeMappingPair(s, V, U, z, Y, null, x, C, j),
+ (z = Y = Z = null)),
+ (ie = !0),
+ (ee = !1),
+ (_ = !1),
+ (z = s.tag),
+ (Y = s.result);
+ else {
+ if (!ie) return (s.tag = B), (s.anchor = $), !0;
+ throwError(
+ s,
+ 'can not read an implicit mapping pair; a colon is missed'
+ );
+ }
+ } else {
+ if (!ie) return (s.tag = B), (s.anchor = $), !0;
+ throwError(
+ s,
+ 'can not read a block mapping entry; a multiline key may not be an implicit key'
+ );
+ }
+ } else
+ 63 === L
+ ? (ee &&
+ (storeMappingPair(s, V, U, z, Y, null, x, C, j),
+ (z = Y = Z = null)),
+ (ie = !0),
+ (ee = !0),
+ (_ = !0))
+ : ee
+ ? ((ee = !1), (_ = !0))
+ : throwError(
+ s,
+ 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'
+ ),
+ (s.position += 1),
+ (L = u);
+ if (
+ ((s.line === w || s.lineIndent > o) &&
+ (ee && ((x = s.line), (C = s.lineStart), (j = s.position)),
+ composeNode(s, o, 4, !0, _) && (ee ? (Y = s.result) : (Z = s.result)),
+ ee ||
+ (storeMappingPair(s, V, U, z, Y, Z, x, C, j), (z = Y = Z = null)),
+ skipSeparationSpace(s, !0, -1),
+ (L = s.input.charCodeAt(s.position))),
+ (s.line === w || s.lineIndent > o) && 0 !== L)
+ )
+ throwError(s, 'bad indentation of a mapping entry');
+ else if (s.lineIndent < o) break;
+ }
+ return (
+ ee && storeMappingPair(s, V, U, z, Y, null, x, C, j),
+ ie && ((s.tag = B), (s.anchor = $), (s.kind = 'mapping'), (s.result = V)),
+ ie
+ );
+ })(s, U, V))) ||
+ (function readFlowCollection(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B,
+ $,
+ V,
+ U,
+ z = !0,
+ Y = s.tag,
+ Z = s.anchor,
+ ee = Object.create(null);
+ if (91 === (U = s.input.charCodeAt(s.position))) (x = 93), (L = !1), (w = []);
+ else {
+ if (123 !== U) return !1;
+ (x = 125), (L = !0), (w = {});
+ }
+ for (
+ null !== s.anchor && (s.anchorMap[s.anchor] = w),
+ U = s.input.charCodeAt(++s.position);
+ 0 !== U;
+
+ ) {
+ if (
+ (skipSeparationSpace(s, !0, o), (U = s.input.charCodeAt(s.position)) === x)
+ )
+ return (
+ s.position++,
+ (s.tag = Y),
+ (s.anchor = Z),
+ (s.kind = L ? 'mapping' : 'sequence'),
+ (s.result = w),
+ !0
+ );
+ z
+ ? 44 === U && throwError(s, "expected the node content, but found ','")
+ : throwError(s, 'missed comma between flow collection entries'),
+ (V = null),
+ (C = j = !1),
+ 63 === U &&
+ is_WS_OR_EOL(s.input.charCodeAt(s.position + 1)) &&
+ ((C = j = !0), s.position++, skipSeparationSpace(s, !0, o)),
+ (i = s.line),
+ (u = s.lineStart),
+ (_ = s.position),
+ composeNode(s, o, 1, !1, !0),
+ ($ = s.tag),
+ (B = s.result),
+ skipSeparationSpace(s, !0, o),
+ (U = s.input.charCodeAt(s.position)),
+ (!j && s.line !== i) ||
+ 58 !== U ||
+ ((C = !0),
+ (U = s.input.charCodeAt(++s.position)),
+ skipSeparationSpace(s, !0, o),
+ composeNode(s, o, 1, !1, !0),
+ (V = s.result)),
+ L
+ ? storeMappingPair(s, w, ee, $, B, V, i, u, _)
+ : C
+ ? w.push(storeMappingPair(s, null, ee, $, B, V, i, u, _))
+ : w.push(B),
+ skipSeparationSpace(s, !0, o),
+ 44 === (U = s.input.charCodeAt(s.position))
+ ? ((z = !0), (U = s.input.charCodeAt(++s.position)))
+ : (z = !1);
+ }
+ throwError(s, 'unexpected end of the stream within a flow collection');
+ })(s, V)
+ ? (Z = !0)
+ : ((x &&
+ (function readBlockScalar(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C = 1,
+ j = !1,
+ L = !1,
+ B = o,
+ $ = 0,
+ V = !1;
+ if (124 === (w = s.input.charCodeAt(s.position))) u = !1;
+ else {
+ if (62 !== w) return !1;
+ u = !0;
+ }
+ for (s.kind = 'scalar', s.result = ''; 0 !== w; )
+ if (43 === (w = s.input.charCodeAt(++s.position)) || 45 === w)
+ 1 === C
+ ? (C = 43 === w ? 3 : 2)
+ : throwError(s, 'repeat of a chomping mode identifier');
+ else {
+ if (!((_ = 48 <= (x = w) && x <= 57 ? x - 48 : -1) >= 0)) break;
+ 0 === _
+ ? throwError(
+ s,
+ 'bad explicit indentation width of a block scalar; it cannot be less than one'
+ )
+ : L
+ ? throwError(s, 'repeat of an indentation width identifier')
+ : ((B = o + _ - 1), (L = !0));
+ }
+ if (is_WHITE_SPACE(w)) {
+ do {
+ w = s.input.charCodeAt(++s.position);
+ } while (is_WHITE_SPACE(w));
+ if (35 === w)
+ do {
+ w = s.input.charCodeAt(++s.position);
+ } while (!is_EOL(w) && 0 !== w);
+ }
+ for (; 0 !== w; ) {
+ for (
+ readLineBreak(s), s.lineIndent = 0, w = s.input.charCodeAt(s.position);
+ (!L || s.lineIndent < B) && 32 === w;
+
+ )
+ s.lineIndent++, (w = s.input.charCodeAt(++s.position));
+ if ((!L && s.lineIndent > B && (B = s.lineIndent), is_EOL(w))) $++;
+ else {
+ if (s.lineIndent < B) {
+ 3 === C
+ ? (s.result += tr.repeat('\n', j ? 1 + $ : $))
+ : 1 === C && j && (s.result += '\n');
+ break;
+ }
+ for (
+ u
+ ? is_WHITE_SPACE(w)
+ ? ((V = !0), (s.result += tr.repeat('\n', j ? 1 + $ : $)))
+ : V
+ ? ((V = !1), (s.result += tr.repeat('\n', $ + 1)))
+ : 0 === $
+ ? j && (s.result += ' ')
+ : (s.result += tr.repeat('\n', $))
+ : (s.result += tr.repeat('\n', j ? 1 + $ : $)),
+ j = !0,
+ L = !0,
+ $ = 0,
+ i = s.position;
+ !is_EOL(w) && 0 !== w;
+
+ )
+ w = s.input.charCodeAt(++s.position);
+ captureSegment(s, i, s.position, !1);
+ }
+ }
+ return !0;
+ })(s, V)) ||
+ (function readSingleQuotedScalar(s, o) {
+ var i, u, _;
+ if (39 !== (i = s.input.charCodeAt(s.position))) return !1;
+ for (
+ s.kind = 'scalar', s.result = '', s.position++, u = _ = s.position;
+ 0 !== (i = s.input.charCodeAt(s.position));
+
+ )
+ if (39 === i) {
+ if (
+ (captureSegment(s, u, s.position, !0),
+ 39 !== (i = s.input.charCodeAt(++s.position)))
+ )
+ return !0;
+ (u = s.position), s.position++, (_ = s.position);
+ } else
+ is_EOL(i)
+ ? (captureSegment(s, u, _, !0),
+ writeFoldedLines(s, skipSeparationSpace(s, !1, o)),
+ (u = _ = s.position))
+ : s.position === s.lineStart && testDocumentSeparator(s)
+ ? throwError(
+ s,
+ 'unexpected end of the document within a single quoted scalar'
+ )
+ : (s.position++, (_ = s.position));
+ throwError(s, 'unexpected end of the stream within a single quoted scalar');
+ })(s, V) ||
+ (function readDoubleQuotedScalar(s, o) {
+ var i, u, _, w, x, C, j;
+ if (34 !== (C = s.input.charCodeAt(s.position))) return !1;
+ for (
+ s.kind = 'scalar', s.result = '', s.position++, i = u = s.position;
+ 0 !== (C = s.input.charCodeAt(s.position));
+
+ ) {
+ if (34 === C) return captureSegment(s, i, s.position, !0), s.position++, !0;
+ if (92 === C) {
+ if (
+ (captureSegment(s, i, s.position, !0),
+ is_EOL((C = s.input.charCodeAt(++s.position))))
+ )
+ skipSeparationSpace(s, !1, o);
+ else if (C < 256 && Vr[C]) (s.result += Ur[C]), s.position++;
+ else if (
+ (x = 120 === (j = C) ? 2 : 117 === j ? 4 : 85 === j ? 8 : 0) > 0
+ ) {
+ for (_ = x, w = 0; _ > 0; _--)
+ (x = fromHexCode((C = s.input.charCodeAt(++s.position)))) >= 0
+ ? (w = (w << 4) + x)
+ : throwError(s, 'expected hexadecimal character');
+ (s.result += charFromCodepoint(w)), s.position++;
+ } else throwError(s, 'unknown escape sequence');
+ i = u = s.position;
+ } else
+ is_EOL(C)
+ ? (captureSegment(s, i, u, !0),
+ writeFoldedLines(s, skipSeparationSpace(s, !1, o)),
+ (i = u = s.position))
+ : s.position === s.lineStart && testDocumentSeparator(s)
+ ? throwError(
+ s,
+ 'unexpected end of the document within a double quoted scalar'
+ )
+ : (s.position++, (u = s.position));
+ }
+ throwError(s, 'unexpected end of the stream within a double quoted scalar');
+ })(s, V)
+ ? (Z = !0)
+ : !(function readAlias(s) {
+ var o, i, u;
+ if (42 !== (u = s.input.charCodeAt(s.position))) return !1;
+ for (
+ u = s.input.charCodeAt(++s.position), o = s.position;
+ 0 !== u && !is_WS_OR_EOL(u) && !is_FLOW_INDICATOR(u);
+
+ )
+ u = s.input.charCodeAt(++s.position);
+ return (
+ s.position === o &&
+ throwError(
+ s,
+ 'name of an alias node must contain at least one character'
+ ),
+ (i = s.input.slice(o, s.position)),
+ Dr.call(s.anchorMap, i) ||
+ throwError(s, 'unidentified alias "' + i + '"'),
+ (s.result = s.anchorMap[i]),
+ skipSeparationSpace(s, !0, -1),
+ !0
+ );
+ })(s)
+ ? (function readPlainScalar(s, o, i) {
+ var u,
+ _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B,
+ $ = s.kind,
+ V = s.result;
+ if (
+ is_WS_OR_EOL((B = s.input.charCodeAt(s.position))) ||
+ is_FLOW_INDICATOR(B) ||
+ 35 === B ||
+ 38 === B ||
+ 42 === B ||
+ 33 === B ||
+ 124 === B ||
+ 62 === B ||
+ 39 === B ||
+ 34 === B ||
+ 37 === B ||
+ 64 === B ||
+ 96 === B
+ )
+ return !1;
+ if (
+ (63 === B || 45 === B) &&
+ (is_WS_OR_EOL((u = s.input.charCodeAt(s.position + 1))) ||
+ (i && is_FLOW_INDICATOR(u)))
+ )
+ return !1;
+ for (
+ s.kind = 'scalar', s.result = '', _ = w = s.position, x = !1;
+ 0 !== B;
+
+ ) {
+ if (58 === B) {
+ if (
+ is_WS_OR_EOL((u = s.input.charCodeAt(s.position + 1))) ||
+ (i && is_FLOW_INDICATOR(u))
+ )
+ break;
+ } else if (35 === B) {
+ if (is_WS_OR_EOL(s.input.charCodeAt(s.position - 1))) break;
+ } else {
+ if (
+ (s.position === s.lineStart && testDocumentSeparator(s)) ||
+ (i && is_FLOW_INDICATOR(B))
+ )
+ break;
+ if (is_EOL(B)) {
+ if (
+ ((C = s.line),
+ (j = s.lineStart),
+ (L = s.lineIndent),
+ skipSeparationSpace(s, !1, -1),
+ s.lineIndent >= o)
+ ) {
+ (x = !0), (B = s.input.charCodeAt(s.position));
+ continue;
+ }
+ (s.position = w),
+ (s.line = C),
+ (s.lineStart = j),
+ (s.lineIndent = L);
+ break;
+ }
+ }
+ x &&
+ (captureSegment(s, _, w, !1),
+ writeFoldedLines(s, s.line - C),
+ (_ = w = s.position),
+ (x = !1)),
+ is_WHITE_SPACE(B) || (w = s.position + 1),
+ (B = s.input.charCodeAt(++s.position));
+ }
+ return (
+ captureSegment(s, _, w, !1),
+ !!s.result || ((s.kind = $), (s.result = V), !1)
+ );
+ })(s, V, 1 === i) && ((Z = !0), null === s.tag && (s.tag = '?'))
+ : ((Z = !0),
+ (null === s.tag && null === s.anchor) ||
+ throwError(s, 'alias node should not have any properties')),
+ null !== s.anchor && (s.anchorMap[s.anchor] = s.result))
+ : 0 === z && (Z = C && readBlockSequence(s, U))),
+ null === s.tag)
+ )
+ null !== s.anchor && (s.anchorMap[s.anchor] = s.result);
+ else if ('?' === s.tag) {
+ for (
+ null !== s.result &&
+ 'scalar' !== s.kind &&
+ throwError(
+ s,
+ 'unacceptable node kind for !> tag; it should be "scalar", not "' + s.kind + '"'
+ ),
+ j = 0,
+ L = s.implicitTypes.length;
+ j < L;
+ j += 1
+ )
+ if (($ = s.implicitTypes[j]).resolve(s.result)) {
+ (s.result = $.construct(s.result)),
+ (s.tag = $.tag),
+ null !== s.anchor && (s.anchorMap[s.anchor] = s.result);
+ break;
+ }
+ } else if ('!' !== s.tag) {
+ if (Dr.call(s.typeMap[s.kind || 'fallback'], s.tag))
+ $ = s.typeMap[s.kind || 'fallback'][s.tag];
+ else
+ for (
+ $ = null, j = 0, L = (B = s.typeMap.multi[s.kind || 'fallback']).length;
+ j < L;
+ j += 1
+ )
+ if (s.tag.slice(0, B[j].tag.length) === B[j].tag) {
+ $ = B[j];
+ break;
+ }
+ $ || throwError(s, 'unknown tag !<' + s.tag + '>'),
+ null !== s.result &&
+ $.kind !== s.kind &&
+ throwError(
+ s,
+ 'unacceptable node kind for !<' +
+ s.tag +
+ '> tag; it should be "' +
+ $.kind +
+ '", not "' +
+ s.kind +
+ '"'
+ ),
+ $.resolve(s.result, s.tag)
+ ? ((s.result = $.construct(s.result, s.tag)),
+ null !== s.anchor && (s.anchorMap[s.anchor] = s.result))
+ : throwError(s, 'cannot resolve a node with !<' + s.tag + '> explicit tag');
+ }
+ return (
+ null !== s.listener && s.listener('close', s), null !== s.tag || null !== s.anchor || Z
+ );
+ }
+ function readDocument(s) {
+ var o,
+ i,
+ u,
+ _,
+ w = s.position,
+ x = !1;
+ for (
+ s.version = null,
+ s.checkLineBreaks = s.legacy,
+ s.tagMap = Object.create(null),
+ s.anchorMap = Object.create(null);
+ 0 !== (_ = s.input.charCodeAt(s.position)) &&
+ (skipSeparationSpace(s, !0, -1),
+ (_ = s.input.charCodeAt(s.position)),
+ !(s.lineIndent > 0 || 37 !== _));
+
+ ) {
+ for (
+ x = !0, _ = s.input.charCodeAt(++s.position), o = s.position;
+ 0 !== _ && !is_WS_OR_EOL(_);
+
+ )
+ _ = s.input.charCodeAt(++s.position);
+ for (
+ u = [],
+ (i = s.input.slice(o, s.position)).length < 1 &&
+ throwError(s, 'directive name must not be less than one character in length');
+ 0 !== _;
+
+ ) {
+ for (; is_WHITE_SPACE(_); ) _ = s.input.charCodeAt(++s.position);
+ if (35 === _) {
+ do {
+ _ = s.input.charCodeAt(++s.position);
+ } while (0 !== _ && !is_EOL(_));
+ break;
+ }
+ if (is_EOL(_)) break;
+ for (o = s.position; 0 !== _ && !is_WS_OR_EOL(_); )
+ _ = s.input.charCodeAt(++s.position);
+ u.push(s.input.slice(o, s.position));
+ }
+ 0 !== _ && readLineBreak(s),
+ Dr.call(Wr, i)
+ ? Wr[i](s, i, u)
+ : throwWarning(s, 'unknown document directive "' + i + '"');
+ }
+ skipSeparationSpace(s, !0, -1),
+ 0 === s.lineIndent &&
+ 45 === s.input.charCodeAt(s.position) &&
+ 45 === s.input.charCodeAt(s.position + 1) &&
+ 45 === s.input.charCodeAt(s.position + 2)
+ ? ((s.position += 3), skipSeparationSpace(s, !0, -1))
+ : x && throwError(s, 'directives end mark is expected'),
+ composeNode(s, s.lineIndent - 1, 4, !1, !0),
+ skipSeparationSpace(s, !0, -1),
+ s.checkLineBreaks &&
+ Br.test(s.input.slice(w, s.position)) &&
+ throwWarning(s, 'non-ASCII line breaks are interpreted as content'),
+ s.documents.push(s.result),
+ s.position === s.lineStart && testDocumentSeparator(s)
+ ? 46 === s.input.charCodeAt(s.position) &&
+ ((s.position += 3), skipSeparationSpace(s, !0, -1))
+ : s.position < s.length - 1 &&
+ throwError(s, 'end of the stream or a document separator is expected');
+ }
+ function loadDocuments(s, o) {
+ (o = o || {}),
+ 0 !== (s = String(s)).length &&
+ (10 !== s.charCodeAt(s.length - 1) &&
+ 13 !== s.charCodeAt(s.length - 1) &&
+ (s += '\n'),
+ 65279 === s.charCodeAt(0) && (s = s.slice(1)));
+ var i = new State$1(s, o),
+ u = s.indexOf('\0');
+ for (
+ -1 !== u && ((i.position = u), throwError(i, 'null byte is not allowed in input')),
+ i.input += '\0';
+ 32 === i.input.charCodeAt(i.position);
+
+ )
+ (i.lineIndent += 1), (i.position += 1);
+ for (; i.position < i.length - 1; ) readDocument(i);
+ return i.documents;
+ }
+ var Kr = {
+ loadAll: function loadAll$1(s, o, i) {
+ null !== o && 'object' == typeof o && void 0 === i && ((i = o), (o = null));
+ var u = loadDocuments(s, i);
+ if ('function' != typeof o) return u;
+ for (var _ = 0, w = u.length; _ < w; _ += 1) o(u[_]);
+ },
+ load: function load$1(s, o) {
+ var i = loadDocuments(s, o);
+ if (0 !== i.length) {
+ if (1 === i.length) return i[0];
+ throw new rr('expected a single document in the stream, but found more');
+ }
+ }
+ },
+ Hr = Object.prototype.toString,
+ Jr = Object.prototype.hasOwnProperty,
+ Gr = 65279,
+ Yr = {
+ 0: '\\0',
+ 7: '\\a',
+ 8: '\\b',
+ 9: '\\t',
+ 10: '\\n',
+ 11: '\\v',
+ 12: '\\f',
+ 13: '\\r',
+ 27: '\\e',
+ 34: '\\"',
+ 92: '\\\\',
+ 133: '\\N',
+ 160: '\\_',
+ 8232: '\\L',
+ 8233: '\\P'
+ },
+ Xr = [
+ 'y',
+ 'Y',
+ 'yes',
+ 'Yes',
+ 'YES',
+ 'on',
+ 'On',
+ 'ON',
+ 'n',
+ 'N',
+ 'no',
+ 'No',
+ 'NO',
+ 'off',
+ 'Off',
+ 'OFF'
+ ],
+ Zr = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
+ function encodeHex(s) {
+ var o, i, u;
+ if (((o = s.toString(16).toUpperCase()), s <= 255)) (i = 'x'), (u = 2);
+ else if (s <= 65535) (i = 'u'), (u = 4);
+ else {
+ if (!(s <= 4294967295))
+ throw new rr('code point within a string may not be greater than 0xFFFFFFFF');
+ (i = 'U'), (u = 8);
+ }
+ return '\\' + i + tr.repeat('0', u - o.length) + o;
+ }
+ function State(s) {
+ (this.schema = s.schema || Rr),
+ (this.indent = Math.max(1, s.indent || 2)),
+ (this.noArrayIndent = s.noArrayIndent || !1),
+ (this.skipInvalid = s.skipInvalid || !1),
+ (this.flowLevel = tr.isNothing(s.flowLevel) ? -1 : s.flowLevel),
+ (this.styleMap = (function compileStyleMap(s, o) {
+ var i, u, _, w, x, C, j;
+ if (null === o) return {};
+ for (i = {}, _ = 0, w = (u = Object.keys(o)).length; _ < w; _ += 1)
+ (x = u[_]),
+ (C = String(o[x])),
+ '!!' === x.slice(0, 2) && (x = 'tag:yaml.org,2002:' + x.slice(2)),
+ (j = s.compiledTypeMap.fallback[x]) &&
+ Jr.call(j.styleAliases, C) &&
+ (C = j.styleAliases[C]),
+ (i[x] = C);
+ return i;
+ })(this.schema, s.styles || null)),
+ (this.sortKeys = s.sortKeys || !1),
+ (this.lineWidth = s.lineWidth || 80),
+ (this.noRefs = s.noRefs || !1),
+ (this.noCompatMode = s.noCompatMode || !1),
+ (this.condenseFlow = s.condenseFlow || !1),
+ (this.quotingType = '"' === s.quotingType ? 2 : 1),
+ (this.forceQuotes = s.forceQuotes || !1),
+ (this.replacer = 'function' == typeof s.replacer ? s.replacer : null),
+ (this.implicitTypes = this.schema.compiledImplicit),
+ (this.explicitTypes = this.schema.compiledExplicit),
+ (this.tag = null),
+ (this.result = ''),
+ (this.duplicates = []),
+ (this.usedDuplicates = null);
+ }
+ function indentString(s, o) {
+ for (var i, u = tr.repeat(' ', o), _ = 0, w = -1, x = '', C = s.length; _ < C; )
+ -1 === (w = s.indexOf('\n', _))
+ ? ((i = s.slice(_)), (_ = C))
+ : ((i = s.slice(_, w + 1)), (_ = w + 1)),
+ i.length && '\n' !== i && (x += u),
+ (x += i);
+ return x;
+ }
+ function generateNextLine(s, o) {
+ return '\n' + tr.repeat(' ', s.indent * o);
+ }
+ function isWhitespace(s) {
+ return 32 === s || 9 === s;
+ }
+ function isPrintable(s) {
+ return (
+ (32 <= s && s <= 126) ||
+ (161 <= s && s <= 55295 && 8232 !== s && 8233 !== s) ||
+ (57344 <= s && s <= 65533 && s !== Gr) ||
+ (65536 <= s && s <= 1114111)
+ );
+ }
+ function isNsCharOrWhitespace(s) {
+ return isPrintable(s) && s !== Gr && 13 !== s && 10 !== s;
+ }
+ function isPlainSafe(s, o, i) {
+ var u = isNsCharOrWhitespace(s),
+ _ = u && !isWhitespace(s);
+ return (
+ ((i ? u : u && 44 !== s && 91 !== s && 93 !== s && 123 !== s && 125 !== s) &&
+ 35 !== s &&
+ !(58 === o && !_)) ||
+ (isNsCharOrWhitespace(o) && !isWhitespace(o) && 35 === s) ||
+ (58 === o && _)
+ );
+ }
+ function codePointAt(s, o) {
+ var i,
+ u = s.charCodeAt(o);
+ return u >= 55296 &&
+ u <= 56319 &&
+ o + 1 < s.length &&
+ (i = s.charCodeAt(o + 1)) >= 56320 &&
+ i <= 57343
+ ? 1024 * (u - 55296) + i - 56320 + 65536
+ : u;
+ }
+ function needIndentIndicator(s) {
+ return /^\n* /.test(s);
+ }
+ function chooseScalarStyle(s, o, i, u, _, w, x, C) {
+ var j,
+ L = 0,
+ B = null,
+ $ = !1,
+ V = !1,
+ U = -1 !== u,
+ z = -1,
+ Y =
+ (function isPlainSafeFirst(s) {
+ return (
+ isPrintable(s) &&
+ s !== Gr &&
+ !isWhitespace(s) &&
+ 45 !== s &&
+ 63 !== s &&
+ 58 !== s &&
+ 44 !== s &&
+ 91 !== s &&
+ 93 !== s &&
+ 123 !== s &&
+ 125 !== s &&
+ 35 !== s &&
+ 38 !== s &&
+ 42 !== s &&
+ 33 !== s &&
+ 124 !== s &&
+ 61 !== s &&
+ 62 !== s &&
+ 39 !== s &&
+ 34 !== s &&
+ 37 !== s &&
+ 64 !== s &&
+ 96 !== s
+ );
+ })(codePointAt(s, 0)) &&
+ (function isPlainSafeLast(s) {
+ return !isWhitespace(s) && 58 !== s;
+ })(codePointAt(s, s.length - 1));
+ if (o || x)
+ for (j = 0; j < s.length; L >= 65536 ? (j += 2) : j++) {
+ if (!isPrintable((L = codePointAt(s, j)))) return 5;
+ (Y = Y && isPlainSafe(L, B, C)), (B = L);
+ }
+ else {
+ for (j = 0; j < s.length; L >= 65536 ? (j += 2) : j++) {
+ if (10 === (L = codePointAt(s, j)))
+ ($ = !0), U && ((V = V || (j - z - 1 > u && ' ' !== s[z + 1])), (z = j));
+ else if (!isPrintable(L)) return 5;
+ (Y = Y && isPlainSafe(L, B, C)), (B = L);
+ }
+ V = V || (U && j - z - 1 > u && ' ' !== s[z + 1]);
+ }
+ return $ || V
+ ? i > 9 && needIndentIndicator(s)
+ ? 5
+ : x
+ ? 2 === w
+ ? 5
+ : 2
+ : V
+ ? 4
+ : 3
+ : !Y || x || _(s)
+ ? 2 === w
+ ? 5
+ : 2
+ : 1;
+ }
+ function writeScalar(s, o, i, u, _) {
+ s.dump = (function () {
+ if (0 === o.length) return 2 === s.quotingType ? '""' : "''";
+ if (!s.noCompatMode && (-1 !== Xr.indexOf(o) || Zr.test(o)))
+ return 2 === s.quotingType ? '"' + o + '"' : "'" + o + "'";
+ var w = s.indent * Math.max(1, i),
+ x = -1 === s.lineWidth ? -1 : Math.max(Math.min(s.lineWidth, 40), s.lineWidth - w),
+ C = u || (s.flowLevel > -1 && i >= s.flowLevel);
+ switch (
+ chooseScalarStyle(
+ o,
+ C,
+ s.indent,
+ x,
+ function testAmbiguity(o) {
+ return (function testImplicitResolving(s, o) {
+ var i, u;
+ for (i = 0, u = s.implicitTypes.length; i < u; i += 1)
+ if (s.implicitTypes[i].resolve(o)) return !0;
+ return !1;
+ })(s, o);
+ },
+ s.quotingType,
+ s.forceQuotes && !u,
+ _
+ )
+ ) {
+ case 1:
+ return o;
+ case 2:
+ return "'" + o.replace(/'/g, "''") + "'";
+ case 3:
+ return '|' + blockHeader(o, s.indent) + dropEndingNewline(indentString(o, w));
+ case 4:
+ return (
+ '>' +
+ blockHeader(o, s.indent) +
+ dropEndingNewline(
+ indentString(
+ (function foldString(s, o) {
+ var i,
+ u,
+ _ = /(\n+)([^\n]*)/g,
+ w =
+ ((C = s.indexOf('\n')),
+ (C = -1 !== C ? C : s.length),
+ (_.lastIndex = C),
+ foldLine(s.slice(0, C), o)),
+ x = '\n' === s[0] || ' ' === s[0];
+ var C;
+ for (; (u = _.exec(s)); ) {
+ var j = u[1],
+ L = u[2];
+ (i = ' ' === L[0]),
+ (w += j + (x || i || '' === L ? '' : '\n') + foldLine(L, o)),
+ (x = i);
+ }
+ return w;
+ })(o, x),
+ w
+ )
+ )
+ );
+ case 5:
+ return (
+ '"' +
+ (function escapeString(s) {
+ for (var o, i = '', u = 0, _ = 0; _ < s.length; u >= 65536 ? (_ += 2) : _++)
+ (u = codePointAt(s, _)),
+ !(o = Yr[u]) && isPrintable(u)
+ ? ((i += s[_]), u >= 65536 && (i += s[_ + 1]))
+ : (i += o || encodeHex(u));
+ return i;
+ })(o) +
+ '"'
+ );
+ default:
+ throw new rr('impossible error: invalid scalar style');
+ }
+ })();
+ }
+ function blockHeader(s, o) {
+ var i = needIndentIndicator(s) ? String(o) : '',
+ u = '\n' === s[s.length - 1];
+ return i + (u && ('\n' === s[s.length - 2] || '\n' === s) ? '+' : u ? '' : '-') + '\n';
+ }
+ function dropEndingNewline(s) {
+ return '\n' === s[s.length - 1] ? s.slice(0, -1) : s;
+ }
+ function foldLine(s, o) {
+ if ('' === s || ' ' === s[0]) return s;
+ for (var i, u, _ = / [^ ]/g, w = 0, x = 0, C = 0, j = ''; (i = _.exec(s)); )
+ (C = i.index) - w > o &&
+ ((u = x > w ? x : C), (j += '\n' + s.slice(w, u)), (w = u + 1)),
+ (x = C);
+ return (
+ (j += '\n'),
+ s.length - w > o && x > w
+ ? (j += s.slice(w, x) + '\n' + s.slice(x + 1))
+ : (j += s.slice(w)),
+ j.slice(1)
+ );
+ }
+ function writeBlockSequence(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C = '',
+ j = s.tag;
+ for (_ = 0, w = i.length; _ < w; _ += 1)
+ (x = i[_]),
+ s.replacer && (x = s.replacer.call(i, String(_), x)),
+ (writeNode(s, o + 1, x, !0, !0, !1, !0) ||
+ (void 0 === x && writeNode(s, o + 1, null, !0, !0, !1, !0))) &&
+ ((u && '' === C) || (C += generateNextLine(s, o)),
+ s.dump && 10 === s.dump.charCodeAt(0) ? (C += '-') : (C += '- '),
+ (C += s.dump));
+ (s.tag = j), (s.dump = C || '[]');
+ }
+ function detectType(s, o, i) {
+ var u, _, w, x, C, j;
+ for (w = 0, x = (_ = i ? s.explicitTypes : s.implicitTypes).length; w < x; w += 1)
+ if (
+ ((C = _[w]).instanceOf || C.predicate) &&
+ (!C.instanceOf || ('object' == typeof o && o instanceof C.instanceOf)) &&
+ (!C.predicate || C.predicate(o))
+ ) {
+ if (
+ (i
+ ? C.multi && C.representName
+ ? (s.tag = C.representName(o))
+ : (s.tag = C.tag)
+ : (s.tag = '?'),
+ C.represent)
+ ) {
+ if (
+ ((j = s.styleMap[C.tag] || C.defaultStyle),
+ '[object Function]' === Hr.call(C.represent))
+ )
+ u = C.represent(o, j);
+ else {
+ if (!Jr.call(C.represent, j))
+ throw new rr('!<' + C.tag + '> tag resolver accepts not "' + j + '" style');
+ u = C.represent[j](o, j);
+ }
+ s.dump = u;
+ }
+ return !0;
+ }
+ return !1;
+ }
+ function writeNode(s, o, i, u, _, w, x) {
+ (s.tag = null), (s.dump = i), detectType(s, i, !1) || detectType(s, i, !0);
+ var C,
+ j = Hr.call(s.dump),
+ L = u;
+ u && (u = s.flowLevel < 0 || s.flowLevel > o);
+ var B,
+ $,
+ V = '[object Object]' === j || '[object Array]' === j;
+ if (
+ (V && ($ = -1 !== (B = s.duplicates.indexOf(i))),
+ ((null !== s.tag && '?' !== s.tag) || $ || (2 !== s.indent && o > 0)) && (_ = !1),
+ $ && s.usedDuplicates[B])
+ )
+ s.dump = '*ref_' + B;
+ else {
+ if (
+ (V && $ && !s.usedDuplicates[B] && (s.usedDuplicates[B] = !0),
+ '[object Object]' === j)
+ )
+ u && 0 !== Object.keys(s.dump).length
+ ? (!(function writeBlockMapping(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B = '',
+ $ = s.tag,
+ V = Object.keys(i);
+ if (!0 === s.sortKeys) V.sort();
+ else if ('function' == typeof s.sortKeys) V.sort(s.sortKeys);
+ else if (s.sortKeys) throw new rr('sortKeys must be a boolean or a function');
+ for (_ = 0, w = V.length; _ < w; _ += 1)
+ (L = ''),
+ (u && '' === B) || (L += generateNextLine(s, o)),
+ (C = i[(x = V[_])]),
+ s.replacer && (C = s.replacer.call(i, x, C)),
+ writeNode(s, o + 1, x, !0, !0, !0) &&
+ ((j =
+ (null !== s.tag && '?' !== s.tag) ||
+ (s.dump && s.dump.length > 1024)) &&
+ (s.dump && 10 === s.dump.charCodeAt(0) ? (L += '?') : (L += '? ')),
+ (L += s.dump),
+ j && (L += generateNextLine(s, o)),
+ writeNode(s, o + 1, C, !0, j) &&
+ (s.dump && 10 === s.dump.charCodeAt(0) ? (L += ':') : (L += ': '),
+ (B += L += s.dump)));
+ (s.tag = $), (s.dump = B || '{}');
+ })(s, o, s.dump, _),
+ $ && (s.dump = '&ref_' + B + s.dump))
+ : (!(function writeFlowMapping(s, o, i) {
+ var u,
+ _,
+ w,
+ x,
+ C,
+ j = '',
+ L = s.tag,
+ B = Object.keys(i);
+ for (u = 0, _ = B.length; u < _; u += 1)
+ (C = ''),
+ '' !== j && (C += ', '),
+ s.condenseFlow && (C += '"'),
+ (x = i[(w = B[u])]),
+ s.replacer && (x = s.replacer.call(i, w, x)),
+ writeNode(s, o, w, !1, !1) &&
+ (s.dump.length > 1024 && (C += '? '),
+ (C +=
+ s.dump +
+ (s.condenseFlow ? '"' : '') +
+ ':' +
+ (s.condenseFlow ? '' : ' ')),
+ writeNode(s, o, x, !1, !1) && (j += C += s.dump));
+ (s.tag = L), (s.dump = '{' + j + '}');
+ })(s, o, s.dump),
+ $ && (s.dump = '&ref_' + B + ' ' + s.dump));
+ else if ('[object Array]' === j)
+ u && 0 !== s.dump.length
+ ? (s.noArrayIndent && !x && o > 0
+ ? writeBlockSequence(s, o - 1, s.dump, _)
+ : writeBlockSequence(s, o, s.dump, _),
+ $ && (s.dump = '&ref_' + B + s.dump))
+ : (!(function writeFlowSequence(s, o, i) {
+ var u,
+ _,
+ w,
+ x = '',
+ C = s.tag;
+ for (u = 0, _ = i.length; u < _; u += 1)
+ (w = i[u]),
+ s.replacer && (w = s.replacer.call(i, String(u), w)),
+ (writeNode(s, o, w, !1, !1) ||
+ (void 0 === w && writeNode(s, o, null, !1, !1))) &&
+ ('' !== x && (x += ',' + (s.condenseFlow ? '' : ' ')), (x += s.dump));
+ (s.tag = C), (s.dump = '[' + x + ']');
+ })(s, o, s.dump),
+ $ && (s.dump = '&ref_' + B + ' ' + s.dump));
+ else {
+ if ('[object String]' !== j) {
+ if ('[object Undefined]' === j) return !1;
+ if (s.skipInvalid) return !1;
+ throw new rr('unacceptable kind of an object to dump ' + j);
+ }
+ '?' !== s.tag && writeScalar(s, s.dump, o, w, L);
+ }
+ null !== s.tag &&
+ '?' !== s.tag &&
+ ((C = encodeURI('!' === s.tag[0] ? s.tag.slice(1) : s.tag).replace(/!/g, '%21')),
+ (C =
+ '!' === s.tag[0]
+ ? '!' + C
+ : 'tag:yaml.org,2002:' === C.slice(0, 18)
+ ? '!!' + C.slice(18)
+ : '!<' + C + '>'),
+ (s.dump = C + ' ' + s.dump));
+ }
+ return !0;
+ }
+ function getDuplicateReferences(s, o) {
+ var i,
+ u,
+ _ = [],
+ w = [];
+ for (inspectNode(s, _, w), i = 0, u = w.length; i < u; i += 1) o.duplicates.push(_[w[i]]);
+ o.usedDuplicates = new Array(u);
+ }
+ function inspectNode(s, o, i) {
+ var u, _, w;
+ if (null !== s && 'object' == typeof s)
+ if (-1 !== (_ = o.indexOf(s))) -1 === i.indexOf(_) && i.push(_);
+ else if ((o.push(s), Array.isArray(s)))
+ for (_ = 0, w = s.length; _ < w; _ += 1) inspectNode(s[_], o, i);
+ else
+ for (_ = 0, w = (u = Object.keys(s)).length; _ < w; _ += 1)
+ inspectNode(s[u[_]], o, i);
+ }
+ var Qr = function dump$1(s, o) {
+ var i = new State((o = o || {}));
+ i.noRefs || getDuplicateReferences(s, i);
+ var u = s;
+ return (
+ i.replacer && (u = i.replacer.call({ '': u }, '', u)),
+ writeNode(i, 0, u, !0, !0) ? i.dump + '\n' : ''
+ );
+ };
+ function renamed(s, o) {
+ return function () {
+ throw new Error(
+ 'Function yaml.' +
+ s +
+ ' is removed in js-yaml 4. Use yaml.' +
+ o +
+ ' instead, which is now safe by default.'
+ );
+ };
+ }
+ var en = ar,
+ tn = lr,
+ rn = dr,
+ nn = _r,
+ sn = Er,
+ on = Rr,
+ an = Kr.load,
+ ln = Kr.loadAll,
+ cn = { dump: Qr }.dump,
+ un = rr,
+ pn = {
+ binary: Or,
+ float: br,
+ map: pr,
+ null: fr,
+ pairs: Mr,
+ set: Nr,
+ timestamp: xr,
+ bool: mr,
+ int: gr,
+ merge: kr,
+ omap: Ir,
+ seq: ur,
+ str: cr
+ },
+ hn = renamed('safeLoad', 'load'),
+ dn = renamed('safeLoadAll', 'loadAll'),
+ fn = renamed('safeDump', 'dump');
+ const mn = {
+ Type: en,
+ Schema: tn,
+ FAILSAFE_SCHEMA: rn,
+ JSON_SCHEMA: nn,
+ CORE_SCHEMA: sn,
+ DEFAULT_SCHEMA: on,
+ load: an,
+ loadAll: ln,
+ dump: cn,
+ YAMLException: un,
+ types: pn,
+ safeLoad: hn,
+ safeLoadAll: dn,
+ safeDump: fn
+ },
+ gn = 'configs_update',
+ yn = 'configs_toggle';
+ function update(s, o) {
+ return { type: gn, payload: { [s]: o } };
+ }
+ function toggle(s) {
+ return { type: yn, payload: s };
+ }
+ const actions_loaded = () => () => {},
+ downloadConfig = (s) => (o) => {
+ const {
+ fn: { fetch: i }
+ } = o;
+ return i(s);
+ },
+ getConfigByUrl = (s, o) => (i) => {
+ const { specActions: u, configsActions: _ } = i;
+ if (s) return _.downloadConfig(s).then(next, next);
+ function next(_) {
+ _ instanceof Error || _.status >= 400
+ ? (u.updateLoadingStatus('failedConfig'),
+ u.updateLoadingStatus('failedConfig'),
+ u.updateUrl(''),
+ console.error(_.statusText + ' ' + s.url),
+ o(null))
+ : o(
+ ((s, o) => {
+ try {
+ return mn.load(s);
+ } catch (s) {
+ return o && o.errActions.newThrownErr(new Error(s)), {};
+ }
+ })(_.text, i)
+ );
+ }
+ },
+ get = (s, o) => s.getIn(Array.isArray(o) ? o : [o]),
+ vn = {
+ [gn]: (s, o) => s.merge((0, qe.fromJS)(o.payload)),
+ [yn]: (s, o) => {
+ const i = o.payload,
+ u = s.get(i);
+ return s.set(i, !u);
+ }
+ };
+ function configsPlugin() {
+ return { statePlugins: { configs: { reducers: vn, actions: u, selectors: w } } };
+ }
+ const setHash = (s) =>
+ s ? history.pushState(null, null, `#${s}`) : (window.location.hash = '');
+ var bn = __webpack_require__(86215),
+ _n = __webpack_require__.n(bn);
+ const En = 'layout_scroll_to',
+ wn = 'layout_clear_scroll';
+ const Sn = {
+ fn: {
+ getScrollParent: function getScrollParent(s, o) {
+ const i = document.documentElement;
+ let u = getComputedStyle(s);
+ const _ = 'absolute' === u.position,
+ w = o ? /(auto|scroll|hidden)/ : /(auto|scroll)/;
+ if ('fixed' === u.position) return i;
+ for (let o = s; (o = o.parentElement); )
+ if (
+ ((u = getComputedStyle(o)),
+ (!_ || 'static' !== u.position) && w.test(u.overflow + u.overflowY + u.overflowX))
+ )
+ return o;
+ return i;
+ }
+ },
+ statePlugins: {
+ layout: {
+ actions: {
+ scrollToElement: (s, o) => (i) => {
+ try {
+ (o = o || i.fn.getScrollParent(s)), _n().createScroller(o).to(s);
+ } catch (s) {
+ console.error(s);
+ }
+ },
+ scrollTo: (s) => ({ type: En, payload: Array.isArray(s) ? s : [s] }),
+ clearScrollTo: () => ({ type: wn }),
+ readyToScroll: (s, o) => (i) => {
+ const u = i.layoutSelectors.getScrollToKey();
+ $e().is(u, (0, qe.fromJS)(s)) &&
+ (i.layoutActions.scrollToElement(o), i.layoutActions.clearScrollTo());
+ },
+ parseDeepLinkHash:
+ (s) =>
+ ({ layoutActions: o, layoutSelectors: i, getConfigs: u }) => {
+ if (u().deepLinking && s) {
+ let u = s.slice(1);
+ '!' === u[0] && (u = u.slice(1)), '/' === u[0] && (u = u.slice(1));
+ const _ = u.split('/').map((s) => s || ''),
+ w = i.isShownKeyFromUrlHashArray(_),
+ [x, C = '', j = ''] = w;
+ if ('operations' === x) {
+ const s = i.isShownKeyFromUrlHashArray([C]);
+ C.indexOf('_') > -1 &&
+ (console.warn(
+ 'Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.'
+ ),
+ o.show(
+ s.map((s) => s.replace(/_/g, ' ')),
+ !0
+ )),
+ o.show(s, !0);
+ }
+ (C.indexOf('_') > -1 || j.indexOf('_') > -1) &&
+ (console.warn(
+ 'Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.'
+ ),
+ o.show(
+ w.map((s) => s.replace(/_/g, ' ')),
+ !0
+ )),
+ o.show(w, !0),
+ o.scrollTo(w);
+ }
+ }
+ },
+ selectors: {
+ getScrollToKey: (s) => s.get('scrollToKey'),
+ isShownKeyFromUrlHashArray(s, o) {
+ const [i, u] = o;
+ return u ? ['operations', i, u] : i ? ['operations-tag', i] : [];
+ },
+ urlHashArrayFromIsShownKey(s, o) {
+ let [i, u, _] = o;
+ return 'operations' == i ? [u, _] : 'operations-tag' == i ? [u] : [];
+ }
+ },
+ reducers: {
+ [En]: (s, o) => s.set('scrollToKey', $e().fromJS(o.payload)),
+ [wn]: (s) => s.delete('scrollToKey')
+ },
+ wrapActions: {
+ show:
+ (s, { getConfigs: o, layoutSelectors: i }) =>
+ (...u) => {
+ if ((s(...u), o().deepLinking))
+ try {
+ let [s, o] = u;
+ s = Array.isArray(s) ? s : [s];
+ const _ = i.urlHashArrayFromIsShownKey(s);
+ if (!_.length) return;
+ const [w, x] = _;
+ if (!o) return setHash('/');
+ 2 === _.length
+ ? setHash(
+ createDeepLinkPath(
+ `/${encodeURIComponent(w)}/${encodeURIComponent(x)}`
+ )
+ )
+ : 1 === _.length &&
+ setHash(createDeepLinkPath(`/${encodeURIComponent(w)}`));
+ } catch (s) {
+ console.error(s);
+ }
+ }
+ }
+ }
+ }
+ };
+ var xn = __webpack_require__(2209),
+ kn = __webpack_require__.n(xn);
+ const operation_wrapper = (s, o) =>
+ class OperationWrapper extends Pe.Component {
+ onLoad = (s) => {
+ const { operation: i } = this.props,
+ { tag: u, operationId: _ } = i.toObject();
+ let { isShownKey: w } = i.toObject();
+ (w = w || ['operations', u, _]), o.layoutActions.readyToScroll(w, s);
+ };
+ render() {
+ return Pe.createElement(
+ 'span',
+ { ref: this.onLoad },
+ Pe.createElement(s, this.props)
+ );
+ }
+ },
+ operation_tag_wrapper = (s, o) =>
+ class OperationTagWrapper extends Pe.Component {
+ onLoad = (s) => {
+ const { tag: i } = this.props,
+ u = ['operations-tag', i];
+ o.layoutActions.readyToScroll(u, s);
+ };
+ render() {
+ return Pe.createElement(
+ 'span',
+ { ref: this.onLoad },
+ Pe.createElement(s, this.props)
+ );
+ }
+ };
+ function deep_linking() {
+ return [
+ Sn,
+ {
+ statePlugins: {
+ configs: {
+ wrapActions: {
+ loaded:
+ (s, o) =>
+ (...i) => {
+ s(...i);
+ const u = decodeURIComponent(window.location.hash);
+ o.layoutActions.parseDeepLinkHash(u);
+ }
+ }
+ }
+ },
+ wrapComponents: { operation: operation_wrapper, OperationTag: operation_tag_wrapper }
+ }
+ ];
+ }
+ var Cn = __webpack_require__(40860),
+ On = __webpack_require__.n(Cn);
+ function transform(s) {
+ return s.map((s) => {
+ let o = 'is not of a type(s)',
+ i = s.get('message').indexOf(o);
+ if (i > -1) {
+ let o = s
+ .get('message')
+ .slice(i + 19)
+ .split(',');
+ return s.set(
+ 'message',
+ s.get('message').slice(0, i) +
+ (function makeNewMessage(s) {
+ return s.reduce(
+ (s, o, i, u) =>
+ i === u.length - 1 && u.length > 1
+ ? s + 'or ' + o
+ : u[i + 1] && u.length > 2
+ ? s + o + ', '
+ : u[i + 1]
+ ? s + o + ' '
+ : s + o,
+ 'should be a'
+ );
+ })(o)
+ );
+ }
+ return s;
+ });
+ }
+ var An = __webpack_require__(58156),
+ jn = __webpack_require__.n(An);
+ function parameter_oneof_transform(s, { jsSpec: o }) {
+ return s;
+ }
+ const In = [x, C];
+ function transformErrors(s) {
+ let o = { jsSpec: {} },
+ i = On()(
+ In,
+ (s, i) => {
+ try {
+ return i.transform(s, o).filter((s) => !!s);
+ } catch (o) {
+ return console.error('Transformer error:', o), s;
+ }
+ },
+ s
+ );
+ return i.filter((s) => !!s).map((s) => (!s.get('line') && s.get('path'), s));
+ }
+ let Pn = { line: 0, level: 'error', message: 'Unknown error' };
+ const Mn = Ut(
+ (s) => s,
+ (s) => s.get('errors', (0, qe.List)())
+ ),
+ Tn = Ut(Mn, (s) => s.last());
+ function err(o) {
+ return {
+ statePlugins: {
+ err: {
+ reducers: {
+ [et]: (s, { payload: o }) => {
+ let i = Object.assign(Pn, o, { type: 'thrown' });
+ return s
+ .update('errors', (s) => (s || (0, qe.List)()).push((0, qe.fromJS)(i)))
+ .update('errors', (s) => transformErrors(s));
+ },
+ [tt]: (s, { payload: o }) => (
+ (o = o.map((s) => (0, qe.fromJS)(Object.assign(Pn, s, { type: 'thrown' })))),
+ s
+ .update('errors', (s) => (s || (0, qe.List)()).concat((0, qe.fromJS)(o)))
+ .update('errors', (s) => transformErrors(s))
+ ),
+ [rt]: (s, { payload: o }) => {
+ let i = (0, qe.fromJS)(o);
+ return (
+ (i = i.set('type', 'spec')),
+ s
+ .update('errors', (s) =>
+ (s || (0, qe.List)()).push((0, qe.fromJS)(i)).sortBy((s) => s.get('line'))
+ )
+ .update('errors', (s) => transformErrors(s))
+ );
+ },
+ [nt]: (s, { payload: o }) => (
+ (o = o.map((s) => (0, qe.fromJS)(Object.assign(Pn, s, { type: 'spec' })))),
+ s
+ .update('errors', (s) => (s || (0, qe.List)()).concat((0, qe.fromJS)(o)))
+ .update('errors', (s) => transformErrors(s))
+ ),
+ [st]: (s, { payload: o }) => {
+ let i = (0, qe.fromJS)(Object.assign({}, o));
+ return (
+ (i = i.set('type', 'auth')),
+ s
+ .update('errors', (s) => (s || (0, qe.List)()).push((0, qe.fromJS)(i)))
+ .update('errors', (s) => transformErrors(s))
+ );
+ },
+ [ot]: (s, { payload: o }) => {
+ if (!o || !s.get('errors')) return s;
+ let i = s.get('errors').filter((s) =>
+ s.keySeq().every((i) => {
+ const u = s.get(i),
+ _ = o[i];
+ return !_ || u !== _;
+ })
+ );
+ return s.merge({ errors: i });
+ },
+ [it]: (s, { payload: o }) => {
+ if (!o || 'function' != typeof o) return s;
+ let i = s.get('errors').filter((s) => o(s));
+ return s.merge({ errors: i });
+ }
+ },
+ actions: s,
+ selectors: j
+ }
+ }
+ };
+ }
+ function opsFilter(s, o) {
+ return s.filter((s, i) => -1 !== i.indexOf(o));
+ }
+ function filter() {
+ return { fn: { opsFilter } };
+ }
+ var Nn = __webpack_require__(7666),
+ Rn = __webpack_require__.n(Nn);
+ const arrow_up = ({ className: s = null, width: o = 20, height: i = 20, ...u }) =>
+ Pe.createElement(
+ 'svg',
+ Rn()(
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ viewBox: '0 0 20 20',
+ className: s,
+ width: o,
+ height: i,
+ 'aria-hidden': 'true',
+ focusable: 'false'
+ },
+ u
+ ),
+ Pe.createElement('path', {
+ d: 'M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z'
+ })
+ ),
+ arrow_down = ({ className: s = null, width: o = 20, height: i = 20, ...u }) =>
+ Pe.createElement(
+ 'svg',
+ Rn()(
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ viewBox: '0 0 20 20',
+ className: s,
+ width: o,
+ height: i,
+ 'aria-hidden': 'true',
+ focusable: 'false'
+ },
+ u
+ ),
+ Pe.createElement('path', {
+ d: 'M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z'
+ })
+ ),
+ arrow = ({ className: s = null, width: o = 20, height: i = 20, ...u }) =>
+ Pe.createElement(
+ 'svg',
+ Rn()(
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ viewBox: '0 0 20 20',
+ className: s,
+ width: o,
+ height: i,
+ 'aria-hidden': 'true',
+ focusable: 'false'
+ },
+ u
+ ),
+ Pe.createElement('path', {
+ d: 'M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z'
+ })
+ ),
+ components_close = ({ className: s = null, width: o = 20, height: i = 20, ...u }) =>
+ Pe.createElement(
+ 'svg',
+ Rn()(
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ viewBox: '0 0 20 20',
+ className: s,
+ width: o,
+ height: i,
+ 'aria-hidden': 'true',
+ focusable: 'false'
+ },
+ u
+ ),
+ Pe.createElement('path', {
+ d: 'M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z'
+ })
+ ),
+ copy = ({ className: s = null, width: o = 15, height: i = 16, ...u }) =>
+ Pe.createElement(
+ 'svg',
+ Rn()(
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ viewBox: '0 0 15 16',
+ className: s,
+ width: o,
+ height: i,
+ 'aria-hidden': 'true',
+ focusable: 'false'
+ },
+ u
+ ),
+ Pe.createElement(
+ 'g',
+ { transform: 'translate(2, -1)' },
+ Pe.createElement('path', {
+ fill: '#ffffff',
+ fillRule: 'evenodd',
+ d: 'M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z'
+ })
+ )
+ ),
+ lock = ({ className: s = null, width: o = 20, height: i = 20, ...u }) =>
+ Pe.createElement(
+ 'svg',
+ Rn()(
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ viewBox: '0 0 20 20',
+ className: s,
+ width: o,
+ height: i,
+ 'aria-hidden': 'true',
+ focusable: 'false'
+ },
+ u
+ ),
+ Pe.createElement('path', {
+ d: 'M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z'
+ })
+ ),
+ unlock = ({ className: s = null, width: o = 20, height: i = 20, ...u }) =>
+ Pe.createElement(
+ 'svg',
+ Rn()(
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ viewBox: '0 0 20 20',
+ className: s,
+ width: o,
+ height: i,
+ 'aria-hidden': 'true',
+ focusable: 'false'
+ },
+ u
+ ),
+ Pe.createElement('path', {
+ d: 'M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z'
+ })
+ ),
+ icons = () => ({
+ components: {
+ ArrowUpIcon: arrow_up,
+ ArrowDownIcon: arrow_down,
+ ArrowIcon: arrow,
+ CloseIcon: components_close,
+ CopyIcon: copy,
+ LockIcon: lock,
+ UnlockIcon: unlock
+ }
+ }),
+ Dn = 'layout_update_layout',
+ Ln = 'layout_update_filter',
+ Bn = 'layout_update_mode',
+ Fn = 'layout_show';
+ function updateLayout(s) {
+ return { type: Dn, payload: s };
+ }
+ function updateFilter(s) {
+ return { type: Ln, payload: s };
+ }
+ function actions_show(s, o = !0) {
+ return (s = normalizeArray(s)), { type: Fn, payload: { thing: s, shown: o } };
+ }
+ function changeMode(s, o = '') {
+ return (s = normalizeArray(s)), { type: Bn, payload: { thing: s, mode: o } };
+ }
+ const qn = {
+ [Dn]: (s, o) => s.set('layout', o.payload),
+ [Ln]: (s, o) => s.set('filter', o.payload),
+ [Fn]: (s, o) => {
+ const i = o.payload.shown,
+ u = (0, qe.fromJS)(o.payload.thing);
+ return s.update('shown', (0, qe.fromJS)({}), (s) => s.set(u, i));
+ },
+ [Bn]: (s, o) => {
+ let i = o.payload.thing,
+ u = o.payload.mode;
+ return s.setIn(['modes'].concat(i), (u || '') + '');
+ }
+ },
+ current = (s) => s.get('layout'),
+ currentFilter = (s) => s.get('filter'),
+ isShown = (s, o, i) => (
+ (o = normalizeArray(o)), s.get('shown', (0, qe.fromJS)({})).get((0, qe.fromJS)(o), i)
+ ),
+ whatMode = (s, o, i = '') => ((o = normalizeArray(o)), s.getIn(['modes', ...o], i)),
+ $n = Ut(
+ (s) => s,
+ (s) => !isShown(s, 'editor')
+ ),
+ taggedOperations =
+ (s, o) =>
+ (i, ...u) => {
+ let _ = s(i, ...u);
+ const { fn: w, layoutSelectors: x, getConfigs: C } = o.getSystem(),
+ j = C(),
+ { maxDisplayedTags: L } = j;
+ let B = x.currentFilter();
+ return B && !0 !== B && (_ = w.opsFilter(_, B)), L >= 0 && (_ = _.slice(0, L)), _;
+ };
+ function plugins_layout() {
+ return {
+ statePlugins: {
+ layout: { reducers: qn, actions: L, selectors: B },
+ spec: { wrapSelectors: $ }
+ }
+ };
+ }
+ function logs({ configs: s }) {
+ const o = { debug: 0, info: 1, log: 2, warn: 3, error: 4 },
+ getLevel = (s) => o[s] || -1;
+ let { logLevel: i } = s,
+ u = getLevel(i);
+ function log(s, ...o) {
+ getLevel(s) >= u && console[s](...o);
+ }
+ return (
+ (log.warn = log.bind(null, 'warn')),
+ (log.error = log.bind(null, 'error')),
+ (log.info = log.bind(null, 'info')),
+ (log.debug = log.bind(null, 'debug')),
+ { rootInjects: { log } }
+ );
+ }
+ let Vn = !1;
+ function on_complete() {
+ return {
+ statePlugins: {
+ spec: {
+ wrapActions: {
+ updateSpec:
+ (s) =>
+ (...o) => ((Vn = !0), s(...o)),
+ updateJsonSpec:
+ (s, o) =>
+ (...i) => {
+ const u = o.getConfigs().onComplete;
+ return Vn && 'function' == typeof u && (setTimeout(u, 0), (Vn = !1)), s(...i);
+ }
+ }
+ }
+ }
+ };
+ }
+ const extractKey = (s) => {
+ const o = '_**[]';
+ return s.indexOf(o) < 0 ? s : s.split(o)[0].trim();
+ },
+ escapeShell = (s) =>
+ '-d ' === s || /^[_\/-]/g.test(s) ? s : "'" + s.replace(/'/g, "'\\''") + "'",
+ escapeCMD = (s) =>
+ '-d ' ===
+ (s = s
+ .replace(/\^/g, '^^')
+ .replace(/\\"/g, '\\\\"')
+ .replace(/"/g, '""')
+ .replace(/\n/g, '^\n'))
+ ? s.replace(/-d /g, '-d ^\n')
+ : /^[_\/-]/g.test(s)
+ ? s
+ : '"' + s + '"',
+ escapePowershell = (s) => {
+ if ('-d ' === s) return s;
+ if (/\n/.test(s)) {
+ return `@"\n${s.replace(/`/g, '``').replace(/\$/g, '`$')}\n"@`;
+ }
+ if (!/^[_\/-]/.test(s)) {
+ return `'${s.replace(/'/g, "''")}'`;
+ }
+ return s;
+ };
+ const curlify = (s, o, i, u = '') => {
+ let _ = !1,
+ w = '';
+ const addWords = (...s) => (w += ' ' + s.map(o).join(' ')),
+ addWordsWithoutLeadingSpace = (...s) => (w += s.map(o).join(' ')),
+ addNewLine = () => (w += ` ${i}`),
+ addIndent = (s = 1) => (w += ' '.repeat(s));
+ let x = s.get('headers');
+ w += 'curl' + u;
+ const C = s.get('curlOptions');
+ if (
+ (qe.List.isList(C) && !C.isEmpty() && addWords(...s.get('curlOptions')),
+ addWords('-X', s.get('method')),
+ addNewLine(),
+ addIndent(),
+ addWordsWithoutLeadingSpace(`${s.get('url')}`),
+ x && x.size)
+ )
+ for (let o of s.get('headers').entries()) {
+ addNewLine(), addIndent();
+ let [s, i] = o;
+ addWordsWithoutLeadingSpace('-H', `${s}: ${i}`),
+ (_ = _ || (/^content-type$/i.test(s) && /^multipart\/form-data$/i.test(i)));
+ }
+ const j = s.get('body');
+ if (j)
+ if (_ && ['POST', 'PUT', 'PATCH'].includes(s.get('method')))
+ for (let [s, o] of j.entrySeq()) {
+ let i = extractKey(s);
+ addNewLine(),
+ addIndent(),
+ addWordsWithoutLeadingSpace('-F'),
+ o instanceof at.File && 'string' == typeof o.valueOf()
+ ? addWords(`${i}=${o.data}${o.type ? `;type=${o.type}` : ''}`)
+ : o instanceof at.File
+ ? addWords(`${i}=@${o.name}${o.type ? `;type=${o.type}` : ''}`)
+ : addWords(`${i}=${o}`);
+ }
+ else if (j instanceof at.File)
+ addNewLine(),
+ addIndent(),
+ addWordsWithoutLeadingSpace(`--data-binary '@${j.name}'`);
+ else {
+ addNewLine(), addIndent(), addWordsWithoutLeadingSpace('-d ');
+ let o = j;
+ qe.Map.isMap(o)
+ ? addWordsWithoutLeadingSpace(
+ (function getStringBodyOfMap(s) {
+ let o = [];
+ for (let [i, u] of s.get('body').entrySeq()) {
+ let s = extractKey(i);
+ u instanceof at.File
+ ? o.push(
+ ` "${s}": {\n "name": "${u.name}"${u.type ? `,\n "type": "${u.type}"` : ''}\n }`
+ )
+ : o.push(
+ ` "${s}": ${JSON.stringify(u, null, 2).replace(/(\r\n|\r|\n)/g, '\n ')}`
+ );
+ }
+ return `{\n${o.join(',\n')}\n}`;
+ })(s)
+ )
+ : ('string' != typeof o && (o = JSON.stringify(o)),
+ addWordsWithoutLeadingSpace(o));
+ }
+ else
+ j ||
+ 'POST' !== s.get('method') ||
+ (addNewLine(), addIndent(), addWordsWithoutLeadingSpace("-d ''"));
+ return w;
+ },
+ requestSnippetGenerator_curl_powershell = (s) =>
+ curlify(s, escapePowershell, '`\n', '.exe'),
+ requestSnippetGenerator_curl_bash = (s) => curlify(s, escapeShell, '\\\n'),
+ requestSnippetGenerator_curl_cmd = (s) => curlify(s, escapeCMD, '^\n'),
+ request_snippets_selectors_state = (s) => s || (0, qe.Map)(),
+ Un = Ut(request_snippets_selectors_state, (s) => {
+ const o = s.get('languages'),
+ i = s.get('generators', (0, qe.Map)());
+ return !o || o.isEmpty() ? i : i.filter((s, i) => o.includes(i));
+ }),
+ getSnippetGenerators =
+ (s) =>
+ ({ fn: o }) =>
+ Un(s)
+ .map((s, i) => {
+ const u = ((s) => o[`requestSnippetGenerator_${s}`])(i);
+ return 'function' != typeof u ? null : s.set('fn', u);
+ })
+ .filter((s) => s),
+ zn = Ut(request_snippets_selectors_state, (s) => s.get('activeLanguage')),
+ Wn = Ut(request_snippets_selectors_state, (s) => s.get('defaultExpanded'));
+ var Kn = __webpack_require__(46942),
+ Hn = __webpack_require__.n(Kn),
+ Jn = __webpack_require__(59399);
+ const Gn = {
+ cursor: 'pointer',
+ lineHeight: 1,
+ display: 'inline-flex',
+ backgroundColor: 'rgb(250, 250, 250)',
+ paddingBottom: '0',
+ paddingTop: '0',
+ border: '1px solid rgb(51, 51, 51)',
+ borderRadius: '4px 4px 0 0',
+ boxShadow: 'none',
+ borderBottom: 'none'
+ },
+ Yn = {
+ cursor: 'pointer',
+ lineHeight: 1,
+ display: 'inline-flex',
+ backgroundColor: 'rgb(51, 51, 51)',
+ boxShadow: 'none',
+ border: '1px solid rgb(51, 51, 51)',
+ paddingBottom: '0',
+ paddingTop: '0',
+ borderRadius: '4px 4px 0 0',
+ marginTop: '-5px',
+ marginRight: '-5px',
+ marginLeft: '-5px',
+ zIndex: '9999',
+ borderBottom: 'none'
+ },
+ request_snippets = ({ request: s, requestSnippetsSelectors: o, getComponent: i }) => {
+ const u = (0, Pe.useRef)(null),
+ _ = i('ArrowUpIcon'),
+ w = i('ArrowDownIcon'),
+ x = i('SyntaxHighlighter', !0),
+ [C, j] = (0, Pe.useState)(o.getSnippetGenerators()?.keySeq().first()),
+ [L, B] = (0, Pe.useState)(o?.getDefaultExpanded()),
+ $ = o.getSnippetGenerators(),
+ V = $.get(C),
+ U = V.get('fn')(s),
+ handleSetIsExpanded = () => {
+ B(!L);
+ },
+ handleGetBtnStyle = (s) => (s === C ? Yn : Gn),
+ handlePreventYScrollingBeyondElement = (s) => {
+ const { target: o, deltaY: i } = s,
+ { scrollHeight: u, offsetHeight: _, scrollTop: w } = o;
+ u > _ && ((0 === w && i < 0) || (_ + w >= u && i > 0)) && s.preventDefault();
+ };
+ return (
+ (0, Pe.useEffect)(() => {}, []),
+ (0, Pe.useEffect)(() => {
+ const s = Array.from(u.current.childNodes).filter(
+ (s) => !!s.nodeType && s.classList?.contains('curl-command')
+ );
+ return (
+ s.forEach((s) =>
+ s.addEventListener('mousewheel', handlePreventYScrollingBeyondElement, {
+ passive: !1
+ })
+ ),
+ () => {
+ s.forEach((s) =>
+ s.removeEventListener('mousewheel', handlePreventYScrollingBeyondElement)
+ );
+ }
+ );
+ }, [s]),
+ Pe.createElement(
+ 'div',
+ { className: 'request-snippets', ref: u },
+ Pe.createElement(
+ 'div',
+ {
+ style: {
+ width: '100%',
+ display: 'flex',
+ justifyContent: 'flex-start',
+ alignItems: 'center',
+ marginBottom: '15px'
+ }
+ },
+ Pe.createElement(
+ 'h4',
+ { onClick: () => handleSetIsExpanded(), style: { cursor: 'pointer' } },
+ 'Snippets'
+ ),
+ Pe.createElement(
+ 'button',
+ {
+ onClick: () => handleSetIsExpanded(),
+ style: { border: 'none', background: 'none' },
+ title: L ? 'Collapse operation' : 'Expand operation'
+ },
+ L
+ ? Pe.createElement(w, { className: 'arrow', width: '10', height: '10' })
+ : Pe.createElement(_, { className: 'arrow', width: '10', height: '10' })
+ )
+ ),
+ L &&
+ Pe.createElement(
+ 'div',
+ { className: 'curl-command' },
+ Pe.createElement(
+ 'div',
+ {
+ style: {
+ paddingLeft: '15px',
+ paddingRight: '10px',
+ width: '100%',
+ display: 'flex'
+ }
+ },
+ $.entrySeq().map(([s, o]) =>
+ Pe.createElement(
+ 'div',
+ {
+ className: Hn()('btn', { active: s === C }),
+ style: handleGetBtnStyle(s),
+ key: s,
+ onClick: () =>
+ ((s) => {
+ C !== s && j(s);
+ })(s)
+ },
+ Pe.createElement(
+ 'h4',
+ { style: s === C ? { color: 'white' } : {} },
+ o.get('title')
+ )
+ )
+ )
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'copy-to-clipboard' },
+ Pe.createElement(
+ Jn.CopyToClipboard,
+ { text: U },
+ Pe.createElement('button', null)
+ )
+ ),
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ x,
+ {
+ language: V.get('syntax'),
+ className: 'curl microlight',
+ renderPlainText: ({ children: s, PlainTextViewer: o }) =>
+ Pe.createElement(o, { className: 'curl' }, s)
+ },
+ U
+ )
+ )
+ )
+ )
+ );
+ },
+ plugins_request_snippets = () => ({
+ components: { RequestSnippets: request_snippets },
+ fn: V,
+ statePlugins: { requestSnippets: { selectors: U } }
+ });
+ class ModelCollapse extends Pe.Component {
+ static defaultProps = {
+ collapsedContent: '{...}',
+ expanded: !1,
+ title: null,
+ onToggle: () => {},
+ hideSelfOnExpand: !1,
+ specPath: $e().List([])
+ };
+ constructor(s, o) {
+ super(s, o);
+ let { expanded: i, collapsedContent: u } = this.props;
+ this.state = {
+ expanded: i,
+ collapsedContent: u || ModelCollapse.defaultProps.collapsedContent
+ };
+ }
+ componentDidMount() {
+ const { hideSelfOnExpand: s, expanded: o, modelName: i } = this.props;
+ s && o && this.props.onToggle(i, o);
+ }
+ UNSAFE_componentWillReceiveProps(s) {
+ this.props.expanded !== s.expanded && this.setState({ expanded: s.expanded });
+ }
+ toggleCollapsed = () => {
+ this.props.onToggle && this.props.onToggle(this.props.modelName, !this.state.expanded),
+ this.setState({ expanded: !this.state.expanded });
+ };
+ onLoad = (s) => {
+ if (s && this.props.layoutSelectors) {
+ const o = this.props.layoutSelectors.getScrollToKey();
+ $e().is(o, this.props.specPath) && this.toggleCollapsed(),
+ this.props.layoutActions.readyToScroll(this.props.specPath, s.parentElement);
+ }
+ };
+ render() {
+ const { title: s, classes: o } = this.props;
+ return this.state.expanded && this.props.hideSelfOnExpand
+ ? Pe.createElement('span', { className: o || '' }, this.props.children)
+ : Pe.createElement(
+ 'span',
+ { className: o || '', ref: this.onLoad },
+ Pe.createElement(
+ 'button',
+ {
+ 'aria-expanded': this.state.expanded,
+ className: 'model-box-control',
+ onClick: this.toggleCollapsed
+ },
+ s && Pe.createElement('span', { className: 'pointer' }, s),
+ Pe.createElement('span', {
+ className: 'model-toggle' + (this.state.expanded ? '' : ' collapsed')
+ }),
+ !this.state.expanded &&
+ Pe.createElement('span', null, this.state.collapsedContent)
+ ),
+ this.state.expanded && this.props.children
+ );
+ }
+ }
+ const useTabs = ({ initialTab: s, isExecute: o, schema: i, example: u }) => {
+ const _ = (0, Pe.useMemo)(() => ({ example: 'example', model: 'model' }), []),
+ w = (0, Pe.useMemo)(() => Object.keys(_), [_]).includes(s) && i && !o ? s : _.example,
+ x = ((s) => {
+ const o = (0, Pe.useRef)();
+ return (
+ (0, Pe.useEffect)(() => {
+ o.current = s;
+ }),
+ o.current
+ );
+ })(o),
+ [C, j] = (0, Pe.useState)(w),
+ L = (0, Pe.useCallback)((s) => {
+ j(s.target.dataset.name);
+ }, []);
+ return (
+ (0, Pe.useEffect)(() => {
+ x && !o && u && j(_.example);
+ }, [x, o, u]),
+ { activeTab: C, onTabChange: L, tabs: _ }
+ );
+ },
+ model_example = ({
+ schema: s,
+ example: o,
+ isExecute: i = !1,
+ specPath: u,
+ includeWriteOnly: _ = !1,
+ includeReadOnly: w = !1,
+ getComponent: x,
+ getConfigs: C,
+ specSelectors: j
+ }) => {
+ const { defaultModelRendering: L, defaultModelExpandDepth: B } = C(),
+ $ = x('ModelWrapper'),
+ V = x('HighlightCode', !0),
+ U = St()(5).toString('base64'),
+ z = St()(5).toString('base64'),
+ Y = St()(5).toString('base64'),
+ Z = St()(5).toString('base64'),
+ ee = j.isOAS3(),
+ {
+ activeTab: ie,
+ tabs: ae,
+ onTabChange: le
+ } = useTabs({ initialTab: L, isExecute: i, schema: s, example: o });
+ return Pe.createElement(
+ 'div',
+ { className: 'model-example' },
+ Pe.createElement(
+ 'ul',
+ { className: 'tab', role: 'tablist' },
+ Pe.createElement(
+ 'li',
+ {
+ className: Hn()('tabitem', { active: ie === ae.example }),
+ role: 'presentation'
+ },
+ Pe.createElement(
+ 'button',
+ {
+ 'aria-controls': z,
+ 'aria-selected': ie === ae.example,
+ className: 'tablinks',
+ 'data-name': 'example',
+ id: U,
+ onClick: le,
+ role: 'tab'
+ },
+ i ? 'Edit Value' : 'Example Value'
+ )
+ ),
+ s &&
+ Pe.createElement(
+ 'li',
+ {
+ className: Hn()('tabitem', { active: ie === ae.model }),
+ role: 'presentation'
+ },
+ Pe.createElement(
+ 'button',
+ {
+ 'aria-controls': Z,
+ 'aria-selected': ie === ae.model,
+ className: Hn()('tablinks', { inactive: i }),
+ 'data-name': 'model',
+ id: Y,
+ onClick: le,
+ role: 'tab'
+ },
+ ee ? 'Schema' : 'Model'
+ )
+ )
+ ),
+ ie === ae.example &&
+ Pe.createElement(
+ 'div',
+ {
+ 'aria-hidden': ie !== ae.example,
+ 'aria-labelledby': U,
+ 'data-name': 'examplePanel',
+ id: z,
+ role: 'tabpanel',
+ tabIndex: '0'
+ },
+ o || Pe.createElement(V, null, '(no example available')
+ ),
+ ie === ae.model &&
+ Pe.createElement(
+ 'div',
+ {
+ 'aria-hidden': ie === ae.example,
+ 'aria-labelledby': Y,
+ 'data-name': 'modelPanel',
+ id: Z,
+ role: 'tabpanel',
+ tabIndex: '0'
+ },
+ Pe.createElement($, {
+ schema: s,
+ getComponent: x,
+ getConfigs: C,
+ specSelectors: j,
+ expandDepth: B,
+ specPath: u,
+ includeReadOnly: w,
+ includeWriteOnly: _
+ })
+ )
+ );
+ };
+ class ModelWrapper extends Pe.Component {
+ onToggle = (s, o) => {
+ this.props.layoutActions && this.props.layoutActions.show(this.props.fullPath, o);
+ };
+ render() {
+ let { getComponent: s, getConfigs: o } = this.props;
+ const i = s('Model');
+ let u;
+ return (
+ this.props.layoutSelectors &&
+ (u = this.props.layoutSelectors.isShown(this.props.fullPath)),
+ Pe.createElement(
+ 'div',
+ { className: 'model-box' },
+ Pe.createElement(
+ i,
+ Rn()({}, this.props, {
+ getConfigs: o,
+ expanded: u,
+ depth: 1,
+ onToggle: this.onToggle,
+ expandDepth: this.props.expandDepth || 0
+ })
+ )
+ )
+ );
+ }
+ }
+ function _typeof(s) {
+ return (
+ (_typeof =
+ 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator
+ ? function (s) {
+ return typeof s;
+ }
+ : function (s) {
+ return s &&
+ 'function' == typeof Symbol &&
+ s.constructor === Symbol &&
+ s !== Symbol.prototype
+ ? 'symbol'
+ : typeof s;
+ }),
+ _typeof(s)
+ );
+ }
+ function _defineProperties(s, o) {
+ for (var i = 0; i < o.length; i++) {
+ var u = o[i];
+ (u.enumerable = u.enumerable || !1),
+ (u.configurable = !0),
+ 'value' in u && (u.writable = !0),
+ Object.defineProperty(s, u.key, u);
+ }
+ }
+ function _defineProperty(s, o, i) {
+ return (
+ o in s
+ ? Object.defineProperty(s, o, {
+ value: i,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ })
+ : (s[o] = i),
+ s
+ );
+ }
+ function ownKeys(s, o) {
+ var i = Object.keys(s);
+ if (Object.getOwnPropertySymbols) {
+ var u = Object.getOwnPropertySymbols(s);
+ o &&
+ (u = u.filter(function (o) {
+ return Object.getOwnPropertyDescriptor(s, o).enumerable;
+ })),
+ i.push.apply(i, u);
+ }
+ return i;
+ }
+ function _getPrototypeOf(s) {
+ return (
+ (_getPrototypeOf = Object.setPrototypeOf
+ ? Object.getPrototypeOf
+ : function _getPrototypeOf(s) {
+ return s.__proto__ || Object.getPrototypeOf(s);
+ }),
+ _getPrototypeOf(s)
+ );
+ }
+ function _setPrototypeOf(s, o) {
+ return (
+ (_setPrototypeOf =
+ Object.setPrototypeOf ||
+ function _setPrototypeOf(s, o) {
+ return (s.__proto__ = o), s;
+ }),
+ _setPrototypeOf(s, o)
+ );
+ }
+ function _possibleConstructorReturn(s, o) {
+ return !o || ('object' != typeof o && 'function' != typeof o)
+ ? (function _assertThisInitialized(s) {
+ if (void 0 === s)
+ throw new ReferenceError(
+ "this hasn't been initialised - super() hasn't been called"
+ );
+ return s;
+ })(s)
+ : o;
+ }
+ var Xn = {};
+ function react_immutable_pure_component_es_get(s, o, i) {
+ return (function isInvalid(s) {
+ return null == s;
+ })(s)
+ ? i
+ : (function isMapLike(s) {
+ return (
+ null !== s &&
+ 'object' === _typeof(s) &&
+ 'function' == typeof s.get &&
+ 'function' == typeof s.has
+ );
+ })(s)
+ ? s.has(o)
+ ? s.get(o)
+ : i
+ : hasOwnProperty.call(s, o)
+ ? s[o]
+ : i;
+ }
+ function getIn(s, o, i) {
+ for (var u = 0; u !== o.length; )
+ if ((s = react_immutable_pure_component_es_get(s, o[u++], Xn)) === Xn) return i;
+ return s;
+ }
+ function check(s) {
+ var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
+ i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
+ u = (function createChecker(s, o) {
+ return function (i) {
+ if ('string' == typeof i) return (0, qe.is)(o[i], s[i]);
+ if (Array.isArray(i)) return (0, qe.is)(getIn(o, i), getIn(s, i));
+ throw new TypeError('Invalid key: expected Array or string: ' + i);
+ };
+ })(o, i),
+ _ =
+ s ||
+ Object.keys(
+ (function _objectSpread2(s) {
+ for (var o = 1; o < arguments.length; o++) {
+ var i = null != arguments[o] ? arguments[o] : {};
+ o % 2
+ ? ownKeys(i, !0).forEach(function (o) {
+ _defineProperty(s, o, i[o]);
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(s, Object.getOwnPropertyDescriptors(i))
+ : ownKeys(i).forEach(function (o) {
+ Object.defineProperty(s, o, Object.getOwnPropertyDescriptor(i, o));
+ });
+ }
+ return s;
+ })({}, i, {}, o)
+ );
+ return _.every(u);
+ }
+ const Zn = (function (s) {
+ function ImmutablePureComponent() {
+ return (
+ (function _classCallCheck(s, o) {
+ if (!(s instanceof o)) throw new TypeError('Cannot call a class as a function');
+ })(this, ImmutablePureComponent),
+ _possibleConstructorReturn(
+ this,
+ _getPrototypeOf(ImmutablePureComponent).apply(this, arguments)
+ )
+ );
+ }
+ return (
+ (function _inherits(s, o) {
+ if ('function' != typeof o && null !== o)
+ throw new TypeError('Super expression must either be null or a function');
+ (s.prototype = Object.create(o && o.prototype, {
+ constructor: { value: s, writable: !0, configurable: !0 }
+ })),
+ o && _setPrototypeOf(s, o);
+ })(ImmutablePureComponent, s),
+ (function _createClass(s, o, i) {
+ return o && _defineProperties(s.prototype, o), i && _defineProperties(s, i), s;
+ })(ImmutablePureComponent, [
+ {
+ key: 'shouldComponentUpdate',
+ value: function shouldComponentUpdate(s) {
+ var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+ return (
+ !check(this.updateOnProps, this.props, s, 'updateOnProps') ||
+ !check(this.updateOnStates, this.state, o, 'updateOnStates')
+ );
+ }
+ }
+ ]),
+ ImmutablePureComponent
+ );
+ })(Pe.Component);
+ var Qn,
+ es = __webpack_require__(5556),
+ ts = __webpack_require__.n(es);
+ function _extends() {
+ return (
+ (_extends = Object.assign
+ ? Object.assign.bind()
+ : function (s) {
+ for (var o = 1; o < arguments.length; o++) {
+ var i = arguments[o];
+ for (var u in i) ({}).hasOwnProperty.call(i, u) && (s[u] = i[u]);
+ }
+ return s;
+ }),
+ _extends.apply(null, arguments)
+ );
+ }
+ const rolling_load = (s) =>
+ Pe.createElement(
+ 'svg',
+ _extends(
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ width: 200,
+ height: 200,
+ className: 'rolling-load_svg__lds-rolling',
+ preserveAspectRatio: 'xMidYMid',
+ style: {
+ backgroundImage: 'none',
+ backgroundPosition: 'initial initial',
+ backgroundRepeat: 'initial initial'
+ },
+ viewBox: '0 0 100 100'
+ },
+ s
+ ),
+ Qn ||
+ (Qn = Pe.createElement(
+ 'circle',
+ {
+ cx: 50,
+ cy: 50,
+ r: 35,
+ fill: 'none',
+ stroke: '#555',
+ strokeDasharray: '164.93361431346415 56.97787143782138',
+ strokeWidth: 10
+ },
+ Pe.createElement('animateTransform', {
+ attributeName: 'transform',
+ begin: '0s',
+ calcMode: 'linear',
+ dur: '1s',
+ keyTimes: '0;1',
+ repeatCount: 'indefinite',
+ type: 'rotate',
+ values: '0 50 50;360 50 50'
+ })
+ ))
+ ),
+ decodeRefName = (s) => {
+ const o = s.replace(/~1/g, '/').replace(/~0/g, '~');
+ try {
+ return decodeURIComponent(o);
+ } catch {
+ return o;
+ }
+ };
+ class Model extends Zn {
+ static propTypes = {
+ schema: kn().map.isRequired,
+ getComponent: ts().func.isRequired,
+ getConfigs: ts().func.isRequired,
+ specSelectors: ts().object.isRequired,
+ name: ts().string,
+ displayName: ts().string,
+ isRef: ts().bool,
+ required: ts().bool,
+ expandDepth: ts().number,
+ depth: ts().number,
+ specPath: kn().list.isRequired,
+ includeReadOnly: ts().bool,
+ includeWriteOnly: ts().bool
+ };
+ getModelName = (s) =>
+ -1 !== s.indexOf('#/definitions/')
+ ? decodeRefName(s.replace(/^.*#\/definitions\//, ''))
+ : -1 !== s.indexOf('#/components/schemas/')
+ ? decodeRefName(s.replace(/^.*#\/components\/schemas\//, ''))
+ : void 0;
+ getRefSchema = (s) => {
+ let { specSelectors: o } = this.props;
+ return o.findDefinition(s);
+ };
+ render() {
+ let {
+ getComponent: s,
+ getConfigs: o,
+ specSelectors: i,
+ schema: u,
+ required: _,
+ name: w,
+ isRef: x,
+ specPath: C,
+ displayName: j,
+ includeReadOnly: L,
+ includeWriteOnly: B
+ } = this.props;
+ const $ = s('ObjectModel'),
+ V = s('ArrayModel'),
+ U = s('PrimitiveModel');
+ let z = 'object',
+ Y = u && u.get('$$ref'),
+ Z = u && u.get('$ref');
+ if ((!w && Y && (w = this.getModelName(Y)), Z)) {
+ const s = this.getModelName(Z),
+ o = this.getRefSchema(s);
+ qe.Map.isMap(o)
+ ? ((u = o.mergeDeep(u)), Y || ((u = u.set('$$ref', Z)), (Y = Z)))
+ : qe.Map.isMap(u) && 1 === u.size && ((u = null), (w = Z));
+ }
+ if (!u)
+ return Pe.createElement(
+ 'span',
+ { className: 'model model-title' },
+ Pe.createElement('span', { className: 'model-title__text' }, j || w),
+ !Z && Pe.createElement(rolling_load, { height: '20px', width: '20px' })
+ );
+ const ee = i.isOAS3() && u.get('deprecated');
+ switch (((x = void 0 !== x ? x : !!Y), (z = (u && u.get('type')) || z), z)) {
+ case 'object':
+ return Pe.createElement(
+ $,
+ Rn()({ className: 'object' }, this.props, {
+ specPath: C,
+ getConfigs: o,
+ schema: u,
+ name: w,
+ deprecated: ee,
+ isRef: x,
+ includeReadOnly: L,
+ includeWriteOnly: B
+ })
+ );
+ case 'array':
+ return Pe.createElement(
+ V,
+ Rn()({ className: 'array' }, this.props, {
+ getConfigs: o,
+ schema: u,
+ name: w,
+ deprecated: ee,
+ required: _,
+ includeReadOnly: L,
+ includeWriteOnly: B
+ })
+ );
+ default:
+ return Pe.createElement(
+ U,
+ Rn()({}, this.props, {
+ getComponent: s,
+ getConfigs: o,
+ schema: u,
+ name: w,
+ deprecated: ee,
+ required: _
+ })
+ );
+ }
+ }
+ }
+ class Models extends Pe.Component {
+ getSchemaBasePath = () =>
+ this.props.specSelectors.isOAS3() ? ['components', 'schemas'] : ['definitions'];
+ getCollapsedContent = () => ' ';
+ handleToggle = (s, o) => {
+ const { layoutActions: i } = this.props;
+ i.show([...this.getSchemaBasePath(), s], o),
+ o && this.props.specActions.requestResolvedSubtree([...this.getSchemaBasePath(), s]);
+ };
+ onLoadModels = (s) => {
+ s && this.props.layoutActions.readyToScroll(this.getSchemaBasePath(), s);
+ };
+ onLoadModel = (s) => {
+ if (s) {
+ const o = s.getAttribute('data-name');
+ this.props.layoutActions.readyToScroll([...this.getSchemaBasePath(), o], s);
+ }
+ };
+ render() {
+ let {
+ specSelectors: s,
+ getComponent: o,
+ layoutSelectors: i,
+ layoutActions: u,
+ getConfigs: _
+ } = this.props,
+ w = s.definitions(),
+ { docExpansion: x, defaultModelsExpandDepth: C } = _();
+ if (!w.size || C < 0) return null;
+ const j = this.getSchemaBasePath();
+ let L = i.isShown(j, C > 0 && 'none' !== x);
+ const B = s.isOAS3(),
+ $ = o('ModelWrapper'),
+ V = o('Collapse'),
+ U = o('ModelCollapse'),
+ z = o('JumpToPath', !0),
+ Y = o('ArrowUpIcon'),
+ Z = o('ArrowDownIcon');
+ return Pe.createElement(
+ 'section',
+ { className: L ? 'models is-open' : 'models', ref: this.onLoadModels },
+ Pe.createElement(
+ 'h4',
+ null,
+ Pe.createElement(
+ 'button',
+ { 'aria-expanded': L, className: 'models-control', onClick: () => u.show(j, !L) },
+ Pe.createElement('span', null, B ? 'Schemas' : 'Models'),
+ L ? Pe.createElement(Y, null) : Pe.createElement(Z, null)
+ )
+ ),
+ Pe.createElement(
+ V,
+ { isOpened: L },
+ w
+ .entrySeq()
+ .map(([w]) => {
+ const x = [...j, w],
+ L = $e().List(x),
+ B = s.specResolvedSubtree(x),
+ V = s.specJson().getIn(x),
+ Y = qe.Map.isMap(B) ? B : $e().Map(),
+ Z = qe.Map.isMap(V) ? V : $e().Map(),
+ ee = Y.get('title') || Z.get('title') || w,
+ ie = i.isShown(x, !1);
+ ie &&
+ 0 === Y.size &&
+ Z.size > 0 &&
+ this.props.specActions.requestResolvedSubtree(x);
+ const ae = Pe.createElement($, {
+ name: w,
+ expandDepth: C,
+ schema: Y || $e().Map(),
+ displayName: ee,
+ fullPath: x,
+ specPath: L,
+ getComponent: o,
+ specSelectors: s,
+ getConfigs: _,
+ layoutSelectors: i,
+ layoutActions: u,
+ includeReadOnly: !0,
+ includeWriteOnly: !0
+ }),
+ le = Pe.createElement(
+ 'span',
+ { className: 'model-box' },
+ Pe.createElement('span', { className: 'model model-title' }, ee)
+ );
+ return Pe.createElement(
+ 'div',
+ {
+ id: `model-${w}`,
+ className: 'model-container',
+ key: `models-section-${w}`,
+ 'data-name': w,
+ ref: this.onLoadModel
+ },
+ Pe.createElement(
+ 'span',
+ { className: 'models-jump-to-path' },
+ Pe.createElement(z, { specPath: L })
+ ),
+ Pe.createElement(
+ U,
+ {
+ classes: 'model-box',
+ collapsedContent: this.getCollapsedContent(w),
+ onToggle: this.handleToggle,
+ title: le,
+ displayName: ee,
+ modelName: w,
+ specPath: L,
+ layoutSelectors: i,
+ layoutActions: u,
+ hideSelfOnExpand: !0,
+ expanded: C > 0 && ie
+ },
+ ae
+ )
+ );
+ })
+ .toArray()
+ )
+ );
+ }
+ }
+ const enum_model = ({ value: s, getComponent: o }) => {
+ let i = o('ModelCollapse'),
+ u = Pe.createElement('span', null, 'Array [ ', s.count(), ' ]');
+ return Pe.createElement(
+ 'span',
+ { className: 'prop-enum' },
+ 'Enum:',
+ Pe.createElement('br', null),
+ Pe.createElement(i, { collapsedContent: u }, '[ ', s.map(String).join(', '), ' ]')
+ );
+ };
+ class ObjectModel extends Pe.Component {
+ render() {
+ let {
+ schema: s,
+ name: o,
+ displayName: i,
+ isRef: u,
+ getComponent: _,
+ getConfigs: w,
+ depth: x,
+ onToggle: C,
+ expanded: j,
+ specPath: L,
+ ...B
+ } = this.props,
+ { specSelectors: $, expandDepth: V, includeReadOnly: U, includeWriteOnly: z } = B;
+ const { isOAS3: Y } = $;
+ if (!s) return null;
+ const { showExtensions: Z } = w();
+ let ee = s.get('description'),
+ ie = s.get('properties'),
+ ae = s.get('additionalProperties'),
+ le = s.get('title') || i || o,
+ ce = s.get('required'),
+ pe = s.filter(
+ (s, o) =>
+ -1 !== ['maxProperties', 'minProperties', 'nullable', 'example'].indexOf(o)
+ ),
+ de = s.get('deprecated'),
+ fe = s.getIn(['externalDocs', 'url']),
+ ye = s.getIn(['externalDocs', 'description']);
+ const be = _('JumpToPath', !0),
+ _e = _('Markdown', !0),
+ we = _('Model'),
+ Se = _('ModelCollapse'),
+ xe = _('Property'),
+ Te = _('Link'),
+ JumpToPathSection = () =>
+ Pe.createElement(
+ 'span',
+ { className: 'model-jump-to-path' },
+ Pe.createElement(be, { specPath: L })
+ ),
+ Re = Pe.createElement(
+ 'span',
+ null,
+ Pe.createElement('span', null, '{'),
+ '...',
+ Pe.createElement('span', null, '}'),
+ u ? Pe.createElement(JumpToPathSection, null) : ''
+ ),
+ $e = $.isOAS3() ? s.get('allOf') : null,
+ ze = $.isOAS3() ? s.get('anyOf') : null,
+ We = $.isOAS3() ? s.get('oneOf') : null,
+ He = $.isOAS3() ? s.get('not') : null,
+ Ye =
+ le &&
+ Pe.createElement(
+ 'span',
+ { className: 'model-title' },
+ u &&
+ s.get('$$ref') &&
+ Pe.createElement('span', { className: 'model-hint' }, s.get('$$ref')),
+ Pe.createElement('span', { className: 'model-title__text' }, le)
+ );
+ return Pe.createElement(
+ 'span',
+ { className: 'model' },
+ Pe.createElement(
+ Se,
+ {
+ modelName: o,
+ title: Ye,
+ onToggle: C,
+ expanded: !!j || x <= V,
+ collapsedContent: Re
+ },
+ Pe.createElement('span', { className: 'brace-open object' }, '{'),
+ u ? Pe.createElement(JumpToPathSection, null) : null,
+ Pe.createElement(
+ 'span',
+ { className: 'inner-object' },
+ Pe.createElement(
+ 'table',
+ { className: 'model' },
+ Pe.createElement(
+ 'tbody',
+ null,
+ ee
+ ? Pe.createElement(
+ 'tr',
+ { className: 'description' },
+ Pe.createElement('td', null, 'description:'),
+ Pe.createElement('td', null, Pe.createElement(_e, { source: ee }))
+ )
+ : null,
+ fe &&
+ Pe.createElement(
+ 'tr',
+ { className: 'external-docs' },
+ Pe.createElement('td', null, 'externalDocs:'),
+ Pe.createElement(
+ 'td',
+ null,
+ Pe.createElement(
+ Te,
+ { target: '_blank', href: sanitizeUrl(fe) },
+ ye || fe
+ )
+ )
+ ),
+ de
+ ? Pe.createElement(
+ 'tr',
+ { className: 'property' },
+ Pe.createElement('td', null, 'deprecated:'),
+ Pe.createElement('td', null, 'true')
+ )
+ : null,
+ ie && ie.size
+ ? ie
+ .entrySeq()
+ .filter(
+ ([, s]) => (!s.get('readOnly') || U) && (!s.get('writeOnly') || z)
+ )
+ .map(([s, i]) => {
+ let u = Y() && i.get('deprecated'),
+ C = qe.List.isList(ce) && ce.contains(s),
+ j = ['property-row'];
+ return (
+ u && j.push('deprecated'),
+ C && j.push('required'),
+ Pe.createElement(
+ 'tr',
+ { key: s, className: j.join(' ') },
+ Pe.createElement(
+ 'td',
+ null,
+ s,
+ C && Pe.createElement('span', { className: 'star' }, '*')
+ ),
+ Pe.createElement(
+ 'td',
+ null,
+ Pe.createElement(
+ we,
+ Rn()({ key: `object-${o}-${s}_${i}` }, B, {
+ required: C,
+ getComponent: _,
+ specPath: L.push('properties', s),
+ getConfigs: w,
+ schema: i,
+ depth: x + 1
+ })
+ )
+ )
+ )
+ );
+ })
+ .toArray()
+ : null,
+ Z ? Pe.createElement('tr', null, Pe.createElement('td', null, ' ')) : null,
+ Z
+ ? s
+ .entrySeq()
+ .map(([s, o]) => {
+ if ('x-' !== s.slice(0, 2)) return;
+ const i = o ? (o.toJS ? o.toJS() : o) : null;
+ return Pe.createElement(
+ 'tr',
+ { key: s, className: 'extension' },
+ Pe.createElement('td', null, s),
+ Pe.createElement('td', null, JSON.stringify(i))
+ );
+ })
+ .toArray()
+ : null,
+ ae && ae.size
+ ? Pe.createElement(
+ 'tr',
+ null,
+ Pe.createElement('td', null, '< * >:'),
+ Pe.createElement(
+ 'td',
+ null,
+ Pe.createElement(
+ we,
+ Rn()({}, B, {
+ required: !1,
+ getComponent: _,
+ specPath: L.push('additionalProperties'),
+ getConfigs: w,
+ schema: ae,
+ depth: x + 1
+ })
+ )
+ )
+ )
+ : null,
+ $e
+ ? Pe.createElement(
+ 'tr',
+ null,
+ Pe.createElement('td', null, 'allOf ->'),
+ Pe.createElement(
+ 'td',
+ null,
+ $e.map((s, o) =>
+ Pe.createElement(
+ 'div',
+ { key: o },
+ Pe.createElement(
+ we,
+ Rn()({}, B, {
+ required: !1,
+ getComponent: _,
+ specPath: L.push('allOf', o),
+ getConfigs: w,
+ schema: s,
+ depth: x + 1
+ })
+ )
+ )
+ )
+ )
+ )
+ : null,
+ ze
+ ? Pe.createElement(
+ 'tr',
+ null,
+ Pe.createElement('td', null, 'anyOf ->'),
+ Pe.createElement(
+ 'td',
+ null,
+ ze.map((s, o) =>
+ Pe.createElement(
+ 'div',
+ { key: o },
+ Pe.createElement(
+ we,
+ Rn()({}, B, {
+ required: !1,
+ getComponent: _,
+ specPath: L.push('anyOf', o),
+ getConfigs: w,
+ schema: s,
+ depth: x + 1
+ })
+ )
+ )
+ )
+ )
+ )
+ : null,
+ We
+ ? Pe.createElement(
+ 'tr',
+ null,
+ Pe.createElement('td', null, 'oneOf ->'),
+ Pe.createElement(
+ 'td',
+ null,
+ We.map((s, o) =>
+ Pe.createElement(
+ 'div',
+ { key: o },
+ Pe.createElement(
+ we,
+ Rn()({}, B, {
+ required: !1,
+ getComponent: _,
+ specPath: L.push('oneOf', o),
+ getConfigs: w,
+ schema: s,
+ depth: x + 1
+ })
+ )
+ )
+ )
+ )
+ )
+ : null,
+ He
+ ? Pe.createElement(
+ 'tr',
+ null,
+ Pe.createElement('td', null, 'not ->'),
+ Pe.createElement(
+ 'td',
+ null,
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ we,
+ Rn()({}, B, {
+ required: !1,
+ getComponent: _,
+ specPath: L.push('not'),
+ getConfigs: w,
+ schema: He,
+ depth: x + 1
+ })
+ )
+ )
+ )
+ )
+ : null
+ )
+ )
+ ),
+ Pe.createElement('span', { className: 'brace-close' }, '}')
+ ),
+ pe.size
+ ? pe
+ .entrySeq()
+ .map(([s, o]) =>
+ Pe.createElement(xe, {
+ key: `${s}-${o}`,
+ propKey: s,
+ propVal: o,
+ propClass: 'property'
+ })
+ )
+ : null
+ );
+ }
+ }
+ class ArrayModel extends Pe.Component {
+ render() {
+ let {
+ getComponent: s,
+ getConfigs: o,
+ schema: i,
+ depth: u,
+ expandDepth: _,
+ name: w,
+ displayName: x,
+ specPath: C
+ } = this.props,
+ j = i.get('description'),
+ L = i.get('items'),
+ B = i.get('title') || x || w,
+ $ = i.filter(
+ (s, o) =>
+ -1 === ['type', 'items', 'description', '$$ref', 'externalDocs'].indexOf(o)
+ ),
+ V = i.getIn(['externalDocs', 'url']),
+ U = i.getIn(['externalDocs', 'description']);
+ const z = s('Markdown', !0),
+ Y = s('ModelCollapse'),
+ Z = s('Model'),
+ ee = s('Property'),
+ ie = s('Link'),
+ ae =
+ B &&
+ Pe.createElement(
+ 'span',
+ { className: 'model-title' },
+ Pe.createElement('span', { className: 'model-title__text' }, B)
+ );
+ return Pe.createElement(
+ 'span',
+ { className: 'model' },
+ Pe.createElement(
+ Y,
+ { title: ae, expanded: u <= _, collapsedContent: '[...]' },
+ '[',
+ $.size
+ ? $.entrySeq().map(([s, o]) =>
+ Pe.createElement(ee, {
+ key: `${s}-${o}`,
+ propKey: s,
+ propVal: o,
+ propClass: 'property'
+ })
+ )
+ : null,
+ j
+ ? Pe.createElement(z, { source: j })
+ : $.size
+ ? Pe.createElement('div', { className: 'markdown' })
+ : null,
+ V &&
+ Pe.createElement(
+ 'div',
+ { className: 'external-docs' },
+ Pe.createElement(ie, { target: '_blank', href: sanitizeUrl(V) }, U || V)
+ ),
+ Pe.createElement(
+ 'span',
+ null,
+ Pe.createElement(
+ Z,
+ Rn()({}, this.props, {
+ getConfigs: o,
+ specPath: C.push('items'),
+ name: null,
+ schema: L,
+ required: !1,
+ depth: u + 1
+ })
+ )
+ ),
+ ']'
+ )
+ );
+ }
+ }
+ const rs = 'property primitive';
+ class Primitive extends Pe.Component {
+ render() {
+ let {
+ schema: s,
+ getComponent: o,
+ getConfigs: i,
+ name: u,
+ displayName: _,
+ depth: w,
+ expandDepth: x
+ } = this.props;
+ const { showExtensions: C } = i();
+ if (!s || !s.get) return Pe.createElement('div', null);
+ let j = s.get('type'),
+ L = s.get('format'),
+ B = s.get('xml'),
+ $ = s.get('enum'),
+ V = s.get('title') || _ || u,
+ U = s.get('description'),
+ z = getExtensions(s),
+ Y = s
+ .filter(
+ (s, o) =>
+ -1 ===
+ ['enum', 'type', 'format', 'description', '$$ref', 'externalDocs'].indexOf(o)
+ )
+ .filterNot((s, o) => z.has(o)),
+ Z = s.getIn(['externalDocs', 'url']),
+ ee = s.getIn(['externalDocs', 'description']);
+ const ie = o('Markdown', !0),
+ ae = o('EnumModel'),
+ le = o('Property'),
+ ce = o('ModelCollapse'),
+ pe = o('Link'),
+ de =
+ V &&
+ Pe.createElement(
+ 'span',
+ { className: 'model-title' },
+ Pe.createElement('span', { className: 'model-title__text' }, V)
+ );
+ return Pe.createElement(
+ 'span',
+ { className: 'model' },
+ Pe.createElement(
+ ce,
+ { title: de, expanded: w <= x, collapsedContent: '[...]' },
+ Pe.createElement(
+ 'span',
+ { className: 'prop' },
+ u && w > 1 && Pe.createElement('span', { className: 'prop-name' }, V),
+ Pe.createElement('span', { className: 'prop-type' }, j),
+ L && Pe.createElement('span', { className: 'prop-format' }, '($', L, ')'),
+ Y.size
+ ? Y.entrySeq().map(([s, o]) =>
+ Pe.createElement(le, {
+ key: `${s}-${o}`,
+ propKey: s,
+ propVal: o,
+ propClass: rs
+ })
+ )
+ : null,
+ C && z.size
+ ? z
+ .entrySeq()
+ .map(([s, o]) =>
+ Pe.createElement(le, {
+ key: `${s}-${o}`,
+ propKey: s,
+ propVal: o,
+ propClass: rs
+ })
+ )
+ : null,
+ U ? Pe.createElement(ie, { source: U }) : null,
+ Z &&
+ Pe.createElement(
+ 'div',
+ { className: 'external-docs' },
+ Pe.createElement(pe, { target: '_blank', href: sanitizeUrl(Z) }, ee || Z)
+ ),
+ B && B.size
+ ? Pe.createElement(
+ 'span',
+ null,
+ Pe.createElement('br', null),
+ Pe.createElement('span', { className: rs }, 'xml:'),
+ B.entrySeq()
+ .map(([s, o]) =>
+ Pe.createElement(
+ 'span',
+ { key: `${s}-${o}`, className: rs },
+ Pe.createElement('br', null),
+ ' ',
+ s,
+ ': ',
+ String(o)
+ )
+ )
+ .toArray()
+ )
+ : null,
+ $ && Pe.createElement(ae, { value: $, getComponent: o })
+ )
+ )
+ );
+ }
+ }
+ class Schemes extends Pe.Component {
+ UNSAFE_componentWillMount() {
+ let { schemes: s } = this.props;
+ this.setScheme(s.first());
+ }
+ UNSAFE_componentWillReceiveProps(s) {
+ (this.props.currentScheme && s.schemes.includes(this.props.currentScheme)) ||
+ this.setScheme(s.schemes.first());
+ }
+ onChange = (s) => {
+ this.setScheme(s.target.value);
+ };
+ setScheme = (s) => {
+ let { path: o, method: i, specActions: u } = this.props;
+ u.setScheme(s, o, i);
+ };
+ render() {
+ let { schemes: s, currentScheme: o } = this.props;
+ return Pe.createElement(
+ 'label',
+ { htmlFor: 'schemes' },
+ Pe.createElement('span', { className: 'schemes-title' }, 'Schemes'),
+ Pe.createElement(
+ 'select',
+ { onChange: this.onChange, value: o, id: 'schemes' },
+ s
+ .valueSeq()
+ .map((s) => Pe.createElement('option', { value: s, key: s }, s))
+ .toArray()
+ )
+ );
+ }
+ }
+ class SchemesContainer extends Pe.Component {
+ render() {
+ const { specActions: s, specSelectors: o, getComponent: i } = this.props,
+ u = o.operationScheme(),
+ _ = o.schemes(),
+ w = i('schemes');
+ return _ && _.size
+ ? Pe.createElement(w, { currentScheme: u, schemes: _, specActions: s })
+ : null;
+ }
+ }
+ var ns = __webpack_require__(24677),
+ ss = __webpack_require__.n(ns);
+ const os = {
+ value: '',
+ onChange: () => {},
+ schema: {},
+ keyName: '',
+ required: !1,
+ errors: (0, qe.List)()
+ };
+ class JsonSchemaForm extends Pe.Component {
+ static defaultProps = os;
+ componentDidMount() {
+ const { dispatchInitialValue: s, value: o, onChange: i } = this.props;
+ s ? i(o) : !1 === s && i('');
+ }
+ render() {
+ let {
+ schema: s,
+ errors: o,
+ value: i,
+ onChange: u,
+ getComponent: _,
+ fn: w,
+ disabled: x
+ } = this.props;
+ const C = s && s.get ? s.get('format') : null,
+ j = s && s.get ? s.get('type') : null;
+ let getComponentSilently = (s) => _(s, !1, { failSilently: !0 }),
+ L = j
+ ? getComponentSilently(C ? `JsonSchema_${j}_${C}` : `JsonSchema_${j}`)
+ : _('JsonSchema_string');
+ return (
+ L || (L = _('JsonSchema_string')),
+ Pe.createElement(
+ L,
+ Rn()({}, this.props, {
+ errors: o,
+ fn: w,
+ getComponent: _,
+ value: i,
+ onChange: u,
+ schema: s,
+ disabled: x
+ })
+ )
+ );
+ }
+ }
+ class JsonSchema_string extends Pe.Component {
+ static defaultProps = os;
+ onChange = (s) => {
+ const o =
+ this.props.schema && 'file' === this.props.schema.get('type')
+ ? s.target.files[0]
+ : s.target.value;
+ this.props.onChange(o, this.props.keyName);
+ };
+ onEnumChange = (s) => this.props.onChange(s);
+ render() {
+ let {
+ getComponent: s,
+ value: o,
+ schema: i,
+ errors: u,
+ required: _,
+ description: w,
+ disabled: x
+ } = this.props;
+ const C = i && i.get ? i.get('enum') : null,
+ j = i && i.get ? i.get('format') : null,
+ L = i && i.get ? i.get('type') : null,
+ B = i && i.get ? i.get('in') : null;
+ if ((o || (o = ''), (u = u.toJS ? u.toJS() : []), C)) {
+ const i = s('Select');
+ return Pe.createElement(i, {
+ className: u.length ? 'invalid' : '',
+ title: u.length ? u : '',
+ allowedValues: [...C],
+ value: o,
+ allowEmptyValue: !_,
+ disabled: x,
+ onChange: this.onEnumChange
+ });
+ }
+ const $ = x || (B && 'formData' === B && !('FormData' in window)),
+ V = s('Input');
+ return L && 'file' === L
+ ? Pe.createElement(V, {
+ type: 'file',
+ className: u.length ? 'invalid' : '',
+ title: u.length ? u : '',
+ onChange: this.onChange,
+ disabled: $
+ })
+ : Pe.createElement(ss(), {
+ type: j && 'password' === j ? 'password' : 'text',
+ className: u.length ? 'invalid' : '',
+ title: u.length ? u : '',
+ value: o,
+ minLength: 0,
+ debounceTimeout: 350,
+ placeholder: w,
+ onChange: this.onChange,
+ disabled: $
+ });
+ }
+ }
+ class JsonSchema_array extends Pe.PureComponent {
+ static defaultProps = os;
+ constructor(s, o) {
+ super(s, o), (this.state = { value: valueOrEmptyList(s.value), schema: s.schema });
+ }
+ UNSAFE_componentWillReceiveProps(s) {
+ const o = valueOrEmptyList(s.value);
+ o !== this.state.value && this.setState({ value: o }),
+ s.schema !== this.state.schema && this.setState({ schema: s.schema });
+ }
+ onChange = () => {
+ this.props.onChange(this.state.value);
+ };
+ onItemChange = (s, o) => {
+ this.setState(({ value: i }) => ({ value: i.set(o, s) }), this.onChange);
+ };
+ removeItem = (s) => {
+ this.setState(({ value: o }) => ({ value: o.delete(s) }), this.onChange);
+ };
+ addItem = () => {
+ const { fn: s } = this.props;
+ let o = valueOrEmptyList(this.state.value);
+ this.setState(
+ () => ({
+ value: o.push(
+ s.getSampleSchema(this.state.schema.get('items'), !1, { includeWriteOnly: !0 })
+ )
+ }),
+ this.onChange
+ );
+ };
+ onEnumChange = (s) => {
+ this.setState(() => ({ value: s }), this.onChange);
+ };
+ render() {
+ let {
+ getComponent: s,
+ required: o,
+ schema: i,
+ errors: u,
+ fn: _,
+ disabled: w
+ } = this.props;
+ u = u.toJS ? u.toJS() : Array.isArray(u) ? u : [];
+ const x = u.filter((s) => 'string' == typeof s),
+ C = u.filter((s) => void 0 !== s.needRemove).map((s) => s.error),
+ j = this.state.value,
+ L = !!(j && j.count && j.count() > 0),
+ B = i.getIn(['items', 'enum']),
+ $ = i.getIn(['items', 'type']),
+ V = i.getIn(['items', 'format']),
+ U = i.get('items');
+ let z,
+ Y = !1,
+ Z = 'file' === $ || ('string' === $ && 'binary' === V);
+ if (
+ ($ && V
+ ? (z = s(`JsonSchema_${$}_${V}`))
+ : ('boolean' !== $ && 'array' !== $ && 'object' !== $) ||
+ (z = s(`JsonSchema_${$}`)),
+ z || Z || (Y = !0),
+ B)
+ ) {
+ const i = s('Select');
+ return Pe.createElement(i, {
+ className: u.length ? 'invalid' : '',
+ title: u.length ? u : '',
+ multiple: !0,
+ value: j,
+ disabled: w,
+ allowedValues: B,
+ allowEmptyValue: !o,
+ onChange: this.onEnumChange
+ });
+ }
+ const ee = s('Button');
+ return Pe.createElement(
+ 'div',
+ { className: 'json-schema-array' },
+ L
+ ? j.map((o, i) => {
+ const x = (0, qe.fromJS)([
+ ...u.filter((s) => s.index === i).map((s) => s.error)
+ ]);
+ return Pe.createElement(
+ 'div',
+ { key: i, className: 'json-schema-form-item' },
+ Z
+ ? Pe.createElement(JsonSchemaArrayItemFile, {
+ value: o,
+ onChange: (s) => this.onItemChange(s, i),
+ disabled: w,
+ errors: x,
+ getComponent: s
+ })
+ : Y
+ ? Pe.createElement(JsonSchemaArrayItemText, {
+ value: o,
+ onChange: (s) => this.onItemChange(s, i),
+ disabled: w,
+ errors: x
+ })
+ : Pe.createElement(
+ z,
+ Rn()({}, this.props, {
+ value: o,
+ onChange: (s) => this.onItemChange(s, i),
+ disabled: w,
+ errors: x,
+ schema: U,
+ getComponent: s,
+ fn: _
+ })
+ ),
+ w
+ ? null
+ : Pe.createElement(
+ ee,
+ {
+ className: `btn btn-sm json-schema-form-item-remove ${C.length ? 'invalid' : null}`,
+ title: C.length ? C : '',
+ onClick: () => this.removeItem(i)
+ },
+ ' - '
+ )
+ );
+ })
+ : null,
+ w
+ ? null
+ : Pe.createElement(
+ ee,
+ {
+ className: `btn btn-sm json-schema-form-item-add ${x.length ? 'invalid' : null}`,
+ title: x.length ? x : '',
+ onClick: this.addItem
+ },
+ 'Add ',
+ $ ? `${$} ` : '',
+ 'item'
+ )
+ );
+ }
+ }
+ class JsonSchemaArrayItemText extends Pe.Component {
+ static defaultProps = os;
+ onChange = (s) => {
+ const o = s.target.value;
+ this.props.onChange(o, this.props.keyName);
+ };
+ render() {
+ let { value: s, errors: o, description: i, disabled: u } = this.props;
+ return (
+ s || (s = ''),
+ (o = o.toJS ? o.toJS() : []),
+ Pe.createElement(ss(), {
+ type: 'text',
+ className: o.length ? 'invalid' : '',
+ title: o.length ? o : '',
+ value: s,
+ minLength: 0,
+ debounceTimeout: 350,
+ placeholder: i,
+ onChange: this.onChange,
+ disabled: u
+ })
+ );
+ }
+ }
+ class JsonSchemaArrayItemFile extends Pe.Component {
+ static defaultProps = os;
+ onFileChange = (s) => {
+ const o = s.target.files[0];
+ this.props.onChange(o, this.props.keyName);
+ };
+ render() {
+ let { getComponent: s, errors: o, disabled: i } = this.props;
+ const u = s('Input'),
+ _ = i || !('FormData' in window);
+ return Pe.createElement(u, {
+ type: 'file',
+ className: o.length ? 'invalid' : '',
+ title: o.length ? o : '',
+ onChange: this.onFileChange,
+ disabled: _
+ });
+ }
+ }
+ class JsonSchema_boolean extends Pe.Component {
+ static defaultProps = os;
+ onEnumChange = (s) => this.props.onChange(s);
+ render() {
+ let {
+ getComponent: s,
+ value: o,
+ errors: i,
+ schema: u,
+ required: _,
+ disabled: w
+ } = this.props;
+ i = i.toJS ? i.toJS() : [];
+ let x = u && u.get ? u.get('enum') : null,
+ C = !x || !_,
+ j = !x && ['true', 'false'];
+ const L = s('Select');
+ return Pe.createElement(L, {
+ className: i.length ? 'invalid' : '',
+ title: i.length ? i : '',
+ value: String(o),
+ disabled: w,
+ allowedValues: x ? [...x] : j,
+ allowEmptyValue: C,
+ onChange: this.onEnumChange
+ });
+ }
+ }
+ const stringifyObjectErrors = (s) =>
+ s.map((s) => {
+ const o = void 0 !== s.propKey ? s.propKey : s.index;
+ let i = 'string' == typeof s ? s : 'string' == typeof s.error ? s.error : null;
+ if (!o && i) return i;
+ let u = s.error,
+ _ = `/${s.propKey}`;
+ for (; 'object' == typeof u; ) {
+ const s = void 0 !== u.propKey ? u.propKey : u.index;
+ if (void 0 === s) break;
+ if (((_ += `/${s}`), !u.error)) break;
+ u = u.error;
+ }
+ return `${_}: ${u}`;
+ });
+ class JsonSchema_object extends Pe.PureComponent {
+ constructor() {
+ super();
+ }
+ static defaultProps = os;
+ onChange = (s) => {
+ this.props.onChange(s);
+ };
+ handleOnChange = (s) => {
+ const o = s.target.value;
+ this.onChange(o);
+ };
+ render() {
+ let { getComponent: s, value: o, errors: i, disabled: u } = this.props;
+ const _ = s('TextArea');
+ return (
+ (i = i.toJS ? i.toJS() : Array.isArray(i) ? i : []),
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(_, {
+ className: Hn()({ invalid: i.length }),
+ title: i.length ? stringifyObjectErrors(i).join(', ') : '',
+ value: stringify(o),
+ disabled: u,
+ onChange: this.handleOnChange
+ })
+ )
+ );
+ }
+ }
+ function valueOrEmptyList(s) {
+ return qe.List.isList(s) ? s : Array.isArray(s) ? (0, qe.fromJS)(s) : (0, qe.List)();
+ }
+ const json_schema_5 = () => ({
+ components: {
+ modelExample: model_example,
+ ModelWrapper,
+ ModelCollapse,
+ Model,
+ Models,
+ EnumModel: enum_model,
+ ObjectModel,
+ ArrayModel,
+ PrimitiveModel: Primitive,
+ schemes: Schemes,
+ SchemesContainer,
+ ...z
+ }
+ });
+ var as = __webpack_require__(19123),
+ ls = __webpack_require__.n(as),
+ cs = __webpack_require__(41859),
+ us = __webpack_require__.n(cs),
+ ps = __webpack_require__(62193),
+ hs = __webpack_require__.n(ps);
+ const shallowArrayEquals = (s) => (o) =>
+ Array.isArray(s) &&
+ Array.isArray(o) &&
+ s.length === o.length &&
+ s.every((s, i) => s === o[i]),
+ list = (...s) => s;
+ class Cache extends Map {
+ delete(s) {
+ const o = Array.from(this.keys()).find(shallowArrayEquals(s));
+ return super.delete(o);
+ }
+ get(s) {
+ const o = Array.from(this.keys()).find(shallowArrayEquals(s));
+ return super.get(o);
+ }
+ has(s) {
+ return -1 !== Array.from(this.keys()).findIndex(shallowArrayEquals(s));
+ }
+ }
+ const utils_memoizeN = (s, o = list) => {
+ const { Cache: i } = ut();
+ ut().Cache = Cache;
+ const u = ut()(s, o);
+ return (ut().Cache = i), u;
+ },
+ ds = {
+ string: (s) =>
+ s.pattern
+ ? ((s) => {
+ try {
+ return new (us())(s).gen();
+ } catch (s) {
+ return 'string';
+ }
+ })(s.pattern)
+ : 'string',
+ string_email: () => 'user@example.com',
+ 'string_date-time': () => new Date().toISOString(),
+ string_date: () => new Date().toISOString().substring(0, 10),
+ string_uuid: () => '3fa85f64-5717-4562-b3fc-2c963f66afa6',
+ string_hostname: () => 'example.com',
+ string_ipv4: () => '198.51.100.42',
+ string_ipv6: () => '2001:0db8:5b96:0000:0000:426f:8e17:642a',
+ number: () => 0,
+ number_float: () => 0,
+ integer: () => 0,
+ boolean: (s) => 'boolean' != typeof s.default || s.default
+ },
+ primitive = (s) => {
+ s = objectify(s);
+ let { type: o, format: i } = s,
+ u = ds[`${o}_${i}`] || ds[o];
+ return isFunc(u) ? u(s) : 'Unknown Type: ' + s.type;
+ },
+ sanitizeRef = (s) =>
+ deeplyStripKey(s, '$$ref', (s) => 'string' == typeof s && s.indexOf('#') > -1),
+ fs = ['maxProperties', 'minProperties'],
+ ms = ['minItems', 'maxItems'],
+ gs = ['minimum', 'maximum', 'exclusiveMinimum', 'exclusiveMaximum'],
+ ys = ['minLength', 'maxLength'],
+ mergeJsonSchema = (s, o, i = {}) => {
+ const u = { ...s };
+ if (
+ (['example', 'default', 'enum', 'xml', 'type', ...fs, ...ms, ...gs, ...ys].forEach(
+ (s) =>
+ ((s) => {
+ void 0 === u[s] && void 0 !== o[s] && (u[s] = o[s]);
+ })(s)
+ ),
+ void 0 !== o.required &&
+ Array.isArray(o.required) &&
+ ((void 0 !== u.required && u.required.length) || (u.required = []),
+ o.required.forEach((s) => {
+ u.required.includes(s) || u.required.push(s);
+ })),
+ o.properties)
+ ) {
+ u.properties || (u.properties = {});
+ let s = objectify(o.properties);
+ for (let _ in s)
+ Object.prototype.hasOwnProperty.call(s, _) &&
+ ((s[_] && s[_].deprecated) ||
+ (s[_] && s[_].readOnly && !i.includeReadOnly) ||
+ (s[_] && s[_].writeOnly && !i.includeWriteOnly) ||
+ u.properties[_] ||
+ ((u.properties[_] = s[_]),
+ !o.required &&
+ Array.isArray(o.required) &&
+ -1 !== o.required.indexOf(_) &&
+ (u.required ? u.required.push(_) : (u.required = [_]))));
+ }
+ return (
+ o.items &&
+ (u.items || (u.items = {}), (u.items = mergeJsonSchema(u.items, o.items, i))),
+ u
+ );
+ },
+ sampleFromSchemaGeneric = (s, o = {}, i = void 0, u = !1) => {
+ s && isFunc(s.toJS) && (s = s.toJS());
+ let _ = void 0 !== i || (s && void 0 !== s.example) || (s && void 0 !== s.default);
+ const w = !_ && s && s.oneOf && s.oneOf.length > 0,
+ x = !_ && s && s.anyOf && s.anyOf.length > 0;
+ if (!_ && (w || x)) {
+ const i = objectify(w ? s.oneOf[0] : s.anyOf[0]);
+ if (
+ (!(s = mergeJsonSchema(s, i, o)).xml && i.xml && (s.xml = i.xml),
+ void 0 !== s.example && void 0 !== i.example)
+ )
+ _ = !0;
+ else if (i.properties) {
+ s.properties || (s.properties = {});
+ let u = objectify(i.properties);
+ for (let _ in u)
+ Object.prototype.hasOwnProperty.call(u, _) &&
+ ((u[_] && u[_].deprecated) ||
+ (u[_] && u[_].readOnly && !o.includeReadOnly) ||
+ (u[_] && u[_].writeOnly && !o.includeWriteOnly) ||
+ s.properties[_] ||
+ ((s.properties[_] = u[_]),
+ !i.required &&
+ Array.isArray(i.required) &&
+ -1 !== i.required.indexOf(_) &&
+ (s.required ? s.required.push(_) : (s.required = [_]))));
+ }
+ }
+ const C = {};
+ let {
+ xml: j,
+ type: L,
+ example: B,
+ properties: $,
+ additionalProperties: V,
+ items: U
+ } = s || {},
+ { includeReadOnly: z, includeWriteOnly: Y } = o;
+ j = j || {};
+ let Z,
+ { name: ee, prefix: ie, namespace: ae } = j,
+ le = {};
+ if (u && ((ee = ee || 'notagname'), (Z = (ie ? ie + ':' : '') + ee), ae)) {
+ C[ie ? 'xmlns:' + ie : 'xmlns'] = ae;
+ }
+ u && (le[Z] = []);
+ const schemaHasAny = (o) => o.some((o) => Object.prototype.hasOwnProperty.call(s, o));
+ s &&
+ !L &&
+ ($ || V || schemaHasAny(fs)
+ ? (L = 'object')
+ : U || schemaHasAny(ms)
+ ? (L = 'array')
+ : schemaHasAny(gs)
+ ? ((L = 'number'), (s.type = 'number'))
+ : _ || s.enum || ((L = 'string'), (s.type = 'string')));
+ const handleMinMaxItems = (o) => {
+ if ((null != s?.maxItems && (o = o.slice(0, s?.maxItems)), null != s?.minItems)) {
+ let i = 0;
+ for (; o.length < s?.minItems; ) o.push(o[i++ % o.length]);
+ }
+ return o;
+ },
+ ce = objectify($);
+ let pe,
+ de = 0;
+ const hasExceededMaxProperties = () =>
+ s &&
+ null !== s.maxProperties &&
+ void 0 !== s.maxProperties &&
+ de >= s.maxProperties,
+ canAddProperty = (o) =>
+ !s ||
+ null === s.maxProperties ||
+ void 0 === s.maxProperties ||
+ (!hasExceededMaxProperties() &&
+ (!((o) => !(s && s.required && s.required.length && s.required.includes(o)))(o) ||
+ s.maxProperties -
+ de -
+ (() => {
+ if (!s || !s.required) return 0;
+ let o = 0;
+ return (
+ u
+ ? s.required.forEach((s) => (o += void 0 === le[s] ? 0 : 1))
+ : s.required.forEach(
+ (s) => (o += void 0 === le[Z]?.find((o) => void 0 !== o[s]) ? 0 : 1)
+ ),
+ s.required.length - o
+ );
+ })() >
+ 0));
+ if (
+ ((pe = u
+ ? (i, _ = void 0) => {
+ if (s && ce[i]) {
+ if (((ce[i].xml = ce[i].xml || {}), ce[i].xml.attribute)) {
+ const s = Array.isArray(ce[i].enum) ? ce[i].enum[0] : void 0,
+ o = ce[i].example,
+ u = ce[i].default;
+ return void (C[ce[i].xml.name || i] =
+ void 0 !== o
+ ? o
+ : void 0 !== u
+ ? u
+ : void 0 !== s
+ ? s
+ : primitive(ce[i]));
+ }
+ ce[i].xml.name = ce[i].xml.name || i;
+ } else ce[i] || !1 === V || (ce[i] = { xml: { name: i } });
+ let w = sampleFromSchemaGeneric((s && ce[i]) || void 0, o, _, u);
+ canAddProperty(i) &&
+ (de++, Array.isArray(w) ? (le[Z] = le[Z].concat(w)) : le[Z].push(w));
+ }
+ : (i, _) => {
+ if (canAddProperty(i)) {
+ if (
+ Object.prototype.hasOwnProperty.call(s, 'discriminator') &&
+ s.discriminator &&
+ Object.prototype.hasOwnProperty.call(s.discriminator, 'mapping') &&
+ s.discriminator.mapping &&
+ Object.prototype.hasOwnProperty.call(s, '$$ref') &&
+ s.$$ref &&
+ s.discriminator.propertyName === i
+ ) {
+ for (let o in s.discriminator.mapping)
+ if (-1 !== s.$$ref.search(s.discriminator.mapping[o])) {
+ le[i] = o;
+ break;
+ }
+ } else le[i] = sampleFromSchemaGeneric(ce[i], o, _, u);
+ de++;
+ }
+ }),
+ _)
+ ) {
+ let _;
+ if (((_ = sanitizeRef(void 0 !== i ? i : void 0 !== B ? B : s.default)), !u)) {
+ if ('number' == typeof _ && 'string' === L) return `${_}`;
+ if ('string' != typeof _ || 'string' === L) return _;
+ try {
+ return JSON.parse(_);
+ } catch (s) {
+ return _;
+ }
+ }
+ if ((s || (L = Array.isArray(_) ? 'array' : typeof _), 'array' === L)) {
+ if (!Array.isArray(_)) {
+ if ('string' == typeof _) return _;
+ _ = [_];
+ }
+ const i = s ? s.items : void 0;
+ i && ((i.xml = i.xml || j || {}), (i.xml.name = i.xml.name || j.name));
+ let w = _.map((s) => sampleFromSchemaGeneric(i, o, s, u));
+ return (
+ (w = handleMinMaxItems(w)),
+ j.wrapped ? ((le[Z] = w), hs()(C) || le[Z].push({ _attr: C })) : (le = w),
+ le
+ );
+ }
+ if ('object' === L) {
+ if ('string' == typeof _) return _;
+ for (let o in _)
+ Object.prototype.hasOwnProperty.call(_, o) &&
+ ((s && ce[o] && ce[o].readOnly && !z) ||
+ (s && ce[o] && ce[o].writeOnly && !Y) ||
+ (s && ce[o] && ce[o].xml && ce[o].xml.attribute
+ ? (C[ce[o].xml.name || o] = _[o])
+ : pe(o, _[o])));
+ return hs()(C) || le[Z].push({ _attr: C }), le;
+ }
+ return (le[Z] = hs()(C) ? _ : [{ _attr: C }, _]), le;
+ }
+ if ('object' === L) {
+ for (let s in ce)
+ Object.prototype.hasOwnProperty.call(ce, s) &&
+ ((ce[s] && ce[s].deprecated) ||
+ (ce[s] && ce[s].readOnly && !z) ||
+ (ce[s] && ce[s].writeOnly && !Y) ||
+ pe(s));
+ if ((u && C && le[Z].push({ _attr: C }), hasExceededMaxProperties())) return le;
+ if (!0 === V)
+ u
+ ? le[Z].push({ additionalProp: 'Anything can be here' })
+ : (le.additionalProp1 = {}),
+ de++;
+ else if (V) {
+ const i = objectify(V),
+ _ = sampleFromSchemaGeneric(i, o, void 0, u);
+ if (u && i.xml && i.xml.name && 'notagname' !== i.xml.name) le[Z].push(_);
+ else {
+ const o =
+ null !== s.minProperties && void 0 !== s.minProperties && de < s.minProperties
+ ? s.minProperties - de
+ : 3;
+ for (let s = 1; s <= o; s++) {
+ if (hasExceededMaxProperties()) return le;
+ if (u) {
+ const o = {};
+ (o['additionalProp' + s] = _.notagname), le[Z].push(o);
+ } else le['additionalProp' + s] = _;
+ de++;
+ }
+ }
+ }
+ return le;
+ }
+ if ('array' === L) {
+ if (!U) return;
+ let i;
+ if (
+ (u && ((U.xml = U.xml || s?.xml || {}), (U.xml.name = U.xml.name || j.name)),
+ Array.isArray(U.anyOf))
+ )
+ i = U.anyOf.map((s) =>
+ sampleFromSchemaGeneric(mergeJsonSchema(s, U, o), o, void 0, u)
+ );
+ else if (Array.isArray(U.oneOf))
+ i = U.oneOf.map((s) =>
+ sampleFromSchemaGeneric(mergeJsonSchema(s, U, o), o, void 0, u)
+ );
+ else {
+ if (!(!u || (u && j.wrapped))) return sampleFromSchemaGeneric(U, o, void 0, u);
+ i = [sampleFromSchemaGeneric(U, o, void 0, u)];
+ }
+ return (
+ (i = handleMinMaxItems(i)),
+ u && j.wrapped ? ((le[Z] = i), hs()(C) || le[Z].push({ _attr: C }), le) : i
+ );
+ }
+ let fe;
+ if (s && Array.isArray(s.enum)) fe = normalizeArray(s.enum)[0];
+ else {
+ if (!s) return;
+ if (((fe = primitive(s)), 'number' == typeof fe)) {
+ let o = s.minimum;
+ null != o && (s.exclusiveMinimum && o++, (fe = o));
+ let i = s.maximum;
+ null != i && (s.exclusiveMaximum && i--, (fe = i));
+ }
+ if (
+ 'string' == typeof fe &&
+ (null !== s.maxLength && void 0 !== s.maxLength && (fe = fe.slice(0, s.maxLength)),
+ null !== s.minLength && void 0 !== s.minLength)
+ ) {
+ let o = 0;
+ for (; fe.length < s.minLength; ) fe += fe[o++ % fe.length];
+ }
+ }
+ if ('file' !== L) return u ? ((le[Z] = hs()(C) ? fe : [{ _attr: C }, fe]), le) : fe;
+ },
+ inferSchema = (s) => (s.schema && (s = s.schema), s.properties && (s.type = 'object'), s),
+ createXMLExample = (s, o, i) => {
+ const u = sampleFromSchemaGeneric(s, o, i, !0);
+ if (u) return 'string' == typeof u ? u : ls()(u, { declaration: !0, indent: '\t' });
+ },
+ sampleFromSchema = (s, o, i) => sampleFromSchemaGeneric(s, o, i, !1),
+ resolver = (s, o, i) => [s, JSON.stringify(o), JSON.stringify(i)],
+ vs = utils_memoizeN(createXMLExample, resolver),
+ bs = utils_memoizeN(sampleFromSchema, resolver),
+ _s = [{ when: /json/, shouldStringifyTypes: ['string'] }],
+ Es = ['object'],
+ get_json_sample_schema = (s) => (o, i, u, _) => {
+ const { fn: w } = s(),
+ x = w.memoizedSampleFromSchema(o, i, _),
+ C = typeof x,
+ j = _s.reduce((s, o) => (o.when.test(u) ? [...s, ...o.shouldStringifyTypes] : s), Es);
+ return mt()(j, (s) => s === C) ? JSON.stringify(x, null, 2) : x;
+ },
+ get_yaml_sample_schema = (s) => (o, i, u, _) => {
+ const { fn: w } = s(),
+ x = w.getJsonSampleSchema(o, i, u, _);
+ let C;
+ try {
+ (C = mn.dump(mn.load(x), { lineWidth: -1 }, { schema: nn })),
+ '\n' === C[C.length - 1] && (C = C.slice(0, C.length - 1));
+ } catch (s) {
+ return console.error(s), 'error: could not generate yaml example';
+ }
+ return C.replace(/\t/g, ' ');
+ },
+ get_xml_sample_schema = (s) => (o, i, u) => {
+ const { fn: _ } = s();
+ if ((o && !o.xml && (o.xml = {}), o && !o.xml.name)) {
+ if (!o.$$ref && (o.type || o.items || o.properties || o.additionalProperties))
+ return '\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e';
+ if (o.$$ref) {
+ let s = o.$$ref.match(/\S*\/(\S+)$/);
+ o.xml.name = s[1];
+ }
+ }
+ return _.memoizedCreateXMLExample(o, i, u);
+ },
+ get_sample_schema =
+ (s) =>
+ (o, i = '', u = {}, _ = void 0) => {
+ const { fn: w } = s();
+ return (
+ 'function' == typeof o?.toJS && (o = o.toJS()),
+ 'function' == typeof _?.toJS && (_ = _.toJS()),
+ /xml/.test(i)
+ ? w.getXmlSampleSchema(o, u, _)
+ : /(yaml|yml)/.test(i)
+ ? w.getYamlSampleSchema(o, u, i, _)
+ : w.getJsonSampleSchema(o, u, i, _)
+ );
+ },
+ json_schema_5_samples = ({ getSystem: s }) => {
+ const o = get_json_sample_schema(s),
+ i = get_yaml_sample_schema(s),
+ u = get_xml_sample_schema(s),
+ _ = get_sample_schema(s);
+ return {
+ fn: {
+ jsonSchema5: {
+ inferSchema,
+ sampleFromSchema,
+ sampleFromSchemaGeneric,
+ createXMLExample,
+ memoizedSampleFromSchema: bs,
+ memoizedCreateXMLExample: vs,
+ getJsonSampleSchema: o,
+ getYamlSampleSchema: i,
+ getXmlSampleSchema: u,
+ getSampleSchema: _,
+ mergeJsonSchema
+ },
+ inferSchema,
+ sampleFromSchema,
+ sampleFromSchemaGeneric,
+ createXMLExample,
+ memoizedSampleFromSchema: bs,
+ memoizedCreateXMLExample: vs,
+ getJsonSampleSchema: o,
+ getYamlSampleSchema: i,
+ getXmlSampleSchema: u,
+ getSampleSchema: _,
+ mergeJsonSchema
+ }
+ };
+ };
+ var ws = __webpack_require__(37334),
+ Ss = __webpack_require__.n(ws);
+ const xs = ['get', 'put', 'post', 'delete', 'options', 'head', 'patch', 'trace'],
+ spec_selectors_state = (s) => s || (0, qe.Map)(),
+ ks = Ut(spec_selectors_state, (s) => s.get('lastError')),
+ Cs = Ut(spec_selectors_state, (s) => s.get('url')),
+ Os = Ut(spec_selectors_state, (s) => s.get('spec') || ''),
+ As = Ut(spec_selectors_state, (s) => s.get('specSource') || 'not-editor'),
+ js = Ut(spec_selectors_state, (s) => s.get('json', (0, qe.Map)())),
+ Is = Ut(js, (s) => s.toJS()),
+ Ps = Ut(spec_selectors_state, (s) => s.get('resolved', (0, qe.Map)())),
+ specResolvedSubtree = (s, o) => s.getIn(['resolvedSubtrees', ...o], void 0),
+ mergerFn = (s, o) =>
+ qe.Map.isMap(s) && qe.Map.isMap(o)
+ ? o.get('$$ref')
+ ? o
+ : (0, qe.OrderedMap)().mergeWith(mergerFn, s, o)
+ : o,
+ Ms = Ut(spec_selectors_state, (s) =>
+ (0, qe.OrderedMap)().mergeWith(mergerFn, s.get('json'), s.get('resolvedSubtrees'))
+ ),
+ spec = (s) => js(s),
+ Ts = Ut(spec, () => !1),
+ Ns = Ut(spec, (s) => returnSelfOrNewMap(s && s.get('info'))),
+ Rs = Ut(spec, (s) => returnSelfOrNewMap(s && s.get('externalDocs'))),
+ Ds = Ut(Ns, (s) => s && s.get('version')),
+ Ls = Ut(Ds, (s) => /v?([0-9]*)\.([0-9]*)\.([0-9]*)/i.exec(s).slice(1)),
+ Bs = Ut(Ms, (s) => s.get('paths')),
+ Fs = Ss()(['get', 'put', 'post', 'delete', 'options', 'head', 'patch']),
+ qs = Ut(Bs, (s) => {
+ if (!s || s.size < 1) return (0, qe.List)();
+ let o = (0, qe.List)();
+ return s && s.forEach
+ ? (s.forEach((s, i) => {
+ if (!s || !s.forEach) return {};
+ s.forEach((s, u) => {
+ xs.indexOf(u) < 0 ||
+ (o = o.push(
+ (0, qe.fromJS)({ path: i, method: u, operation: s, id: `${u}-${i}` })
+ ));
+ });
+ }),
+ o)
+ : (0, qe.List)();
+ }),
+ $s = Ut(spec, (s) => (0, qe.Set)(s.get('consumes'))),
+ Vs = Ut(spec, (s) => (0, qe.Set)(s.get('produces'))),
+ Us = Ut(spec, (s) => s.get('security', (0, qe.List)())),
+ zs = Ut(spec, (s) => s.get('securityDefinitions')),
+ findDefinition = (s, o) => {
+ const i = s.getIn(['resolvedSubtrees', 'definitions', o], null),
+ u = s.getIn(['json', 'definitions', o], null);
+ return i || u || null;
+ },
+ Ws = Ut(spec, (s) => {
+ const o = s.get('definitions');
+ return qe.Map.isMap(o) ? o : (0, qe.Map)();
+ }),
+ Ks = Ut(spec, (s) => s.get('basePath')),
+ Hs = Ut(spec, (s) => s.get('host')),
+ Js = Ut(spec, (s) => s.get('schemes', (0, qe.Map)())),
+ Gs = Ut([qs, $s, Vs], (s, o, i) =>
+ s.map((s) =>
+ s.update('operation', (s) => {
+ if (s) {
+ if (!qe.Map.isMap(s)) return;
+ return s.withMutations(
+ (s) => (
+ s.get('consumes') || s.update('consumes', (s) => (0, qe.Set)(s).merge(o)),
+ s.get('produces') || s.update('produces', (s) => (0, qe.Set)(s).merge(i)),
+ s
+ )
+ );
+ }
+ return (0, qe.Map)();
+ })
+ )
+ ),
+ Ys = Ut(spec, (s) => {
+ const o = s.get('tags', (0, qe.List)());
+ return qe.List.isList(o) ? o.filter((s) => qe.Map.isMap(s)) : (0, qe.List)();
+ }),
+ tagDetails = (s, o) =>
+ (Ys(s) || (0, qe.List)())
+ .filter(qe.Map.isMap)
+ .find((s) => s.get('name') === o, (0, qe.Map)()),
+ Xs = Ut(Gs, Ys, (s, o) =>
+ s.reduce(
+ (s, o) => {
+ let i = (0, qe.Set)(o.getIn(['operation', 'tags']));
+ return i.count() < 1
+ ? s.update('default', (0, qe.List)(), (s) => s.push(o))
+ : i.reduce((s, i) => s.update(i, (0, qe.List)(), (s) => s.push(o)), s);
+ },
+ o.reduce((s, o) => s.set(o.get('name'), (0, qe.List)()), (0, qe.OrderedMap)())
+ )
+ ),
+ selectors_taggedOperations =
+ (s) =>
+ ({ getConfigs: o }) => {
+ let { tagsSorter: i, operationsSorter: u } = o();
+ return Xs(s)
+ .sortBy(
+ (s, o) => o,
+ (s, o) => {
+ let u = 'function' == typeof i ? i : It.tagsSorter[i];
+ return u ? u(s, o) : null;
+ }
+ )
+ .map((o, i) => {
+ let _ = 'function' == typeof u ? u : It.operationsSorter[u],
+ w = _ ? o.sort(_) : o;
+ return (0, qe.Map)({ tagDetails: tagDetails(s, i), operations: w });
+ });
+ },
+ Zs = Ut(spec_selectors_state, (s) => s.get('responses', (0, qe.Map)())),
+ Qs = Ut(spec_selectors_state, (s) => s.get('requests', (0, qe.Map)())),
+ eo = Ut(spec_selectors_state, (s) => s.get('mutatedRequests', (0, qe.Map)())),
+ responseFor = (s, o, i) => Zs(s).getIn([o, i], null),
+ requestFor = (s, o, i) => Qs(s).getIn([o, i], null),
+ mutatedRequestFor = (s, o, i) => eo(s).getIn([o, i], null),
+ allowTryItOutFor = () => !0,
+ parameterWithMetaByIdentity = (s, o, i) => {
+ const u = Ms(s).getIn(['paths', ...o, 'parameters'], (0, qe.OrderedMap)()),
+ _ = s.getIn(['meta', 'paths', ...o, 'parameters'], (0, qe.OrderedMap)());
+ return u
+ .map((s) => {
+ const o = _.get(`${i.get('in')}.${i.get('name')}`),
+ u = _.get(`${i.get('in')}.${i.get('name')}.hash-${i.hashCode()}`);
+ return (0, qe.OrderedMap)().merge(s, o, u);
+ })
+ .find(
+ (s) => s.get('in') === i.get('in') && s.get('name') === i.get('name'),
+ (0, qe.OrderedMap)()
+ );
+ },
+ parameterInclusionSettingFor = (s, o, i, u) => {
+ const _ = `${u}.${i}`;
+ return s.getIn(['meta', 'paths', ...o, 'parameter_inclusions', _], !1);
+ },
+ parameterWithMeta = (s, o, i, u) => {
+ const _ = Ms(s)
+ .getIn(['paths', ...o, 'parameters'], (0, qe.OrderedMap)())
+ .find((s) => s.get('in') === u && s.get('name') === i, (0, qe.OrderedMap)());
+ return parameterWithMetaByIdentity(s, o, _);
+ },
+ operationWithMeta = (s, o, i) => {
+ const u = Ms(s).getIn(['paths', o, i], (0, qe.OrderedMap)()),
+ _ = s.getIn(['meta', 'paths', o, i], (0, qe.OrderedMap)()),
+ w = u
+ .get('parameters', (0, qe.List)())
+ .map((u) => parameterWithMetaByIdentity(s, [o, i], u));
+ return (0, qe.OrderedMap)().merge(u, _).set('parameters', w);
+ };
+ function getParameter(s, o, i, u) {
+ return (
+ (o = o || []),
+ s
+ .getIn(['meta', 'paths', ...o, 'parameters'], (0, qe.fromJS)([]))
+ .find((s) => qe.Map.isMap(s) && s.get('name') === i && s.get('in') === u) ||
+ (0, qe.Map)()
+ );
+ }
+ const to = Ut(spec, (s) => {
+ const o = s.get('host');
+ return 'string' == typeof o && o.length > 0 && '/' !== o[0];
+ });
+ function parameterValues(s, o, i) {
+ return (
+ (o = o || []),
+ operationWithMeta(s, ...o)
+ .get('parameters', (0, qe.List)())
+ .reduce(
+ (s, o) => {
+ let u = i && 'body' === o.get('in') ? o.get('value_xml') : o.get('value');
+ return (
+ qe.List.isList(u) && (u = u.filter((s) => '' !== s)),
+ s.set(paramToIdentifier(o, { allowHashes: !1 }), u)
+ );
+ },
+ (0, qe.fromJS)({})
+ )
+ );
+ }
+ function parametersIncludeIn(s, o = '') {
+ if (qe.List.isList(s)) return s.some((s) => qe.Map.isMap(s) && s.get('in') === o);
+ }
+ function parametersIncludeType(s, o = '') {
+ if (qe.List.isList(s)) return s.some((s) => qe.Map.isMap(s) && s.get('type') === o);
+ }
+ function contentTypeValues(s, o) {
+ o = o || [];
+ let i = Ms(s).getIn(['paths', ...o], (0, qe.fromJS)({})),
+ u = s.getIn(['meta', 'paths', ...o], (0, qe.fromJS)({})),
+ _ = currentProducesFor(s, o);
+ const w = i.get('parameters') || new qe.List(),
+ x = u.get('consumes_value')
+ ? u.get('consumes_value')
+ : parametersIncludeType(w, 'file')
+ ? 'multipart/form-data'
+ : parametersIncludeType(w, 'formData')
+ ? 'application/x-www-form-urlencoded'
+ : void 0;
+ return (0, qe.fromJS)({ requestContentType: x, responseContentType: _ });
+ }
+ function currentProducesFor(s, o) {
+ o = o || [];
+ const i = Ms(s).getIn(['paths', ...o], null);
+ if (null === i) return;
+ const u = s.getIn(['meta', 'paths', ...o, 'produces_value'], null),
+ _ = i.getIn(['produces', 0], null);
+ return u || _ || 'application/json';
+ }
+ function producesOptionsFor(s, o) {
+ o = o || [];
+ const i = Ms(s),
+ u = i.getIn(['paths', ...o], null);
+ if (null === u) return;
+ const [_] = o,
+ w = u.get('produces', null),
+ x = i.getIn(['paths', _, 'produces'], null),
+ C = i.getIn(['produces'], null);
+ return w || x || C;
+ }
+ function consumesOptionsFor(s, o) {
+ o = o || [];
+ const i = Ms(s),
+ u = i.getIn(['paths', ...o], null);
+ if (null === u) return;
+ const [_] = o,
+ w = u.get('consumes', null),
+ x = i.getIn(['paths', _, 'consumes'], null),
+ C = i.getIn(['consumes'], null);
+ return w || x || C;
+ }
+ const operationScheme = (s, o, i) => {
+ let u = s.get('url').match(/^([a-z][a-z0-9+\-.]*):/),
+ _ = Array.isArray(u) ? u[1] : null;
+ return s.getIn(['scheme', o, i]) || s.getIn(['scheme', '_defaultScheme']) || _ || '';
+ },
+ canExecuteScheme = (s, o, i) => ['http', 'https'].indexOf(operationScheme(s, o, i)) > -1,
+ validationErrors = (s, o) => {
+ o = o || [];
+ const i = s.getIn(['meta', 'paths', ...o, 'parameters'], (0, qe.fromJS)([])),
+ u = [];
+ if (0 === i.length) return u;
+ const getErrorsWithPaths = (s, o = []) => {
+ const getNestedErrorsWithPaths = (s, o) => {
+ const i = [...o, s.get('propKey') || s.get('index')];
+ return qe.Map.isMap(s.get('error'))
+ ? getErrorsWithPaths(s.get('error'), i)
+ : { error: s.get('error'), path: i };
+ };
+ return qe.List.isList(s)
+ ? s.map((s) =>
+ qe.Map.isMap(s) ? getNestedErrorsWithPaths(s, o) : { error: s, path: o }
+ )
+ : getNestedErrorsWithPaths(s, o);
+ };
+ return (
+ i.forEach((s, o) => {
+ const i = o.split('.').slice(1, -1).join('.'),
+ _ = s.get('errors');
+ if (_ && _.count()) {
+ getErrorsWithPaths(_).forEach(({ error: s, path: o }) => {
+ u.push(
+ ((s, o, i) =>
+ `For '${i}'${(o = o.reduce((s, o) => ('number' == typeof o ? `${s}[${o}]` : s ? `${s}.${o}` : o), '')) ? ` at path '${o}'` : ''}: ${s}.`)(
+ s,
+ o,
+ i
+ )
+ );
+ });
+ }
+ }),
+ u
+ );
+ },
+ validateBeforeExecute = (s, o) => 0 === validationErrors(s, o).length,
+ getOAS3RequiredRequestBodyContentType = (s, o) => {
+ let i = { requestBody: !1, requestContentType: {} },
+ u = s.getIn(['resolvedSubtrees', 'paths', ...o, 'requestBody'], (0, qe.fromJS)([]));
+ return (
+ u.size < 1 ||
+ (u.getIn(['required']) && (i.requestBody = u.getIn(['required'])),
+ u
+ .getIn(['content'])
+ .entrySeq()
+ .forEach((s) => {
+ const o = s[0];
+ if (s[1].getIn(['schema', 'required'])) {
+ const u = s[1].getIn(['schema', 'required']).toJS();
+ i.requestContentType[o] = u;
+ }
+ })),
+ i
+ );
+ },
+ isMediaTypeSchemaPropertiesEqual = (s, o, i, u) => {
+ if ((i || u) && i === u) return !0;
+ let _ = s.getIn(
+ ['resolvedSubtrees', 'paths', ...o, 'requestBody', 'content'],
+ (0, qe.fromJS)([])
+ );
+ if (_.size < 2 || !i || !u) return !1;
+ let w = _.getIn([i, 'schema', 'properties'], (0, qe.fromJS)([])),
+ x = _.getIn([u, 'schema', 'properties'], (0, qe.fromJS)([]));
+ return !!w.equals(x);
+ };
+ function returnSelfOrNewMap(s) {
+ return qe.Map.isMap(s) ? s : new qe.Map();
+ }
+ var ro = __webpack_require__(85015),
+ no = __webpack_require__.n(ro),
+ so = __webpack_require__(38221),
+ oo = __webpack_require__.n(so),
+ io = __webpack_require__(63560),
+ ao = __webpack_require__.n(io),
+ lo = __webpack_require__(56367),
+ co = __webpack_require__.n(lo);
+ const uo = 'spec_update_spec',
+ po = 'spec_update_url',
+ ho = 'spec_update_json',
+ fo = 'spec_update_param',
+ mo = 'spec_update_empty_param_inclusion',
+ go = 'spec_validate_param',
+ yo = 'spec_set_response',
+ vo = 'spec_set_request',
+ bo = 'spec_set_mutated_request',
+ _o = 'spec_log_request',
+ Eo = 'spec_clear_response',
+ wo = 'spec_clear_request',
+ So = 'spec_clear_validate_param',
+ xo = 'spec_update_operation_meta_value',
+ ko = 'spec_update_resolved',
+ Co = 'spec_update_resolved_subtree',
+ Oo = 'set_scheme',
+ toStr = (s) => (no()(s) ? s : '');
+ function updateSpec(s) {
+ const o = toStr(s).replace(/\t/g, ' ');
+ if ('string' == typeof s) return { type: uo, payload: o };
+ }
+ function updateResolved(s) {
+ return { type: ko, payload: s };
+ }
+ function updateUrl(s) {
+ return { type: po, payload: s };
+ }
+ function updateJsonSpec(s) {
+ return { type: ho, payload: s };
+ }
+ const parseToJson =
+ (s) =>
+ ({ specActions: o, specSelectors: i, errActions: u }) => {
+ let { specStr: _ } = i,
+ w = null;
+ try {
+ (s = s || _()), u.clear({ source: 'parser' }), (w = mn.load(s, { schema: nn }));
+ } catch (s) {
+ return (
+ console.error(s),
+ u.newSpecErr({
+ source: 'parser',
+ level: 'error',
+ message: s.reason,
+ line: s.mark && s.mark.line ? s.mark.line + 1 : void 0
+ })
+ );
+ }
+ return w && 'object' == typeof w ? o.updateJsonSpec(w) : {};
+ };
+ let Ao = !1;
+ const resolveSpec =
+ (s, o) =>
+ ({
+ specActions: i,
+ specSelectors: u,
+ errActions: _,
+ fn: { fetch: w, resolve: x, AST: C = {} },
+ getConfigs: j
+ }) => {
+ Ao ||
+ (console.warn(
+ 'specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!'
+ ),
+ (Ao = !0));
+ const {
+ modelPropertyMacro: L,
+ parameterMacro: B,
+ requestInterceptor: $,
+ responseInterceptor: V
+ } = j();
+ void 0 === s && (s = u.specJson()), void 0 === o && (o = u.url());
+ let U = C.getLineNumberForPath ? C.getLineNumberForPath : () => {},
+ z = u.specStr();
+ return x({
+ fetch: w,
+ spec: s,
+ baseDoc: String(new URL(o, document.baseURI)),
+ modelPropertyMacro: L,
+ parameterMacro: B,
+ requestInterceptor: $,
+ responseInterceptor: V
+ }).then(({ spec: s, errors: o }) => {
+ if ((_.clear({ type: 'thrown' }), Array.isArray(o) && o.length > 0)) {
+ let s = o.map(
+ (s) => (
+ console.error(s),
+ (s.line = s.fullPath ? U(z, s.fullPath) : null),
+ (s.path = s.fullPath ? s.fullPath.join('.') : null),
+ (s.level = 'error'),
+ (s.type = 'thrown'),
+ (s.source = 'resolver'),
+ Object.defineProperty(s, 'message', { enumerable: !0, value: s.message }),
+ s
+ )
+ );
+ _.newThrownErrBatch(s);
+ }
+ return i.updateResolved(s);
+ });
+ };
+ let jo = [];
+ const Io = oo()(() => {
+ const s = jo.reduce(
+ (s, { path: o, system: i }) => (s.has(i) || s.set(i, []), s.get(i).push(o), s),
+ new Map()
+ );
+ (jo = []),
+ s.forEach(async (s, o) => {
+ if (!o)
+ return void console.error(
+ "debResolveSubtrees: don't have a system to operate on, aborting."
+ );
+ if (!o.fn.resolveSubtree)
+ return void console.error(
+ 'Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing.'
+ );
+ const {
+ errActions: i,
+ errSelectors: u,
+ fn: { resolveSubtree: _, fetch: w, AST: x = {} },
+ specSelectors: C,
+ specActions: j
+ } = o,
+ L = x.getLineNumberForPath ?? Ss()(void 0),
+ B = C.specStr(),
+ {
+ modelPropertyMacro: $,
+ parameterMacro: V,
+ requestInterceptor: U,
+ responseInterceptor: z
+ } = o.getConfigs();
+ try {
+ const o = await s.reduce(
+ async (s, o) => {
+ let { resultMap: x, specWithCurrentSubtrees: j } = await s;
+ const { errors: Y, spec: Z } = await _(j, o, {
+ baseDoc: String(new URL(C.url(), document.baseURI)),
+ modelPropertyMacro: $,
+ parameterMacro: V,
+ requestInterceptor: U,
+ responseInterceptor: z
+ });
+ if (
+ (u.allErrors().size &&
+ i.clearBy(
+ (s) =>
+ 'thrown' !== s.get('type') ||
+ 'resolver' !== s.get('source') ||
+ !s.get('fullPath').every((s, i) => s === o[i] || void 0 === o[i])
+ ),
+ Array.isArray(Y) && Y.length > 0)
+ ) {
+ let s = Y.map(
+ (s) => (
+ (s.line = s.fullPath ? L(B, s.fullPath) : null),
+ (s.path = s.fullPath ? s.fullPath.join('.') : null),
+ (s.level = 'error'),
+ (s.type = 'thrown'),
+ (s.source = 'resolver'),
+ Object.defineProperty(s, 'message', {
+ enumerable: !0,
+ value: s.message
+ }),
+ s
+ )
+ );
+ i.newThrownErrBatch(s);
+ }
+ return (
+ Z &&
+ C.isOAS3() &&
+ 'components' === o[0] &&
+ 'securitySchemes' === o[1] &&
+ (await Promise.all(
+ Object.values(Z)
+ .filter((s) => 'openIdConnect' === s.type)
+ .map(async (s) => {
+ const o = {
+ url: s.openIdConnectUrl,
+ requestInterceptor: U,
+ responseInterceptor: z
+ };
+ try {
+ const i = await w(o);
+ i instanceof Error || i.status >= 400
+ ? console.error(i.statusText + ' ' + o.url)
+ : (s.openIdConnectData = JSON.parse(i.text));
+ } catch (s) {
+ console.error(s);
+ }
+ })
+ )),
+ ao()(x, o, Z),
+ (j = co()(o, Z, j)),
+ { resultMap: x, specWithCurrentSubtrees: j }
+ );
+ },
+ Promise.resolve({
+ resultMap: (C.specResolvedSubtree([]) || (0, qe.Map)()).toJS(),
+ specWithCurrentSubtrees: C.specJS()
+ })
+ );
+ j.updateResolvedSubtree([], o.resultMap);
+ } catch (s) {
+ console.error(s);
+ }
+ });
+ }, 35),
+ requestResolvedSubtree = (s) => (o) => {
+ jo.find(({ path: i, system: u }) => u === o && i.toString() === s.toString()) ||
+ (jo.push({ path: s, system: o }), Io());
+ };
+ function changeParam(s, o, i, u, _) {
+ return { type: fo, payload: { path: s, value: u, paramName: o, paramIn: i, isXml: _ } };
+ }
+ function changeParamByIdentity(s, o, i, u) {
+ return { type: fo, payload: { path: s, param: o, value: i, isXml: u } };
+ }
+ const updateResolvedSubtree = (s, o) => ({ type: Co, payload: { path: s, value: o } }),
+ invalidateResolvedSubtreeCache = () => ({
+ type: Co,
+ payload: { path: [], value: (0, qe.Map)() }
+ }),
+ validateParams = (s, o) => ({ type: go, payload: { pathMethod: s, isOAS3: o } }),
+ updateEmptyParamInclusion = (s, o, i, u) => ({
+ type: mo,
+ payload: { pathMethod: s, paramName: o, paramIn: i, includeEmptyValue: u }
+ });
+ function clearValidateParams(s) {
+ return { type: So, payload: { pathMethod: s } };
+ }
+ function changeConsumesValue(s, o) {
+ return { type: xo, payload: { path: s, value: o, key: 'consumes_value' } };
+ }
+ function changeProducesValue(s, o) {
+ return { type: xo, payload: { path: s, value: o, key: 'produces_value' } };
+ }
+ const setResponse = (s, o, i) => ({ payload: { path: s, method: o, res: i }, type: yo }),
+ setRequest = (s, o, i) => ({ payload: { path: s, method: o, req: i }, type: vo }),
+ setMutatedRequest = (s, o, i) => ({ payload: { path: s, method: o, req: i }, type: bo }),
+ logRequest = (s) => ({ payload: s, type: _o }),
+ executeRequest =
+ (s) =>
+ ({ fn: o, specActions: i, specSelectors: u, getConfigs: _, oas3Selectors: w }) => {
+ let { pathName: x, method: C, operation: j } = s,
+ { requestInterceptor: L, responseInterceptor: B } = _(),
+ $ = j.toJS();
+ if (
+ (j &&
+ j.get('parameters') &&
+ j
+ .get('parameters')
+ .filter((s) => s && !0 === s.get('allowEmptyValue'))
+ .forEach((o) => {
+ if (u.parameterInclusionSettingFor([x, C], o.get('name'), o.get('in'))) {
+ s.parameters = s.parameters || {};
+ const i = paramToValue(o, s.parameters);
+ (!i || (i && 0 === i.size)) && (s.parameters[o.get('name')] = '');
+ }
+ }),
+ (s.contextUrl = Mt()(u.url()).toString()),
+ $ && $.operationId
+ ? (s.operationId = $.operationId)
+ : $ && x && C && (s.operationId = o.opId($, x, C)),
+ u.isOAS3())
+ ) {
+ const o = `${x}:${C}`;
+ s.server = w.selectedServer(o) || w.selectedServer();
+ const i = w.serverVariables({ server: s.server, namespace: o }).toJS(),
+ u = w.serverVariables({ server: s.server }).toJS();
+ (s.serverVariables = Object.keys(i).length ? i : u),
+ (s.requestContentType = w.requestContentType(x, C)),
+ (s.responseContentType = w.responseContentType(x, C) || '*/*');
+ const _ = w.requestBodyValue(x, C),
+ j = w.requestBodyInclusionSetting(x, C);
+ _ && _.toJS
+ ? (s.requestBody = _.map((s) => (qe.Map.isMap(s) ? s.get('value') : s))
+ .filter(
+ (s, o) => (Array.isArray(s) ? 0 !== s.length : !isEmptyValue(s)) || j.get(o)
+ )
+ .toJS())
+ : (s.requestBody = _);
+ }
+ let V = Object.assign({}, s);
+ (V = o.buildRequest(V)), i.setRequest(s.pathName, s.method, V);
+ (s.requestInterceptor = async (o) => {
+ let u = await L.apply(void 0, [o]),
+ _ = Object.assign({}, u);
+ return i.setMutatedRequest(s.pathName, s.method, _), u;
+ }),
+ (s.responseInterceptor = B);
+ const U = Date.now();
+ return o
+ .execute(s)
+ .then((o) => {
+ (o.duration = Date.now() - U), i.setResponse(s.pathName, s.method, o);
+ })
+ .catch((o) => {
+ 'Failed to fetch' === o.message &&
+ ((o.name = ''),
+ (o.message =
+ '**Failed to fetch.** \n**Possible Reasons:** \n - CORS \n - Network Failure \n - URL scheme must be "http" or "https" for CORS request.')),
+ i.setResponse(s.pathName, s.method, { error: !0, err: o });
+ });
+ },
+ actions_execute =
+ ({ path: s, method: o, ...i } = {}) =>
+ (u) => {
+ let {
+ fn: { fetch: _ },
+ specSelectors: w,
+ specActions: x
+ } = u,
+ C = w.specJsonWithResolvedSubtrees().toJS(),
+ j = w.operationScheme(s, o),
+ { requestContentType: L, responseContentType: B } = w
+ .contentTypeValues([s, o])
+ .toJS(),
+ $ = /xml/i.test(L),
+ V = w.parameterValues([s, o], $).toJS();
+ return x.executeRequest({
+ ...i,
+ fetch: _,
+ spec: C,
+ pathName: s,
+ method: o,
+ parameters: V,
+ requestContentType: L,
+ scheme: j,
+ responseContentType: B
+ });
+ };
+ function clearResponse(s, o) {
+ return { type: Eo, payload: { path: s, method: o } };
+ }
+ function clearRequest(s, o) {
+ return { type: wo, payload: { path: s, method: o } };
+ }
+ function setScheme(s, o, i) {
+ return { type: Oo, payload: { scheme: s, path: o, method: i } };
+ }
+ const Po = {
+ [uo]: (s, o) => ('string' == typeof o.payload ? s.set('spec', o.payload) : s),
+ [po]: (s, o) => s.set('url', o.payload + ''),
+ [ho]: (s, o) => s.set('json', fromJSOrdered(o.payload)),
+ [ko]: (s, o) => s.setIn(['resolved'], fromJSOrdered(o.payload)),
+ [Co]: (s, o) => {
+ const { value: i, path: u } = o.payload;
+ return s.setIn(['resolvedSubtrees', ...u], fromJSOrdered(i));
+ },
+ [fo]: (s, { payload: o }) => {
+ let { path: i, paramName: u, paramIn: _, param: w, value: x, isXml: C } = o,
+ j = w ? paramToIdentifier(w) : `${_}.${u}`;
+ const L = C ? 'value_xml' : 'value';
+ return s.setIn(['meta', 'paths', ...i, 'parameters', j, L], (0, qe.fromJS)(x));
+ },
+ [mo]: (s, { payload: o }) => {
+ let { pathMethod: i, paramName: u, paramIn: _, includeEmptyValue: w } = o;
+ if (!u || !_)
+ return (
+ console.warn(
+ 'Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey.'
+ ),
+ s
+ );
+ const x = `${_}.${u}`;
+ return s.setIn(['meta', 'paths', ...i, 'parameter_inclusions', x], w);
+ },
+ [go]: (s, { payload: { pathMethod: o, isOAS3: i } }) => {
+ const u = Ms(s).getIn(['paths', ...o]),
+ _ = parameterValues(s, o).toJS();
+ return s.updateIn(['meta', 'paths', ...o, 'parameters'], (0, qe.fromJS)({}), (w) =>
+ u.get('parameters', (0, qe.List)()).reduce((u, w) => {
+ const x = paramToValue(w, _),
+ C = parameterInclusionSettingFor(s, o, w.get('name'), w.get('in')),
+ j = ((s, o, { isOAS3: i = !1, bypassRequiredCheck: u = !1 } = {}) => {
+ let _ = s.get('required'),
+ { schema: w, parameterContentMediaType: x } = getParameterSchema(s, {
+ isOAS3: i
+ });
+ return validateValueBySchema(o, w, _, u, x);
+ })(w, x, { bypassRequiredCheck: C, isOAS3: i });
+ return u.setIn([paramToIdentifier(w), 'errors'], (0, qe.fromJS)(j));
+ }, w)
+ );
+ },
+ [So]: (s, { payload: { pathMethod: o } }) =>
+ s.updateIn(['meta', 'paths', ...o, 'parameters'], (0, qe.fromJS)([]), (s) =>
+ s.map((s) => s.set('errors', (0, qe.fromJS)([])))
+ ),
+ [yo]: (s, { payload: { res: o, path: i, method: u } }) => {
+ let _;
+ (_ = o.error
+ ? Object.assign(
+ {
+ error: !0,
+ name: o.err.name,
+ message: o.err.message,
+ statusCode: o.err.statusCode
+ },
+ o.err.response
+ )
+ : o),
+ (_.headers = _.headers || {});
+ let w = s.setIn(['responses', i, u], fromJSOrdered(_));
+ return (
+ at.Blob &&
+ _.data instanceof at.Blob &&
+ (w = w.setIn(['responses', i, u, 'text'], _.data)),
+ w
+ );
+ },
+ [vo]: (s, { payload: { req: o, path: i, method: u } }) =>
+ s.setIn(['requests', i, u], fromJSOrdered(o)),
+ [bo]: (s, { payload: { req: o, path: i, method: u } }) =>
+ s.setIn(['mutatedRequests', i, u], fromJSOrdered(o)),
+ [xo]: (s, { payload: { path: o, value: i, key: u } }) => {
+ let _ = ['paths', ...o],
+ w = ['meta', 'paths', ...o];
+ return s.getIn(['json', ..._]) ||
+ s.getIn(['resolved', ..._]) ||
+ s.getIn(['resolvedSubtrees', ..._])
+ ? s.setIn([...w, u], (0, qe.fromJS)(i))
+ : s;
+ },
+ [Eo]: (s, { payload: { path: o, method: i } }) => s.deleteIn(['responses', o, i]),
+ [wo]: (s, { payload: { path: o, method: i } }) => s.deleteIn(['requests', o, i]),
+ [Oo]: (s, { payload: { scheme: o, path: i, method: u } }) =>
+ i && u
+ ? s.setIn(['scheme', i, u], o)
+ : i || u
+ ? void 0
+ : s.setIn(['scheme', '_defaultScheme'], o)
+ },
+ wrap_actions_updateSpec =
+ (s, { specActions: o }) =>
+ (...i) => {
+ s(...i), o.parseToJson(...i);
+ },
+ wrap_actions_updateJsonSpec =
+ (s, { specActions: o }) =>
+ (...i) => {
+ s(...i), o.invalidateResolvedSubtreeCache();
+ const [u] = i,
+ _ = jn()(u, ['paths']) || {};
+ Object.keys(_).forEach((s) => {
+ jn()(_, [s]).$ref && o.requestResolvedSubtree(['paths', s]);
+ }),
+ o.requestResolvedSubtree(['components', 'securitySchemes']);
+ },
+ wrap_actions_executeRequest =
+ (s, { specActions: o }) =>
+ (i) => (o.logRequest(i), s(i)),
+ wrap_actions_validateParams =
+ (s, { specSelectors: o }) =>
+ (i) =>
+ s(i, o.isOAS3()),
+ plugins_spec = () => ({
+ statePlugins: {
+ spec: {
+ wrapActions: { ...ee },
+ reducers: { ...Po },
+ actions: { ...Z },
+ selectors: { ...Y }
+ }
+ }
+ });
+ var Mo = (function () {
+ var extendStatics = function (s, o) {
+ return (
+ (extendStatics =
+ Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array &&
+ function (s, o) {
+ s.__proto__ = o;
+ }) ||
+ function (s, o) {
+ for (var i in o) o.hasOwnProperty(i) && (s[i] = o[i]);
+ }),
+ extendStatics(s, o)
+ );
+ };
+ return function (s, o) {
+ function __() {
+ this.constructor = s;
+ }
+ extendStatics(s, o),
+ (s.prototype =
+ null === o ? Object.create(o) : ((__.prototype = o.prototype), new __()));
+ };
+ })(),
+ To = Object.prototype.hasOwnProperty;
+ function module_helpers_hasOwnProperty(s, o) {
+ return To.call(s, o);
+ }
+ function _objectKeys(s) {
+ if (Array.isArray(s)) {
+ for (var o = new Array(s.length), i = 0; i < o.length; i++) o[i] = '' + i;
+ return o;
+ }
+ if (Object.keys) return Object.keys(s);
+ var u = [];
+ for (var _ in s) module_helpers_hasOwnProperty(s, _) && u.push(_);
+ return u;
+ }
+ function _deepClone(s) {
+ switch (typeof s) {
+ case 'object':
+ return JSON.parse(JSON.stringify(s));
+ case 'undefined':
+ return null;
+ default:
+ return s;
+ }
+ }
+ function helpers_isInteger(s) {
+ for (var o, i = 0, u = s.length; i < u; ) {
+ if (!((o = s.charCodeAt(i)) >= 48 && o <= 57)) return !1;
+ i++;
+ }
+ return !0;
+ }
+ function escapePathComponent(s) {
+ return -1 === s.indexOf('/') && -1 === s.indexOf('~')
+ ? s
+ : s.replace(/~/g, '~0').replace(/\//g, '~1');
+ }
+ function unescapePathComponent(s) {
+ return s.replace(/~1/g, '/').replace(/~0/g, '~');
+ }
+ function hasUndefined(s) {
+ if (void 0 === s) return !0;
+ if (s)
+ if (Array.isArray(s)) {
+ for (var o = 0, i = s.length; o < i; o++) if (hasUndefined(s[o])) return !0;
+ } else if ('object' == typeof s)
+ for (var u = _objectKeys(s), _ = u.length, w = 0; w < _; w++)
+ if (hasUndefined(s[u[w]])) return !0;
+ return !1;
+ }
+ function patchErrorMessageFormatter(s, o) {
+ var i = [s];
+ for (var u in o) {
+ var _ = 'object' == typeof o[u] ? JSON.stringify(o[u], null, 2) : o[u];
+ void 0 !== _ && i.push(u + ': ' + _);
+ }
+ return i.join('\n');
+ }
+ var No = (function (s) {
+ function PatchError(o, i, u, _, w) {
+ var x = this.constructor,
+ C =
+ s.call(
+ this,
+ patchErrorMessageFormatter(o, { name: i, index: u, operation: _, tree: w })
+ ) || this;
+ return (
+ (C.name = i),
+ (C.index = u),
+ (C.operation = _),
+ (C.tree = w),
+ Object.setPrototypeOf(C, x.prototype),
+ (C.message = patchErrorMessageFormatter(o, {
+ name: i,
+ index: u,
+ operation: _,
+ tree: w
+ })),
+ C
+ );
+ }
+ return Mo(PatchError, s), PatchError;
+ })(Error),
+ Ro = No,
+ Do = _deepClone,
+ Lo = {
+ add: function (s, o, i) {
+ return (s[o] = this.value), { newDocument: i };
+ },
+ remove: function (s, o, i) {
+ var u = s[o];
+ return delete s[o], { newDocument: i, removed: u };
+ },
+ replace: function (s, o, i) {
+ var u = s[o];
+ return (s[o] = this.value), { newDocument: i, removed: u };
+ },
+ move: function (s, o, i) {
+ var u = getValueByPointer(i, this.path);
+ u && (u = _deepClone(u));
+ var _ = applyOperation(i, { op: 'remove', path: this.from }).removed;
+ return (
+ applyOperation(i, { op: 'add', path: this.path, value: _ }),
+ { newDocument: i, removed: u }
+ );
+ },
+ copy: function (s, o, i) {
+ var u = getValueByPointer(i, this.from);
+ return (
+ applyOperation(i, { op: 'add', path: this.path, value: _deepClone(u) }),
+ { newDocument: i }
+ );
+ },
+ test: function (s, o, i) {
+ return { newDocument: i, test: _areEquals(s[o], this.value) };
+ },
+ _get: function (s, o, i) {
+ return (this.value = s[o]), { newDocument: i };
+ }
+ },
+ Bo = {
+ add: function (s, o, i) {
+ return (
+ helpers_isInteger(o) ? s.splice(o, 0, this.value) : (s[o] = this.value),
+ { newDocument: i, index: o }
+ );
+ },
+ remove: function (s, o, i) {
+ return { newDocument: i, removed: s.splice(o, 1)[0] };
+ },
+ replace: function (s, o, i) {
+ var u = s[o];
+ return (s[o] = this.value), { newDocument: i, removed: u };
+ },
+ move: Lo.move,
+ copy: Lo.copy,
+ test: Lo.test,
+ _get: Lo._get
+ };
+ function getValueByPointer(s, o) {
+ if ('' == o) return s;
+ var i = { op: '_get', path: o };
+ return applyOperation(s, i), i.value;
+ }
+ function applyOperation(s, o, i, u, _, w) {
+ if (
+ (void 0 === i && (i = !1),
+ void 0 === u && (u = !0),
+ void 0 === _ && (_ = !0),
+ void 0 === w && (w = 0),
+ i && ('function' == typeof i ? i(o, 0, s, o.path) : validator(o, 0)),
+ '' === o.path)
+ ) {
+ var x = { newDocument: s };
+ if ('add' === o.op) return (x.newDocument = o.value), x;
+ if ('replace' === o.op) return (x.newDocument = o.value), (x.removed = s), x;
+ if ('move' === o.op || 'copy' === o.op)
+ return (
+ (x.newDocument = getValueByPointer(s, o.from)),
+ 'move' === o.op && (x.removed = s),
+ x
+ );
+ if ('test' === o.op) {
+ if (((x.test = _areEquals(s, o.value)), !1 === x.test))
+ throw new Ro('Test operation failed', 'TEST_OPERATION_FAILED', w, o, s);
+ return (x.newDocument = s), x;
+ }
+ if ('remove' === o.op) return (x.removed = s), (x.newDocument = null), x;
+ if ('_get' === o.op) return (o.value = s), x;
+ if (i)
+ throw new Ro(
+ 'Operation `op` property is not one of operations defined in RFC-6902',
+ 'OPERATION_OP_INVALID',
+ w,
+ o,
+ s
+ );
+ return x;
+ }
+ u || (s = _deepClone(s));
+ var C = (o.path || '').split('/'),
+ j = s,
+ L = 1,
+ B = C.length,
+ $ = void 0,
+ V = void 0,
+ U = void 0;
+ for (U = 'function' == typeof i ? i : validator; ; ) {
+ if (
+ ((V = C[L]) && -1 != V.indexOf('~') && (V = unescapePathComponent(V)),
+ _ && ('__proto__' == V || ('prototype' == V && L > 0 && 'constructor' == C[L - 1])))
+ )
+ throw new TypeError(
+ 'JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README'
+ );
+ if (
+ (i &&
+ void 0 === $ &&
+ (void 0 === j[V] ? ($ = C.slice(0, L).join('/')) : L == B - 1 && ($ = o.path),
+ void 0 !== $ && U(o, 0, s, $)),
+ L++,
+ Array.isArray(j))
+ ) {
+ if ('-' === V) V = j.length;
+ else {
+ if (i && !helpers_isInteger(V))
+ throw new Ro(
+ 'Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index',
+ 'OPERATION_PATH_ILLEGAL_ARRAY_INDEX',
+ w,
+ o,
+ s
+ );
+ helpers_isInteger(V) && (V = ~~V);
+ }
+ if (L >= B) {
+ if (i && 'add' === o.op && V > j.length)
+ throw new Ro(
+ 'The specified index MUST NOT be greater than the number of elements in the array',
+ 'OPERATION_VALUE_OUT_OF_BOUNDS',
+ w,
+ o,
+ s
+ );
+ if (!1 === (x = Bo[o.op].call(o, j, V, s)).test)
+ throw new Ro('Test operation failed', 'TEST_OPERATION_FAILED', w, o, s);
+ return x;
+ }
+ } else if (L >= B) {
+ if (!1 === (x = Lo[o.op].call(o, j, V, s)).test)
+ throw new Ro('Test operation failed', 'TEST_OPERATION_FAILED', w, o, s);
+ return x;
+ }
+ if (((j = j[V]), i && L < B && (!j || 'object' != typeof j)))
+ throw new Ro(
+ 'Cannot perform operation at the desired path',
+ 'OPERATION_PATH_UNRESOLVABLE',
+ w,
+ o,
+ s
+ );
+ }
+ }
+ function applyPatch(s, o, i, u, _) {
+ if ((void 0 === u && (u = !0), void 0 === _ && (_ = !0), i && !Array.isArray(o)))
+ throw new Ro('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');
+ u || (s = _deepClone(s));
+ for (var w = new Array(o.length), x = 0, C = o.length; x < C; x++)
+ (w[x] = applyOperation(s, o[x], i, !0, _, x)), (s = w[x].newDocument);
+ return (w.newDocument = s), w;
+ }
+ function applyReducer(s, o, i) {
+ var u = applyOperation(s, o);
+ if (!1 === u.test)
+ throw new Ro('Test operation failed', 'TEST_OPERATION_FAILED', i, o, s);
+ return u.newDocument;
+ }
+ function validator(s, o, i, u) {
+ if ('object' != typeof s || null === s || Array.isArray(s))
+ throw new Ro('Operation is not an object', 'OPERATION_NOT_AN_OBJECT', o, s, i);
+ if (!Lo[s.op])
+ throw new Ro(
+ 'Operation `op` property is not one of operations defined in RFC-6902',
+ 'OPERATION_OP_INVALID',
+ o,
+ s,
+ i
+ );
+ if ('string' != typeof s.path)
+ throw new Ro(
+ 'Operation `path` property is not a string',
+ 'OPERATION_PATH_INVALID',
+ o,
+ s,
+ i
+ );
+ if (0 !== s.path.indexOf('/') && s.path.length > 0)
+ throw new Ro(
+ 'Operation `path` property must start with "/"',
+ 'OPERATION_PATH_INVALID',
+ o,
+ s,
+ i
+ );
+ if (('move' === s.op || 'copy' === s.op) && 'string' != typeof s.from)
+ throw new Ro(
+ 'Operation `from` property is not present (applicable in `move` and `copy` operations)',
+ 'OPERATION_FROM_REQUIRED',
+ o,
+ s,
+ i
+ );
+ if (('add' === s.op || 'replace' === s.op || 'test' === s.op) && void 0 === s.value)
+ throw new Ro(
+ 'Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)',
+ 'OPERATION_VALUE_REQUIRED',
+ o,
+ s,
+ i
+ );
+ if (('add' === s.op || 'replace' === s.op || 'test' === s.op) && hasUndefined(s.value))
+ throw new Ro(
+ 'Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)',
+ 'OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED',
+ o,
+ s,
+ i
+ );
+ if (i)
+ if ('add' == s.op) {
+ var _ = s.path.split('/').length,
+ w = u.split('/').length;
+ if (_ !== w + 1 && _ !== w)
+ throw new Ro(
+ 'Cannot perform an `add` operation at the desired path',
+ 'OPERATION_PATH_CANNOT_ADD',
+ o,
+ s,
+ i
+ );
+ } else if ('replace' === s.op || 'remove' === s.op || '_get' === s.op) {
+ if (s.path !== u)
+ throw new Ro(
+ 'Cannot perform the operation at a path that does not exist',
+ 'OPERATION_PATH_UNRESOLVABLE',
+ o,
+ s,
+ i
+ );
+ } else if ('move' === s.op || 'copy' === s.op) {
+ var x = validate([{ op: '_get', path: s.from, value: void 0 }], i);
+ if (x && 'OPERATION_PATH_UNRESOLVABLE' === x.name)
+ throw new Ro(
+ 'Cannot perform the operation from a path that does not exist',
+ 'OPERATION_FROM_UNRESOLVABLE',
+ o,
+ s,
+ i
+ );
+ }
+ }
+ function validate(s, o, i) {
+ try {
+ if (!Array.isArray(s))
+ throw new Ro('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');
+ if (o) applyPatch(_deepClone(o), _deepClone(s), i || !0);
+ else {
+ i = i || validator;
+ for (var u = 0; u < s.length; u++) i(s[u], u, o, void 0);
+ }
+ } catch (s) {
+ if (s instanceof Ro) return s;
+ throw s;
+ }
+ }
+ function _areEquals(s, o) {
+ if (s === o) return !0;
+ if (s && o && 'object' == typeof s && 'object' == typeof o) {
+ var i,
+ u,
+ _,
+ w = Array.isArray(s),
+ x = Array.isArray(o);
+ if (w && x) {
+ if ((u = s.length) != o.length) return !1;
+ for (i = u; 0 != i--; ) if (!_areEquals(s[i], o[i])) return !1;
+ return !0;
+ }
+ if (w != x) return !1;
+ var C = Object.keys(s);
+ if ((u = C.length) !== Object.keys(o).length) return !1;
+ for (i = u; 0 != i--; ) if (!o.hasOwnProperty(C[i])) return !1;
+ for (i = u; 0 != i--; ) if (!_areEquals(s[(_ = C[i])], o[_])) return !1;
+ return !0;
+ }
+ return s != s && o != o;
+ }
+ var Fo = new WeakMap(),
+ qo = function qo(s) {
+ (this.observers = new Map()), (this.obj = s);
+ },
+ $o = function $o(s, o) {
+ (this.callback = s), (this.observer = o);
+ };
+ function unobserve(s, o) {
+ o.unobserve();
+ }
+ function observe(s, o) {
+ var i,
+ u = (function getMirror(s) {
+ return Fo.get(s);
+ })(s);
+ if (u) {
+ var _ = (function getObserverFromMirror(s, o) {
+ return s.observers.get(o);
+ })(u, o);
+ i = _ && _.observer;
+ } else (u = new qo(s)), Fo.set(s, u);
+ if (i) return i;
+ if (((i = {}), (u.value = _deepClone(s)), o)) {
+ (i.callback = o), (i.next = null);
+ var dirtyCheck = function () {
+ generate(i);
+ },
+ fastCheck = function () {
+ clearTimeout(i.next), (i.next = setTimeout(dirtyCheck));
+ };
+ 'undefined' != typeof window &&
+ (window.addEventListener('mouseup', fastCheck),
+ window.addEventListener('keyup', fastCheck),
+ window.addEventListener('mousedown', fastCheck),
+ window.addEventListener('keydown', fastCheck),
+ window.addEventListener('change', fastCheck));
+ }
+ return (
+ (i.patches = []),
+ (i.object = s),
+ (i.unobserve = function () {
+ generate(i),
+ clearTimeout(i.next),
+ (function removeObserverFromMirror(s, o) {
+ s.observers.delete(o.callback);
+ })(u, i),
+ 'undefined' != typeof window &&
+ (window.removeEventListener('mouseup', fastCheck),
+ window.removeEventListener('keyup', fastCheck),
+ window.removeEventListener('mousedown', fastCheck),
+ window.removeEventListener('keydown', fastCheck),
+ window.removeEventListener('change', fastCheck));
+ }),
+ u.observers.set(o, new $o(o, i)),
+ i
+ );
+ }
+ function generate(s, o) {
+ void 0 === o && (o = !1);
+ var i = Fo.get(s.object);
+ _generate(i.value, s.object, s.patches, '', o),
+ s.patches.length && applyPatch(i.value, s.patches);
+ var u = s.patches;
+ return u.length > 0 && ((s.patches = []), s.callback && s.callback(u)), u;
+ }
+ function _generate(s, o, i, u, _) {
+ if (o !== s) {
+ 'function' == typeof o.toJSON && (o = o.toJSON());
+ for (
+ var w = _objectKeys(o), x = _objectKeys(s), C = !1, j = x.length - 1;
+ j >= 0;
+ j--
+ ) {
+ var L = s[($ = x[j])];
+ if (
+ !module_helpers_hasOwnProperty(o, $) ||
+ (void 0 === o[$] && void 0 !== L && !1 === Array.isArray(o))
+ )
+ Array.isArray(s) === Array.isArray(o)
+ ? (_ &&
+ i.push({
+ op: 'test',
+ path: u + '/' + escapePathComponent($),
+ value: _deepClone(L)
+ }),
+ i.push({ op: 'remove', path: u + '/' + escapePathComponent($) }),
+ (C = !0))
+ : (_ && i.push({ op: 'test', path: u, value: s }),
+ i.push({ op: 'replace', path: u, value: o }),
+ !0);
+ else {
+ var B = o[$];
+ 'object' == typeof L &&
+ null != L &&
+ 'object' == typeof B &&
+ null != B &&
+ Array.isArray(L) === Array.isArray(B)
+ ? _generate(L, B, i, u + '/' + escapePathComponent($), _)
+ : L !== B &&
+ (_ &&
+ i.push({
+ op: 'test',
+ path: u + '/' + escapePathComponent($),
+ value: _deepClone(L)
+ }),
+ i.push({
+ op: 'replace',
+ path: u + '/' + escapePathComponent($),
+ value: _deepClone(B)
+ }));
+ }
+ }
+ if (C || w.length != x.length)
+ for (j = 0; j < w.length; j++) {
+ var $;
+ module_helpers_hasOwnProperty(s, ($ = w[j])) ||
+ void 0 === o[$] ||
+ i.push({
+ op: 'add',
+ path: u + '/' + escapePathComponent($),
+ value: _deepClone(o[$])
+ });
+ }
+ }
+ }
+ function compare(s, o, i) {
+ void 0 === i && (i = !1);
+ var u = [];
+ return _generate(s, o, u, '', i), u;
+ }
+ Object.assign({}, ie, ae, {
+ JsonPatchError: No,
+ deepClone: _deepClone,
+ escapePathComponent,
+ unescapePathComponent
+ });
+ var Vo = __webpack_require__(14744),
+ Uo = __webpack_require__.n(Vo);
+ const zo = {
+ add: function add(s, o) {
+ return { op: 'add', path: s, value: o };
+ },
+ replace,
+ remove: function remove(s) {
+ return { op: 'remove', path: s };
+ },
+ merge: function lib_merge(s, o) {
+ return { type: 'mutation', op: 'merge', path: s, value: o };
+ },
+ mergeDeep: function mergeDeep(s, o) {
+ return { type: 'mutation', op: 'mergeDeep', path: s, value: o };
+ },
+ context: function context(s, o) {
+ return { type: 'context', path: s, value: o };
+ },
+ getIn: function lib_getIn(s, o) {
+ return o.reduce((s, o) => (void 0 !== o && s ? s[o] : s), s);
+ },
+ applyPatch: function lib_applyPatch(s, o, i) {
+ if (
+ ((i = i || {}),
+ 'merge' === (o = { ...o, path: o.path && normalizeJSONPath(o.path) }).op)
+ ) {
+ const i = getInByJsonPath(s, o.path);
+ Object.assign(i, o.value), applyPatch(s, [replace(o.path, i)]);
+ } else if ('mergeDeep' === o.op) {
+ const i = getInByJsonPath(s, o.path),
+ u = Uo()(i, o.value);
+ s = applyPatch(s, [replace(o.path, u)]).newDocument;
+ } else if ('add' === o.op && '' === o.path && lib_isObject(o.value)) {
+ applyPatch(
+ s,
+ Object.keys(o.value).reduce(
+ (s, i) => (
+ s.push({ op: 'add', path: `/${normalizeJSONPath(i)}`, value: o.value[i] }), s
+ ),
+ []
+ )
+ );
+ } else if ('replace' === o.op && '' === o.path) {
+ let { value: u } = o;
+ i.allowMetaPatches &&
+ o.meta &&
+ isAdditiveMutation(o) &&
+ (Array.isArray(o.value) || lib_isObject(o.value)) &&
+ (u = { ...u, ...o.meta }),
+ (s = u);
+ } else if (
+ (applyPatch(s, [o]),
+ i.allowMetaPatches &&
+ o.meta &&
+ isAdditiveMutation(o) &&
+ (Array.isArray(o.value) || lib_isObject(o.value)))
+ ) {
+ const i = { ...getInByJsonPath(s, o.path), ...o.meta };
+ applyPatch(s, [replace(o.path, i)]);
+ }
+ return s;
+ },
+ parentPathMatch: function parentPathMatch(s, o) {
+ if (!Array.isArray(o)) return !1;
+ for (let i = 0, u = o.length; i < u; i += 1) if (o[i] !== s[i]) return !1;
+ return !0;
+ },
+ flatten,
+ fullyNormalizeArray: function fullyNormalizeArray(s) {
+ return cleanArray(flatten(lib_normalizeArray(s)));
+ },
+ normalizeArray: lib_normalizeArray,
+ isPromise: function isPromise(s) {
+ return lib_isObject(s) && lib_isFunction(s.then);
+ },
+ forEachNew: function forEachNew(s, o) {
+ try {
+ return forEachNewPatch(s, forEach, o);
+ } catch (s) {
+ return s;
+ }
+ },
+ forEachNewPrimitive: function forEachNewPrimitive(s, o) {
+ try {
+ return forEachNewPatch(s, forEachPrimitive, o);
+ } catch (s) {
+ return s;
+ }
+ },
+ isJsonPatch,
+ isContextPatch: function isContextPatch(s) {
+ return isPatch(s) && 'context' === s.type;
+ },
+ isPatch,
+ isMutation,
+ isAdditiveMutation,
+ isGenerator: function isGenerator(s) {
+ return '[object GeneratorFunction]' === Object.prototype.toString.call(s);
+ },
+ isFunction: lib_isFunction,
+ isObject: lib_isObject,
+ isError: function lib_isError(s) {
+ return s instanceof Error;
+ }
+ };
+ function normalizeJSONPath(s) {
+ return Array.isArray(s)
+ ? s.length < 1
+ ? ''
+ : `/${s.map((s) => (s + '').replace(/~/g, '~0').replace(/\//g, '~1')).join('/')}`
+ : s;
+ }
+ function replace(s, o, i) {
+ return { op: 'replace', path: s, value: o, meta: i };
+ }
+ function forEachNewPatch(s, o, i) {
+ return cleanArray(
+ flatten(s.filter(isAdditiveMutation).map((s) => o(s.value, i, s.path)) || [])
+ );
+ }
+ function forEachPrimitive(s, o, i) {
+ return (
+ (i = i || []),
+ Array.isArray(s)
+ ? s.map((s, u) => forEachPrimitive(s, o, i.concat(u)))
+ : lib_isObject(s)
+ ? Object.keys(s).map((u) => forEachPrimitive(s[u], o, i.concat(u)))
+ : o(s, i[i.length - 1], i)
+ );
+ }
+ function forEach(s, o, i) {
+ let u = [];
+ if ((i = i || []).length > 0) {
+ const _ = o(s, i[i.length - 1], i);
+ _ && (u = u.concat(_));
+ }
+ if (Array.isArray(s)) {
+ const _ = s.map((s, u) => forEach(s, o, i.concat(u)));
+ _ && (u = u.concat(_));
+ } else if (lib_isObject(s)) {
+ const _ = Object.keys(s).map((u) => forEach(s[u], o, i.concat(u)));
+ _ && (u = u.concat(_));
+ }
+ return (u = flatten(u)), u;
+ }
+ function lib_normalizeArray(s) {
+ return Array.isArray(s) ? s : [s];
+ }
+ function flatten(s) {
+ return [].concat(...s.map((s) => (Array.isArray(s) ? flatten(s) : s)));
+ }
+ function cleanArray(s) {
+ return s.filter((s) => void 0 !== s);
+ }
+ function lib_isObject(s) {
+ return s && 'object' == typeof s;
+ }
+ function lib_isFunction(s) {
+ return s && 'function' == typeof s;
+ }
+ function isJsonPatch(s) {
+ if (isPatch(s)) {
+ const { op: o } = s;
+ return 'add' === o || 'remove' === o || 'replace' === o;
+ }
+ return !1;
+ }
+ function isMutation(s) {
+ return isJsonPatch(s) || (isPatch(s) && 'mutation' === s.type);
+ }
+ function isAdditiveMutation(s) {
+ return (
+ isMutation(s) &&
+ ('add' === s.op || 'replace' === s.op || 'merge' === s.op || 'mergeDeep' === s.op)
+ );
+ }
+ function isPatch(s) {
+ return s && 'object' == typeof s;
+ }
+ function getInByJsonPath(s, o) {
+ try {
+ return getValueByPointer(s, o);
+ } catch (s) {
+ return console.error(s), {};
+ }
+ }
+ var Wo = __webpack_require__(48675);
+ const Ko = class ApiDOMAggregateError extends Wo {
+ constructor(s, o, i) {
+ if (
+ (super(s, o, i),
+ (this.name = this.constructor.name),
+ 'string' == typeof o && (this.message = o),
+ 'function' == typeof Error.captureStackTrace
+ ? Error.captureStackTrace(this, this.constructor)
+ : (this.stack = new Error(o).stack),
+ null != i && 'object' == typeof i && Object.hasOwn(i, 'cause') && !('cause' in this))
+ ) {
+ const { cause: s } = i;
+ (this.cause = s),
+ s instanceof Error &&
+ 'stack' in s &&
+ (this.stack = `${this.stack}\nCAUSE: ${s.stack}`);
+ }
+ }
+ };
+ class ApiDOMError extends Error {
+ static [Symbol.hasInstance](s) {
+ return (
+ super[Symbol.hasInstance](s) || Function.prototype[Symbol.hasInstance].call(Ko, s)
+ );
+ }
+ constructor(s, o) {
+ if (
+ (super(s, o),
+ (this.name = this.constructor.name),
+ 'string' == typeof s && (this.message = s),
+ 'function' == typeof Error.captureStackTrace
+ ? Error.captureStackTrace(this, this.constructor)
+ : (this.stack = new Error(s).stack),
+ null != o && 'object' == typeof o && Object.hasOwn(o, 'cause') && !('cause' in this))
+ ) {
+ const { cause: s } = o;
+ (this.cause = s),
+ s instanceof Error &&
+ 'stack' in s &&
+ (this.stack = `${this.stack}\nCAUSE: ${s.stack}`);
+ }
+ }
+ }
+ const Ho = ApiDOMError;
+ const Jo = class ApiDOMStructuredError extends Ho {
+ constructor(s, o) {
+ if ((super(s, o), null != o && 'object' == typeof o)) {
+ const { cause: s, ...i } = o;
+ Object.assign(this, i);
+ }
+ }
+ };
+ var Go = __webpack_require__(65606);
+ function _isPlaceholder(s) {
+ return null != s && 'object' == typeof s && !0 === s['@@functional/placeholder'];
+ }
+ function _curry1(s) {
+ return function f1(o) {
+ return 0 === arguments.length || _isPlaceholder(o) ? f1 : s.apply(this, arguments);
+ };
+ }
+ function _curry2(s) {
+ return function f2(o, i) {
+ switch (arguments.length) {
+ case 0:
+ return f2;
+ case 1:
+ return _isPlaceholder(o)
+ ? f2
+ : _curry1(function (i) {
+ return s(o, i);
+ });
+ default:
+ return _isPlaceholder(o) && _isPlaceholder(i)
+ ? f2
+ : _isPlaceholder(o)
+ ? _curry1(function (o) {
+ return s(o, i);
+ })
+ : _isPlaceholder(i)
+ ? _curry1(function (i) {
+ return s(o, i);
+ })
+ : s(o, i);
+ }
+ };
+ }
+ function _curry3(s) {
+ return function f3(o, i, u) {
+ switch (arguments.length) {
+ case 0:
+ return f3;
+ case 1:
+ return _isPlaceholder(o)
+ ? f3
+ : _curry2(function (i, u) {
+ return s(o, i, u);
+ });
+ case 2:
+ return _isPlaceholder(o) && _isPlaceholder(i)
+ ? f3
+ : _isPlaceholder(o)
+ ? _curry2(function (o, u) {
+ return s(o, i, u);
+ })
+ : _isPlaceholder(i)
+ ? _curry2(function (i, u) {
+ return s(o, i, u);
+ })
+ : _curry1(function (u) {
+ return s(o, i, u);
+ });
+ default:
+ return _isPlaceholder(o) && _isPlaceholder(i) && _isPlaceholder(u)
+ ? f3
+ : _isPlaceholder(o) && _isPlaceholder(i)
+ ? _curry2(function (o, i) {
+ return s(o, i, u);
+ })
+ : _isPlaceholder(o) && _isPlaceholder(u)
+ ? _curry2(function (o, u) {
+ return s(o, i, u);
+ })
+ : _isPlaceholder(i) && _isPlaceholder(u)
+ ? _curry2(function (i, u) {
+ return s(o, i, u);
+ })
+ : _isPlaceholder(o)
+ ? _curry1(function (o) {
+ return s(o, i, u);
+ })
+ : _isPlaceholder(i)
+ ? _curry1(function (i) {
+ return s(o, i, u);
+ })
+ : _isPlaceholder(u)
+ ? _curry1(function (u) {
+ return s(o, i, u);
+ })
+ : s(o, i, u);
+ }
+ };
+ }
+ const Yo =
+ Number.isInteger ||
+ function _isInteger(s) {
+ return (s | 0) === s;
+ };
+ function _isString(s) {
+ return '[object String]' === Object.prototype.toString.call(s);
+ }
+ function _nth(s, o) {
+ var i = s < 0 ? o.length + s : s;
+ return _isString(o) ? o.charAt(i) : o[i];
+ }
+ function _path(s, o) {
+ for (var i = o, u = 0; u < s.length; u += 1) {
+ if (null == i) return;
+ var _ = s[u];
+ i = Yo(_) ? _nth(_, i) : i[_];
+ }
+ return i;
+ }
+ const Xo = _curry3(function pathSatisfies(s, o, i) {
+ return s(_path(o, i));
+ });
+ function _cloneRegExp(s) {
+ return new RegExp(
+ s.source,
+ s.flags
+ ? s.flags
+ : (s.global ? 'g' : '') +
+ (s.ignoreCase ? 'i' : '') +
+ (s.multiline ? 'm' : '') +
+ (s.sticky ? 'y' : '') +
+ (s.unicode ? 'u' : '') +
+ (s.dotAll ? 's' : '')
+ );
+ }
+ function _arrayFromIterator(s) {
+ for (var o, i = []; !(o = s.next()).done; ) i.push(o.value);
+ return i;
+ }
+ function _includesWith(s, o, i) {
+ for (var u = 0, _ = i.length; u < _; ) {
+ if (s(o, i[u])) return !0;
+ u += 1;
+ }
+ return !1;
+ }
+ function _has(s, o) {
+ return Object.prototype.hasOwnProperty.call(o, s);
+ }
+ const Zo =
+ 'function' == typeof Object.is
+ ? Object.is
+ : function _objectIs(s, o) {
+ return s === o ? 0 !== s || 1 / s == 1 / o : s != s && o != o;
+ };
+ var Qo = Object.prototype.toString;
+ const _i = (function () {
+ return '[object Arguments]' === Qo.call(arguments)
+ ? function _isArguments(s) {
+ return '[object Arguments]' === Qo.call(s);
+ }
+ : function _isArguments(s) {
+ return _has('callee', s);
+ };
+ })();
+ var Ei = !{ toString: null }.propertyIsEnumerable('toString'),
+ Oi = [
+ 'constructor',
+ 'valueOf',
+ 'isPrototypeOf',
+ 'toString',
+ 'propertyIsEnumerable',
+ 'hasOwnProperty',
+ 'toLocaleString'
+ ],
+ Pi = (function () {
+ return arguments.propertyIsEnumerable('length');
+ })(),
+ Mi = function contains(s, o) {
+ for (var i = 0; i < s.length; ) {
+ if (s[i] === o) return !0;
+ i += 1;
+ }
+ return !1;
+ },
+ Ri =
+ 'function' != typeof Object.keys || Pi
+ ? _curry1(function keys(s) {
+ if (Object(s) !== s) return [];
+ var o,
+ i,
+ u = [],
+ _ = Pi && _i(s);
+ for (o in s) !_has(o, s) || (_ && 'length' === o) || (u[u.length] = o);
+ if (Ei)
+ for (i = Oi.length - 1; i >= 0; )
+ _has((o = Oi[i]), s) && !Mi(u, o) && (u[u.length] = o), (i -= 1);
+ return u;
+ })
+ : _curry1(function keys(s) {
+ return Object(s) !== s ? [] : Object.keys(s);
+ });
+ const Wi = Ri;
+ const ea = _curry1(function type(s) {
+ return null === s
+ ? 'Null'
+ : void 0 === s
+ ? 'Undefined'
+ : Object.prototype.toString.call(s).slice(8, -1);
+ });
+ function _uniqContentEquals(s, o, i, u) {
+ var _ = _arrayFromIterator(s);
+ function eq(s, o) {
+ return _equals(s, o, i.slice(), u.slice());
+ }
+ return !_includesWith(
+ function (s, o) {
+ return !_includesWith(eq, o, s);
+ },
+ _arrayFromIterator(o),
+ _
+ );
+ }
+ function _equals(s, o, i, u) {
+ if (Zo(s, o)) return !0;
+ var _ = ea(s);
+ if (_ !== ea(o)) return !1;
+ if (
+ 'function' == typeof s['fantasy-land/equals'] ||
+ 'function' == typeof o['fantasy-land/equals']
+ )
+ return (
+ 'function' == typeof s['fantasy-land/equals'] &&
+ s['fantasy-land/equals'](o) &&
+ 'function' == typeof o['fantasy-land/equals'] &&
+ o['fantasy-land/equals'](s)
+ );
+ if ('function' == typeof s.equals || 'function' == typeof o.equals)
+ return (
+ 'function' == typeof s.equals &&
+ s.equals(o) &&
+ 'function' == typeof o.equals &&
+ o.equals(s)
+ );
+ switch (_) {
+ case 'Arguments':
+ case 'Array':
+ case 'Object':
+ if (
+ 'function' == typeof s.constructor &&
+ 'Promise' ===
+ (function _functionName(s) {
+ var o = String(s).match(/^function (\w*)/);
+ return null == o ? '' : o[1];
+ })(s.constructor)
+ )
+ return s === o;
+ break;
+ case 'Boolean':
+ case 'Number':
+ case 'String':
+ if (typeof s != typeof o || !Zo(s.valueOf(), o.valueOf())) return !1;
+ break;
+ case 'Date':
+ if (!Zo(s.valueOf(), o.valueOf())) return !1;
+ break;
+ case 'Error':
+ return s.name === o.name && s.message === o.message;
+ case 'RegExp':
+ if (
+ s.source !== o.source ||
+ s.global !== o.global ||
+ s.ignoreCase !== o.ignoreCase ||
+ s.multiline !== o.multiline ||
+ s.sticky !== o.sticky ||
+ s.unicode !== o.unicode
+ )
+ return !1;
+ }
+ for (var w = i.length - 1; w >= 0; ) {
+ if (i[w] === s) return u[w] === o;
+ w -= 1;
+ }
+ switch (_) {
+ case 'Map':
+ return (
+ s.size === o.size &&
+ _uniqContentEquals(s.entries(), o.entries(), i.concat([s]), u.concat([o]))
+ );
+ case 'Set':
+ return (
+ s.size === o.size &&
+ _uniqContentEquals(s.values(), o.values(), i.concat([s]), u.concat([o]))
+ );
+ case 'Arguments':
+ case 'Array':
+ case 'Object':
+ case 'Boolean':
+ case 'Number':
+ case 'String':
+ case 'Date':
+ case 'Error':
+ case 'RegExp':
+ case 'Int8Array':
+ case 'Uint8Array':
+ case 'Uint8ClampedArray':
+ case 'Int16Array':
+ case 'Uint16Array':
+ case 'Int32Array':
+ case 'Uint32Array':
+ case 'Float32Array':
+ case 'Float64Array':
+ case 'ArrayBuffer':
+ break;
+ default:
+ return !1;
+ }
+ var x = Wi(s);
+ if (x.length !== Wi(o).length) return !1;
+ var C = i.concat([s]),
+ j = u.concat([o]);
+ for (w = x.length - 1; w >= 0; ) {
+ var L = x[w];
+ if (!_has(L, o) || !_equals(o[L], s[L], C, j)) return !1;
+ w -= 1;
+ }
+ return !0;
+ }
+ const ra = _curry2(function equals(s, o) {
+ return _equals(s, o, [], []);
+ });
+ function _includes(s, o) {
+ return (
+ (function _indexOf(s, o, i) {
+ var u, _;
+ if ('function' == typeof s.indexOf)
+ switch (typeof o) {
+ case 'number':
+ if (0 === o) {
+ for (u = 1 / o; i < s.length; ) {
+ if (0 === (_ = s[i]) && 1 / _ === u) return i;
+ i += 1;
+ }
+ return -1;
+ }
+ if (o != o) {
+ for (; i < s.length; ) {
+ if ('number' == typeof (_ = s[i]) && _ != _) return i;
+ i += 1;
+ }
+ return -1;
+ }
+ return s.indexOf(o, i);
+ case 'string':
+ case 'boolean':
+ case 'function':
+ case 'undefined':
+ return s.indexOf(o, i);
+ case 'object':
+ if (null === o) return s.indexOf(o, i);
+ }
+ for (; i < s.length; ) {
+ if (ra(s[i], o)) return i;
+ i += 1;
+ }
+ return -1;
+ })(o, s, 0) >= 0
+ );
+ }
+ function _map(s, o) {
+ for (var i = 0, u = o.length, _ = Array(u); i < u; ) (_[i] = s(o[i])), (i += 1);
+ return _;
+ }
+ function _quote(s) {
+ return (
+ '"' +
+ s
+ .replace(/\\/g, '\\\\')
+ .replace(/[\b]/g, '\\b')
+ .replace(/\f/g, '\\f')
+ .replace(/\n/g, '\\n')
+ .replace(/\r/g, '\\r')
+ .replace(/\t/g, '\\t')
+ .replace(/\v/g, '\\v')
+ .replace(/\0/g, '\\0')
+ .replace(/"/g, '\\"') +
+ '"'
+ );
+ }
+ var na = function pad(s) {
+ return (s < 10 ? '0' : '') + s;
+ };
+ const ia =
+ 'function' == typeof Date.prototype.toISOString
+ ? function _toISOString(s) {
+ return s.toISOString();
+ }
+ : function _toISOString(s) {
+ return (
+ s.getUTCFullYear() +
+ '-' +
+ na(s.getUTCMonth() + 1) +
+ '-' +
+ na(s.getUTCDate()) +
+ 'T' +
+ na(s.getUTCHours()) +
+ ':' +
+ na(s.getUTCMinutes()) +
+ ':' +
+ na(s.getUTCSeconds()) +
+ '.' +
+ (s.getUTCMilliseconds() / 1e3).toFixed(3).slice(2, 5) +
+ 'Z'
+ );
+ };
+ function _complement(s) {
+ return function () {
+ return !s.apply(this, arguments);
+ };
+ }
+ function _arrayReduce(s, o, i) {
+ for (var u = 0, _ = i.length; u < _; ) (o = s(o, i[u])), (u += 1);
+ return o;
+ }
+ const aa =
+ Array.isArray ||
+ function _isArray(s) {
+ return (
+ null != s && s.length >= 0 && '[object Array]' === Object.prototype.toString.call(s)
+ );
+ };
+ function _dispatchable(s, o, i) {
+ return function () {
+ if (0 === arguments.length) return i();
+ var u = arguments[arguments.length - 1];
+ if (!aa(u)) {
+ for (var _ = 0; _ < s.length; ) {
+ if ('function' == typeof u[s[_]])
+ return u[s[_]].apply(u, Array.prototype.slice.call(arguments, 0, -1));
+ _ += 1;
+ }
+ if (
+ (function _isTransformer(s) {
+ return null != s && 'function' == typeof s['@@transducer/step'];
+ })(u)
+ )
+ return o.apply(null, Array.prototype.slice.call(arguments, 0, -1))(u);
+ }
+ return i.apply(this, arguments);
+ };
+ }
+ function _isObject(s) {
+ return '[object Object]' === Object.prototype.toString.call(s);
+ }
+ const _xfBase_init = function () {
+ return this.xf['@@transducer/init']();
+ },
+ _xfBase_result = function (s) {
+ return this.xf['@@transducer/result'](s);
+ };
+ var la = (function () {
+ function XFilter(s, o) {
+ (this.xf = o), (this.f = s);
+ }
+ return (
+ (XFilter.prototype['@@transducer/init'] = _xfBase_init),
+ (XFilter.prototype['@@transducer/result'] = _xfBase_result),
+ (XFilter.prototype['@@transducer/step'] = function (s, o) {
+ return this.f(o) ? this.xf['@@transducer/step'](s, o) : s;
+ }),
+ XFilter
+ );
+ })();
+ function _xfilter(s) {
+ return function (o) {
+ return new la(s, o);
+ };
+ }
+ var ca = _curry2(
+ _dispatchable(['fantasy-land/filter', 'filter'], _xfilter, function (s, o) {
+ return _isObject(o)
+ ? _arrayReduce(
+ function (i, u) {
+ return s(o[u]) && (i[u] = o[u]), i;
+ },
+ {},
+ Wi(o)
+ )
+ : (function _filter(s, o) {
+ for (var i = 0, u = o.length, _ = []; i < u; )
+ s(o[i]) && (_[_.length] = o[i]), (i += 1);
+ return _;
+ })(s, o);
+ })
+ );
+ const ua = ca;
+ const da = _curry2(function reject(s, o) {
+ return ua(_complement(s), o);
+ });
+ function _toString_toString(s, o) {
+ var i = function recur(i) {
+ var u = o.concat([s]);
+ return _includes(i, u) ? '' : _toString_toString(i, u);
+ },
+ mapPairs = function (s, o) {
+ return _map(function (o) {
+ return _quote(o) + ': ' + i(s[o]);
+ }, o.slice().sort());
+ };
+ switch (Object.prototype.toString.call(s)) {
+ case '[object Arguments]':
+ return '(function() { return arguments; }(' + _map(i, s).join(', ') + '))';
+ case '[object Array]':
+ return (
+ '[' +
+ _map(i, s)
+ .concat(
+ mapPairs(
+ s,
+ da(function (s) {
+ return /^\d+$/.test(s);
+ }, Wi(s))
+ )
+ )
+ .join(', ') +
+ ']'
+ );
+ case '[object Boolean]':
+ return 'object' == typeof s ? 'new Boolean(' + i(s.valueOf()) + ')' : s.toString();
+ case '[object Date]':
+ return 'new Date(' + (isNaN(s.valueOf()) ? i(NaN) : _quote(ia(s))) + ')';
+ case '[object Map]':
+ return 'new Map(' + i(Array.from(s)) + ')';
+ case '[object Null]':
+ return 'null';
+ case '[object Number]':
+ return 'object' == typeof s
+ ? 'new Number(' + i(s.valueOf()) + ')'
+ : 1 / s == -1 / 0
+ ? '-0'
+ : s.toString(10);
+ case '[object Set]':
+ return 'new Set(' + i(Array.from(s).sort()) + ')';
+ case '[object String]':
+ return 'object' == typeof s ? 'new String(' + i(s.valueOf()) + ')' : _quote(s);
+ case '[object Undefined]':
+ return 'undefined';
+ default:
+ if ('function' == typeof s.toString) {
+ var u = s.toString();
+ if ('[object Object]' !== u) return u;
+ }
+ return '{' + mapPairs(s, Wi(s)).join(', ') + '}';
+ }
+ }
+ const ma = _curry1(function toString(s) {
+ return _toString_toString(s, []);
+ });
+ var ga = _curry2(function test(s, o) {
+ if (
+ !(function _isRegExp(s) {
+ return '[object RegExp]' === Object.prototype.toString.call(s);
+ })(s)
+ )
+ throw new TypeError(
+ '‘test’ requires a value of type RegExp as its first argument; received ' + ma(s)
+ );
+ return _cloneRegExp(s).test(o);
+ });
+ const ya = ga;
+ function _arity(s, o) {
+ switch (s) {
+ case 0:
+ return function () {
+ return o.apply(this, arguments);
+ };
+ case 1:
+ return function (s) {
+ return o.apply(this, arguments);
+ };
+ case 2:
+ return function (s, i) {
+ return o.apply(this, arguments);
+ };
+ case 3:
+ return function (s, i, u) {
+ return o.apply(this, arguments);
+ };
+ case 4:
+ return function (s, i, u, _) {
+ return o.apply(this, arguments);
+ };
+ case 5:
+ return function (s, i, u, _, w) {
+ return o.apply(this, arguments);
+ };
+ case 6:
+ return function (s, i, u, _, w, x) {
+ return o.apply(this, arguments);
+ };
+ case 7:
+ return function (s, i, u, _, w, x, C) {
+ return o.apply(this, arguments);
+ };
+ case 8:
+ return function (s, i, u, _, w, x, C, j) {
+ return o.apply(this, arguments);
+ };
+ case 9:
+ return function (s, i, u, _, w, x, C, j, L) {
+ return o.apply(this, arguments);
+ };
+ case 10:
+ return function (s, i, u, _, w, x, C, j, L, B) {
+ return o.apply(this, arguments);
+ };
+ default:
+ throw new Error(
+ 'First argument to _arity must be a non-negative integer no greater than ten'
+ );
+ }
+ }
+ function _pipe(s, o) {
+ return function () {
+ return o.call(this, s.apply(this, arguments));
+ };
+ }
+ const va = _curry1(function isArrayLike(s) {
+ return (
+ !!aa(s) ||
+ (!!s &&
+ 'object' == typeof s &&
+ !_isString(s) &&
+ (0 === s.length ||
+ (s.length > 0 && s.hasOwnProperty(0) && s.hasOwnProperty(s.length - 1))))
+ );
+ });
+ var ba = 'undefined' != typeof Symbol ? Symbol.iterator : '@@iterator';
+ function _createReduce(s, o, i) {
+ return function _reduce(u, _, w) {
+ if (va(w)) return s(u, _, w);
+ if (null == w) return _;
+ if ('function' == typeof w['fantasy-land/reduce'])
+ return o(u, _, w, 'fantasy-land/reduce');
+ if (null != w[ba]) return i(u, _, w[ba]());
+ if ('function' == typeof w.next) return i(u, _, w);
+ if ('function' == typeof w.reduce) return o(u, _, w, 'reduce');
+ throw new TypeError('reduce: list must be array or iterable');
+ };
+ }
+ function _xArrayReduce(s, o, i) {
+ for (var u = 0, _ = i.length; u < _; ) {
+ if ((o = s['@@transducer/step'](o, i[u])) && o['@@transducer/reduced']) {
+ o = o['@@transducer/value'];
+ break;
+ }
+ u += 1;
+ }
+ return s['@@transducer/result'](o);
+ }
+ var _a = _curry2(function bind(s, o) {
+ return _arity(s.length, function () {
+ return s.apply(o, arguments);
+ });
+ });
+ const Ea = _a;
+ function _xIterableReduce(s, o, i) {
+ for (var u = i.next(); !u.done; ) {
+ if ((o = s['@@transducer/step'](o, u.value)) && o['@@transducer/reduced']) {
+ o = o['@@transducer/value'];
+ break;
+ }
+ u = i.next();
+ }
+ return s['@@transducer/result'](o);
+ }
+ function _xMethodReduce(s, o, i, u) {
+ return s['@@transducer/result'](i[u](Ea(s['@@transducer/step'], s), o));
+ }
+ const wa = _createReduce(_xArrayReduce, _xMethodReduce, _xIterableReduce);
+ var xa = (function () {
+ function XWrap(s) {
+ this.f = s;
+ }
+ return (
+ (XWrap.prototype['@@transducer/init'] = function () {
+ throw new Error('init not implemented on XWrap');
+ }),
+ (XWrap.prototype['@@transducer/result'] = function (s) {
+ return s;
+ }),
+ (XWrap.prototype['@@transducer/step'] = function (s, o) {
+ return this.f(s, o);
+ }),
+ XWrap
+ );
+ })();
+ function _xwrap(s) {
+ return new xa(s);
+ }
+ var ka = _curry3(function (s, o, i) {
+ return wa('function' == typeof s ? _xwrap(s) : s, o, i);
+ });
+ const Ca = ka;
+ function _checkForMethod(s, o) {
+ return function () {
+ var i = arguments.length;
+ if (0 === i) return o();
+ var u = arguments[i - 1];
+ return aa(u) || 'function' != typeof u[s]
+ ? o.apply(this, arguments)
+ : u[s].apply(u, Array.prototype.slice.call(arguments, 0, i - 1));
+ };
+ }
+ var Aa = _curry3(
+ _checkForMethod('slice', function slice(s, o, i) {
+ return Array.prototype.slice.call(i, s, o);
+ })
+ );
+ const ja = Aa;
+ const Ia = _curry1(_checkForMethod('tail', ja(1, 1 / 0)));
+ function pipe() {
+ if (0 === arguments.length) throw new Error('pipe requires at least one argument');
+ return _arity(arguments[0].length, Ca(_pipe, arguments[0], Ia(arguments)));
+ }
+ const Na = _curry2(function defaultTo(s, o) {
+ return null == o || o != o ? s : o;
+ });
+ const Da = _curry2(function prop(s, o) {
+ if (null != o) return Yo(s) ? _nth(s, o) : o[s];
+ });
+ const La = _curry3(function propOr(s, o, i) {
+ return Na(s, Da(o, i));
+ });
+ var Ba = _curry1(function (s) {
+ return _nth(-1, s);
+ });
+ const Fa = Ba;
+ function _curryN(s, o, i) {
+ return function () {
+ for (var u = [], _ = 0, w = s, x = 0, C = !1; x < o.length || _ < arguments.length; ) {
+ var j;
+ x < o.length && (!_isPlaceholder(o[x]) || _ >= arguments.length)
+ ? (j = o[x])
+ : ((j = arguments[_]), (_ += 1)),
+ (u[x] = j),
+ _isPlaceholder(j) ? (C = !0) : (w -= 1),
+ (x += 1);
+ }
+ return !C && w <= 0 ? i.apply(this, u) : _arity(Math.max(0, w), _curryN(s, u, i));
+ };
+ }
+ var $a = _curry2(function curryN(s, o) {
+ return 1 === s ? _curry1(o) : _arity(s, _curryN(s, [], o));
+ });
+ const za = $a;
+ var Ha = _curry1(function curry(s) {
+ return za(s.length, s);
+ });
+ const Ja = Ha;
+ function _isFunction(s) {
+ var o = Object.prototype.toString.call(s);
+ return (
+ '[object Function]' === o ||
+ '[object AsyncFunction]' === o ||
+ '[object GeneratorFunction]' === o ||
+ '[object AsyncGeneratorFunction]' === o
+ );
+ }
+ const Ga = _curry2(function invoker(s, o) {
+ return za(s + 1, function () {
+ var i = arguments[s];
+ if (null != i && _isFunction(i[o]))
+ return i[o].apply(i, Array.prototype.slice.call(arguments, 0, s));
+ throw new TypeError(ma(i) + ' does not have a method named "' + o + '"');
+ });
+ });
+ const tl = Ga(1, 'split');
+ function dropLastWhile(s, o) {
+ for (var i = o.length - 1; i >= 0 && s(o[i]); ) i -= 1;
+ return ja(0, i + 1, o);
+ }
+ var sl = (function () {
+ function XDropLastWhile(s, o) {
+ (this.f = s), (this.retained = []), (this.xf = o);
+ }
+ return (
+ (XDropLastWhile.prototype['@@transducer/init'] = _xfBase_init),
+ (XDropLastWhile.prototype['@@transducer/result'] = function (s) {
+ return (this.retained = null), this.xf['@@transducer/result'](s);
+ }),
+ (XDropLastWhile.prototype['@@transducer/step'] = function (s, o) {
+ return this.f(o) ? this.retain(s, o) : this.flush(s, o);
+ }),
+ (XDropLastWhile.prototype.flush = function (s, o) {
+ return (
+ (s = wa(this.xf, s, this.retained)),
+ (this.retained = []),
+ this.xf['@@transducer/step'](s, o)
+ );
+ }),
+ (XDropLastWhile.prototype.retain = function (s, o) {
+ return this.retained.push(o), s;
+ }),
+ XDropLastWhile
+ );
+ })();
+ function _xdropLastWhile(s) {
+ return function (o) {
+ return new sl(s, o);
+ };
+ }
+ const ul = _curry2(_dispatchable([], _xdropLastWhile, dropLastWhile));
+ const yl = Ga(1, 'join');
+ var vl = _curry1(function flip(s) {
+ return za(s.length, function (o, i) {
+ var u = Array.prototype.slice.call(arguments, 0);
+ return (u[0] = i), (u[1] = o), s.apply(this, u);
+ });
+ });
+ const _l = vl(_curry2(_includes));
+ const El = Ja(function (s, o) {
+ return pipe(tl(''), ul(_l(s)), yl(''))(o);
+ });
+ function _iterableReduce(s, o, i) {
+ for (var u = i.next(); !u.done; ) (o = s(o, u.value)), (u = i.next());
+ return o;
+ }
+ function _methodReduce(s, o, i, u) {
+ return i[u](s, o);
+ }
+ const wl = _createReduce(_arrayReduce, _methodReduce, _iterableReduce);
+ var Sl = (function () {
+ function XMap(s, o) {
+ (this.xf = o), (this.f = s);
+ }
+ return (
+ (XMap.prototype['@@transducer/init'] = _xfBase_init),
+ (XMap.prototype['@@transducer/result'] = _xfBase_result),
+ (XMap.prototype['@@transducer/step'] = function (s, o) {
+ return this.xf['@@transducer/step'](s, this.f(o));
+ }),
+ XMap
+ );
+ })();
+ var xl = _curry2(
+ _dispatchable(
+ ['fantasy-land/map', 'map'],
+ function _xmap(s) {
+ return function (o) {
+ return new Sl(s, o);
+ };
+ },
+ function map(s, o) {
+ switch (Object.prototype.toString.call(o)) {
+ case '[object Function]':
+ return za(o.length, function () {
+ return s.call(this, o.apply(this, arguments));
+ });
+ case '[object Object]':
+ return _arrayReduce(
+ function (i, u) {
+ return (i[u] = s(o[u])), i;
+ },
+ {},
+ Wi(o)
+ );
+ default:
+ return _map(s, o);
+ }
+ }
+ )
+ );
+ const kl = xl;
+ const Cl = _curry2(function ap(s, o) {
+ return 'function' == typeof o['fantasy-land/ap']
+ ? o['fantasy-land/ap'](s)
+ : 'function' == typeof s.ap
+ ? s.ap(o)
+ : 'function' == typeof s
+ ? function (i) {
+ return s(i)(o(i));
+ }
+ : wl(
+ function (s, i) {
+ return (function _concat(s, o) {
+ var i;
+ o = o || [];
+ var u = (s = s || []).length,
+ _ = o.length,
+ w = [];
+ for (i = 0; i < u; ) (w[w.length] = s[i]), (i += 1);
+ for (i = 0; i < _; ) (w[w.length] = o[i]), (i += 1);
+ return w;
+ })(s, kl(i, o));
+ },
+ [],
+ s
+ );
+ });
+ var Ol = _curry2(function liftN(s, o) {
+ var i = za(s, o);
+ return za(s, function () {
+ return _arrayReduce(Cl, kl(i, arguments[0]), Array.prototype.slice.call(arguments, 1));
+ });
+ });
+ const Al = Ol;
+ var Il = _curry1(function lift(s) {
+ return Al(s.length, s);
+ });
+ const Pl = Il;
+ const Ml = Pl(
+ _curry1(function not(s) {
+ return !s;
+ })
+ );
+ const Tl = _curry1(function always(s) {
+ return function () {
+ return s;
+ };
+ });
+ const Nl = Tl(void 0);
+ const Rl = ra(Nl());
+ const Dl = Ml(Rl);
+ const Ll = _curry2(function max(s, o) {
+ if (s === o) return o;
+ function safeMax(s, o) {
+ if (s > o != o > s) return o > s ? o : s;
+ }
+ var i = safeMax(s, o);
+ if (void 0 !== i) return i;
+ var u = safeMax(typeof s, typeof o);
+ if (void 0 !== u) return u === typeof s ? s : o;
+ var _ = ma(s),
+ w = safeMax(_, ma(o));
+ return void 0 !== w && w === _ ? s : o;
+ });
+ var Bl = _curry2(function pluck(s, o) {
+ return kl(Da(s), o);
+ });
+ const Fl = Bl;
+ const $l = _curry1(function anyPass(s) {
+ return za(Ca(Ll, 0, Fl('length', s)), function () {
+ for (var o = 0, i = s.length; o < i; ) {
+ if (s[o].apply(this, arguments)) return !0;
+ o += 1;
+ }
+ return !1;
+ });
+ });
+ var identical = function (s, o) {
+ switch (arguments.length) {
+ case 0:
+ return identical;
+ case 1:
+ return function unaryIdentical(o) {
+ return 0 === arguments.length ? unaryIdentical : Zo(s, o);
+ };
+ default:
+ return Zo(s, o);
+ }
+ };
+ const Vl = identical;
+ const Ul = za(1, pipe(ea, Vl('GeneratorFunction')));
+ const zl = za(1, pipe(ea, Vl('AsyncFunction')));
+ const Wl = $l([pipe(ea, Vl('Function')), Ul, zl]);
+ var Kl = _curry3(function replace(s, o, i) {
+ return i.replace(s, o);
+ });
+ const Hl = Kl;
+ const Jl = za(1, pipe(ea, Vl('RegExp')));
+ const Gl = _curry3(function when(s, o, i) {
+ return s(i) ? o(i) : i;
+ });
+ const Yl = za(1, pipe(ea, Vl('String')));
+ const Xl = Gl(Yl, Hl(/[.*+?^${}()|[\]\\-]/g, '\\$&'));
+ var Zl = function checkValue(s, o) {
+ if ('string' != typeof s && !(s instanceof String))
+ throw TypeError('`'.concat(o, '` must be a string'));
+ };
+ const Ql = function replaceAll(s, o, i) {
+ !(function checkArguments(s, o, i) {
+ if (null == i || null == s || null == o)
+ throw TypeError('Input values must not be `null` or `undefined`');
+ })(s, o, i),
+ Zl(i, 'str'),
+ Zl(o, 'replaceValue'),
+ (function checkSearchValue(s) {
+ if (!('string' == typeof s || s instanceof String || s instanceof RegExp))
+ throw TypeError('`searchValue` must be a string or an regexp');
+ })(s);
+ var u = new RegExp(Jl(s) ? s : Xl(s), 'g');
+ return Hl(u, o, i);
+ };
+ var ec = za(3, Ql),
+ rc = Ga(2, 'replaceAll');
+ const sc = Wl(String.prototype.replaceAll) ? rc : ec,
+ isWindows = () => Xo(ya(/^win/), ['platform'], Go),
+ getProtocol = (s) => {
+ try {
+ const o = new URL(s);
+ return El(':', o.protocol);
+ } catch {
+ return;
+ }
+ },
+ oc =
+ (pipe(getProtocol, Dl),
+ (s) => {
+ if (Go.browser) return !1;
+ const o = getProtocol(s);
+ return Rl(o) || 'file' === o || /^[a-zA-Z]$/.test(o);
+ }),
+ isHttpUrl = (s) => {
+ const o = getProtocol(s);
+ return 'http' === o || 'https' === o;
+ },
+ toFileSystemPath = (s, o) => {
+ const i = [/%23/g, '#', /%24/g, '$', /%26/g, '&', /%2C/g, ',', /%40/g, '@'],
+ u = La(!1, 'keepFileProtocol', o),
+ _ = La(isWindows, 'isWindows', o);
+ let w = decodeURI(s);
+ for (let s = 0; s < i.length; s += 2) w = w.replace(i[s], i[s + 1]);
+ let x = 'file://' === w.substring(0, 7).toLowerCase();
+ return (
+ x &&
+ ((w = '/' === w[7] ? w.substring(8) : w.substring(7)),
+ _() && '/' === w[1] && (w = `${w[0]}:${w.substring(1)}`),
+ u ? (w = `file:///${w}`) : ((x = !1), (w = _() ? w : `/${w}`))),
+ _() &&
+ !x &&
+ ((w = sc('/', '\\', w)),
+ ':\\' === w.substring(1, 3) && (w = w[0].toUpperCase() + w.substring(1))),
+ w
+ );
+ },
+ getHash = (s) => {
+ const o = s.indexOf('#');
+ return -1 !== o ? s.substring(o) : '#';
+ },
+ stripHash = (s) => {
+ const o = s.indexOf('#');
+ let i = s;
+ return o >= 0 && (i = s.substring(0, o)), i;
+ },
+ url_cwd = () => {
+ if (Go.browser) return stripHash(globalThis.location.href);
+ const s = Go.cwd(),
+ o = Fa(s);
+ return ['/', '\\'].includes(o) ? s : s + (isWindows() ? '\\' : '/');
+ },
+ resolve = (s, o) => {
+ const i = new URL(o, new URL(s, 'resolve://'));
+ if ('resolve:' === i.protocol) {
+ const { pathname: s, search: o, hash: u } = i;
+ return s + o + u;
+ }
+ return i.toString();
+ },
+ sanitize = (s) => {
+ if (oc(s))
+ return ((s) => {
+ const o = [/\?/g, '%3F', /#/g, '%23'];
+ let i = s;
+ isWindows() && (i = i.replace(/\\/g, '/')), (i = encodeURI(i));
+ for (let s = 0; s < o.length; s += 2) i = i.replace(o[s], o[s + 1]);
+ return i;
+ })(toFileSystemPath(s));
+ try {
+ return new URL(s).toString();
+ } catch {
+ return encodeURI(decodeURI(s)).replace(/%5B/g, '[').replace(/%5D/g, ']');
+ }
+ },
+ unsanitize = (s) => (oc(s) ? toFileSystemPath(s) : decodeURI(s)),
+ {
+ fetch: ic,
+ Response: ac,
+ Headers: lc,
+ Request: cc,
+ FormData: pc,
+ File: hc,
+ Blob: dc
+ } = globalThis;
+ function _array_like_to_array(s, o) {
+ (null == o || o > s.length) && (o = s.length);
+ for (var i = 0, u = new Array(o); i < o; i++) u[i] = s[i];
+ return u;
+ }
+ function legacy_defineProperties(s, o) {
+ for (var i = 0; i < o.length; i++) {
+ var u = o[i];
+ (u.enumerable = u.enumerable || !1),
+ (u.configurable = !0),
+ 'value' in u && (u.writable = !0),
+ Object.defineProperty(s, u.key, u);
+ }
+ }
+ function _instanceof(s, o) {
+ return null != o && 'undefined' != typeof Symbol && o[Symbol.hasInstance]
+ ? !!o[Symbol.hasInstance](s)
+ : s instanceof o;
+ }
+ function _sliced_to_array(s, o) {
+ return (
+ (function _array_with_holes(s) {
+ if (Array.isArray(s)) return s;
+ })(s) ||
+ (function _iterable_to_array_limit(s, o) {
+ var i =
+ null == s
+ ? null
+ : ('undefined' != typeof Symbol && s[Symbol.iterator]) || s['@@iterator'];
+ if (null != i) {
+ var u,
+ _,
+ w = [],
+ x = !0,
+ C = !1;
+ try {
+ for (
+ i = i.call(s);
+ !(x = (u = i.next()).done) && (w.push(u.value), !o || w.length !== o);
+ x = !0
+ );
+ } catch (s) {
+ (C = !0), (_ = s);
+ } finally {
+ try {
+ x || null == i.return || i.return();
+ } finally {
+ if (C) throw _;
+ }
+ }
+ return w;
+ }
+ })(s, o) ||
+ (function _unsupported_iterable_to_array(s, o) {
+ if (!s) return;
+ if ('string' == typeof s) return _array_like_to_array(s, o);
+ var i = Object.prototype.toString.call(s).slice(8, -1);
+ 'Object' === i && s.constructor && (i = s.constructor.name);
+ if ('Map' === i || 'Set' === i) return Array.from(i);
+ if ('Arguments' === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))
+ return _array_like_to_array(s, o);
+ })(s, o) ||
+ (function _non_iterable_rest() {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
+ );
+ })()
+ );
+ }
+ function _type_of(s) {
+ return s && 'undefined' != typeof Symbol && s.constructor === Symbol
+ ? 'symbol'
+ : typeof s;
+ }
+ void 0 === globalThis.fetch && (globalThis.fetch = ic),
+ void 0 === globalThis.Headers && (globalThis.Headers = lc),
+ void 0 === globalThis.Request && (globalThis.Request = cc),
+ void 0 === globalThis.Response && (globalThis.Response = ac),
+ void 0 === globalThis.FormData && (globalThis.FormData = pc),
+ void 0 === globalThis.File && (globalThis.File = hc),
+ void 0 === globalThis.Blob && (globalThis.Blob = dc);
+ var __typeError = function (s) {
+ throw TypeError(s);
+ },
+ __accessCheck = function (s, o, i) {
+ return o.has(s) || __typeError('Cannot ' + i);
+ },
+ __privateGet = function (s, o, i) {
+ return __accessCheck(s, o, 'read from private field'), i ? i.call(s) : o.get(s);
+ },
+ __privateAdd = function (s, o, i) {
+ return o.has(s)
+ ? __typeError('Cannot add the same private member more than once')
+ : _instanceof(o, WeakSet)
+ ? o.add(s)
+ : o.set(s, i);
+ },
+ __privateSet = function (s, o, i, u) {
+ return __accessCheck(s, o, 'write to private field'), u ? u.call(s, i) : o.set(s, i), i;
+ },
+ to_string = function (s) {
+ return Object.prototype.toString.call(s);
+ },
+ is_typed_array = function (s) {
+ return ArrayBuffer.isView(s) && !_instanceof(s, DataView);
+ },
+ fc = Array.isArray,
+ gc = Object.getOwnPropertyDescriptor,
+ bc = Object.prototype.propertyIsEnumerable,
+ _c = Object.getOwnPropertySymbols,
+ Ec = Object.prototype.hasOwnProperty;
+ function own_enumerable_keys(s) {
+ for (var o = Object.keys(s), i = _c(s), u = 0; u < i.length; u++)
+ bc.call(s, i[u]) && o.push(i[u]);
+ return o;
+ }
+ function is_writable(s, o) {
+ var i;
+ return !(null === (i = gc(s, o)) || void 0 === i ? void 0 : i.writable);
+ }
+ function legacy_copy(s, o) {
+ if ('object' === (void 0 === s ? 'undefined' : _type_of(s)) && null !== s) {
+ var i;
+ if (fc(s)) i = [];
+ else if ('[object Date]' === to_string(s)) i = new Date(s.getTime ? s.getTime() : s);
+ else if (
+ (function (s) {
+ return '[object RegExp]' === to_string(s);
+ })(s)
+ )
+ i = new RegExp(s);
+ else if (
+ (function (s) {
+ return '[object Error]' === to_string(s);
+ })(s)
+ )
+ i = { message: s.message };
+ else if (
+ (function (s) {
+ return '[object Boolean]' === to_string(s);
+ })(s) ||
+ (function (s) {
+ return '[object Number]' === to_string(s);
+ })(s) ||
+ (function (s) {
+ return '[object String]' === to_string(s);
+ })(s)
+ )
+ i = Object(s);
+ else {
+ if (is_typed_array(s)) return s.slice();
+ i = Object.create(Object.getPrototypeOf(s));
+ }
+ var u = o.includeSymbols ? own_enumerable_keys : Object.keys,
+ _ = !0,
+ w = !1,
+ x = void 0;
+ try {
+ for (var C, j = u(s)[Symbol.iterator](); !(_ = (C = j.next()).done); _ = !0) {
+ var L = C.value;
+ i[L] = s[L];
+ }
+ } catch (s) {
+ (w = !0), (x = s);
+ } finally {
+ try {
+ _ || null == j.return || j.return();
+ } finally {
+ if (w) throw x;
+ }
+ }
+ return i;
+ }
+ return s;
+ }
+ var kc,
+ Oc,
+ jc = { includeSymbols: !1, immutable: !1 };
+ function walk(s, o) {
+ var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : jc,
+ u = [],
+ _ = [],
+ w = !0,
+ x = i.includeSymbols ? own_enumerable_keys : Object.keys,
+ C = !!i.immutable;
+ return (function walker(s) {
+ var j = C ? legacy_copy(s, i) : s,
+ L = {},
+ B = !0,
+ $ = {
+ node: j,
+ node_: s,
+ path: [].concat(u),
+ parent: _[_.length - 1],
+ parents: _,
+ key: u[u.length - 1],
+ isRoot: 0 === u.length,
+ level: u.length,
+ circular: void 0,
+ isLeaf: !1,
+ notLeaf: !0,
+ notRoot: !0,
+ isFirst: !1,
+ isLast: !1,
+ update: function update(s) {
+ var o = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
+ $.isRoot || ($.parent.node[$.key] = s), ($.node = s), o && (B = !1);
+ },
+ delete: function _delete(s) {
+ delete $.parent.node[$.key], s && (B = !1);
+ },
+ remove: function remove(s) {
+ fc($.parent.node) ? $.parent.node.splice($.key, 1) : delete $.parent.node[$.key],
+ s && (B = !1);
+ },
+ keys: null,
+ before: function before(s) {
+ L.before = s;
+ },
+ after: function after(s) {
+ L.after = s;
+ },
+ pre: function pre(s) {
+ L.pre = s;
+ },
+ post: function post(s) {
+ L.post = s;
+ },
+ stop: function stop() {
+ w = !1;
+ },
+ block: function block() {
+ B = !1;
+ }
+ };
+ if (!w) return $;
+ function update_state() {
+ if ('object' === _type_of($.node) && null !== $.node) {
+ ($.keys && $.node_ === $.node) || ($.keys = x($.node)),
+ ($.isLeaf = 0 === $.keys.length);
+ for (var o = 0; o < _.length; o++)
+ if (_[o].node_ === s) {
+ $.circular = _[o];
+ break;
+ }
+ } else ($.isLeaf = !0), ($.keys = null);
+ ($.notLeaf = !$.isLeaf), ($.notRoot = !$.isRoot);
+ }
+ update_state();
+ var V = o.call($, $.node);
+ if ((void 0 !== V && $.update && $.update(V), L.before && L.before.call($, $.node), !B))
+ return $;
+ if ('object' === _type_of($.node) && null !== $.node && !$.circular) {
+ var U;
+ _.push($), update_state();
+ var z = !0,
+ Y = !1,
+ Z = void 0;
+ try {
+ for (
+ var ee,
+ ie = Object.entries(null !== (U = $.keys) && void 0 !== U ? U : [])[
+ Symbol.iterator
+ ]();
+ !(z = (ee = ie.next()).done);
+ z = !0
+ ) {
+ var ae,
+ le = _sliced_to_array(ee.value, 2),
+ ce = le[0],
+ pe = le[1];
+ u.push(pe), L.pre && L.pre.call($, $.node[pe], pe);
+ var de = walker($.node[pe]);
+ C && Ec.call($.node, pe) && !is_writable($.node, pe) && ($.node[pe] = de.node),
+ (de.isLast =
+ !!(null === (ae = $.keys) || void 0 === ae ? void 0 : ae.length) &&
+ +ce == $.keys.length - 1),
+ (de.isFirst = 0 == +ce),
+ L.post && L.post.call($, de),
+ u.pop();
+ }
+ } catch (s) {
+ (Y = !0), (Z = s);
+ } finally {
+ try {
+ z || null == ie.return || ie.return();
+ } finally {
+ if (Y) throw Z;
+ }
+ }
+ _.pop();
+ }
+ return L.after && L.after.call($, $.node), $;
+ })(s).node;
+ }
+ var Ic = (function () {
+ function Traverse(s) {
+ var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : jc;
+ !(function _class_call_check(s, o) {
+ if (!(s instanceof o)) throw new TypeError('Cannot call a class as a function');
+ })(this, Traverse),
+ __privateAdd(this, kc),
+ __privateAdd(this, Oc),
+ __privateSet(this, kc, s),
+ __privateSet(this, Oc, o);
+ }
+ return (
+ (function _create_class(s, o, i) {
+ return (
+ o && legacy_defineProperties(s.prototype, o), i && legacy_defineProperties(s, i), s
+ );
+ })(Traverse, [
+ {
+ key: 'get',
+ value: function get(s) {
+ for (var o = __privateGet(this, kc), i = 0; o && i < s.length; i++) {
+ var u = s[i];
+ if (
+ !Ec.call(o, u) ||
+ (!__privateGet(this, Oc).includeSymbols &&
+ 'symbol' === (void 0 === u ? 'undefined' : _type_of(u)))
+ )
+ return;
+ o = o[u];
+ }
+ return o;
+ }
+ },
+ {
+ key: 'has',
+ value: function has(s) {
+ for (var o = __privateGet(this, kc), i = 0; o && i < s.length; i++) {
+ var u = s[i];
+ if (
+ !Ec.call(o, u) ||
+ (!__privateGet(this, Oc).includeSymbols &&
+ 'symbol' === (void 0 === u ? 'undefined' : _type_of(u)))
+ )
+ return !1;
+ o = o[u];
+ }
+ return !0;
+ }
+ },
+ {
+ key: 'set',
+ value: function set(s, o) {
+ var i = __privateGet(this, kc),
+ u = 0;
+ for (u = 0; u < s.length - 1; u++) {
+ var _ = s[u];
+ Ec.call(i, _) || (i[_] = {}), (i = i[_]);
+ }
+ return (i[s[u]] = o), o;
+ }
+ },
+ {
+ key: 'map',
+ value: function map(s) {
+ return walk(__privateGet(this, kc), s, {
+ immutable: !0,
+ includeSymbols: !!__privateGet(this, Oc).includeSymbols
+ });
+ }
+ },
+ {
+ key: 'forEach',
+ value: function forEach(s) {
+ return (
+ __privateSet(this, kc, walk(__privateGet(this, kc), s, __privateGet(this, Oc))),
+ __privateGet(this, kc)
+ );
+ }
+ },
+ {
+ key: 'reduce',
+ value: function reduce(s, o) {
+ var i = 1 === arguments.length,
+ u = i ? __privateGet(this, kc) : o;
+ return (
+ this.forEach(function (o) {
+ (this.isRoot && i) || (u = s.call(this, u, o));
+ }),
+ u
+ );
+ }
+ },
+ {
+ key: 'paths',
+ value: function paths() {
+ var s = [];
+ return (
+ this.forEach(function () {
+ s.push(this.path);
+ }),
+ s
+ );
+ }
+ },
+ {
+ key: 'nodes',
+ value: function nodes() {
+ var s = [];
+ return (
+ this.forEach(function () {
+ s.push(this.node);
+ }),
+ s
+ );
+ }
+ },
+ {
+ key: 'clone',
+ value: function clone() {
+ var s = [],
+ o = [],
+ i = __privateGet(this, Oc);
+ return is_typed_array(__privateGet(this, kc))
+ ? __privateGet(this, kc).slice()
+ : (function clone(u) {
+ for (var _ = 0; _ < s.length; _++) if (s[_] === u) return o[_];
+ if ('object' === (void 0 === u ? 'undefined' : _type_of(u)) && null !== u) {
+ var w = legacy_copy(u, i);
+ s.push(u), o.push(w);
+ var x = i.includeSymbols ? own_enumerable_keys : Object.keys,
+ C = !0,
+ j = !1,
+ L = void 0;
+ try {
+ for (
+ var B, $ = x(u)[Symbol.iterator]();
+ !(C = (B = $.next()).done);
+ C = !0
+ ) {
+ var V = B.value;
+ w[V] = clone(u[V]);
+ }
+ } catch (s) {
+ (j = !0), (L = s);
+ } finally {
+ try {
+ C || null == $.return || $.return();
+ } finally {
+ if (j) throw L;
+ }
+ }
+ return s.pop(), o.pop(), w;
+ }
+ return u;
+ })(__privateGet(this, kc));
+ }
+ }
+ ]),
+ Traverse
+ );
+ })();
+ (kc = new WeakMap()), (Oc = new WeakMap());
+ var traverse = function (s, o) {
+ return new Ic(s, o);
+ };
+ (traverse.get = function (s, o, i) {
+ return new Ic(s, i).get(o);
+ }),
+ (traverse.set = function (s, o, i, u) {
+ return new Ic(s, u).set(o, i);
+ }),
+ (traverse.has = function (s, o, i) {
+ return new Ic(s, i).has(o);
+ }),
+ (traverse.map = function (s, o, i) {
+ return new Ic(s, i).map(o);
+ }),
+ (traverse.forEach = function (s, o, i) {
+ return new Ic(s, i).forEach(o);
+ }),
+ (traverse.reduce = function (s, o, i, u) {
+ return new Ic(s, u).reduce(o, i);
+ }),
+ (traverse.paths = function (s, o) {
+ return new Ic(s, o).paths();
+ }),
+ (traverse.nodes = function (s, o) {
+ return new Ic(s, o).nodes();
+ }),
+ (traverse.clone = function (s, o) {
+ return new Ic(s, o).clone();
+ });
+ var Pc = traverse;
+ const Mc = 'application/json, application/yaml',
+ Nc = 'https://swagger.io',
+ Rc = Object.freeze({ url: '/' }),
+ Lc = ['properties'],
+ Fc = ['properties'],
+ qc = [
+ 'definitions',
+ 'parameters',
+ 'responses',
+ 'securityDefinitions',
+ 'components/schemas',
+ 'components/responses',
+ 'components/parameters',
+ 'components/securitySchemes'
+ ],
+ Kc = ['schema/example', 'items/example'];
+ function isFreelyNamed(s) {
+ const o = s[s.length - 1],
+ i = s[s.length - 2],
+ u = s.join('/');
+ return (
+ (Lc.indexOf(o) > -1 && -1 === Fc.indexOf(i)) ||
+ qc.indexOf(u) > -1 ||
+ Kc.some((s) => u.indexOf(s) > -1)
+ );
+ }
+ function absolutifyPointer(s, o) {
+ const [i, u] = s.split('#'),
+ _ = null != o ? o : '',
+ w = null != i ? i : '';
+ let x;
+ if (isHttpUrl(_)) x = resolve(_, w);
+ else {
+ const s = resolve(Nc, _),
+ o = resolve(s, w).replace(Nc, '');
+ x = w.startsWith('/') ? o : o.substring(1);
+ }
+ return u ? `${x}#${u}` : x;
+ }
+ const Hc = /^([a-z]+:\/\/|\/\/)/i;
+ class JSONRefError extends Jo {}
+ const Jc = {},
+ Gc = new WeakMap(),
+ Qc = [
+ (s) => 'paths' === s[0] && 'responses' === s[3] && 'examples' === s[5],
+ (s) =>
+ 'paths' === s[0] && 'responses' === s[3] && 'content' === s[5] && 'example' === s[7],
+ (s) =>
+ 'paths' === s[0] &&
+ 'responses' === s[3] &&
+ 'content' === s[5] &&
+ 'examples' === s[7] &&
+ 'value' === s[9],
+ (s) =>
+ 'paths' === s[0] &&
+ 'requestBody' === s[3] &&
+ 'content' === s[4] &&
+ 'example' === s[6],
+ (s) =>
+ 'paths' === s[0] &&
+ 'requestBody' === s[3] &&
+ 'content' === s[4] &&
+ 'examples' === s[6] &&
+ 'value' === s[8],
+ (s) => 'paths' === s[0] && 'parameters' === s[2] && 'example' === s[4],
+ (s) => 'paths' === s[0] && 'parameters' === s[3] && 'example' === s[5],
+ (s) =>
+ 'paths' === s[0] && 'parameters' === s[2] && 'examples' === s[4] && 'value' === s[6],
+ (s) =>
+ 'paths' === s[0] && 'parameters' === s[3] && 'examples' === s[5] && 'value' === s[7],
+ (s) =>
+ 'paths' === s[0] && 'parameters' === s[2] && 'content' === s[4] && 'example' === s[6],
+ (s) =>
+ 'paths' === s[0] &&
+ 'parameters' === s[2] &&
+ 'content' === s[4] &&
+ 'examples' === s[6] &&
+ 'value' === s[8],
+ (s) =>
+ 'paths' === s[0] && 'parameters' === s[3] && 'content' === s[4] && 'example' === s[7],
+ (s) =>
+ 'paths' === s[0] &&
+ 'parameters' === s[3] &&
+ 'content' === s[5] &&
+ 'examples' === s[7] &&
+ 'value' === s[9]
+ ],
+ eu = {
+ key: '$ref',
+ plugin: (s, o, i, u) => {
+ const _ = u.getInstance(),
+ w = i.slice(0, -1);
+ if (isFreelyNamed(w) || ((s) => Qc.some((o) => o(s)))(w)) return;
+ const { baseDoc: x } = u.getContext(i);
+ if ('string' != typeof s)
+ return new JSONRefError('$ref: must be a string (JSON-Ref)', {
+ $ref: s,
+ baseDoc: x,
+ fullPath: i
+ });
+ const C = refs_split(s),
+ j = C[0],
+ L = C[1] || '';
+ let B, $, V;
+ try {
+ B = x || j ? absoluteify(j, x) : null;
+ } catch (o) {
+ return wrapError(o, { pointer: L, $ref: s, basePath: B, fullPath: i });
+ }
+ if (
+ (function pointerAlreadyInPath(s, o, i, u) {
+ let _ = Gc.get(u);
+ _ || ((_ = {}), Gc.set(u, _));
+ const w = (function arrayToJsonPointer(s) {
+ if (0 === s.length) return '';
+ return `/${s.map(escapeJsonPointerToken).join('/')}`;
+ })(i),
+ x = `${o || ''}#${s}`,
+ C = w.replace(/allOf\/\d+\/?/g, ''),
+ j = u.contextTree.get([]).baseDoc;
+ if (o === j && pointerIsAParent(C, s)) return !0;
+ let L = '';
+ const B = i.some(
+ (s) => (
+ (L = `${L}/${escapeJsonPointerToken(s)}`),
+ _[L] && _[L].some((s) => pointerIsAParent(s, x) || pointerIsAParent(x, s))
+ )
+ );
+ if (B) return !0;
+ return void (_[C] = (_[C] || []).concat(x));
+ })(L, B, w, u) &&
+ !_.useCircularStructures
+ ) {
+ const o = absolutifyPointer(s, B);
+ return s === o ? null : zo.replace(i, o);
+ }
+ if (
+ (null == B
+ ? ((V = jsonPointerToArray(L)),
+ ($ = u.get(V)),
+ void 0 === $ &&
+ ($ = new JSONRefError(`Could not resolve reference: ${s}`, {
+ pointer: L,
+ $ref: s,
+ baseDoc: x,
+ fullPath: i
+ })))
+ : (($ = extractFromDoc(B, L)),
+ ($ =
+ null != $.__value
+ ? $.__value
+ : $.catch((o) => {
+ throw wrapError(o, { pointer: L, $ref: s, baseDoc: x, fullPath: i });
+ }))),
+ $ instanceof Error)
+ )
+ return [zo.remove(i), $];
+ const U = absolutifyPointer(s, B),
+ z = zo.replace(w, $, { $$ref: U });
+ if (B && B !== x) return [z, zo.context(w, { baseDoc: B })];
+ try {
+ if (
+ !(function patchValueAlreadyInPath(s, o) {
+ const i = [s];
+ return (
+ o.path.reduce((s, o) => (i.push(s[o]), s[o]), s), pointToAncestor(o.value)
+ );
+ function pointToAncestor(s) {
+ return (
+ zo.isObject(s) &&
+ (i.indexOf(s) >= 0 || Object.keys(s).some((o) => pointToAncestor(s[o])))
+ );
+ }
+ })(u.state, z) ||
+ _.useCircularStructures
+ )
+ return z;
+ } catch (s) {
+ return null;
+ }
+ }
+ },
+ tu = Object.assign(eu, {
+ docCache: Jc,
+ absoluteify,
+ clearCache: function clearCache(s) {
+ void 0 !== s
+ ? delete Jc[s]
+ : Object.keys(Jc).forEach((s) => {
+ delete Jc[s];
+ });
+ },
+ JSONRefError,
+ wrapError,
+ getDoc,
+ split: refs_split,
+ extractFromDoc,
+ fetchJSON: function fetchJSON(s) {
+ return fetch(s, { headers: { Accept: Mc }, loadSpec: !0 })
+ .then((s) => s.text())
+ .then((s) => mn.load(s));
+ },
+ extract,
+ jsonPointerToArray,
+ unescapeJsonPointerToken
+ }),
+ ru = tu;
+ function absoluteify(s, o) {
+ if (!Hc.test(s)) {
+ if (!o)
+ throw new JSONRefError(
+ `Tried to resolve a relative URL, without having a basePath. path: '${s}' basePath: '${o}'`
+ );
+ return resolve(o, s);
+ }
+ return s;
+ }
+ function wrapError(s, o) {
+ let i;
+ return (
+ (i =
+ s && s.response && s.response.body
+ ? `${s.response.body.code} ${s.response.body.message}`
+ : s.message),
+ new JSONRefError(`Could not resolve reference: ${i}`, { ...o, cause: s })
+ );
+ }
+ function refs_split(s) {
+ return (s + '').split('#');
+ }
+ function extractFromDoc(s, o) {
+ const i = Jc[s];
+ if (i && !zo.isPromise(i))
+ try {
+ const s = extract(o, i);
+ return Object.assign(Promise.resolve(s), { __value: s });
+ } catch (s) {
+ return Promise.reject(s);
+ }
+ return getDoc(s).then((s) => extract(o, s));
+ }
+ function getDoc(s) {
+ const o = Jc[s];
+ return o
+ ? zo.isPromise(o)
+ ? o
+ : Promise.resolve(o)
+ : ((Jc[s] = tu.fetchJSON(s).then((o) => ((Jc[s] = o), o))), Jc[s]);
+ }
+ function extract(s, o) {
+ const i = jsonPointerToArray(s);
+ if (i.length < 1) return o;
+ const u = zo.getIn(o, i);
+ if (void 0 === u)
+ throw new JSONRefError(`Could not resolve pointer: ${s} does not exist in document`, {
+ pointer: s
+ });
+ return u;
+ }
+ function jsonPointerToArray(s) {
+ if ('string' != typeof s) throw new TypeError('Expected a string, got a ' + typeof s);
+ return (
+ '/' === s[0] && (s = s.substr(1)),
+ '' === s ? [] : s.split('/').map(unescapeJsonPointerToken)
+ );
+ }
+ function unescapeJsonPointerToken(s) {
+ if ('string' != typeof s) return s;
+ return new URLSearchParams(`=${s.replace(/~1/g, '/').replace(/~0/g, '~')}`).get('');
+ }
+ function escapeJsonPointerToken(s) {
+ return new URLSearchParams([['', s.replace(/~/g, '~0').replace(/\//g, '~1')]])
+ .toString()
+ .slice(1);
+ }
+ const pointerBoundaryChar = (s) => !s || '/' === s || '#' === s;
+ function pointerIsAParent(s, o) {
+ if (pointerBoundaryChar(o)) return !0;
+ const i = s.charAt(o.length),
+ u = o.slice(-1);
+ return 0 === s.indexOf(o) && (!i || '/' === i || '#' === i) && '#' !== u;
+ }
+ const nu = {
+ key: 'allOf',
+ plugin: (s, o, i, u, _) => {
+ if (_.meta && _.meta.$$ref) return;
+ const w = i.slice(0, -1);
+ if (isFreelyNamed(w)) return;
+ if (!Array.isArray(s)) {
+ const s = new TypeError('allOf must be an array');
+ return (s.fullPath = i), s;
+ }
+ let x = !1,
+ C = _.value;
+ if (
+ (w.forEach((s) => {
+ C && (C = C[s]);
+ }),
+ (C = { ...C }),
+ 0 === Object.keys(C).length)
+ )
+ return;
+ delete C.allOf;
+ const j = [];
+ return (
+ j.push(u.replace(w, {})),
+ s.forEach((s, o) => {
+ if (!u.isObject(s)) {
+ if (x) return null;
+ x = !0;
+ const s = new TypeError('Elements in allOf must be objects');
+ return (s.fullPath = i), j.push(s);
+ }
+ j.push(u.mergeDeep(w, s));
+ const _ = (function generateAbsoluteRefPatches(
+ s,
+ o,
+ {
+ specmap: i,
+ getBaseUrlForNodePath: u = (s) => i.getContext([...o, ...s]).baseDoc,
+ targetKeys: _ = ['$ref', '$$ref']
+ } = {}
+ ) {
+ const w = [];
+ return (
+ Pc(s).forEach(function callback() {
+ if (_.includes(this.key) && 'string' == typeof this.node) {
+ const s = this.path,
+ _ = o.concat(this.path),
+ x = absolutifyPointer(this.node, u(s));
+ w.push(i.replace(_, x));
+ }
+ }),
+ w
+ );
+ })(s, i.slice(0, -1), {
+ getBaseUrlForNodePath: (s) => u.getContext([...i, o, ...s]).baseDoc,
+ specmap: u
+ });
+ j.push(..._);
+ }),
+ C.example && j.push(u.remove([].concat(w, 'example'))),
+ j.push(u.mergeDeep(w, C)),
+ C.$$ref || j.push(u.remove([].concat(w, '$$ref'))),
+ j
+ );
+ }
+ },
+ su = {
+ key: 'parameters',
+ plugin: (s, o, i, u) => {
+ if (Array.isArray(s) && s.length) {
+ const o = Object.assign([], s),
+ _ = i.slice(0, -1),
+ w = { ...zo.getIn(u.spec, _) };
+ for (let _ = 0; _ < s.length; _ += 1) {
+ const x = s[_];
+ try {
+ o[_].default = u.parameterMacro(w, x);
+ } catch (s) {
+ const o = new Error(s);
+ return (o.fullPath = i), o;
+ }
+ }
+ return zo.replace(i, o);
+ }
+ return zo.replace(i, s);
+ }
+ },
+ ou = {
+ key: 'properties',
+ plugin: (s, o, i, u) => {
+ const _ = { ...s };
+ for (const o in s)
+ try {
+ _[o].default = u.modelPropertyMacro(_[o]);
+ } catch (s) {
+ const o = new Error(s);
+ return (o.fullPath = i), o;
+ }
+ return zo.replace(i, _);
+ }
+ };
+ class ContextTree {
+ constructor(s) {
+ this.root = context_tree_createNode(s || {});
+ }
+ set(s, o) {
+ const i = this.getParent(s, !0);
+ if (!i) return void context_tree_updateNode(this.root, o, null);
+ const u = s[s.length - 1],
+ { children: _ } = i;
+ _[u] ? context_tree_updateNode(_[u], o, i) : (_[u] = context_tree_createNode(o, i));
+ }
+ get(s) {
+ if ((s = s || []).length < 1) return this.root.value;
+ let o,
+ i,
+ u = this.root;
+ for (let _ = 0; _ < s.length && ((i = s[_]), (o = u.children), o[i]); _ += 1) u = o[i];
+ return u && u.protoValue;
+ }
+ getParent(s, o) {
+ return !s || s.length < 1
+ ? null
+ : s.length < 2
+ ? this.root
+ : s.slice(0, -1).reduce((s, i) => {
+ if (!s) return s;
+ const { children: u } = s;
+ return !u[i] && o && (u[i] = context_tree_createNode(null, s)), u[i];
+ }, this.root);
+ }
+ }
+ function context_tree_createNode(s, o) {
+ return context_tree_updateNode({ children: {} }, s, o);
+ }
+ function context_tree_updateNode(s, o, i) {
+ return (
+ (s.value = o || {}),
+ (s.protoValue = i ? { ...i.protoValue, ...s.value } : s.value),
+ Object.keys(s.children).forEach((o) => {
+ const i = s.children[o];
+ s.children[o] = context_tree_updateNode(i, i.value, s);
+ }),
+ s
+ );
+ }
+ const specmap_noop = () => {};
+ class SpecMap {
+ static getPluginName(s) {
+ return s.pluginName;
+ }
+ static getPatchesOfType(s, o) {
+ return s.filter(o);
+ }
+ constructor(s) {
+ Object.assign(
+ this,
+ {
+ spec: '',
+ debugLevel: 'info',
+ plugins: [],
+ pluginHistory: {},
+ errors: [],
+ mutations: [],
+ promisedPatches: [],
+ state: {},
+ patches: [],
+ context: {},
+ contextTree: new ContextTree(),
+ showDebug: !1,
+ allPatches: [],
+ pluginProp: 'specMap',
+ libMethods: Object.assign(Object.create(this), zo, { getInstance: () => this }),
+ allowMetaPatches: !1
+ },
+ s
+ ),
+ (this.get = this._get.bind(this)),
+ (this.getContext = this._getContext.bind(this)),
+ (this.hasRun = this._hasRun.bind(this)),
+ (this.wrappedPlugins = this.plugins
+ .map(this.wrapPlugin.bind(this))
+ .filter(zo.isFunction)),
+ this.patches.push(zo.add([], this.spec)),
+ this.patches.push(zo.context([], this.context)),
+ this.updatePatches(this.patches);
+ }
+ debug(s, ...o) {
+ this.debugLevel === s && console.log(...o);
+ }
+ verbose(s, ...o) {
+ 'verbose' === this.debugLevel && console.log(`[${s}] `, ...o);
+ }
+ wrapPlugin(s, o) {
+ const { pathDiscriminator: i } = this;
+ let u,
+ _ = null;
+ return (
+ s[this.pluginProp]
+ ? ((_ = s), (u = s[this.pluginProp]))
+ : zo.isFunction(s)
+ ? (u = s)
+ : zo.isObject(s) &&
+ (u = (function createKeyBasedPlugin(s) {
+ const isSubPath = (s, o) =>
+ !Array.isArray(s) || s.every((s, i) => s === o[i]);
+ return function* generator(o, u) {
+ const _ = {};
+ for (const [s, i] of o.filter(zo.isAdditiveMutation).entries()) {
+ if (!(s < 3e3)) return;
+ yield* traverse(i.value, i.path, i);
+ }
+ function* traverse(o, w, x) {
+ if (zo.isObject(o)) {
+ const C = w.length - 1,
+ j = w[C],
+ L = w.indexOf('properties'),
+ B = 'properties' === j && C === L,
+ $ = u.allowMetaPatches && _[o.$$ref];
+ for (const C of Object.keys(o)) {
+ const j = o[C],
+ L = w.concat(C),
+ V = zo.isObject(j),
+ U = o.$$ref;
+ if (
+ ($ ||
+ (V &&
+ (u.allowMetaPatches && U && (_[U] = !0),
+ yield* traverse(j, L, x))),
+ !B && C === s.key)
+ ) {
+ const o = isSubPath(i, w);
+ (i && !o) || (yield s.plugin(j, C, L, u, x));
+ }
+ }
+ } else s.key === w[w.length - 1] && (yield s.plugin(o, s.key, w, u));
+ }
+ };
+ })(s)),
+ Object.assign(u.bind(_), { pluginName: s.name || o, isGenerator: zo.isGenerator(u) })
+ );
+ }
+ nextPlugin() {
+ return this.wrappedPlugins.find((s) => this.getMutationsForPlugin(s).length > 0);
+ }
+ nextPromisedPatch() {
+ if (this.promisedPatches.length > 0)
+ return Promise.race(this.promisedPatches.map((s) => s.value));
+ }
+ getPluginHistory(s) {
+ const o = this.constructor.getPluginName(s);
+ return this.pluginHistory[o] || [];
+ }
+ getPluginRunCount(s) {
+ return this.getPluginHistory(s).length;
+ }
+ getPluginHistoryTip(s) {
+ const o = this.getPluginHistory(s);
+ return (o && o[o.length - 1]) || {};
+ }
+ getPluginMutationIndex(s) {
+ const o = this.getPluginHistoryTip(s).mutationIndex;
+ return 'number' != typeof o ? -1 : o;
+ }
+ updatePluginHistory(s, o) {
+ const i = this.constructor.getPluginName(s);
+ (this.pluginHistory[i] = this.pluginHistory[i] || []), this.pluginHistory[i].push(o);
+ }
+ updatePatches(s) {
+ zo.normalizeArray(s).forEach((s) => {
+ if (s instanceof Error) this.errors.push(s);
+ else
+ try {
+ if (!zo.isObject(s))
+ return void this.debug('updatePatches', 'Got a non-object patch', s);
+ if ((this.showDebug && this.allPatches.push(s), zo.isPromise(s.value)))
+ return this.promisedPatches.push(s), void this.promisedPatchThen(s);
+ if (zo.isContextPatch(s)) return void this.setContext(s.path, s.value);
+ zo.isMutation(s) && this.updateMutations(s);
+ } catch (s) {
+ console.error(s), this.errors.push(s);
+ }
+ });
+ }
+ updateMutations(s) {
+ 'object' == typeof s.value &&
+ !Array.isArray(s.value) &&
+ this.allowMetaPatches &&
+ (s.value = { ...s.value });
+ const o = zo.applyPatch(this.state, s, { allowMetaPatches: this.allowMetaPatches });
+ o && (this.mutations.push(s), (this.state = o));
+ }
+ removePromisedPatch(s) {
+ const o = this.promisedPatches.indexOf(s);
+ o < 0
+ ? this.debug("Tried to remove a promisedPatch that isn't there!")
+ : this.promisedPatches.splice(o, 1);
+ }
+ promisedPatchThen(s) {
+ return (
+ (s.value = s.value
+ .then((o) => {
+ const i = { ...s, value: o };
+ this.removePromisedPatch(s), this.updatePatches(i);
+ })
+ .catch((o) => {
+ this.removePromisedPatch(s), this.updatePatches(o);
+ })),
+ s.value
+ );
+ }
+ getMutations(s, o) {
+ return (
+ (s = s || 0),
+ 'number' != typeof o && (o = this.mutations.length),
+ this.mutations.slice(s, o)
+ );
+ }
+ getCurrentMutations() {
+ return this.getMutationsForPlugin(this.getCurrentPlugin());
+ }
+ getMutationsForPlugin(s) {
+ const o = this.getPluginMutationIndex(s);
+ return this.getMutations(o + 1);
+ }
+ getCurrentPlugin() {
+ return this.currentPlugin;
+ }
+ getLib() {
+ return this.libMethods;
+ }
+ _get(s) {
+ return zo.getIn(this.state, s);
+ }
+ _getContext(s) {
+ return this.contextTree.get(s);
+ }
+ setContext(s, o) {
+ return this.contextTree.set(s, o);
+ }
+ _hasRun(s) {
+ return this.getPluginRunCount(this.getCurrentPlugin()) > (s || 0);
+ }
+ dispatch() {
+ const s = this,
+ o = this.nextPlugin();
+ if (!o) {
+ const s = this.nextPromisedPatch();
+ if (s) return s.then(() => this.dispatch()).catch(() => this.dispatch());
+ const o = { spec: this.state, errors: this.errors };
+ return this.showDebug && (o.patches = this.allPatches), Promise.resolve(o);
+ }
+ if (
+ ((s.pluginCount = s.pluginCount || new WeakMap()),
+ s.pluginCount.set(o, (s.pluginCount.get(o) || 0) + 1),
+ s.pluginCount[o] > 100)
+ )
+ return Promise.resolve({
+ spec: s.state,
+ errors: s.errors.concat(new Error("We've reached a hard limit of 100 plugin runs"))
+ });
+ if (o !== this.currentPlugin && this.promisedPatches.length) {
+ const s = this.promisedPatches.map((s) => s.value);
+ return Promise.all(s.map((s) => s.then(specmap_noop, specmap_noop))).then(() =>
+ this.dispatch()
+ );
+ }
+ return (function executePlugin() {
+ s.currentPlugin = o;
+ const i = s.getCurrentMutations(),
+ u = s.mutations.length - 1;
+ try {
+ if (o.isGenerator) for (const u of o(i, s.getLib())) updatePatches(u);
+ else {
+ updatePatches(o(i, s.getLib()));
+ }
+ } catch (s) {
+ console.error(s), updatePatches([Object.assign(Object.create(s), { plugin: o })]);
+ } finally {
+ s.updatePluginHistory(o, { mutationIndex: u });
+ }
+ return s.dispatch();
+ })();
+ function updatePatches(i) {
+ i && ((i = zo.fullyNormalizeArray(i)), s.updatePatches(i, o));
+ }
+ }
+ }
+ const iu = { refs: ru, allOf: nu, parameters: su, properties: ou };
+ function makeFetchJSON(s, o = {}) {
+ const { requestInterceptor: i, responseInterceptor: u } = o,
+ _ = s.withCredentials ? 'include' : 'same-origin';
+ return (o) =>
+ s({
+ url: o,
+ loadSpec: !0,
+ requestInterceptor: i,
+ responseInterceptor: u,
+ headers: { Accept: Mc },
+ credentials: _
+ }).then((s) => s.body);
+ }
+ function isFile(s, o) {
+ return (
+ o || 'undefined' == typeof navigator || (o = navigator),
+ o && 'ReactNative' === o.product
+ ? !(!s || 'object' != typeof s || 'string' != typeof s.uri)
+ : ('undefined' != typeof File && s instanceof File) ||
+ ('undefined' != typeof Blob && s instanceof Blob) ||
+ !!ArrayBuffer.isView(s) ||
+ (null !== s && 'object' == typeof s && 'function' == typeof s.pipe)
+ );
+ }
+ function isArrayOfFile(s, o) {
+ return Array.isArray(s) && s.some((s) => isFile(s, o));
+ }
+ class FileWithData extends File {
+ constructor(s, o = '', i = {}) {
+ super([s], o, i), (this.data = s);
+ }
+ valueOf() {
+ return this.data;
+ }
+ toString() {
+ return this.valueOf();
+ }
+ }
+ const isRfc3986Reserved = (s) => ":/?#[]@!$&'()*+,;=".indexOf(s) > -1,
+ isRfc3986Unreserved = (s) => /^[a-z0-9\-._~]+$/i.test(s);
+ function encodeCharacters(s, o = 'reserved') {
+ return [...s]
+ .map((s) => {
+ if (isRfc3986Unreserved(s)) return s;
+ if (isRfc3986Reserved(s) && 'unsafe' === o) return s;
+ const i = new TextEncoder();
+ return Array.from(i.encode(s))
+ .map((s) => `0${s.toString(16).toUpperCase()}`.slice(-2))
+ .map((s) => `%${s}`)
+ .join('');
+ })
+ .join('');
+ }
+ function stylize(s) {
+ const { value: o } = s;
+ return Array.isArray(o)
+ ? (function encodeArray({ key: s, value: o, style: i, explode: u, escape: _ }) {
+ if ('simple' === i) return o.map((s) => valueEncoder(s, _)).join(',');
+ if ('label' === i) return `.${o.map((s) => valueEncoder(s, _)).join('.')}`;
+ if ('matrix' === i)
+ return o
+ .map((s) => valueEncoder(s, _))
+ .reduce((o, i) => (!o || u ? `${o || ''};${s}=${i}` : `${o},${i}`), '');
+ if ('form' === i) {
+ const i = u ? `&${s}=` : ',';
+ return o.map((s) => valueEncoder(s, _)).join(i);
+ }
+ if ('spaceDelimited' === i) {
+ const i = u ? `${s}=` : '';
+ return o.map((s) => valueEncoder(s, _)).join(` ${i}`);
+ }
+ if ('pipeDelimited' === i) {
+ const i = u ? `${s}=` : '';
+ return o.map((s) => valueEncoder(s, _)).join(`|${i}`);
+ }
+ return;
+ })(s)
+ : 'object' == typeof o
+ ? (function encodeObject({ key: s, value: o, style: i, explode: u, escape: _ }) {
+ const w = Object.keys(o);
+ if ('simple' === i)
+ return w.reduce((s, i) => {
+ const w = valueEncoder(o[i], _);
+ return `${s ? `${s},` : ''}${i}${u ? '=' : ','}${w}`;
+ }, '');
+ if ('label' === i)
+ return w.reduce((s, i) => {
+ const w = valueEncoder(o[i], _);
+ return `${s ? `${s}.` : '.'}${i}${u ? '=' : '.'}${w}`;
+ }, '');
+ if ('matrix' === i && u)
+ return w.reduce(
+ (s, i) => `${s ? `${s};` : ';'}${i}=${valueEncoder(o[i], _)}`,
+ ''
+ );
+ if ('matrix' === i)
+ return w.reduce((i, u) => {
+ const w = valueEncoder(o[u], _);
+ return `${i ? `${i},` : `;${s}=`}${u},${w}`;
+ }, '');
+ if ('form' === i)
+ return w.reduce((s, i) => {
+ const w = valueEncoder(o[i], _);
+ return `${s ? `${s}${u ? '&' : ','}` : ''}${i}${u ? '=' : ','}${w}`;
+ }, '');
+ return;
+ })(s)
+ : (function encodePrimitive({ key: s, value: o, style: i, escape: u }) {
+ if ('simple' === i) return valueEncoder(o, u);
+ if ('label' === i) return `.${valueEncoder(o, u)}`;
+ if ('matrix' === i) return `;${s}=${valueEncoder(o, u)}`;
+ if ('form' === i) return valueEncoder(o, u);
+ if ('deepObject' === i) return valueEncoder(o, u);
+ return;
+ })(s);
+ }
+ function valueEncoder(s, o = !1) {
+ return (
+ Array.isArray(s) || (null !== s && 'object' == typeof s)
+ ? (s = JSON.stringify(s))
+ : ('number' != typeof s && 'boolean' != typeof s) || (s = String(s)),
+ o && s.length > 0 ? encodeCharacters(s, o) : s
+ );
+ }
+ const au = { form: ',', spaceDelimited: '%20', pipeDelimited: '|' },
+ lu = { csv: ',', ssv: '%20', tsv: '%09', pipes: '|' };
+ function formatKeyValue(s, o, i = !1) {
+ const {
+ collectionFormat: u,
+ allowEmptyValue: _,
+ serializationOption: w,
+ encoding: x
+ } = o,
+ C = 'object' != typeof o || Array.isArray(o) ? o : o.value,
+ j = i ? (s) => s.toString() : (s) => encodeURIComponent(s),
+ L = j(s);
+ if (void 0 === C && _) return [[L, '']];
+ if (isFile(C) || isArrayOfFile(C)) return [[L, C]];
+ if (w) return formatKeyValueBySerializationOption(s, C, i, w);
+ if (x) {
+ if (
+ [typeof x.style, typeof x.explode, typeof x.allowReserved].some(
+ (s) => 'undefined' !== s
+ )
+ ) {
+ const { style: o, explode: u, allowReserved: _ } = x;
+ return formatKeyValueBySerializationOption(s, C, i, {
+ style: o,
+ explode: u,
+ allowReserved: _
+ });
+ }
+ if ('string' == typeof x.contentType) {
+ if (x.contentType.startsWith('application/json')) {
+ const s = j('string' == typeof C ? C : JSON.stringify(C));
+ return [[L, new FileWithData(s, 'blob', { type: x.contentType })]];
+ }
+ const s = j(String(C));
+ return [[L, new FileWithData(s, 'blob', { type: x.contentType })]];
+ }
+ return 'object' != typeof C
+ ? [[L, j(C)]]
+ : Array.isArray(C) && C.every((s) => 'object' != typeof s)
+ ? [[L, C.map(j).join(',')]]
+ : [[L, j(JSON.stringify(C))]];
+ }
+ return 'object' != typeof C
+ ? [[L, j(C)]]
+ : Array.isArray(C)
+ ? 'multi' === u
+ ? [[L, C.map(j)]]
+ : [[L, C.map(j).join(lu[u || 'csv'])]]
+ : [[L, '']];
+ }
+ function formatKeyValueBySerializationOption(s, o, i, u) {
+ const _ = u.style || 'form',
+ w = void 0 === u.explode ? 'form' === _ : u.explode,
+ x = !i && (u && u.allowReserved ? 'unsafe' : 'reserved'),
+ encodeFn = (s) => valueEncoder(s, x),
+ C = i ? (s) => s : (s) => encodeFn(s);
+ return 'object' != typeof o
+ ? [[C(s), encodeFn(o)]]
+ : Array.isArray(o)
+ ? w
+ ? [[C(s), o.map(encodeFn)]]
+ : [[C(s), o.map(encodeFn).join(au[_])]]
+ : 'deepObject' === _
+ ? Object.keys(o).map((i) => [C(`${s}[${i}]`), encodeFn(o[i])])
+ : w
+ ? Object.keys(o).map((s) => [C(s), encodeFn(o[s])])
+ : [
+ [
+ C(s),
+ Object.keys(o)
+ .map((s) => [`${C(s)},${encodeFn(o[s])}`])
+ .join(',')
+ ]
+ ];
+ }
+ function encodeFormOrQuery(s) {
+ return ((s, { encode: o = !0 } = {}) => {
+ const buildNestedParams = (s, o, i) => (
+ null == i
+ ? s.append(o, '')
+ : Array.isArray(i)
+ ? i.reduce((i, u) => buildNestedParams(s, o, u), s)
+ : i instanceof Date
+ ? s.append(o, i.toISOString())
+ : 'object' == typeof i
+ ? Object.entries(i).reduce(
+ (i, [u, _]) => buildNestedParams(s, `${o}[${u}]`, _),
+ s
+ )
+ : s.append(o, i),
+ s
+ ),
+ i = Object.entries(s).reduce(
+ (s, [o, i]) => buildNestedParams(s, o, i),
+ new URLSearchParams()
+ ),
+ u = String(i);
+ return o ? u : decodeURIComponent(u);
+ })(
+ Object.keys(s).reduce((o, i) => {
+ for (const [u, _] of formatKeyValue(i, s[i]))
+ o[u] = _ instanceof FileWithData ? _.valueOf() : _;
+ return o;
+ }, {}),
+ { encode: !1 }
+ );
+ }
+ function serializeRequest(s = {}) {
+ const { url: o = '', query: i, form: u } = s;
+ if (u) {
+ const o = Object.keys(u).some((s) => {
+ const { value: o } = u[s];
+ return isFile(o) || isArrayOfFile(o);
+ }),
+ i = s.headers['content-type'] || s.headers['Content-Type'];
+ if (o || /multipart\/form-data/i.test(i)) {
+ const o = (function request_buildFormData(s) {
+ return Object.entries(s).reduce((s, [o, i]) => {
+ for (const [u, _] of formatKeyValue(o, i, !0))
+ if (Array.isArray(_))
+ for (const o of _)
+ if (ArrayBuffer.isView(o)) {
+ const i = new Blob([o]);
+ s.append(u, i);
+ } else s.append(u, o);
+ else if (ArrayBuffer.isView(_)) {
+ const o = new Blob([_]);
+ s.append(u, o);
+ } else s.append(u, _);
+ return s;
+ }, new FormData());
+ })(s.form);
+ (s.formdata = o), (s.body = o);
+ } else s.body = encodeFormOrQuery(u);
+ delete s.form;
+ }
+ if (i) {
+ const [u, _] = o.split('?');
+ let w = '';
+ if (_) {
+ const s = new URLSearchParams(_);
+ Object.keys(i).forEach((o) => s.delete(o)), (w = String(s));
+ }
+ const x = ((...s) => {
+ const o = s.filter((s) => s).join('&');
+ return o ? `?${o}` : '';
+ })(w, encodeFormOrQuery(i));
+ (s.url = u + x), delete s.query;
+ }
+ return s;
+ }
+ function serializeHeaders(s = {}) {
+ return 'function' != typeof s.entries
+ ? {}
+ : Array.from(s.entries()).reduce(
+ (s, [o, i]) => (
+ (s[o] = (function serializeHeaderValue(s) {
+ return s.includes(', ') ? s.split(', ') : s;
+ })(i)),
+ s
+ ),
+ {}
+ );
+ }
+ function serializeResponse(s, o, { loadSpec: i = !1 } = {}) {
+ const u = {
+ ok: s.ok,
+ url: s.url || o,
+ status: s.status,
+ statusText: s.statusText,
+ headers: serializeHeaders(s.headers)
+ },
+ _ = u.headers['content-type'],
+ w = i || ((s = '') => /(json|xml|yaml|text)\b/.test(s))(_);
+ return (w ? s.text : s.blob || s.buffer).call(s).then((s) => {
+ if (((u.text = s), (u.data = s), w))
+ try {
+ const o = (function parseBody(s, o) {
+ return o && (0 === o.indexOf('application/json') || o.indexOf('+json') > 0)
+ ? JSON.parse(s)
+ : mn.load(s);
+ })(s, _);
+ (u.body = o), (u.obj = o);
+ } catch (s) {
+ u.parseError = s;
+ }
+ return u;
+ });
+ }
+ async function http_http(s, o = {}) {
+ 'object' == typeof s && (s = (o = s).url),
+ (o.headers = o.headers || {}),
+ (o = serializeRequest(o)).headers &&
+ Object.keys(o.headers).forEach((s) => {
+ const i = o.headers[s];
+ 'string' == typeof i && (o.headers[s] = i.replace(/\n+/g, ' '));
+ }),
+ o.requestInterceptor && (o = (await o.requestInterceptor(o)) || o);
+ const i = o.headers['content-type'] || o.headers['Content-Type'];
+ let u;
+ /multipart\/form-data/i.test(i) &&
+ (delete o.headers['content-type'], delete o.headers['Content-Type']);
+ try {
+ (u = await (o.userFetch || fetch)(o.url, o)),
+ (u = await serializeResponse(u, s, o)),
+ o.responseInterceptor && (u = (await o.responseInterceptor(u)) || u);
+ } catch (s) {
+ if (!u) throw s;
+ const o = new Error(u.statusText || `response status is ${u.status}`);
+ throw ((o.status = u.status), (o.statusCode = u.status), (o.responseError = s), o);
+ }
+ if (!u.ok) {
+ const s = new Error(u.statusText || `response status is ${u.status}`);
+ throw ((s.status = u.status), (s.statusCode = u.status), (s.response = u), s);
+ }
+ return u;
+ }
+ const options_retrievalURI = (s) => {
+ var o, i;
+ const { baseDoc: u, url: _ } = s,
+ w = null !== (o = null != u ? u : _) && void 0 !== o ? o : '';
+ return 'string' ==
+ typeof (null === (i = globalThis.document) || void 0 === i ? void 0 : i.baseURI)
+ ? String(new URL(w, globalThis.document.baseURI))
+ : w;
+ },
+ options_httpClient = (s) => {
+ const { fetch: o, http: i } = s;
+ return o || i || http_http;
+ };
+ async function resolveGenericStrategy(s) {
+ const {
+ spec: o,
+ mode: i,
+ allowMetaPatches: u = !0,
+ pathDiscriminator: _,
+ modelPropertyMacro: w,
+ parameterMacro: x,
+ requestInterceptor: C,
+ responseInterceptor: j,
+ skipNormalization: L = !1,
+ useCircularStructures: B,
+ strategies: $
+ } = s,
+ V = options_retrievalURI(s),
+ U = options_httpClient(s),
+ z = $.find((s) => s.match(o));
+ return (async function doResolve(s) {
+ V && (iu.refs.docCache[V] = s);
+ iu.refs.fetchJSON = makeFetchJSON(U, { requestInterceptor: C, responseInterceptor: j });
+ const o = [iu.refs];
+ 'function' == typeof x && o.push(iu.parameters);
+ 'function' == typeof w && o.push(iu.properties);
+ 'strict' !== i && o.push(iu.allOf);
+ const $ = await (function mapSpec(s) {
+ return new SpecMap(s).dispatch();
+ })({
+ spec: s,
+ context: { baseDoc: V },
+ plugins: o,
+ allowMetaPatches: u,
+ pathDiscriminator: _,
+ parameterMacro: x,
+ modelPropertyMacro: w,
+ useCircularStructures: B
+ });
+ L || ($.spec = z.normalize($.spec));
+ return $;
+ })(o);
+ }
+ const replace_special_chars_with_underscore = (s) => s.replace(/\W/gi, '_');
+ function opId(s, o, i = '', { v2OperationIdCompatibilityMode: u } = {}) {
+ if (!s || 'object' != typeof s) return null;
+ return (s.operationId || '').replace(/\s/g, '').length
+ ? replace_special_chars_with_underscore(s.operationId)
+ : (function idFromPathMethod(s, o, { v2OperationIdCompatibilityMode: i } = {}) {
+ if (i) {
+ let i = `${o.toLowerCase()}_${s}`.replace(
+ /[\s!@#$%^&*()_+=[{\]};:<>|./?,\\'""-]/g,
+ '_'
+ );
+ return (
+ (i = i || `${s.substring(1)}_${o}`),
+ i
+ .replace(/((_){2,})/g, '_')
+ .replace(/^(_)*/g, '')
+ .replace(/([_])*$/g, '')
+ );
+ }
+ return `${o.toLowerCase()}${replace_special_chars_with_underscore(s)}`;
+ })(o, i, { v2OperationIdCompatibilityMode: u });
+ }
+ function normalize(s) {
+ const { spec: o } = s,
+ { paths: i } = o,
+ u = {};
+ if (!i || o.$$normalized) return s;
+ for (const s in i) {
+ const _ = i[s];
+ if (null == _ || !['object', 'function'].includes(typeof _)) continue;
+ const w = _.parameters;
+ for (const i in _) {
+ const x = _[i];
+ if (null == x || !['object', 'function'].includes(typeof x)) continue;
+ const C = opId(x, s, i);
+ if (C) {
+ u[C] ? u[C].push(x) : (u[C] = [x]);
+ const s = u[C];
+ if (s.length > 1)
+ s.forEach((s, o) => {
+ (s.__originalOperationId = s.__originalOperationId || s.operationId),
+ (s.operationId = `${C}${o + 1}`);
+ });
+ else if (void 0 !== x.operationId) {
+ const o = s[0];
+ (o.__originalOperationId = o.__originalOperationId || x.operationId),
+ (o.operationId = C);
+ }
+ }
+ if ('parameters' !== i) {
+ const s = [],
+ i = {};
+ for (const u in o)
+ ('produces' !== u && 'consumes' !== u && 'security' !== u) ||
+ ((i[u] = o[u]), s.push(i));
+ if ((w && ((i.parameters = w), s.push(i)), s.length))
+ for (const o of s)
+ for (const s in o)
+ if (x[s]) {
+ if ('parameters' === s)
+ for (const i of o[s]) {
+ x[s].some(
+ (s) =>
+ (s.name && s.name === i.name) ||
+ (s.$ref && s.$ref === i.$ref) ||
+ (s.$$ref && s.$$ref === i.$$ref) ||
+ s === i
+ ) || x[s].push(i);
+ }
+ } else x[s] = o[s];
+ }
+ }
+ }
+ return (o.$$normalized = !0), s;
+ }
+ const cu = {
+ name: 'generic',
+ match: () => !0,
+ normalize(s) {
+ const { spec: o } = normalize({ spec: s });
+ return o;
+ },
+ resolve: async (s) => resolveGenericStrategy(s)
+ },
+ uu = cu;
+ const isOpenAPI30 = (s) => {
+ try {
+ const { openapi: o } = s;
+ return 'string' == typeof o && /^3\.0\.([0123])(?:-rc[012])?$/.test(o);
+ } catch {
+ return !1;
+ }
+ },
+ isOpenAPI31 = (s) => {
+ try {
+ const { openapi: o } = s;
+ return 'string' == typeof o && /^3\.1\.(?:[1-9]\d*|0)$/.test(o);
+ } catch {
+ return !1;
+ }
+ },
+ isOpenAPI3 = (s) => isOpenAPI30(s) || isOpenAPI31(s),
+ pu = {
+ name: 'openapi-2',
+ match: (s) =>
+ ((s) => {
+ try {
+ const { swagger: o } = s;
+ return '2.0' === o;
+ } catch {
+ return !1;
+ }
+ })(s),
+ normalize(s) {
+ const { spec: o } = normalize({ spec: s });
+ return o;
+ },
+ resolve: async (s) =>
+ (async function resolveOpenAPI2Strategy(s) {
+ return resolveGenericStrategy(s);
+ })(s)
+ },
+ hu = pu;
+ const du = {
+ name: 'openapi-3-0',
+ match: (s) => isOpenAPI30(s),
+ normalize(s) {
+ const { spec: o } = normalize({ spec: s });
+ return o;
+ },
+ resolve: async (s) =>
+ (async function resolveOpenAPI30Strategy(s) {
+ return resolveGenericStrategy(s);
+ })(s)
+ },
+ fu = du;
+ const mu = _curry2(function and(s, o) {
+ return s && o;
+ });
+ const gu = _curry2(function both(s, o) {
+ return _isFunction(s)
+ ? function _both() {
+ return s.apply(this, arguments) && o.apply(this, arguments);
+ }
+ : Pl(mu)(s, o);
+ });
+ const yu = ra(null);
+ const vu = Ml(yu);
+ function isOfTypeObject_typeof(s) {
+ return (
+ (isOfTypeObject_typeof =
+ 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator
+ ? function (s) {
+ return typeof s;
+ }
+ : function (s) {
+ return s &&
+ 'function' == typeof Symbol &&
+ s.constructor === Symbol &&
+ s !== Symbol.prototype
+ ? 'symbol'
+ : typeof s;
+ }),
+ isOfTypeObject_typeof(s)
+ );
+ }
+ const bu = function isOfTypeObject(s) {
+ return 'object' === isOfTypeObject_typeof(s);
+ };
+ const _u = za(1, gu(vu, bu));
+ var Eu = pipe(ea, Vl('Object')),
+ wu = pipe(ma, ra(ma(Object))),
+ Su = Xo(gu(Wl, wu), ['constructor']),
+ xu = za(1, function (s) {
+ if (!_u(s) || !Eu(s)) return !1;
+ var o = Object.getPrototypeOf(s);
+ return !!yu(o) || Su(o);
+ });
+ const ku = xu;
+ var Cu = __webpack_require__(34035);
+ function _reduced(s) {
+ return s && s['@@transducer/reduced']
+ ? s
+ : { '@@transducer/value': s, '@@transducer/reduced': !0 };
+ }
+ var Ou = (function () {
+ function XAll(s, o) {
+ (this.xf = o), (this.f = s), (this.all = !0);
+ }
+ return (
+ (XAll.prototype['@@transducer/init'] = _xfBase_init),
+ (XAll.prototype['@@transducer/result'] = function (s) {
+ return (
+ this.all && (s = this.xf['@@transducer/step'](s, !0)),
+ this.xf['@@transducer/result'](s)
+ );
+ }),
+ (XAll.prototype['@@transducer/step'] = function (s, o) {
+ return (
+ this.f(o) || ((this.all = !1), (s = _reduced(this.xf['@@transducer/step'](s, !1)))),
+ s
+ );
+ }),
+ XAll
+ );
+ })();
+ function _xall(s) {
+ return function (o) {
+ return new Ou(s, o);
+ };
+ }
+ var Au = _curry2(
+ _dispatchable(['all'], _xall, function all(s, o) {
+ for (var i = 0; i < o.length; ) {
+ if (!s(o[i])) return !1;
+ i += 1;
+ }
+ return !0;
+ })
+ );
+ const ju = Au;
+ class Annotation extends Cu.Om {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'annotation');
+ }
+ get code() {
+ return this.attributes.get('code');
+ }
+ set code(s) {
+ this.attributes.set('code', s);
+ }
+ }
+ const Iu = Annotation;
+ class Comment extends Cu.Om {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'comment');
+ }
+ }
+ const Pu = Comment;
+ class ParseResult extends Cu.wE {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'parseResult');
+ }
+ get api() {
+ return this.children.filter((s) => s.classes.contains('api')).first;
+ }
+ get results() {
+ return this.children.filter((s) => s.classes.contains('result'));
+ }
+ get result() {
+ return this.results.first;
+ }
+ get annotations() {
+ return this.children.filter((s) => 'annotation' === s.element);
+ }
+ get warnings() {
+ return this.children.filter(
+ (s) => 'annotation' === s.element && s.classes.contains('warning')
+ );
+ }
+ get errors() {
+ return this.children.filter(
+ (s) => 'annotation' === s.element && s.classes.contains('error')
+ );
+ }
+ get isEmpty() {
+ return this.children.reject((s) => 'annotation' === s.element).isEmpty;
+ }
+ replaceResult(s) {
+ const { result: o } = this;
+ if (Rl(o)) return !1;
+ const i = this.content.findIndex((s) => s === o);
+ return -1 !== i && ((this.content[i] = s), !0);
+ }
+ }
+ const Mu = ParseResult;
+ class SourceMap extends Cu.wE {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'sourceMap');
+ }
+ get positionStart() {
+ return this.children.filter((s) => s.classes.contains('position')).get(0);
+ }
+ get positionEnd() {
+ return this.children.filter((s) => s.classes.contains('position')).get(1);
+ }
+ set position(s) {
+ if (void 0 === s) return;
+ const o = new Cu.wE([s.start.row, s.start.column, s.start.char]),
+ i = new Cu.wE([s.end.row, s.end.column, s.end.char]);
+ o.classes.push('position'), i.classes.push('position'), this.push(o).push(i);
+ }
+ }
+ const Tu = SourceMap,
+ hasMethod = (s, o) =>
+ 'object' == typeof o && null !== o && s in o && 'function' == typeof o[s],
+ hasBasicElementProps = (s) =>
+ 'object' == typeof s &&
+ null != s &&
+ '_storedElement' in s &&
+ 'string' == typeof s._storedElement &&
+ '_content' in s,
+ primitiveEq = (s, o) =>
+ 'object' == typeof o &&
+ null !== o &&
+ 'primitive' in o &&
+ 'function' == typeof o.primitive &&
+ o.primitive() === s,
+ hasClass = (s, o) =>
+ 'object' == typeof o &&
+ null !== o &&
+ 'classes' in o &&
+ (Array.isArray(o.classes) || o.classes instanceof Cu.wE) &&
+ o.classes.includes(s),
+ isElementType = (s, o) =>
+ 'object' == typeof o && null !== o && 'element' in o && o.element === s,
+ helpers = (s) =>
+ s({ hasMethod, hasBasicElementProps, primitiveEq, isElementType, hasClass }),
+ Nu = helpers(
+ ({ hasBasicElementProps: s, primitiveEq: o }) =>
+ (i) =>
+ i instanceof Cu.Hg || (s(i) && o(void 0, i))
+ ),
+ Ru = helpers(
+ ({ hasBasicElementProps: s, primitiveEq: o }) =>
+ (i) =>
+ i instanceof Cu.Om || (s(i) && o('string', i))
+ ),
+ Du = helpers(
+ ({ hasBasicElementProps: s, primitiveEq: o }) =>
+ (i) =>
+ i instanceof Cu.kT || (s(i) && o('number', i))
+ ),
+ Lu = helpers(
+ ({ hasBasicElementProps: s, primitiveEq: o }) =>
+ (i) =>
+ i instanceof Cu.Os || (s(i) && o('null', i))
+ ),
+ Bu = helpers(
+ ({ hasBasicElementProps: s, primitiveEq: o }) =>
+ (i) =>
+ i instanceof Cu.bd || (s(i) && o('boolean', i))
+ ),
+ Fu = helpers(
+ ({ hasBasicElementProps: s, primitiveEq: o, hasMethod: i }) =>
+ (u) =>
+ u instanceof Cu.Sh ||
+ (s(u) && o('object', u) && i('keys', u) && i('values', u) && i('items', u))
+ ),
+ qu = helpers(
+ ({ hasBasicElementProps: s, primitiveEq: o, hasMethod: i }) =>
+ (u) =>
+ (u instanceof Cu.wE && !(u instanceof Cu.Sh)) ||
+ (s(u) &&
+ o('array', u) &&
+ i('push', u) &&
+ i('unshift', u) &&
+ i('map', u) &&
+ i('reduce', u))
+ ),
+ $u = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Cu.Pr || (s(u) && o('member', u) && i(void 0, u))
+ ),
+ Vu = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Cu.Ft || (s(u) && o('link', u) && i(void 0, u))
+ ),
+ Uu = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Cu.sI || (s(u) && o('ref', u) && i(void 0, u))
+ ),
+ zu = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Iu || (s(u) && o('annotation', u) && i('array', u))
+ ),
+ Wu = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Pu || (s(u) && o('comment', u) && i('string', u))
+ ),
+ Ku = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Mu || (s(u) && o('parseResult', u) && i('array', u))
+ ),
+ Hu = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Tu || (s(u) && o('sourceMap', u) && i('array', u))
+ ),
+ isPrimitiveElement = (s) =>
+ isElementType('object', s) ||
+ isElementType('array', s) ||
+ isElementType('boolean', s) ||
+ isElementType('number', s) ||
+ isElementType('string', s) ||
+ isElementType('null', s) ||
+ isElementType('member', s),
+ hasElementSourceMap = (s) => Hu(s.meta.get('sourceMap')),
+ includesSymbols = (s, o) => {
+ if (0 === s.length) return !0;
+ const i = o.attributes.get('symbols');
+ return !!qu(i) && ju(_l(i.toValue()), s);
+ },
+ includesClasses = (s, o) => 0 === s.length || ju(_l(o.classes.toValue()), s);
+ const es_T = function () {
+ return !0;
+ };
+ const es_F = function () {
+ return !1;
+ },
+ getVisitFn = (s, o, i) => {
+ const u = s[o];
+ if (null != u) {
+ if (!i && 'function' == typeof u) return u;
+ const s = i ? u.leave : u.enter;
+ if ('function' == typeof s) return s;
+ } else {
+ const u = i ? s.leave : s.enter;
+ if (null != u) {
+ if ('function' == typeof u) return u;
+ const s = u[o];
+ if ('function' == typeof s) return s;
+ }
+ }
+ return null;
+ },
+ Ju = {},
+ getNodeType = (s) => (null == s ? void 0 : s.type),
+ isNode = (s) => 'string' == typeof getNodeType(s),
+ cloneNode = (s) =>
+ Object.create(Object.getPrototypeOf(s), Object.getOwnPropertyDescriptors(s)),
+ mergeAll = (
+ s,
+ {
+ visitFnGetter: o = getVisitFn,
+ nodeTypeGetter: i = getNodeType,
+ breakSymbol: u = Ju,
+ deleteNodeSymbol: _ = null,
+ skipVisitingNodeSymbol: w = !1,
+ exposeEdits: x = !1
+ } = {}
+ ) => {
+ const C = Symbol('skip'),
+ j = new Array(s.length).fill(C);
+ return {
+ enter(L, B, $, V, U, z) {
+ let Y = L,
+ Z = !1;
+ const ee = {
+ ...z,
+ replaceWith(s, o) {
+ z.replaceWith(s, o), (Y = s);
+ }
+ };
+ for (let L = 0; L < s.length; L += 1)
+ if (j[L] === C) {
+ const C = o(s[L], i(Y), !1);
+ if ('function' == typeof C) {
+ const o = C.call(s[L], Y, B, $, V, U, ee);
+ if ('function' == typeof (null == o ? void 0 : o.then))
+ throw new Jo('Async visitor not supported in sync mode', {
+ visitor: s[L],
+ visitFn: C
+ });
+ if (o === w) j[L] = Y;
+ else if (o === u) j[L] = u;
+ else {
+ if (o === _) return o;
+ if (void 0 !== o) {
+ if (!x) return o;
+ (Y = o), (Z = !0);
+ }
+ }
+ }
+ }
+ return Z ? Y : void 0;
+ },
+ leave(_, x, L, B, $, V) {
+ let U = _;
+ const z = {
+ ...V,
+ replaceWith(s, o) {
+ V.replaceWith(s, o), (U = s);
+ }
+ };
+ for (let _ = 0; _ < s.length; _ += 1)
+ if (j[_] === C) {
+ const C = o(s[_], i(U), !0);
+ if ('function' == typeof C) {
+ const o = C.call(s[_], U, x, L, B, $, z);
+ if ('function' == typeof (null == o ? void 0 : o.then))
+ throw new Jo('Async visitor not supported in sync mode', {
+ visitor: s[_],
+ visitFn: C
+ });
+ if (o === u) j[_] = u;
+ else if (void 0 !== o && o !== w) return o;
+ }
+ } else j[_] === U && (j[_] = C);
+ }
+ };
+ };
+ mergeAll[Symbol.for('nodejs.util.promisify.custom')] = (
+ s,
+ {
+ visitFnGetter: o = getVisitFn,
+ nodeTypeGetter: i = getNodeType,
+ breakSymbol: u = Ju,
+ deleteNodeSymbol: _ = null,
+ skipVisitingNodeSymbol: w = !1,
+ exposeEdits: x = !1
+ } = {}
+ ) => {
+ const C = Symbol('skip'),
+ j = new Array(s.length).fill(C);
+ return {
+ async enter(L, B, $, V, U, z) {
+ let Y = L,
+ Z = !1;
+ const ee = {
+ ...z,
+ replaceWith(s, o) {
+ z.replaceWith(s, o), (Y = s);
+ }
+ };
+ for (let L = 0; L < s.length; L += 1)
+ if (j[L] === C) {
+ const C = o(s[L], i(Y), !1);
+ if ('function' == typeof C) {
+ const o = await C.call(s[L], Y, B, $, V, U, ee);
+ if (o === w) j[L] = Y;
+ else if (o === u) j[L] = u;
+ else {
+ if (o === _) return o;
+ if (void 0 !== o) {
+ if (!x) return o;
+ (Y = o), (Z = !0);
+ }
+ }
+ }
+ }
+ return Z ? Y : void 0;
+ },
+ async leave(_, x, L, B, $, V) {
+ let U = _;
+ const z = {
+ ...V,
+ replaceWith(s, o) {
+ V.replaceWith(s, o), (U = s);
+ }
+ };
+ for (let _ = 0; _ < s.length; _ += 1)
+ if (j[_] === C) {
+ const C = o(s[_], i(U), !0);
+ if ('function' == typeof C) {
+ const o = await C.call(s[_], U, x, L, B, $, z);
+ if (o === u) j[_] = u;
+ else if (void 0 !== o && o !== w) return o;
+ }
+ } else j[_] === U && (j[_] = C);
+ }
+ };
+ };
+ const visit = (
+ s,
+ o,
+ {
+ keyMap: i = null,
+ state: u = {},
+ breakSymbol: _ = Ju,
+ deleteNodeSymbol: w = null,
+ skipVisitingNodeSymbol: x = !1,
+ visitFnGetter: C = getVisitFn,
+ nodeTypeGetter: j = getNodeType,
+ nodePredicate: L = isNode,
+ nodeCloneFn: B = cloneNode,
+ detectCycles: $ = !0
+ } = {}
+ ) => {
+ const V = i || {};
+ let U,
+ z,
+ Y = Array.isArray(s),
+ Z = [s],
+ ee = -1,
+ ie = [],
+ ae = s;
+ const le = [],
+ ce = [];
+ do {
+ ee += 1;
+ const s = ee === Z.length;
+ let i;
+ const fe = s && 0 !== ie.length;
+ if (s) {
+ if (((i = 0 === ce.length ? void 0 : le.pop()), (ae = z), (z = ce.pop()), fe))
+ if (Y) {
+ ae = ae.slice();
+ let s = 0;
+ for (const [o, i] of ie) {
+ const u = o - s;
+ i === w ? (ae.splice(u, 1), (s += 1)) : (ae[u] = i);
+ }
+ } else {
+ ae = B(ae);
+ for (const [s, o] of ie) ae[s] = o;
+ }
+ (ee = U.index), (Z = U.keys), (ie = U.edits), (Y = U.inArray), (U = U.prev);
+ } else if (z !== w && void 0 !== z) {
+ if (((i = Y ? ee : Z[ee]), (ae = z[i]), ae === w || void 0 === ae)) continue;
+ le.push(i);
+ }
+ let ye;
+ if (!Array.isArray(ae)) {
+ var pe;
+ if (!L(ae)) throw new Jo(`Invalid AST Node: ${String(ae)}`, { node: ae });
+ if ($ && ce.includes(ae)) {
+ le.pop();
+ continue;
+ }
+ const w = C(o, j(ae), s);
+ if (w) {
+ for (const [s, i] of Object.entries(u)) o[s] = i;
+ const _ = {
+ replaceWith(o, u) {
+ 'function' == typeof u ? u(o, ae, i, z, le, ce) : z && (z[i] = o),
+ s || (ae = o);
+ }
+ };
+ ye = w.call(o, ae, i, z, le, ce, _);
+ }
+ if ('function' == typeof (null === (pe = ye) || void 0 === pe ? void 0 : pe.then))
+ throw new Jo('Async visitor not supported in sync mode', {
+ visitor: o,
+ visitFn: w
+ });
+ if (ye === _) break;
+ if (ye === x) {
+ if (!s) {
+ le.pop();
+ continue;
+ }
+ } else if (void 0 !== ye && (ie.push([i, ye]), !s)) {
+ if (!L(ye)) {
+ le.pop();
+ continue;
+ }
+ ae = ye;
+ }
+ }
+ var de;
+ if ((void 0 === ye && fe && ie.push([i, ae]), !s))
+ (U = { inArray: Y, index: ee, keys: Z, edits: ie, prev: U }),
+ (Y = Array.isArray(ae)),
+ (Z = Y ? ae : null !== (de = V[j(ae)]) && void 0 !== de ? de : []),
+ (ee = -1),
+ (ie = []),
+ z !== w && void 0 !== z && ce.push(z),
+ (z = ae);
+ } while (void 0 !== U);
+ return 0 !== ie.length ? ie[ie.length - 1][1] : s;
+ };
+ visit[Symbol.for('nodejs.util.promisify.custom')] = async (
+ s,
+ o,
+ {
+ keyMap: i = null,
+ state: u = {},
+ breakSymbol: _ = Ju,
+ deleteNodeSymbol: w = null,
+ skipVisitingNodeSymbol: x = !1,
+ visitFnGetter: C = getVisitFn,
+ nodeTypeGetter: j = getNodeType,
+ nodePredicate: L = isNode,
+ nodeCloneFn: B = cloneNode,
+ detectCycles: $ = !0
+ } = {}
+ ) => {
+ const V = i || {};
+ let U,
+ z,
+ Y = Array.isArray(s),
+ Z = [s],
+ ee = -1,
+ ie = [],
+ ae = s;
+ const le = [],
+ ce = [];
+ do {
+ ee += 1;
+ const s = ee === Z.length;
+ let i;
+ const de = s && 0 !== ie.length;
+ if (s) {
+ if (((i = 0 === ce.length ? void 0 : le.pop()), (ae = z), (z = ce.pop()), de))
+ if (Y) {
+ ae = ae.slice();
+ let s = 0;
+ for (const [o, i] of ie) {
+ const u = o - s;
+ i === w ? (ae.splice(u, 1), (s += 1)) : (ae[u] = i);
+ }
+ } else {
+ ae = B(ae);
+ for (const [s, o] of ie) ae[s] = o;
+ }
+ (ee = U.index), (Z = U.keys), (ie = U.edits), (Y = U.inArray), (U = U.prev);
+ } else if (z !== w && void 0 !== z) {
+ if (((i = Y ? ee : Z[ee]), (ae = z[i]), ae === w || void 0 === ae)) continue;
+ le.push(i);
+ }
+ let fe;
+ if (!Array.isArray(ae)) {
+ if (!L(ae)) throw new Jo(`Invalid AST Node: ${String(ae)}`, { node: ae });
+ if ($ && ce.includes(ae)) {
+ le.pop();
+ continue;
+ }
+ const w = C(o, j(ae), s);
+ if (w) {
+ for (const [s, i] of Object.entries(u)) o[s] = i;
+ const _ = {
+ replaceWith(o, u) {
+ 'function' == typeof u ? u(o, ae, i, z, le, ce) : z && (z[i] = o),
+ s || (ae = o);
+ }
+ };
+ fe = await w.call(o, ae, i, z, le, ce, _);
+ }
+ if (fe === _) break;
+ if (fe === x) {
+ if (!s) {
+ le.pop();
+ continue;
+ }
+ } else if (void 0 !== fe && (ie.push([i, fe]), !s)) {
+ if (!L(fe)) {
+ le.pop();
+ continue;
+ }
+ ae = fe;
+ }
+ }
+ var pe;
+ if ((void 0 === fe && de && ie.push([i, ae]), !s))
+ (U = { inArray: Y, index: ee, keys: Z, edits: ie, prev: U }),
+ (Y = Array.isArray(ae)),
+ (Z = Y ? ae : null !== (pe = V[j(ae)]) && void 0 !== pe ? pe : []),
+ (ee = -1),
+ (ie = []),
+ z !== w && void 0 !== z && ce.push(z),
+ (z = ae);
+ } while (void 0 !== U);
+ return 0 !== ie.length ? ie[ie.length - 1][1] : s;
+ };
+ const Gu = class CloneError extends Jo {
+ value;
+ constructor(s, o) {
+ super(s, o), void 0 !== o && (this.value = o.value);
+ }
+ };
+ const Yu = class DeepCloneError extends Gu {};
+ const Xu = class ShallowCloneError extends Gu {},
+ cloneDeep = (s, o = {}) => {
+ const { visited: i = new WeakMap() } = o,
+ u = { ...o, visited: i };
+ if (i.has(s)) return i.get(s);
+ if (s instanceof Cu.KeyValuePair) {
+ const { key: o, value: _ } = s,
+ w = Nu(o) ? cloneDeep(o, u) : o,
+ x = Nu(_) ? cloneDeep(_, u) : _,
+ C = new Cu.KeyValuePair(w, x);
+ return i.set(s, C), C;
+ }
+ if (s instanceof Cu.ot) {
+ const mapper = (s) => cloneDeep(s, u),
+ o = [...s].map(mapper),
+ _ = new Cu.ot(o);
+ return i.set(s, _), _;
+ }
+ if (s instanceof Cu.G6) {
+ const mapper = (s) => cloneDeep(s, u),
+ o = [...s].map(mapper),
+ _ = new Cu.G6(o);
+ return i.set(s, _), _;
+ }
+ if (Nu(s)) {
+ const o = cloneShallow(s);
+ if ((i.set(s, o), s.content))
+ if (Nu(s.content)) o.content = cloneDeep(s.content, u);
+ else if (s.content instanceof Cu.KeyValuePair) o.content = cloneDeep(s.content, u);
+ else if (Array.isArray(s.content)) {
+ const mapper = (s) => cloneDeep(s, u);
+ o.content = s.content.map(mapper);
+ } else o.content = s.content;
+ else o.content = s.content;
+ return o;
+ }
+ throw new Yu("Value provided to cloneDeep function couldn't be cloned", { value: s });
+ };
+ cloneDeep.safe = (s) => {
+ try {
+ return cloneDeep(s);
+ } catch {
+ return s;
+ }
+ };
+ const cloneShallowKeyValuePair = (s) => {
+ const { key: o, value: i } = s;
+ return new Cu.KeyValuePair(o, i);
+ },
+ cloneShallowElement = (s) => {
+ const o = new s.constructor();
+ if (
+ ((o.element = s.element),
+ s.meta.length > 0 && (o._meta = cloneDeep(s.meta)),
+ s.attributes.length > 0 && (o._attributes = cloneDeep(s.attributes)),
+ Nu(s.content))
+ ) {
+ const i = s.content;
+ o.content = cloneShallowElement(i);
+ } else
+ Array.isArray(s.content)
+ ? (o.content = [...s.content])
+ : s.content instanceof Cu.KeyValuePair
+ ? (o.content = cloneShallowKeyValuePair(s.content))
+ : (o.content = s.content);
+ return o;
+ },
+ cloneShallow = (s) => {
+ if (s instanceof Cu.KeyValuePair) return cloneShallowKeyValuePair(s);
+ if (s instanceof Cu.ot)
+ return ((s) => {
+ const o = [...s];
+ return new Cu.ot(o);
+ })(s);
+ if (s instanceof Cu.G6)
+ return ((s) => {
+ const o = [...s];
+ return new Cu.G6(o);
+ })(s);
+ if (Nu(s)) return cloneShallowElement(s);
+ throw new Xu("Value provided to cloneShallow function couldn't be cloned", {
+ value: s
+ });
+ };
+ cloneShallow.safe = (s) => {
+ try {
+ return cloneShallow(s);
+ } catch {
+ return s;
+ }
+ };
+ const visitor_getNodeType = (s) =>
+ Fu(s)
+ ? 'ObjectElement'
+ : qu(s)
+ ? 'ArrayElement'
+ : $u(s)
+ ? 'MemberElement'
+ : Ru(s)
+ ? 'StringElement'
+ : Bu(s)
+ ? 'BooleanElement'
+ : Du(s)
+ ? 'NumberElement'
+ : Lu(s)
+ ? 'NullElement'
+ : Vu(s)
+ ? 'LinkElement'
+ : Uu(s)
+ ? 'RefElement'
+ : void 0,
+ visitor_cloneNode = (s) => (Nu(s) ? cloneShallow(s) : cloneNode(s)),
+ Zu = pipe(visitor_getNodeType, Yl),
+ Qu = {
+ ObjectElement: ['content'],
+ ArrayElement: ['content'],
+ MemberElement: ['key', 'value'],
+ StringElement: [],
+ BooleanElement: [],
+ NumberElement: [],
+ NullElement: [],
+ RefElement: [],
+ LinkElement: [],
+ Annotation: [],
+ Comment: [],
+ ParseResultElement: ['content'],
+ SourceMap: ['content']
+ };
+ class PredicateVisitor {
+ result;
+ predicate;
+ returnOnTrue;
+ returnOnFalse;
+ constructor({ predicate: s = es_F, returnOnTrue: o, returnOnFalse: i } = {}) {
+ (this.result = []),
+ (this.predicate = s),
+ (this.returnOnTrue = o),
+ (this.returnOnFalse = i);
+ }
+ enter(s) {
+ return this.predicate(s)
+ ? (this.result.push(s), this.returnOnTrue)
+ : this.returnOnFalse;
+ }
+ }
+ const visitor_visit = (s, o, { keyMap: i = Qu, ...u } = {}) =>
+ visit(s, o, {
+ keyMap: i,
+ nodeTypeGetter: visitor_getNodeType,
+ nodePredicate: Zu,
+ nodeCloneFn: visitor_cloneNode,
+ ...u
+ });
+ visitor_visit[Symbol.for('nodejs.util.promisify.custom')] = async (
+ s,
+ o,
+ { keyMap: i = Qu, ...u } = {}
+ ) =>
+ visit[Symbol.for('nodejs.util.promisify.custom')](s, o, {
+ keyMap: i,
+ nodeTypeGetter: visitor_getNodeType,
+ nodePredicate: Zu,
+ nodeCloneFn: visitor_cloneNode,
+ ...u
+ });
+ const nodeTypeGetter = (s) =>
+ 'string' == typeof (null == s ? void 0 : s.type) ? s.type : visitor_getNodeType(s),
+ ep = { EphemeralObject: ['content'], EphemeralArray: ['content'], ...Qu },
+ value_visitor_visit = (s, o, { keyMap: i = ep, ...u } = {}) =>
+ visitor_visit(s, o, {
+ keyMap: i,
+ nodeTypeGetter,
+ nodePredicate: es_T,
+ detectCycles: !1,
+ deleteNodeSymbol: Symbol.for('delete-node'),
+ skipVisitingNodeSymbol: Symbol.for('skip-visiting-node'),
+ ...u
+ });
+ value_visitor_visit[Symbol.for('nodejs.util.promisify.custom')] = async (
+ s,
+ { keyMap: o = ep, ...i } = {}
+ ) =>
+ visitor_visit[Symbol.for('nodejs.util.promisify.custom')](s, visitor, {
+ keyMap: o,
+ nodeTypeGetter,
+ nodePredicate: es_T,
+ detectCycles: !1,
+ deleteNodeSymbol: Symbol.for('delete-node'),
+ skipVisitingNodeSymbol: Symbol.for('skip-visiting-node'),
+ ...i
+ });
+ const tp = class EphemeralArray {
+ type = 'EphemeralArray';
+ content = [];
+ reference = void 0;
+ constructor(s) {
+ (this.content = s), (this.reference = []);
+ }
+ toReference() {
+ return this.reference;
+ }
+ toArray() {
+ return this.reference.push(...this.content), this.reference;
+ }
+ };
+ const rp = class EphemeralObject {
+ type = 'EphemeralObject';
+ content = [];
+ reference = void 0;
+ constructor(s) {
+ (this.content = s), (this.reference = {});
+ }
+ toReference() {
+ return this.reference;
+ }
+ toObject() {
+ return Object.assign(this.reference, Object.fromEntries(this.content));
+ }
+ };
+ class Visitor {
+ ObjectElement = {
+ enter: (s) => {
+ if (this.references.has(s)) return this.references.get(s).toReference();
+ const o = new rp(s.content);
+ return this.references.set(s, o), o;
+ }
+ };
+ EphemeralObject = { leave: (s) => s.toObject() };
+ MemberElement = { enter: (s) => [s.key, s.value] };
+ ArrayElement = {
+ enter: (s) => {
+ if (this.references.has(s)) return this.references.get(s).toReference();
+ const o = new tp(s.content);
+ return this.references.set(s, o), o;
+ }
+ };
+ EphemeralArray = { leave: (s) => s.toArray() };
+ references = new WeakMap();
+ BooleanElement(s) {
+ return s.toValue();
+ }
+ NumberElement(s) {
+ return s.toValue();
+ }
+ StringElement(s) {
+ return s.toValue();
+ }
+ NullElement() {
+ return null;
+ }
+ RefElement(s, ...o) {
+ var i;
+ const u = o[3];
+ return 'EphemeralObject' ===
+ (null === (i = u[u.length - 1]) || void 0 === i ? void 0 : i.type)
+ ? Symbol.for('delete-node')
+ : String(s.toValue());
+ }
+ LinkElement(s) {
+ return Ru(s.href) ? s.href.toValue() : '';
+ }
+ }
+ const serializers_value = (s) =>
+ Nu(s)
+ ? Ru(s) || Du(s) || Bu(s) || Lu(s)
+ ? s.toValue()
+ : value_visitor_visit(s, new Visitor())
+ : s;
+ var np = _curry3(function mergeWithKey(s, o, i) {
+ var u,
+ _ = {};
+ for (u in ((i = i || {}), (o = o || {})))
+ _has(u, o) && (_[u] = _has(u, i) ? s(u, o[u], i[u]) : o[u]);
+ for (u in i) _has(u, i) && !_has(u, _) && (_[u] = i[u]);
+ return _;
+ });
+ const sp = np;
+ var op = _curry3(function mergeDeepWithKey(s, o, i) {
+ return sp(
+ function (o, i, u) {
+ return _isObject(i) && _isObject(u) ? mergeDeepWithKey(s, i, u) : s(o, i, u);
+ },
+ o,
+ i
+ );
+ });
+ const ip = op;
+ const lp = _curry2(function mergeDeepRight(s, o) {
+ return ip(
+ function (s, o, i) {
+ return i;
+ },
+ s,
+ o
+ );
+ });
+ const cp = _curry2(_path);
+ const up = ja(0, -1);
+ var pp = _curry2(function apply(s, o) {
+ return s.apply(this, o);
+ });
+ const hp = pp;
+ const dp = Ml(Wl);
+ var fp = _curry1(function empty(s) {
+ return null != s && 'function' == typeof s['fantasy-land/empty']
+ ? s['fantasy-land/empty']()
+ : null != s &&
+ null != s.constructor &&
+ 'function' == typeof s.constructor['fantasy-land/empty']
+ ? s.constructor['fantasy-land/empty']()
+ : null != s && 'function' == typeof s.empty
+ ? s.empty()
+ : null != s && null != s.constructor && 'function' == typeof s.constructor.empty
+ ? s.constructor.empty()
+ : aa(s)
+ ? []
+ : _isString(s)
+ ? ''
+ : _isObject(s)
+ ? {}
+ : _i(s)
+ ? (function () {
+ return arguments;
+ })()
+ : (function _isTypedArray(s) {
+ var o = Object.prototype.toString.call(s);
+ return (
+ '[object Uint8ClampedArray]' === o ||
+ '[object Int8Array]' === o ||
+ '[object Uint8Array]' === o ||
+ '[object Int16Array]' === o ||
+ '[object Uint16Array]' === o ||
+ '[object Int32Array]' === o ||
+ '[object Uint32Array]' === o ||
+ '[object Float32Array]' === o ||
+ '[object Float64Array]' === o ||
+ '[object BigInt64Array]' === o ||
+ '[object BigUint64Array]' === o
+ );
+ })(s)
+ ? s.constructor.from('')
+ : void 0;
+ });
+ const mp = fp;
+ const gp = _curry1(function isEmpty(s) {
+ return null != s && ra(s, mp(s));
+ });
+ const yp = za(1, Wl(Array.isArray) ? Array.isArray : pipe(ea, Vl('Array')));
+ const vp = gu(yp, gp);
+ var bp = za(3, function (s, o, i) {
+ var u = cp(s, i),
+ _ = cp(up(s), i);
+ if (!dp(u) && !vp(s)) {
+ var w = Ea(u, _);
+ return hp(w, o);
+ }
+ });
+ const _p = bp;
+ class Namespace extends Cu.g$ {
+ constructor() {
+ super(),
+ this.register('annotation', Iu),
+ this.register('comment', Pu),
+ this.register('parseResult', Mu),
+ this.register('sourceMap', Tu);
+ }
+ }
+ const Ep = new Namespace(),
+ createNamespace = (s) => {
+ const o = new Namespace();
+ return ku(s) && o.use(s), o;
+ },
+ wp = Ep,
+ toolbox = () => ({ predicates: { ...le }, namespace: wp }),
+ Sp = {
+ toolboxCreator: toolbox,
+ visitorOptions: { nodeTypeGetter: visitor_getNodeType, exposeEdits: !0 }
+ },
+ dispatchPluginsSync = (s, o, i = {}) => {
+ if (0 === o.length) return s;
+ const u = lp(Sp, i),
+ { toolboxCreator: _, visitorOptions: w } = u,
+ x = _(),
+ C = o.map((s) => s(x)),
+ j = mergeAll(C.map(La({}, 'visitor')), { ...w });
+ C.forEach(_p(['pre'], []));
+ const L = visitor_visit(s, j, w);
+ return C.forEach(_p(['post'], [])), L;
+ };
+ dispatchPluginsSync[Symbol.for('nodejs.util.promisify.custom')] = async (s, o, i = {}) => {
+ if (0 === o.length) return s;
+ const u = lp(Sp, i),
+ { toolboxCreator: _, visitorOptions: w } = u,
+ x = _(),
+ C = o.map((s) => s(x)),
+ j = mergeAll[Symbol.for('nodejs.util.promisify.custom')],
+ L = visitor_visit[Symbol.for('nodejs.util.promisify.custom')],
+ B = j(C.map(La({}, 'visitor')), { ...w });
+ await Promise.allSettled(C.map(_p(['pre'], [])));
+ const $ = await L(s, B, w);
+ return await Promise.allSettled(C.map(_p(['post'], []))), $;
+ };
+ const refract = (s, { Type: o, plugins: i = [] }) => {
+ const u = new o(s);
+ return (
+ Nu(s) &&
+ (s.meta.length > 0 && (u.meta = cloneDeep(s.meta)),
+ s.attributes.length > 0 && (u.attributes = cloneDeep(s.attributes))),
+ dispatchPluginsSync(u, i, {
+ toolboxCreator: toolbox,
+ visitorOptions: { nodeTypeGetter: visitor_getNodeType }
+ })
+ );
+ },
+ createRefractor =
+ (s) =>
+ (o, i = {}) =>
+ refract(o, { ...i, Type: s });
+ (Cu.Sh.refract = createRefractor(Cu.Sh)),
+ (Cu.wE.refract = createRefractor(Cu.wE)),
+ (Cu.Om.refract = createRefractor(Cu.Om)),
+ (Cu.bd.refract = createRefractor(Cu.bd)),
+ (Cu.Os.refract = createRefractor(Cu.Os)),
+ (Cu.kT.refract = createRefractor(Cu.kT)),
+ (Cu.Ft.refract = createRefractor(Cu.Ft)),
+ (Cu.sI.refract = createRefractor(Cu.sI)),
+ (Iu.refract = createRefractor(Iu)),
+ (Pu.refract = createRefractor(Pu)),
+ (Mu.refract = createRefractor(Mu)),
+ (Tu.refract = createRefractor(Tu));
+ const computeEdges = (s, o = new WeakMap()) => (
+ $u(s)
+ ? (o.set(s.key, s), computeEdges(s.key, o), o.set(s.value, s), computeEdges(s.value, o))
+ : s.children.forEach((i) => {
+ o.set(i, s), computeEdges(i, o);
+ }),
+ o
+ );
+ const xp = class Transcluder_Transcluder {
+ element;
+ edges;
+ constructor({ element: s }) {
+ this.element = s;
+ }
+ transclude(s, o) {
+ var i;
+ if (s === this.element) return o;
+ if (s === o) return this.element;
+ this.edges =
+ null !== (i = this.edges) && void 0 !== i ? i : computeEdges(this.element);
+ const u = this.edges.get(s);
+ return Rl(u)
+ ? void 0
+ : (Fu(u)
+ ? ((s, o, i) => {
+ const u = i.get(s);
+ Fu(u) &&
+ (u.content = u.map((_, w, x) =>
+ x === s ? (i.delete(s), i.set(o, u), o) : x
+ ));
+ })(s, o, this.edges)
+ : qu(u)
+ ? ((s, o, i) => {
+ const u = i.get(s);
+ qu(u) &&
+ (u.content = u.map((_) =>
+ _ === s ? (i.delete(s), i.set(o, u), o) : _
+ ));
+ })(s, o, this.edges)
+ : $u(u) &&
+ ((s, o, i) => {
+ const u = i.get(s);
+ $u(u) &&
+ (u.key === s && ((u.key = o), i.delete(s), i.set(o, u)),
+ u.value === s && ((u.value = o), i.delete(s), i.set(o, u)));
+ })(s, o, this.edges),
+ this.element);
+ }
+ },
+ kp = pipe(Hl(/~/g, '~0'), Hl(/\//g, '~1'), encodeURIComponent);
+ const Cp = class JsonPointerError extends Jo {};
+ const Op = class CompilationJsonPointerError extends Cp {
+ tokens;
+ constructor(s, o) {
+ super(s, o), void 0 !== o && (this.tokens = [...o.tokens]);
+ }
+ },
+ es_compile = (s) => {
+ try {
+ return 0 === s.length ? '' : `/${s.map(kp).join('/')}`;
+ } catch (o) {
+ throw new Op('JSON Pointer compilation of tokens encountered an error.', {
+ tokens: s,
+ cause: o
+ });
+ }
+ };
+ var Ap = _curry2(function converge(s, o) {
+ return za(Ca(Ll, 0, Fl('length', o)), function () {
+ var i = arguments,
+ u = this;
+ return s.apply(
+ u,
+ _map(function (s) {
+ return s.apply(u, i);
+ }, o)
+ );
+ });
+ });
+ const jp = Ap;
+ function _identity(s) {
+ return s;
+ }
+ const Ip = _curry1(_identity);
+ var Pp = gu(za(1, pipe(ea, Vl('Number'))), isFinite);
+ var Mp = za(1, Pp);
+ var Tp = gu(
+ Wl(Number.isFinite) ? za(1, Ea(Number.isFinite, Number)) : Mp,
+ jp(ra, [Math.floor, Ip])
+ );
+ var Np = za(1, Tp);
+ const Rp = Wl(Number.isInteger) ? za(1, Ea(Number.isInteger, Number)) : Np;
+ var Dp = (function () {
+ function XTake(s, o) {
+ (this.xf = o), (this.n = s), (this.i = 0);
+ }
+ return (
+ (XTake.prototype['@@transducer/init'] = _xfBase_init),
+ (XTake.prototype['@@transducer/result'] = _xfBase_result),
+ (XTake.prototype['@@transducer/step'] = function (s, o) {
+ this.i += 1;
+ var i = 0 === this.n ? s : this.xf['@@transducer/step'](s, o);
+ return this.n >= 0 && this.i >= this.n ? _reduced(i) : i;
+ }),
+ XTake
+ );
+ })();
+ function _xtake(s) {
+ return function (o) {
+ return new Dp(s, o);
+ };
+ }
+ const Lp = _curry2(
+ _dispatchable(['take'], _xtake, function take(s, o) {
+ return ja(0, s < 0 ? 1 / 0 : s, o);
+ })
+ );
+ var Bp = _curry2(function (s, o) {
+ return ra(Lp(s.length, o), s);
+ });
+ const Fp = Bp;
+ const qp = ra('');
+ var $p = (function () {
+ function XDropWhile(s, o) {
+ (this.xf = o), (this.f = s);
+ }
+ return (
+ (XDropWhile.prototype['@@transducer/init'] = _xfBase_init),
+ (XDropWhile.prototype['@@transducer/result'] = _xfBase_result),
+ (XDropWhile.prototype['@@transducer/step'] = function (s, o) {
+ if (this.f) {
+ if (this.f(o)) return s;
+ this.f = null;
+ }
+ return this.xf['@@transducer/step'](s, o);
+ }),
+ XDropWhile
+ );
+ })();
+ function _xdropWhile(s) {
+ return function (o) {
+ return new $p(s, o);
+ };
+ }
+ const Vp = _curry2(
+ _dispatchable(['dropWhile'], _xdropWhile, function dropWhile(s, o) {
+ for (var i = 0, u = o.length; i < u && s(o[i]); ) i += 1;
+ return ja(i, 1 / 0, o);
+ })
+ );
+ const Up = Ja(function (s, o) {
+ return pipe(tl(''), Vp(_l(s)), yl(''))(o);
+ }),
+ zp = pipe(Hl(/~1/g, '/'), Hl(/~0/g, '~'), (s) => {
+ try {
+ return decodeURIComponent(s);
+ } catch {
+ return s;
+ }
+ });
+ const Wp = class InvalidJsonPointerError extends Cp {
+ pointer;
+ constructor(s, o) {
+ super(s, o), void 0 !== o && (this.pointer = o.pointer);
+ }
+ },
+ uriToPointer = (s) => {
+ const o = ((s) => {
+ const o = s.indexOf('#');
+ return -1 !== o ? s.substring(o) : '#';
+ })(s);
+ return Up('#', o);
+ },
+ es_parse = (s) => {
+ if (qp(s)) return [];
+ if (!Fp('/', s))
+ throw new Wp(`Invalid JSON Pointer "${s}". JSON Pointers must begin with "/"`, {
+ pointer: s
+ });
+ try {
+ const o = pipe(tl('/'), kl(zp))(s);
+ return Ia(o);
+ } catch (o) {
+ throw new Wp(`JSON Pointer parsing of "${s}" encountered an error.`, {
+ pointer: s,
+ cause: o
+ });
+ }
+ };
+ const Kp = class EvaluationJsonPointerError extends Cp {
+ pointer;
+ tokens;
+ failedToken;
+ failedTokenPosition;
+ element;
+ constructor(s, o) {
+ super(s, o),
+ void 0 !== o &&
+ ((this.pointer = o.pointer),
+ Array.isArray(o.tokens) && (this.tokens = [...o.tokens]),
+ (this.failedToken = o.failedToken),
+ (this.failedTokenPosition = o.failedTokenPosition),
+ (this.element = o.element));
+ }
+ },
+ es_evaluate = (s, o) => {
+ let i;
+ try {
+ i = es_parse(s);
+ } catch (i) {
+ throw new Kp(`JSON Pointer evaluation failed while parsing the pointer "${s}".`, {
+ pointer: s,
+ element: cloneDeep(o),
+ cause: i
+ });
+ }
+ return i.reduce((o, u, _) => {
+ if (Fu(o)) {
+ if (!o.hasKey(u))
+ throw new Kp(
+ `JSON Pointer evaluation failed while evaluating token "${u}" against an ObjectElement`,
+ {
+ pointer: s,
+ tokens: i,
+ failedToken: u,
+ failedTokenPosition: _,
+ element: cloneDeep(o)
+ }
+ );
+ return o.get(u);
+ }
+ if (qu(o)) {
+ if (!(u in o.content) || !Rp(Number(u)))
+ throw new Kp(
+ `JSON Pointer evaluation failed while evaluating token "${u}" against an ArrayElement`,
+ {
+ pointer: s,
+ tokens: i,
+ failedToken: u,
+ failedTokenPosition: _,
+ element: cloneDeep(o)
+ }
+ );
+ return o.get(Number(u));
+ }
+ throw new Kp(
+ `JSON Pointer evaluation failed while evaluating token "${u}" against an unexpected Element`,
+ {
+ pointer: s,
+ tokens: i,
+ failedToken: u,
+ failedTokenPosition: _,
+ element: cloneDeep(o)
+ }
+ );
+ }, o);
+ };
+ class Callback extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'callback');
+ }
+ }
+ const Hp = Callback;
+ class Components extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'components');
+ }
+ get schemas() {
+ return this.get('schemas');
+ }
+ set schemas(s) {
+ this.set('schemas', s);
+ }
+ get responses() {
+ return this.get('responses');
+ }
+ set responses(s) {
+ this.set('responses', s);
+ }
+ get parameters() {
+ return this.get('parameters');
+ }
+ set parameters(s) {
+ this.set('parameters', s);
+ }
+ get examples() {
+ return this.get('examples');
+ }
+ set examples(s) {
+ this.set('examples', s);
+ }
+ get requestBodies() {
+ return this.get('requestBodies');
+ }
+ set requestBodies(s) {
+ this.set('requestBodies', s);
+ }
+ get headers() {
+ return this.get('headers');
+ }
+ set headers(s) {
+ this.set('headers', s);
+ }
+ get securitySchemes() {
+ return this.get('securitySchemes');
+ }
+ set securitySchemes(s) {
+ this.set('securitySchemes', s);
+ }
+ get links() {
+ return this.get('links');
+ }
+ set links(s) {
+ this.set('links', s);
+ }
+ get callbacks() {
+ return this.get('callbacks');
+ }
+ set callbacks(s) {
+ this.set('callbacks', s);
+ }
+ }
+ const Jp = Components;
+ class Contact extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'contact');
+ }
+ get name() {
+ return this.get('name');
+ }
+ set name(s) {
+ this.set('name', s);
+ }
+ get url() {
+ return this.get('url');
+ }
+ set url(s) {
+ this.set('url', s);
+ }
+ get email() {
+ return this.get('email');
+ }
+ set email(s) {
+ this.set('email', s);
+ }
+ }
+ const Gp = Contact;
+ class Discriminator extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'discriminator');
+ }
+ get propertyName() {
+ return this.get('propertyName');
+ }
+ set propertyName(s) {
+ this.set('propertyName', s);
+ }
+ get mapping() {
+ return this.get('mapping');
+ }
+ set mapping(s) {
+ this.set('mapping', s);
+ }
+ }
+ const Yp = Discriminator;
+ class Encoding extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'encoding');
+ }
+ get contentType() {
+ return this.get('contentType');
+ }
+ set contentType(s) {
+ this.set('contentType', s);
+ }
+ get headers() {
+ return this.get('headers');
+ }
+ set headers(s) {
+ this.set('headers', s);
+ }
+ get style() {
+ return this.get('style');
+ }
+ set style(s) {
+ this.set('style', s);
+ }
+ get explode() {
+ return this.get('explode');
+ }
+ set explode(s) {
+ this.set('explode', s);
+ }
+ get allowedReserved() {
+ return this.get('allowedReserved');
+ }
+ set allowedReserved(s) {
+ this.set('allowedReserved', s);
+ }
+ }
+ const Xp = Encoding;
+ class Example extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'example');
+ }
+ get summary() {
+ return this.get('summary');
+ }
+ set summary(s) {
+ this.set('summary', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get value() {
+ return this.get('value');
+ }
+ set value(s) {
+ this.set('value', s);
+ }
+ get externalValue() {
+ return this.get('externalValue');
+ }
+ set externalValue(s) {
+ this.set('externalValue', s);
+ }
+ }
+ const Zp = Example;
+ class ExternalDocumentation extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'externalDocumentation');
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get url() {
+ return this.get('url');
+ }
+ set url(s) {
+ this.set('url', s);
+ }
+ }
+ const Qp = ExternalDocumentation;
+ class Header extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'header');
+ }
+ get required() {
+ return this.hasKey('required') ? this.get('required') : new Cu.bd(!1);
+ }
+ set required(s) {
+ this.set('required', s);
+ }
+ get deprecated() {
+ return this.hasKey('deprecated') ? this.get('deprecated') : new Cu.bd(!1);
+ }
+ set deprecated(s) {
+ this.set('deprecated', s);
+ }
+ get allowEmptyValue() {
+ return this.get('allowEmptyValue');
+ }
+ set allowEmptyValue(s) {
+ this.set('allowEmptyValue', s);
+ }
+ get style() {
+ return this.get('style');
+ }
+ set style(s) {
+ this.set('style', s);
+ }
+ get explode() {
+ return this.get('explode');
+ }
+ set explode(s) {
+ this.set('explode', s);
+ }
+ get allowReserved() {
+ return this.get('allowReserved');
+ }
+ set allowReserved(s) {
+ this.set('allowReserved', s);
+ }
+ get schema() {
+ return this.get('schema');
+ }
+ set schema(s) {
+ this.set('schema', s);
+ }
+ get example() {
+ return this.get('example');
+ }
+ set example(s) {
+ this.set('example', s);
+ }
+ get examples() {
+ return this.get('examples');
+ }
+ set examples(s) {
+ this.set('examples', s);
+ }
+ get contentProp() {
+ return this.get('content');
+ }
+ set contentProp(s) {
+ this.set('content', s);
+ }
+ }
+ Object.defineProperty(Header.prototype, 'description', {
+ get() {
+ return this.get('description');
+ },
+ set(s) {
+ this.set('description', s);
+ },
+ enumerable: !0
+ });
+ const th = Header;
+ class Info extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'info'), this.classes.push('info');
+ }
+ get title() {
+ return this.get('title');
+ }
+ set title(s) {
+ this.set('title', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get termsOfService() {
+ return this.get('termsOfService');
+ }
+ set termsOfService(s) {
+ this.set('termsOfService', s);
+ }
+ get contact() {
+ return this.get('contact');
+ }
+ set contact(s) {
+ this.set('contact', s);
+ }
+ get license() {
+ return this.get('license');
+ }
+ set license(s) {
+ this.set('license', s);
+ }
+ get version() {
+ return this.get('version');
+ }
+ set version(s) {
+ this.set('version', s);
+ }
+ }
+ const rh = Info;
+ class License extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'license');
+ }
+ get name() {
+ return this.get('name');
+ }
+ set name(s) {
+ this.set('name', s);
+ }
+ get url() {
+ return this.get('url');
+ }
+ set url(s) {
+ this.set('url', s);
+ }
+ }
+ const uh = License;
+ class Link extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'link');
+ }
+ get operationRef() {
+ return this.get('operationRef');
+ }
+ set operationRef(s) {
+ this.set('operationRef', s);
+ }
+ get operationId() {
+ return this.get('operationId');
+ }
+ set operationId(s) {
+ this.set('operationId', s);
+ }
+ get operation() {
+ var s, o;
+ return Ru(this.operationRef)
+ ? null === (s = this.operationRef) || void 0 === s
+ ? void 0
+ : s.meta.get('operation')
+ : Ru(this.operationId)
+ ? null === (o = this.operationId) || void 0 === o
+ ? void 0
+ : o.meta.get('operation')
+ : void 0;
+ }
+ set operation(s) {
+ this.set('operation', s);
+ }
+ get parameters() {
+ return this.get('parameters');
+ }
+ set parameters(s) {
+ this.set('parameters', s);
+ }
+ get requestBody() {
+ return this.get('requestBody');
+ }
+ set requestBody(s) {
+ this.set('requestBody', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get server() {
+ return this.get('server');
+ }
+ set server(s) {
+ this.set('server', s);
+ }
+ }
+ const dh = Link;
+ class MediaType extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'mediaType');
+ }
+ get schema() {
+ return this.get('schema');
+ }
+ set schema(s) {
+ this.set('schema', s);
+ }
+ get example() {
+ return this.get('example');
+ }
+ set example(s) {
+ this.set('example', s);
+ }
+ get examples() {
+ return this.get('examples');
+ }
+ set examples(s) {
+ this.set('examples', s);
+ }
+ get encoding() {
+ return this.get('encoding');
+ }
+ set encoding(s) {
+ this.set('encoding', s);
+ }
+ }
+ const fh = MediaType;
+ class OAuthFlow extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'oAuthFlow');
+ }
+ get authorizationUrl() {
+ return this.get('authorizationUrl');
+ }
+ set authorizationUrl(s) {
+ this.set('authorizationUrl', s);
+ }
+ get tokenUrl() {
+ return this.get('tokenUrl');
+ }
+ set tokenUrl(s) {
+ this.set('tokenUrl', s);
+ }
+ get refreshUrl() {
+ return this.get('refreshUrl');
+ }
+ set refreshUrl(s) {
+ this.set('refreshUrl', s);
+ }
+ get scopes() {
+ return this.get('scopes');
+ }
+ set scopes(s) {
+ this.set('scopes', s);
+ }
+ }
+ const vh = OAuthFlow;
+ class OAuthFlows extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'oAuthFlows');
+ }
+ get implicit() {
+ return this.get('implicit');
+ }
+ set implicit(s) {
+ this.set('implicit', s);
+ }
+ get password() {
+ return this.get('password');
+ }
+ set password(s) {
+ this.set('password', s);
+ }
+ get clientCredentials() {
+ return this.get('clientCredentials');
+ }
+ set clientCredentials(s) {
+ this.set('clientCredentials', s);
+ }
+ get authorizationCode() {
+ return this.get('authorizationCode');
+ }
+ set authorizationCode(s) {
+ this.set('authorizationCode', s);
+ }
+ }
+ const _h = OAuthFlows;
+ class Openapi extends Cu.Om {
+ constructor(s, o, i) {
+ super(s, o, i),
+ (this.element = 'openapi'),
+ this.classes.push('spec-version'),
+ this.classes.push('version');
+ }
+ }
+ const wh = Openapi;
+ class OpenApi3_0 extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'openApi3_0'), this.classes.push('api');
+ }
+ get openapi() {
+ return this.get('openapi');
+ }
+ set openapi(s) {
+ this.set('openapi', s);
+ }
+ get info() {
+ return this.get('info');
+ }
+ set info(s) {
+ this.set('info', s);
+ }
+ get servers() {
+ return this.get('servers');
+ }
+ set servers(s) {
+ this.set('servers', s);
+ }
+ get paths() {
+ return this.get('paths');
+ }
+ set paths(s) {
+ this.set('paths', s);
+ }
+ get components() {
+ return this.get('components');
+ }
+ set components(s) {
+ this.set('components', s);
+ }
+ get security() {
+ return this.get('security');
+ }
+ set security(s) {
+ this.set('security', s);
+ }
+ get tags() {
+ return this.get('tags');
+ }
+ set tags(s) {
+ this.set('tags', s);
+ }
+ get externalDocs() {
+ return this.get('externalDocs');
+ }
+ set externalDocs(s) {
+ this.set('externalDocs', s);
+ }
+ }
+ const Oh = OpenApi3_0;
+ class Operation extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'operation');
+ }
+ get tags() {
+ return this.get('tags');
+ }
+ set tags(s) {
+ this.set('tags', s);
+ }
+ get summary() {
+ return this.get('summary');
+ }
+ set summary(s) {
+ this.set('summary', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ set externalDocs(s) {
+ this.set('externalDocs', s);
+ }
+ get externalDocs() {
+ return this.get('externalDocs');
+ }
+ get operationId() {
+ return this.get('operationId');
+ }
+ set operationId(s) {
+ this.set('operationId', s);
+ }
+ get parameters() {
+ return this.get('parameters');
+ }
+ set parameters(s) {
+ this.set('parameters', s);
+ }
+ get requestBody() {
+ return this.get('requestBody');
+ }
+ set requestBody(s) {
+ this.set('requestBody', s);
+ }
+ get responses() {
+ return this.get('responses');
+ }
+ set responses(s) {
+ this.set('responses', s);
+ }
+ get callbacks() {
+ return this.get('callbacks');
+ }
+ set callbacks(s) {
+ this.set('callbacks', s);
+ }
+ get deprecated() {
+ return this.hasKey('deprecated') ? this.get('deprecated') : new Cu.bd(!1);
+ }
+ set deprecated(s) {
+ this.set('deprecated', s);
+ }
+ get security() {
+ return this.get('security');
+ }
+ set security(s) {
+ this.set('security', s);
+ }
+ get servers() {
+ return this.get('severs');
+ }
+ set servers(s) {
+ this.set('servers', s);
+ }
+ }
+ const jh = Operation;
+ class Parameter extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'parameter');
+ }
+ get name() {
+ return this.get('name');
+ }
+ set name(s) {
+ this.set('name', s);
+ }
+ get in() {
+ return this.get('in');
+ }
+ set in(s) {
+ this.set('in', s);
+ }
+ get required() {
+ return this.hasKey('required') ? this.get('required') : new Cu.bd(!1);
+ }
+ set required(s) {
+ this.set('required', s);
+ }
+ get deprecated() {
+ return this.hasKey('deprecated') ? this.get('deprecated') : new Cu.bd(!1);
+ }
+ set deprecated(s) {
+ this.set('deprecated', s);
+ }
+ get allowEmptyValue() {
+ return this.get('allowEmptyValue');
+ }
+ set allowEmptyValue(s) {
+ this.set('allowEmptyValue', s);
+ }
+ get style() {
+ return this.get('style');
+ }
+ set style(s) {
+ this.set('style', s);
+ }
+ get explode() {
+ return this.get('explode');
+ }
+ set explode(s) {
+ this.set('explode', s);
+ }
+ get allowReserved() {
+ return this.get('allowReserved');
+ }
+ set allowReserved(s) {
+ this.set('allowReserved', s);
+ }
+ get schema() {
+ return this.get('schema');
+ }
+ set schema(s) {
+ this.set('schema', s);
+ }
+ get example() {
+ return this.get('example');
+ }
+ set example(s) {
+ this.set('example', s);
+ }
+ get examples() {
+ return this.get('examples');
+ }
+ set examples(s) {
+ this.set('examples', s);
+ }
+ get contentProp() {
+ return this.get('content');
+ }
+ set contentProp(s) {
+ this.set('content', s);
+ }
+ }
+ Object.defineProperty(Parameter.prototype, 'description', {
+ get() {
+ return this.get('description');
+ },
+ set(s) {
+ this.set('description', s);
+ },
+ enumerable: !0
+ });
+ const Ih = Parameter;
+ class PathItem extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'pathItem');
+ }
+ get $ref() {
+ return this.get('$ref');
+ }
+ set $ref(s) {
+ this.set('$ref', s);
+ }
+ get summary() {
+ return this.get('summary');
+ }
+ set summary(s) {
+ this.set('summary', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get GET() {
+ return this.get('get');
+ }
+ set GET(s) {
+ this.set('GET', s);
+ }
+ get PUT() {
+ return this.get('put');
+ }
+ set PUT(s) {
+ this.set('PUT', s);
+ }
+ get POST() {
+ return this.get('post');
+ }
+ set POST(s) {
+ this.set('POST', s);
+ }
+ get DELETE() {
+ return this.get('delete');
+ }
+ set DELETE(s) {
+ this.set('DELETE', s);
+ }
+ get OPTIONS() {
+ return this.get('options');
+ }
+ set OPTIONS(s) {
+ this.set('OPTIONS', s);
+ }
+ get HEAD() {
+ return this.get('head');
+ }
+ set HEAD(s) {
+ this.set('HEAD', s);
+ }
+ get PATCH() {
+ return this.get('patch');
+ }
+ set PATCH(s) {
+ this.set('PATCH', s);
+ }
+ get TRACE() {
+ return this.get('trace');
+ }
+ set TRACE(s) {
+ this.set('TRACE', s);
+ }
+ get servers() {
+ return this.get('servers');
+ }
+ set servers(s) {
+ this.set('servers', s);
+ }
+ get parameters() {
+ return this.get('parameters');
+ }
+ set parameters(s) {
+ this.set('parameters', s);
+ }
+ }
+ const Ph = PathItem;
+ class Paths extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'paths');
+ }
+ }
+ const Rh = Paths;
+ class Reference extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'reference'), this.classes.push('openapi-reference');
+ }
+ get $ref() {
+ return this.get('$ref');
+ }
+ set $ref(s) {
+ this.set('$ref', s);
+ }
+ }
+ const Dh = Reference;
+ class RequestBody extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'requestBody');
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get contentProp() {
+ return this.get('content');
+ }
+ set contentProp(s) {
+ this.set('content', s);
+ }
+ get required() {
+ return this.hasKey('required') ? this.get('required') : new Cu.bd(!1);
+ }
+ set required(s) {
+ this.set('required', s);
+ }
+ }
+ const Lh = RequestBody;
+ class Response_Response extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'response');
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get headers() {
+ return this.get('headers');
+ }
+ set headers(s) {
+ this.set('headers', s);
+ }
+ get contentProp() {
+ return this.get('content');
+ }
+ set contentProp(s) {
+ this.set('content', s);
+ }
+ get links() {
+ return this.get('links');
+ }
+ set links(s) {
+ this.set('links', s);
+ }
+ }
+ const Fh = Response_Response;
+ class Responses extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'responses');
+ }
+ get default() {
+ return this.get('default');
+ }
+ set default(s) {
+ this.set('default', s);
+ }
+ }
+ const Kh = Responses;
+ const Hh = class UnsupportedOperationError extends Ho {};
+ class JSONSchema extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'JSONSchemaDraft4');
+ }
+ get idProp() {
+ return this.get('id');
+ }
+ set idProp(s) {
+ this.set('id', s);
+ }
+ get $schema() {
+ return this.get('$schema');
+ }
+ set $schema(s) {
+ this.set('$schema', s);
+ }
+ get multipleOf() {
+ return this.get('multipleOf');
+ }
+ set multipleOf(s) {
+ this.set('multipleOf', s);
+ }
+ get maximum() {
+ return this.get('maximum');
+ }
+ set maximum(s) {
+ this.set('maximum', s);
+ }
+ get exclusiveMaximum() {
+ return this.get('exclusiveMaximum');
+ }
+ set exclusiveMaximum(s) {
+ this.set('exclusiveMaximum', s);
+ }
+ get minimum() {
+ return this.get('minimum');
+ }
+ set minimum(s) {
+ this.set('minimum', s);
+ }
+ get exclusiveMinimum() {
+ return this.get('exclusiveMinimum');
+ }
+ set exclusiveMinimum(s) {
+ this.set('exclusiveMinimum', s);
+ }
+ get maxLength() {
+ return this.get('maxLength');
+ }
+ set maxLength(s) {
+ this.set('maxLength', s);
+ }
+ get minLength() {
+ return this.get('minLength');
+ }
+ set minLength(s) {
+ this.set('minLength', s);
+ }
+ get pattern() {
+ return this.get('pattern');
+ }
+ set pattern(s) {
+ this.set('pattern', s);
+ }
+ get additionalItems() {
+ return this.get('additionalItems');
+ }
+ set additionalItems(s) {
+ this.set('additionalItems', s);
+ }
+ get items() {
+ return this.get('items');
+ }
+ set items(s) {
+ this.set('items', s);
+ }
+ get maxItems() {
+ return this.get('maxItems');
+ }
+ set maxItems(s) {
+ this.set('maxItems', s);
+ }
+ get minItems() {
+ return this.get('minItems');
+ }
+ set minItems(s) {
+ this.set('minItems', s);
+ }
+ get uniqueItems() {
+ return this.get('uniqueItems');
+ }
+ set uniqueItems(s) {
+ this.set('uniqueItems', s);
+ }
+ get maxProperties() {
+ return this.get('maxProperties');
+ }
+ set maxProperties(s) {
+ this.set('maxProperties', s);
+ }
+ get minProperties() {
+ return this.get('minProperties');
+ }
+ set minProperties(s) {
+ this.set('minProperties', s);
+ }
+ get required() {
+ return this.get('required');
+ }
+ set required(s) {
+ this.set('required', s);
+ }
+ get properties() {
+ return this.get('properties');
+ }
+ set properties(s) {
+ this.set('properties', s);
+ }
+ get additionalProperties() {
+ return this.get('additionalProperties');
+ }
+ set additionalProperties(s) {
+ this.set('additionalProperties', s);
+ }
+ get patternProperties() {
+ return this.get('patternProperties');
+ }
+ set patternProperties(s) {
+ this.set('patternProperties', s);
+ }
+ get dependencies() {
+ return this.get('dependencies');
+ }
+ set dependencies(s) {
+ this.set('dependencies', s);
+ }
+ get enum() {
+ return this.get('enum');
+ }
+ set enum(s) {
+ this.set('enum', s);
+ }
+ get type() {
+ return this.get('type');
+ }
+ set type(s) {
+ this.set('type', s);
+ }
+ get allOf() {
+ return this.get('allOf');
+ }
+ set allOf(s) {
+ this.set('allOf', s);
+ }
+ get anyOf() {
+ return this.get('anyOf');
+ }
+ set anyOf(s) {
+ this.set('anyOf', s);
+ }
+ get oneOf() {
+ return this.get('oneOf');
+ }
+ set oneOf(s) {
+ this.set('oneOf', s);
+ }
+ get not() {
+ return this.get('not');
+ }
+ set not(s) {
+ this.set('not', s);
+ }
+ get definitions() {
+ return this.get('definitions');
+ }
+ set definitions(s) {
+ this.set('definitions', s);
+ }
+ get title() {
+ return this.get('title');
+ }
+ set title(s) {
+ this.set('title', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get default() {
+ return this.get('default');
+ }
+ set default(s) {
+ this.set('default', s);
+ }
+ get format() {
+ return this.get('format');
+ }
+ set format(s) {
+ this.set('format', s);
+ }
+ get base() {
+ return this.get('base');
+ }
+ set base(s) {
+ this.set('base', s);
+ }
+ get links() {
+ return this.get('links');
+ }
+ set links(s) {
+ this.set('links', s);
+ }
+ get media() {
+ return this.get('media');
+ }
+ set media(s) {
+ this.set('media', s);
+ }
+ get readOnly() {
+ return this.get('readOnly');
+ }
+ set readOnly(s) {
+ this.set('readOnly', s);
+ }
+ }
+ const Jh = JSONSchema;
+ class JSONReference extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'JSONReference'), this.classes.push('json-reference');
+ }
+ get $ref() {
+ return this.get('$ref');
+ }
+ set $ref(s) {
+ this.set('$ref', s);
+ }
+ }
+ const Gh = JSONReference;
+ class Media extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'media');
+ }
+ get binaryEncoding() {
+ return this.get('binaryEncoding');
+ }
+ set binaryEncoding(s) {
+ this.set('binaryEncoding', s);
+ }
+ get type() {
+ return this.get('type');
+ }
+ set type(s) {
+ this.set('type', s);
+ }
+ }
+ const Qh = Media;
+ class LinkDescription extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'linkDescription');
+ }
+ get href() {
+ return this.get('href');
+ }
+ set href(s) {
+ this.set('href', s);
+ }
+ get rel() {
+ return this.get('rel');
+ }
+ set rel(s) {
+ this.set('rel', s);
+ }
+ get title() {
+ return this.get('title');
+ }
+ set title(s) {
+ this.set('title', s);
+ }
+ get targetSchema() {
+ return this.get('targetSchema');
+ }
+ set targetSchema(s) {
+ this.set('targetSchema', s);
+ }
+ get mediaType() {
+ return this.get('mediaType');
+ }
+ set mediaType(s) {
+ this.set('mediaType', s);
+ }
+ get method() {
+ return this.get('method');
+ }
+ set method(s) {
+ this.set('method', s);
+ }
+ get encType() {
+ return this.get('encType');
+ }
+ set encType(s) {
+ this.set('encType', s);
+ }
+ get schema() {
+ return this.get('schema');
+ }
+ set schema(s) {
+ this.set('schema', s);
+ }
+ }
+ const td = LinkDescription;
+ var sd = _curry2(function mapObjIndexed(s, o) {
+ return _arrayReduce(
+ function (i, u) {
+ return (i[u] = s(o[u], u, o)), i;
+ },
+ {},
+ Wi(o)
+ );
+ });
+ const id = sd;
+ const ld = _curry1(function isNil(s) {
+ return null == s;
+ });
+ var cd = _curry2(function hasPath(s, o) {
+ if (0 === s.length || ld(o)) return !1;
+ for (var i = o, u = 0; u < s.length; ) {
+ if (ld(i) || !_has(s[u], i)) return !1;
+ (i = i[s[u]]), (u += 1);
+ }
+ return !0;
+ });
+ const ud = cd;
+ var dd = _curry2(function has(s, o) {
+ return ud([s], o);
+ });
+ const md = dd;
+ const yd = _curry3(function propSatisfies(s, o, i) {
+ return s(Da(o, i));
+ }),
+ dereference = (s, o) => {
+ const i = Na(s, o);
+ return id((s) => {
+ if (ku(s) && md('$ref', s) && yd(Yl, '$ref', s)) {
+ const o = cp(['$ref'], s),
+ u = Up('#/', o);
+ return cp(u.split('/'), i);
+ }
+ return ku(s) ? dereference(s, i) : s;
+ }, s);
+ },
+ emptyElement = (s) => {
+ const o = s.meta.length > 0 ? cloneDeep(s.meta) : void 0,
+ i = s.attributes.length > 0 ? cloneDeep(s.attributes) : void 0;
+ return new s.constructor(void 0, o, i);
+ },
+ cloneUnlessOtherwiseSpecified = (s, o) =>
+ o.clone && o.isMergeableElement(s) ? deepmerge(emptyElement(s), s, o) : s,
+ getMetaMergeFunction = (s) =>
+ 'function' != typeof s.customMetaMerge ? (s) => cloneDeep(s) : s.customMetaMerge,
+ getAttributesMergeFunction = (s) =>
+ 'function' != typeof s.customAttributesMerge
+ ? (s) => cloneDeep(s)
+ : s.customAttributesMerge,
+ vd = {
+ clone: !0,
+ isMergeableElement: (s) => Fu(s) || qu(s),
+ arrayElementMerge: (s, o, i) =>
+ s.concat(o)['fantasy-land/map']((s) => cloneUnlessOtherwiseSpecified(s, i)),
+ objectElementMerge: (s, o, i) => {
+ const u = Fu(s) ? emptyElement(s) : emptyElement(o);
+ return (
+ Fu(s) &&
+ s.forEach((s, o, _) => {
+ const w = cloneShallow(_);
+ (w.value = cloneUnlessOtherwiseSpecified(s, i)), u.content.push(w);
+ }),
+ o.forEach((o, _, w) => {
+ const x = serializers_value(_);
+ let C;
+ if (Fu(s) && s.hasKey(x) && i.isMergeableElement(o)) {
+ const u = s.get(x);
+ (C = cloneShallow(w)),
+ (C.value = ((s, o) => {
+ if ('function' != typeof o.customMerge) return deepmerge;
+ const i = o.customMerge(s, o);
+ return 'function' == typeof i ? i : deepmerge;
+ })(_, i)(u, o));
+ } else (C = cloneShallow(w)), (C.value = cloneUnlessOtherwiseSpecified(o, i));
+ u.remove(x), u.content.push(C);
+ }),
+ u
+ );
+ },
+ customMerge: void 0,
+ customMetaMerge: void 0,
+ customAttributesMerge: void 0
+ };
+ function deepmerge(s, o, i) {
+ var u, _, w;
+ const x = { ...vd, ...i };
+ (x.isMergeableElement =
+ null !== (u = x.isMergeableElement) && void 0 !== u ? u : vd.isMergeableElement),
+ (x.arrayElementMerge =
+ null !== (_ = x.arrayElementMerge) && void 0 !== _ ? _ : vd.arrayElementMerge),
+ (x.objectElementMerge =
+ null !== (w = x.objectElementMerge) && void 0 !== w ? w : vd.objectElementMerge);
+ const C = qu(o);
+ if (!(C === qu(s))) return cloneUnlessOtherwiseSpecified(o, x);
+ const j =
+ C && 'function' == typeof x.arrayElementMerge
+ ? x.arrayElementMerge(s, o, x)
+ : x.objectElementMerge(s, o, x);
+ return (
+ (j.meta = getMetaMergeFunction(x)(s.meta, o.meta)),
+ (j.attributes = getAttributesMergeFunction(x)(s.attributes, o.attributes)),
+ j
+ );
+ }
+ deepmerge.all = (s, o) => {
+ if (!Array.isArray(s))
+ throw new TypeError('First argument of deepmerge should be an array.');
+ return 0 === s.length
+ ? new Cu.Sh()
+ : s.reduce((s, i) => deepmerge(s, i, o), emptyElement(s[0]));
+ };
+ const _d = class Visitor_Visitor {
+ element;
+ constructor(s) {
+ Object.assign(this, s);
+ }
+ copyMetaAndAttributes(s, o) {
+ (s.meta.length > 0 || o.meta.length > 0) &&
+ ((o.meta = deepmerge(o.meta, s.meta)),
+ hasElementSourceMap(s) && o.meta.set('sourceMap', s.meta.get('sourceMap'))),
+ (s.attributes.length > 0 || s.meta.length > 0) &&
+ (o.attributes = deepmerge(o.attributes, s.attributes));
+ }
+ };
+ const Ed = class FallbackVisitor extends _d {
+ enter(s) {
+ return (this.element = cloneDeep(s)), Ju;
+ }
+ },
+ copyProps = (s, o, i = []) => {
+ const u = Object.getOwnPropertyDescriptors(o);
+ for (let s of i) delete u[s];
+ Object.defineProperties(s, u);
+ },
+ protoChain = (s, o = [s]) => {
+ const i = Object.getPrototypeOf(s);
+ return null === i ? o : protoChain(i, [...o, i]);
+ },
+ hardMixProtos = (s, o, i = []) => {
+ var u;
+ const _ =
+ null !==
+ (u = ((...s) => {
+ if (0 === s.length) return;
+ let o;
+ const i = s.map((s) => protoChain(s));
+ for (; i.every((s) => s.length > 0); ) {
+ const s = i.map((s) => s.pop()),
+ u = s[0];
+ if (!s.every((s) => s === u)) break;
+ o = u;
+ }
+ return o;
+ })(...s)) && void 0 !== u
+ ? u
+ : Object.prototype,
+ w = Object.create(_),
+ x = protoChain(_);
+ for (let o of s) {
+ let s = protoChain(o);
+ for (let o = s.length - 1; o >= 0; o--) {
+ let u = s[o];
+ -1 === x.indexOf(u) && (copyProps(w, u, ['constructor', ...i]), x.push(u));
+ }
+ }
+ return (w.constructor = o), w;
+ },
+ unique = (s) => s.filter((o, i) => s.indexOf(o) == i),
+ getIngredientWithProp = (s, o) => {
+ const i = o.map((s) => protoChain(s));
+ let u = 0,
+ _ = !0;
+ for (; _; ) {
+ _ = !1;
+ for (let w = o.length - 1; w >= 0; w--) {
+ const o = i[w][u];
+ if (null != o && ((_ = !0), null != Object.getOwnPropertyDescriptor(o, s)))
+ return i[w][0];
+ }
+ u++;
+ }
+ },
+ proxyMix = (s, o = Object.prototype) =>
+ new Proxy(
+ {},
+ {
+ getPrototypeOf: () => o,
+ setPrototypeOf() {
+ throw Error('Cannot set prototype of Proxies created by ts-mixer');
+ },
+ getOwnPropertyDescriptor: (o, i) =>
+ Object.getOwnPropertyDescriptor(getIngredientWithProp(i, s) || {}, i),
+ defineProperty() {
+ throw new Error('Cannot define new properties on Proxies created by ts-mixer');
+ },
+ has: (i, u) => void 0 !== getIngredientWithProp(u, s) || void 0 !== o[u],
+ get: (i, u) => (getIngredientWithProp(u, s) || o)[u],
+ set(o, i, u) {
+ const _ = getIngredientWithProp(i, s);
+ if (void 0 === _)
+ throw new Error('Cannot set new properties on Proxies created by ts-mixer');
+ return (_[i] = u), !0;
+ },
+ deleteProperty() {
+ throw new Error('Cannot delete properties on Proxies created by ts-mixer');
+ },
+ ownKeys: () =>
+ s
+ .map(Object.getOwnPropertyNames)
+ .reduce((s, o) => o.concat(s.filter((s) => o.indexOf(s) < 0)))
+ }
+ ),
+ wd = null,
+ Sd = 'copy',
+ xd = 'copy',
+ kd = 'deep',
+ Cd = new WeakMap(),
+ getMixinsForClass = (s) => Cd.get(s),
+ mergeObjectsOfDecorators = (s, o) => {
+ var i, u;
+ const _ = unique([...Object.getOwnPropertyNames(s), ...Object.getOwnPropertyNames(o)]),
+ w = {};
+ for (let x of _)
+ w[x] = unique([
+ ...(null !== (i = null == s ? void 0 : s[x]) && void 0 !== i ? i : []),
+ ...(null !== (u = null == o ? void 0 : o[x]) && void 0 !== u ? u : [])
+ ]);
+ return w;
+ },
+ mergePropertyAndMethodDecorators = (s, o) => {
+ var i, u, _, w;
+ return {
+ property: mergeObjectsOfDecorators(
+ null !== (i = null == s ? void 0 : s.property) && void 0 !== i ? i : {},
+ null !== (u = null == o ? void 0 : o.property) && void 0 !== u ? u : {}
+ ),
+ method: mergeObjectsOfDecorators(
+ null !== (_ = null == s ? void 0 : s.method) && void 0 !== _ ? _ : {},
+ null !== (w = null == o ? void 0 : o.method) && void 0 !== w ? w : {}
+ )
+ };
+ },
+ mergeDecorators = (s, o) => {
+ var i, u, _, w, x, C;
+ return {
+ class: unique([
+ ...(null !== (i = null == s ? void 0 : s.class) && void 0 !== i ? i : []),
+ ...(null !== (u = null == o ? void 0 : o.class) && void 0 !== u ? u : [])
+ ]),
+ static: mergePropertyAndMethodDecorators(
+ null !== (_ = null == s ? void 0 : s.static) && void 0 !== _ ? _ : {},
+ null !== (w = null == o ? void 0 : o.static) && void 0 !== w ? w : {}
+ ),
+ instance: mergePropertyAndMethodDecorators(
+ null !== (x = null == s ? void 0 : s.instance) && void 0 !== x ? x : {},
+ null !== (C = null == o ? void 0 : o.instance) && void 0 !== C ? C : {}
+ )
+ };
+ },
+ Od = new Map(),
+ deepDecoratorSearch = (...s) => {
+ const o = ((...s) => {
+ var o;
+ const i = new Set(),
+ u = new Set([...s]);
+ for (; u.size > 0; )
+ for (let s of u) {
+ const _ = protoChain(s.prototype).map((s) => s.constructor),
+ w = [
+ ..._,
+ ...(null !== (o = getMixinsForClass(s)) && void 0 !== o ? o : [])
+ ].filter((s) => !i.has(s));
+ for (let s of w) u.add(s);
+ i.add(s), u.delete(s);
+ }
+ return [...i];
+ })(...s)
+ .map((s) => Od.get(s))
+ .filter((s) => !!s);
+ return 0 == o.length
+ ? {}
+ : 1 == o.length
+ ? o[0]
+ : o.reduce((s, o) => mergeDecorators(s, o));
+ },
+ getDecoratorsForClass = (s) => {
+ let o = Od.get(s);
+ return o || ((o = {}), Od.set(s, o)), o;
+ };
+ function Mixin(...s) {
+ var o, i, u;
+ const _ = s.map((s) => s.prototype),
+ w = wd;
+ if (null !== w) {
+ const s = _.map((s) => s[w]).filter((s) => 'function' == typeof s),
+ combinedInitFunction = function (...o) {
+ for (let i of s) i.apply(this, o);
+ },
+ o = { [w]: combinedInitFunction };
+ _.push(o);
+ }
+ function MixedClass(...o) {
+ for (const i of s) copyProps(this, new i(...o));
+ null !== w && 'function' == typeof this[w] && this[w].apply(this, o);
+ }
+ var x, C;
+ (MixedClass.prototype =
+ 'copy' === xd
+ ? hardMixProtos(_, MixedClass)
+ : ((x = _), (C = MixedClass), proxyMix([...x, { constructor: C }]))),
+ Object.setPrototypeOf(
+ MixedClass,
+ 'copy' === Sd
+ ? hardMixProtos(s, null, ['prototype'])
+ : proxyMix(s, Function.prototype)
+ );
+ let j = MixedClass;
+ if ('none' !== kd) {
+ const _ =
+ 'deep' === kd
+ ? deepDecoratorSearch(...s)
+ : ((...s) => {
+ const o = s.map((s) => getDecoratorsForClass(s));
+ return 0 === o.length
+ ? {}
+ : 1 === o.length
+ ? o[0]
+ : o.reduce((s, o) => mergeDecorators(s, o));
+ })(...s);
+ for (let s of null !== (o = null == _ ? void 0 : _.class) && void 0 !== o ? o : []) {
+ const o = s(j);
+ o && (j = o);
+ }
+ applyPropAndMethodDecorators(
+ null !== (i = null == _ ? void 0 : _.static) && void 0 !== i ? i : {},
+ j
+ ),
+ applyPropAndMethodDecorators(
+ null !== (u = null == _ ? void 0 : _.instance) && void 0 !== u ? u : {},
+ j.prototype
+ );
+ }
+ var L, B;
+ return (L = j), (B = s), Cd.set(L, B), j;
+ }
+ const applyPropAndMethodDecorators = (s, o) => {
+ const i = s.property,
+ u = s.method;
+ if (i) for (let s in i) for (let u of i[s]) u(o, s);
+ if (u)
+ for (let s in u) for (let i of u[s]) i(o, s, Object.getOwnPropertyDescriptor(o, s));
+ };
+ const Ad = _curry2(function pick(s, o) {
+ for (var i = {}, u = 0; u < s.length; ) s[u] in o && (i[s[u]] = o[s[u]]), (u += 1);
+ return i;
+ });
+ const Id = class SpecificationVisitor extends _d {
+ specObj;
+ passingOptionsNames = ['specObj'];
+ constructor({ specObj: s, ...o }) {
+ super({ ...o }), (this.specObj = s);
+ }
+ retrievePassingOptions() {
+ return Ad(this.passingOptionsNames, this);
+ }
+ retrieveFixedFields(s) {
+ const o = cp(['visitors', ...s, 'fixedFields'], this.specObj);
+ return 'object' == typeof o && null !== o ? Object.keys(o) : [];
+ }
+ retrieveVisitor(s) {
+ return Xo(Wl, ['visitors', ...s], this.specObj)
+ ? cp(['visitors', ...s], this.specObj)
+ : cp(['visitors', ...s, '$visitor'], this.specObj);
+ }
+ retrieveVisitorInstance(s, o = {}) {
+ const i = this.retrievePassingOptions();
+ return new (this.retrieveVisitor(s))({ ...i, ...o });
+ }
+ toRefractedElement(s, o, i = {}) {
+ const u = this.retrieveVisitorInstance(s, i);
+ return u instanceof Ed && (null == u ? void 0 : u.constructor) === Ed
+ ? cloneDeep(o)
+ : (visitor_visit(o, u, i), u.element);
+ }
+ };
+ const Md = class FixedFieldsVisitor extends Id {
+ specPath;
+ ignoredFields;
+ constructor({ specPath: s, ignoredFields: o, ...i }) {
+ super({ ...i }), (this.specPath = s), (this.ignoredFields = o || []);
+ }
+ ObjectElement(s) {
+ const o = this.specPath(s),
+ i = this.retrieveFixedFields(o);
+ return (
+ s.forEach((s, u, _) => {
+ if (
+ Ru(u) &&
+ i.includes(serializers_value(u)) &&
+ !this.ignoredFields.includes(serializers_value(u))
+ ) {
+ const i = this.toRefractedElement([...o, 'fixedFields', serializers_value(u)], s),
+ w = new Cu.Pr(cloneDeep(u), i);
+ this.copyMetaAndAttributes(_, w),
+ w.classes.push('fixed-field'),
+ this.element.content.push(w);
+ } else
+ this.ignoredFields.includes(serializers_value(u)) ||
+ this.element.content.push(cloneDeep(_));
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ };
+ class JSONSchemaVisitor extends Mixin(Md, Ed) {
+ constructor(s) {
+ super(s),
+ (this.element = new Jh()),
+ (this.specPath = Tl(['document', 'objects', 'JSONSchema']));
+ }
+ }
+ const Td = JSONSchemaVisitor;
+ const Nd = class ParentSchemaAwareVisitor {
+ parent;
+ constructor({ parent: s }) {
+ this.parent = s;
+ }
+ },
+ isJSONReferenceLikeElement = (s) => Fu(s) && s.hasKey('$ref');
+ class ItemsVisitor extends Mixin(Id, Nd, Ed) {
+ ObjectElement(s) {
+ const o = isJSONReferenceLikeElement(s)
+ ? ['document', 'objects', 'JSONReference']
+ : ['document', 'objects', 'JSONSchema'];
+ return (this.element = this.toRefractedElement(o, s)), Ju;
+ }
+ ArrayElement(s) {
+ return (
+ (this.element = new Cu.wE()),
+ this.element.classes.push('json-schema-items'),
+ s.forEach((s) => {
+ const o = isJSONReferenceLikeElement(s)
+ ? ['document', 'objects', 'JSONReference']
+ : ['document', 'objects', 'JSONSchema'],
+ i = this.toRefractedElement(o, s);
+ this.element.push(i);
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const Rd = ItemsVisitor;
+ const Dd = class RequiredVisitor extends Ed {
+ ArrayElement(s) {
+ const o = this.enter(s);
+ return this.element.classes.push('json-schema-required'), o;
+ }
+ };
+ const Ld = _curry1(function allPass(s) {
+ return za(Ca(Ll, 0, Fl('length', s)), function () {
+ for (var o = 0, i = s.length; o < i; ) {
+ if (!s[o].apply(this, arguments)) return !1;
+ o += 1;
+ }
+ return !0;
+ });
+ });
+ const Bd = _curry1(function isNotEmpty(s) {
+ return !gp(s);
+ });
+ const Fd = _curry2(function or(s, o) {
+ return s || o;
+ });
+ var $d = Ml(
+ za(
+ 1,
+ gu(
+ vu,
+ _curry2(function either(s, o) {
+ return _isFunction(s)
+ ? function _either() {
+ return s.apply(this, arguments) || o.apply(this, arguments);
+ }
+ : Pl(Fd)(s, o);
+ })(bu, Wl)
+ )
+ )
+ );
+ const Vd = Ld([Yl, $d, Bd]);
+ const Ud = class PatternedFieldsVisitor extends Id {
+ specPath;
+ ignoredFields;
+ fieldPatternPredicate = es_F;
+ constructor({ specPath: s, ignoredFields: o, fieldPatternPredicate: i, ...u }) {
+ super({ ...u }),
+ (this.specPath = s),
+ (this.ignoredFields = o || []),
+ 'function' == typeof i && (this.fieldPatternPredicate = i);
+ }
+ ObjectElement(s) {
+ return (
+ s.forEach((s, o, i) => {
+ if (
+ !this.ignoredFields.includes(serializers_value(o)) &&
+ this.fieldPatternPredicate(serializers_value(o))
+ ) {
+ const u = this.specPath(s),
+ _ = this.toRefractedElement(u, s),
+ w = new Cu.Pr(cloneDeep(o), _);
+ this.copyMetaAndAttributes(i, w),
+ w.classes.push('patterned-field'),
+ this.element.content.push(w);
+ } else
+ this.ignoredFields.includes(serializers_value(o)) ||
+ this.element.content.push(cloneDeep(i));
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ };
+ const Wd = class MapVisitor extends Ud {
+ constructor(s) {
+ super(s), (this.fieldPatternPredicate = Vd);
+ }
+ };
+ class PropertiesVisitor extends Mixin(Wd, Nd, Ed) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('json-schema-properties'),
+ (this.specPath = (s) =>
+ isJSONReferenceLikeElement(s)
+ ? ['document', 'objects', 'JSONReference']
+ : ['document', 'objects', 'JSONSchema']);
+ }
+ }
+ const Kd = PropertiesVisitor;
+ class PatternPropertiesVisitor extends Mixin(Wd, Nd, Ed) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('json-schema-patternProperties'),
+ (this.specPath = (s) =>
+ isJSONReferenceLikeElement(s)
+ ? ['document', 'objects', 'JSONReference']
+ : ['document', 'objects', 'JSONSchema']);
+ }
+ }
+ const Hd = PatternPropertiesVisitor;
+ class DependenciesVisitor extends Mixin(Wd, Nd, Ed) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('json-schema-dependencies'),
+ (this.specPath = (s) =>
+ isJSONReferenceLikeElement(s)
+ ? ['document', 'objects', 'JSONReference']
+ : ['document', 'objects', 'JSONSchema']);
+ }
+ }
+ const Jd = DependenciesVisitor;
+ const Gd = class EnumVisitor extends Ed {
+ ArrayElement(s) {
+ const o = this.enter(s);
+ return this.element.classes.push('json-schema-enum'), o;
+ }
+ };
+ const Yd = class TypeVisitor extends Ed {
+ StringElement(s) {
+ const o = this.enter(s);
+ return this.element.classes.push('json-schema-type'), o;
+ }
+ ArrayElement(s) {
+ const o = this.enter(s);
+ return this.element.classes.push('json-schema-type'), o;
+ }
+ };
+ class AllOfVisitor extends Mixin(Id, Nd, Ed) {
+ constructor(s) {
+ super(s), (this.element = new Cu.wE()), this.element.classes.push('json-schema-allOf');
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ const o = isJSONReferenceLikeElement(s)
+ ? ['document', 'objects', 'JSONReference']
+ : ['document', 'objects', 'JSONSchema'],
+ i = this.toRefractedElement(o, s);
+ this.element.push(i);
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const Xd = AllOfVisitor;
+ class AnyOfVisitor extends Mixin(Id, Nd, Ed) {
+ constructor(s) {
+ super(s), (this.element = new Cu.wE()), this.element.classes.push('json-schema-anyOf');
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ const o = isJSONReferenceLikeElement(s)
+ ? ['document', 'objects', 'JSONReference']
+ : ['document', 'objects', 'JSONSchema'],
+ i = this.toRefractedElement(o, s);
+ this.element.push(i);
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const Zd = AnyOfVisitor;
+ class OneOfVisitor extends Mixin(Id, Nd, Ed) {
+ constructor(s) {
+ super(s), (this.element = new Cu.wE()), this.element.classes.push('json-schema-oneOf');
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ const o = isJSONReferenceLikeElement(s)
+ ? ['document', 'objects', 'JSONReference']
+ : ['document', 'objects', 'JSONSchema'],
+ i = this.toRefractedElement(o, s);
+ this.element.push(i);
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const Qd = OneOfVisitor;
+ class DefinitionsVisitor extends Mixin(Wd, Nd, Ed) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('json-schema-definitions'),
+ (this.specPath = (s) =>
+ isJSONReferenceLikeElement(s)
+ ? ['document', 'objects', 'JSONReference']
+ : ['document', 'objects', 'JSONSchema']);
+ }
+ }
+ const ef = DefinitionsVisitor;
+ class LinksVisitor extends Mixin(Id, Nd, Ed) {
+ constructor(s) {
+ super(s), (this.element = new Cu.wE()), this.element.classes.push('json-schema-links');
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ const o = this.toRefractedElement(['document', 'objects', 'LinkDescription'], s);
+ this.element.push(o);
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const rf = LinksVisitor;
+ class JSONReferenceVisitor extends Mixin(Md, Ed) {
+ constructor(s) {
+ super(s),
+ (this.element = new Gh()),
+ (this.specPath = Tl(['document', 'objects', 'JSONReference']));
+ }
+ ObjectElement(s) {
+ const o = Md.prototype.ObjectElement.call(this, s);
+ return Ru(this.element.$ref) && this.element.classes.push('reference-element'), o;
+ }
+ }
+ const of = JSONReferenceVisitor;
+ const af = class $RefVisitor extends Ed {
+ StringElement(s) {
+ const o = this.enter(s);
+ return this.element.classes.push('reference-value'), o;
+ }
+ };
+ const lf = _curry3(function ifElse(s, o, i) {
+ return za(Math.max(s.length, o.length, i.length), function _ifElse() {
+ return s.apply(this, arguments) ? o.apply(this, arguments) : i.apply(this, arguments);
+ });
+ });
+ const cf = _curry1(function comparator(s) {
+ return function (o, i) {
+ return s(o, i) ? -1 : s(i, o) ? 1 : 0;
+ };
+ });
+ var uf = _curry2(function sort(s, o) {
+ return Array.prototype.slice.call(o, 0).sort(s);
+ });
+ const hf = uf;
+ var df = _curry1(function (s) {
+ return _nth(0, s);
+ });
+ const mf = df;
+ const gf = _curry1(_reduced);
+ const yf = Ml(ld);
+ const bf = gu(yp, Bd);
+ function _toConsumableArray(s) {
+ return (
+ (function _arrayWithoutHoles(s) {
+ if (Array.isArray(s)) return _arrayLikeToArray(s);
+ })(s) ||
+ (function _iterableToArray(s) {
+ if (
+ ('undefined' != typeof Symbol && null != s[Symbol.iterator]) ||
+ null != s['@@iterator']
+ )
+ return Array.from(s);
+ })(s) ||
+ (function _unsupportedIterableToArray(s, o) {
+ if (s) {
+ if ('string' == typeof s) return _arrayLikeToArray(s, o);
+ var i = {}.toString.call(s).slice(8, -1);
+ return (
+ 'Object' === i && s.constructor && (i = s.constructor.name),
+ 'Map' === i || 'Set' === i
+ ? Array.from(s)
+ : 'Arguments' === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)
+ ? _arrayLikeToArray(s, o)
+ : void 0
+ );
+ }
+ })(s) ||
+ (function _nonIterableSpread() {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
+ );
+ })()
+ );
+ }
+ function _arrayLikeToArray(s, o) {
+ (null == o || o > s.length) && (o = s.length);
+ for (var i = 0, u = Array(o); i < o; i++) u[i] = s[i];
+ return u;
+ }
+ var _f = pipe(
+ hf(
+ cf(function (s, o) {
+ return s.length > o.length;
+ })
+ ),
+ mf,
+ Da('length')
+ ),
+ Sf = Ja(function (s, o, i) {
+ var u = i.apply(void 0, _toConsumableArray(s));
+ return yf(u) ? gf(u) : o;
+ });
+ const xf = lf(
+ bf,
+ function dispatchImpl(s) {
+ var o = _f(s);
+ return za(o, function () {
+ for (var o = arguments.length, i = new Array(o), u = 0; u < o; u++)
+ i[u] = arguments[u];
+ return Ca(Sf(i), void 0, s);
+ });
+ },
+ Nl
+ );
+ const kf = class AlternatingVisitor extends Id {
+ alternator;
+ constructor({ alternator: s, ...o }) {
+ super({ ...o }), (this.alternator = s);
+ }
+ enter(s) {
+ const o = this.alternator.map(({ predicate: s, specPath: o }) => lf(s, Tl(o), Nl)),
+ i = xf(o)(s);
+ return (this.element = this.toRefractedElement(i, s)), Ju;
+ }
+ };
+ const Cf = class SchemaOrReferenceVisitor extends kf {
+ constructor(s) {
+ super(s),
+ (this.alternator = [
+ {
+ predicate: isJSONReferenceLikeElement,
+ specPath: ['document', 'objects', 'JSONReference']
+ },
+ { predicate: es_T, specPath: ['document', 'objects', 'JSONSchema'] }
+ ]);
+ }
+ };
+ class MediaVisitor extends Mixin(Md, Ed) {
+ constructor(s) {
+ super(s),
+ (this.element = new Qh()),
+ (this.specPath = Tl(['document', 'objects', 'Media']));
+ }
+ }
+ const Of = MediaVisitor;
+ class LinkDescriptionVisitor extends Mixin(Md, Ed) {
+ constructor(s) {
+ super(s),
+ (this.element = new td()),
+ (this.specPath = Tl(['document', 'objects', 'LinkDescription']));
+ }
+ }
+ const jf = {
+ visitors: {
+ value: Ed,
+ JSONSchemaOrJSONReferenceVisitor: Cf,
+ document: {
+ objects: {
+ JSONSchema: {
+ $visitor: Td,
+ fixedFields: {
+ id: { $ref: '#/visitors/value' },
+ $schema: { $ref: '#/visitors/value' },
+ multipleOf: { $ref: '#/visitors/value' },
+ maximum: { $ref: '#/visitors/value' },
+ exclusiveMaximum: { $ref: '#/visitors/value' },
+ minimum: { $ref: '#/visitors/value' },
+ exclusiveMinimum: { $ref: '#/visitors/value' },
+ maxLength: { $ref: '#/visitors/value' },
+ minLength: { $ref: '#/visitors/value' },
+ pattern: { $ref: '#/visitors/value' },
+ additionalItems: Cf,
+ items: Rd,
+ maxItems: { $ref: '#/visitors/value' },
+ minItems: { $ref: '#/visitors/value' },
+ uniqueItems: { $ref: '#/visitors/value' },
+ maxProperties: { $ref: '#/visitors/value' },
+ minProperties: { $ref: '#/visitors/value' },
+ required: Dd,
+ properties: Kd,
+ additionalProperties: Cf,
+ patternProperties: Hd,
+ dependencies: Jd,
+ enum: Gd,
+ type: Yd,
+ allOf: Xd,
+ anyOf: Zd,
+ oneOf: Qd,
+ not: Cf,
+ definitions: ef,
+ title: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ default: { $ref: '#/visitors/value' },
+ format: { $ref: '#/visitors/value' },
+ base: { $ref: '#/visitors/value' },
+ links: rf,
+ media: { $ref: '#/visitors/document/objects/Media' },
+ readOnly: { $ref: '#/visitors/value' }
+ }
+ },
+ JSONReference: { $visitor: of, fixedFields: { $ref: af } },
+ Media: {
+ $visitor: Of,
+ fixedFields: {
+ binaryEncoding: { $ref: '#/visitors/value' },
+ type: { $ref: '#/visitors/value' }
+ }
+ },
+ LinkDescription: {
+ $visitor: LinkDescriptionVisitor,
+ fixedFields: {
+ href: { $ref: '#/visitors/value' },
+ rel: { $ref: '#/visitors/value' },
+ title: { $ref: '#/visitors/value' },
+ targetSchema: Cf,
+ mediaType: { $ref: '#/visitors/value' },
+ method: { $ref: '#/visitors/value' },
+ encType: { $ref: '#/visitors/value' },
+ schema: Cf
+ }
+ }
+ }
+ }
+ }
+ },
+ traversal_visitor_getNodeType = (s) => {
+ if (Nu(s)) return `${s.element.charAt(0).toUpperCase() + s.element.slice(1)}Element`;
+ },
+ Pf = {
+ JSONSchemaDraft4Element: ['content'],
+ JSONReferenceElement: ['content'],
+ MediaElement: ['content'],
+ LinkDescriptionElement: ['content'],
+ ...Qu
+ },
+ Tf = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Jh || (s(u) && o('JSONSchemaDraft4', u) && i('object', u))
+ ),
+ Nf = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Gh || (s(u) && o('JSONReference', u) && i('object', u))
+ ),
+ Rf = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Qh || (s(u) && o('media', u) && i('object', u))
+ ),
+ Df = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof td || (s(u) && o('linkDescription', u) && i('object', u))
+ ),
+ Ff = {
+ namespace: (s) => {
+ const { base: o } = s;
+ return (
+ o.register('jSONSchemaDraft4', Jh),
+ o.register('jSONReference', Gh),
+ o.register('media', Qh),
+ o.register('linkDescription', td),
+ o
+ );
+ }
+ },
+ Vf = Ff,
+ refractor_toolbox = () => {
+ const s = createNamespace(Vf);
+ return { predicates: { ...ce, isStringElement: Ru }, namespace: s };
+ },
+ refractor_refract = (
+ s,
+ {
+ specPath: o = ['visitors', 'document', 'objects', 'JSONSchema', '$visitor'],
+ plugins: i = [],
+ specificationObj: u = jf
+ } = {}
+ ) => {
+ const _ = (0, Cu.e)(s),
+ w = dereference(u),
+ x = new (cp(o, w))({ specObj: w });
+ return (
+ visitor_visit(_, x),
+ dispatchPluginsSync(x.element, i, {
+ toolboxCreator: refractor_toolbox,
+ visitorOptions: { keyMap: Pf, nodeTypeGetter: traversal_visitor_getNodeType }
+ })
+ );
+ },
+ refractor_createRefractor =
+ (s) =>
+ (o, i = {}) =>
+ refractor_refract(o, { specPath: s, ...i });
+ (Jh.refract = refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'JSONSchema',
+ '$visitor'
+ ])),
+ (Gh.refract = refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'JSONReference',
+ '$visitor'
+ ])),
+ (Qh.refract = refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Media',
+ '$visitor'
+ ])),
+ (td.refract = refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'LinkDescription',
+ '$visitor'
+ ]));
+ const Wf = class Schema_Schema extends Jh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'schema'), this.classes.push('json-schema-draft-4');
+ }
+ get idProp() {
+ throw new Hh('idProp getter in Schema class is not not supported.');
+ }
+ set idProp(s) {
+ throw new Hh('idProp setter in Schema class is not not supported.');
+ }
+ get $schema() {
+ throw new Hh('$schema getter in Schema class is not not supported.');
+ }
+ set $schema(s) {
+ throw new Hh('$schema setter in Schema class is not not supported.');
+ }
+ get additionalItems() {
+ return this.get('additionalItems');
+ }
+ set additionalItems(s) {
+ this.set('additionalItems', s);
+ }
+ get items() {
+ return this.get('items');
+ }
+ set items(s) {
+ this.set('items', s);
+ }
+ get additionalProperties() {
+ return this.get('additionalProperties');
+ }
+ set additionalProperties(s) {
+ this.set('additionalProperties', s);
+ }
+ get patternProperties() {
+ throw new Hh('patternProperties getter in Schema class is not not supported.');
+ }
+ set patternProperties(s) {
+ throw new Hh('patternProperties setter in Schema class is not not supported.');
+ }
+ get dependencies() {
+ throw new Hh('dependencies getter in Schema class is not not supported.');
+ }
+ set dependencies(s) {
+ throw new Hh('dependencies setter in Schema class is not not supported.');
+ }
+ get type() {
+ return this.get('type');
+ }
+ set type(s) {
+ this.set('type', s);
+ }
+ get not() {
+ return this.get('not');
+ }
+ set not(s) {
+ this.set('not', s);
+ }
+ get definitions() {
+ throw new Hh('definitions getter in Schema class is not not supported.');
+ }
+ set definitions(s) {
+ throw new Hh('definitions setter in Schema class is not not supported.');
+ }
+ get base() {
+ throw new Hh('base getter in Schema class is not not supported.');
+ }
+ set base(s) {
+ throw new Hh('base setter in Schema class is not not supported.');
+ }
+ get links() {
+ throw new Hh('links getter in Schema class is not not supported.');
+ }
+ set links(s) {
+ throw new Hh('links setter in Schema class is not not supported.');
+ }
+ get media() {
+ throw new Hh('media getter in Schema class is not not supported.');
+ }
+ set media(s) {
+ throw new Hh('media setter in Schema class is not not supported.');
+ }
+ get nullable() {
+ return this.get('nullable');
+ }
+ set nullable(s) {
+ this.set('nullable', s);
+ }
+ get discriminator() {
+ return this.get('discriminator');
+ }
+ set discriminator(s) {
+ this.set('discriminator', s);
+ }
+ get writeOnly() {
+ return this.get('writeOnly');
+ }
+ set writeOnly(s) {
+ this.set('writeOnly', s);
+ }
+ get xml() {
+ return this.get('xml');
+ }
+ set xml(s) {
+ this.set('xml', s);
+ }
+ get externalDocs() {
+ return this.get('externalDocs');
+ }
+ set externalDocs(s) {
+ this.set('externalDocs', s);
+ }
+ get example() {
+ return this.get('example');
+ }
+ set example(s) {
+ this.set('example', s);
+ }
+ get deprecated() {
+ return this.get('deprecated');
+ }
+ set deprecated(s) {
+ this.set('deprecated', s);
+ }
+ };
+ class SecurityRequirement extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'securityRequirement');
+ }
+ }
+ const Hf = SecurityRequirement;
+ class SecurityScheme extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'securityScheme');
+ }
+ get type() {
+ return this.get('type');
+ }
+ set type(s) {
+ this.set('type', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get name() {
+ return this.get('name');
+ }
+ set name(s) {
+ this.set('name', s);
+ }
+ get in() {
+ return this.get('in');
+ }
+ set in(s) {
+ this.set('in', s);
+ }
+ get scheme() {
+ return this.get('scheme');
+ }
+ set scheme(s) {
+ this.set('scheme', s);
+ }
+ get bearerFormat() {
+ return this.get('bearerFormat');
+ }
+ set bearerFormat(s) {
+ this.set('bearerFormat', s);
+ }
+ get flows() {
+ return this.get('flows');
+ }
+ set flows(s) {
+ this.set('flows', s);
+ }
+ get openIdConnectUrl() {
+ return this.get('openIdConnectUrl');
+ }
+ set openIdConnectUrl(s) {
+ this.set('openIdConnectUrl', s);
+ }
+ }
+ const Jf = SecurityScheme;
+ class Server extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'server');
+ }
+ get url() {
+ return this.get('url');
+ }
+ set url(s) {
+ this.set('url', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get variables() {
+ return this.get('variables');
+ }
+ set variables(s) {
+ this.set('variables', s);
+ }
+ }
+ const Gf = Server;
+ class ServerVariable extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'serverVariable');
+ }
+ get enum() {
+ return this.get('enum');
+ }
+ set enum(s) {
+ this.set('enum', s);
+ }
+ get default() {
+ return this.get('default');
+ }
+ set default(s) {
+ this.set('default', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ }
+ const Xf = ServerVariable;
+ class Tag extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'tag');
+ }
+ get name() {
+ return this.get('name');
+ }
+ set name(s) {
+ this.set('name', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get externalDocs() {
+ return this.get('externalDocs');
+ }
+ set externalDocs(s) {
+ this.set('externalDocs', s);
+ }
+ }
+ const Qf = Tag;
+ class Xml extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'xml');
+ }
+ get name() {
+ return this.get('name');
+ }
+ set name(s) {
+ this.set('name', s);
+ }
+ get namespace() {
+ return this.get('namespace');
+ }
+ set namespace(s) {
+ this.set('namespace', s);
+ }
+ get prefix() {
+ return this.get('prefix');
+ }
+ set prefix(s) {
+ this.set('prefix', s);
+ }
+ get attribute() {
+ return this.get('attribute');
+ }
+ set attribute(s) {
+ this.set('attribute', s);
+ }
+ get wrapped() {
+ return this.get('wrapped');
+ }
+ set wrapped(s) {
+ this.set('wrapped', s);
+ }
+ }
+ const em = Xml;
+ const tm = class visitors_Visitor_Visitor {
+ element;
+ constructor(s = {}) {
+ Object.assign(this, s);
+ }
+ copyMetaAndAttributes(s, o) {
+ (s.meta.length > 0 || o.meta.length > 0) &&
+ ((o.meta = deepmerge(o.meta, s.meta)),
+ hasElementSourceMap(s) && o.meta.set('sourceMap', s.meta.get('sourceMap'))),
+ (s.attributes.length > 0 || s.meta.length > 0) &&
+ (o.attributes = deepmerge(o.attributes, s.attributes));
+ }
+ };
+ const rm = class FallbackVisitor_FallbackVisitor extends tm {
+ enter(s) {
+ return (this.element = cloneDeep(s)), Ju;
+ }
+ };
+ const nm = class SpecificationVisitor_SpecificationVisitor extends tm {
+ specObj;
+ passingOptionsNames = ['specObj', 'openApiGenericElement', 'openApiSemanticElement'];
+ openApiGenericElement;
+ openApiSemanticElement;
+ constructor({
+ specObj: s,
+ passingOptionsNames: o,
+ openApiGenericElement: i,
+ openApiSemanticElement: u,
+ ..._
+ }) {
+ super({ ..._ }),
+ (this.specObj = s),
+ (this.openApiGenericElement = i),
+ (this.openApiSemanticElement = u),
+ Array.isArray(o) && (this.passingOptionsNames = o);
+ }
+ retrievePassingOptions() {
+ return Ad(this.passingOptionsNames, this);
+ }
+ retrieveFixedFields(s) {
+ const o = cp(['visitors', ...s, 'fixedFields'], this.specObj);
+ return 'object' == typeof o && null !== o ? Object.keys(o) : [];
+ }
+ retrieveVisitor(s) {
+ return Xo(Wl, ['visitors', ...s], this.specObj)
+ ? cp(['visitors', ...s], this.specObj)
+ : cp(['visitors', ...s, '$visitor'], this.specObj);
+ }
+ retrieveVisitorInstance(s, o = {}) {
+ const i = this.retrievePassingOptions();
+ return new (this.retrieveVisitor(s))({ ...i, ...o });
+ }
+ toRefractedElement(s, o, i = {}) {
+ const u = this.retrieveVisitorInstance(s, i);
+ return u instanceof rm && (null == u ? void 0 : u.constructor) === rm
+ ? cloneDeep(o)
+ : (visitor_visit(o, u, i), u.element);
+ }
+ },
+ isReferenceLikeElement = (s) => Fu(s) && s.hasKey('$ref'),
+ sm = Fu,
+ om = Fu,
+ isOpenApiExtension = (s) => Ru(s.key) && Fp('x-', serializers_value(s.key));
+ const im = class FixedFieldsVisitor_FixedFieldsVisitor extends nm {
+ specPath;
+ ignoredFields;
+ canSupportSpecificationExtensions = !0;
+ specificationExtensionPredicate = isOpenApiExtension;
+ constructor({
+ specPath: s,
+ ignoredFields: o,
+ canSupportSpecificationExtensions: i,
+ specificationExtensionPredicate: u,
+ ..._
+ }) {
+ super({ ..._ }),
+ (this.specPath = s),
+ (this.ignoredFields = o || []),
+ 'boolean' == typeof i && (this.canSupportSpecificationExtensions = i),
+ 'function' == typeof u && (this.specificationExtensionPredicate = u);
+ }
+ ObjectElement(s) {
+ const o = this.specPath(s),
+ i = this.retrieveFixedFields(o);
+ return (
+ s.forEach((s, u, _) => {
+ if (
+ Ru(u) &&
+ i.includes(serializers_value(u)) &&
+ !this.ignoredFields.includes(serializers_value(u))
+ ) {
+ const i = this.toRefractedElement([...o, 'fixedFields', serializers_value(u)], s),
+ w = new Cu.Pr(cloneDeep(u), i);
+ this.copyMetaAndAttributes(_, w),
+ w.classes.push('fixed-field'),
+ this.element.content.push(w);
+ } else if (
+ this.canSupportSpecificationExtensions &&
+ this.specificationExtensionPredicate(_)
+ ) {
+ const s = this.toRefractedElement(['document', 'extension'], _);
+ this.element.content.push(s);
+ } else
+ this.ignoredFields.includes(serializers_value(u)) ||
+ this.element.content.push(cloneDeep(_));
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ };
+ class OpenApi3_0Visitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Oh()),
+ (this.specPath = Tl(['document', 'objects', 'OpenApi'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ ObjectElement(s) {
+ return im.prototype.ObjectElement.call(this, s);
+ }
+ }
+ const am = OpenApi3_0Visitor;
+ class OpenapiVisitor extends Mixin(nm, rm) {
+ StringElement(s) {
+ const o = new wh(serializers_value(s));
+ return this.copyMetaAndAttributes(s, o), (this.element = o), Ju;
+ }
+ }
+ const lm = OpenapiVisitor;
+ const cm = class SpecificationExtensionVisitor extends nm {
+ MemberElement(s) {
+ return (
+ (this.element = cloneDeep(s)),
+ this.element.classes.push('specification-extension'),
+ Ju
+ );
+ }
+ };
+ class InfoVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new rh()),
+ (this.specPath = Tl(['document', 'objects', 'Info'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const um = InfoVisitor;
+ const pm = class VersionVisitor extends rm {
+ StringElement(s) {
+ const o = super.enter(s);
+ return (
+ this.element.classes.push('api-version'), this.element.classes.push('version'), o
+ );
+ }
+ };
+ class ContactVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Gp()),
+ (this.specPath = Tl(['document', 'objects', 'Contact'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const hm = ContactVisitor;
+ class LicenseVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new uh()),
+ (this.specPath = Tl(['document', 'objects', 'License'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const dm = LicenseVisitor;
+ class LinkVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new dh()),
+ (this.specPath = Tl(['document', 'objects', 'Link'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ ObjectElement(s) {
+ const o = im.prototype.ObjectElement.call(this, s);
+ return (
+ (Ru(this.element.operationId) || Ru(this.element.operationRef)) &&
+ this.element.classes.push('reference-element'),
+ o
+ );
+ }
+ }
+ const fm = LinkVisitor;
+ const mm = class OperationRefVisitor extends rm {
+ StringElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('reference-value'), o;
+ }
+ };
+ const gm = class OperationIdVisitor extends rm {
+ StringElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('reference-value'), o;
+ }
+ };
+ const ym = class PatternedFieldsVisitor_PatternedFieldsVisitor extends nm {
+ specPath;
+ ignoredFields;
+ fieldPatternPredicate = es_F;
+ canSupportSpecificationExtensions = !1;
+ specificationExtensionPredicate = isOpenApiExtension;
+ constructor({
+ specPath: s,
+ ignoredFields: o,
+ fieldPatternPredicate: i,
+ canSupportSpecificationExtensions: u,
+ specificationExtensionPredicate: _,
+ ...w
+ }) {
+ super({ ...w }),
+ (this.specPath = s),
+ (this.ignoredFields = o || []),
+ 'function' == typeof i && (this.fieldPatternPredicate = i),
+ 'boolean' == typeof u && (this.canSupportSpecificationExtensions = u),
+ 'function' == typeof _ && (this.specificationExtensionPredicate = _);
+ }
+ ObjectElement(s) {
+ return (
+ s.forEach((s, o, i) => {
+ if (
+ this.canSupportSpecificationExtensions &&
+ this.specificationExtensionPredicate(i)
+ ) {
+ const s = this.toRefractedElement(['document', 'extension'], i);
+ this.element.content.push(s);
+ } else if (
+ !this.ignoredFields.includes(serializers_value(o)) &&
+ this.fieldPatternPredicate(serializers_value(o))
+ ) {
+ const u = this.specPath(s),
+ _ = this.toRefractedElement(u, s),
+ w = new Cu.Pr(cloneDeep(o), _);
+ this.copyMetaAndAttributes(i, w),
+ w.classes.push('patterned-field'),
+ this.element.content.push(w);
+ } else
+ this.ignoredFields.includes(serializers_value(o)) ||
+ this.element.content.push(cloneDeep(i));
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ };
+ const vm = class MapVisitor_MapVisitor extends ym {
+ constructor(s) {
+ super(s), (this.fieldPatternPredicate = Vd);
+ }
+ };
+ class LinkParameters extends Cu.Sh {
+ static primaryClass = 'link-parameters';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(LinkParameters.primaryClass);
+ }
+ }
+ const bm = LinkParameters;
+ class ParametersVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s), (this.element = new bm()), (this.specPath = Tl(['value']));
+ }
+ }
+ const _m = ParametersVisitor;
+ class ServerVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Gf()),
+ (this.specPath = Tl(['document', 'objects', 'Server'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const Em = ServerVisitor;
+ const wm = class UrlVisitor extends rm {
+ StringElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('server-url'), o;
+ }
+ };
+ class Servers extends Cu.wE {
+ static primaryClass = 'servers';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(Servers.primaryClass);
+ }
+ }
+ const Sm = Servers;
+ class ServersVisitor extends Mixin(nm, rm) {
+ constructor(s) {
+ super(s), (this.element = new Sm());
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ const o = sm(s) ? ['document', 'objects', 'Server'] : ['value'],
+ i = this.toRefractedElement(o, s);
+ this.element.push(i);
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const xm = ServersVisitor;
+ class ServerVariableVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Xf()),
+ (this.specPath = Tl(['document', 'objects', 'ServerVariable'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const km = ServerVariableVisitor;
+ class ServerVariables extends Cu.Sh {
+ static primaryClass = 'server-variables';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ServerVariables.primaryClass);
+ }
+ }
+ const Cm = ServerVariables;
+ class VariablesVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cm()),
+ (this.specPath = Tl(['document', 'objects', 'ServerVariable']));
+ }
+ }
+ const Om = VariablesVisitor;
+ class MediaTypeVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new fh()),
+ (this.specPath = Tl(['document', 'objects', 'MediaType'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const Am = MediaTypeVisitor;
+ const jm = class AlternatingVisitor_AlternatingVisitor extends nm {
+ alternator;
+ constructor({ alternator: s, ...o }) {
+ super({ ...o }), (this.alternator = s || []);
+ }
+ enter(s) {
+ const o = this.alternator.map(({ predicate: s, specPath: o }) => lf(s, Tl(o), Nl)),
+ i = xf(o)(s);
+ return (this.element = this.toRefractedElement(i, s)), Ju;
+ }
+ },
+ Im = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Hp || (s(u) && o('callback', u) && i('object', u))
+ ),
+ Pm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Jp || (s(u) && o('components', u) && i('object', u))
+ ),
+ Mm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Gp || (s(u) && o('contact', u) && i('object', u))
+ ),
+ Tm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Zp || (s(u) && o('example', u) && i('object', u))
+ ),
+ Nm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Qp || (s(u) && o('externalDocumentation', u) && i('object', u))
+ ),
+ Rm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof th || (s(u) && o('header', u) && i('object', u))
+ ),
+ Dm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof rh || (s(u) && o('info', u) && i('object', u))
+ ),
+ Lm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof uh || (s(u) && o('license', u) && i('object', u))
+ ),
+ Bm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof dh || (s(u) && o('link', u) && i('object', u))
+ ),
+ Fm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof wh || (s(u) && o('openapi', u) && i('string', u))
+ ),
+ qm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i, hasClass: u }) =>
+ (_) =>
+ _ instanceof Oh || (s(_) && o('openApi3_0', _) && i('object', _) && u('api', _))
+ ),
+ $m = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof jh || (s(u) && o('operation', u) && i('object', u))
+ ),
+ Vm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Ih || (s(u) && o('parameter', u) && i('object', u))
+ ),
+ Um = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Ph || (s(u) && o('pathItem', u) && i('object', u))
+ ),
+ zm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Rh || (s(u) && o('paths', u) && i('object', u))
+ ),
+ Wm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Dh || (s(u) && o('reference', u) && i('object', u))
+ ),
+ Km = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Lh || (s(u) && o('requestBody', u) && i('object', u))
+ ),
+ Hm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Fh || (s(u) && o('response', u) && i('object', u))
+ ),
+ Jm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Kh || (s(u) && o('responses', u) && i('object', u))
+ ),
+ Gm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Wf || (s(u) && o('schema', u) && i('object', u))
+ ),
+ isBooleanJsonSchemaElement = (s) => Bu(s) && s.classes.includes('boolean-json-schema'),
+ Ym = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Hf || (s(u) && o('securityRequirement', u) && i('object', u))
+ ),
+ Xm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Jf || (s(u) && o('securityScheme', u) && i('object', u))
+ ),
+ Zm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Gf || (s(u) && o('server', u) && i('object', u))
+ ),
+ Qm = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Xf || (s(u) && o('serverVariable', u) && i('object', u))
+ ),
+ eg = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof fh || (s(u) && o('mediaType', u) && i('object', u))
+ ),
+ rg = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i, hasClass: u }) =>
+ (_) =>
+ _ instanceof Sm || (s(_) && o('array', _) && i('array', _) && u('servers', _))
+ );
+ class SchemaVisitor extends Mixin(jm, rm) {
+ constructor(s) {
+ super(s),
+ (this.alternator = [
+ {
+ predicate: isReferenceLikeElement,
+ specPath: ['document', 'objects', 'Reference']
+ },
+ { predicate: es_T, specPath: ['document', 'objects', 'Schema'] }
+ ]);
+ }
+ ObjectElement(s) {
+ const o = jm.prototype.enter.call(this, s);
+ return (
+ Wm(this.element) && this.element.setMetaProperty('referenced-element', 'schema'), o
+ );
+ }
+ }
+ const ng = SchemaVisitor;
+ class ExamplesVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('examples'),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Example']),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'example');
+ }),
+ o
+ );
+ }
+ }
+ const sg = ExamplesVisitor;
+ class MediaTypeExamples extends Cu.Sh {
+ static primaryClass = 'media-type-examples';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(MediaTypeExamples.primaryClass),
+ this.classes.push('examples');
+ }
+ }
+ const og = MediaTypeExamples;
+ const lg = class ExamplesVisitor_ExamplesVisitor extends sg {
+ constructor(s) {
+ super(s), (this.element = new og());
+ }
+ };
+ class MediaTypeEncoding extends Cu.Sh {
+ static primaryClass = 'media-type-encoding';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(MediaTypeEncoding.primaryClass);
+ }
+ }
+ const pg = MediaTypeEncoding;
+ class EncodingVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new pg()),
+ (this.specPath = Tl(['document', 'objects', 'Encoding']));
+ }
+ }
+ const fg = EncodingVisitor;
+ class SecurityRequirementVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s), (this.element = new Hf()), (this.specPath = Tl(['value']));
+ }
+ }
+ const mg = SecurityRequirementVisitor;
+ class Security extends Cu.wE {
+ static primaryClass = 'security';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(Security.primaryClass);
+ }
+ }
+ const gg = Security;
+ class SecurityVisitor extends Mixin(nm, rm) {
+ constructor(s) {
+ super(s), (this.element = new gg());
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ if (Fu(s)) {
+ const o = this.toRefractedElement(
+ ['document', 'objects', 'SecurityRequirement'],
+ s
+ );
+ this.element.push(o);
+ } else this.element.push(cloneDeep(s));
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const yg = SecurityVisitor;
+ class ComponentsVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Jp()),
+ (this.specPath = Tl(['document', 'objects', 'Components'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const _g = ComponentsVisitor;
+ class TagVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Qf()),
+ (this.specPath = Tl(['document', 'objects', 'Tag'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const xg = TagVisitor;
+ class ReferenceVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Dh()),
+ (this.specPath = Tl(['document', 'objects', 'Reference'])),
+ (this.canSupportSpecificationExtensions = !1);
+ }
+ ObjectElement(s) {
+ const o = im.prototype.ObjectElement.call(this, s);
+ return Ru(this.element.$ref) && this.element.classes.push('reference-element'), o;
+ }
+ }
+ const kg = ReferenceVisitor;
+ const qg = class $RefVisitor_$RefVisitor extends rm {
+ StringElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('reference-value'), o;
+ }
+ };
+ class ParameterVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Ih()),
+ (this.specPath = Tl(['document', 'objects', 'Parameter'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ ObjectElement(s) {
+ const o = im.prototype.ObjectElement.call(this, s);
+ return (
+ Fu(this.element.contentProp) &&
+ this.element.contentProp.filter(eg).forEach((s, o) => {
+ s.setMetaProperty('media-type', serializers_value(o));
+ }),
+ o
+ );
+ }
+ }
+ const Vg = ParameterVisitor;
+ class SchemaVisitor_SchemaVisitor extends Mixin(jm, rm) {
+ constructor(s) {
+ super(s),
+ (this.alternator = [
+ {
+ predicate: isReferenceLikeElement,
+ specPath: ['document', 'objects', 'Reference']
+ },
+ { predicate: es_T, specPath: ['document', 'objects', 'Schema'] }
+ ]);
+ }
+ ObjectElement(s) {
+ const o = jm.prototype.enter.call(this, s);
+ return (
+ Wm(this.element) && this.element.setMetaProperty('referenced-element', 'schema'), o
+ );
+ }
+ }
+ const Ug = SchemaVisitor_SchemaVisitor;
+ class HeaderVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new th()),
+ (this.specPath = Tl(['document', 'objects', 'Header'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const zg = HeaderVisitor;
+ class header_SchemaVisitor_SchemaVisitor extends Mixin(jm, rm) {
+ constructor(s) {
+ super(s),
+ (this.alternator = [
+ {
+ predicate: isReferenceLikeElement,
+ specPath: ['document', 'objects', 'Reference']
+ },
+ { predicate: es_T, specPath: ['document', 'objects', 'Schema'] }
+ ]);
+ }
+ ObjectElement(s) {
+ const o = jm.prototype.enter.call(this, s);
+ return (
+ Wm(this.element) && this.element.setMetaProperty('referenced-element', 'schema'), o
+ );
+ }
+ }
+ const Wg = header_SchemaVisitor_SchemaVisitor;
+ class HeaderExamples extends Cu.Sh {
+ static primaryClass = 'header-examples';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(HeaderExamples.primaryClass),
+ this.classes.push('examples');
+ }
+ }
+ const Kg = HeaderExamples;
+ const Yg = class header_ExamplesVisitor_ExamplesVisitor extends sg {
+ constructor(s) {
+ super(s), (this.element = new Kg());
+ }
+ };
+ class ContentVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('content'),
+ (this.specPath = Tl(['document', 'objects', 'MediaType']));
+ }
+ }
+ const Xg = ContentVisitor;
+ class HeaderContent extends Cu.Sh {
+ static primaryClass = 'header-content';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(HeaderContent.primaryClass),
+ this.classes.push('content');
+ }
+ }
+ const Zg = HeaderContent;
+ const ey = class ContentVisitor_ContentVisitor extends Xg {
+ constructor(s) {
+ super(s), (this.element = new Zg());
+ }
+ };
+ class schema_SchemaVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Wf()),
+ (this.specPath = Tl(['document', 'objects', 'Schema'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const ty = schema_SchemaVisitor,
+ { allOf: ry } = jf.visitors.document.objects.JSONSchema.fixedFields;
+ const ny = class AllOfVisitor_AllOfVisitor extends ry {
+ ArrayElement(s) {
+ const o = ry.prototype.ArrayElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'schema');
+ }),
+ o
+ );
+ }
+ },
+ { anyOf: sy } = jf.visitors.document.objects.JSONSchema.fixedFields;
+ const oy = class AnyOfVisitor_AnyOfVisitor extends sy {
+ ArrayElement(s) {
+ const o = sy.prototype.ArrayElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'schema');
+ }),
+ o
+ );
+ }
+ },
+ { oneOf: iy } = jf.visitors.document.objects.JSONSchema.fixedFields;
+ const ay = class OneOfVisitor_OneOfVisitor extends iy {
+ ArrayElement(s) {
+ const o = iy.prototype.ArrayElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'schema');
+ }),
+ o
+ );
+ }
+ },
+ { items: ly } = jf.visitors.document.objects.JSONSchema.fixedFields;
+ const cy = class ItemsVisitor_ItemsVisitor extends ly {
+ ObjectElement(s) {
+ const o = ly.prototype.ObjectElement.call(this, s);
+ return (
+ Wm(this.element) && this.element.setMetaProperty('referenced-element', 'schema'), o
+ );
+ }
+ ArrayElement(s) {
+ return this.enter(s);
+ }
+ },
+ { properties: uy } = jf.visitors.document.objects.JSONSchema.fixedFields;
+ const py = class PropertiesVisitor_PropertiesVisitor extends uy {
+ ObjectElement(s) {
+ const o = uy.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'schema');
+ }),
+ o
+ );
+ }
+ },
+ { type: hy } = jf.visitors.document.objects.JSONSchema.fixedFields;
+ const dy = class TypeVisitor_TypeVisitor extends hy {
+ ArrayElement(s) {
+ return this.enter(s);
+ }
+ },
+ { JSONSchemaOrJSONReferenceVisitor: fy } = jf.visitors;
+ const my = class SchemaOrReferenceVisitor_SchemaOrReferenceVisitor extends fy {
+ ObjectElement(s) {
+ const o = fy.prototype.enter.call(this, s);
+ return (
+ Wm(this.element) && this.element.setMetaProperty('referenced-element', 'schema'), o
+ );
+ }
+ };
+ class DiscriminatorVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Yp()),
+ (this.specPath = Tl(['document', 'objects', 'Discriminator'])),
+ (this.canSupportSpecificationExtensions = !1);
+ }
+ }
+ const gy = DiscriminatorVisitor;
+ class DiscriminatorMapping extends Cu.Sh {
+ static primaryClass = 'discriminator-mapping';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(DiscriminatorMapping.primaryClass);
+ }
+ }
+ const yy = DiscriminatorMapping;
+ class MappingVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s), (this.element = new yy()), (this.specPath = Tl(['value']));
+ }
+ }
+ const vy = MappingVisitor;
+ class XmlVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new em()),
+ (this.specPath = Tl(['document', 'objects', 'XML'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const by = XmlVisitor;
+ class ParameterExamples extends Cu.Sh {
+ static primaryClass = 'parameter-examples';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(ParameterExamples.primaryClass),
+ this.classes.push('examples');
+ }
+ }
+ const _y = ParameterExamples;
+ const Ey = class parameter_ExamplesVisitor_ExamplesVisitor extends sg {
+ constructor(s) {
+ super(s), (this.element = new _y());
+ }
+ };
+ class ParameterContent extends Cu.Sh {
+ static primaryClass = 'parameter-content';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(ParameterContent.primaryClass),
+ this.classes.push('content');
+ }
+ }
+ const wy = ParameterContent;
+ const Sy = class parameter_ContentVisitor_ContentVisitor extends Xg {
+ constructor(s) {
+ super(s), (this.element = new wy());
+ }
+ };
+ class ComponentsSchemas extends Cu.Sh {
+ static primaryClass = 'components-schemas';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ComponentsSchemas.primaryClass);
+ }
+ }
+ const xy = ComponentsSchemas;
+ class SchemasVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new xy()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Schema']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'schema');
+ }),
+ o
+ );
+ }
+ }
+ const ky = SchemasVisitor;
+ class ComponentsResponses extends Cu.Sh {
+ static primaryClass = 'components-responses';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ComponentsResponses.primaryClass);
+ }
+ }
+ const Cy = ComponentsResponses;
+ class ResponsesVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cy()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Response']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'response');
+ }),
+ this.element.filter(Hm).forEach((s, o) => {
+ s.setMetaProperty('http-status-code', serializers_value(o));
+ }),
+ o
+ );
+ }
+ }
+ const Oy = ResponsesVisitor;
+ class ComponentsParameters extends Cu.Sh {
+ static primaryClass = 'components-parameters';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(ComponentsParameters.primaryClass),
+ this.classes.push('parameters');
+ }
+ }
+ const Ay = ComponentsParameters;
+ class ParametersVisitor_ParametersVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Ay()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Parameter']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'parameter');
+ }),
+ o
+ );
+ }
+ }
+ const jy = ParametersVisitor_ParametersVisitor;
+ class ComponentsExamples extends Cu.Sh {
+ static primaryClass = 'components-examples';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(ComponentsExamples.primaryClass),
+ this.classes.push('examples');
+ }
+ }
+ const Iy = ComponentsExamples;
+ class components_ExamplesVisitor_ExamplesVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Iy()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Example']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'example');
+ }),
+ o
+ );
+ }
+ }
+ const Py = components_ExamplesVisitor_ExamplesVisitor;
+ class ComponentsRequestBodies extends Cu.Sh {
+ static primaryClass = 'components-request-bodies';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ComponentsRequestBodies.primaryClass);
+ }
+ }
+ const My = ComponentsRequestBodies;
+ class RequestBodiesVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new My()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'RequestBody']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'requestBody');
+ }),
+ o
+ );
+ }
+ }
+ const Ty = RequestBodiesVisitor;
+ class ComponentsHeaders extends Cu.Sh {
+ static primaryClass = 'components-headers';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ComponentsHeaders.primaryClass);
+ }
+ }
+ const Ny = ComponentsHeaders;
+ class HeadersVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Ny()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Header']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'header');
+ }),
+ this.element.filter(Rm).forEach((s, o) => {
+ s.setMetaProperty('header-name', serializers_value(o));
+ }),
+ o
+ );
+ }
+ }
+ const Ry = HeadersVisitor;
+ class ComponentsSecuritySchemes extends Cu.Sh {
+ static primaryClass = 'components-security-schemes';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ComponentsSecuritySchemes.primaryClass);
+ }
+ }
+ const Dy = ComponentsSecuritySchemes;
+ class SecuritySchemesVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Dy()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'SecurityScheme']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'securityScheme');
+ }),
+ o
+ );
+ }
+ }
+ const Ly = SecuritySchemesVisitor;
+ class ComponentsLinks extends Cu.Sh {
+ static primaryClass = 'components-links';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ComponentsLinks.primaryClass);
+ }
+ }
+ const By = ComponentsLinks;
+ class LinksVisitor_LinksVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new By()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Link']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'link');
+ }),
+ o
+ );
+ }
+ }
+ const Fy = LinksVisitor_LinksVisitor;
+ class ComponentsCallbacks extends Cu.Sh {
+ static primaryClass = 'components-callbacks';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ComponentsCallbacks.primaryClass);
+ }
+ }
+ const qy = ComponentsCallbacks;
+ class CallbacksVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new qy()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Callback']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'callback');
+ }),
+ o
+ );
+ }
+ }
+ const $y = CallbacksVisitor;
+ class ExampleVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Zp()),
+ (this.specPath = Tl(['document', 'objects', 'Example'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ ObjectElement(s) {
+ const o = im.prototype.ObjectElement.call(this, s);
+ return (
+ Ru(this.element.externalValue) && this.element.classes.push('reference-element'), o
+ );
+ }
+ }
+ const Vy = ExampleVisitor;
+ const Uy = class ExternalValueVisitor extends rm {
+ StringElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('reference-value'), o;
+ }
+ };
+ class ExternalDocumentationVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Qp()),
+ (this.specPath = Tl(['document', 'objects', 'ExternalDocumentation'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const zy = ExternalDocumentationVisitor;
+ class encoding_EncodingVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Xp()),
+ (this.specPath = Tl(['document', 'objects', 'Encoding'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ ObjectElement(s) {
+ const o = im.prototype.ObjectElement.call(this, s);
+ return (
+ Fu(this.element.headers) &&
+ this.element.headers.filter(Rm).forEach((s, o) => {
+ s.setMetaProperty('header-name', serializers_value(o));
+ }),
+ o
+ );
+ }
+ }
+ const Wy = encoding_EncodingVisitor;
+ class EncodingHeaders extends Cu.Sh {
+ static primaryClass = 'encoding-headers';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(EncodingHeaders.primaryClass);
+ }
+ }
+ const Ky = EncodingHeaders;
+ class HeadersVisitor_HeadersVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Ky()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Header']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'header');
+ }),
+ this.element.forEach((s, o) => {
+ if (!Rm(s)) return;
+ const i = serializers_value(o);
+ s.setMetaProperty('headerName', i);
+ }),
+ o
+ );
+ }
+ }
+ const Hy = HeadersVisitor_HeadersVisitor;
+ class PathsVisitor extends Mixin(ym, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Rh()),
+ (this.specPath = Tl(['document', 'objects', 'PathItem'])),
+ (this.canSupportSpecificationExtensions = !0),
+ (this.fieldPatternPredicate = es_T);
+ }
+ ObjectElement(s) {
+ const o = ym.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Um).forEach((s, o) => {
+ o.classes.push('openapi-path-template'),
+ o.classes.push('path-template'),
+ s.setMetaProperty('path', cloneDeep(o));
+ }),
+ o
+ );
+ }
+ }
+ const Jy = PathsVisitor;
+ class RequestBodyVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Lh()),
+ (this.specPath = Tl(['document', 'objects', 'RequestBody']));
+ }
+ ObjectElement(s) {
+ const o = im.prototype.ObjectElement.call(this, s);
+ return (
+ Fu(this.element.contentProp) &&
+ this.element.contentProp.filter(eg).forEach((s, o) => {
+ s.setMetaProperty('media-type', serializers_value(o));
+ }),
+ o
+ );
+ }
+ }
+ const Gy = RequestBodyVisitor;
+ class RequestBodyContent extends Cu.Sh {
+ static primaryClass = 'request-body-content';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(RequestBodyContent.primaryClass),
+ this.classes.push('content');
+ }
+ }
+ const Yy = RequestBodyContent;
+ const Xy = class request_body_ContentVisitor_ContentVisitor extends Xg {
+ constructor(s) {
+ super(s), (this.element = new Yy());
+ }
+ };
+ class CallbackVisitor extends Mixin(ym, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Hp()),
+ (this.specPath = Tl(['document', 'objects', 'PathItem'])),
+ (this.canSupportSpecificationExtensions = !0),
+ (this.fieldPatternPredicate = (s) => /{(?[^}]{1,2083})}/.test(String(s)));
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Um).forEach((s, o) => {
+ s.setMetaProperty('runtime-expression', serializers_value(o));
+ }),
+ o
+ );
+ }
+ }
+ const Zy = CallbackVisitor;
+ class ResponseVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Fh()),
+ (this.specPath = Tl(['document', 'objects', 'Response']));
+ }
+ ObjectElement(s) {
+ const o = im.prototype.ObjectElement.call(this, s);
+ return (
+ Fu(this.element.contentProp) &&
+ this.element.contentProp.filter(eg).forEach((s, o) => {
+ s.setMetaProperty('media-type', serializers_value(o));
+ }),
+ Fu(this.element.headers) &&
+ this.element.headers.filter(Rm).forEach((s, o) => {
+ s.setMetaProperty('header-name', serializers_value(o));
+ }),
+ o
+ );
+ }
+ }
+ const Qy = ResponseVisitor;
+ class ResponseHeaders extends Cu.Sh {
+ static primaryClass = 'response-headers';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ResponseHeaders.primaryClass);
+ }
+ }
+ const ev = ResponseHeaders;
+ class response_HeadersVisitor_HeadersVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new ev()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Header']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'header');
+ }),
+ this.element.forEach((s, o) => {
+ if (!Rm(s)) return;
+ const i = serializers_value(o);
+ s.setMetaProperty('header-name', i);
+ }),
+ o
+ );
+ }
+ }
+ const tv = response_HeadersVisitor_HeadersVisitor;
+ class ResponseContent extends Cu.Sh {
+ static primaryClass = 'response-content';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(ResponseContent.primaryClass),
+ this.classes.push('content');
+ }
+ }
+ const rv = ResponseContent;
+ const nv = class response_ContentVisitor_ContentVisitor extends Xg {
+ constructor(s) {
+ super(s), (this.element = new rv());
+ }
+ };
+ class ResponseLinks extends Cu.Sh {
+ static primaryClass = 'response-links';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ResponseLinks.primaryClass);
+ }
+ }
+ const sv = ResponseLinks;
+ class response_LinksVisitor_LinksVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new sv()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Link']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'link');
+ }),
+ o
+ );
+ }
+ }
+ const ov = response_LinksVisitor_LinksVisitor;
+ function _isNumber(s) {
+ return '[object Number]' === Object.prototype.toString.call(s);
+ }
+ var iv = _curry2(function range(s, o) {
+ if (!_isNumber(s) || !_isNumber(o))
+ throw new TypeError('Both arguments to range must be numbers');
+ for (
+ var i = Array(s < o ? o - s : 0), u = s < 0 ? o + Math.abs(s) : o - s, _ = 0;
+ _ < u;
+
+ )
+ (i[_] = _ + s), (_ += 1);
+ return i;
+ });
+ const av = iv;
+ function hasOrAdd(s, o, i) {
+ var u,
+ _ = typeof s;
+ switch (_) {
+ case 'string':
+ case 'number':
+ return 0 === s && 1 / s == -1 / 0
+ ? !!i._items['-0'] || (o && (i._items['-0'] = !0), !1)
+ : null !== i._nativeSet
+ ? o
+ ? ((u = i._nativeSet.size), i._nativeSet.add(s), i._nativeSet.size === u)
+ : i._nativeSet.has(s)
+ : _ in i._items
+ ? s in i._items[_] || (o && (i._items[_][s] = !0), !1)
+ : (o && ((i._items[_] = {}), (i._items[_][s] = !0)), !1);
+ case 'boolean':
+ if (_ in i._items) {
+ var w = s ? 1 : 0;
+ return !!i._items[_][w] || (o && (i._items[_][w] = !0), !1);
+ }
+ return o && (i._items[_] = s ? [!1, !0] : [!0, !1]), !1;
+ case 'function':
+ return null !== i._nativeSet
+ ? o
+ ? ((u = i._nativeSet.size), i._nativeSet.add(s), i._nativeSet.size === u)
+ : i._nativeSet.has(s)
+ : _ in i._items
+ ? !!_includes(s, i._items[_]) || (o && i._items[_].push(s), !1)
+ : (o && (i._items[_] = [s]), !1);
+ case 'undefined':
+ return !!i._items[_] || (o && (i._items[_] = !0), !1);
+ case 'object':
+ if (null === s) return !!i._items.null || (o && (i._items.null = !0), !1);
+ default:
+ return (_ = Object.prototype.toString.call(s)) in i._items
+ ? !!_includes(s, i._items[_]) || (o && i._items[_].push(s), !1)
+ : (o && (i._items[_] = [s]), !1);
+ }
+ }
+ const lv = (function () {
+ function _Set() {
+ (this._nativeSet = 'function' == typeof Set ? new Set() : null), (this._items = {});
+ }
+ return (
+ (_Set.prototype.add = function (s) {
+ return !hasOrAdd(s, !0, this);
+ }),
+ (_Set.prototype.has = function (s) {
+ return hasOrAdd(s, !1, this);
+ }),
+ _Set
+ );
+ })();
+ var cv = _curry2(function difference(s, o) {
+ for (var i = [], u = 0, _ = s.length, w = o.length, x = new lv(), C = 0; C < w; C += 1)
+ x.add(o[C]);
+ for (; u < _; ) x.add(s[u]) && (i[i.length] = s[u]), (u += 1);
+ return i;
+ });
+ const uv = cv;
+ class MixedFieldsVisitor extends Mixin(im, ym) {
+ specPathFixedFields;
+ specPathPatternedFields;
+ constructor({ specPathFixedFields: s, specPathPatternedFields: o, ...i }) {
+ super({ ...i }), (this.specPathFixedFields = s), (this.specPathPatternedFields = o);
+ }
+ ObjectElement(s) {
+ const { specPath: o, ignoredFields: i } = this;
+ try {
+ this.specPath = this.specPathFixedFields;
+ const o = this.retrieveFixedFields(this.specPath(s));
+ (this.ignoredFields = [...i, ...uv(s.keys(), o)]),
+ im.prototype.ObjectElement.call(this, s),
+ (this.specPath = this.specPathPatternedFields),
+ (this.ignoredFields = o),
+ ym.prototype.ObjectElement.call(this, s);
+ } catch (s) {
+ throw ((this.specPath = o), s);
+ }
+ return Ju;
+ }
+ }
+ const pv = MixedFieldsVisitor;
+ class responses_ResponsesVisitor extends Mixin(pv, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Kh()),
+ (this.specPathFixedFields = Tl(['document', 'objects', 'Responses'])),
+ (this.canSupportSpecificationExtensions = !0),
+ (this.specPathPatternedFields = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Response']),
+ (this.fieldPatternPredicate = (s) =>
+ new RegExp(`^(1XX|2XX|3XX|4XX|5XX|${av(100, 600).join('|')})$`).test(String(s)));
+ }
+ ObjectElement(s) {
+ const o = pv.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'response');
+ }),
+ this.element.filter(Hm).forEach((s, o) => {
+ const i = cloneDeep(o);
+ this.fieldPatternPredicate(serializers_value(i)) &&
+ s.setMetaProperty('http-status-code', i);
+ }),
+ o
+ );
+ }
+ }
+ const hv = responses_ResponsesVisitor;
+ class DefaultVisitor extends Mixin(jm, rm) {
+ constructor(s) {
+ super(s),
+ (this.alternator = [
+ {
+ predicate: isReferenceLikeElement,
+ specPath: ['document', 'objects', 'Reference']
+ },
+ { predicate: es_T, specPath: ['document', 'objects', 'Response'] }
+ ]);
+ }
+ ObjectElement(s) {
+ const o = jm.prototype.enter.call(this, s);
+ return (
+ Wm(this.element)
+ ? this.element.setMetaProperty('referenced-element', 'response')
+ : Hm(this.element) && this.element.setMetaProperty('http-status-code', 'default'),
+ o
+ );
+ }
+ }
+ const dv = DefaultVisitor;
+ class OperationVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new jh()),
+ (this.specPath = Tl(['document', 'objects', 'Operation']));
+ }
+ }
+ const fv = OperationVisitor;
+ class OperationTags extends Cu.wE {
+ static primaryClass = 'operation-tags';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(OperationTags.primaryClass);
+ }
+ }
+ const mv = OperationTags;
+ const gv = class TagsVisitor extends rm {
+ constructor(s) {
+ super(s), (this.element = new mv());
+ }
+ ArrayElement(s) {
+ return (this.element = this.element.concat(cloneDeep(s))), Ju;
+ }
+ };
+ class OperationParameters extends Cu.wE {
+ static primaryClass = 'operation-parameters';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(OperationParameters.primaryClass),
+ this.classes.push('parameters');
+ }
+ }
+ const yv = OperationParameters;
+ class open_api_3_0_ParametersVisitor_ParametersVisitor extends Mixin(nm, rm) {
+ constructor(s) {
+ super(s), (this.element = new Cu.wE()), this.element.classes.push('parameters');
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ const o = isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Parameter'],
+ i = this.toRefractedElement(o, s);
+ Wm(i) && i.setMetaProperty('referenced-element', 'parameter'), this.element.push(i);
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const vv = open_api_3_0_ParametersVisitor_ParametersVisitor;
+ const bv = class operation_ParametersVisitor_ParametersVisitor extends vv {
+ constructor(s) {
+ super(s), (this.element = new yv());
+ }
+ };
+ const _v = class RequestBodyVisitor_RequestBodyVisitor extends jm {
+ constructor(s) {
+ super(s),
+ (this.alternator = [
+ {
+ predicate: isReferenceLikeElement,
+ specPath: ['document', 'objects', 'Reference']
+ },
+ { predicate: es_T, specPath: ['document', 'objects', 'RequestBody'] }
+ ]);
+ }
+ ObjectElement(s) {
+ const o = jm.prototype.enter.call(this, s);
+ return (
+ Wm(this.element) && this.element.setMetaProperty('referenced-element', 'requestBody'),
+ o
+ );
+ }
+ };
+ class OperationCallbacks extends Cu.Sh {
+ static primaryClass = 'operation-callbacks';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(OperationCallbacks.primaryClass);
+ }
+ }
+ const Ev = OperationCallbacks;
+ class CallbacksVisitor_CallbacksVisitor extends Mixin(vm, rm) {
+ specPath;
+ constructor(s) {
+ super(s),
+ (this.element = new Ev()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'Callback']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(Wm).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'callback');
+ }),
+ o
+ );
+ }
+ }
+ const wv = CallbacksVisitor_CallbacksVisitor;
+ class OperationSecurity extends Cu.wE {
+ static primaryClass = 'operation-security';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(OperationSecurity.primaryClass),
+ this.classes.push('security');
+ }
+ }
+ const Sv = OperationSecurity;
+ class SecurityVisitor_SecurityVisitor extends Mixin(nm, rm) {
+ constructor(s) {
+ super(s), (this.element = new Sv());
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ const o = Fu(s) ? ['document', 'objects', 'SecurityRequirement'] : ['value'],
+ i = this.toRefractedElement(o, s);
+ this.element.push(i);
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const xv = SecurityVisitor_SecurityVisitor;
+ class OperationServers extends Cu.wE {
+ static primaryClass = 'operation-servers';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(OperationServers.primaryClass),
+ this.classes.push('servers');
+ }
+ }
+ const kv = OperationServers;
+ const Cv = class ServersVisitor_ServersVisitor extends xm {
+ constructor(s) {
+ super(s), (this.element = new kv());
+ }
+ };
+ class PathItemVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Ph()),
+ (this.specPath = Tl(['document', 'objects', 'PathItem']));
+ }
+ ObjectElement(s) {
+ const o = im.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter($m).forEach((s, o) => {
+ const i = cloneDeep(o);
+ (i.content = serializers_value(i).toUpperCase()),
+ s.setMetaProperty('http-method', i);
+ }),
+ Ru(this.element.$ref) && this.element.classes.push('reference-element'),
+ o
+ );
+ }
+ }
+ const Ov = PathItemVisitor;
+ const Av = class path_item_$RefVisitor_$RefVisitor extends rm {
+ StringElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('reference-value'), o;
+ }
+ };
+ class PathItemServers extends Cu.wE {
+ static primaryClass = 'path-item-servers';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(PathItemServers.primaryClass),
+ this.classes.push('servers');
+ }
+ }
+ const jv = PathItemServers;
+ const Iv = class path_item_ServersVisitor_ServersVisitor extends xm {
+ constructor(s) {
+ super(s), (this.element = new jv());
+ }
+ };
+ class PathItemParameters extends Cu.wE {
+ static primaryClass = 'path-item-parameters';
+ constructor(s, o, i) {
+ super(s, o, i),
+ this.classes.push(PathItemParameters.primaryClass),
+ this.classes.push('parameters');
+ }
+ }
+ const Pv = PathItemParameters;
+ const Mv = class path_item_ParametersVisitor_ParametersVisitor extends vv {
+ constructor(s) {
+ super(s), (this.element = new Pv());
+ }
+ };
+ class SecuritySchemeVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Jf()),
+ (this.specPath = Tl(['document', 'objects', 'SecurityScheme'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const Tv = SecuritySchemeVisitor;
+ class OAuthFlowsVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new _h()),
+ (this.specPath = Tl(['document', 'objects', 'OAuthFlows'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const Nv = OAuthFlowsVisitor;
+ class OAuthFlowVisitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new vh()),
+ (this.specPath = Tl(['document', 'objects', 'OAuthFlow'])),
+ (this.canSupportSpecificationExtensions = !0);
+ }
+ }
+ const Rv = OAuthFlowVisitor;
+ class OAuthFlowScopes extends Cu.Sh {
+ static primaryClass = 'oauth-flow-scopes';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(OAuthFlowScopes.primaryClass);
+ }
+ }
+ const Dv = OAuthFlowScopes;
+ class ScopesVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s), (this.element = new Dv()), (this.specPath = Tl(['value']));
+ }
+ }
+ const Lv = ScopesVisitor;
+ class Tags extends Cu.wE {
+ static primaryClass = 'tags';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(Tags.primaryClass);
+ }
+ }
+ const Bv = Tags;
+ class TagsVisitor_TagsVisitor extends Mixin(nm, rm) {
+ constructor(s) {
+ super(s), (this.element = new Bv());
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ const o = om(s) ? ['document', 'objects', 'Tag'] : ['value'],
+ i = this.toRefractedElement(o, s);
+ this.element.push(i);
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const Fv = TagsVisitor_TagsVisitor,
+ { fixedFields: qv } = jf.visitors.document.objects.JSONSchema,
+ $v = {
+ visitors: {
+ value: rm,
+ document: {
+ objects: {
+ OpenApi: {
+ $visitor: am,
+ fixedFields: {
+ openapi: lm,
+ info: { $ref: '#/visitors/document/objects/Info' },
+ servers: xm,
+ paths: { $ref: '#/visitors/document/objects/Paths' },
+ components: { $ref: '#/visitors/document/objects/Components' },
+ security: yg,
+ tags: Fv,
+ externalDocs: { $ref: '#/visitors/document/objects/ExternalDocumentation' }
+ }
+ },
+ Info: {
+ $visitor: um,
+ fixedFields: {
+ title: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ termsOfService: { $ref: '#/visitors/value' },
+ contact: { $ref: '#/visitors/document/objects/Contact' },
+ license: { $ref: '#/visitors/document/objects/License' },
+ version: pm
+ }
+ },
+ Contact: {
+ $visitor: hm,
+ fixedFields: {
+ name: { $ref: '#/visitors/value' },
+ url: { $ref: '#/visitors/value' },
+ email: { $ref: '#/visitors/value' }
+ }
+ },
+ License: {
+ $visitor: dm,
+ fixedFields: {
+ name: { $ref: '#/visitors/value' },
+ url: { $ref: '#/visitors/value' }
+ }
+ },
+ Server: {
+ $visitor: Em,
+ fixedFields: {
+ url: wm,
+ description: { $ref: '#/visitors/value' },
+ variables: Om
+ }
+ },
+ ServerVariable: {
+ $visitor: km,
+ fixedFields: {
+ enum: { $ref: '#/visitors/value' },
+ default: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' }
+ }
+ },
+ Components: {
+ $visitor: _g,
+ fixedFields: {
+ schemas: ky,
+ responses: Oy,
+ parameters: jy,
+ examples: Py,
+ requestBodies: Ty,
+ headers: Ry,
+ securitySchemes: Ly,
+ links: Fy,
+ callbacks: $y
+ }
+ },
+ Paths: { $visitor: Jy },
+ PathItem: {
+ $visitor: Ov,
+ fixedFields: {
+ $ref: Av,
+ summary: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ get: { $ref: '#/visitors/document/objects/Operation' },
+ put: { $ref: '#/visitors/document/objects/Operation' },
+ post: { $ref: '#/visitors/document/objects/Operation' },
+ delete: { $ref: '#/visitors/document/objects/Operation' },
+ options: { $ref: '#/visitors/document/objects/Operation' },
+ head: { $ref: '#/visitors/document/objects/Operation' },
+ patch: { $ref: '#/visitors/document/objects/Operation' },
+ trace: { $ref: '#/visitors/document/objects/Operation' },
+ servers: Iv,
+ parameters: Mv
+ }
+ },
+ Operation: {
+ $visitor: fv,
+ fixedFields: {
+ tags: gv,
+ summary: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ externalDocs: { $ref: '#/visitors/document/objects/ExternalDocumentation' },
+ operationId: { $ref: '#/visitors/value' },
+ parameters: bv,
+ requestBody: _v,
+ responses: { $ref: '#/visitors/document/objects/Responses' },
+ callbacks: wv,
+ deprecated: { $ref: '#/visitors/value' },
+ security: xv,
+ servers: Cv
+ }
+ },
+ ExternalDocumentation: {
+ $visitor: zy,
+ fixedFields: {
+ description: { $ref: '#/visitors/value' },
+ url: { $ref: '#/visitors/value' }
+ }
+ },
+ Parameter: {
+ $visitor: Vg,
+ fixedFields: {
+ name: { $ref: '#/visitors/value' },
+ in: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ required: { $ref: '#/visitors/value' },
+ deprecated: { $ref: '#/visitors/value' },
+ allowEmptyValue: { $ref: '#/visitors/value' },
+ style: { $ref: '#/visitors/value' },
+ explode: { $ref: '#/visitors/value' },
+ allowReserved: { $ref: '#/visitors/value' },
+ schema: Ug,
+ example: { $ref: '#/visitors/value' },
+ examples: Ey,
+ content: Sy
+ }
+ },
+ RequestBody: {
+ $visitor: Gy,
+ fixedFields: {
+ description: { $ref: '#/visitors/value' },
+ content: Xy,
+ required: { $ref: '#/visitors/value' }
+ }
+ },
+ MediaType: {
+ $visitor: Am,
+ fixedFields: {
+ schema: ng,
+ example: { $ref: '#/visitors/value' },
+ examples: lg,
+ encoding: fg
+ }
+ },
+ Encoding: {
+ $visitor: Wy,
+ fixedFields: {
+ contentType: { $ref: '#/visitors/value' },
+ headers: Hy,
+ style: { $ref: '#/visitors/value' },
+ explode: { $ref: '#/visitors/value' },
+ allowReserved: { $ref: '#/visitors/value' }
+ }
+ },
+ Responses: { $visitor: hv, fixedFields: { default: dv } },
+ Response: {
+ $visitor: Qy,
+ fixedFields: {
+ description: { $ref: '#/visitors/value' },
+ headers: tv,
+ content: nv,
+ links: ov
+ }
+ },
+ Callback: { $visitor: Zy },
+ Example: {
+ $visitor: Vy,
+ fixedFields: {
+ summary: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ value: { $ref: '#/visitors/value' },
+ externalValue: Uy
+ }
+ },
+ Link: {
+ $visitor: fm,
+ fixedFields: {
+ operationRef: mm,
+ operationId: gm,
+ parameters: _m,
+ requestBody: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ server: { $ref: '#/visitors/document/objects/Server' }
+ }
+ },
+ Header: {
+ $visitor: zg,
+ fixedFields: {
+ description: { $ref: '#/visitors/value' },
+ required: { $ref: '#/visitors/value' },
+ deprecated: { $ref: '#/visitors/value' },
+ allowEmptyValue: { $ref: '#/visitors/value' },
+ style: { $ref: '#/visitors/value' },
+ explode: { $ref: '#/visitors/value' },
+ allowReserved: { $ref: '#/visitors/value' },
+ schema: Wg,
+ example: { $ref: '#/visitors/value' },
+ examples: Yg,
+ content: ey
+ }
+ },
+ Tag: {
+ $visitor: xg,
+ fixedFields: {
+ name: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ externalDocs: { $ref: '#/visitors/document/objects/ExternalDocumentation' }
+ }
+ },
+ Reference: { $visitor: kg, fixedFields: { $ref: qg } },
+ JSONSchema: { $ref: '#/visitors/document/objects/Schema' },
+ JSONReference: { $ref: '#/visitors/document/objects/Reference' },
+ Schema: {
+ $visitor: ty,
+ fixedFields: {
+ title: qv.title,
+ multipleOf: qv.multipleOf,
+ maximum: qv.maximum,
+ exclusiveMaximum: qv.exclusiveMaximum,
+ minimum: qv.minimum,
+ exclusiveMinimum: qv.exclusiveMinimum,
+ maxLength: qv.maxLength,
+ minLength: qv.minLength,
+ pattern: qv.pattern,
+ maxItems: qv.maxItems,
+ minItems: qv.minItems,
+ uniqueItems: qv.uniqueItems,
+ maxProperties: qv.maxProperties,
+ minProperties: qv.minProperties,
+ required: qv.required,
+ enum: qv.enum,
+ type: dy,
+ allOf: ny,
+ anyOf: oy,
+ oneOf: ay,
+ not: my,
+ items: cy,
+ properties: py,
+ additionalProperties: my,
+ description: qv.description,
+ format: qv.format,
+ default: qv.default,
+ nullable: { $ref: '#/visitors/value' },
+ discriminator: { $ref: '#/visitors/document/objects/Discriminator' },
+ writeOnly: { $ref: '#/visitors/value' },
+ xml: { $ref: '#/visitors/document/objects/XML' },
+ externalDocs: { $ref: '#/visitors/document/objects/ExternalDocumentation' },
+ example: { $ref: '#/visitors/value' },
+ deprecated: { $ref: '#/visitors/value' }
+ }
+ },
+ Discriminator: {
+ $visitor: gy,
+ fixedFields: { propertyName: { $ref: '#/visitors/value' }, mapping: vy }
+ },
+ XML: {
+ $visitor: by,
+ fixedFields: {
+ name: { $ref: '#/visitors/value' },
+ namespace: { $ref: '#/visitors/value' },
+ prefix: { $ref: '#/visitors/value' },
+ attribute: { $ref: '#/visitors/value' },
+ wrapped: { $ref: '#/visitors/value' }
+ }
+ },
+ SecurityScheme: {
+ $visitor: Tv,
+ fixedFields: {
+ type: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ name: { $ref: '#/visitors/value' },
+ in: { $ref: '#/visitors/value' },
+ scheme: { $ref: '#/visitors/value' },
+ bearerFormat: { $ref: '#/visitors/value' },
+ flows: { $ref: '#/visitors/document/objects/OAuthFlows' },
+ openIdConnectUrl: { $ref: '#/visitors/value' }
+ }
+ },
+ OAuthFlows: {
+ $visitor: Nv,
+ fixedFields: {
+ implicit: { $ref: '#/visitors/document/objects/OAuthFlow' },
+ password: { $ref: '#/visitors/document/objects/OAuthFlow' },
+ clientCredentials: { $ref: '#/visitors/document/objects/OAuthFlow' },
+ authorizationCode: { $ref: '#/visitors/document/objects/OAuthFlow' }
+ }
+ },
+ OAuthFlow: {
+ $visitor: Rv,
+ fixedFields: {
+ authorizationUrl: { $ref: '#/visitors/value' },
+ tokenUrl: { $ref: '#/visitors/value' },
+ refreshUrl: { $ref: '#/visitors/value' },
+ scopes: Lv
+ }
+ },
+ SecurityRequirement: { $visitor: mg }
+ },
+ extension: { $visitor: cm }
+ }
+ }
+ },
+ es_traversal_visitor_getNodeType = (s) => {
+ if (Nu(s)) return `${s.element.charAt(0).toUpperCase() + s.element.slice(1)}Element`;
+ },
+ Vv = {
+ CallbackElement: ['content'],
+ ComponentsElement: ['content'],
+ ContactElement: ['content'],
+ DiscriminatorElement: ['content'],
+ Encoding: ['content'],
+ Example: ['content'],
+ ExternalDocumentationElement: ['content'],
+ HeaderElement: ['content'],
+ InfoElement: ['content'],
+ LicenseElement: ['content'],
+ MediaTypeElement: ['content'],
+ OAuthFlowElement: ['content'],
+ OAuthFlowsElement: ['content'],
+ OpenApi3_0Element: ['content'],
+ OperationElement: ['content'],
+ ParameterElement: ['content'],
+ PathItemElement: ['content'],
+ PathsElement: ['content'],
+ ReferenceElement: ['content'],
+ RequestBodyElement: ['content'],
+ ResponseElement: ['content'],
+ ResponsesElement: ['content'],
+ SchemaElement: ['content'],
+ SecurityRequirementElement: ['content'],
+ SecuritySchemeElement: ['content'],
+ ServerElement: ['content'],
+ ServerVariableElement: ['content'],
+ TagElement: ['content'],
+ ...Qu
+ },
+ Uv = {
+ namespace: (s) => {
+ const { base: o } = s;
+ return (
+ o.register('callback', Hp),
+ o.register('components', Jp),
+ o.register('contact', Gp),
+ o.register('discriminator', Yp),
+ o.register('encoding', Xp),
+ o.register('example', Zp),
+ o.register('externalDocumentation', Qp),
+ o.register('header', th),
+ o.register('info', rh),
+ o.register('license', uh),
+ o.register('link', dh),
+ o.register('mediaType', fh),
+ o.register('oAuthFlow', vh),
+ o.register('oAuthFlows', _h),
+ o.register('openapi', wh),
+ o.register('openApi3_0', Oh),
+ o.register('operation', jh),
+ o.register('parameter', Ih),
+ o.register('pathItem', Ph),
+ o.register('paths', Rh),
+ o.register('reference', Dh),
+ o.register('requestBody', Lh),
+ o.register('response', Fh),
+ o.register('responses', Kh),
+ o.register('schema', Wf),
+ o.register('securityRequirement', Hf),
+ o.register('securityScheme', Jf),
+ o.register('server', Gf),
+ o.register('serverVariable', Xf),
+ o.register('tag', Qf),
+ o.register('xml', em),
+ o
+ );
+ }
+ },
+ zv = Uv,
+ es_refractor_toolbox = () => {
+ const s = createNamespace(zv);
+ return {
+ predicates: {
+ ...pe,
+ isElement: Nu,
+ isStringElement: Ru,
+ isArrayElement: qu,
+ isObjectElement: Fu,
+ isMemberElement: $u,
+ includesClasses,
+ hasElementSourceMap
+ },
+ namespace: s
+ };
+ },
+ es_refractor_refract = (
+ s,
+ {
+ specPath: o = ['visitors', 'document', 'objects', 'OpenApi', '$visitor'],
+ plugins: i = []
+ } = {}
+ ) => {
+ const u = (0, Cu.e)(s),
+ _ = dereference($v),
+ w = new (cp(o, _))({ specObj: _ });
+ return (
+ visitor_visit(u, w),
+ dispatchPluginsSync(w.element, i, {
+ toolboxCreator: es_refractor_toolbox,
+ visitorOptions: { keyMap: Vv, nodeTypeGetter: es_traversal_visitor_getNodeType }
+ })
+ );
+ },
+ es_refractor_createRefractor =
+ (s) =>
+ (o, i = {}) =>
+ es_refractor_refract(o, { specPath: s, ...i });
+ (Hp.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Callback',
+ '$visitor'
+ ])),
+ (Jp.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Components',
+ '$visitor'
+ ])),
+ (Gp.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Contact',
+ '$visitor'
+ ])),
+ (Zp.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Example',
+ '$visitor'
+ ])),
+ (Yp.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Discriminator',
+ '$visitor'
+ ])),
+ (Xp.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Encoding',
+ '$visitor'
+ ])),
+ (Qp.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'ExternalDocumentation',
+ '$visitor'
+ ])),
+ (th.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Header',
+ '$visitor'
+ ])),
+ (rh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Info',
+ '$visitor'
+ ])),
+ (uh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'License',
+ '$visitor'
+ ])),
+ (dh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Link',
+ '$visitor'
+ ])),
+ (fh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'MediaType',
+ '$visitor'
+ ])),
+ (vh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'OAuthFlow',
+ '$visitor'
+ ])),
+ (_h.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'OAuthFlows',
+ '$visitor'
+ ])),
+ (wh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'OpenApi',
+ 'fixedFields',
+ 'openapi'
+ ])),
+ (Oh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'OpenApi',
+ '$visitor'
+ ])),
+ (jh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Operation',
+ '$visitor'
+ ])),
+ (Ih.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Parameter',
+ '$visitor'
+ ])),
+ (Ph.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'PathItem',
+ '$visitor'
+ ])),
+ (Rh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Paths',
+ '$visitor'
+ ])),
+ (Dh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Reference',
+ '$visitor'
+ ])),
+ (Lh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'RequestBody',
+ '$visitor'
+ ])),
+ (Fh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Response',
+ '$visitor'
+ ])),
+ (Kh.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Responses',
+ '$visitor'
+ ])),
+ (Wf.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Schema',
+ '$visitor'
+ ])),
+ (Hf.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'SecurityRequirement',
+ '$visitor'
+ ])),
+ (Jf.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'SecurityScheme',
+ '$visitor'
+ ])),
+ (Gf.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Server',
+ '$visitor'
+ ])),
+ (Xf.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'ServerVariable',
+ '$visitor'
+ ])),
+ (Qf.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Tag',
+ '$visitor'
+ ])),
+ (em.refract = es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'XML',
+ '$visitor'
+ ]));
+ const Wv = class Callback_Callback extends Hp {};
+ const Kv = class Components_Components extends Jp {
+ get pathItems() {
+ return this.get('pathItems');
+ }
+ set pathItems(s) {
+ this.set('pathItems', s);
+ }
+ };
+ const Hv = class Contact_Contact extends Gp {};
+ const Jv = class Discriminator_Discriminator extends Yp {};
+ const Gv = class Encoding_Encoding extends Xp {};
+ const Yv = class Example_Example extends Zp {};
+ const Xv = class ExternalDocumentation_ExternalDocumentation extends Qp {};
+ const Zv = class Header_Header extends th {
+ get schema() {
+ return this.get('schema');
+ }
+ set schema(s) {
+ this.set('schema', s);
+ }
+ };
+ const Qv = class Info_Info extends rh {
+ get license() {
+ return this.get('license');
+ }
+ set license(s) {
+ this.set('license', s);
+ }
+ get summary() {
+ return this.get('summary');
+ }
+ set summary(s) {
+ this.set('summary', s);
+ }
+ };
+ class JsonSchemaDialect extends Cu.Om {
+ static default = new JsonSchemaDialect('https://spec.openapis.org/oas/3.1/dialect/base');
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'jsonSchemaDialect');
+ }
+ }
+ const eb = JsonSchemaDialect;
+ const tb = class License_License extends uh {
+ get identifier() {
+ return this.get('identifier');
+ }
+ set identifier(s) {
+ this.set('identifier', s);
+ }
+ };
+ const nb = class Link_Link extends dh {};
+ const pb = class MediaType_MediaType extends fh {
+ get schema() {
+ return this.get('schema');
+ }
+ set schema(s) {
+ this.set('schema', s);
+ }
+ };
+ const mb = class OAuthFlow_OAuthFlow extends vh {};
+ const yb = class OAuthFlows_OAuthFlows extends _h {};
+ const _b = class Openapi_Openapi extends wh {};
+ class OpenApi3_1 extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'openApi3_1'), this.classes.push('api');
+ }
+ get openapi() {
+ return this.get('openapi');
+ }
+ set openapi(s) {
+ this.set('openapi', s);
+ }
+ get info() {
+ return this.get('info');
+ }
+ set info(s) {
+ this.set('info', s);
+ }
+ get jsonSchemaDialect() {
+ return this.get('jsonSchemaDialect');
+ }
+ set jsonSchemaDialect(s) {
+ this.set('jsonSchemaDialect', s);
+ }
+ get servers() {
+ return this.get('servers');
+ }
+ set servers(s) {
+ this.set('servers', s);
+ }
+ get paths() {
+ return this.get('paths');
+ }
+ set paths(s) {
+ this.set('paths', s);
+ }
+ get components() {
+ return this.get('components');
+ }
+ set components(s) {
+ this.set('components', s);
+ }
+ get security() {
+ return this.get('security');
+ }
+ set security(s) {
+ this.set('security', s);
+ }
+ get tags() {
+ return this.get('tags');
+ }
+ set tags(s) {
+ this.set('tags', s);
+ }
+ get externalDocs() {
+ return this.get('externalDocs');
+ }
+ set externalDocs(s) {
+ this.set('externalDocs', s);
+ }
+ get webhooks() {
+ return this.get('webhooks');
+ }
+ set webhooks(s) {
+ this.set('webhooks', s);
+ }
+ }
+ const wb = OpenApi3_1;
+ const Sb = class Operation_Operation extends jh {
+ get requestBody() {
+ return this.get('requestBody');
+ }
+ set requestBody(s) {
+ this.set('requestBody', s);
+ }
+ };
+ const Ob = class Parameter_Parameter extends Ih {
+ get schema() {
+ return this.get('schema');
+ }
+ set schema(s) {
+ this.set('schema', s);
+ }
+ };
+ const Ab = class PathItem_PathItem extends Ph {
+ get GET() {
+ return this.get('get');
+ }
+ set GET(s) {
+ this.set('GET', s);
+ }
+ get PUT() {
+ return this.get('put');
+ }
+ set PUT(s) {
+ this.set('PUT', s);
+ }
+ get POST() {
+ return this.get('post');
+ }
+ set POST(s) {
+ this.set('POST', s);
+ }
+ get DELETE() {
+ return this.get('delete');
+ }
+ set DELETE(s) {
+ this.set('DELETE', s);
+ }
+ get OPTIONS() {
+ return this.get('options');
+ }
+ set OPTIONS(s) {
+ this.set('OPTIONS', s);
+ }
+ get HEAD() {
+ return this.get('head');
+ }
+ set HEAD(s) {
+ this.set('HEAD', s);
+ }
+ get PATCH() {
+ return this.get('patch');
+ }
+ set PATCH(s) {
+ this.set('PATCH', s);
+ }
+ get TRACE() {
+ return this.get('trace');
+ }
+ set TRACE(s) {
+ this.set('TRACE', s);
+ }
+ };
+ const Ib = class Paths_Paths extends Rh {};
+ class Reference_Reference extends Dh {}
+ Object.defineProperty(Reference_Reference.prototype, 'description', {
+ get() {
+ return this.get('description');
+ },
+ set(s) {
+ this.set('description', s);
+ },
+ enumerable: !0
+ }),
+ Object.defineProperty(Reference_Reference.prototype, 'summary', {
+ get() {
+ return this.get('summary');
+ },
+ set(s) {
+ this.set('summary', s);
+ },
+ enumerable: !0
+ });
+ const Pb = Reference_Reference;
+ const Mb = class RequestBody_RequestBody extends Lh {};
+ const Rb = class elements_Response_Response extends Fh {};
+ const Lb = class Responses_Responses extends Kh {};
+ class elements_Schema_Schema extends Cu.Sh {
+ constructor(s, o, i) {
+ super(s, o, i), (this.element = 'schema');
+ }
+ get $schema() {
+ return this.get('$schema');
+ }
+ set $schema(s) {
+ this.set('$schema', s);
+ }
+ get $vocabulary() {
+ return this.get('$vocabulary');
+ }
+ set $vocabulary(s) {
+ this.set('$vocabulary', s);
+ }
+ get $id() {
+ return this.get('$id');
+ }
+ set $id(s) {
+ this.set('$id', s);
+ }
+ get $anchor() {
+ return this.get('$anchor');
+ }
+ set $anchor(s) {
+ this.set('$anchor', s);
+ }
+ get $dynamicAnchor() {
+ return this.get('$dynamicAnchor');
+ }
+ set $dynamicAnchor(s) {
+ this.set('$dynamicAnchor', s);
+ }
+ get $dynamicRef() {
+ return this.get('$dynamicRef');
+ }
+ set $dynamicRef(s) {
+ this.set('$dynamicRef', s);
+ }
+ get $ref() {
+ return this.get('$ref');
+ }
+ set $ref(s) {
+ this.set('$ref', s);
+ }
+ get $defs() {
+ return this.get('$defs');
+ }
+ set $defs(s) {
+ this.set('$defs', s);
+ }
+ get $comment() {
+ return this.get('$comment');
+ }
+ set $comment(s) {
+ this.set('$comment', s);
+ }
+ get allOf() {
+ return this.get('allOf');
+ }
+ set allOf(s) {
+ this.set('allOf', s);
+ }
+ get anyOf() {
+ return this.get('anyOf');
+ }
+ set anyOf(s) {
+ this.set('anyOf', s);
+ }
+ get oneOf() {
+ return this.get('oneOf');
+ }
+ set oneOf(s) {
+ this.set('oneOf', s);
+ }
+ get not() {
+ return this.get('not');
+ }
+ set not(s) {
+ this.set('not', s);
+ }
+ get if() {
+ return this.get('if');
+ }
+ set if(s) {
+ this.set('if', s);
+ }
+ get then() {
+ return this.get('then');
+ }
+ set then(s) {
+ this.set('then', s);
+ }
+ get else() {
+ return this.get('else');
+ }
+ set else(s) {
+ this.set('else', s);
+ }
+ get dependentSchemas() {
+ return this.get('dependentSchemas');
+ }
+ set dependentSchemas(s) {
+ this.set('dependentSchemas', s);
+ }
+ get prefixItems() {
+ return this.get('prefixItems');
+ }
+ set prefixItems(s) {
+ this.set('prefixItems', s);
+ }
+ get items() {
+ return this.get('items');
+ }
+ set items(s) {
+ this.set('items', s);
+ }
+ get containsProp() {
+ return this.get('contains');
+ }
+ set containsProp(s) {
+ this.set('contains', s);
+ }
+ get properties() {
+ return this.get('properties');
+ }
+ set properties(s) {
+ this.set('properties', s);
+ }
+ get patternProperties() {
+ return this.get('patternProperties');
+ }
+ set patternProperties(s) {
+ this.set('patternProperties', s);
+ }
+ get additionalProperties() {
+ return this.get('additionalProperties');
+ }
+ set additionalProperties(s) {
+ this.set('additionalProperties', s);
+ }
+ get propertyNames() {
+ return this.get('propertyNames');
+ }
+ set propertyNames(s) {
+ this.set('propertyNames', s);
+ }
+ get unevaluatedItems() {
+ return this.get('unevaluatedItems');
+ }
+ set unevaluatedItems(s) {
+ this.set('unevaluatedItems', s);
+ }
+ get unevaluatedProperties() {
+ return this.get('unevaluatedProperties');
+ }
+ set unevaluatedProperties(s) {
+ this.set('unevaluatedProperties', s);
+ }
+ get type() {
+ return this.get('type');
+ }
+ set type(s) {
+ this.set('type', s);
+ }
+ get enum() {
+ return this.get('enum');
+ }
+ set enum(s) {
+ this.set('enum', s);
+ }
+ get const() {
+ return this.get('const');
+ }
+ set const(s) {
+ this.set('const', s);
+ }
+ get multipleOf() {
+ return this.get('multipleOf');
+ }
+ set multipleOf(s) {
+ this.set('multipleOf', s);
+ }
+ get maximum() {
+ return this.get('maximum');
+ }
+ set maximum(s) {
+ this.set('maximum', s);
+ }
+ get exclusiveMaximum() {
+ return this.get('exclusiveMaximum');
+ }
+ set exclusiveMaximum(s) {
+ this.set('exclusiveMaximum', s);
+ }
+ get minimum() {
+ return this.get('minimum');
+ }
+ set minimum(s) {
+ this.set('minimum', s);
+ }
+ get exclusiveMinimum() {
+ return this.get('exclusiveMinimum');
+ }
+ set exclusiveMinimum(s) {
+ this.set('exclusiveMinimum', s);
+ }
+ get maxLength() {
+ return this.get('maxLength');
+ }
+ set maxLength(s) {
+ this.set('maxLength', s);
+ }
+ get minLength() {
+ return this.get('minLength');
+ }
+ set minLength(s) {
+ this.set('minLength', s);
+ }
+ get pattern() {
+ return this.get('pattern');
+ }
+ set pattern(s) {
+ this.set('pattern', s);
+ }
+ get maxItems() {
+ return this.get('maxItems');
+ }
+ set maxItems(s) {
+ this.set('maxItems', s);
+ }
+ get minItems() {
+ return this.get('minItems');
+ }
+ set minItems(s) {
+ this.set('minItems', s);
+ }
+ get uniqueItems() {
+ return this.get('uniqueItems');
+ }
+ set uniqueItems(s) {
+ this.set('uniqueItems', s);
+ }
+ get maxContains() {
+ return this.get('maxContains');
+ }
+ set maxContains(s) {
+ this.set('maxContains', s);
+ }
+ get minContains() {
+ return this.get('minContains');
+ }
+ set minContains(s) {
+ this.set('minContains', s);
+ }
+ get maxProperties() {
+ return this.get('maxProperties');
+ }
+ set maxProperties(s) {
+ this.set('maxProperties', s);
+ }
+ get minProperties() {
+ return this.get('minProperties');
+ }
+ set minProperties(s) {
+ this.set('minProperties', s);
+ }
+ get required() {
+ return this.get('required');
+ }
+ set required(s) {
+ this.set('required', s);
+ }
+ get dependentRequired() {
+ return this.get('dependentRequired');
+ }
+ set dependentRequired(s) {
+ this.set('dependentRequired', s);
+ }
+ get title() {
+ return this.get('title');
+ }
+ set title(s) {
+ this.set('title', s);
+ }
+ get description() {
+ return this.get('description');
+ }
+ set description(s) {
+ this.set('description', s);
+ }
+ get default() {
+ return this.get('default');
+ }
+ set default(s) {
+ this.set('default', s);
+ }
+ get deprecated() {
+ return this.get('deprecated');
+ }
+ set deprecated(s) {
+ this.set('deprecated', s);
+ }
+ get readOnly() {
+ return this.get('readOnly');
+ }
+ set readOnly(s) {
+ this.set('readOnly', s);
+ }
+ get writeOnly() {
+ return this.get('writeOnly');
+ }
+ set writeOnly(s) {
+ this.set('writeOnly', s);
+ }
+ get examples() {
+ return this.get('examples');
+ }
+ set examples(s) {
+ this.set('examples', s);
+ }
+ get format() {
+ return this.get('format');
+ }
+ set format(s) {
+ this.set('format', s);
+ }
+ get contentEncoding() {
+ return this.get('contentEncoding');
+ }
+ set contentEncoding(s) {
+ this.set('contentEncoding', s);
+ }
+ get contentMediaType() {
+ return this.get('contentMediaType');
+ }
+ set contentMediaType(s) {
+ this.set('contentMediaType', s);
+ }
+ get contentSchema() {
+ return this.get('contentSchema');
+ }
+ set contentSchema(s) {
+ this.set('contentSchema', s);
+ }
+ get discriminator() {
+ return this.get('discriminator');
+ }
+ set discriminator(s) {
+ this.set('discriminator', s);
+ }
+ get xml() {
+ return this.get('xml');
+ }
+ set xml(s) {
+ this.set('xml', s);
+ }
+ get externalDocs() {
+ return this.get('externalDocs');
+ }
+ set externalDocs(s) {
+ this.set('externalDocs', s);
+ }
+ get example() {
+ return this.get('example');
+ }
+ set example(s) {
+ this.set('example', s);
+ }
+ }
+ const qb = elements_Schema_Schema;
+ const zb = class SecurityRequirement_SecurityRequirement extends Hf {};
+ const Qb = class SecurityScheme_SecurityScheme extends Jf {};
+ const e_ = class Server_Server extends Gf {};
+ const t_ = class ServerVariable_ServerVariable extends Xf {};
+ const r_ = class Tag_Tag extends Qf {};
+ const n_ = class Xml_Xml extends em {};
+ class OpenApi3_1Visitor extends Mixin(im, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new wb()),
+ (this.specPath = Tl(['document', 'objects', 'OpenApi'])),
+ (this.canSupportSpecificationExtensions = !0),
+ (this.openApiSemanticElement = this.element);
+ }
+ ObjectElement(s) {
+ return (this.openApiGenericElement = s), im.prototype.ObjectElement.call(this, s);
+ }
+ }
+ const s_ = OpenApi3_1Visitor,
+ {
+ visitors: {
+ document: {
+ objects: {
+ Info: { $visitor: o_ }
+ }
+ }
+ }
+ } = $v;
+ const i_ = class info_InfoVisitor extends o_ {
+ constructor(s) {
+ super(s), (this.element = new Qv());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Contact: { $visitor: a_ }
+ }
+ }
+ }
+ } = $v;
+ const l_ = class contact_ContactVisitor extends a_ {
+ constructor(s) {
+ super(s), (this.element = new Hv());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ License: { $visitor: c_ }
+ }
+ }
+ }
+ } = $v;
+ const u_ = class license_LicenseVisitor extends c_ {
+ constructor(s) {
+ super(s), (this.element = new tb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Link: { $visitor: p_ }
+ }
+ }
+ }
+ } = $v;
+ const h_ = class link_LinkVisitor extends p_ {
+ constructor(s) {
+ super(s), (this.element = new nb());
+ }
+ };
+ class JsonSchemaDialectVisitor extends Mixin(nm, rm) {
+ StringElement(s) {
+ const o = new eb(serializers_value(s));
+ return this.copyMetaAndAttributes(s, o), (this.element = o), Ju;
+ }
+ }
+ const d_ = JsonSchemaDialectVisitor,
+ {
+ visitors: {
+ document: {
+ objects: {
+ Server: { $visitor: f_ }
+ }
+ }
+ }
+ } = $v;
+ const m_ = class server_ServerVisitor extends f_ {
+ constructor(s) {
+ super(s), (this.element = new e_());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ ServerVariable: { $visitor: g_ }
+ }
+ }
+ }
+ } = $v;
+ const y_ = class server_variable_ServerVariableVisitor extends g_ {
+ constructor(s) {
+ super(s), (this.element = new t_());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ MediaType: { $visitor: v_ }
+ }
+ }
+ }
+ } = $v;
+ const b_ = class media_type_MediaTypeVisitor extends v_ {
+ constructor(s) {
+ super(s), (this.element = new pb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ SecurityRequirement: { $visitor: E_ }
+ }
+ }
+ }
+ } = $v;
+ const w_ = class security_requirement_SecurityRequirementVisitor extends E_ {
+ constructor(s) {
+ super(s), (this.element = new zb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Components: { $visitor: S_ }
+ }
+ }
+ }
+ } = $v;
+ const x_ = class components_ComponentsVisitor extends S_ {
+ constructor(s) {
+ super(s), (this.element = new Kv());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Tag: { $visitor: k_ }
+ }
+ }
+ }
+ } = $v;
+ const C_ = class tag_TagVisitor extends k_ {
+ constructor(s) {
+ super(s), (this.element = new r_());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Reference: { $visitor: O_ }
+ }
+ }
+ }
+ } = $v;
+ const A_ = class reference_ReferenceVisitor extends O_ {
+ constructor(s) {
+ super(s), (this.element = new Pb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Parameter: { $visitor: j_ }
+ }
+ }
+ }
+ } = $v;
+ const I_ = class parameter_ParameterVisitor extends j_ {
+ constructor(s) {
+ super(s), (this.element = new Ob());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Header: { $visitor: P_ }
+ }
+ }
+ }
+ } = $v;
+ const M_ = class header_HeaderVisitor extends P_ {
+ constructor(s) {
+ super(s), (this.element = new Zv());
+ }
+ },
+ T_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Wv || (s(u) && o('callback', u) && i('object', u))
+ ),
+ N_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Kv || (s(u) && o('components', u) && i('object', u))
+ ),
+ R_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Hv || (s(u) && o('contact', u) && i('object', u))
+ ),
+ D_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Yv || (s(u) && o('example', u) && i('object', u))
+ ),
+ L_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Xv || (s(u) && o('externalDocumentation', u) && i('object', u))
+ ),
+ B_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Zv || (s(u) && o('header', u) && i('object', u))
+ ),
+ F_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Qv || (s(u) && o('info', u) && i('object', u))
+ ),
+ q_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof eb || (s(u) && o('jsonSchemaDialect', u) && i('string', u))
+ ),
+ $_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof tb || (s(u) && o('license', u) && i('object', u))
+ ),
+ V_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof nb || (s(u) && o('link', u) && i('object', u))
+ ),
+ U_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof _b || (s(u) && o('openapi', u) && i('string', u))
+ ),
+ z_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i, hasClass: u }) =>
+ (_) =>
+ _ instanceof wb || (s(_) && o('openApi3_1', _) && i('object', _) && u('api', _))
+ ),
+ W_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Sb || (s(u) && o('operation', u) && i('object', u))
+ ),
+ K_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Ob || (s(u) && o('parameter', u) && i('object', u))
+ ),
+ H_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Ab || (s(u) && o('pathItem', u) && i('object', u))
+ ),
+ isPathItemElementExternal = (s) => {
+ if (!H_(s)) return !1;
+ if (!Ru(s.$ref)) return !1;
+ const o = serializers_value(s.$ref);
+ return 'string' == typeof o && o.length > 0 && !o.startsWith('#');
+ },
+ J_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Ib || (s(u) && o('paths', u) && i('object', u))
+ ),
+ G_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Pb || (s(u) && o('reference', u) && i('object', u))
+ ),
+ isReferenceElementExternal = (s) => {
+ if (!G_(s)) return !1;
+ if (!Ru(s.$ref)) return !1;
+ const o = serializers_value(s.$ref);
+ return 'string' == typeof o && o.length > 0 && !o.startsWith('#');
+ },
+ Y_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Mb || (s(u) && o('requestBody', u) && i('object', u))
+ ),
+ X_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Rb || (s(u) && o('response', u) && i('object', u))
+ ),
+ Z_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Lb || (s(u) && o('responses', u) && i('object', u))
+ ),
+ Q_ = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof qb || (s(u) && o('schema', u) && i('object', u))
+ ),
+ predicates_isBooleanJsonSchemaElement = (s) =>
+ Bu(s) && s.classes.includes('boolean-json-schema'),
+ eE = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof zb || (s(u) && o('securityRequirement', u) && i('object', u))
+ ),
+ tE = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof Qb || (s(u) && o('securityScheme', u) && i('object', u))
+ ),
+ rE = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof e_ || (s(u) && o('server', u) && i('object', u))
+ ),
+ nE = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof t_ || (s(u) && o('serverVariable', u) && i('object', u))
+ ),
+ sE = helpers(
+ ({ hasBasicElementProps: s, isElementType: o, primitiveEq: i }) =>
+ (u) =>
+ u instanceof pb || (s(u) && o('mediaType', u) && i('object', u))
+ );
+ const oE = class ParentSchemaAwareVisitor_ParentSchemaAwareVisitor {
+ parent;
+ constructor({ parent: s }) {
+ this.parent = s;
+ }
+ };
+ class open_api_3_1_schema_SchemaVisitor extends Mixin(im, oE, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new qb()),
+ (this.specPath = Tl(['document', 'objects', 'Schema'])),
+ (this.canSupportSpecificationExtensions = !0),
+ (this.jsonSchemaDefaultDialect = eb.default),
+ this.passingOptionsNames.push('parent');
+ }
+ ObjectElement(s) {
+ this.handle$schema(s), this.handle$id(s), (this.parent = this.element);
+ const o = im.prototype.ObjectElement.call(this, s);
+ return (
+ Ru(this.element.$ref) &&
+ (this.element.classes.push('reference-element'),
+ this.element.setMetaProperty('referenced-element', 'schema')),
+ o
+ );
+ }
+ BooleanElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('boolean-json-schema'), o;
+ }
+ getJsonSchemaDialect() {
+ let s;
+ return (
+ (s =
+ void 0 !== this.openApiSemanticElement &&
+ q_(this.openApiSemanticElement.jsonSchemaDialect)
+ ? serializers_value(this.openApiSemanticElement.jsonSchemaDialect)
+ : void 0 !== this.openApiGenericElement &&
+ Ru(this.openApiGenericElement.get('jsonSchemaDialect'))
+ ? serializers_value(this.openApiGenericElement.get('jsonSchemaDialect'))
+ : serializers_value(this.jsonSchemaDefaultDialect)),
+ s
+ );
+ }
+ handle$schema(s) {
+ if (Rl(this.parent) && !Ru(s.get('$schema')))
+ this.element.setMetaProperty('inherited$schema', this.getJsonSchemaDialect());
+ else if (Q_(this.parent) && !Ru(s.get('$schema'))) {
+ const s = Na(
+ serializers_value(this.parent.meta.get('inherited$schema')),
+ serializers_value(this.parent.$schema)
+ );
+ this.element.setMetaProperty('inherited$schema', s);
+ }
+ }
+ handle$id(s) {
+ const o =
+ void 0 !== this.parent
+ ? cloneDeep(this.parent.getMetaProperty('inherited$id', []))
+ : new Cu.wE(),
+ i = serializers_value(s.get('$id'));
+ Vd(i) && o.push(i), this.element.setMetaProperty('inherited$id', o);
+ }
+ }
+ const iE = open_api_3_1_schema_SchemaVisitor;
+ const aE = class $vocabularyVisitor extends rm {
+ ObjectElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('json-schema-$vocabulary'), o;
+ }
+ };
+ const lE = class $refVisitor extends rm {
+ StringElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('reference-value'), o;
+ }
+ };
+ class $defsVisitor extends Mixin(vm, oE, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('json-schema-$defs'),
+ (this.specPath = Tl(['document', 'objects', 'Schema'])),
+ this.passingOptionsNames.push('parent');
+ }
+ }
+ const cE = $defsVisitor;
+ class schema_AllOfVisitor_AllOfVisitor extends Mixin(nm, oE, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.wE()),
+ this.element.classes.push('json-schema-allOf'),
+ this.passingOptionsNames.push('parent');
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ if (Fu(s)) {
+ const o = this.toRefractedElement(['document', 'objects', 'Schema'], s);
+ this.element.push(o);
+ } else {
+ const o = cloneDeep(s);
+ this.element.push(o);
+ }
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const uE = schema_AllOfVisitor_AllOfVisitor;
+ class schema_AnyOfVisitor_AnyOfVisitor extends Mixin(nm, oE, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.wE()),
+ this.element.classes.push('json-schema-anyOf'),
+ this.passingOptionsNames.push('parent');
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ if (Fu(s)) {
+ const o = this.toRefractedElement(['document', 'objects', 'Schema'], s);
+ this.element.push(o);
+ } else {
+ const o = cloneDeep(s);
+ this.element.push(o);
+ }
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const pE = schema_AnyOfVisitor_AnyOfVisitor;
+ class schema_OneOfVisitor_OneOfVisitor extends Mixin(nm, oE, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.wE()),
+ this.element.classes.push('json-schema-oneOf'),
+ this.passingOptionsNames.push('parent');
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ if (Fu(s)) {
+ const o = this.toRefractedElement(['document', 'objects', 'Schema'], s);
+ this.element.push(o);
+ } else {
+ const o = cloneDeep(s);
+ this.element.push(o);
+ }
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const hE = schema_OneOfVisitor_OneOfVisitor;
+ class DependentSchemasVisitor extends Mixin(vm, oE, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('json-schema-dependentSchemas'),
+ (this.specPath = Tl(['document', 'objects', 'Schema'])),
+ this.passingOptionsNames.push('parent');
+ }
+ }
+ const dE = DependentSchemasVisitor;
+ class PrefixItemsVisitor extends Mixin(nm, oE, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.wE()),
+ this.element.classes.push('json-schema-prefixItems'),
+ this.passingOptionsNames.push('parent');
+ }
+ ArrayElement(s) {
+ return (
+ s.forEach((s) => {
+ if (Fu(s)) {
+ const o = this.toRefractedElement(['document', 'objects', 'Schema'], s);
+ this.element.push(o);
+ } else {
+ const o = cloneDeep(s);
+ this.element.push(o);
+ }
+ }),
+ this.copyMetaAndAttributes(s, this.element),
+ Ju
+ );
+ }
+ }
+ const fE = PrefixItemsVisitor;
+ class schema_PropertiesVisitor_PropertiesVisitor extends Mixin(vm, oE, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('json-schema-properties'),
+ (this.specPath = Tl(['document', 'objects', 'Schema'])),
+ this.passingOptionsNames.push('parent');
+ }
+ }
+ const mE = schema_PropertiesVisitor_PropertiesVisitor;
+ class PatternPropertiesVisitor_PatternPropertiesVisitor extends Mixin(vm, oE, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new Cu.Sh()),
+ this.element.classes.push('json-schema-patternProperties'),
+ (this.specPath = Tl(['document', 'objects', 'Schema'])),
+ this.passingOptionsNames.push('parent');
+ }
+ }
+ const gE = PatternPropertiesVisitor_PatternPropertiesVisitor;
+ const yE = class schema_TypeVisitor_TypeVisitor extends rm {
+ StringElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('json-schema-type'), o;
+ }
+ ArrayElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('json-schema-type'), o;
+ }
+ };
+ const vE = class EnumVisitor_EnumVisitor extends rm {
+ ArrayElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('json-schema-enum'), o;
+ }
+ };
+ const bE = class DependentRequiredVisitor extends rm {
+ ObjectElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('json-schema-dependentRequired'), o;
+ }
+ };
+ const _E = class schema_ExamplesVisitor_ExamplesVisitor extends rm {
+ ArrayElement(s) {
+ const o = super.enter(s);
+ return this.element.classes.push('json-schema-examples'), o;
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Discriminator: { $visitor: EE }
+ }
+ }
+ }
+ } = $v;
+ const wE = class distriminator_DiscriminatorVisitor extends EE {
+ constructor(s) {
+ super(s), (this.element = new Jv()), (this.canSupportSpecificationExtensions = !0);
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ XML: { $visitor: SE }
+ }
+ }
+ }
+ } = $v;
+ const xE = class xml_XmlVisitor extends SE {
+ constructor(s) {
+ super(s), (this.element = new n_());
+ }
+ };
+ class SchemasVisitor_SchemasVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new xy()),
+ (this.specPath = Tl(['document', 'objects', 'Schema']));
+ }
+ }
+ const kE = SchemasVisitor_SchemasVisitor;
+ class ComponentsPathItems extends Cu.Sh {
+ static primaryClass = 'components-path-items';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(ComponentsPathItems.primaryClass);
+ }
+ }
+ const CE = ComponentsPathItems;
+ class PathItemsVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new CE()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'PathItem']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(G_).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'pathItem');
+ }),
+ o
+ );
+ }
+ }
+ const OE = PathItemsVisitor,
+ {
+ visitors: {
+ document: {
+ objects: {
+ Example: { $visitor: AE }
+ }
+ }
+ }
+ } = $v;
+ const jE = class example_ExampleVisitor extends AE {
+ constructor(s) {
+ super(s), (this.element = new Yv());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ ExternalDocumentation: { $visitor: IE }
+ }
+ }
+ }
+ } = $v;
+ const PE = class external_documentation_ExternalDocumentationVisitor extends IE {
+ constructor(s) {
+ super(s), (this.element = new Xv());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Encoding: { $visitor: ME }
+ }
+ }
+ }
+ } = $v;
+ const TE = class open_api_3_1_encoding_EncodingVisitor extends ME {
+ constructor(s) {
+ super(s), (this.element = new Gv());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Paths: { $visitor: NE }
+ }
+ }
+ }
+ } = $v;
+ const RE = class paths_PathsVisitor extends NE {
+ constructor(s) {
+ super(s), (this.element = new Ib());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ RequestBody: { $visitor: DE }
+ }
+ }
+ }
+ } = $v;
+ const LE = class request_body_RequestBodyVisitor extends DE {
+ constructor(s) {
+ super(s), (this.element = new Mb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Callback: { $visitor: BE }
+ }
+ }
+ }
+ } = $v;
+ const FE = class callback_CallbackVisitor extends BE {
+ constructor(s) {
+ super(s),
+ (this.element = new Wv()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'PathItem']);
+ }
+ ObjectElement(s) {
+ const o = BE.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(G_).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'pathItem');
+ }),
+ o
+ );
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Response: { $visitor: qE }
+ }
+ }
+ }
+ } = $v;
+ const $E = class response_ResponseVisitor extends qE {
+ constructor(s) {
+ super(s), (this.element = new Rb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Responses: { $visitor: VE }
+ }
+ }
+ }
+ } = $v;
+ const UE = class open_api_3_1_responses_ResponsesVisitor extends VE {
+ constructor(s) {
+ super(s), (this.element = new Lb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ Operation: { $visitor: zE }
+ }
+ }
+ }
+ } = $v;
+ const WE = class operation_OperationVisitor extends zE {
+ constructor(s) {
+ super(s), (this.element = new Sb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ PathItem: { $visitor: KE }
+ }
+ }
+ }
+ } = $v;
+ const HE = class path_item_PathItemVisitor extends KE {
+ constructor(s) {
+ super(s), (this.element = new Ab());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ SecurityScheme: { $visitor: JE }
+ }
+ }
+ }
+ } = $v;
+ const GE = class security_scheme_SecuritySchemeVisitor extends JE {
+ constructor(s) {
+ super(s), (this.element = new Qb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ OAuthFlows: { $visitor: YE }
+ }
+ }
+ }
+ } = $v;
+ const XE = class oauth_flows_OAuthFlowsVisitor extends YE {
+ constructor(s) {
+ super(s), (this.element = new yb());
+ }
+ },
+ {
+ visitors: {
+ document: {
+ objects: {
+ OAuthFlow: { $visitor: ZE }
+ }
+ }
+ }
+ } = $v;
+ const QE = class oauth_flow_OAuthFlowVisitor extends ZE {
+ constructor(s) {
+ super(s), (this.element = new mb());
+ }
+ };
+ class Webhooks extends Cu.Sh {
+ static primaryClass = 'webhooks';
+ constructor(s, o, i) {
+ super(s, o, i), this.classes.push(Webhooks.primaryClass);
+ }
+ }
+ const ew = Webhooks;
+ class WebhooksVisitor extends Mixin(vm, rm) {
+ constructor(s) {
+ super(s),
+ (this.element = new ew()),
+ (this.specPath = (s) =>
+ isReferenceLikeElement(s)
+ ? ['document', 'objects', 'Reference']
+ : ['document', 'objects', 'PathItem']);
+ }
+ ObjectElement(s) {
+ const o = vm.prototype.ObjectElement.call(this, s);
+ return (
+ this.element.filter(G_).forEach((s) => {
+ s.setMetaProperty('referenced-element', 'pathItem');
+ }),
+ this.element.filter(H_).forEach((s, o) => {
+ s.setMetaProperty('webhook-name', serializers_value(o));
+ }),
+ o
+ );
+ }
+ }
+ const tw = WebhooksVisitor,
+ rw = {
+ visitors: {
+ value: $v.visitors.value,
+ document: {
+ objects: {
+ OpenApi: {
+ $visitor: s_,
+ fixedFields: {
+ openapi: $v.visitors.document.objects.OpenApi.fixedFields.openapi,
+ info: { $ref: '#/visitors/document/objects/Info' },
+ jsonSchemaDialect: d_,
+ servers: $v.visitors.document.objects.OpenApi.fixedFields.servers,
+ paths: { $ref: '#/visitors/document/objects/Paths' },
+ webhooks: tw,
+ components: { $ref: '#/visitors/document/objects/Components' },
+ security: $v.visitors.document.objects.OpenApi.fixedFields.security,
+ tags: $v.visitors.document.objects.OpenApi.fixedFields.tags,
+ externalDocs: { $ref: '#/visitors/document/objects/ExternalDocumentation' }
+ }
+ },
+ Info: {
+ $visitor: i_,
+ fixedFields: {
+ title: $v.visitors.document.objects.Info.fixedFields.title,
+ description: $v.visitors.document.objects.Info.fixedFields.description,
+ summary: { $ref: '#/visitors/value' },
+ termsOfService: $v.visitors.document.objects.Info.fixedFields.termsOfService,
+ contact: { $ref: '#/visitors/document/objects/Contact' },
+ license: { $ref: '#/visitors/document/objects/License' },
+ version: $v.visitors.document.objects.Info.fixedFields.version
+ }
+ },
+ Contact: {
+ $visitor: l_,
+ fixedFields: {
+ name: $v.visitors.document.objects.Contact.fixedFields.name,
+ url: $v.visitors.document.objects.Contact.fixedFields.url,
+ email: $v.visitors.document.objects.Contact.fixedFields.email
+ }
+ },
+ License: {
+ $visitor: u_,
+ fixedFields: {
+ name: $v.visitors.document.objects.License.fixedFields.name,
+ identifier: { $ref: '#/visitors/value' },
+ url: $v.visitors.document.objects.License.fixedFields.url
+ }
+ },
+ Server: {
+ $visitor: m_,
+ fixedFields: {
+ url: $v.visitors.document.objects.Server.fixedFields.url,
+ description: $v.visitors.document.objects.Server.fixedFields.description,
+ variables: $v.visitors.document.objects.Server.fixedFields.variables
+ }
+ },
+ ServerVariable: {
+ $visitor: y_,
+ fixedFields: {
+ enum: $v.visitors.document.objects.ServerVariable.fixedFields.enum,
+ default: $v.visitors.document.objects.ServerVariable.fixedFields.default,
+ description:
+ $v.visitors.document.objects.ServerVariable.fixedFields.description
+ }
+ },
+ Components: {
+ $visitor: x_,
+ fixedFields: {
+ schemas: kE,
+ responses: $v.visitors.document.objects.Components.fixedFields.responses,
+ parameters: $v.visitors.document.objects.Components.fixedFields.parameters,
+ examples: $v.visitors.document.objects.Components.fixedFields.examples,
+ requestBodies:
+ $v.visitors.document.objects.Components.fixedFields.requestBodies,
+ headers: $v.visitors.document.objects.Components.fixedFields.headers,
+ securitySchemes:
+ $v.visitors.document.objects.Components.fixedFields.securitySchemes,
+ links: $v.visitors.document.objects.Components.fixedFields.links,
+ callbacks: $v.visitors.document.objects.Components.fixedFields.callbacks,
+ pathItems: OE
+ }
+ },
+ Paths: { $visitor: RE },
+ PathItem: {
+ $visitor: HE,
+ fixedFields: {
+ $ref: $v.visitors.document.objects.PathItem.fixedFields.$ref,
+ summary: $v.visitors.document.objects.PathItem.fixedFields.summary,
+ description: $v.visitors.document.objects.PathItem.fixedFields.description,
+ get: { $ref: '#/visitors/document/objects/Operation' },
+ put: { $ref: '#/visitors/document/objects/Operation' },
+ post: { $ref: '#/visitors/document/objects/Operation' },
+ delete: { $ref: '#/visitors/document/objects/Operation' },
+ options: { $ref: '#/visitors/document/objects/Operation' },
+ head: { $ref: '#/visitors/document/objects/Operation' },
+ patch: { $ref: '#/visitors/document/objects/Operation' },
+ trace: { $ref: '#/visitors/document/objects/Operation' },
+ servers: $v.visitors.document.objects.PathItem.fixedFields.servers,
+ parameters: $v.visitors.document.objects.PathItem.fixedFields.parameters
+ }
+ },
+ Operation: {
+ $visitor: WE,
+ fixedFields: {
+ tags: $v.visitors.document.objects.Operation.fixedFields.tags,
+ summary: $v.visitors.document.objects.Operation.fixedFields.summary,
+ description: $v.visitors.document.objects.Operation.fixedFields.description,
+ externalDocs: { $ref: '#/visitors/document/objects/ExternalDocumentation' },
+ operationId: $v.visitors.document.objects.Operation.fixedFields.operationId,
+ parameters: $v.visitors.document.objects.Operation.fixedFields.parameters,
+ requestBody: $v.visitors.document.objects.Operation.fixedFields.requestBody,
+ responses: { $ref: '#/visitors/document/objects/Responses' },
+ callbacks: $v.visitors.document.objects.Operation.fixedFields.callbacks,
+ deprecated: $v.visitors.document.objects.Operation.fixedFields.deprecated,
+ security: $v.visitors.document.objects.Operation.fixedFields.security,
+ servers: $v.visitors.document.objects.Operation.fixedFields.servers
+ }
+ },
+ ExternalDocumentation: {
+ $visitor: PE,
+ fixedFields: {
+ description:
+ $v.visitors.document.objects.ExternalDocumentation.fixedFields.description,
+ url: $v.visitors.document.objects.ExternalDocumentation.fixedFields.url
+ }
+ },
+ Parameter: {
+ $visitor: I_,
+ fixedFields: {
+ name: $v.visitors.document.objects.Parameter.fixedFields.name,
+ in: $v.visitors.document.objects.Parameter.fixedFields.in,
+ description: $v.visitors.document.objects.Parameter.fixedFields.description,
+ required: $v.visitors.document.objects.Parameter.fixedFields.required,
+ deprecated: $v.visitors.document.objects.Parameter.fixedFields.deprecated,
+ allowEmptyValue:
+ $v.visitors.document.objects.Parameter.fixedFields.allowEmptyValue,
+ style: $v.visitors.document.objects.Parameter.fixedFields.style,
+ explode: $v.visitors.document.objects.Parameter.fixedFields.explode,
+ allowReserved:
+ $v.visitors.document.objects.Parameter.fixedFields.allowReserved,
+ schema: { $ref: '#/visitors/document/objects/Schema' },
+ example: $v.visitors.document.objects.Parameter.fixedFields.example,
+ examples: $v.visitors.document.objects.Parameter.fixedFields.examples,
+ content: $v.visitors.document.objects.Parameter.fixedFields.content
+ }
+ },
+ RequestBody: {
+ $visitor: LE,
+ fixedFields: {
+ description: $v.visitors.document.objects.RequestBody.fixedFields.description,
+ content: $v.visitors.document.objects.RequestBody.fixedFields.content,
+ required: $v.visitors.document.objects.RequestBody.fixedFields.required
+ }
+ },
+ MediaType: {
+ $visitor: b_,
+ fixedFields: {
+ schema: { $ref: '#/visitors/document/objects/Schema' },
+ example: $v.visitors.document.objects.MediaType.fixedFields.example,
+ examples: $v.visitors.document.objects.MediaType.fixedFields.examples,
+ encoding: $v.visitors.document.objects.MediaType.fixedFields.encoding
+ }
+ },
+ Encoding: {
+ $visitor: TE,
+ fixedFields: {
+ contentType: $v.visitors.document.objects.Encoding.fixedFields.contentType,
+ headers: $v.visitors.document.objects.Encoding.fixedFields.headers,
+ style: $v.visitors.document.objects.Encoding.fixedFields.style,
+ explode: $v.visitors.document.objects.Encoding.fixedFields.explode,
+ allowReserved: $v.visitors.document.objects.Encoding.fixedFields.allowReserved
+ }
+ },
+ Responses: {
+ $visitor: UE,
+ fixedFields: {
+ default: $v.visitors.document.objects.Responses.fixedFields.default
+ }
+ },
+ Response: {
+ $visitor: $E,
+ fixedFields: {
+ description: $v.visitors.document.objects.Response.fixedFields.description,
+ headers: $v.visitors.document.objects.Response.fixedFields.headers,
+ content: $v.visitors.document.objects.Response.fixedFields.content,
+ links: $v.visitors.document.objects.Response.fixedFields.links
+ }
+ },
+ Callback: { $visitor: FE },
+ Example: {
+ $visitor: jE,
+ fixedFields: {
+ summary: $v.visitors.document.objects.Example.fixedFields.summary,
+ description: $v.visitors.document.objects.Example.fixedFields.description,
+ value: $v.visitors.document.objects.Example.fixedFields.value,
+ externalValue: $v.visitors.document.objects.Example.fixedFields.externalValue
+ }
+ },
+ Link: {
+ $visitor: h_,
+ fixedFields: {
+ operationRef: $v.visitors.document.objects.Link.fixedFields.operationRef,
+ operationId: $v.visitors.document.objects.Link.fixedFields.operationId,
+ parameters: $v.visitors.document.objects.Link.fixedFields.parameters,
+ requestBody: $v.visitors.document.objects.Link.fixedFields.requestBody,
+ description: $v.visitors.document.objects.Link.fixedFields.description,
+ server: { $ref: '#/visitors/document/objects/Server' }
+ }
+ },
+ Header: {
+ $visitor: M_,
+ fixedFields: {
+ description: $v.visitors.document.objects.Header.fixedFields.description,
+ required: $v.visitors.document.objects.Header.fixedFields.required,
+ deprecated: $v.visitors.document.objects.Header.fixedFields.deprecated,
+ allowEmptyValue:
+ $v.visitors.document.objects.Header.fixedFields.allowEmptyValue,
+ style: $v.visitors.document.objects.Header.fixedFields.style,
+ explode: $v.visitors.document.objects.Header.fixedFields.explode,
+ allowReserved: $v.visitors.document.objects.Header.fixedFields.allowReserved,
+ schema: { $ref: '#/visitors/document/objects/Schema' },
+ example: $v.visitors.document.objects.Header.fixedFields.example,
+ examples: $v.visitors.document.objects.Header.fixedFields.examples,
+ content: $v.visitors.document.objects.Header.fixedFields.content
+ }
+ },
+ Tag: {
+ $visitor: C_,
+ fixedFields: {
+ name: $v.visitors.document.objects.Tag.fixedFields.name,
+ description: $v.visitors.document.objects.Tag.fixedFields.description,
+ externalDocs: { $ref: '#/visitors/document/objects/ExternalDocumentation' }
+ }
+ },
+ Reference: {
+ $visitor: A_,
+ fixedFields: {
+ $ref: $v.visitors.document.objects.Reference.fixedFields.$ref,
+ summary: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' }
+ }
+ },
+ Schema: {
+ $visitor: iE,
+ fixedFields: {
+ $schema: { $ref: '#/visitors/value' },
+ $vocabulary: aE,
+ $id: { $ref: '#/visitors/value' },
+ $anchor: { $ref: '#/visitors/value' },
+ $dynamicAnchor: { $ref: '#/visitors/value' },
+ $dynamicRef: { $ref: '#/visitors/value' },
+ $ref: lE,
+ $defs: cE,
+ $comment: { $ref: '#/visitors/value' },
+ allOf: uE,
+ anyOf: pE,
+ oneOf: hE,
+ not: { $ref: '#/visitors/document/objects/Schema' },
+ if: { $ref: '#/visitors/document/objects/Schema' },
+ then: { $ref: '#/visitors/document/objects/Schema' },
+ else: { $ref: '#/visitors/document/objects/Schema' },
+ dependentSchemas: dE,
+ prefixItems: fE,
+ items: { $ref: '#/visitors/document/objects/Schema' },
+ contains: { $ref: '#/visitors/document/objects/Schema' },
+ properties: mE,
+ patternProperties: gE,
+ additionalProperties: { $ref: '#/visitors/document/objects/Schema' },
+ propertyNames: { $ref: '#/visitors/document/objects/Schema' },
+ unevaluatedItems: { $ref: '#/visitors/document/objects/Schema' },
+ unevaluatedProperties: { $ref: '#/visitors/document/objects/Schema' },
+ type: yE,
+ enum: vE,
+ const: { $ref: '#/visitors/value' },
+ multipleOf: { $ref: '#/visitors/value' },
+ maximum: { $ref: '#/visitors/value' },
+ exclusiveMaximum: { $ref: '#/visitors/value' },
+ minimum: { $ref: '#/visitors/value' },
+ exclusiveMinimum: { $ref: '#/visitors/value' },
+ maxLength: { $ref: '#/visitors/value' },
+ minLength: { $ref: '#/visitors/value' },
+ pattern: { $ref: '#/visitors/value' },
+ maxItems: { $ref: '#/visitors/value' },
+ minItems: { $ref: '#/visitors/value' },
+ uniqueItems: { $ref: '#/visitors/value' },
+ maxContains: { $ref: '#/visitors/value' },
+ minContains: { $ref: '#/visitors/value' },
+ maxProperties: { $ref: '#/visitors/value' },
+ minProperties: { $ref: '#/visitors/value' },
+ required: { $ref: '#/visitors/value' },
+ dependentRequired: bE,
+ title: { $ref: '#/visitors/value' },
+ description: { $ref: '#/visitors/value' },
+ default: { $ref: '#/visitors/value' },
+ deprecated: { $ref: '#/visitors/value' },
+ readOnly: { $ref: '#/visitors/value' },
+ writeOnly: { $ref: '#/visitors/value' },
+ examples: _E,
+ format: { $ref: '#/visitors/value' },
+ contentEncoding: { $ref: '#/visitors/value' },
+ contentMediaType: { $ref: '#/visitors/value' },
+ contentSchema: { $ref: '#/visitors/document/objects/Schema' },
+ discriminator: { $ref: '#/visitors/document/objects/Discriminator' },
+ xml: { $ref: '#/visitors/document/objects/XML' },
+ externalDocs: { $ref: '#/visitors/document/objects/ExternalDocumentation' },
+ example: { $ref: '#/visitors/value' }
+ }
+ },
+ Discriminator: {
+ $visitor: wE,
+ fixedFields: {
+ propertyName:
+ $v.visitors.document.objects.Discriminator.fixedFields.propertyName,
+ mapping: $v.visitors.document.objects.Discriminator.fixedFields.mapping
+ }
+ },
+ XML: {
+ $visitor: xE,
+ fixedFields: {
+ name: $v.visitors.document.objects.XML.fixedFields.name,
+ namespace: $v.visitors.document.objects.XML.fixedFields.namespace,
+ prefix: $v.visitors.document.objects.XML.fixedFields.prefix,
+ attribute: $v.visitors.document.objects.XML.fixedFields.attribute,
+ wrapped: $v.visitors.document.objects.XML.fixedFields.wrapped
+ }
+ },
+ SecurityScheme: {
+ $visitor: GE,
+ fixedFields: {
+ type: $v.visitors.document.objects.SecurityScheme.fixedFields.type,
+ description:
+ $v.visitors.document.objects.SecurityScheme.fixedFields.description,
+ name: $v.visitors.document.objects.SecurityScheme.fixedFields.name,
+ in: $v.visitors.document.objects.SecurityScheme.fixedFields.in,
+ scheme: $v.visitors.document.objects.SecurityScheme.fixedFields.scheme,
+ bearerFormat:
+ $v.visitors.document.objects.SecurityScheme.fixedFields.bearerFormat,
+ flows: { $ref: '#/visitors/document/objects/OAuthFlows' },
+ openIdConnectUrl:
+ $v.visitors.document.objects.SecurityScheme.fixedFields.openIdConnectUrl
+ }
+ },
+ OAuthFlows: {
+ $visitor: XE,
+ fixedFields: {
+ implicit: { $ref: '#/visitors/document/objects/OAuthFlow' },
+ password: { $ref: '#/visitors/document/objects/OAuthFlow' },
+ clientCredentials: { $ref: '#/visitors/document/objects/OAuthFlow' },
+ authorizationCode: { $ref: '#/visitors/document/objects/OAuthFlow' }
+ }
+ },
+ OAuthFlow: {
+ $visitor: QE,
+ fixedFields: {
+ authorizationUrl:
+ $v.visitors.document.objects.OAuthFlow.fixedFields.authorizationUrl,
+ tokenUrl: $v.visitors.document.objects.OAuthFlow.fixedFields.tokenUrl,
+ refreshUrl: $v.visitors.document.objects.OAuthFlow.fixedFields.refreshUrl,
+ scopes: $v.visitors.document.objects.OAuthFlow.fixedFields.scopes
+ }
+ },
+ SecurityRequirement: { $visitor: w_ }
+ },
+ extension: { $visitor: $v.visitors.document.extension.$visitor }
+ }
+ }
+ },
+ apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType = (s) => {
+ if (Nu(s)) return `${s.element.charAt(0).toUpperCase() + s.element.slice(1)}Element`;
+ },
+ nw = {
+ CallbackElement: ['content'],
+ ComponentsElement: ['content'],
+ ContactElement: ['content'],
+ DiscriminatorElement: ['content'],
+ Encoding: ['content'],
+ Example: ['content'],
+ ExternalDocumentationElement: ['content'],
+ HeaderElement: ['content'],
+ InfoElement: ['content'],
+ LicenseElement: ['content'],
+ MediaTypeElement: ['content'],
+ OAuthFlowElement: ['content'],
+ OAuthFlowsElement: ['content'],
+ OpenApi3_1Element: ['content'],
+ OperationElement: ['content'],
+ ParameterElement: ['content'],
+ PathItemElement: ['content'],
+ PathsElement: ['content'],
+ ReferenceElement: ['content'],
+ RequestBodyElement: ['content'],
+ ResponseElement: ['content'],
+ ResponsesElement: ['content'],
+ SchemaElement: ['content'],
+ SecurityRequirementElement: ['content'],
+ SecuritySchemeElement: ['content'],
+ ServerElement: ['content'],
+ ServerVariableElement: ['content'],
+ TagElement: ['content'],
+ ...Qu
+ },
+ sw = {
+ namespace: (s) => {
+ const { base: o } = s;
+ return (
+ o.register('callback', Wv),
+ o.register('components', Kv),
+ o.register('contact', Hv),
+ o.register('discriminator', Jv),
+ o.register('encoding', Gv),
+ o.register('example', Yv),
+ o.register('externalDocumentation', Xv),
+ o.register('header', Zv),
+ o.register('info', Qv),
+ o.register('jsonSchemaDialect', eb),
+ o.register('license', tb),
+ o.register('link', nb),
+ o.register('mediaType', pb),
+ o.register('oAuthFlow', mb),
+ o.register('oAuthFlows', yb),
+ o.register('openapi', _b),
+ o.register('openApi3_1', wb),
+ o.register('operation', Sb),
+ o.register('parameter', Ob),
+ o.register('pathItem', Ab),
+ o.register('paths', Ib),
+ o.register('reference', Pb),
+ o.register('requestBody', Mb),
+ o.register('response', Rb),
+ o.register('responses', Lb),
+ o.register('schema', qb),
+ o.register('securityRequirement', zb),
+ o.register('securityScheme', Qb),
+ o.register('server', e_),
+ o.register('serverVariable', t_),
+ o.register('tag', r_),
+ o.register('xml', n_),
+ o
+ );
+ }
+ },
+ ow = sw,
+ ancestorLineageToJSONPointer = (s) => {
+ const o = s.reduce((o, i, u) => {
+ if ($u(i)) {
+ const s = String(serializers_value(i.key));
+ o.push(s);
+ } else if (qu(s[u - 2])) {
+ const _ = String(s[u - 2].content.indexOf(i));
+ o.push(_);
+ }
+ return o;
+ }, []);
+ return es_compile(o);
+ },
+ apidom_ns_openapi_3_1_es_refractor_toolbox = () => {
+ const s = createNamespace(ow);
+ return {
+ predicates: {
+ ...de,
+ isElement: Nu,
+ isStringElement: Ru,
+ isArrayElement: qu,
+ isObjectElement: Fu,
+ isMemberElement: $u,
+ isServersElement: rg,
+ includesClasses,
+ hasElementSourceMap
+ },
+ ancestorLineageToJSONPointer,
+ namespace: s
+ };
+ },
+ apidom_ns_openapi_3_1_es_refractor_refract = (
+ s,
+ {
+ specPath: o = ['visitors', 'document', 'objects', 'OpenApi', '$visitor'],
+ plugins: i = []
+ } = {}
+ ) => {
+ const u = (0, Cu.e)(s),
+ _ = dereference(rw),
+ w = new (cp(o, _))({ specObj: _ });
+ return (
+ visitor_visit(u, w),
+ dispatchPluginsSync(w.element, i, {
+ toolboxCreator: apidom_ns_openapi_3_1_es_refractor_toolbox,
+ visitorOptions: {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ }
+ })
+ );
+ },
+ apidom_ns_openapi_3_1_es_refractor_createRefractor =
+ (s) =>
+ (o, i = {}) =>
+ apidom_ns_openapi_3_1_es_refractor_refract(o, { specPath: s, ...i });
+ (Wv.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Callback',
+ '$visitor'
+ ])),
+ (Kv.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Components',
+ '$visitor'
+ ])),
+ (Hv.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Contact',
+ '$visitor'
+ ])),
+ (Yv.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Example',
+ '$visitor'
+ ])),
+ (Jv.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Discriminator',
+ '$visitor'
+ ])),
+ (Gv.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Encoding',
+ '$visitor'
+ ])),
+ (Xv.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'ExternalDocumentation',
+ '$visitor'
+ ])),
+ (Zv.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Header',
+ '$visitor'
+ ])),
+ (Qv.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Info',
+ '$visitor'
+ ])),
+ (eb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'OpenApi',
+ 'fixedFields',
+ 'jsonSchemaDialect'
+ ])),
+ (tb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'License',
+ '$visitor'
+ ])),
+ (nb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Link',
+ '$visitor'
+ ])),
+ (pb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'MediaType',
+ '$visitor'
+ ])),
+ (mb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'OAuthFlow',
+ '$visitor'
+ ])),
+ (yb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'OAuthFlows',
+ '$visitor'
+ ])),
+ (_b.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'OpenApi',
+ 'fixedFields',
+ 'openapi'
+ ])),
+ (wb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'OpenApi',
+ '$visitor'
+ ])),
+ (Sb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Operation',
+ '$visitor'
+ ])),
+ (Ob.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Parameter',
+ '$visitor'
+ ])),
+ (Ab.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'PathItem',
+ '$visitor'
+ ])),
+ (Ib.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Paths',
+ '$visitor'
+ ])),
+ (Pb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Reference',
+ '$visitor'
+ ])),
+ (Mb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'RequestBody',
+ '$visitor'
+ ])),
+ (Rb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Response',
+ '$visitor'
+ ])),
+ (Lb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Responses',
+ '$visitor'
+ ])),
+ (qb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Schema',
+ '$visitor'
+ ])),
+ (zb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'SecurityRequirement',
+ '$visitor'
+ ])),
+ (Qb.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'SecurityScheme',
+ '$visitor'
+ ])),
+ (e_.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Server',
+ '$visitor'
+ ])),
+ (t_.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'ServerVariable',
+ '$visitor'
+ ])),
+ (r_.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'Tag',
+ '$visitor'
+ ])),
+ (n_.refract = apidom_ns_openapi_3_1_es_refractor_createRefractor([
+ 'visitors',
+ 'document',
+ 'objects',
+ 'XML',
+ '$visitor'
+ ]));
+ const iw = class NotImplementedError extends Hh {};
+ const aw = class MediaTypes extends Array {
+ unknownMediaType = 'application/octet-stream';
+ filterByFormat() {
+ throw new iw('filterByFormat method in MediaTypes class is not yet implemented.');
+ }
+ findBy() {
+ throw new iw('findBy method in MediaTypes class is not yet implemented.');
+ }
+ latest() {
+ throw new iw('latest method in MediaTypes class is not yet implemented.');
+ }
+ };
+ class OpenAPIMediaTypes extends aw {
+ filterByFormat(s = 'generic') {
+ const o = 'generic' === s ? 'openapi;version' : s;
+ return this.filter((s) => s.includes(o));
+ }
+ findBy(s = '3.1.0', o = 'generic') {
+ const i =
+ 'generic' === o
+ ? `vnd.oai.openapi;version=${s}`
+ : `vnd.oai.openapi+${o};version=${s}`;
+ return this.find((s) => s.includes(i)) || this.unknownMediaType;
+ }
+ latest(s = 'generic') {
+ return Fa(this.filterByFormat(s));
+ }
+ }
+ const lw = new OpenAPIMediaTypes(
+ 'application/vnd.oai.openapi;version=3.1.0',
+ 'application/vnd.oai.openapi+json;version=3.1.0',
+ 'application/vnd.oai.openapi+yaml;version=3.1.0'
+ );
+ const cw = class es_Reference_Reference {
+ uri;
+ depth;
+ value;
+ refSet;
+ errors;
+ constructor({ uri: s, depth: o = 0, refSet: i, value: u }) {
+ (this.uri = s),
+ (this.value = u),
+ (this.depth = o),
+ (this.refSet = i),
+ (this.errors = []);
+ }
+ };
+ const uw = class ReferenceSet {
+ rootRef;
+ refs;
+ circular;
+ constructor({ refs: s = [], circular: o = !1 } = {}) {
+ (this.refs = []), (this.circular = o), s.forEach(this.add.bind(this));
+ }
+ get size() {
+ return this.refs.length;
+ }
+ add(s) {
+ return (
+ this.has(s) ||
+ (this.refs.push(s),
+ (this.rootRef = void 0 === this.rootRef ? s : this.rootRef),
+ (s.refSet = this)),
+ this
+ );
+ }
+ merge(s) {
+ for (const o of s.values()) this.add(o);
+ return this;
+ }
+ has(s) {
+ const o = Yl(s) ? s : s.uri;
+ return Dl(this.find((s) => s.uri === o));
+ }
+ find(s) {
+ return this.refs.find(s);
+ }
+ *values() {
+ yield* this.refs;
+ }
+ clean() {
+ this.refs.forEach((s) => {
+ s.refSet = void 0;
+ }),
+ (this.rootRef = void 0),
+ (this.refs.length = 0);
+ }
+ },
+ pw = {
+ parse: { mediaType: 'text/plain', parsers: [], parserOpts: {} },
+ resolve: {
+ baseURI: '',
+ resolvers: [],
+ resolverOpts: {},
+ strategies: [],
+ strategyOpts: {},
+ internal: !0,
+ external: !0,
+ maxDepth: 1 / 0
+ },
+ dereference: {
+ strategies: [],
+ strategyOpts: {},
+ refSet: null,
+ maxDepth: 1 / 0,
+ circular: 'ignore',
+ circularReplacer: Ip,
+ immutable: !0
+ },
+ bundle: { strategies: [], refSet: null, maxDepth: 1 / 0 }
+ };
+ const hw = _curry2(function lens(s, o) {
+ return function (i) {
+ return function (u) {
+ return kl(
+ function (s) {
+ return o(s, u);
+ },
+ i(s(u))
+ );
+ };
+ };
+ });
+ var dw = _curry3(function assocPath(s, o, i) {
+ if (0 === s.length) return o;
+ var u = s[0];
+ if (s.length > 1) {
+ var _ = !ld(i) && _has(u, i) && 'object' == typeof i[u] ? i[u] : Yo(s[1]) ? [] : {};
+ o = assocPath(Array.prototype.slice.call(s, 1), o, _);
+ }
+ return (function _assoc(s, o, i) {
+ if (Yo(s) && aa(i)) {
+ var u = [].concat(i);
+ return (u[s] = o), u;
+ }
+ var _ = {};
+ for (var w in i) _[w] = i[w];
+ return (_[s] = o), _;
+ })(u, o, i);
+ });
+ const fw = dw;
+ var Identity = function (s) {
+ return {
+ value: s,
+ map: function (o) {
+ return Identity(o(s));
+ }
+ };
+ },
+ mw = _curry3(function over(s, o, i) {
+ return s(function (s) {
+ return Identity(o(s));
+ })(i).value;
+ });
+ const gw = mw,
+ yw = hw(cp(['resolve', 'baseURI']), fw(['resolve', 'baseURI'])),
+ baseURIDefault = (s) => (qp(s) ? url_cwd() : s),
+ util_merge = (s, o) => {
+ const i = lp(s, o);
+ return gw(yw, baseURIDefault, i);
+ };
+ const vw = class File_File {
+ uri;
+ mediaType;
+ data;
+ parseResult;
+ constructor({ uri: s, mediaType: o = 'text/plain', data: i, parseResult: u }) {
+ (this.uri = s), (this.mediaType = o), (this.data = i), (this.parseResult = u);
+ }
+ get extension() {
+ return Yl(this.uri)
+ ? ((s) => {
+ const o = s.lastIndexOf('.');
+ return o >= 0 ? s.substring(o).toLowerCase() : '';
+ })(this.uri)
+ : '';
+ }
+ toString() {
+ if ('string' == typeof this.data) return this.data;
+ if (
+ this.data instanceof ArrayBuffer ||
+ ['ArrayBuffer'].includes(ea(this.data)) ||
+ ArrayBuffer.isView(this.data)
+ ) {
+ return new TextDecoder('utf-8').decode(this.data);
+ }
+ return String(this.data);
+ }
+ };
+ const bw = class PluginError extends Ho {
+ plugin;
+ constructor(s, o) {
+ super(s, { cause: o.cause }), (this.plugin = o.plugin);
+ }
+ },
+ plugins_filter = async (s, o, i) => {
+ const u = await Promise.all(i.map(_p([s], o)));
+ return i.filter((s, o) => u[o]);
+ },
+ run = async (s, o, i) => {
+ let u;
+ for (const _ of i)
+ try {
+ const i = await _[s].call(_, ...o);
+ return { plugin: _, result: i };
+ } catch (s) {
+ u = new bw('Error while running plugin', { cause: s, plugin: _ });
+ }
+ return Promise.reject(u);
+ };
+ const _w = class DereferenceError extends Ho {};
+ const Ew = class UnmatchedDereferenceStrategyError extends _w {},
+ dereferenceApiDOM = async (s, o) => {
+ let i = s,
+ u = !1;
+ if (!Ku(s)) {
+ const o = cloneShallow(s);
+ o.classes.push('result'), (i = new Mu([o])), (u = !0);
+ }
+ const _ = new vw({
+ uri: o.resolve.baseURI,
+ parseResult: i,
+ mediaType: o.parse.mediaType
+ }),
+ w = await plugins_filter('canDereference', [_, o], o.dereference.strategies);
+ if (gp(w)) throw new Ew(_.uri);
+ try {
+ const { result: s } = await run('dereference', [_, o], w);
+ return u ? s.get(0) : s;
+ } catch (s) {
+ throw new _w(`Error while dereferencing file "${_.uri}"`, { cause: s });
+ }
+ };
+ const ww = class ParseError extends Ho {};
+ const Sw = class ParserError extends ww {};
+ const xw = class Parser {
+ name;
+ allowEmpty;
+ sourceMap;
+ fileExtensions;
+ mediaTypes;
+ constructor({
+ name: s,
+ allowEmpty: o = !0,
+ sourceMap: i = !1,
+ fileExtensions: u = [],
+ mediaTypes: _ = []
+ }) {
+ (this.name = s),
+ (this.allowEmpty = o),
+ (this.sourceMap = i),
+ (this.fileExtensions = u),
+ (this.mediaTypes = _);
+ }
+ };
+ const kw = class BinaryParser extends xw {
+ constructor(s) {
+ super({ ...(null != s ? s : {}), name: 'binary' });
+ }
+ canParse(s) {
+ return 0 === this.fileExtensions.length || this.fileExtensions.includes(s.extension);
+ }
+ parse(s) {
+ try {
+ const o = unescape(encodeURIComponent(s.toString())),
+ i = btoa(o),
+ u = new Mu();
+ if (0 !== i.length) {
+ const s = new Cu.Om(i);
+ s.classes.push('result'), u.push(s);
+ }
+ return u;
+ } catch (o) {
+ throw new Sw(`Error parsing "${s.uri}"`, { cause: o });
+ }
+ }
+ };
+ const Cw = class ResolveStrategy {
+ name;
+ constructor({ name: s }) {
+ this.name = s;
+ }
+ };
+ const Ow = class OpenAPI3_1ResolveStrategy extends Cw {
+ constructor(s) {
+ super({ ...(null != s ? s : {}), name: 'openapi-3-1' });
+ }
+ canResolve(s, o) {
+ const i = o.dereference.strategies.find((s) => 'openapi-3-1' === s.name);
+ return void 0 !== i && i.canDereference(s, o);
+ }
+ async resolve(s, o) {
+ const i = o.dereference.strategies.find((s) => 'openapi-3-1' === s.name);
+ if (void 0 === i) throw new Ew('"openapi-3-1" dereference strategy is not available.');
+ const u = new uw(),
+ _ = util_merge(o, { resolve: { internal: !1 }, dereference: { refSet: u } });
+ return await i.dereference(s, _), u;
+ }
+ };
+ const Aw = class Resolver {
+ name;
+ constructor({ name: s }) {
+ this.name = s;
+ }
+ };
+ const jw = class HTTPResolver extends Aw {
+ timeout;
+ redirects;
+ withCredentials;
+ constructor(s) {
+ const {
+ name: o = 'http-resolver',
+ timeout: i = 5e3,
+ redirects: u = 5,
+ withCredentials: _ = !1
+ } = null != s ? s : {};
+ super({ name: o }),
+ (this.timeout = i),
+ (this.redirects = u),
+ (this.withCredentials = _);
+ }
+ canRead(s) {
+ return isHttpUrl(s.uri);
+ }
+ };
+ const Iw = class ResolveError extends Ho {};
+ const Pw = class ResolverError extends Iw {},
+ { AbortController: Mw, AbortSignal: Tw } = globalThis;
+ void 0 === globalThis.AbortController && (globalThis.AbortController = Mw),
+ void 0 === globalThis.AbortSignal && (globalThis.AbortSignal = Tw);
+ const Nw = class HTTPResolverSwaggerClient extends jw {
+ swaggerHTTPClient = http_http;
+ swaggerHTTPClientConfig;
+ constructor({
+ swaggerHTTPClient: s = http_http,
+ swaggerHTTPClientConfig: o = {},
+ ...i
+ } = {}) {
+ super({ ...i, name: 'http-swagger-client' }),
+ (this.swaggerHTTPClient = s),
+ (this.swaggerHTTPClientConfig = o);
+ }
+ getHttpClient() {
+ return this.swaggerHTTPClient;
+ }
+ async read(s) {
+ const o = this.getHttpClient(),
+ i = new AbortController(),
+ { signal: u } = i,
+ _ = setTimeout(() => {
+ i.abort();
+ }, this.timeout),
+ w =
+ this.getHttpClient().withCredentials || this.withCredentials
+ ? 'include'
+ : 'same-origin',
+ x = 0 === this.redirects ? 'error' : 'follow',
+ C = this.redirects > 0 ? this.redirects : void 0;
+ try {
+ return (
+ await o({
+ url: s.uri,
+ signal: u,
+ userFetch: async (s, o) => {
+ let i = await fetch(s, o);
+ try {
+ i.headers.delete('Content-Type');
+ } catch {
+ (i = new Response(i.body, { ...i, headers: new Headers(i.headers) })),
+ i.headers.delete('Content-Type');
+ }
+ return i;
+ },
+ credentials: w,
+ redirect: x,
+ follow: C,
+ ...this.swaggerHTTPClientConfig
+ })
+ ).text.arrayBuffer();
+ } catch (o) {
+ throw new Pw(`Error downloading "${s.uri}"`, { cause: o });
+ } finally {
+ clearTimeout(_);
+ }
+ }
+ },
+ from = (s, o = wp) => {
+ if (Yl(s))
+ try {
+ return o.fromRefract(JSON.parse(s));
+ } catch {}
+ return ku(s) && md('element', s) ? o.fromRefract(s) : o.toElement(s);
+ };
+ const Rw = class JSONParser extends xw {
+ constructor(s = {}) {
+ super({ name: 'json-swagger-client', mediaTypes: ['application/json'], ...s });
+ }
+ async canParse(s) {
+ const o = 0 === this.fileExtensions.length || this.fileExtensions.includes(s.extension),
+ i = this.mediaTypes.includes(s.mediaType);
+ if (!o) return !1;
+ if (i) return !0;
+ if (!i)
+ try {
+ return JSON.parse(s.toString()), !0;
+ } catch (s) {
+ return !1;
+ }
+ return !1;
+ }
+ async parse(s) {
+ if (this.sourceMap)
+ throw new Sw("json-swagger-client parser plugin doesn't support sourceMaps option");
+ const o = new Mu(),
+ i = s.toString();
+ if (this.allowEmpty && '' === i.trim()) return o;
+ try {
+ const s = from(JSON.parse(i));
+ return s.classes.push('result'), o.push(s), o;
+ } catch (o) {
+ throw new Sw(`Error parsing "${s.uri}"`, { cause: o });
+ }
+ }
+ };
+ const Dw = class YAMLParser extends xw {
+ constructor(s = {}) {
+ super({
+ name: 'yaml-1-2-swagger-client',
+ mediaTypes: ['text/yaml', 'application/yaml'],
+ ...s
+ });
+ }
+ async canParse(s) {
+ const o = 0 === this.fileExtensions.length || this.fileExtensions.includes(s.extension),
+ i = this.mediaTypes.includes(s.mediaType);
+ if (!o) return !1;
+ if (i) return !0;
+ if (!i)
+ try {
+ return mn.load(s.toString(), { schema: nn }), !0;
+ } catch (s) {
+ return !1;
+ }
+ return !1;
+ }
+ async parse(s) {
+ if (this.sourceMap)
+ throw new Sw(
+ "yaml-1-2-swagger-client parser plugin doesn't support sourceMaps option"
+ );
+ const o = new Mu(),
+ i = s.toString();
+ try {
+ const s = mn.load(i, { schema: nn });
+ if (this.allowEmpty && void 0 === s) return o;
+ const u = from(s);
+ return u.classes.push('result'), o.push(u), o;
+ } catch (o) {
+ throw new Sw(`Error parsing "${s.uri}"`, { cause: o });
+ }
+ }
+ };
+ const Lw = class OpenAPIJSON3_1Parser extends xw {
+ detectionRegExp = /"openapi"\s*:\s*"(?3\.1\.(?:[1-9]\d*|0))"/;
+ constructor(s = {}) {
+ super({
+ name: 'openapi-json-3-1-swagger-client',
+ mediaTypes: new OpenAPIMediaTypes(
+ ...lw.filterByFormat('generic'),
+ ...lw.filterByFormat('json')
+ ),
+ ...s
+ });
+ }
+ async canParse(s) {
+ const o = 0 === this.fileExtensions.length || this.fileExtensions.includes(s.extension),
+ i = this.mediaTypes.includes(s.mediaType);
+ if (!o) return !1;
+ if (i) return !0;
+ if (!i)
+ try {
+ const o = s.toString();
+ return JSON.parse(o), this.detectionRegExp.test(o);
+ } catch (s) {
+ return !1;
+ }
+ return !1;
+ }
+ async parse(s) {
+ if (this.sourceMap)
+ throw new Sw(
+ "openapi-json-3-1-swagger-client parser plugin doesn't support sourceMaps option"
+ );
+ const o = new Mu(),
+ i = s.toString();
+ if (this.allowEmpty && '' === i.trim()) return o;
+ try {
+ const s = JSON.parse(i),
+ u = wb.refract(s, this.refractorOpts);
+ return u.classes.push('result'), o.push(u), o;
+ } catch (o) {
+ throw new Sw(`Error parsing "${s.uri}"`, { cause: o });
+ }
+ }
+ };
+ const Bw = class OpenAPIYAML31Parser extends xw {
+ detectionRegExp =
+ /(?^(["']?)openapi\2\s*:\s*(["']?)(?3\.1\.(?:[1-9]\d*|0))\3(?:\s+|$))|(?"openapi"\s*:\s*"(?3\.1\.(?:[1-9]\d*|0))")/m;
+ constructor(s = {}) {
+ super({
+ name: 'openapi-yaml-3-1-swagger-client',
+ mediaTypes: new OpenAPIMediaTypes(
+ ...lw.filterByFormat('generic'),
+ ...lw.filterByFormat('yaml')
+ ),
+ ...s
+ });
+ }
+ async canParse(s) {
+ const o = 0 === this.fileExtensions.length || this.fileExtensions.includes(s.extension),
+ i = this.mediaTypes.includes(s.mediaType);
+ if (!o) return !1;
+ if (i) return !0;
+ if (!i)
+ try {
+ const o = s.toString();
+ return mn.load(o), this.detectionRegExp.test(o);
+ } catch (s) {
+ return !1;
+ }
+ return !1;
+ }
+ async parse(s) {
+ if (this.sourceMap)
+ throw new Sw(
+ "openapi-yaml-3-1-swagger-client parser plugin doesn't support sourceMaps option"
+ );
+ const o = new Mu(),
+ i = s.toString();
+ try {
+ const s = mn.load(i, { schema: nn });
+ if (this.allowEmpty && void 0 === s) return o;
+ const u = wb.refract(s, this.refractorOpts);
+ return u.classes.push('result'), o.push(u), o;
+ } catch (o) {
+ throw new Sw(`Error parsing "${s.uri}"`, { cause: o });
+ }
+ }
+ };
+ const Fw = _curry3(function propEq(s, o, i) {
+ return ra(s, Da(o, i));
+ });
+ const qw = class DereferenceStrategy {
+ name;
+ constructor({ name: s }) {
+ this.name = s;
+ }
+ };
+ var $w = _curry2(function none(s, o) {
+ return ju(_complement(s), o);
+ });
+ const Vw = $w;
+ var Uw = __webpack_require__(8068);
+ const zw = class ElementIdentityError extends Jo {
+ value;
+ constructor(s, o) {
+ super(s, o), void 0 !== o && (this.value = o.value);
+ }
+ };
+ class IdentityManager {
+ uuid;
+ identityMap;
+ constructor({ length: s = 6 } = {}) {
+ (this.uuid = new Uw({ length: s })), (this.identityMap = new WeakMap());
+ }
+ identify(s) {
+ if (!Nu(s))
+ throw new zw(
+ 'Cannot not identify the element. `element` is neither structurally compatible nor a subclass of an Element class.',
+ { value: s }
+ );
+ if (s.meta.hasKey('id') && Ru(s.meta.get('id')) && !s.meta.get('id').equals(''))
+ return s.id;
+ if (this.identityMap.has(s)) return this.identityMap.get(s);
+ const o = new Cu.Om(this.generateId());
+ return this.identityMap.set(s, o), o;
+ }
+ forget(s) {
+ return !!this.identityMap.has(s) && (this.identityMap.delete(s), !0);
+ }
+ generateId() {
+ return this.uuid.randomUUID();
+ }
+ }
+ new IdentityManager();
+ const Ww = _curry3(function pathOr(s, o, i) {
+ return Na(s, _path(o, i));
+ }),
+ traversal_find = (s, o) => {
+ const i = new PredicateVisitor({ predicate: s, returnOnTrue: Ju });
+ return visitor_visit(o, i), Ww(void 0, [0], i.result);
+ };
+ const Kw = class JsonSchema$anchorError extends Ho {};
+ const Hw = class EvaluationJsonSchema$anchorError extends Kw {};
+ const Jw = class InvalidJsonSchema$anchorError extends Kw {
+ constructor(s) {
+ super(`Invalid JSON Schema $anchor "${s}".`);
+ }
+ },
+ isAnchor = (s) => /^[A-Za-z_][A-Za-z_0-9.-]*$/.test(s),
+ uriToAnchor = (s) => {
+ const o = getHash(s);
+ return Up('#', o);
+ },
+ $anchor_evaluate = (s, o) => {
+ const i = ((s) => {
+ if (!isAnchor(s)) throw new Jw(s);
+ return s;
+ })(s),
+ u = traversal_find((s) => Q_(s) && serializers_value(s.$anchor) === i, o);
+ if (Rl(u)) throw new Hw(`Evaluation failed on token: "${i}"`);
+ return u;
+ },
+ traversal_filter = (s, o) => {
+ const i = new PredicateVisitor({ predicate: s });
+ return visitor_visit(o, i), new Cu.G6(i.result);
+ };
+ const Gw = class JsonSchemaUriError extends Ho {};
+ const Yw = class EvaluationJsonSchemaUriError extends Gw {},
+ resolveSchema$refField = (s, o) => {
+ if (void 0 === o.$ref) return;
+ const i = getHash(serializers_value(o.$ref)),
+ u = serializers_value(o.meta.get('inherited$id')),
+ _ = Ca((s, o) => resolve(s, sanitize(stripHash(o))), s, [
+ ...u,
+ serializers_value(o.$ref)
+ ]);
+ return `${_}${'#' === i ? '' : i}`;
+ },
+ refractToSchemaElement = (s) => {
+ if (refractToSchemaElement.cache.has(s)) return refractToSchemaElement.cache.get(s);
+ const o = qb.refract(s);
+ return refractToSchemaElement.cache.set(s, o), o;
+ };
+ refractToSchemaElement.cache = new WeakMap();
+ const maybeRefractToSchemaElement = (s) =>
+ isPrimitiveElement(s) ? refractToSchemaElement(s) : s,
+ uri_evaluate = (s, o) => {
+ const { cache: i } = uri_evaluate,
+ u = stripHash(s),
+ isSchemaElementWith$id = (s) => Q_(s) && void 0 !== s.$id;
+ if (!i.has(o)) {
+ const s = traversal_filter(isSchemaElementWith$id, o);
+ i.set(o, Array.from(s));
+ }
+ const _ = i.get(o).find((s) => {
+ const o = ((s, o) => {
+ if (void 0 === o.$id) return;
+ const i = serializers_value(o.meta.get('inherited$id'));
+ return Ca((s, o) => resolve(s, sanitize(stripHash(o))), s, [
+ ...i,
+ serializers_value(o.$id)
+ ]);
+ })(u, s);
+ return o === u;
+ });
+ if (Rl(_)) throw new Yw(`Evaluation failed on URI: "${s}"`);
+ let w, x;
+ return (
+ isAnchor(uriToAnchor(s))
+ ? ((w = $anchor_evaluate), (x = uriToAnchor(s)))
+ : ((w = es_evaluate), (x = uriToPointer(s))),
+ w(x, _)
+ );
+ };
+ uri_evaluate.cache = new WeakMap();
+ const Xw = class MaximumDereferenceDepthError extends _w {};
+ const Zw = class MaximumResolveDepthError extends Iw {};
+ const Qw = class UnmatchedResolverError extends Pw {},
+ _swagger_api_apidom_reference_es_parse = async (s, o) => {
+ const i = new vw({ uri: sanitize(stripHash(s)), mediaType: o.parse.mediaType }),
+ u = await (async (s, o) => {
+ const i = o.resolve.resolvers.map((s) => {
+ const i = Object.create(s);
+ return Object.assign(i, o.resolve.resolverOpts);
+ }),
+ u = await plugins_filter('canRead', [s, o], i);
+ if (gp(u)) throw new Qw(s.uri);
+ try {
+ const { result: o } = await run('read', [s], u);
+ return o;
+ } catch (o) {
+ throw new Iw(`Error while reading file "${s.uri}"`, { cause: o });
+ }
+ })(i, o);
+ return (async (s, o) => {
+ const i = o.parse.parsers.map((s) => {
+ const i = Object.create(s);
+ return Object.assign(i, o.parse.parserOpts);
+ }),
+ u = await plugins_filter('canParse', [s, o], i);
+ if (gp(u)) throw new Qw(s.uri);
+ try {
+ const { plugin: i, result: _ } = await run('parse', [s, o], u);
+ return !i.allowEmpty && _.isEmpty
+ ? Promise.reject(new ww(`Error while parsing file "${s.uri}". File is empty.`))
+ : _;
+ } catch (o) {
+ throw new ww(`Error while parsing file "${s.uri}"`, { cause: o });
+ }
+ })(new vw({ ...i, data: u }), o);
+ };
+ class AncestorLineage extends Array {
+ includesCycle(s) {
+ return this.filter((o) => o.has(s)).length > 1;
+ }
+ includes(s, o) {
+ return s instanceof Set ? super.includes(s, o) : this.some((o) => o.has(s));
+ }
+ findItem(s) {
+ for (const o of this) for (const i of o) if (Nu(i) && s(i)) return i;
+ }
+ }
+ const eS = visitor_visit[Symbol.for('nodejs.util.promisify.custom')],
+ tS = new IdentityManager(),
+ mutationReplacer = (s, o, i, u) => {
+ $u(u) ? (u.value = s) : Array.isArray(u) && (u[i] = s);
+ };
+ class OpenAPI3_1DereferenceVisitor {
+ indirections;
+ namespace;
+ reference;
+ options;
+ ancestors;
+ refractCache;
+ constructor({
+ reference: s,
+ namespace: o,
+ options: i,
+ indirections: u = [],
+ ancestors: _ = new AncestorLineage(),
+ refractCache: w = new Map()
+ }) {
+ (this.indirections = u),
+ (this.namespace = o),
+ (this.reference = s),
+ (this.options = i),
+ (this.ancestors = new AncestorLineage(..._)),
+ (this.refractCache = w);
+ }
+ toBaseURI(s) {
+ return resolve(this.reference.uri, sanitize(stripHash(s)));
+ }
+ async toReference(s) {
+ if (this.reference.depth >= this.options.resolve.maxDepth)
+ throw new Zw(
+ `Maximum resolution depth of ${this.options.resolve.maxDepth} has been exceeded by file "${this.reference.uri}"`
+ );
+ const o = this.toBaseURI(s),
+ { refSet: i } = this.reference;
+ if (i.has(o)) return i.find(Fw(o, 'uri'));
+ const u = await _swagger_api_apidom_reference_es_parse(unsanitize(o), {
+ ...this.options,
+ parse: { ...this.options.parse, mediaType: 'text/plain' }
+ }),
+ _ = new cw({ uri: o, value: cloneDeep(u), depth: this.reference.depth + 1 });
+ if ((i.add(_), this.options.dereference.immutable)) {
+ const s = new cw({
+ uri: `immutable://${o}`,
+ value: u,
+ depth: this.reference.depth + 1
+ });
+ i.add(s);
+ }
+ return _;
+ }
+ toAncestorLineage(s) {
+ const o = new Set(s.filter(Nu));
+ return [new AncestorLineage(...this.ancestors, o), o];
+ }
+ async ReferenceElement(s, o, i, u, _, w) {
+ if (this.indirections.includes(s)) return !1;
+ const [x, C] = this.toAncestorLineage([..._, i]),
+ j = this.toBaseURI(serializers_value(s.$ref)),
+ L = stripHash(this.reference.uri) === j,
+ B = !L;
+ if (!this.options.resolve.internal && L) return !1;
+ if (!this.options.resolve.external && B) return !1;
+ const $ = await this.toReference(serializers_value(s.$ref)),
+ V = resolve(j, serializers_value(s.$ref));
+ this.indirections.push(s);
+ const U = uriToPointer(V);
+ let z = es_evaluate(U, $.value.result);
+ if (((z.id = tS.identify(z)), isPrimitiveElement(z))) {
+ const o = serializers_value(s.meta.get('referenced-element')),
+ i = `${o}-${serializers_value(tS.identify(z))}`;
+ if (this.refractCache.has(i)) z = this.refractCache.get(i);
+ else if (isReferenceLikeElement(z))
+ (z = Pb.refract(z)),
+ z.setMetaProperty('referenced-element', o),
+ this.refractCache.set(i, z);
+ else {
+ (z = this.namespace.getElementClass(o).refract(z)), this.refractCache.set(i, z);
+ }
+ }
+ if (s === z) throw new Ho('Recursive Reference Object detected');
+ if (this.indirections.length > this.options.dereference.maxDepth)
+ throw new Xw(
+ `Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`
+ );
+ if (x.includes(z)) {
+ if ((($.refSet.circular = !0), 'error' === this.options.dereference.circular))
+ throw new Ho('Circular reference detected');
+ if ('replace' === this.options.dereference.circular) {
+ var Y, Z;
+ const o = new Cu.sI(z.id, {
+ type: 'reference',
+ uri: $.uri,
+ $ref: serializers_value(s.$ref)
+ }),
+ u = (
+ null !==
+ (Y =
+ null === (Z = this.options.dereference.strategyOpts['openapi-3-1']) ||
+ void 0 === Z
+ ? void 0
+ : Z.circularReplacer) && void 0 !== Y
+ ? Y
+ : this.options.dereference.circularReplacer
+ )(o);
+ return w.replaceWith(u, mutationReplacer), !i && u;
+ }
+ }
+ const ee = stripHash($.refSet.rootRef.uri) !== $.uri,
+ ie = ['error', 'replace'].includes(this.options.dereference.circular);
+ if ((B || ee || G_(z) || ie) && !x.includesCycle(z)) {
+ C.add(s);
+ const o = new OpenAPI3_1DereferenceVisitor({
+ reference: $,
+ namespace: this.namespace,
+ indirections: [...this.indirections],
+ options: this.options,
+ refractCache: this.refractCache,
+ ancestors: x
+ });
+ (z = await eS(z, o, {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ })),
+ C.delete(s);
+ }
+ this.indirections.pop();
+ const ae = cloneShallow(z);
+ return (
+ ae.setMetaProperty('id', tS.generateId()),
+ ae.setMetaProperty('ref-fields', {
+ $ref: serializers_value(s.$ref),
+ description: serializers_value(s.description),
+ summary: serializers_value(s.summary)
+ }),
+ ae.setMetaProperty('ref-origin', $.uri),
+ ae.setMetaProperty('ref-referencing-element-id', cloneDeep(tS.identify(s))),
+ Fu(z) &&
+ Fu(ae) &&
+ (s.hasKey('description') &&
+ 'description' in z &&
+ (ae.remove('description'), ae.set('description', s.get('description'))),
+ s.hasKey('summary') &&
+ 'summary' in z &&
+ (ae.remove('summary'), ae.set('summary', s.get('summary')))),
+ w.replaceWith(ae, mutationReplacer),
+ !i && ae
+ );
+ }
+ async PathItemElement(s, o, i, u, _, w) {
+ if (!Ru(s.$ref)) return;
+ if (this.indirections.includes(s)) return !1;
+ const [x, C] = this.toAncestorLineage([..._, i]),
+ j = this.toBaseURI(serializers_value(s.$ref)),
+ L = stripHash(this.reference.uri) === j,
+ B = !L;
+ if (!this.options.resolve.internal && L) return;
+ if (!this.options.resolve.external && B) return;
+ const $ = await this.toReference(serializers_value(s.$ref)),
+ V = resolve(j, serializers_value(s.$ref));
+ this.indirections.push(s);
+ const U = uriToPointer(V);
+ let z = es_evaluate(U, $.value.result);
+ if (((z.id = tS.identify(z)), isPrimitiveElement(z))) {
+ const s = `path-item-${serializers_value(tS.identify(z))}`;
+ this.refractCache.has(s)
+ ? (z = this.refractCache.get(s))
+ : ((z = Ab.refract(z)), this.refractCache.set(s, z));
+ }
+ if (s === z) throw new Ho('Recursive Path Item Object reference detected');
+ if (this.indirections.length > this.options.dereference.maxDepth)
+ throw new Xw(
+ `Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`
+ );
+ if (x.includes(z)) {
+ if ((($.refSet.circular = !0), 'error' === this.options.dereference.circular))
+ throw new Ho('Circular reference detected');
+ if ('replace' === this.options.dereference.circular) {
+ var Y, Z;
+ const o = new Cu.sI(z.id, {
+ type: 'path-item',
+ uri: $.uri,
+ $ref: serializers_value(s.$ref)
+ }),
+ u = (
+ null !==
+ (Y =
+ null === (Z = this.options.dereference.strategyOpts['openapi-3-1']) ||
+ void 0 === Z
+ ? void 0
+ : Z.circularReplacer) && void 0 !== Y
+ ? Y
+ : this.options.dereference.circularReplacer
+ )(o);
+ return w.replaceWith(u, mutationReplacer), !i && u;
+ }
+ }
+ const ee = stripHash($.refSet.rootRef.uri) !== $.uri,
+ ie = ['error', 'replace'].includes(this.options.dereference.circular);
+ if ((B || ee || (H_(z) && Ru(z.$ref)) || ie) && !x.includesCycle(z)) {
+ C.add(s);
+ const o = new OpenAPI3_1DereferenceVisitor({
+ reference: $,
+ namespace: this.namespace,
+ indirections: [...this.indirections],
+ options: this.options,
+ refractCache: this.refractCache,
+ ancestors: x
+ });
+ (z = await eS(z, o, {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ })),
+ C.delete(s);
+ }
+ if ((this.indirections.pop(), H_(z))) {
+ const o = new Ab([...z.content], cloneDeep(z.meta), cloneDeep(z.attributes));
+ o.setMetaProperty('id', tS.generateId()),
+ s.forEach((s, i, u) => {
+ o.remove(serializers_value(i)), o.content.push(u);
+ }),
+ o.remove('$ref'),
+ o.setMetaProperty('ref-fields', { $ref: serializers_value(s.$ref) }),
+ o.setMetaProperty('ref-origin', $.uri),
+ o.setMetaProperty('ref-referencing-element-id', cloneDeep(tS.identify(s))),
+ (z = o);
+ }
+ return w.replaceWith(z, mutationReplacer), i ? void 0 : z;
+ }
+ async LinkElement(s, o, i, u, _, w) {
+ if (!Ru(s.operationRef) && !Ru(s.operationId)) return;
+ if (Ru(s.operationRef) && Ru(s.operationId))
+ throw new Ho(
+ 'LinkElement operationRef and operationId fields are mutually exclusive.'
+ );
+ let x;
+ if (Ru(s.operationRef)) {
+ var C;
+ const o = uriToPointer(serializers_value(s.operationRef)),
+ u = this.toBaseURI(serializers_value(s.operationRef)),
+ _ = stripHash(this.reference.uri) === u,
+ j = !_;
+ if (!this.options.resolve.internal && _) return;
+ if (!this.options.resolve.external && j) return;
+ const L = await this.toReference(serializers_value(s.operationRef));
+ if (((x = es_evaluate(o, L.value.result)), isPrimitiveElement(x))) {
+ const s = `operation-${serializers_value(tS.identify(x))}`;
+ this.refractCache.has(s)
+ ? (x = this.refractCache.get(s))
+ : ((x = Sb.refract(x)), this.refractCache.set(s, x));
+ }
+ (x = cloneShallow(x)), x.setMetaProperty('ref-origin', L.uri);
+ const B = cloneShallow(s);
+ return (
+ null === (C = B.operationRef) || void 0 === C || C.meta.set('operation', x),
+ w.replaceWith(B, mutationReplacer),
+ i ? void 0 : B
+ );
+ }
+ if (Ru(s.operationId)) {
+ var j;
+ const o = serializers_value(s.operationId),
+ u = await this.toReference(unsanitize(this.reference.uri));
+ if (
+ ((x = traversal_find(
+ (s) => W_(s) && Nu(s.operationId) && s.operationId.equals(o),
+ u.value.result
+ )),
+ Rl(x))
+ )
+ throw new Ho(`OperationElement(operationId=${o}) not found.`);
+ const _ = cloneShallow(s);
+ return (
+ null === (j = _.operationId) || void 0 === j || j.meta.set('operation', x),
+ w.replaceWith(_, mutationReplacer),
+ i ? void 0 : _
+ );
+ }
+ }
+ async ExampleElement(s, o, i, u, _, w) {
+ if (!Ru(s.externalValue)) return;
+ if (s.hasKey('value') && Ru(s.externalValue))
+ throw new Ho('ExampleElement value and externalValue fields are mutually exclusive.');
+ const x = this.toBaseURI(serializers_value(s.externalValue)),
+ C = stripHash(this.reference.uri) === x,
+ j = !C;
+ if (!this.options.resolve.internal && C) return;
+ if (!this.options.resolve.external && j) return;
+ const L = await this.toReference(serializers_value(s.externalValue)),
+ B = cloneShallow(L.value.result);
+ B.setMetaProperty('ref-origin', L.uri);
+ const $ = cloneShallow(s);
+ return ($.value = B), w.replaceWith($, mutationReplacer), i ? void 0 : $;
+ }
+ async SchemaElement(s, o, i, u, _, w) {
+ if (!Ru(s.$ref)) return;
+ if (this.indirections.includes(s)) return !1;
+ const [x, C] = this.toAncestorLineage([..._, i]);
+ let j = await this.toReference(unsanitize(this.reference.uri)),
+ { uri: L } = j;
+ const B = resolveSchema$refField(L, s),
+ $ = stripHash(B),
+ V = new vw({ uri: $ }),
+ U = Vw((s) => s.canRead(V), this.options.resolve.resolvers),
+ z = !U;
+ let Y,
+ Z = stripHash(this.reference.uri) === B,
+ ee = !Z;
+ this.indirections.push(s);
+ try {
+ if (U || z) {
+ L = this.toBaseURI(B);
+ const s = B,
+ o = maybeRefractToSchemaElement(j.value.result);
+ if (
+ ((Y = uri_evaluate(s, o)),
+ (Y = maybeRefractToSchemaElement(Y)),
+ (Y.id = tS.identify(Y)),
+ !this.options.resolve.internal && Z)
+ )
+ return;
+ if (!this.options.resolve.external && ee) return;
+ } else {
+ if (
+ ((L = this.toBaseURI(B)),
+ (Z = stripHash(this.reference.uri) === L),
+ (ee = !Z),
+ !this.options.resolve.internal && Z)
+ )
+ return;
+ if (!this.options.resolve.external && ee) return;
+ j = await this.toReference(unsanitize(B));
+ const s = uriToPointer(B),
+ o = maybeRefractToSchemaElement(j.value.result);
+ (Y = es_evaluate(s, o)),
+ (Y = maybeRefractToSchemaElement(Y)),
+ (Y.id = tS.identify(Y));
+ }
+ } catch (s) {
+ if (!(z && s instanceof Yw)) throw s;
+ if (isAnchor(uriToAnchor(B))) {
+ if (
+ ((Z = stripHash(this.reference.uri) === L),
+ (ee = !Z),
+ !this.options.resolve.internal && Z)
+ )
+ return;
+ if (!this.options.resolve.external && ee) return;
+ j = await this.toReference(unsanitize(B));
+ const s = uriToAnchor(B),
+ o = maybeRefractToSchemaElement(j.value.result);
+ (Y = $anchor_evaluate(s, o)),
+ (Y = maybeRefractToSchemaElement(Y)),
+ (Y.id = tS.identify(Y));
+ } else {
+ if (
+ ((L = this.toBaseURI(B)),
+ (Z = stripHash(this.reference.uri) === L),
+ (ee = !Z),
+ !this.options.resolve.internal && Z)
+ )
+ return;
+ if (!this.options.resolve.external && ee) return;
+ j = await this.toReference(unsanitize(B));
+ const s = uriToPointer(B),
+ o = maybeRefractToSchemaElement(j.value.result);
+ (Y = es_evaluate(s, o)),
+ (Y = maybeRefractToSchemaElement(Y)),
+ (Y.id = tS.identify(Y));
+ }
+ }
+ if (s === Y) throw new Ho('Recursive Schema Object reference detected');
+ if (this.indirections.length > this.options.dereference.maxDepth)
+ throw new Xw(
+ `Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`
+ );
+ if (x.includes(Y)) {
+ if (((j.refSet.circular = !0), 'error' === this.options.dereference.circular))
+ throw new Ho('Circular reference detected');
+ if ('replace' === this.options.dereference.circular) {
+ var ie, ae;
+ const o = new Cu.sI(Y.id, {
+ type: 'json-schema',
+ uri: j.uri,
+ $ref: serializers_value(s.$ref)
+ }),
+ u = (
+ null !==
+ (ie =
+ null === (ae = this.options.dereference.strategyOpts['openapi-3-1']) ||
+ void 0 === ae
+ ? void 0
+ : ae.circularReplacer) && void 0 !== ie
+ ? ie
+ : this.options.dereference.circularReplacer
+ )(o);
+ return w.replaceWith(u, mutationReplacer), !i && u;
+ }
+ }
+ const le = stripHash(j.refSet.rootRef.uri) !== j.uri,
+ ce = ['error', 'replace'].includes(this.options.dereference.circular);
+ if ((ee || le || (Q_(Y) && Ru(Y.$ref)) || ce) && !x.includesCycle(Y)) {
+ C.add(s);
+ const o = new OpenAPI3_1DereferenceVisitor({
+ reference: j,
+ namespace: this.namespace,
+ indirections: [...this.indirections],
+ options: this.options,
+ refractCache: this.refractCache,
+ ancestors: x
+ });
+ (Y = await eS(Y, o, {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ })),
+ C.delete(s);
+ }
+ if ((this.indirections.pop(), predicates_isBooleanJsonSchemaElement(Y))) {
+ const o = cloneDeep(Y);
+ return (
+ o.setMetaProperty('id', tS.generateId()),
+ o.setMetaProperty('ref-fields', { $ref: serializers_value(s.$ref) }),
+ o.setMetaProperty('ref-origin', j.uri),
+ o.setMetaProperty('ref-referencing-element-id', cloneDeep(tS.identify(s))),
+ w.replaceWith(o, mutationReplacer),
+ !i && o
+ );
+ }
+ if (Q_(Y)) {
+ const o = new qb([...Y.content], cloneDeep(Y.meta), cloneDeep(Y.attributes));
+ o.setMetaProperty('id', tS.generateId()),
+ s.forEach((s, i, u) => {
+ o.remove(serializers_value(i)), o.content.push(u);
+ }),
+ o.remove('$ref'),
+ o.setMetaProperty('ref-fields', { $ref: serializers_value(s.$ref) }),
+ o.setMetaProperty('ref-origin', j.uri),
+ o.setMetaProperty('ref-referencing-element-id', cloneDeep(tS.identify(s))),
+ (Y = o);
+ }
+ return w.replaceWith(Y, mutationReplacer), i ? void 0 : Y;
+ }
+ }
+ const rS = OpenAPI3_1DereferenceVisitor,
+ nS = visitor_visit[Symbol.for('nodejs.util.promisify.custom')];
+ const sS = class OpenAPI3_1DereferenceStrategy extends qw {
+ constructor(s) {
+ super({ ...(null != s ? s : {}), name: 'openapi-3-1' });
+ }
+ canDereference(s) {
+ var o;
+ return 'text/plain' !== s.mediaType
+ ? lw.includes(s.mediaType)
+ : z_(null === (o = s.parseResult) || void 0 === o ? void 0 : o.result);
+ }
+ async dereference(s, o) {
+ var i;
+ const u = createNamespace(ow),
+ _ = null !== (i = o.dereference.refSet) && void 0 !== i ? i : new uw(),
+ w = new uw();
+ let x,
+ C = _;
+ _.has(s.uri)
+ ? (x = _.find(Fw(s.uri, 'uri')))
+ : ((x = new cw({ uri: s.uri, value: s.parseResult })), _.add(x)),
+ o.dereference.immutable &&
+ (_.refs
+ .map((s) => new cw({ ...s, value: cloneDeep(s.value) }))
+ .forEach((s) => w.add(s)),
+ (x = w.find((o) => o.uri === s.uri)),
+ (C = w));
+ const j = new rS({ reference: x, namespace: u, options: o }),
+ L = await nS(C.rootRef.value, j, {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ });
+ return (
+ o.dereference.immutable &&
+ w.refs
+ .filter((s) => s.uri.startsWith('immutable://'))
+ .map((s) => new cw({ ...s, uri: s.uri.replace(/^immutable:\/\//, '') }))
+ .forEach((s) => _.add(s)),
+ null === o.dereference.refSet && _.clean(),
+ w.clean(),
+ L
+ );
+ }
+ },
+ to_path = (s) => {
+ const o = ((s) => s.slice(2))(s);
+ return o.reduce((s, i, u) => {
+ if ($u(i)) {
+ const o = String(serializers_value(i.key));
+ s.push(o);
+ } else if (qu(o[u - 2])) {
+ const _ = o[u - 2].content.indexOf(i);
+ s.push(_);
+ }
+ return s;
+ }, []);
+ };
+ const oS = class ModelPropertyMacroVisitor {
+ modelPropertyMacro;
+ options;
+ SchemaElement = {
+ leave: (s, o, i, u, _) => {
+ void 0 !== s.properties &&
+ Fu(s.properties) &&
+ s.properties.forEach((o) => {
+ if (Fu(o))
+ try {
+ const s = this.modelPropertyMacro(serializers_value(o));
+ o.set('default', s);
+ } catch (o) {
+ var u, w;
+ const x = new Error(o, { cause: o });
+ (x.fullPath = [...to_path([..._, i, s]), 'properties']),
+ null === (u = this.options.dereference.dereferenceOpts) ||
+ void 0 === u ||
+ null === (u = u.errors) ||
+ void 0 === u ||
+ null === (w = u.push) ||
+ void 0 === w ||
+ w.call(u, x);
+ }
+ });
+ }
+ };
+ constructor({ modelPropertyMacro: s, options: o }) {
+ (this.modelPropertyMacro = s), (this.options = o);
+ }
+ };
+ const iS = class all_of_AllOfVisitor {
+ options;
+ SchemaElement = {
+ leave(s, o, i, u, _) {
+ if (void 0 === s.allOf) return;
+ if (!qu(s.allOf)) {
+ var w, x;
+ const o = new TypeError('allOf must be an array');
+ return (
+ (o.fullPath = [...to_path([..._, i, s]), 'allOf']),
+ void (
+ null === (w = this.options.dereference.dereferenceOpts) ||
+ void 0 === w ||
+ null === (w = w.errors) ||
+ void 0 === w ||
+ null === (x = w.push) ||
+ void 0 === x ||
+ x.call(w, o)
+ )
+ );
+ }
+ if (s.allOf.isEmpty) return void s.remove('allOf');
+ if (!s.allOf.content.every(Q_)) {
+ var C, j;
+ const o = new TypeError('Elements in allOf must be objects');
+ return (
+ (o.fullPath = [...to_path([..._, i, s]), 'allOf']),
+ void (
+ null === (C = this.options.dereference.dereferenceOpts) ||
+ void 0 === C ||
+ null === (C = C.errors) ||
+ void 0 === C ||
+ null === (j = C.push) ||
+ void 0 === j ||
+ j.call(C, o)
+ )
+ );
+ }
+ for (; s.hasKey('allOf'); ) {
+ const { allOf: o } = s;
+ s.remove('allOf');
+ const i = deepmerge.all([...o.content, s]);
+ if ((s.hasKey('$$ref') || i.remove('$$ref'), s.hasKey('example'))) {
+ const o = i.getMember('example');
+ o && (o.value = s.get('example'));
+ }
+ if (s.hasKey('examples')) {
+ const o = i.getMember('examples');
+ o && (o.value = s.get('examples'));
+ }
+ s.content = i.content;
+ }
+ }
+ };
+ constructor({ options: s }) {
+ this.options = s;
+ }
+ };
+ const aS = class ParameterMacroVisitor {
+ parameterMacro;
+ options;
+ #e;
+ OperationElement = {
+ enter: (s) => {
+ this.#e = s;
+ },
+ leave: () => {
+ this.#e = void 0;
+ }
+ };
+ ParameterElement = {
+ leave: (s, o, i, u, _) => {
+ const w = this.#e ? serializers_value(this.#e) : null,
+ x = serializers_value(s);
+ try {
+ const o = this.parameterMacro(w, x);
+ s.set('default', o);
+ } catch (s) {
+ var C, j;
+ const o = new Error(s, { cause: s });
+ (o.fullPath = to_path([..._, i])),
+ null === (C = this.options.dereference.dereferenceOpts) ||
+ void 0 === C ||
+ null === (C = C.errors) ||
+ void 0 === C ||
+ null === (j = C.push) ||
+ void 0 === j ||
+ j.call(C, o);
+ }
+ }
+ };
+ constructor({ parameterMacro: s, options: o }) {
+ (this.parameterMacro = s), (this.options = o);
+ }
+ },
+ get_root_cause = (s) => {
+ if (null == s.cause) return s;
+ let { cause: o } = s;
+ for (; null != o.cause; ) o = o.cause;
+ return o;
+ };
+ const lS = class SchemaRefError extends Jo {},
+ { wrapError: cS } = ru,
+ uS = visitor_visit[Symbol.for('nodejs.util.promisify.custom')],
+ pS = new IdentityManager(),
+ dereference_mutationReplacer = (s, o, i, u) => {
+ $u(u) ? (u.value = s) : Array.isArray(u) && (u[i] = s);
+ };
+ class OpenAPI3_1SwaggerClientDereferenceVisitor extends rS {
+ useCircularStructures;
+ allowMetaPatches;
+ basePath;
+ constructor({
+ allowMetaPatches: s = !0,
+ useCircularStructures: o = !1,
+ basePath: i = null,
+ ...u
+ }) {
+ super(u),
+ (this.allowMetaPatches = s),
+ (this.useCircularStructures = o),
+ (this.basePath = i);
+ }
+ async ReferenceElement(s, o, i, u, _, w) {
+ try {
+ if (this.indirections.includes(s)) return !1;
+ const [o, u] = this.toAncestorLineage([..._, i]),
+ L = this.toBaseURI(serializers_value(s.$ref)),
+ B = stripHash(this.reference.uri) === L,
+ $ = !B;
+ if (!this.options.resolve.internal && B) return !1;
+ if (!this.options.resolve.external && $) return !1;
+ const V = await this.toReference(serializers_value(s.$ref)),
+ U = resolve(L, serializers_value(s.$ref));
+ this.indirections.push(s);
+ const z = uriToPointer(U);
+ let Y = es_evaluate(z, V.value.result);
+ if (((Y.id = pS.identify(Y)), isPrimitiveElement(Y))) {
+ const o = serializers_value(s.meta.get('referenced-element')),
+ i = `${o}-${serializers_value(pS.identify(Y))}`;
+ if (this.refractCache.has(i)) Y = this.refractCache.get(i);
+ else if (isReferenceLikeElement(Y))
+ (Y = Pb.refract(Y)),
+ Y.setMetaProperty('referenced-element', o),
+ this.refractCache.set(i, Y);
+ else {
+ (Y = this.namespace.getElementClass(o).refract(Y)), this.refractCache.set(i, Y);
+ }
+ }
+ if (s === Y) throw new Ho('Recursive Reference Object detected');
+ if (this.indirections.length > this.options.dereference.maxDepth)
+ throw new Xw(
+ `Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`
+ );
+ if (o.includes(Y)) {
+ if (((V.refSet.circular = !0), 'error' === this.options.dereference.circular))
+ throw new Ho('Circular reference detected');
+ if ('replace' === this.options.dereference.circular) {
+ var x, C;
+ const o = new Cu.sI(Y.id, {
+ type: 'reference',
+ uri: V.uri,
+ $ref: serializers_value(s.$ref),
+ baseURI: U,
+ referencingElement: s
+ }),
+ u = (
+ null !==
+ (x =
+ null === (C = this.options.dereference.strategyOpts['openapi-3-1']) ||
+ void 0 === C
+ ? void 0
+ : C.circularReplacer) && void 0 !== x
+ ? x
+ : this.options.dereference.circularReplacer
+ )(o);
+ return w.replaceWith(o, dereference_mutationReplacer), !i && u;
+ }
+ }
+ const Z = stripHash(V.refSet.rootRef.uri) !== V.uri,
+ ee = ['error', 'replace'].includes(this.options.dereference.circular);
+ if (($ || Z || G_(Y) || ee) && !o.includesCycle(Y)) {
+ var j;
+ u.add(s);
+ const w = new OpenAPI3_1SwaggerClientDereferenceVisitor({
+ reference: V,
+ namespace: this.namespace,
+ indirections: [...this.indirections],
+ options: this.options,
+ refractCache: this.refractCache,
+ ancestors: o,
+ allowMetaPatches: this.allowMetaPatches,
+ useCircularStructures: this.useCircularStructures,
+ basePath:
+ null !== (j = this.basePath) && void 0 !== j
+ ? j
+ : [...to_path([..._, i, s]), '$ref']
+ });
+ (Y = await uS(Y, w, {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ })),
+ u.delete(s);
+ }
+ this.indirections.pop();
+ const ie = cloneShallow(Y);
+ if (
+ (ie.setMetaProperty('ref-fields', {
+ $ref: serializers_value(s.$ref),
+ description: serializers_value(s.description),
+ summary: serializers_value(s.summary)
+ }),
+ ie.setMetaProperty('ref-origin', V.uri),
+ ie.setMetaProperty('ref-referencing-element-id', cloneDeep(pS.identify(s))),
+ Fu(Y) &&
+ (s.hasKey('description') &&
+ 'description' in Y &&
+ (ie.remove('description'), ie.set('description', s.get('description'))),
+ s.hasKey('summary') &&
+ 'summary' in Y &&
+ (ie.remove('summary'), ie.set('summary', s.get('summary')))),
+ this.allowMetaPatches && Fu(ie) && !ie.hasKey('$$ref'))
+ ) {
+ const s = resolve(L, U);
+ ie.set('$$ref', s);
+ }
+ return w.replaceWith(ie, dereference_mutationReplacer), !i && ie;
+ } catch (o) {
+ var L, B, $;
+ const u = get_root_cause(o),
+ w = cS(u, {
+ baseDoc: this.reference.uri,
+ $ref: serializers_value(s.$ref),
+ pointer: uriToPointer(serializers_value(s.$ref)),
+ fullPath:
+ null !== (L = this.basePath) && void 0 !== L
+ ? L
+ : [...to_path([..._, i, s]), '$ref']
+ });
+ return void (
+ null === (B = this.options.dereference.dereferenceOpts) ||
+ void 0 === B ||
+ null === (B = B.errors) ||
+ void 0 === B ||
+ null === ($ = B.push) ||
+ void 0 === $ ||
+ $.call(B, w)
+ );
+ }
+ }
+ async PathItemElement(s, o, i, u, _, w) {
+ try {
+ if (!Ru(s.$ref)) return;
+ if (this.indirections.includes(s)) return !1;
+ if (includesClasses(['cycle'], s.$ref)) return !1;
+ const [o, u] = this.toAncestorLineage([..._, i]),
+ L = this.toBaseURI(serializers_value(s.$ref)),
+ B = stripHash(this.reference.uri) === L,
+ $ = !B;
+ if (!this.options.resolve.internal && B) return;
+ if (!this.options.resolve.external && $) return;
+ const V = await this.toReference(serializers_value(s.$ref)),
+ U = resolve(L, serializers_value(s.$ref));
+ this.indirections.push(s);
+ const z = uriToPointer(U);
+ let Y = es_evaluate(z, V.value.result);
+ if (((Y.id = pS.identify(Y)), isPrimitiveElement(Y))) {
+ const s = `path-item-${serializers_value(pS.identify(Y))}`;
+ this.refractCache.has(s)
+ ? (Y = this.refractCache.get(s))
+ : ((Y = Ab.refract(Y)), this.refractCache.set(s, Y));
+ }
+ if (s === Y) throw new Ho('Recursive Path Item Object reference detected');
+ if (this.indirections.length > this.options.dereference.maxDepth)
+ throw new Xw(
+ `Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`
+ );
+ if (o.includes(Y)) {
+ if (((V.refSet.circular = !0), 'error' === this.options.dereference.circular))
+ throw new Ho('Circular reference detected');
+ if ('replace' === this.options.dereference.circular) {
+ var x, C;
+ const o = new Cu.sI(Y.id, {
+ type: 'path-item',
+ uri: V.uri,
+ $ref: serializers_value(s.$ref),
+ baseURI: U,
+ referencingElement: s
+ }),
+ u = (
+ null !==
+ (x =
+ null === (C = this.options.dereference.strategyOpts['openapi-3-1']) ||
+ void 0 === C
+ ? void 0
+ : C.circularReplacer) && void 0 !== x
+ ? x
+ : this.options.dereference.circularReplacer
+ )(o);
+ return w.replaceWith(o, dereference_mutationReplacer), !i && u;
+ }
+ }
+ const Z = stripHash(V.refSet.rootRef.uri) !== V.uri,
+ ee = ['error', 'replace'].includes(this.options.dereference.circular);
+ if (($ || Z || (H_(Y) && Ru(Y.$ref)) || ee) && !o.includesCycle(Y)) {
+ var j;
+ u.add(s);
+ const w = new OpenAPI3_1SwaggerClientDereferenceVisitor({
+ reference: V,
+ namespace: this.namespace,
+ indirections: [...this.indirections],
+ options: this.options,
+ ancestors: o,
+ allowMetaPatches: this.allowMetaPatches,
+ useCircularStructures: this.useCircularStructures,
+ basePath:
+ null !== (j = this.basePath) && void 0 !== j
+ ? j
+ : [...to_path([..._, i, s]), '$ref']
+ });
+ (Y = await uS(Y, w, {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ })),
+ u.delete(s);
+ }
+ if ((this.indirections.pop(), H_(Y))) {
+ const o = new Ab([...Y.content], cloneDeep(Y.meta), cloneDeep(Y.attributes));
+ if (
+ (s.forEach((s, i, u) => {
+ o.remove(serializers_value(i)), o.content.push(u);
+ }),
+ o.remove('$ref'),
+ o.setMetaProperty('ref-fields', { $ref: serializers_value(s.$ref) }),
+ o.setMetaProperty('ref-origin', V.uri),
+ o.setMetaProperty('ref-referencing-element-id', cloneDeep(pS.identify(s))),
+ this.allowMetaPatches && void 0 === o.get('$$ref'))
+ ) {
+ const s = resolve(L, U);
+ o.set('$$ref', s);
+ }
+ Y = o;
+ }
+ return w.replaceWith(Y, dereference_mutationReplacer), i ? void 0 : Y;
+ } catch (o) {
+ var L, B, $;
+ const u = get_root_cause(o),
+ w = cS(u, {
+ baseDoc: this.reference.uri,
+ $ref: serializers_value(s.$ref),
+ pointer: uriToPointer(serializers_value(s.$ref)),
+ fullPath:
+ null !== (L = this.basePath) && void 0 !== L
+ ? L
+ : [...to_path([..._, i, s]), '$ref']
+ });
+ return void (
+ null === (B = this.options.dereference.dereferenceOpts) ||
+ void 0 === B ||
+ null === (B = B.errors) ||
+ void 0 === B ||
+ null === ($ = B.push) ||
+ void 0 === $ ||
+ $.call(B, w)
+ );
+ }
+ }
+ async SchemaElement(s, o, i, u, _, w) {
+ try {
+ if (!Ru(s.$ref)) return;
+ if (this.indirections.includes(s)) return !1;
+ const [o, u] = this.toAncestorLineage([..._, i]);
+ let L = await this.toReference(unsanitize(this.reference.uri)),
+ { uri: B } = L;
+ const $ = resolveSchema$refField(B, s),
+ V = stripHash($),
+ U = new vw({ uri: V }),
+ z = !this.options.resolve.resolvers.some((s) => s.canRead(U)),
+ Y = !z;
+ let Z,
+ ee = stripHash(this.reference.uri) === $,
+ ie = !ee;
+ this.indirections.push(s);
+ try {
+ if (z || Y) {
+ B = this.toBaseURI($);
+ const s = $,
+ o = maybeRefractToSchemaElement(L.value.result);
+ if (
+ ((Z = uri_evaluate(s, o)),
+ (Z = maybeRefractToSchemaElement(Z)),
+ (Z.id = pS.identify(Z)),
+ !this.options.resolve.internal && ee)
+ )
+ return;
+ if (!this.options.resolve.external && ie) return;
+ } else {
+ if (
+ ((B = this.toBaseURI($)),
+ (ee = stripHash(this.reference.uri) === B),
+ (ie = !ee),
+ !this.options.resolve.internal && ee)
+ )
+ return;
+ if (!this.options.resolve.external && ie) return;
+ L = await this.toReference(unsanitize($));
+ const s = uriToPointer($),
+ o = maybeRefractToSchemaElement(L.value.result);
+ (Z = es_evaluate(s, o)),
+ (Z = maybeRefractToSchemaElement(Z)),
+ (Z.id = pS.identify(Z));
+ }
+ } catch (s) {
+ if (!(Y && s instanceof Yw)) throw s;
+ if (isAnchor(uriToAnchor($))) {
+ if (
+ ((ee = stripHash(this.reference.uri) === B),
+ (ie = !ee),
+ !this.options.resolve.internal && ee)
+ )
+ return;
+ if (!this.options.resolve.external && ie) return;
+ L = await this.toReference(unsanitize($));
+ const s = uriToAnchor($),
+ o = maybeRefractToSchemaElement(L.value.result);
+ (Z = $anchor_evaluate(s, o)),
+ (Z = maybeRefractToSchemaElement(Z)),
+ (Z.id = pS.identify(Z));
+ } else {
+ if (
+ ((B = this.toBaseURI(serializers_value($))),
+ (ee = stripHash(this.reference.uri) === B),
+ (ie = !ee),
+ !this.options.resolve.internal && ee)
+ )
+ return;
+ if (!this.options.resolve.external && ie) return;
+ L = await this.toReference(unsanitize($));
+ const s = uriToPointer($),
+ o = maybeRefractToSchemaElement(L.value.result);
+ (Z = es_evaluate(s, o)),
+ (Z = maybeRefractToSchemaElement(Z)),
+ (Z.id = pS.identify(Z));
+ }
+ }
+ if (s === Z) throw new Ho('Recursive Schema Object reference detected');
+ if (this.indirections.length > this.options.dereference.maxDepth)
+ throw new Xw(
+ `Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`
+ );
+ if (o.includes(Z)) {
+ if (((L.refSet.circular = !0), 'error' === this.options.dereference.circular))
+ throw new Ho('Circular reference detected');
+ if ('replace' === this.options.dereference.circular) {
+ var x, C;
+ const o = new Cu.sI(Z.id, {
+ type: 'json-schema',
+ uri: L.uri,
+ $ref: serializers_value(s.$ref),
+ baseURI: resolve(B, $),
+ referencingElement: s
+ }),
+ u = (
+ null !==
+ (x =
+ null === (C = this.options.dereference.strategyOpts['openapi-3-1']) ||
+ void 0 === C
+ ? void 0
+ : C.circularReplacer) && void 0 !== x
+ ? x
+ : this.options.dereference.circularReplacer
+ )(o);
+ return w.replaceWith(u, dereference_mutationReplacer), !i && u;
+ }
+ }
+ const ae = stripHash(L.refSet.rootRef.uri) !== L.uri,
+ le = ['error', 'replace'].includes(this.options.dereference.circular);
+ if ((ie || ae || (Q_(Z) && Ru(Z.$ref)) || le) && !o.includesCycle(Z)) {
+ var j;
+ u.add(s);
+ const w = new OpenAPI3_1SwaggerClientDereferenceVisitor({
+ reference: L,
+ namespace: this.namespace,
+ indirections: [...this.indirections],
+ options: this.options,
+ useCircularStructures: this.useCircularStructures,
+ allowMetaPatches: this.allowMetaPatches,
+ ancestors: o,
+ basePath:
+ null !== (j = this.basePath) && void 0 !== j
+ ? j
+ : [...to_path([..._, i, s]), '$ref']
+ });
+ (Z = await uS(Z, w, {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ })),
+ u.delete(s);
+ }
+ if ((this.indirections.pop(), predicates_isBooleanJsonSchemaElement(Z))) {
+ const o = cloneDeep(Z);
+ return (
+ o.setMetaProperty('ref-fields', { $ref: serializers_value(s.$ref) }),
+ o.setMetaProperty('ref-origin', L.uri),
+ o.setMetaProperty('ref-referencing-element-id', cloneDeep(pS.identify(s))),
+ w.replaceWith(o, dereference_mutationReplacer),
+ !i && o
+ );
+ }
+ if (Q_(Z)) {
+ const o = new qb([...Z.content], cloneDeep(Z.meta), cloneDeep(Z.attributes));
+ if (
+ (s.forEach((s, i, u) => {
+ o.remove(serializers_value(i)), o.content.push(u);
+ }),
+ o.remove('$ref'),
+ o.setMetaProperty('ref-fields', { $ref: serializers_value(s.$ref) }),
+ o.setMetaProperty('ref-origin', L.uri),
+ o.setMetaProperty('ref-referencing-element-id', cloneDeep(pS.identify(s))),
+ this.allowMetaPatches && void 0 === o.get('$$ref'))
+ ) {
+ const s = resolve(B, $);
+ o.set('$$ref', s);
+ }
+ Z = o;
+ }
+ return w.replaceWith(Z, dereference_mutationReplacer), i ? void 0 : Z;
+ } catch (o) {
+ var L, B, $;
+ const u = get_root_cause(o),
+ w = new lS(`Could not resolve reference: ${u.message}`, {
+ baseDoc: this.reference.uri,
+ $ref: serializers_value(s.$ref),
+ fullPath:
+ null !== (L = this.basePath) && void 0 !== L
+ ? L
+ : [...to_path([..._, i, s]), '$ref'],
+ cause: u
+ });
+ return void (
+ null === (B = this.options.dereference.dereferenceOpts) ||
+ void 0 === B ||
+ null === (B = B.errors) ||
+ void 0 === B ||
+ null === ($ = B.push) ||
+ void 0 === $ ||
+ $.call(B, w)
+ );
+ }
+ }
+ async LinkElement() {}
+ async ExampleElement(s, o, i, u, _, w) {
+ try {
+ return await super.ExampleElement(s, o, i, u, _, w);
+ } catch (o) {
+ var x, C, j;
+ const u = get_root_cause(o),
+ w = cS(u, {
+ baseDoc: this.reference.uri,
+ externalValue: serializers_value(s.externalValue),
+ fullPath:
+ null !== (x = this.basePath) && void 0 !== x
+ ? x
+ : [...to_path([..._, i, s]), 'externalValue']
+ });
+ return void (
+ null === (C = this.options.dereference.dereferenceOpts) ||
+ void 0 === C ||
+ null === (C = C.errors) ||
+ void 0 === C ||
+ null === (j = C.push) ||
+ void 0 === j ||
+ j.call(C, w)
+ );
+ }
+ }
+ }
+ const hS = OpenAPI3_1SwaggerClientDereferenceVisitor,
+ dS = mergeAll[Symbol.for('nodejs.util.promisify.custom')];
+ const fS = class RootVisitor {
+ constructor({ parameterMacro: s, modelPropertyMacro: o, mode: i, options: u, ..._ }) {
+ const w = [];
+ w.push(new hS({ ..._, options: u })),
+ 'function' == typeof o && w.push(new oS({ modelPropertyMacro: o, options: u })),
+ 'strict' !== i && w.push(new iS({ options: u })),
+ 'function' == typeof s && w.push(new aS({ parameterMacro: s, options: u }));
+ const x = dS(w, {
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ });
+ Object.assign(this, x);
+ }
+ },
+ mS = visitor_visit[Symbol.for('nodejs.util.promisify.custom')];
+ const gS = class OpenAPI3_1SwaggerClientDereferenceStrategy extends sS {
+ allowMetaPatches;
+ parameterMacro;
+ modelPropertyMacro;
+ mode;
+ ancestors;
+ constructor({
+ allowMetaPatches: s = !1,
+ parameterMacro: o = null,
+ modelPropertyMacro: i = null,
+ mode: u = 'non-strict',
+ ancestors: _ = [],
+ ...w
+ } = {}) {
+ super({ ...w }),
+ (this.name = 'openapi-3-1-swagger-client'),
+ (this.allowMetaPatches = s),
+ (this.parameterMacro = o),
+ (this.modelPropertyMacro = i),
+ (this.mode = u),
+ (this.ancestors = [..._]);
+ }
+ async dereference(s, o) {
+ var i;
+ const u = createNamespace(ow),
+ _ = null !== (i = o.dereference.refSet) && void 0 !== i ? i : new uw(),
+ w = new uw();
+ let x,
+ C = _;
+ _.has(s.uri)
+ ? (x = _.find((o) => o.uri === s.uri))
+ : ((x = new cw({ uri: s.uri, value: s.parseResult })), _.add(x)),
+ o.dereference.immutable &&
+ (_.refs
+ .map((s) => new cw({ ...s, value: cloneDeep(s.value) }))
+ .forEach((s) => w.add(s)),
+ (x = w.find((o) => o.uri === s.uri)),
+ (C = w));
+ const j = new fS({
+ reference: x,
+ namespace: u,
+ options: o,
+ allowMetaPatches: this.allowMetaPatches,
+ ancestors: this.ancestors,
+ modelPropertyMacro: this.modelPropertyMacro,
+ mode: this.mode,
+ parameterMacro: this.parameterMacro
+ }),
+ L = await mS(C.rootRef.value, j, {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ });
+ return (
+ o.dereference.immutable &&
+ w.refs
+ .filter((s) => s.uri.startsWith('immutable://'))
+ .map((s) => new cw({ ...s, uri: s.uri.replace(/^immutable:\/\//, '') }))
+ .forEach((s) => _.add(s)),
+ null === o.dereference.refSet && _.clean(),
+ w.clean(),
+ L
+ );
+ }
+ },
+ circularReplacer = (s) => {
+ const o = serializers_value(s.meta.get('baseURI')),
+ i = s.meta.get('referencingElement');
+ return new Cu.Sh({ $ref: o }, cloneDeep(i.meta), cloneDeep(i.attributes));
+ },
+ resolveOpenAPI31Strategy = async (s) => {
+ const {
+ spec: o,
+ timeout: i,
+ redirects: u,
+ requestInterceptor: _,
+ responseInterceptor: w,
+ pathDiscriminator: x = [],
+ allowMetaPatches: C = !1,
+ useCircularStructures: j = !1,
+ skipNormalization: L = !1,
+ parameterMacro: B = null,
+ modelPropertyMacro: $ = null,
+ mode: V = 'non-strict',
+ strategies: U
+ } = s;
+ try {
+ const { cache: z } = resolveOpenAPI31Strategy,
+ Y = U.find((s) => s.match(o)),
+ Z = isHttpUrl(url_cwd()) ? url_cwd() : Nc,
+ ee = options_retrievalURI(s),
+ ie = resolve(Z, ee);
+ let ae;
+ z.has(o)
+ ? (ae = z.get(o))
+ : ((ae = wb.refract(o)), ae.classes.push('result'), z.set(o, ae));
+ const le = new Mu([ae]),
+ ce = es_compile(x),
+ pe = '' === ce ? '' : `#${ce}`,
+ de = es_evaluate(ce, ae),
+ fe = new cw({ uri: ie, value: le }),
+ ye = new uw({ refs: [fe] });
+ '' !== ce && (ye.rootRef = void 0);
+ const be = [new Set([de])],
+ _e = [],
+ we = await (async (s, o = {}) => {
+ const i = util_merge(pw, o);
+ return dereferenceApiDOM(s, i);
+ })(de, {
+ resolve: {
+ baseURI: `${ie}${pe}`,
+ resolvers: [new Nw({ timeout: i || 1e4, redirects: u || 10 })],
+ resolverOpts: {
+ swaggerHTTPClientConfig: { requestInterceptor: _, responseInterceptor: w }
+ },
+ strategies: [new Ow()]
+ },
+ parse: {
+ mediaType: lw.latest(),
+ parsers: [
+ new Lw({ allowEmpty: !1, sourceMap: !1 }),
+ new Bw({ allowEmpty: !1, sourceMap: !1 }),
+ new Rw({ allowEmpty: !1, sourceMap: !1 }),
+ new Dw({ allowEmpty: !1, sourceMap: !1 }),
+ new kw({ allowEmpty: !1, sourceMap: !1 })
+ ]
+ },
+ dereference: {
+ maxDepth: 100,
+ strategies: [
+ new gS({
+ allowMetaPatches: C,
+ useCircularStructures: j,
+ parameterMacro: B,
+ modelPropertyMacro: $,
+ mode: V,
+ ancestors: be
+ })
+ ],
+ refSet: ye,
+ dereferenceOpts: { errors: _e },
+ immutable: !1,
+ circular: j ? 'ignore' : 'replace',
+ circularReplacer: j ? pw.dereference.circularReplacer : circularReplacer
+ }
+ }),
+ Se = ((s, o, i) => new xp({ element: i }).transclude(s, o))(de, we, ae),
+ xe = L ? Se : Y.normalize(Se);
+ return { spec: serializers_value(xe), errors: _e };
+ } catch (s) {
+ if (s instanceof Wp || s instanceof Kp) return { spec: null, errors: [] };
+ throw s;
+ }
+ };
+ resolveOpenAPI31Strategy.cache = new WeakMap();
+ const yS = resolveOpenAPI31Strategy;
+ function _clone(s, o, i) {
+ if (
+ (i || (i = new vS()),
+ (function _isPrimitive(s) {
+ var o = typeof s;
+ return null == s || ('object' != o && 'function' != o);
+ })(s))
+ )
+ return s;
+ var u = function copy(u) {
+ var _ = i.get(s);
+ if (_) return _;
+ for (var w in (i.set(s, u), s))
+ Object.prototype.hasOwnProperty.call(s, w) && (u[w] = o ? _clone(s[w], !0, i) : s[w]);
+ return u;
+ };
+ switch (ea(s)) {
+ case 'Object':
+ return u(Object.create(Object.getPrototypeOf(s)));
+ case 'Array':
+ return u(Array(s.length));
+ case 'Date':
+ return new Date(s.valueOf());
+ case 'RegExp':
+ return _cloneRegExp(s);
+ case 'Int8Array':
+ case 'Uint8Array':
+ case 'Uint8ClampedArray':
+ case 'Int16Array':
+ case 'Uint16Array':
+ case 'Int32Array':
+ case 'Uint32Array':
+ case 'Float32Array':
+ case 'Float64Array':
+ case 'BigInt64Array':
+ case 'BigUint64Array':
+ return s.slice();
+ default:
+ return s;
+ }
+ }
+ var vS = (function () {
+ function _ObjectMap() {
+ (this.map = {}), (this.length = 0);
+ }
+ return (
+ (_ObjectMap.prototype.set = function (s, o) {
+ var i = this.hash(s),
+ u = this.map[i];
+ u || (this.map[i] = u = []), u.push([s, o]), (this.length += 1);
+ }),
+ (_ObjectMap.prototype.hash = function (s) {
+ var o = [];
+ for (var i in s) o.push(Object.prototype.toString.call(s[i]));
+ return o.join();
+ }),
+ (_ObjectMap.prototype.get = function (s) {
+ if (this.length <= 180)
+ for (var o in this.map)
+ for (var i = this.map[o], u = 0; u < i.length; u += 1) {
+ if ((w = i[u])[0] === s) return w[1];
+ }
+ else {
+ var _ = this.hash(s);
+ if ((i = this.map[_]))
+ for (u = 0; u < i.length; u += 1) {
+ var w;
+ if ((w = i[u])[0] === s) return w[1];
+ }
+ }
+ }),
+ _ObjectMap
+ );
+ })(),
+ bS = (function () {
+ function XReduceBy(s, o, i, u) {
+ (this.valueFn = s),
+ (this.valueAcc = o),
+ (this.keyFn = i),
+ (this.xf = u),
+ (this.inputs = {});
+ }
+ return (
+ (XReduceBy.prototype['@@transducer/init'] = _xfBase_init),
+ (XReduceBy.prototype['@@transducer/result'] = function (s) {
+ var o;
+ for (o in this.inputs)
+ if (
+ _has(o, this.inputs) &&
+ (s = this.xf['@@transducer/step'](s, this.inputs[o]))['@@transducer/reduced']
+ ) {
+ s = s['@@transducer/value'];
+ break;
+ }
+ return (this.inputs = null), this.xf['@@transducer/result'](s);
+ }),
+ (XReduceBy.prototype['@@transducer/step'] = function (s, o) {
+ var i = this.keyFn(o);
+ return (
+ (this.inputs[i] = this.inputs[i] || [i, _clone(this.valueAcc, !1)]),
+ (this.inputs[i][1] = this.valueFn(this.inputs[i][1], o)),
+ s
+ );
+ }),
+ XReduceBy
+ );
+ })();
+ function _xreduceBy(s, o, i) {
+ return function (u) {
+ return new bS(s, o, i, u);
+ };
+ }
+ var _S = _curryN(
+ 4,
+ [],
+ _dispatchable([], _xreduceBy, function reduceBy(s, o, i, u) {
+ var _ = _xwrap(function (u, _) {
+ var w = i(_),
+ x = s(_has(w, u) ? u[w] : _clone(o, !1), _);
+ return x && x['@@transducer/reduced'] ? _reduced(u) : ((u[w] = x), u);
+ });
+ return wa(_, {}, u);
+ })
+ );
+ const ES = _curry2(
+ _checkForMethod(
+ 'groupBy',
+ _S(function (s, o) {
+ return s.push(o), s;
+ }, [])
+ )
+ );
+ const wS = class NormalizeStorage {
+ internalStore;
+ constructor(s, o, i) {
+ (this.storageElement = s), (this.storageField = o), (this.storageSubField = i);
+ }
+ get store() {
+ if (!this.internalStore) {
+ let s = this.storageElement.get(this.storageField);
+ Fu(s) || ((s = new Cu.Sh()), this.storageElement.set(this.storageField, s));
+ let o = s.get(this.storageSubField);
+ qu(o) || ((o = new Cu.wE()), s.set(this.storageSubField, o)),
+ (this.internalStore = o);
+ }
+ return this.internalStore;
+ }
+ append(s) {
+ this.includes(s) || this.store.push(s);
+ }
+ includes(s) {
+ return this.store.includes(s);
+ }
+ },
+ removeSpaces = (s) => s.replace(/\s/g, ''),
+ normalize_operation_ids_replaceSpecialCharsWithUnderscore = (s) => s.replace(/\W/gi, '_'),
+ normalizeOperationId = (s, o, i) => {
+ const u = removeSpaces(s);
+ return u.length > 0
+ ? normalize_operation_ids_replaceSpecialCharsWithUnderscore(u)
+ : ((s, o) =>
+ `${normalize_operation_ids_replaceSpecialCharsWithUnderscore(removeSpaces(o.toLowerCase()))}${normalize_operation_ids_replaceSpecialCharsWithUnderscore(removeSpaces(s))}`)(
+ o,
+ i
+ );
+ },
+ normalize_operation_ids =
+ ({
+ storageField: s = 'x-normalized',
+ operationIdNormalizer: o = normalizeOperationId
+ } = {}) =>
+ (i) => {
+ const { predicates: u, ancestorLineageToJSONPointer: _, namespace: w } = i,
+ x = [],
+ C = [],
+ j = [];
+ let L;
+ return {
+ visitor: {
+ OpenApi3_1Element: {
+ enter(o) {
+ L = new wS(o, s, 'operation-ids');
+ },
+ leave() {
+ const s = ES((s) => serializers_value(s.operationId), C);
+ Object.entries(s).forEach(([s, o]) => {
+ Array.isArray(o) &&
+ (o.length <= 1 ||
+ o.forEach((o, i) => {
+ const u = `${s}${i + 1}`;
+ o.operationId = new w.elements.String(u);
+ }));
+ }),
+ j.forEach((s) => {
+ if (void 0 === s.operationId) return;
+ const o = String(serializers_value(s.operationId)),
+ i = C.find(
+ (s) => serializers_value(s.meta.get('originalOperationId')) === o
+ );
+ void 0 !== i &&
+ ((s.operationId = cloneDeep.safe(i.operationId)),
+ s.meta.set('originalOperationId', o),
+ s.set('__originalOperationId', o));
+ }),
+ (C.length = 0),
+ (j.length = 0),
+ (L = void 0);
+ }
+ },
+ PathItemElement: {
+ enter(s) {
+ const o = Na('path', serializers_value(s.meta.get('path')));
+ x.push(o);
+ },
+ leave() {
+ x.pop();
+ }
+ },
+ OperationElement: {
+ enter(s, i, u, j, B) {
+ if (void 0 === s.operationId) return;
+ const $ = _([...B, u, s]);
+ if (L.includes($)) return;
+ const V = String(serializers_value(s.operationId)),
+ U = Fa(x),
+ z = Na('method', serializers_value(s.meta.get('http-method'))),
+ Y = o(V, U, z);
+ V !== Y &&
+ ((s.operationId = new w.elements.String(Y)),
+ s.set('__originalOperationId', V),
+ s.meta.set('originalOperationId', V),
+ C.push(s),
+ L.append($));
+ }
+ },
+ LinkElement: {
+ leave(s) {
+ u.isLinkElement(s) && void 0 !== s.operationId && j.push(s);
+ }
+ }
+ }
+ };
+ };
+ var SS = (function () {
+ function XUniqWith(s, o) {
+ (this.xf = o), (this.pred = s), (this.items = []);
+ }
+ return (
+ (XUniqWith.prototype['@@transducer/init'] = _xfBase_init),
+ (XUniqWith.prototype['@@transducer/result'] = _xfBase_result),
+ (XUniqWith.prototype['@@transducer/step'] = function (s, o) {
+ return _includesWith(this.pred, o, this.items)
+ ? s
+ : (this.items.push(o), this.xf['@@transducer/step'](s, o));
+ }),
+ XUniqWith
+ );
+ })();
+ function _xuniqWith(s) {
+ return function (o) {
+ return new SS(s, o);
+ };
+ }
+ var xS = _curry2(
+ _dispatchable([], _xuniqWith, function (s, o) {
+ for (var i, u = 0, _ = o.length, w = []; u < _; )
+ _includesWith(s, (i = o[u]), w) || (w[w.length] = i), (u += 1);
+ return w;
+ })
+ );
+ const kS = xS,
+ normalize_parameters =
+ ({ storageField: s = 'x-normalized' } = {}) =>
+ (o) => {
+ const { predicates: i, ancestorLineageToJSONPointer: u } = o,
+ parameterEquals = (s, o) =>
+ !!i.isParameterElement(s) &&
+ !!i.isParameterElement(o) &&
+ !!i.isStringElement(s.name) &&
+ !!i.isStringElement(s.in) &&
+ !!i.isStringElement(o.name) &&
+ !!i.isStringElement(o.in) &&
+ serializers_value(s.name) === serializers_value(o.name) &&
+ serializers_value(s.in) === serializers_value(o.in),
+ _ = [];
+ let w;
+ return {
+ visitor: {
+ OpenApi3_1Element: {
+ enter(o) {
+ w = new wS(o, s, 'parameters');
+ },
+ leave() {
+ w = void 0;
+ }
+ },
+ PathItemElement: {
+ enter(s, o, u, w, x) {
+ if (x.some(i.isComponentsElement)) return;
+ const { parameters: C } = s;
+ i.isArrayElement(C) ? _.push([...C.content]) : _.push([]);
+ },
+ leave() {
+ _.pop();
+ }
+ },
+ OperationElement: {
+ leave(s, o, i, x, C) {
+ const j = Fa(_);
+ if (!Array.isArray(j) || 0 === j.length) return;
+ const L = u([...C, i, s]);
+ if (w.includes(L)) return;
+ const B = Ww([], ['parameters', 'content'], s),
+ $ = kS(parameterEquals, [...B, ...j]);
+ (s.parameters = new yv($)), w.append(L);
+ }
+ }
+ }
+ };
+ },
+ normalize_security_requirements =
+ ({ storageField: s = 'x-normalized' } = {}) =>
+ (o) => {
+ const { predicates: i, ancestorLineageToJSONPointer: u } = o;
+ let _, w;
+ return {
+ visitor: {
+ OpenApi3_1Element: {
+ enter(o) {
+ (w = new wS(o, s, 'security-requirements')),
+ i.isArrayElement(o.security) && (_ = o.security);
+ },
+ leave() {
+ (w = void 0), (_ = void 0);
+ }
+ },
+ OperationElement: {
+ leave(s, o, x, C, j) {
+ if (j.some(i.isComponentsElement)) return;
+ const L = u([...j, x, s]);
+ if (w.includes(L)) return;
+ var B;
+ void 0 === s.security &&
+ void 0 !== _ &&
+ ((s.security = new Sv(
+ null === (B = _) || void 0 === B ? void 0 : B.content
+ )),
+ w.append(L));
+ }
+ }
+ }
+ };
+ },
+ normalize_parameter_examples =
+ ({ storageField: s = 'x-normalized' } = {}) =>
+ (o) => {
+ const { predicates: i, ancestorLineageToJSONPointer: u } = o;
+ let _;
+ return {
+ visitor: {
+ OpenApi3_1Element: {
+ enter(o) {
+ _ = new wS(o, s, 'parameter-examples');
+ },
+ leave() {
+ _ = void 0;
+ }
+ },
+ ParameterElement: {
+ leave(s, o, w, x, C) {
+ var j, L;
+ if (C.some(i.isComponentsElement)) return;
+ if (void 0 === s.schema || !i.isSchemaElement(s.schema)) return;
+ if (
+ void 0 === (null === (j = s.schema) || void 0 === j ? void 0 : j.example) &&
+ void 0 === (null === (L = s.schema) || void 0 === L ? void 0 : L.examples)
+ )
+ return;
+ const B = u([...C, w, s]);
+ if (!_.includes(B)) {
+ if (void 0 !== s.examples && i.isObjectElement(s.examples)) {
+ const o = s.examples.map((s) => cloneDeep.safe(s.value));
+ return (
+ void 0 !== s.schema.examples &&
+ (s.schema.set('examples', o), _.append(B)),
+ void (
+ void 0 !== s.schema.example &&
+ (s.schema.set('example', o[0]), _.append(B))
+ )
+ );
+ }
+ void 0 !== s.example &&
+ (void 0 !== s.schema.examples &&
+ (s.schema.set('examples', [cloneDeep(s.example)]), _.append(B)),
+ void 0 !== s.schema.example &&
+ (s.schema.set('example', cloneDeep(s.example)), _.append(B)));
+ }
+ }
+ }
+ }
+ };
+ },
+ normalize_header_examples =
+ ({ storageField: s = 'x-normalized' } = {}) =>
+ (o) => {
+ const { predicates: i, ancestorLineageToJSONPointer: u } = o;
+ let _;
+ return {
+ visitor: {
+ OpenApi3_1Element: {
+ enter(o) {
+ _ = new wS(o, s, 'header-examples');
+ },
+ leave() {
+ _ = void 0;
+ }
+ },
+ HeaderElement: {
+ leave(s, o, w, x, C) {
+ var j, L;
+ if (C.some(i.isComponentsElement)) return;
+ if (void 0 === s.schema || !i.isSchemaElement(s.schema)) return;
+ if (
+ void 0 === (null === (j = s.schema) || void 0 === j ? void 0 : j.example) &&
+ void 0 === (null === (L = s.schema) || void 0 === L ? void 0 : L.examples)
+ )
+ return;
+ const B = u([...C, w, s]);
+ if (!_.includes(B)) {
+ if (void 0 !== s.examples && i.isObjectElement(s.examples)) {
+ const o = s.examples.map((s) => cloneDeep.safe(s.value));
+ return (
+ void 0 !== s.schema.examples &&
+ (s.schema.set('examples', o), _.append(B)),
+ void (
+ void 0 !== s.schema.example &&
+ (s.schema.set('example', o[0]), _.append(B))
+ )
+ );
+ }
+ void 0 !== s.example &&
+ (void 0 !== s.schema.examples &&
+ (s.schema.set('examples', [cloneDeep(s.example)]), _.append(B)),
+ void 0 !== s.schema.example &&
+ (s.schema.set('example', cloneDeep(s.example)), _.append(B)));
+ }
+ }
+ }
+ }
+ };
+ },
+ openapi_3_1_apidom_normalize = (s) => {
+ if (!Fu(s)) return s;
+ const o = [
+ normalize_operation_ids({
+ operationIdNormalizer: (s, o, i) =>
+ opId({ operationId: s }, o, i, { v2OperationIdCompatibilityMode: !1 })
+ }),
+ normalize_parameters(),
+ normalize_security_requirements(),
+ normalize_parameter_examples(),
+ normalize_header_examples()
+ ];
+ return dispatchPluginsSync(s, o, {
+ toolboxCreator: apidom_ns_openapi_3_1_es_refractor_toolbox,
+ visitorOptions: {
+ keyMap: nw,
+ nodeTypeGetter: apidom_ns_openapi_3_1_es_traversal_visitor_getNodeType
+ }
+ });
+ },
+ CS = {
+ name: 'openapi-3-1-apidom',
+ match: (s) => isOpenAPI31(s),
+ normalize(s) {
+ if (!Nu(s) && ku(s) && !s.$$normalized) {
+ const i = ((o = openapi_3_1_apidom_normalize),
+ (s) => {
+ const i = wb.refract(s);
+ i.classes.push('result');
+ const u = o(i),
+ _ = serializers_value(u);
+ return yS.cache.set(_, u), serializers_value(u);
+ })(s);
+ return (i.$$normalized = !0), i;
+ }
+ var o;
+ return Nu(s) ? openapi_3_1_apidom_normalize(s) : s;
+ },
+ resolve: async (s) => yS(s)
+ },
+ OS = CS,
+ makeResolve = (s) => async (o) =>
+ (async (s) => {
+ const { spec: o, requestInterceptor: i, responseInterceptor: u } = s,
+ _ = options_retrievalURI(s),
+ w = options_httpClient(s),
+ x =
+ o ||
+ (await makeFetchJSON(w, { requestInterceptor: i, responseInterceptor: u })(_)),
+ C = { ...s, spec: x };
+ return s.strategies.find((s) => s.match(x)).resolve(C);
+ })({ ...s, ...o }),
+ AS = makeResolve({ strategies: [fu, hu, uu] });
+ var jS = __webpack_require__(69883);
+ const IS = function fnparser() {
+ const s = TS,
+ o = MS,
+ i = this,
+ u = 'parser.js: Parser(): ';
+ (i.ast = void 0), (i.stats = void 0), (i.trace = void 0), (i.callbacks = []);
+ let _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B,
+ $ = 0,
+ V = 0,
+ U = 0,
+ z = 0,
+ Y = 0,
+ Z = new (function systemData() {
+ (this.state = s.ACTIVE),
+ (this.phraseLength = 0),
+ (this.refresh = () => {
+ (this.state = s.ACTIVE), (this.phraseLength = 0);
+ });
+ })();
+ i.parse = (ee, ie, ae, le) => {
+ const ce = `${u}parse(): `;
+ ($ = 0),
+ (V = 0),
+ (U = 0),
+ (z = 0),
+ (Y = 0),
+ (_ = void 0),
+ (w = void 0),
+ (x = void 0),
+ (C = void 0),
+ Z.refresh(),
+ (j = void 0),
+ (L = void 0),
+ (B = void 0),
+ (C = o.stringToChars(ae)),
+ (_ = ee.rules),
+ (w = ee.udts);
+ const pe = ie.toLowerCase();
+ let de;
+ for (const s in _)
+ if (_.hasOwnProperty(s) && pe === _[s].lower) {
+ de = _[s].index;
+ break;
+ }
+ if (void 0 === de)
+ throw new Error(`${ce}start rule name '${startRule}' not recognized`);
+ (() => {
+ const s = `${u}initializeCallbacks(): `;
+ let o, x;
+ for (j = [], L = [], o = 0; o < _.length; o += 1) j[o] = void 0;
+ for (o = 0; o < w.length; o += 1) L[o] = void 0;
+ const C = [];
+ for (o = 0; o < _.length; o += 1) C.push(_[o].lower);
+ for (o = 0; o < w.length; o += 1) C.push(w[o].lower);
+ for (const u in i.callbacks)
+ if (i.callbacks.hasOwnProperty(u)) {
+ if (((o = C.indexOf(u.toLowerCase())), o < 0))
+ throw new Error(`${s}syntax callback '${u}' not a rule or udt name`);
+ if (
+ ((x = i.callbacks[u] ? i.callbacks[u] : void 0),
+ 'function' != typeof x && void 0 !== x)
+ )
+ throw new Error(
+ `${s}syntax callback[${u}] must be function reference or falsy)`
+ );
+ o < _.length ? (j[o] = x) : (L[o - _.length] = x);
+ }
+ })(),
+ i.trace && i.trace.init(_, w, C),
+ i.stats && i.stats.init(_, w),
+ i.ast && i.ast.init(_, w, C),
+ (B = le),
+ (x = [{ type: s.RNM, index: de }]),
+ opExecute(0, 0),
+ (x = void 0);
+ let fe = !1;
+ switch (Z.state) {
+ case s.ACTIVE:
+ throw new Error(`${ce}final state should never be 'ACTIVE'`);
+ case s.NOMATCH:
+ fe = !1;
+ break;
+ case s.EMPTY:
+ case s.MATCH:
+ fe = Z.phraseLength === C.length;
+ break;
+ default:
+ throw new Error('unrecognized state');
+ }
+ return {
+ success: fe,
+ state: Z.state,
+ stateName: s.idName(Z.state),
+ length: C.length,
+ matched: Z.phraseLength,
+ maxMatched: Y,
+ maxTreeDepth: U,
+ nodeHits: z
+ };
+ };
+ const validateRnmCallbackResult = (o, i, _, w) => {
+ if (i.phraseLength > _) {
+ let s = `${u}opRNM(${o.name}): callback function error: `;
+ throw (
+ ((s += `sysData.phraseLength: ${i.phraseLength}`),
+ (s += ` must be <= remaining chars: ${_}`),
+ new Error(s))
+ );
+ }
+ switch (i.state) {
+ case s.ACTIVE:
+ if (!w)
+ throw new Error(
+ `${u}opRNM(${o.name}): callback function return error. ACTIVE state not allowed.`
+ );
+ break;
+ case s.EMPTY:
+ i.phraseLength = 0;
+ break;
+ case s.MATCH:
+ 0 === i.phraseLength && (i.state = s.EMPTY);
+ break;
+ case s.NOMATCH:
+ i.phraseLength = 0;
+ break;
+ default:
+ throw new Error(
+ `${u}opRNM(${o.name}): callback function return error. Unrecognized return state: ${i.state}`
+ );
+ }
+ },
+ opUDT = (o, j) => {
+ let V, U, z;
+ const Y = x[o],
+ ee = w[Y.index];
+ (Z.UdtIndex = ee.index),
+ $ ||
+ ((z = i.ast && i.ast.udtDefined(Y.index)),
+ z &&
+ ((U = _.length + Y.index), (V = i.ast.getLength()), i.ast.down(U, ee.name)));
+ const ie = C.length - j;
+ L[Y.index](Z, C, j, B),
+ ((o, i, _) => {
+ if (i.phraseLength > _) {
+ let s = `${u}opUDT(${o.name}): callback function error: `;
+ throw (
+ ((s += `sysData.phraseLength: ${i.phraseLength}`),
+ (s += ` must be <= remaining chars: ${_}`),
+ new Error(s))
+ );
+ }
+ switch (i.state) {
+ case s.ACTIVE:
+ throw new Error(`${u}opUDT(${o.name}) ACTIVE state return not allowed.`);
+ case s.EMPTY:
+ if (!o.empty) throw new Error(`${u}opUDT(${o.name}) may not return EMPTY.`);
+ i.phraseLength = 0;
+ break;
+ case s.MATCH:
+ if (0 === i.phraseLength) {
+ if (!o.empty)
+ throw new Error(`${u}opUDT(${o.name}) may not return EMPTY.`);
+ i.state = s.EMPTY;
+ }
+ break;
+ case s.NOMATCH:
+ i.phraseLength = 0;
+ break;
+ default:
+ throw new Error(
+ `${u}opUDT(${o.name}): callback function return error. Unrecognized return state: ${i.state}`
+ );
+ }
+ })(ee, Z, ie),
+ $ ||
+ (z &&
+ (Z.state === s.NOMATCH
+ ? i.ast.setLength(V)
+ : i.ast.up(U, ee.name, j, Z.phraseLength)));
+ },
+ opExecute = (o, w) => {
+ const L = `${u}opExecute(): `,
+ ee = x[o];
+ switch (
+ ((z += 1),
+ V > U && (U = V),
+ (V += 1),
+ Z.refresh(),
+ i.trace && i.trace.down(ee, w),
+ ee.type)
+ ) {
+ case s.ALT:
+ ((o, i) => {
+ const u = x[o];
+ for (
+ let o = 0;
+ o < u.children.length &&
+ (opExecute(u.children[o], i), Z.state === s.NOMATCH);
+ o += 1
+ );
+ })(o, w);
+ break;
+ case s.CAT:
+ ((o, u) => {
+ let _, w, C, j;
+ const L = x[o];
+ i.ast && (w = i.ast.getLength()), (_ = !0), (C = u), (j = 0);
+ for (let o = 0; o < L.children.length; o += 1) {
+ if ((opExecute(L.children[o], C), Z.state === s.NOMATCH)) {
+ _ = !1;
+ break;
+ }
+ (C += Z.phraseLength), (j += Z.phraseLength);
+ }
+ _
+ ? ((Z.state = 0 === j ? s.EMPTY : s.MATCH), (Z.phraseLength = j))
+ : ((Z.state = s.NOMATCH),
+ (Z.phraseLength = 0),
+ i.ast && i.ast.setLength(w));
+ })(o, w);
+ break;
+ case s.REP:
+ ((o, u) => {
+ let _, w, j, L;
+ const B = x[o];
+ if (0 === B.max) return (Z.state = s.EMPTY), void (Z.phraseLength = 0);
+ for (
+ w = u, j = 0, L = 0, i.ast && (_ = i.ast.getLength());
+ !(w >= C.length) &&
+ (opExecute(o + 1, w), Z.state !== s.NOMATCH) &&
+ Z.state !== s.EMPTY &&
+ ((L += 1), (j += Z.phraseLength), (w += Z.phraseLength), L !== B.max);
+
+ );
+ Z.state === s.EMPTY || L >= B.min
+ ? ((Z.state = 0 === j ? s.EMPTY : s.MATCH), (Z.phraseLength = j))
+ : ((Z.state = s.NOMATCH),
+ (Z.phraseLength = 0),
+ i.ast && i.ast.setLength(_));
+ })(o, w);
+ break;
+ case s.RNM:
+ ((o, u) => {
+ let w, L, V;
+ const U = x[o],
+ z = _[U.index],
+ Y = j[z.index];
+ if (
+ ($ ||
+ ((L = i.ast && i.ast.ruleDefined(U.index)),
+ L && ((w = i.ast.getLength()), i.ast.down(U.index, _[U.index].name))),
+ Y)
+ ) {
+ const o = C.length - u;
+ Y(Z, C, u, B),
+ validateRnmCallbackResult(z, Z, o, !0),
+ Z.state === s.ACTIVE &&
+ ((V = x),
+ (x = z.opcodes),
+ opExecute(0, u),
+ (x = V),
+ Y(Z, C, u, B),
+ validateRnmCallbackResult(z, Z, o, !1));
+ } else (V = x), (x = z.opcodes), opExecute(0, u, Z), (x = V);
+ $ ||
+ (L &&
+ (Z.state === s.NOMATCH
+ ? i.ast.setLength(w)
+ : i.ast.up(U.index, z.name, u, Z.phraseLength)));
+ })(o, w);
+ break;
+ case s.TRG:
+ ((o, i) => {
+ const u = x[o];
+ (Z.state = s.NOMATCH),
+ i < C.length &&
+ u.min <= C[i] &&
+ C[i] <= u.max &&
+ ((Z.state = s.MATCH), (Z.phraseLength = 1));
+ })(o, w);
+ break;
+ case s.TBS:
+ ((o, i) => {
+ const u = x[o],
+ _ = u.string.length;
+ if (((Z.state = s.NOMATCH), i + _ <= C.length)) {
+ for (let s = 0; s < _; s += 1) if (C[i + s] !== u.string[s]) return;
+ (Z.state = s.MATCH), (Z.phraseLength = _);
+ }
+ })(o, w);
+ break;
+ case s.TLS:
+ ((o, i) => {
+ let u;
+ const _ = x[o];
+ Z.state = s.NOMATCH;
+ const w = _.string.length;
+ if (0 !== w) {
+ if (i + w <= C.length) {
+ for (let s = 0; s < w; s += 1)
+ if (
+ ((u = C[i + s]), u >= 65 && u <= 90 && (u += 32), u !== _.string[s])
+ )
+ return;
+ (Z.state = s.MATCH), (Z.phraseLength = w);
+ }
+ } else Z.state = s.EMPTY;
+ })(o, w);
+ break;
+ case s.UDT:
+ opUDT(o, w);
+ break;
+ case s.AND:
+ ((o, i) => {
+ switch (
+ (($ += 1), opExecute(o + 1, i), ($ -= 1), (Z.phraseLength = 0), Z.state)
+ ) {
+ case s.EMPTY:
+ case s.MATCH:
+ Z.state = s.EMPTY;
+ break;
+ case s.NOMATCH:
+ Z.state = s.NOMATCH;
+ break;
+ default:
+ throw new Error(`opAND: invalid state ${Z.state}`);
+ }
+ })(o, w);
+ break;
+ case s.NOT:
+ ((o, i) => {
+ switch (
+ (($ += 1), opExecute(o + 1, i), ($ -= 1), (Z.phraseLength = 0), Z.state)
+ ) {
+ case s.EMPTY:
+ case s.MATCH:
+ Z.state = s.NOMATCH;
+ break;
+ case s.NOMATCH:
+ Z.state = s.EMPTY;
+ break;
+ default:
+ throw new Error(`opNOT: invalid state ${Z.state}`);
+ }
+ })(o, w);
+ break;
+ default:
+ throw new Error(`${L}unrecognized operator`);
+ }
+ $ || (w + Z.phraseLength > Y && (Y = w + Z.phraseLength)),
+ i.stats && i.stats.collect(ee, Z),
+ i.trace && i.trace.up(ee, Z.state, w, Z.phraseLength),
+ (V -= 1);
+ };
+ },
+ PS = function fnast() {
+ const s = TS,
+ o = MS,
+ i = this;
+ let u,
+ _,
+ w,
+ x = 0;
+ const C = [],
+ j = [],
+ L = [];
+ function indent(s) {
+ let o = '';
+ for (; s-- > 0; ) o += ' ';
+ return o;
+ }
+ (i.callbacks = []),
+ (i.init = (s, o, B) => {
+ let $;
+ (j.length = 0), (L.length = 0), (x = 0), (u = s), (_ = o), (w = B);
+ const V = [];
+ for ($ = 0; $ < u.length; $ += 1) V.push(u[$].lower);
+ for ($ = 0; $ < _.length; $ += 1) V.push(_[$].lower);
+ for (x = u.length + _.length, $ = 0; $ < x; $ += 1) C[$] = void 0;
+ for (const s in i.callbacks)
+ if (i.callbacks.hasOwnProperty(s)) {
+ const o = s.toLowerCase();
+ if ((($ = V.indexOf(o)), $ < 0))
+ throw new Error(
+ `parser.js: Ast()): init: node '${s}' not a rule or udt name`
+ );
+ C[$] = i.callbacks[s];
+ }
+ }),
+ (i.ruleDefined = (s) => !!C[s]),
+ (i.udtDefined = (s) => !!C[u.length + s]),
+ (i.down = (o, i) => {
+ const u = L.length;
+ return (
+ j.push(u),
+ L.push({
+ name: i,
+ thisIndex: u,
+ thatIndex: void 0,
+ state: s.SEM_PRE,
+ callbackIndex: o,
+ phraseIndex: void 0,
+ phraseLength: void 0,
+ stack: j.length
+ }),
+ u
+ );
+ }),
+ (i.up = (o, i, u, _) => {
+ const w = L.length,
+ x = j.pop();
+ return (
+ L.push({
+ name: i,
+ thisIndex: w,
+ thatIndex: x,
+ state: s.SEM_POST,
+ callbackIndex: o,
+ phraseIndex: u,
+ phraseLength: _,
+ stack: j.length
+ }),
+ (L[x].thatIndex = w),
+ (L[x].phraseIndex = u),
+ (L[x].phraseLength = _),
+ w
+ );
+ }),
+ (i.translate = (o) => {
+ let i, u;
+ for (let _ = 0; _ < L.length; _ += 1)
+ (u = L[_]),
+ (i = C[u.callbackIndex]),
+ i &&
+ (u.state === s.SEM_PRE
+ ? i(s.SEM_PRE, w, u.phraseIndex, u.phraseLength, o)
+ : i && i(s.SEM_POST, w, u.phraseIndex, u.phraseLength, o));
+ }),
+ (i.setLength = (s) => {
+ (L.length = s), (j.length = s > 0 ? L[s - 1].stack : 0);
+ }),
+ (i.getLength = () => L.length),
+ (i.toXml = () => {
+ let i = '',
+ u = 0;
+ return (
+ (i += '\n'),
+ (i += `\n`),
+ (i += '\x3c!-- input string --\x3e\n'),
+ (i += indent(u + 2)),
+ (i += o.charsToString(w)),
+ (i += '\n'),
+ L.forEach((_) => {
+ _.state === s.SEM_PRE
+ ? ((u += 1),
+ (i += indent(u)),
+ (i += `\n`),
+ (i += indent(u + 2)),
+ (i += o.charsToString(w, _.phraseIndex, _.phraseLength)),
+ (i += '\n'))
+ : ((i += indent(u)),
+ (i += ` \x3c!-- name="${_.name}" --\x3e\n`),
+ (u -= 1));
+ }),
+ (i += ' \n'),
+ i
+ );
+ });
+ },
+ MS = {
+ stringToChars: (s) => [...s].map((s) => s.codePointAt(0)),
+ charsToString: (s, o, i) => {
+ let u = s;
+ for (; !(void 0 === o || o < 0); ) {
+ if (void 0 === i) {
+ u = s.slice(o);
+ break;
+ }
+ if (i <= 0) return '';
+ u = s.slice(o, o + i);
+ break;
+ }
+ return String.fromCodePoint(...u);
+ }
+ },
+ TS = {
+ ALT: 1,
+ CAT: 2,
+ REP: 3,
+ RNM: 4,
+ TRG: 5,
+ TBS: 6,
+ TLS: 7,
+ UDT: 11,
+ AND: 12,
+ NOT: 13,
+ ACTIVE: 100,
+ MATCH: 101,
+ EMPTY: 102,
+ NOMATCH: 103,
+ SEM_PRE: 200,
+ SEM_POST: 201,
+ SEM_OK: 300,
+ idName: (s) => {
+ switch (s) {
+ case TS.ALT:
+ return 'ALT';
+ case TS.CAT:
+ return 'CAT';
+ case TS.REP:
+ return 'REP';
+ case TS.RNM:
+ return 'RNM';
+ case TS.TRG:
+ return 'TRG';
+ case TS.TBS:
+ return 'TBS';
+ case TS.TLS:
+ return 'TLS';
+ case TS.UDT:
+ return 'UDT';
+ case TS.AND:
+ return 'AND';
+ case TS.NOT:
+ return 'NOT';
+ case TS.ACTIVE:
+ return 'ACTIVE';
+ case TS.EMPTY:
+ return 'EMPTY';
+ case TS.MATCH:
+ return 'MATCH';
+ case TS.NOMATCH:
+ return 'NOMATCH';
+ case TS.SEM_PRE:
+ return 'SEM_PRE';
+ case TS.SEM_POST:
+ return 'SEM_POST';
+ case TS.SEM_OK:
+ return 'SEM_OK';
+ default:
+ return 'UNRECOGNIZED STATE';
+ }
+ }
+ };
+ const server_url_template = (s, o, i, u, _) => {
+ if (s === TS.SEM_PRE) {
+ if (!1 === Array.isArray(_)) throw new Error("parser's user data must be an array");
+ _.push(['server-url-template', MS.charsToString(o, i, u)]);
+ }
+ return TS.SEM_OK;
+ },
+ callbacks_server_variable = (s, o, i, u, _) => {
+ if (s === TS.SEM_PRE) {
+ if (!1 === Array.isArray(_)) throw new Error("parser's user data must be an array");
+ _.push(['server-variable', MS.charsToString(o, i, u)]);
+ }
+ return TS.SEM_OK;
+ },
+ server_variable_name = (s, o, i, u, _) => {
+ if (s === TS.SEM_PRE) {
+ if (!1 === Array.isArray(_)) throw new Error("parser's user data must be an array");
+ _.push(['server-variable-name', MS.charsToString(o, i, u)]);
+ }
+ return TS.SEM_OK;
+ },
+ callbacks_literals = (s, o, i, u, _) => {
+ if (s === TS.SEM_PRE) {
+ if (!1 === Array.isArray(_)) throw new Error("parser's user data must be an array");
+ _.push(['literals', MS.charsToString(o, i, u)]);
+ }
+ return TS.SEM_OK;
+ },
+ NS = new (function grammar() {
+ (this.grammarObject = 'grammarObject'),
+ (this.rules = []),
+ (this.rules[0] = {
+ name: 'server-url-template',
+ lower: 'server-url-template',
+ index: 0,
+ isBkr: !1
+ }),
+ (this.rules[1] = {
+ name: 'server-variable',
+ lower: 'server-variable',
+ index: 1,
+ isBkr: !1
+ }),
+ (this.rules[2] = {
+ name: 'server-variable-name',
+ lower: 'server-variable-name',
+ index: 2,
+ isBkr: !1
+ }),
+ (this.rules[3] = { name: 'literals', lower: 'literals', index: 3, isBkr: !1 }),
+ (this.rules[4] = { name: 'ALPHA', lower: 'alpha', index: 4, isBkr: !1 }),
+ (this.rules[5] = { name: 'DIGIT', lower: 'digit', index: 5, isBkr: !1 }),
+ (this.rules[6] = { name: 'HEXDIG', lower: 'hexdig', index: 6, isBkr: !1 }),
+ (this.rules[7] = { name: 'pct-encoded', lower: 'pct-encoded', index: 7, isBkr: !1 }),
+ (this.rules[8] = { name: 'unreserved', lower: 'unreserved', index: 8, isBkr: !1 }),
+ (this.rules[9] = { name: 'sub-delims', lower: 'sub-delims', index: 9, isBkr: !1 }),
+ (this.rules[10] = { name: 'ucschar', lower: 'ucschar', index: 10, isBkr: !1 }),
+ (this.rules[11] = { name: 'iprivate', lower: 'iprivate', index: 11, isBkr: !1 }),
+ (this.udts = []),
+ (this.rules[0].opcodes = []),
+ (this.rules[0].opcodes[0] = { type: 3, min: 1, max: 1 / 0 }),
+ (this.rules[0].opcodes[1] = { type: 1, children: [2, 3] }),
+ (this.rules[0].opcodes[2] = { type: 4, index: 3 }),
+ (this.rules[0].opcodes[3] = { type: 4, index: 1 }),
+ (this.rules[1].opcodes = []),
+ (this.rules[1].opcodes[0] = { type: 2, children: [1, 2, 3] }),
+ (this.rules[1].opcodes[1] = { type: 7, string: [123] }),
+ (this.rules[1].opcodes[2] = { type: 4, index: 2 }),
+ (this.rules[1].opcodes[3] = { type: 7, string: [125] }),
+ (this.rules[2].opcodes = []),
+ (this.rules[2].opcodes[0] = { type: 3, min: 1, max: 1 / 0 }),
+ (this.rules[2].opcodes[1] = { type: 1, children: [2, 3, 4, 5, 6] }),
+ (this.rules[2].opcodes[2] = { type: 4, index: 8 }),
+ (this.rules[2].opcodes[3] = { type: 4, index: 7 }),
+ (this.rules[2].opcodes[4] = { type: 4, index: 9 }),
+ (this.rules[2].opcodes[5] = { type: 7, string: [58] }),
+ (this.rules[2].opcodes[6] = { type: 7, string: [64] }),
+ (this.rules[3].opcodes = []),
+ (this.rules[3].opcodes[0] = { type: 3, min: 1, max: 1 / 0 }),
+ (this.rules[3].opcodes[1] = {
+ type: 1,
+ children: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
+ }),
+ (this.rules[3].opcodes[2] = { type: 6, string: [33] }),
+ (this.rules[3].opcodes[3] = { type: 5, min: 35, max: 36 }),
+ (this.rules[3].opcodes[4] = { type: 6, string: [38] }),
+ (this.rules[3].opcodes[5] = { type: 5, min: 40, max: 59 }),
+ (this.rules[3].opcodes[6] = { type: 6, string: [61] }),
+ (this.rules[3].opcodes[7] = { type: 5, min: 63, max: 91 }),
+ (this.rules[3].opcodes[8] = { type: 6, string: [93] }),
+ (this.rules[3].opcodes[9] = { type: 6, string: [95] }),
+ (this.rules[3].opcodes[10] = { type: 5, min: 97, max: 122 }),
+ (this.rules[3].opcodes[11] = { type: 6, string: [126] }),
+ (this.rules[3].opcodes[12] = { type: 4, index: 10 }),
+ (this.rules[3].opcodes[13] = { type: 4, index: 11 }),
+ (this.rules[3].opcodes[14] = { type: 4, index: 7 }),
+ (this.rules[4].opcodes = []),
+ (this.rules[4].opcodes[0] = { type: 1, children: [1, 2] }),
+ (this.rules[4].opcodes[1] = { type: 5, min: 65, max: 90 }),
+ (this.rules[4].opcodes[2] = { type: 5, min: 97, max: 122 }),
+ (this.rules[5].opcodes = []),
+ (this.rules[5].opcodes[0] = { type: 5, min: 48, max: 57 }),
+ (this.rules[6].opcodes = []),
+ (this.rules[6].opcodes[0] = { type: 1, children: [1, 2, 3, 4, 5, 6, 7] }),
+ (this.rules[6].opcodes[1] = { type: 4, index: 5 }),
+ (this.rules[6].opcodes[2] = { type: 7, string: [97] }),
+ (this.rules[6].opcodes[3] = { type: 7, string: [98] }),
+ (this.rules[6].opcodes[4] = { type: 7, string: [99] }),
+ (this.rules[6].opcodes[5] = { type: 7, string: [100] }),
+ (this.rules[6].opcodes[6] = { type: 7, string: [101] }),
+ (this.rules[6].opcodes[7] = { type: 7, string: [102] }),
+ (this.rules[7].opcodes = []),
+ (this.rules[7].opcodes[0] = { type: 2, children: [1, 2, 3] }),
+ (this.rules[7].opcodes[1] = { type: 7, string: [37] }),
+ (this.rules[7].opcodes[2] = { type: 4, index: 6 }),
+ (this.rules[7].opcodes[3] = { type: 4, index: 6 }),
+ (this.rules[8].opcodes = []),
+ (this.rules[8].opcodes[0] = { type: 1, children: [1, 2, 3, 4, 5, 6] }),
+ (this.rules[8].opcodes[1] = { type: 4, index: 4 }),
+ (this.rules[8].opcodes[2] = { type: 4, index: 5 }),
+ (this.rules[8].opcodes[3] = { type: 7, string: [45] }),
+ (this.rules[8].opcodes[4] = { type: 7, string: [46] }),
+ (this.rules[8].opcodes[5] = { type: 7, string: [95] }),
+ (this.rules[8].opcodes[6] = { type: 7, string: [126] }),
+ (this.rules[9].opcodes = []),
+ (this.rules[9].opcodes[0] = {
+ type: 1,
+ children: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
+ }),
+ (this.rules[9].opcodes[1] = { type: 7, string: [33] }),
+ (this.rules[9].opcodes[2] = { type: 7, string: [36] }),
+ (this.rules[9].opcodes[3] = { type: 7, string: [38] }),
+ (this.rules[9].opcodes[4] = { type: 7, string: [39] }),
+ (this.rules[9].opcodes[5] = { type: 7, string: [40] }),
+ (this.rules[9].opcodes[6] = { type: 7, string: [41] }),
+ (this.rules[9].opcodes[7] = { type: 7, string: [42] }),
+ (this.rules[9].opcodes[8] = { type: 7, string: [43] }),
+ (this.rules[9].opcodes[9] = { type: 7, string: [44] }),
+ (this.rules[9].opcodes[10] = { type: 7, string: [59] }),
+ (this.rules[9].opcodes[11] = { type: 7, string: [61] }),
+ (this.rules[10].opcodes = []),
+ (this.rules[10].opcodes[0] = {
+ type: 1,
+ children: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
+ }),
+ (this.rules[10].opcodes[1] = { type: 5, min: 160, max: 55295 }),
+ (this.rules[10].opcodes[2] = { type: 5, min: 63744, max: 64975 }),
+ (this.rules[10].opcodes[3] = { type: 5, min: 65008, max: 65519 }),
+ (this.rules[10].opcodes[4] = { type: 5, min: 65536, max: 131069 }),
+ (this.rules[10].opcodes[5] = { type: 5, min: 131072, max: 196605 }),
+ (this.rules[10].opcodes[6] = { type: 5, min: 196608, max: 262141 }),
+ (this.rules[10].opcodes[7] = { type: 5, min: 262144, max: 327677 }),
+ (this.rules[10].opcodes[8] = { type: 5, min: 327680, max: 393213 }),
+ (this.rules[10].opcodes[9] = { type: 5, min: 393216, max: 458749 }),
+ (this.rules[10].opcodes[10] = { type: 5, min: 458752, max: 524285 }),
+ (this.rules[10].opcodes[11] = { type: 5, min: 524288, max: 589821 }),
+ (this.rules[10].opcodes[12] = { type: 5, min: 589824, max: 655357 }),
+ (this.rules[10].opcodes[13] = { type: 5, min: 655360, max: 720893 }),
+ (this.rules[10].opcodes[14] = { type: 5, min: 720896, max: 786429 }),
+ (this.rules[10].opcodes[15] = { type: 5, min: 786432, max: 851965 }),
+ (this.rules[10].opcodes[16] = { type: 5, min: 851968, max: 917501 }),
+ (this.rules[10].opcodes[17] = { type: 5, min: 921600, max: 983037 }),
+ (this.rules[11].opcodes = []),
+ (this.rules[11].opcodes[0] = { type: 1, children: [1, 2, 3] }),
+ (this.rules[11].opcodes[1] = { type: 5, min: 57344, max: 63743 }),
+ (this.rules[11].opcodes[2] = { type: 5, min: 983040, max: 1048573 }),
+ (this.rules[11].opcodes[3] = { type: 5, min: 1048576, max: 1114109 }),
+ (this.toString = function toString() {
+ let s = '';
+ return (
+ (s += '; OpenAPI Server URL templating ABNF syntax\n'),
+ (s += 'server-url-template = 1*( literals / server-variable )\n'),
+ (s += 'server-variable = "{" server-variable-name "}"\n'),
+ (s +=
+ 'server-variable-name = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" )\n'),
+ (s +=
+ 'literals = 1*( %x21 / %x23-24 / %x26 / %x28-3B / %x3D / %x3F-5B\n'),
+ (s +=
+ ' / %x5D / %x5F / %x61-7A / %x7E / ucschar / iprivate\n'),
+ (s += ' / pct-encoded)\n'),
+ (s += ' ; any Unicode character except: CTL, SP,\n'),
+ (s +=
+ ' ; DQUOTE, "\'", "%" (aside from pct-encoded),\n'),
+ (s += ' ; "<", ">", "\\", "^", "`", "{", "|", "}"\n'),
+ (s += '\n'),
+ (s += '; Characters definitions (from RFC 6570)\n'),
+ (s += 'ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n'),
+ (s += 'DIGIT = %x30-39 ; 0-9\n'),
+ (s += 'HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n'),
+ (s += ' ; case-insensitive\n'),
+ (s += '\n'),
+ (s += 'pct-encoded = "%" HEXDIG HEXDIG\n'),
+ (s += 'unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"\n'),
+ (s += 'sub-delims = "!" / "$" / "&" / "\'" / "(" / ")"\n'),
+ (s += ' / "*" / "+" / "," / ";" / "="\n'),
+ (s += '\n'),
+ (s += 'ucschar = %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF\n'),
+ (s += ' / %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD\n'),
+ (s += ' / %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD\n'),
+ (s += ' / %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD\n'),
+ (s += ' / %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD\n'),
+ (s += ' / %xD0000-DFFFD / %xE1000-EFFFD\n'),
+ (s += '\n'),
+ (s += 'iprivate = %xE000-F8FF / %xF0000-FFFFD / %x100000-10FFFD\n'),
+ '; OpenAPI Server URL templating ABNF syntax\nserver-url-template = 1*( literals / server-variable )\nserver-variable = "{" server-variable-name "}"\nserver-variable-name = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" )\nliterals = 1*( %x21 / %x23-24 / %x26 / %x28-3B / %x3D / %x3F-5B\n / %x5D / %x5F / %x61-7A / %x7E / ucschar / iprivate\n / pct-encoded)\n ; any Unicode character except: CTL, SP,\n ; DQUOTE, "\'", "%" (aside from pct-encoded),\n ; "<", ">", "\\", "^", "`", "{", "|", "}"\n\n; Characters definitions (from RFC 6570)\nALPHA = %x41-5A / %x61-7A ; A-Z / a-z\nDIGIT = %x30-39 ; 0-9\nHEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n ; case-insensitive\n\npct-encoded = "%" HEXDIG HEXDIG\nunreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"\nsub-delims = "!" / "$" / "&" / "\'" / "(" / ")"\n / "*" / "+" / "," / ";" / "="\n\nucschar = %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF\n / %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD\n / %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD\n / %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD\n / %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD\n / %xD0000-DFFFD / %xE1000-EFFFD\n\niprivate = %xE000-F8FF / %xF0000-FFFFD / %x100000-10FFFD\n'
+ );
+ });
+ })(),
+ openapi_server_url_templating_es_parse = (s) => {
+ const o = new IS();
+ (o.ast = new PS()),
+ (o.ast.callbacks['server-url-template'] = server_url_template),
+ (o.ast.callbacks['server-variable'] = callbacks_server_variable),
+ (o.ast.callbacks['server-variable-name'] = server_variable_name),
+ (o.ast.callbacks.literals = callbacks_literals);
+ return { result: o.parse(NS, 'server-url-template', s), ast: o.ast };
+ },
+ openapi_server_url_templating_es_test = (s, { strict: o = !1 } = {}) => {
+ try {
+ const i = openapi_server_url_templating_es_parse(s);
+ if (!i.result.success) return !1;
+ const u = [];
+ i.ast.translate(u);
+ const _ = u.some(([s]) => 'server-variable' === s);
+ if (!o && !_)
+ try {
+ return new URL(s, 'https://vladimirgorej.com'), !0;
+ } catch {
+ return !1;
+ }
+ return !o || _;
+ } catch {
+ return !1;
+ }
+ },
+ encodeServerVariable = (s) =>
+ ((s) => {
+ try {
+ return 'string' == typeof s && decodeURIComponent(s) !== s;
+ } catch {
+ return !1;
+ }
+ })(s)
+ ? s
+ : encodeURIComponent(s).replace(/%5B/g, '[').replace(/%5D/g, ']'),
+ RS = ['literals', 'server-variable-name'],
+ es_substitute = (s, o, i = {}) => {
+ const u = { ...{ encoder: encodeServerVariable }, ...i },
+ _ = openapi_server_url_templating_es_parse(s);
+ if (!_.result.success) return s;
+ const w = [];
+ _.ast.translate(w);
+ const x = w
+ .filter(([s]) => RS.includes(s))
+ .map(([s, i]) =>
+ 'server-variable-name' === s
+ ? Object.hasOwn(o, i)
+ ? u.encoder(o[i], i)
+ : `{${i}}`
+ : i
+ );
+ return x.join('');
+ };
+ const callbacks_slash = (s, o, i, u, _) => (
+ s === TS.SEM_PRE ? _.push(['slash', MS.charsToString(o, i, u)]) : TS.SEM_POST, TS.SEM_OK
+ ),
+ path_template = (s, o, i, u, _) => {
+ if (s === TS.SEM_PRE) {
+ if (!1 === Array.isArray(_)) throw new Error("parser's user data must be an array");
+ _.push(['path-template', MS.charsToString(o, i, u)]);
+ }
+ return TS.SEM_OK;
+ },
+ callbacks_path = (s, o, i, u, _) => (
+ s === TS.SEM_PRE ? _.push(['path', MS.charsToString(o, i, u)]) : TS.SEM_POST, TS.SEM_OK
+ ),
+ path_literal = (s, o, i, u, _) => (
+ s === TS.SEM_PRE ? _.push(['path-literal', MS.charsToString(o, i, u)]) : TS.SEM_POST,
+ TS.SEM_OK
+ ),
+ callbacks_query = (s, o, i, u, _) => (
+ s === TS.SEM_PRE ? _.push(['query', MS.charsToString(o, i, u)]) : TS.SEM_POST, TS.SEM_OK
+ ),
+ query_marker = (s, o, i, u, _) => (
+ s === TS.SEM_PRE ? _.push(['query-marker', MS.charsToString(o, i, u)]) : TS.SEM_POST,
+ TS.SEM_OK
+ ),
+ callbacks_fragment = (s, o, i, u, _) => (
+ s === TS.SEM_PRE ? _.push(['fragment', MS.charsToString(o, i, u)]) : TS.SEM_POST,
+ TS.SEM_OK
+ ),
+ fragment_marker = (s, o, i, u, _) => (
+ s === TS.SEM_PRE ? _.push(['fragment-marker', MS.charsToString(o, i, u)]) : TS.SEM_POST,
+ TS.SEM_OK
+ ),
+ template_expression = (s, o, i, u, _) => (
+ s === TS.SEM_PRE
+ ? _.push(['template-expression', MS.charsToString(o, i, u)])
+ : TS.SEM_POST,
+ TS.SEM_OK
+ ),
+ template_expression_param_name = (s, o, i, u, _) => (
+ s === TS.SEM_PRE
+ ? _.push(['template-expression-param-name', MS.charsToString(o, i, u)])
+ : TS.SEM_POST,
+ TS.SEM_OK
+ ),
+ DS = new (function path_templating_grammar() {
+ (this.grammarObject = 'grammarObject'),
+ (this.rules = []),
+ (this.rules[0] = {
+ name: 'path-template',
+ lower: 'path-template',
+ index: 0,
+ isBkr: !1
+ }),
+ (this.rules[1] = { name: 'path', lower: 'path', index: 1, isBkr: !1 }),
+ (this.rules[2] = {
+ name: 'path-segment',
+ lower: 'path-segment',
+ index: 2,
+ isBkr: !1
+ }),
+ (this.rules[3] = { name: 'query', lower: 'query', index: 3, isBkr: !1 }),
+ (this.rules[4] = {
+ name: 'query-literal',
+ lower: 'query-literal',
+ index: 4,
+ isBkr: !1
+ }),
+ (this.rules[5] = {
+ name: 'query-marker',
+ lower: 'query-marker',
+ index: 5,
+ isBkr: !1
+ }),
+ (this.rules[6] = { name: 'fragment', lower: 'fragment', index: 6, isBkr: !1 }),
+ (this.rules[7] = {
+ name: 'fragment-literal',
+ lower: 'fragment-literal',
+ index: 7,
+ isBkr: !1
+ }),
+ (this.rules[8] = {
+ name: 'fragment-marker',
+ lower: 'fragment-marker',
+ index: 8,
+ isBkr: !1
+ }),
+ (this.rules[9] = { name: 'slash', lower: 'slash', index: 9, isBkr: !1 }),
+ (this.rules[10] = {
+ name: 'path-literal',
+ lower: 'path-literal',
+ index: 10,
+ isBkr: !1
+ }),
+ (this.rules[11] = {
+ name: 'template-expression',
+ lower: 'template-expression',
+ index: 11,
+ isBkr: !1
+ }),
+ (this.rules[12] = {
+ name: 'template-expression-param-name',
+ lower: 'template-expression-param-name',
+ index: 12,
+ isBkr: !1
+ }),
+ (this.rules[13] = { name: 'unreserved', lower: 'unreserved', index: 13, isBkr: !1 }),
+ (this.rules[14] = {
+ name: 'pct-encoded',
+ lower: 'pct-encoded',
+ index: 14,
+ isBkr: !1
+ }),
+ (this.rules[15] = { name: 'sub-delims', lower: 'sub-delims', index: 15, isBkr: !1 }),
+ (this.rules[16] = { name: 'ALPHA', lower: 'alpha', index: 16, isBkr: !1 }),
+ (this.rules[17] = { name: 'DIGIT', lower: 'digit', index: 17, isBkr: !1 }),
+ (this.rules[18] = { name: 'HEXDIG', lower: 'hexdig', index: 18, isBkr: !1 }),
+ (this.udts = []),
+ (this.rules[0].opcodes = []),
+ (this.rules[0].opcodes[0] = { type: 2, children: [1, 2, 6] }),
+ (this.rules[0].opcodes[1] = { type: 4, index: 1 }),
+ (this.rules[0].opcodes[2] = { type: 3, min: 0, max: 1 }),
+ (this.rules[0].opcodes[3] = { type: 2, children: [4, 5] }),
+ (this.rules[0].opcodes[4] = { type: 4, index: 5 }),
+ (this.rules[0].opcodes[5] = { type: 4, index: 3 }),
+ (this.rules[0].opcodes[6] = { type: 3, min: 0, max: 1 }),
+ (this.rules[0].opcodes[7] = { type: 2, children: [8, 9] }),
+ (this.rules[0].opcodes[8] = { type: 4, index: 8 }),
+ (this.rules[0].opcodes[9] = { type: 4, index: 6 }),
+ (this.rules[1].opcodes = []),
+ (this.rules[1].opcodes[0] = { type: 2, children: [1, 2, 6] }),
+ (this.rules[1].opcodes[1] = { type: 4, index: 9 }),
+ (this.rules[1].opcodes[2] = { type: 3, min: 0, max: 1 / 0 }),
+ (this.rules[1].opcodes[3] = { type: 2, children: [4, 5] }),
+ (this.rules[1].opcodes[4] = { type: 4, index: 2 }),
+ (this.rules[1].opcodes[5] = { type: 4, index: 9 }),
+ (this.rules[1].opcodes[6] = { type: 3, min: 0, max: 1 }),
+ (this.rules[1].opcodes[7] = { type: 4, index: 2 }),
+ (this.rules[2].opcodes = []),
+ (this.rules[2].opcodes[0] = { type: 3, min: 1, max: 1 / 0 }),
+ (this.rules[2].opcodes[1] = { type: 1, children: [2, 3] }),
+ (this.rules[2].opcodes[2] = { type: 4, index: 10 }),
+ (this.rules[2].opcodes[3] = { type: 4, index: 11 }),
+ (this.rules[3].opcodes = []),
+ (this.rules[3].opcodes[0] = { type: 3, min: 0, max: 1 / 0 }),
+ (this.rules[3].opcodes[1] = { type: 4, index: 4 }),
+ (this.rules[4].opcodes = []),
+ (this.rules[4].opcodes[0] = { type: 3, min: 1, max: 1 / 0 }),
+ (this.rules[4].opcodes[1] = { type: 1, children: [2, 3, 4, 5, 6, 7, 8, 9, 10] }),
+ (this.rules[4].opcodes[2] = { type: 4, index: 13 }),
+ (this.rules[4].opcodes[3] = { type: 4, index: 14 }),
+ (this.rules[4].opcodes[4] = { type: 4, index: 15 }),
+ (this.rules[4].opcodes[5] = { type: 7, string: [58] }),
+ (this.rules[4].opcodes[6] = { type: 7, string: [64] }),
+ (this.rules[4].opcodes[7] = { type: 7, string: [47] }),
+ (this.rules[4].opcodes[8] = { type: 7, string: [63] }),
+ (this.rules[4].opcodes[9] = { type: 7, string: [38] }),
+ (this.rules[4].opcodes[10] = { type: 7, string: [61] }),
+ (this.rules[5].opcodes = []),
+ (this.rules[5].opcodes[0] = { type: 7, string: [63] }),
+ (this.rules[6].opcodes = []),
+ (this.rules[6].opcodes[0] = { type: 3, min: 0, max: 1 / 0 }),
+ (this.rules[6].opcodes[1] = { type: 4, index: 7 }),
+ (this.rules[7].opcodes = []),
+ (this.rules[7].opcodes[0] = { type: 3, min: 1, max: 1 / 0 }),
+ (this.rules[7].opcodes[1] = { type: 1, children: [2, 3, 4, 5, 6, 7, 8] }),
+ (this.rules[7].opcodes[2] = { type: 4, index: 13 }),
+ (this.rules[7].opcodes[3] = { type: 4, index: 14 }),
+ (this.rules[7].opcodes[4] = { type: 4, index: 15 }),
+ (this.rules[7].opcodes[5] = { type: 7, string: [58] }),
+ (this.rules[7].opcodes[6] = { type: 7, string: [64] }),
+ (this.rules[7].opcodes[7] = { type: 7, string: [47] }),
+ (this.rules[7].opcodes[8] = { type: 7, string: [63] }),
+ (this.rules[8].opcodes = []),
+ (this.rules[8].opcodes[0] = { type: 7, string: [35] }),
+ (this.rules[9].opcodes = []),
+ (this.rules[9].opcodes[0] = { type: 7, string: [47] }),
+ (this.rules[10].opcodes = []),
+ (this.rules[10].opcodes[0] = { type: 3, min: 1, max: 1 / 0 }),
+ (this.rules[10].opcodes[1] = { type: 1, children: [2, 3, 4, 5, 6] }),
+ (this.rules[10].opcodes[2] = { type: 4, index: 13 }),
+ (this.rules[10].opcodes[3] = { type: 4, index: 14 }),
+ (this.rules[10].opcodes[4] = { type: 4, index: 15 }),
+ (this.rules[10].opcodes[5] = { type: 7, string: [58] }),
+ (this.rules[10].opcodes[6] = { type: 7, string: [64] }),
+ (this.rules[11].opcodes = []),
+ (this.rules[11].opcodes[0] = { type: 2, children: [1, 2, 3] }),
+ (this.rules[11].opcodes[1] = { type: 7, string: [123] }),
+ (this.rules[11].opcodes[2] = { type: 4, index: 12 }),
+ (this.rules[11].opcodes[3] = { type: 7, string: [125] }),
+ (this.rules[12].opcodes = []),
+ (this.rules[12].opcodes[0] = { type: 3, min: 1, max: 1 / 0 }),
+ (this.rules[12].opcodes[1] = { type: 1, children: [2, 3, 4, 5, 6] }),
+ (this.rules[12].opcodes[2] = { type: 4, index: 13 }),
+ (this.rules[12].opcodes[3] = { type: 4, index: 14 }),
+ (this.rules[12].opcodes[4] = { type: 4, index: 15 }),
+ (this.rules[12].opcodes[5] = { type: 7, string: [58] }),
+ (this.rules[12].opcodes[6] = { type: 7, string: [64] }),
+ (this.rules[13].opcodes = []),
+ (this.rules[13].opcodes[0] = { type: 1, children: [1, 2, 3, 4, 5, 6] }),
+ (this.rules[13].opcodes[1] = { type: 4, index: 16 }),
+ (this.rules[13].opcodes[2] = { type: 4, index: 17 }),
+ (this.rules[13].opcodes[3] = { type: 7, string: [45] }),
+ (this.rules[13].opcodes[4] = { type: 7, string: [46] }),
+ (this.rules[13].opcodes[5] = { type: 7, string: [95] }),
+ (this.rules[13].opcodes[6] = { type: 7, string: [126] }),
+ (this.rules[14].opcodes = []),
+ (this.rules[14].opcodes[0] = { type: 2, children: [1, 2, 3] }),
+ (this.rules[14].opcodes[1] = { type: 7, string: [37] }),
+ (this.rules[14].opcodes[2] = { type: 4, index: 18 }),
+ (this.rules[14].opcodes[3] = { type: 4, index: 18 }),
+ (this.rules[15].opcodes = []),
+ (this.rules[15].opcodes[0] = {
+ type: 1,
+ children: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
+ }),
+ (this.rules[15].opcodes[1] = { type: 7, string: [33] }),
+ (this.rules[15].opcodes[2] = { type: 7, string: [36] }),
+ (this.rules[15].opcodes[3] = { type: 7, string: [38] }),
+ (this.rules[15].opcodes[4] = { type: 7, string: [39] }),
+ (this.rules[15].opcodes[5] = { type: 7, string: [40] }),
+ (this.rules[15].opcodes[6] = { type: 7, string: [41] }),
+ (this.rules[15].opcodes[7] = { type: 7, string: [42] }),
+ (this.rules[15].opcodes[8] = { type: 7, string: [43] }),
+ (this.rules[15].opcodes[9] = { type: 7, string: [44] }),
+ (this.rules[15].opcodes[10] = { type: 7, string: [59] }),
+ (this.rules[15].opcodes[11] = { type: 7, string: [61] }),
+ (this.rules[16].opcodes = []),
+ (this.rules[16].opcodes[0] = { type: 1, children: [1, 2] }),
+ (this.rules[16].opcodes[1] = { type: 5, min: 65, max: 90 }),
+ (this.rules[16].opcodes[2] = { type: 5, min: 97, max: 122 }),
+ (this.rules[17].opcodes = []),
+ (this.rules[17].opcodes[0] = { type: 5, min: 48, max: 57 }),
+ (this.rules[18].opcodes = []),
+ (this.rules[18].opcodes[0] = { type: 1, children: [1, 2, 3, 4, 5, 6, 7] }),
+ (this.rules[18].opcodes[1] = { type: 4, index: 17 }),
+ (this.rules[18].opcodes[2] = { type: 7, string: [97] }),
+ (this.rules[18].opcodes[3] = { type: 7, string: [98] }),
+ (this.rules[18].opcodes[4] = { type: 7, string: [99] }),
+ (this.rules[18].opcodes[5] = { type: 7, string: [100] }),
+ (this.rules[18].opcodes[6] = { type: 7, string: [101] }),
+ (this.rules[18].opcodes[7] = { type: 7, string: [102] }),
+ (this.toString = function toString() {
+ let s = '';
+ return (
+ (s += '; OpenAPI Path Templating ABNF syntax\n'),
+ (s +=
+ 'path-template = path [ query-marker query ] [ fragment-marker fragment ]\n'),
+ (s +=
+ 'path = slash *( path-segment slash ) [ path-segment ]\n'),
+ (s +=
+ 'path-segment = 1*( path-literal / template-expression )\n'),
+ (s += 'query = *( query-literal )\n'),
+ (s +=
+ 'query-literal = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" / "/" / "?" / "&" / "=" )\n'),
+ (s += 'query-marker = "?"\n'),
+ (s += 'fragment = *( fragment-literal )\n'),
+ (s +=
+ 'fragment-literal = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" / "/" / "?" )\n'),
+ (s += 'fragment-marker = "#"\n'),
+ (s += 'slash = "/"\n'),
+ (s +=
+ 'path-literal = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" )\n'),
+ (s +=
+ 'template-expression = "{" template-expression-param-name "}"\n'),
+ (s +=
+ 'template-expression-param-name = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" )\n'),
+ (s += '\n'),
+ (s += '; Characters definitions (from RFC 3986)\n'),
+ (s += 'unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"\n'),
+ (s += 'pct-encoded = "%" HEXDIG HEXDIG\n'),
+ (s += 'sub-delims = "!" / "$" / "&" / "\'" / "(" / ")"\n'),
+ (s += ' / "*" / "+" / "," / ";" / "="\n'),
+ (s += 'ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n'),
+ (s += 'DIGIT = %x30-39 ; 0-9\n'),
+ (s += 'HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n'),
+ '; OpenAPI Path Templating ABNF syntax\npath-template = path [ query-marker query ] [ fragment-marker fragment ]\npath = slash *( path-segment slash ) [ path-segment ]\npath-segment = 1*( path-literal / template-expression )\nquery = *( query-literal )\nquery-literal = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" / "/" / "?" / "&" / "=" )\nquery-marker = "?"\nfragment = *( fragment-literal )\nfragment-literal = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" / "/" / "?" )\nfragment-marker = "#"\nslash = "/"\npath-literal = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" )\ntemplate-expression = "{" template-expression-param-name "}"\ntemplate-expression-param-name = 1*( unreserved / pct-encoded / sub-delims / ":" / "@" )\n\n; Characters definitions (from RFC 3986)\nunreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"\npct-encoded = "%" HEXDIG HEXDIG\nsub-delims = "!" / "$" / "&" / "\'" / "(" / ")"\n / "*" / "+" / "," / ";" / "="\nALPHA = %x41-5A / %x61-7A ; A-Z / a-z\nDIGIT = %x30-39 ; 0-9\nHEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n'
+ );
+ });
+ })(),
+ openapi_path_templating_es_parse = (s) => {
+ const o = new IS();
+ (o.ast = new PS()),
+ (o.ast.callbacks['path-template'] = path_template),
+ (o.ast.callbacks.path = callbacks_path),
+ (o.ast.callbacks.query = callbacks_query),
+ (o.ast.callbacks['query-marker'] = query_marker),
+ (o.ast.callbacks.fragment = callbacks_fragment),
+ (o.ast.callbacks['fragment-marker'] = fragment_marker),
+ (o.ast.callbacks.slash = callbacks_slash),
+ (o.ast.callbacks['path-literal'] = path_literal),
+ (o.ast.callbacks['template-expression'] = template_expression),
+ (o.ast.callbacks['template-expression-param-name'] = template_expression_param_name);
+ return { result: o.parse(DS, 'path-template', s), ast: o.ast };
+ },
+ encodePathComponent = (s) =>
+ ((s) => {
+ try {
+ return 'string' == typeof s && decodeURIComponent(s) !== s;
+ } catch {
+ return !1;
+ }
+ })(s)
+ ? s
+ : encodeURIComponent(s).replace(/%5B/g, '[').replace(/%5D/g, ']'),
+ LS = [
+ 'slash',
+ 'path-literal',
+ 'query-marker',
+ 'query-literal',
+ 'template-expression-param-name'
+ ],
+ openapi_path_templating_es_resolve = (s, o, i = {}) => {
+ const u = { ...{ encoder: encodePathComponent }, ...i },
+ _ = openapi_path_templating_es_parse(s);
+ if (!_.result.success) return s;
+ const w = [];
+ _.ast.translate(w);
+ const x = w
+ .filter(([s]) => LS.includes(s))
+ .map(([s, i]) =>
+ 'template-expression-param-name' === s
+ ? Object.hasOwn(o, i)
+ ? u.encoder(o[i], i)
+ : `{${i}}`
+ : i
+ );
+ return x.join('');
+ },
+ BS = {
+ body: function bodyBuilder({ req: s, value: o }) {
+ void 0 !== o && (s.body = o);
+ },
+ header: function headerBuilder({ req: s, parameter: o, value: i }) {
+ (s.headers = s.headers || {}), void 0 !== i && (s.headers[o.name] = i);
+ },
+ query: function queryBuilder({ req: s, value: o, parameter: i }) {
+ (s.query = s.query || {}), !1 === o && 'boolean' === i.type && (o = 'false');
+ 0 === o && ['number', 'integer'].indexOf(i.type) > -1 && (o = '0');
+ if (o) s.query[i.name] = { collectionFormat: i.collectionFormat, value: o };
+ else if (i.allowEmptyValue && void 0 !== o) {
+ const o = i.name;
+ (s.query[o] = s.query[o] || {}), (s.query[o].allowEmptyValue = !0);
+ }
+ },
+ path: function pathBuilder({ req: s, value: o, parameter: i, baseURL: u }) {
+ if (void 0 !== o) {
+ const _ = s.url.replace(u, ''),
+ w = openapi_path_templating_es_resolve(_, { [i.name]: o });
+ s.url = u + w;
+ }
+ },
+ formData: function formDataBuilder({ req: s, value: o, parameter: i }) {
+ !1 === o && 'boolean' === i.type && (o = 'false');
+ 0 === o && ['number', 'integer'].indexOf(i.type) > -1 && (o = '0');
+ if (o)
+ (s.form = s.form || {}),
+ (s.form[i.name] = { collectionFormat: i.collectionFormat, value: o });
+ else if (i.allowEmptyValue && void 0 !== o) {
+ s.form = s.form || {};
+ const o = i.name;
+ (s.form[o] = s.form[o] || {}), (s.form[o].allowEmptyValue = !0);
+ }
+ }
+ };
+ function serialize(s, o) {
+ return o.includes('application/json')
+ ? 'string' == typeof s
+ ? s
+ : (Array.isArray(s) &&
+ (s = s.map((s) => {
+ try {
+ return JSON.parse(s);
+ } catch (o) {
+ return s;
+ }
+ })),
+ JSON.stringify(s))
+ : String(s);
+ }
+ function parameter_builders_path({ req: s, value: o, parameter: i, baseURL: u }) {
+ const { name: _, style: w, explode: x, content: C } = i;
+ if (void 0 === o) return;
+ const j = s.url.replace(u, '');
+ let L;
+ if (C) {
+ const s = Object.keys(C)[0];
+ L = openapi_path_templating_es_resolve(
+ j,
+ { [_]: o },
+ { encoder: (o) => encodeCharacters(serialize(o, s)) }
+ );
+ } else
+ L = openapi_path_templating_es_resolve(
+ j,
+ { [_]: o },
+ {
+ encoder: (s) =>
+ stylize({
+ key: i.name,
+ value: s,
+ style: w || 'simple',
+ explode: x || !1,
+ escape: 'reserved'
+ })
+ }
+ );
+ s.url = u + L;
+ }
+ function parameter_builders_query({ req: s, value: o, parameter: i }) {
+ if (((s.query = s.query || {}), void 0 !== o && i.content)) {
+ const u = serialize(o, Object.keys(i.content)[0]);
+ if (u) s.query[i.name] = u;
+ else if (i.allowEmptyValue) {
+ const o = i.name;
+ (s.query[o] = s.query[o] || {}), (s.query[o].allowEmptyValue = !0);
+ }
+ } else if ((!1 === o && (o = 'false'), 0 === o && (o = '0'), o)) {
+ const { style: u, explode: _, allowReserved: w } = i;
+ s.query[i.name] = {
+ value: o,
+ serializationOption: { style: u, explode: _, allowReserved: w }
+ };
+ } else if (i.allowEmptyValue && void 0 !== o) {
+ const o = i.name;
+ (s.query[o] = s.query[o] || {}), (s.query[o].allowEmptyValue = !0);
+ }
+ }
+ const FS = ['accept', 'authorization', 'content-type'];
+ function parameter_builders_header({ req: s, parameter: o, value: i }) {
+ if (((s.headers = s.headers || {}), !(FS.indexOf(o.name.toLowerCase()) > -1)))
+ if (void 0 !== i && o.content) {
+ const u = Object.keys(o.content)[0];
+ s.headers[o.name] = serialize(i, u);
+ } else
+ void 0 === i ||
+ (Array.isArray(i) && 0 === i.length) ||
+ (s.headers[o.name] = stylize({
+ key: o.name,
+ value: i,
+ style: o.style || 'simple',
+ explode: void 0 !== o.explode && o.explode,
+ escape: !1
+ }));
+ }
+ function parameter_builders_cookie({ req: s, parameter: o, value: i }) {
+ s.headers = s.headers || {};
+ const u = typeof i;
+ if (void 0 !== i && o.content) {
+ const u = Object.keys(o.content)[0];
+ s.headers.Cookie = `${o.name}=${serialize(i, u)}`;
+ } else if (void 0 !== i && (!Array.isArray(i) || 0 !== i.length)) {
+ const _ = 'object' === u && !Array.isArray(i) && o.explode ? '' : `${o.name}=`;
+ s.headers.Cookie =
+ _ +
+ stylize({
+ key: o.name,
+ value: i,
+ escape: !1,
+ style: o.style || 'form',
+ explode: void 0 !== o.explode && o.explode
+ });
+ }
+ }
+ const qS =
+ 'undefined' != typeof globalThis
+ ? globalThis
+ : 'undefined' != typeof self
+ ? self
+ : window,
+ { btoa: $S } = qS,
+ VS = $S;
+ function buildRequest(s, o) {
+ const {
+ operation: i,
+ requestBody: u,
+ securities: _,
+ spec: w,
+ attachContentTypeForEmptyPayload: x
+ } = s;
+ let { requestContentType: C } = s;
+ o = (function applySecurities({
+ request: s,
+ securities: o = {},
+ operation: i = {},
+ spec: u
+ }) {
+ var _;
+ const w = { ...s },
+ { authorized: x = {} } = o,
+ C = i.security || u.security || [],
+ j = x && !!Object.keys(x).length,
+ L =
+ (null == u || null === (_ = u.components) || void 0 === _
+ ? void 0
+ : _.securitySchemes) || {};
+ if (
+ ((w.headers = w.headers || {}),
+ (w.query = w.query || {}),
+ !Object.keys(o).length ||
+ !j ||
+ !C ||
+ (Array.isArray(i.security) && !i.security.length))
+ )
+ return s;
+ return (
+ C.forEach((s) => {
+ Object.keys(s).forEach((s) => {
+ const o = x[s],
+ i = L[s];
+ if (!o) return;
+ const u = o.value || o,
+ { type: _ } = i;
+ if (o)
+ if ('apiKey' === _)
+ 'query' === i.in && (w.query[i.name] = u),
+ 'header' === i.in && (w.headers[i.name] = u),
+ 'cookie' === i.in && (w.cookies[i.name] = u);
+ else if ('http' === _) {
+ if (/^basic$/i.test(i.scheme)) {
+ const s = u.username || '',
+ o = u.password || '',
+ i = VS(`${s}:${o}`);
+ w.headers.Authorization = `Basic ${i}`;
+ }
+ /^bearer$/i.test(i.scheme) && (w.headers.Authorization = `Bearer ${u}`);
+ } else if ('oauth2' === _ || 'openIdConnect' === _) {
+ const s = o.token || {},
+ u = s[i['x-tokenName'] || 'access_token'];
+ let _ = s.token_type;
+ (_ && 'bearer' !== _.toLowerCase()) || (_ = 'Bearer'),
+ (w.headers.Authorization = `${_} ${u}`);
+ }
+ });
+ }),
+ w
+ );
+ })({ request: o, securities: _, operation: i, spec: w });
+ const j = i.requestBody || {},
+ L = Object.keys(j.content || {}),
+ B = C && L.indexOf(C) > -1;
+ if (u || x) {
+ if (C && B) o.headers['Content-Type'] = C;
+ else if (!C) {
+ const s = L[0];
+ s && ((o.headers['Content-Type'] = s), (C = s));
+ }
+ } else C && B && (o.headers['Content-Type'] = C);
+ if (!s.responseContentType && i.responses) {
+ const s = Object.entries(i.responses)
+ .filter(([s, o]) => {
+ const i = parseInt(s, 10);
+ return i >= 200 && i < 300 && ku(o.content);
+ })
+ .reduce((s, [, o]) => s.concat(Object.keys(o.content)), []);
+ s.length > 0 && (o.headers.accept = s.join(', '));
+ }
+ if (u)
+ if (C) {
+ if (L.indexOf(C) > -1)
+ if ('application/x-www-form-urlencoded' === C || 'multipart/form-data' === C)
+ if ('object' == typeof u) {
+ var $, V;
+ const s =
+ null !==
+ ($ = null === (V = j.content[C]) || void 0 === V ? void 0 : V.encoding) &&
+ void 0 !== $
+ ? $
+ : {};
+ (o.form = {}),
+ Object.keys(u).forEach((i) => {
+ let _;
+ try {
+ _ = JSON.parse(u[i]);
+ } catch {
+ _ = u[i];
+ }
+ o.form[i] = { value: _, encoding: s[i] || {} };
+ });
+ } else if ('string' == typeof u) {
+ var U, z;
+ const s =
+ null !==
+ (U = null === (z = j.content[C]) || void 0 === z ? void 0 : z.encoding) &&
+ void 0 !== U
+ ? U
+ : {};
+ try {
+ o.form = {};
+ const i = JSON.parse(u);
+ Object.entries(i).forEach(([i, u]) => {
+ o.form[i] = { value: u, encoding: s[i] || {} };
+ });
+ } catch {
+ o.form = u;
+ }
+ } else o.form = u;
+ else o.body = u;
+ } else o.body = u;
+ return o;
+ }
+ function build_request_buildRequest(s, o) {
+ const {
+ spec: i,
+ operation: u,
+ securities: _,
+ requestContentType: w,
+ responseContentType: x,
+ attachContentTypeForEmptyPayload: C
+ } = s;
+ if (
+ ((o = (function build_request_applySecurities({
+ request: s,
+ securities: o = {},
+ operation: i = {},
+ spec: u
+ }) {
+ const _ = { ...s },
+ { authorized: w = {}, specSecurity: x = [] } = o,
+ C = i.security || x,
+ j = w && !!Object.keys(w).length,
+ L = u.securityDefinitions;
+ if (
+ ((_.headers = _.headers || {}),
+ (_.query = _.query || {}),
+ !Object.keys(o).length ||
+ !j ||
+ !C ||
+ (Array.isArray(i.security) && !i.security.length))
+ )
+ return s;
+ return (
+ C.forEach((s) => {
+ Object.keys(s).forEach((s) => {
+ const o = w[s];
+ if (!o) return;
+ const { token: i } = o,
+ u = o.value || o,
+ x = L[s],
+ { type: C } = x,
+ j = x['x-tokenName'] || 'access_token',
+ B = i && i[j];
+ let $ = i && i.token_type;
+ if (o)
+ if ('apiKey' === C) {
+ const s = 'query' === x.in ? 'query' : 'headers';
+ (_[s] = _[s] || {}), (_[s][x.name] = u);
+ } else if ('basic' === C)
+ if (u.header) _.headers.authorization = u.header;
+ else {
+ const s = u.username || '',
+ o = u.password || '';
+ (u.base64 = VS(`${s}:${o}`)),
+ (_.headers.authorization = `Basic ${u.base64}`);
+ }
+ else
+ 'oauth2' === C &&
+ B &&
+ (($ = $ && 'bearer' !== $.toLowerCase() ? $ : 'Bearer'),
+ (_.headers.authorization = `${$} ${B}`));
+ });
+ }),
+ _
+ );
+ })({ request: o, securities: _, operation: u, spec: i })),
+ o.body || o.form || C)
+ )
+ w
+ ? (o.headers['Content-Type'] = w)
+ : Array.isArray(u.consumes)
+ ? ([o.headers['Content-Type']] = u.consumes)
+ : Array.isArray(i.consumes)
+ ? ([o.headers['Content-Type']] = i.consumes)
+ : u.parameters && u.parameters.filter((s) => 'file' === s.type).length
+ ? (o.headers['Content-Type'] = 'multipart/form-data')
+ : u.parameters &&
+ u.parameters.filter((s) => 'formData' === s.in).length &&
+ (o.headers['Content-Type'] = 'application/x-www-form-urlencoded');
+ else if (w) {
+ const s = u.parameters && u.parameters.filter((s) => 'body' === s.in).length > 0,
+ i = u.parameters && u.parameters.filter((s) => 'formData' === s.in).length > 0;
+ (s || i) && (o.headers['Content-Type'] = w);
+ }
+ return (
+ !x &&
+ Array.isArray(u.produces) &&
+ u.produces.length > 0 &&
+ (o.headers.accept = u.produces.join(', ')),
+ o
+ );
+ }
+ function idFromPathMethodLegacy(s, o) {
+ return `${o.toLowerCase()}-${s}`;
+ }
+ const arrayOrEmpty = (s) => (Array.isArray(s) ? s : []),
+ parseURIReference = (s) => {
+ try {
+ return new URL(s);
+ } catch {
+ const o = new URL(s, Nc),
+ i = String(s).startsWith('/') ? o.pathname : o.pathname.substring(1);
+ return {
+ hash: o.hash,
+ host: '',
+ hostname: '',
+ href: '',
+ origin: '',
+ password: '',
+ pathname: i,
+ port: '',
+ protocol: '',
+ search: o.search,
+ searchParams: o.searchParams
+ };
+ }
+ };
+ class OperationNotFoundError extends Jo {}
+ const US = { buildRequest: execute_buildRequest };
+ function execute_execute({
+ http: s,
+ fetch: o,
+ spec: i,
+ operationId: u,
+ pathName: _,
+ method: w,
+ parameters: x,
+ securities: C,
+ ...j
+ }) {
+ const L = s || o || http_http;
+ _ && w && !u && (u = idFromPathMethodLegacy(_, w));
+ const B = US.buildRequest({
+ spec: i,
+ operationId: u,
+ parameters: x,
+ securities: C,
+ http: L,
+ ...j
+ });
+ return (
+ B.body && (ku(B.body) || Array.isArray(B.body)) && (B.body = JSON.stringify(B.body)),
+ L(B)
+ );
+ }
+ function execute_buildRequest(s) {
+ var o;
+ const {
+ spec: i,
+ operationId: u,
+ responseContentType: _,
+ scheme: w,
+ requestInterceptor: x,
+ responseInterceptor: C,
+ contextUrl: j,
+ userFetch: L,
+ server: B,
+ serverVariables: $,
+ http: V,
+ signal: U,
+ serverVariableEncoder: z
+ } = s;
+ let { parameters: Y, parameterBuilders: Z, baseURL: ee } = s;
+ const ie = isOpenAPI3(i);
+ Z || (Z = ie ? fe : BS);
+ let ae = {
+ url: '',
+ credentials: V && V.withCredentials ? 'include' : 'same-origin',
+ headers: {},
+ cookies: {}
+ };
+ U && (ae.signal = U),
+ x && (ae.requestInterceptor = x),
+ C && (ae.responseInterceptor = C),
+ L && (ae.userFetch = L);
+ const le = (function getOperationRaw(s, o) {
+ return s && s.paths
+ ? (function findOperation(s, o) {
+ return (
+ (function eachOperation(s, o, i) {
+ if (!s || 'object' != typeof s || !s.paths || 'object' != typeof s.paths)
+ return null;
+ const { paths: u } = s;
+ for (const _ in u)
+ for (const w in u[_]) {
+ if ('PARAMETERS' === w.toUpperCase()) continue;
+ const x = u[_][w];
+ if (!x || 'object' != typeof x) continue;
+ const C = { spec: s, pathName: _, method: w.toUpperCase(), operation: x },
+ j = o(C);
+ if (i && j) return C;
+ }
+ })(s, o, !0) || null
+ );
+ })(s, ({ pathName: s, method: i, operation: u }) => {
+ if (!u || 'object' != typeof u) return !1;
+ const _ = u.operationId;
+ return [opId(u, s, i), idFromPathMethodLegacy(s, i), _].some((s) => s && s === o);
+ })
+ : null;
+ })(i, u);
+ if (!le) throw new OperationNotFoundError(`Operation ${u} not found`);
+ const { operation: ce = {}, method: pe, pathName: de } = le;
+ if (
+ ((ee =
+ null !== (o = ee) && void 0 !== o
+ ? o
+ : (function baseUrl(s) {
+ const o = isOpenAPI3(s.spec);
+ return o
+ ? (function oas3BaseUrl({
+ spec: s,
+ pathName: o,
+ method: i,
+ server: u,
+ contextUrl: _,
+ serverVariables: w = {},
+ serverVariableEncoder: x
+ }) {
+ var C, j;
+ let L,
+ B = [],
+ $ = '';
+ const V =
+ null == s ||
+ null === (C = s.paths) ||
+ void 0 === C ||
+ null === (C = C[o]) ||
+ void 0 === C ||
+ null === (C = C[(i || '').toLowerCase()]) ||
+ void 0 === C
+ ? void 0
+ : C.servers,
+ U =
+ null == s ||
+ null === (j = s.paths) ||
+ void 0 === j ||
+ null === (j = j[o]) ||
+ void 0 === j
+ ? void 0
+ : j.servers,
+ z = null == s ? void 0 : s.servers;
+ (B = isNonEmptyServerList(V)
+ ? V
+ : isNonEmptyServerList(U)
+ ? U
+ : isNonEmptyServerList(z)
+ ? z
+ : [Rc]),
+ u && ((L = B.find((s) => s.url === u)), L && ($ = u));
+ $ || (([L] = B), ($ = L.url));
+ if (openapi_server_url_templating_es_test($, { strict: !0 })) {
+ const s = Object.entries({ ...L.variables }).reduce(
+ (s, [o, i]) => ((s[o] = i.default), s),
+ {}
+ );
+ $ = es_substitute(
+ $,
+ { ...s, ...w },
+ { encoder: 'function' == typeof x ? x : Ip }
+ );
+ }
+ return (function buildOas3UrlWithContext(s = '', o = '') {
+ const i = parseURIReference(s && o ? resolve(o, s) : s),
+ u = parseURIReference(o),
+ _ = stripNonAlpha(i.protocol) || stripNonAlpha(u.protocol),
+ w = i.host || u.host,
+ x = i.pathname;
+ let C;
+ C = _ && w ? `${_}://${w + x}` : x;
+ return '/' === C[C.length - 1] ? C.slice(0, -1) : C;
+ })($, _);
+ })(s)
+ : (function swagger2BaseUrl({ spec: s, scheme: o, contextUrl: i = '' }) {
+ const u = parseURIReference(i),
+ _ = Array.isArray(s.schemes) ? s.schemes[0] : null,
+ w = o || _ || stripNonAlpha(u.protocol) || 'http',
+ x = s.host || u.host || '',
+ C = s.basePath || '';
+ let j;
+ j = w && x ? `${w}://${x + C}` : C;
+ return '/' === j[j.length - 1] ? j.slice(0, -1) : j;
+ })(s);
+ })({
+ spec: i,
+ scheme: w,
+ contextUrl: j,
+ server: B,
+ serverVariables: $,
+ pathName: de,
+ method: pe,
+ serverVariableEncoder: z
+ })),
+ (ae.url += ee),
+ !u)
+ )
+ return delete ae.cookies, ae;
+ (ae.url += de), (ae.method = `${pe}`.toUpperCase()), (Y = Y || {});
+ const ye = i.paths[de] || {};
+ _ && (ae.headers.accept = _);
+ const be = ((s) => {
+ const o = {};
+ s.forEach((s) => {
+ o[s.in] || (o[s.in] = {}), (o[s.in][s.name] = s);
+ });
+ const i = [];
+ return (
+ Object.keys(o).forEach((s) => {
+ Object.keys(o[s]).forEach((u) => {
+ i.push(o[s][u]);
+ });
+ }),
+ i
+ );
+ })([].concat(arrayOrEmpty(ce.parameters)).concat(arrayOrEmpty(ye.parameters)));
+ be.forEach((s) => {
+ const o = Z[s.in];
+ let u;
+ if (
+ ('body' === s.in && s.schema && s.schema.properties && (u = Y),
+ (u = s && s.name && Y[s.name]),
+ void 0 === u
+ ? (u = s && s.name && Y[`${s.in}.${s.name}`])
+ : ((s, o) => o.filter((o) => o.name === s))(s.name, be).length > 1 &&
+ console.warn(
+ `Parameter '${s.name}' is ambiguous because the defined spec has more than one parameter with the name: '${s.name}' and the passed-in parameter values did not define an 'in' value.`
+ ),
+ null !== u)
+ ) {
+ if (
+ (void 0 !== s.default && void 0 === u && (u = s.default),
+ void 0 === u && s.required && !s.allowEmptyValue)
+ )
+ throw new Error(`Required parameter ${s.name} is not provided`);
+ if (ie && s.schema && 'object' === s.schema.type && 'string' == typeof u)
+ try {
+ u = JSON.parse(u);
+ } catch (s) {
+ throw new Error('Could not parse object parameter value string as JSON');
+ }
+ o && o({ req: ae, parameter: s, value: u, operation: ce, spec: i, baseURL: ee });
+ }
+ });
+ const _e = { ...s, operation: ce };
+ if (
+ ((ae = ie ? buildRequest(_e, ae) : build_request_buildRequest(_e, ae)),
+ ae.cookies && Object.keys(ae.cookies).length)
+ ) {
+ const s = Object.keys(ae.cookies).reduce((s, o) => {
+ const i = ae.cookies[o];
+ return s + (s ? '&' : '') + jS.serialize(o, i);
+ }, '');
+ ae.headers.Cookie = s;
+ }
+ return ae.cookies && delete ae.cookies, serializeRequest(ae);
+ }
+ const stripNonAlpha = (s) => (s ? s.replace(/\W/g, '') : null);
+ const isNonEmptyServerList = (s) => Array.isArray(s) && s.length > 0;
+ const makeResolveSubtree =
+ (s) =>
+ async (o, i, u = {}) =>
+ (async (s, o, i = {}) => {
+ const {
+ returnEntireTree: u,
+ baseDoc: _,
+ requestInterceptor: w,
+ responseInterceptor: x,
+ parameterMacro: C,
+ modelPropertyMacro: j,
+ useCircularStructures: L,
+ strategies: B
+ } = i,
+ $ = {
+ spec: s,
+ pathDiscriminator: o,
+ baseDoc: _,
+ requestInterceptor: w,
+ responseInterceptor: x,
+ parameterMacro: C,
+ modelPropertyMacro: j,
+ useCircularStructures: L,
+ strategies: B
+ },
+ V = B.find((o) => o.match(s)).normalize(s),
+ U = await AS({
+ spec: V,
+ ...$,
+ allowMetaPatches: !0,
+ skipNormalization: !isOpenAPI31(s)
+ });
+ return (
+ !u &&
+ Array.isArray(o) &&
+ o.length &&
+ (U.spec = o.reduce((s, o) => (null == s ? void 0 : s[o]), U.spec) || null),
+ U
+ );
+ })(o, i, { ...s, ...u }),
+ zS =
+ (makeResolveSubtree({ strategies: [fu, hu, uu] }),
+ (s, o) =>
+ (...i) => {
+ s(...i);
+ const u = o.getConfigs().withCredentials;
+ o.fn.fetch.withCredentials = u;
+ });
+ function swagger_client({ configs: s, getConfigs: o }) {
+ return {
+ fn: {
+ fetch:
+ ((i = http_http),
+ (u = s.preFetch),
+ (_ = s.postFetch),
+ (_ = _ || ((s) => s)),
+ (u = u || ((s) => s)),
+ (s) => (
+ 'string' == typeof s && (s = { url: s }),
+ (s = serializeRequest(s)),
+ (s = u(s)),
+ _(i(s))
+ )),
+ buildRequest: execute_buildRequest,
+ execute: execute_execute,
+ resolve: makeResolve({ strategies: [OS, fu, hu, uu] }),
+ resolveSubtree: async (s, i, u = {}) => {
+ const _ = o(),
+ w = {
+ modelPropertyMacro: _.modelPropertyMacro,
+ parameterMacro: _.parameterMacro,
+ requestInterceptor: _.requestInterceptor,
+ responseInterceptor: _.responseInterceptor,
+ strategies: [OS, fu, hu, uu]
+ };
+ return makeResolveSubtree(w)(s, i, u);
+ },
+ serializeRes: serializeResponse,
+ opId
+ },
+ statePlugins: { configs: { wrapActions: { loaded: zS } } }
+ };
+ var i, u, _;
+ }
+ function util() {
+ return { fn: { shallowEqualKeys } };
+ }
+ var WS = __webpack_require__(40961),
+ KS = __webpack_require__(78418),
+ HS = Pe,
+ JS = Symbol.for('react-redux-context'),
+ GS = 'undefined' != typeof globalThis ? globalThis : {};
+ function getContext() {
+ if (!HS.createContext) return {};
+ const s = GS[JS] ?? (GS[JS] = new Map());
+ let o = s.get(HS.createContext);
+ return o || ((o = HS.createContext(null)), s.set(HS.createContext, o)), o;
+ }
+ var YS = getContext(),
+ notInitialized = () => {
+ throw new Error('uSES not initialized!');
+ };
+ var XS = Symbol.for('react.element'),
+ ZS = Symbol.for('react.portal'),
+ QS = Symbol.for('react.fragment'),
+ ex = Symbol.for('react.strict_mode'),
+ tx = Symbol.for('react.profiler'),
+ rx = Symbol.for('react.provider'),
+ nx = Symbol.for('react.context'),
+ sx = Symbol.for('react.server_context'),
+ ox = Symbol.for('react.forward_ref'),
+ ix = Symbol.for('react.suspense'),
+ ax = Symbol.for('react.suspense_list'),
+ lx = Symbol.for('react.memo'),
+ cx = Symbol.for('react.lazy'),
+ ux = (Symbol.for('react.offscreen'), Symbol.for('react.client.reference'), ox),
+ px = lx;
+ function typeOf(s) {
+ if ('object' == typeof s && null !== s) {
+ const o = s.$$typeof;
+ switch (o) {
+ case XS: {
+ const i = s.type;
+ switch (i) {
+ case QS:
+ case tx:
+ case ex:
+ case ix:
+ case ax:
+ return i;
+ default: {
+ const s = i && i.$$typeof;
+ switch (s) {
+ case sx:
+ case nx:
+ case ox:
+ case cx:
+ case lx:
+ case rx:
+ return s;
+ default:
+ return o;
+ }
+ }
+ }
+ }
+ case ZS:
+ return o;
+ }
+ }
+ }
+ function pureFinalPropsSelectorFactory(
+ s,
+ o,
+ i,
+ u,
+ { areStatesEqual: _, areOwnPropsEqual: w, areStatePropsEqual: x }
+ ) {
+ let C,
+ j,
+ L,
+ B,
+ $,
+ V = !1;
+ function handleSubsequentCalls(V, U) {
+ const z = !w(U, j),
+ Y = !_(V, C, U, j);
+ return (
+ (C = V),
+ (j = U),
+ z && Y
+ ? (function handleNewPropsAndNewState() {
+ return (L = s(C, j)), o.dependsOnOwnProps && (B = o(u, j)), ($ = i(L, B, j)), $;
+ })()
+ : z
+ ? (function handleNewProps() {
+ return (
+ s.dependsOnOwnProps && (L = s(C, j)),
+ o.dependsOnOwnProps && (B = o(u, j)),
+ ($ = i(L, B, j)),
+ $
+ );
+ })()
+ : Y
+ ? (function handleNewState() {
+ const o = s(C, j),
+ u = !x(o, L);
+ return (L = o), u && ($ = i(L, B, j)), $;
+ })()
+ : $
+ );
+ }
+ return function pureFinalPropsSelector(_, w) {
+ return V
+ ? handleSubsequentCalls(_, w)
+ : (function handleFirstCall(_, w) {
+ return (
+ (C = _), (j = w), (L = s(C, j)), (B = o(u, j)), ($ = i(L, B, j)), (V = !0), $
+ );
+ })(_, w);
+ };
+ }
+ function wrapMapToPropsConstant(s) {
+ return function initConstantSelector(o) {
+ const i = s(o);
+ function constantSelector() {
+ return i;
+ }
+ return (constantSelector.dependsOnOwnProps = !1), constantSelector;
+ };
+ }
+ function getDependsOnOwnProps(s) {
+ return s.dependsOnOwnProps ? Boolean(s.dependsOnOwnProps) : 1 !== s.length;
+ }
+ function wrapMapToPropsFunc(s, o) {
+ return function initProxySelector(o, { displayName: i }) {
+ const u = function mapToPropsProxy(s, o) {
+ return u.dependsOnOwnProps ? u.mapToProps(s, o) : u.mapToProps(s, void 0);
+ };
+ return (
+ (u.dependsOnOwnProps = !0),
+ (u.mapToProps = function detectFactoryAndVerify(o, i) {
+ (u.mapToProps = s), (u.dependsOnOwnProps = getDependsOnOwnProps(s));
+ let _ = u(o, i);
+ return (
+ 'function' == typeof _ &&
+ ((u.mapToProps = _),
+ (u.dependsOnOwnProps = getDependsOnOwnProps(_)),
+ (_ = u(o, i))),
+ _
+ );
+ }),
+ u
+ );
+ };
+ }
+ function createInvalidArgFactory(s, o) {
+ return (i, u) => {
+ throw new Error(
+ `Invalid value of type ${typeof s} for ${o} argument when connecting component ${u.wrappedComponentName}.`
+ );
+ };
+ }
+ function defaultMergeProps(s, o, i) {
+ return { ...i, ...s, ...o };
+ }
+ function defaultNoopBatch(s) {
+ s();
+ }
+ var hx = { notify() {}, get: () => [] };
+ function createSubscription(s, o) {
+ let i,
+ u = hx,
+ _ = 0,
+ w = !1;
+ function handleChangeWrapper() {
+ x.onStateChange && x.onStateChange();
+ }
+ function trySubscribe() {
+ _++,
+ i ||
+ ((i = o ? o.addNestedSub(handleChangeWrapper) : s.subscribe(handleChangeWrapper)),
+ (u = (function createListenerCollection() {
+ let s = null,
+ o = null;
+ return {
+ clear() {
+ (s = null), (o = null);
+ },
+ notify() {
+ defaultNoopBatch(() => {
+ let o = s;
+ for (; o; ) o.callback(), (o = o.next);
+ });
+ },
+ get() {
+ const o = [];
+ let i = s;
+ for (; i; ) o.push(i), (i = i.next);
+ return o;
+ },
+ subscribe(i) {
+ let u = !0;
+ const _ = (o = { callback: i, next: null, prev: o });
+ return (
+ _.prev ? (_.prev.next = _) : (s = _),
+ function unsubscribe() {
+ u &&
+ null !== s &&
+ ((u = !1),
+ _.next ? (_.next.prev = _.prev) : (o = _.prev),
+ _.prev ? (_.prev.next = _.next) : (s = _.next));
+ }
+ );
+ }
+ };
+ })()));
+ }
+ function tryUnsubscribe() {
+ _--, i && 0 === _ && (i(), (i = void 0), u.clear(), (u = hx));
+ }
+ const x = {
+ addNestedSub: function addNestedSub(s) {
+ trySubscribe();
+ const o = u.subscribe(s);
+ let i = !1;
+ return () => {
+ i || ((i = !0), o(), tryUnsubscribe());
+ };
+ },
+ notifyNestedSubs: function notifyNestedSubs() {
+ u.notify();
+ },
+ handleChangeWrapper,
+ isSubscribed: function isSubscribed() {
+ return w;
+ },
+ trySubscribe: function trySubscribeSelf() {
+ w || ((w = !0), trySubscribe());
+ },
+ tryUnsubscribe: function tryUnsubscribeSelf() {
+ w && ((w = !1), tryUnsubscribe());
+ },
+ getListeners: () => u
+ };
+ return x;
+ }
+ var dx = !(
+ 'undefined' == typeof window ||
+ void 0 === window.document ||
+ void 0 === window.document.createElement
+ ),
+ fx = 'undefined' != typeof navigator && 'ReactNative' === navigator.product,
+ mx = dx || fx ? HS.useLayoutEffect : HS.useEffect;
+ function is(s, o) {
+ return s === o ? 0 !== s || 0 !== o || 1 / s == 1 / o : s != s && o != o;
+ }
+ function shallowEqual(s, o) {
+ if (is(s, o)) return !0;
+ if ('object' != typeof s || null === s || 'object' != typeof o || null === o) return !1;
+ const i = Object.keys(s),
+ u = Object.keys(o);
+ if (i.length !== u.length) return !1;
+ for (let u = 0; u < i.length; u++)
+ if (!Object.prototype.hasOwnProperty.call(o, i[u]) || !is(s[i[u]], o[i[u]])) return !1;
+ return !0;
+ }
+ var gx = {
+ childContextTypes: !0,
+ contextType: !0,
+ contextTypes: !0,
+ defaultProps: !0,
+ displayName: !0,
+ getDefaultProps: !0,
+ getDerivedStateFromError: !0,
+ getDerivedStateFromProps: !0,
+ mixins: !0,
+ propTypes: !0,
+ type: !0
+ },
+ yx = {
+ name: !0,
+ length: !0,
+ prototype: !0,
+ caller: !0,
+ callee: !0,
+ arguments: !0,
+ arity: !0
+ },
+ vx = {
+ $$typeof: !0,
+ compare: !0,
+ defaultProps: !0,
+ displayName: !0,
+ propTypes: !0,
+ type: !0
+ },
+ bx = {
+ [ux]: { $$typeof: !0, render: !0, defaultProps: !0, displayName: !0, propTypes: !0 },
+ [px]: vx
+ };
+ function getStatics(s) {
+ return (function isMemo(s) {
+ return typeOf(s) === lx;
+ })(s)
+ ? vx
+ : bx[s.$$typeof] || gx;
+ }
+ var _x = Object.defineProperty,
+ Ex = Object.getOwnPropertyNames,
+ wx = Object.getOwnPropertySymbols,
+ Sx = Object.getOwnPropertyDescriptor,
+ xx = Object.getPrototypeOf,
+ kx = Object.prototype;
+ function hoistNonReactStatics(s, o) {
+ if ('string' != typeof o) {
+ if (kx) {
+ const i = xx(o);
+ i && i !== kx && hoistNonReactStatics(s, i);
+ }
+ let i = Ex(o);
+ wx && (i = i.concat(wx(o)));
+ const u = getStatics(s),
+ _ = getStatics(o);
+ for (let w = 0; w < i.length; ++w) {
+ const x = i[w];
+ if (!(yx[x] || (_ && _[x]) || (u && u[x]))) {
+ const i = Sx(o, x);
+ try {
+ _x(s, x, i);
+ } catch (s) {}
+ }
+ }
+ }
+ return s;
+ }
+ var Cx = notInitialized,
+ Ox = [null, null];
+ function captureWrapperProps(s, o, i, u, _, w) {
+ (s.current = u), (i.current = !1), _.current && ((_.current = null), w());
+ }
+ function strictEqual(s, o) {
+ return s === o;
+ }
+ var Ax = function connect(
+ s,
+ o,
+ i,
+ {
+ pure: u,
+ areStatesEqual: _ = strictEqual,
+ areOwnPropsEqual: w = shallowEqual,
+ areStatePropsEqual: x = shallowEqual,
+ areMergedPropsEqual: C = shallowEqual,
+ forwardRef: j = !1,
+ context: L = YS
+ } = {}
+ ) {
+ const B = L,
+ $ = (function mapStateToPropsFactory(s) {
+ return s
+ ? 'function' == typeof s
+ ? wrapMapToPropsFunc(s)
+ : createInvalidArgFactory(s, 'mapStateToProps')
+ : wrapMapToPropsConstant(() => ({}));
+ })(s),
+ V = (function mapDispatchToPropsFactory(s) {
+ return s && 'object' == typeof s
+ ? wrapMapToPropsConstant((o) =>
+ (function react_redux_bindActionCreators(s, o) {
+ const i = {};
+ for (const u in s) {
+ const _ = s[u];
+ 'function' == typeof _ && (i[u] = (...s) => o(_(...s)));
+ }
+ return i;
+ })(s, o)
+ )
+ : s
+ ? 'function' == typeof s
+ ? wrapMapToPropsFunc(s)
+ : createInvalidArgFactory(s, 'mapDispatchToProps')
+ : wrapMapToPropsConstant((s) => ({ dispatch: s }));
+ })(o),
+ U = (function mergePropsFactory(s) {
+ return s
+ ? 'function' == typeof s
+ ? (function wrapMergePropsFunc(s) {
+ return function initMergePropsProxy(
+ o,
+ { displayName: i, areMergedPropsEqual: u }
+ ) {
+ let _,
+ w = !1;
+ return function mergePropsProxy(o, i, x) {
+ const C = s(o, i, x);
+ return w ? u(C, _) || (_ = C) : ((w = !0), (_ = C)), _;
+ };
+ };
+ })(s)
+ : createInvalidArgFactory(s, 'mergeProps')
+ : () => defaultMergeProps;
+ })(i),
+ z = Boolean(s);
+ return (s) => {
+ const o = s.displayName || s.name || 'Component',
+ i = `Connect(${o})`,
+ u = {
+ shouldHandleStateChanges: z,
+ displayName: i,
+ wrappedComponentName: o,
+ WrappedComponent: s,
+ initMapStateToProps: $,
+ initMapDispatchToProps: V,
+ initMergeProps: U,
+ areStatesEqual: _,
+ areStatePropsEqual: x,
+ areOwnPropsEqual: w,
+ areMergedPropsEqual: C
+ };
+ function ConnectFunction(o) {
+ const [i, _, w] = HS.useMemo(() => {
+ const { reactReduxForwardedRef: s, ...i } = o;
+ return [o.context, s, i];
+ }, [o]),
+ x = HS.useMemo(() => B, [i, B]),
+ C = HS.useContext(x),
+ j = Boolean(o.store) && Boolean(o.store.getState) && Boolean(o.store.dispatch),
+ L = Boolean(C) && Boolean(C.store);
+ const $ = j ? o.store : C.store,
+ V = L ? C.getServerState : $.getState,
+ U = HS.useMemo(
+ () =>
+ (function finalPropsSelectorFactory(
+ s,
+ { initMapStateToProps: o, initMapDispatchToProps: i, initMergeProps: u, ..._ }
+ ) {
+ return pureFinalPropsSelectorFactory(o(s, _), i(s, _), u(s, _), s, _);
+ })($.dispatch, u),
+ [$]
+ ),
+ [Y, Z] = HS.useMemo(() => {
+ if (!z) return Ox;
+ const s = createSubscription($, j ? void 0 : C.subscription),
+ o = s.notifyNestedSubs.bind(s);
+ return [s, o];
+ }, [$, j, C]),
+ ee = HS.useMemo(() => (j ? C : { ...C, subscription: Y }), [j, C, Y]),
+ ie = HS.useRef(void 0),
+ ae = HS.useRef(w),
+ le = HS.useRef(void 0),
+ ce = HS.useRef(!1),
+ pe = HS.useRef(!1),
+ de = HS.useRef(void 0);
+ mx(
+ () => (
+ (pe.current = !0),
+ () => {
+ pe.current = !1;
+ }
+ ),
+ []
+ );
+ const fe = HS.useMemo(
+ () => () => (le.current && w === ae.current ? le.current : U($.getState(), w)),
+ [$, w]
+ ),
+ ye = HS.useMemo(
+ () => (s) =>
+ Y
+ ? (function subscribeUpdates(s, o, i, u, _, w, x, C, j, L, B) {
+ if (!s) return () => {};
+ let $ = !1,
+ V = null;
+ const checkForUpdates = () => {
+ if ($ || !C.current) return;
+ const s = o.getState();
+ let i, U;
+ try {
+ i = u(s, _.current);
+ } catch (s) {
+ (U = s), (V = s);
+ }
+ U || (V = null),
+ i === w.current
+ ? x.current || L()
+ : ((w.current = i), (j.current = i), (x.current = !0), B());
+ };
+ return (
+ (i.onStateChange = checkForUpdates),
+ i.trySubscribe(),
+ checkForUpdates(),
+ () => {
+ if ((($ = !0), i.tryUnsubscribe(), (i.onStateChange = null), V))
+ throw V;
+ }
+ );
+ })(z, $, Y, U, ae, ie, ce, pe, le, Z, s)
+ : () => {},
+ [Y]
+ );
+ let be;
+ !(function useIsomorphicLayoutEffectWithArgs(s, o, i) {
+ mx(() => s(...o), i);
+ })(captureWrapperProps, [ae, ie, ce, w, le, Z]);
+ try {
+ be = Cx(ye, fe, V ? () => U(V(), w) : fe);
+ } catch (s) {
+ throw (
+ (de.current &&
+ (s.message += `\nThe error may be correlated with this previous error:\n${de.current.stack}\n\n`),
+ s)
+ );
+ }
+ mx(() => {
+ (de.current = void 0), (le.current = void 0), (ie.current = be);
+ });
+ const _e = HS.useMemo(() => HS.createElement(s, { ...be, ref: _ }), [_, s, be]);
+ return HS.useMemo(
+ () => (z ? HS.createElement(x.Provider, { value: ee }, _e) : _e),
+ [x, _e, ee]
+ );
+ }
+ const L = HS.memo(ConnectFunction);
+ if (((L.WrappedComponent = s), (L.displayName = ConnectFunction.displayName = i), j)) {
+ const o = HS.forwardRef(function forwardConnectRef(s, o) {
+ return HS.createElement(L, { ...s, reactReduxForwardedRef: o });
+ });
+ return (o.displayName = i), (o.WrappedComponent = s), hoistNonReactStatics(o, s);
+ }
+ return hoistNonReactStatics(L, s);
+ };
+ };
+ var jx = function Provider({
+ store: s,
+ context: o,
+ children: i,
+ serverState: u,
+ stabilityCheck: _ = 'once',
+ identityFunctionCheck: w = 'once'
+ }) {
+ const x = HS.useMemo(() => {
+ const o = createSubscription(s);
+ return {
+ store: s,
+ subscription: o,
+ getServerState: u ? () => u : void 0,
+ stabilityCheck: _,
+ identityFunctionCheck: w
+ };
+ }, [s, u, _, w]),
+ C = HS.useMemo(() => s.getState(), [s]);
+ mx(() => {
+ const { subscription: o } = x;
+ return (
+ (o.onStateChange = o.notifyNestedSubs),
+ o.trySubscribe(),
+ C !== s.getState() && o.notifyNestedSubs(),
+ () => {
+ o.tryUnsubscribe(), (o.onStateChange = void 0);
+ }
+ );
+ }, [x, C]);
+ const j = o || YS;
+ return HS.createElement(j.Provider, { value: x }, i);
+ };
+ var Ix;
+ (Ix = KS.useSyncExternalStoreWithSelector),
+ ((s) => {
+ Cx = s;
+ })(Pe.useSyncExternalStore);
+ var Px = __webpack_require__(83488),
+ Mx = __webpack_require__.n(Px);
+ const withSystem = (s) => (o) => {
+ const { fn: i } = s();
+ class WithSystem extends Pe.Component {
+ render() {
+ return Pe.createElement(o, Rn()({}, s(), this.props, this.context));
+ }
+ }
+ return (WithSystem.displayName = `WithSystem(${i.getDisplayName(o)})`), WithSystem;
+ },
+ withRoot = (s, o) => (i) => {
+ const { fn: u } = s();
+ class WithRoot extends Pe.Component {
+ render() {
+ return Pe.createElement(
+ jx,
+ { store: o },
+ Pe.createElement(i, Rn()({}, this.props, this.context))
+ );
+ }
+ }
+ return (WithRoot.displayName = `WithRoot(${u.getDisplayName(i)})`), WithRoot;
+ },
+ withConnect = (s, o, i) =>
+ compose(
+ i ? withRoot(s, i) : Mx(),
+ Ax((i, u) => {
+ const _ = { ...u, ...s() },
+ w = o.prototype?.mapStateToProps || ((s) => ({ state: s }));
+ return w(i, _);
+ }),
+ withSystem(s)
+ )(o),
+ handleProps = (s, o, i, u) => {
+ for (const _ in o) {
+ const w = o[_];
+ 'function' == typeof w && w(i[_], u[_], s());
+ }
+ },
+ withMappedContainer = (s, o, i) => (o, u) => {
+ const { fn: _ } = s(),
+ w = i(o, 'root');
+ class WithMappedContainer extends Pe.Component {
+ constructor(o, i) {
+ super(o, i), handleProps(s, u, o, {});
+ }
+ UNSAFE_componentWillReceiveProps(o) {
+ handleProps(s, u, o, this.props);
+ }
+ render() {
+ const s = Yt()(this.props, u ? Object.keys(u) : []);
+ return Pe.createElement(w, s);
+ }
+ }
+ return (
+ (WithMappedContainer.displayName = `WithMappedContainer(${_.getDisplayName(w)})`),
+ WithMappedContainer
+ );
+ },
+ render = (s, o, i, u) => (_) => {
+ const w = i(s, o, u)('App', 'root'),
+ { createRoot: x } = WS;
+ x(_).render(Pe.createElement(w, null));
+ },
+ getComponent =
+ (s, o, i) =>
+ (u, _, w = {}) => {
+ if ('string' != typeof u)
+ throw new TypeError('Need a string, to fetch a component. Was given a ' + typeof u);
+ const x = i(u);
+ return x
+ ? _
+ ? 'root' === _
+ ? withConnect(s, x, o())
+ : withConnect(s, x)
+ : x
+ : (w.failSilently || s().log.warn('Could not find component:', u), null);
+ },
+ getDisplayName = (s) => s.displayName || s.name || 'Component',
+ view = ({ getComponents: s, getStore: o, getSystem: i }) => {
+ const u = ((s) => jt(s, (...s) => JSON.stringify(s)))(getComponent(i, o, s)),
+ _ = ((s) => utils_memoizeN(s, (...s) => s))(withMappedContainer(i, 0, u));
+ return {
+ rootInjects: {
+ getComponent: u,
+ makeMappedContainer: _,
+ render: render(i, o, getComponent, s)
+ },
+ fn: { getDisplayName }
+ };
+ },
+ view_legacy = ({ React: s, getSystem: o, getStore: i, getComponents: u }) => {
+ const _ = {},
+ w = parseInt(s?.version, 10);
+ return (
+ w >= 16 &&
+ w < 18 &&
+ (_.render = ((s, o, i, u) => (_) => {
+ const w = i(s, o, u)('App', 'root');
+ WS.render(Pe.createElement(w, null), _);
+ })(o, i, getComponent, u)),
+ { rootInjects: _ }
+ );
+ };
+ function downloadUrlPlugin(s) {
+ let { fn: o } = s;
+ const i = {
+ download:
+ (s) =>
+ ({ errActions: i, specSelectors: u, specActions: _, getConfigs: w }) => {
+ let { fetch: x } = o;
+ const C = w();
+ function next(o) {
+ if (o instanceof Error || o.status >= 400)
+ return (
+ _.updateLoadingStatus('failed'),
+ i.newThrownErr(
+ Object.assign(new Error((o.message || o.statusText) + ' ' + s), {
+ source: 'fetch'
+ })
+ ),
+ void (
+ !o.status &&
+ o instanceof Error &&
+ (function checkPossibleFailReasons() {
+ try {
+ let o;
+ if (
+ ('URL' in at
+ ? (o = new URL(s))
+ : ((o = document.createElement('a')), (o.href = s)),
+ 'https:' !== o.protocol && 'https:' === at.location.protocol)
+ ) {
+ const s = Object.assign(
+ new Error(
+ `Possible mixed-content issue? The page was loaded over https:// but a ${o.protocol}// URL was specified. Check that you are not attempting to load mixed content.`
+ ),
+ { source: 'fetch' }
+ );
+ return void i.newThrownErr(s);
+ }
+ if (o.origin !== at.location.origin) {
+ const s = Object.assign(
+ new Error(
+ `Possible cross-origin (CORS) issue? The URL origin (${o.origin}) does not match the page (${at.location.origin}). Check the server returns the correct 'Access-Control-Allow-*' headers.`
+ ),
+ { source: 'fetch' }
+ );
+ i.newThrownErr(s);
+ }
+ } catch (s) {
+ return;
+ }
+ })()
+ )
+ );
+ _.updateLoadingStatus('success'),
+ _.updateSpec(o.text),
+ u.url() !== s && _.updateUrl(s);
+ }
+ (s = s || u.url()),
+ _.updateLoadingStatus('loading'),
+ i.clear({ source: 'fetch' }),
+ x({
+ url: s,
+ loadSpec: !0,
+ requestInterceptor: C.requestInterceptor || ((s) => s),
+ responseInterceptor: C.responseInterceptor || ((s) => s),
+ credentials: 'same-origin',
+ headers: { Accept: 'application/json,*/*' }
+ }).then(next, next);
+ },
+ updateLoadingStatus: (s) => {
+ let o = [null, 'loading', 'failed', 'success', 'failedConfig'];
+ return (
+ -1 === o.indexOf(s) &&
+ console.error(`Error: ${s} is not one of ${JSON.stringify(o)}`),
+ { type: 'spec_update_loading_status', payload: s }
+ );
+ }
+ };
+ let u = {
+ loadingStatus: Ut(
+ (s) => s || (0, qe.Map)(),
+ (s) => s.get('loadingStatus') || null
+ )
+ };
+ return {
+ statePlugins: {
+ spec: {
+ actions: i,
+ reducers: {
+ spec_update_loading_status: (s, o) =>
+ 'string' == typeof o.payload ? s.set('loadingStatus', o.payload) : s
+ },
+ selectors: u
+ }
+ }
+ };
+ }
+ function arrayLikeToArray_arrayLikeToArray(s, o) {
+ (null == o || o > s.length) && (o = s.length);
+ for (var i = 0, u = Array(o); i < o; i++) u[i] = s[i];
+ return u;
+ }
+ function toConsumableArray_toConsumableArray(s) {
+ return (
+ (function arrayWithoutHoles_arrayWithoutHoles(s) {
+ if (Array.isArray(s)) return arrayLikeToArray_arrayLikeToArray(s);
+ })(s) ||
+ (function iterableToArray_iterableToArray(s) {
+ if (
+ ('undefined' != typeof Symbol && null != s[Symbol.iterator]) ||
+ null != s['@@iterator']
+ )
+ return Array.from(s);
+ })(s) ||
+ (function unsupportedIterableToArray_unsupportedIterableToArray(s, o) {
+ if (s) {
+ if ('string' == typeof s) return arrayLikeToArray_arrayLikeToArray(s, o);
+ var i = {}.toString.call(s).slice(8, -1);
+ return (
+ 'Object' === i && s.constructor && (i = s.constructor.name),
+ 'Map' === i || 'Set' === i
+ ? Array.from(s)
+ : 'Arguments' === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)
+ ? arrayLikeToArray_arrayLikeToArray(s, o)
+ : void 0
+ );
+ }
+ })(s) ||
+ (function nonIterableSpread_nonIterableSpread() {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
+ );
+ })()
+ );
+ }
+ function typeof_typeof(s) {
+ return (
+ (typeof_typeof =
+ 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator
+ ? function (s) {
+ return typeof s;
+ }
+ : function (s) {
+ return s &&
+ 'function' == typeof Symbol &&
+ s.constructor === Symbol &&
+ s !== Symbol.prototype
+ ? 'symbol'
+ : typeof s;
+ }),
+ typeof_typeof(s)
+ );
+ }
+ function toPropertyKey(s) {
+ var o = (function toPrimitive(s, o) {
+ if ('object' != typeof_typeof(s) || !s) return s;
+ var i = s[Symbol.toPrimitive];
+ if (void 0 !== i) {
+ var u = i.call(s, o || 'default');
+ if ('object' != typeof_typeof(u)) return u;
+ throw new TypeError('@@toPrimitive must return a primitive value.');
+ }
+ return ('string' === o ? String : Number)(s);
+ })(s, 'string');
+ return 'symbol' == typeof_typeof(o) ? o : o + '';
+ }
+ function defineProperty_defineProperty(s, o, i) {
+ return (
+ (o = toPropertyKey(o)) in s
+ ? Object.defineProperty(s, o, {
+ value: i,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ })
+ : (s[o] = i),
+ s
+ );
+ }
+ function extends_extends() {
+ return (
+ (extends_extends = Object.assign
+ ? Object.assign.bind()
+ : function (s) {
+ for (var o = 1; o < arguments.length; o++) {
+ var i = arguments[o];
+ for (var u in i) ({}).hasOwnProperty.call(i, u) && (s[u] = i[u]);
+ }
+ return s;
+ }),
+ extends_extends.apply(null, arguments)
+ );
+ }
+ function create_element_ownKeys(s, o) {
+ var i = Object.keys(s);
+ if (Object.getOwnPropertySymbols) {
+ var u = Object.getOwnPropertySymbols(s);
+ o &&
+ (u = u.filter(function (o) {
+ return Object.getOwnPropertyDescriptor(s, o).enumerable;
+ })),
+ i.push.apply(i, u);
+ }
+ return i;
+ }
+ function _objectSpread(s) {
+ for (var o = 1; o < arguments.length; o++) {
+ var i = null != arguments[o] ? arguments[o] : {};
+ o % 2
+ ? create_element_ownKeys(Object(i), !0).forEach(function (o) {
+ defineProperty_defineProperty(s, o, i[o]);
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(s, Object.getOwnPropertyDescriptors(i))
+ : create_element_ownKeys(Object(i)).forEach(function (o) {
+ Object.defineProperty(s, o, Object.getOwnPropertyDescriptor(i, o));
+ });
+ }
+ return s;
+ }
+ var Tx = {};
+ function createStyleObject(s) {
+ var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
+ i = arguments.length > 2 ? arguments[2] : void 0;
+ return (function getClassNameCombinations(s) {
+ if (0 === s.length || 1 === s.length) return s;
+ var o = s.join('.');
+ return (
+ Tx[o] ||
+ (Tx[o] = (function powerSetPermutations(s) {
+ var o = s.length;
+ return 0 === o || 1 === o
+ ? s
+ : 2 === o
+ ? [
+ s[0],
+ s[1],
+ ''.concat(s[0], '.').concat(s[1]),
+ ''.concat(s[1], '.').concat(s[0])
+ ]
+ : 3 === o
+ ? [
+ s[0],
+ s[1],
+ s[2],
+ ''.concat(s[0], '.').concat(s[1]),
+ ''.concat(s[0], '.').concat(s[2]),
+ ''.concat(s[1], '.').concat(s[0]),
+ ''.concat(s[1], '.').concat(s[2]),
+ ''.concat(s[2], '.').concat(s[0]),
+ ''.concat(s[2], '.').concat(s[1]),
+ ''.concat(s[0], '.').concat(s[1], '.').concat(s[2]),
+ ''.concat(s[0], '.').concat(s[2], '.').concat(s[1]),
+ ''.concat(s[1], '.').concat(s[0], '.').concat(s[2]),
+ ''.concat(s[1], '.').concat(s[2], '.').concat(s[0]),
+ ''.concat(s[2], '.').concat(s[0], '.').concat(s[1]),
+ ''.concat(s[2], '.').concat(s[1], '.').concat(s[0])
+ ]
+ : o >= 4
+ ? [
+ s[0],
+ s[1],
+ s[2],
+ s[3],
+ ''.concat(s[0], '.').concat(s[1]),
+ ''.concat(s[0], '.').concat(s[2]),
+ ''.concat(s[0], '.').concat(s[3]),
+ ''.concat(s[1], '.').concat(s[0]),
+ ''.concat(s[1], '.').concat(s[2]),
+ ''.concat(s[1], '.').concat(s[3]),
+ ''.concat(s[2], '.').concat(s[0]),
+ ''.concat(s[2], '.').concat(s[1]),
+ ''.concat(s[2], '.').concat(s[3]),
+ ''.concat(s[3], '.').concat(s[0]),
+ ''.concat(s[3], '.').concat(s[1]),
+ ''.concat(s[3], '.').concat(s[2]),
+ ''.concat(s[0], '.').concat(s[1], '.').concat(s[2]),
+ ''.concat(s[0], '.').concat(s[1], '.').concat(s[3]),
+ ''.concat(s[0], '.').concat(s[2], '.').concat(s[1]),
+ ''.concat(s[0], '.').concat(s[2], '.').concat(s[3]),
+ ''.concat(s[0], '.').concat(s[3], '.').concat(s[1]),
+ ''.concat(s[0], '.').concat(s[3], '.').concat(s[2]),
+ ''.concat(s[1], '.').concat(s[0], '.').concat(s[2]),
+ ''.concat(s[1], '.').concat(s[0], '.').concat(s[3]),
+ ''.concat(s[1], '.').concat(s[2], '.').concat(s[0]),
+ ''.concat(s[1], '.').concat(s[2], '.').concat(s[3]),
+ ''.concat(s[1], '.').concat(s[3], '.').concat(s[0]),
+ ''.concat(s[1], '.').concat(s[3], '.').concat(s[2]),
+ ''.concat(s[2], '.').concat(s[0], '.').concat(s[1]),
+ ''.concat(s[2], '.').concat(s[0], '.').concat(s[3]),
+ ''.concat(s[2], '.').concat(s[1], '.').concat(s[0]),
+ ''.concat(s[2], '.').concat(s[1], '.').concat(s[3]),
+ ''.concat(s[2], '.').concat(s[3], '.').concat(s[0]),
+ ''.concat(s[2], '.').concat(s[3], '.').concat(s[1]),
+ ''.concat(s[3], '.').concat(s[0], '.').concat(s[1]),
+ ''.concat(s[3], '.').concat(s[0], '.').concat(s[2]),
+ ''.concat(s[3], '.').concat(s[1], '.').concat(s[0]),
+ ''.concat(s[3], '.').concat(s[1], '.').concat(s[2]),
+ ''.concat(s[3], '.').concat(s[2], '.').concat(s[0]),
+ ''.concat(s[3], '.').concat(s[2], '.').concat(s[1]),
+ ''.concat(s[0], '.').concat(s[1], '.').concat(s[2], '.').concat(s[3]),
+ ''.concat(s[0], '.').concat(s[1], '.').concat(s[3], '.').concat(s[2]),
+ ''.concat(s[0], '.').concat(s[2], '.').concat(s[1], '.').concat(s[3]),
+ ''.concat(s[0], '.').concat(s[2], '.').concat(s[3], '.').concat(s[1]),
+ ''.concat(s[0], '.').concat(s[3], '.').concat(s[1], '.').concat(s[2]),
+ ''.concat(s[0], '.').concat(s[3], '.').concat(s[2], '.').concat(s[1]),
+ ''.concat(s[1], '.').concat(s[0], '.').concat(s[2], '.').concat(s[3]),
+ ''.concat(s[1], '.').concat(s[0], '.').concat(s[3], '.').concat(s[2]),
+ ''.concat(s[1], '.').concat(s[2], '.').concat(s[0], '.').concat(s[3]),
+ ''.concat(s[1], '.').concat(s[2], '.').concat(s[3], '.').concat(s[0]),
+ ''.concat(s[1], '.').concat(s[3], '.').concat(s[0], '.').concat(s[2]),
+ ''.concat(s[1], '.').concat(s[3], '.').concat(s[2], '.').concat(s[0]),
+ ''.concat(s[2], '.').concat(s[0], '.').concat(s[1], '.').concat(s[3]),
+ ''.concat(s[2], '.').concat(s[0], '.').concat(s[3], '.').concat(s[1]),
+ ''.concat(s[2], '.').concat(s[1], '.').concat(s[0], '.').concat(s[3]),
+ ''.concat(s[2], '.').concat(s[1], '.').concat(s[3], '.').concat(s[0]),
+ ''.concat(s[2], '.').concat(s[3], '.').concat(s[0], '.').concat(s[1]),
+ ''.concat(s[2], '.').concat(s[3], '.').concat(s[1], '.').concat(s[0]),
+ ''.concat(s[3], '.').concat(s[0], '.').concat(s[1], '.').concat(s[2]),
+ ''.concat(s[3], '.').concat(s[0], '.').concat(s[2], '.').concat(s[1]),
+ ''.concat(s[3], '.').concat(s[1], '.').concat(s[0], '.').concat(s[2]),
+ ''.concat(s[3], '.').concat(s[1], '.').concat(s[2], '.').concat(s[0]),
+ ''.concat(s[3], '.').concat(s[2], '.').concat(s[0], '.').concat(s[1]),
+ ''.concat(s[3], '.').concat(s[2], '.').concat(s[1], '.').concat(s[0])
+ ]
+ : void 0;
+ })(s)),
+ Tx[o]
+ );
+ })(
+ s.filter(function (s) {
+ return 'token' !== s;
+ })
+ ).reduce(function (s, o) {
+ return _objectSpread(_objectSpread({}, s), i[o]);
+ }, o);
+ }
+ function createClassNameString(s) {
+ return s.join(' ');
+ }
+ function createElement(s) {
+ var o = s.node,
+ i = s.stylesheet,
+ u = s.style,
+ _ = void 0 === u ? {} : u,
+ w = s.useInlineStyles,
+ x = s.key,
+ C = o.properties,
+ j = o.type,
+ L = o.tagName,
+ B = o.value;
+ if ('text' === j) return B;
+ if (L) {
+ var $,
+ V = (function createChildren(s, o) {
+ var i = 0;
+ return function (u) {
+ return (
+ (i += 1),
+ u.map(function (u, _) {
+ return createElement({
+ node: u,
+ stylesheet: s,
+ useInlineStyles: o,
+ key: 'code-segment-'.concat(i, '-').concat(_)
+ });
+ })
+ );
+ };
+ })(i, w);
+ if (w) {
+ var U = Object.keys(i).reduce(function (s, o) {
+ return (
+ o.split('.').forEach(function (o) {
+ s.includes(o) || s.push(o);
+ }),
+ s
+ );
+ }, []),
+ z = C.className && C.className.includes('token') ? ['token'] : [],
+ Y =
+ C.className &&
+ z.concat(
+ C.className.filter(function (s) {
+ return !U.includes(s);
+ })
+ );
+ $ = _objectSpread(
+ _objectSpread({}, C),
+ {},
+ {
+ className: createClassNameString(Y) || void 0,
+ style: createStyleObject(C.className, Object.assign({}, C.style, _), i)
+ }
+ );
+ } else
+ $ = _objectSpread(
+ _objectSpread({}, C),
+ {},
+ { className: createClassNameString(C.className) }
+ );
+ var Z = V(o.children);
+ return Pe.createElement(L, extends_extends({ key: x }, $), Z);
+ }
+ }
+ var Nx = [
+ 'language',
+ 'children',
+ 'style',
+ 'customStyle',
+ 'codeTagProps',
+ 'useInlineStyles',
+ 'showLineNumbers',
+ 'showInlineLineNumbers',
+ 'startingLineNumber',
+ 'lineNumberContainerStyle',
+ 'lineNumberStyle',
+ 'wrapLines',
+ 'wrapLongLines',
+ 'lineProps',
+ 'renderer',
+ 'PreTag',
+ 'CodeTag',
+ 'code',
+ 'astGenerator'
+ ];
+ function highlight_ownKeys(s, o) {
+ var i = Object.keys(s);
+ if (Object.getOwnPropertySymbols) {
+ var u = Object.getOwnPropertySymbols(s);
+ o &&
+ (u = u.filter(function (o) {
+ return Object.getOwnPropertyDescriptor(s, o).enumerable;
+ })),
+ i.push.apply(i, u);
+ }
+ return i;
+ }
+ function highlight_objectSpread(s) {
+ for (var o = 1; o < arguments.length; o++) {
+ var i = null != arguments[o] ? arguments[o] : {};
+ o % 2
+ ? highlight_ownKeys(Object(i), !0).forEach(function (o) {
+ defineProperty_defineProperty(s, o, i[o]);
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(s, Object.getOwnPropertyDescriptors(i))
+ : highlight_ownKeys(Object(i)).forEach(function (o) {
+ Object.defineProperty(s, o, Object.getOwnPropertyDescriptor(i, o));
+ });
+ }
+ return s;
+ }
+ var Rx = /\n/g;
+ function AllLineNumbers(s) {
+ var o = s.codeString,
+ i = s.codeStyle,
+ u = s.containerStyle,
+ _ = void 0 === u ? { float: 'left', paddingRight: '10px' } : u,
+ w = s.numberStyle,
+ x = void 0 === w ? {} : w,
+ C = s.startingLineNumber;
+ return Pe.createElement(
+ 'code',
+ { style: Object.assign({}, i, _) },
+ (function getAllLineNumbers(s) {
+ var o = s.lines,
+ i = s.startingLineNumber,
+ u = s.style;
+ return o.map(function (s, o) {
+ var _ = o + i;
+ return Pe.createElement(
+ 'span',
+ {
+ key: 'line-'.concat(o),
+ className: 'react-syntax-highlighter-line-number',
+ style: 'function' == typeof u ? u(_) : u
+ },
+ ''.concat(_, '\n')
+ );
+ });
+ })({ lines: o.replace(/\n$/, '').split('\n'), style: x, startingLineNumber: C })
+ );
+ }
+ function getInlineLineNumber(s, o) {
+ return {
+ type: 'element',
+ tagName: 'span',
+ properties: {
+ key: 'line-number--'.concat(s),
+ className: ['comment', 'linenumber', 'react-syntax-highlighter-line-number'],
+ style: o
+ },
+ children: [{ type: 'text', value: s }]
+ };
+ }
+ function assembleLineNumberStyles(s, o, i) {
+ var u,
+ _ = {
+ display: 'inline-block',
+ minWidth: ((u = i), ''.concat(u.toString().length, '.25em')),
+ paddingRight: '1em',
+ textAlign: 'right',
+ userSelect: 'none'
+ },
+ w = 'function' == typeof s ? s(o) : s;
+ return highlight_objectSpread(highlight_objectSpread({}, _), w);
+ }
+ function createLineElement(s) {
+ var o = s.children,
+ i = s.lineNumber,
+ u = s.lineNumberStyle,
+ _ = s.largestLineNumber,
+ w = s.showInlineLineNumbers,
+ x = s.lineProps,
+ C = void 0 === x ? {} : x,
+ j = s.className,
+ L = void 0 === j ? [] : j,
+ B = s.showLineNumbers,
+ $ = s.wrapLongLines,
+ V = s.wrapLines,
+ U =
+ void 0 !== V && V
+ ? highlight_objectSpread({}, 'function' == typeof C ? C(i) : C)
+ : {};
+ if (
+ ((U.className = U.className
+ ? [].concat(
+ toConsumableArray_toConsumableArray(U.className.trim().split(/\s+/)),
+ toConsumableArray_toConsumableArray(L)
+ )
+ : L),
+ i && w)
+ ) {
+ var z = assembleLineNumberStyles(u, i, _);
+ o.unshift(getInlineLineNumber(i, z));
+ }
+ return (
+ $ & B && (U.style = highlight_objectSpread({ display: 'flex' }, U.style)),
+ { type: 'element', tagName: 'span', properties: U, children: o }
+ );
+ }
+ function flattenCodeTree(s) {
+ for (
+ var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
+ i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [],
+ u = 0;
+ u < s.length;
+ u++
+ ) {
+ var _ = s[u];
+ if ('text' === _.type)
+ i.push(
+ createLineElement({
+ children: [_],
+ className: toConsumableArray_toConsumableArray(new Set(o))
+ })
+ );
+ else if (_.children) {
+ var w = o.concat(_.properties.className);
+ flattenCodeTree(_.children, w).forEach(function (s) {
+ return i.push(s);
+ });
+ }
+ }
+ return i;
+ }
+ function processLines(s, o, i, u, _, w, x, C, j) {
+ var L,
+ B = flattenCodeTree(s.value),
+ $ = [],
+ V = -1,
+ U = 0;
+ function createLine(s, w) {
+ var L = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];
+ return o || L.length > 0
+ ? (function createWrappedLine(s, w) {
+ return createLineElement({
+ children: s,
+ lineNumber: w,
+ lineNumberStyle: C,
+ largestLineNumber: x,
+ showInlineLineNumbers: _,
+ lineProps: i,
+ className: arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [],
+ showLineNumbers: u,
+ wrapLongLines: j,
+ wrapLines: o
+ });
+ })(s, w, L)
+ : (function createUnwrappedLine(s, o) {
+ if (u && o && _) {
+ var i = assembleLineNumberStyles(C, o, x);
+ s.unshift(getInlineLineNumber(o, i));
+ }
+ return s;
+ })(s, w);
+ }
+ for (
+ var z = function _loop() {
+ var s = B[U],
+ o = s.children[0].value,
+ i = (function getNewLines(s) {
+ return s.match(Rx);
+ })(o);
+ if (i) {
+ var _ = o.split('\n');
+ _.forEach(function (o, i) {
+ var x = u && $.length + w,
+ C = { type: 'text', value: ''.concat(o, '\n') };
+ if (0 === i) {
+ var j = createLine(
+ B.slice(V + 1, U).concat(
+ createLineElement({ children: [C], className: s.properties.className })
+ ),
+ x
+ );
+ $.push(j);
+ } else if (i === _.length - 1) {
+ var L = B[U + 1] && B[U + 1].children && B[U + 1].children[0],
+ z = { type: 'text', value: ''.concat(o) };
+ if (L) {
+ var Y = createLineElement({
+ children: [z],
+ className: s.properties.className
+ });
+ B.splice(U + 1, 0, Y);
+ } else {
+ var Z = createLine([z], x, s.properties.className);
+ $.push(Z);
+ }
+ } else {
+ var ee = createLine([C], x, s.properties.className);
+ $.push(ee);
+ }
+ }),
+ (V = U);
+ }
+ U++;
+ };
+ U < B.length;
+
+ )
+ z();
+ if (V !== B.length - 1) {
+ var Y = B.slice(V + 1, B.length);
+ if (Y && Y.length) {
+ var Z = createLine(Y, u && $.length + w);
+ $.push(Z);
+ }
+ }
+ return o ? $ : (L = []).concat.apply(L, $);
+ }
+ function defaultRenderer(s) {
+ var o = s.rows,
+ i = s.stylesheet,
+ u = s.useInlineStyles;
+ return o.map(function (s, o) {
+ return createElement({
+ node: s,
+ stylesheet: i,
+ useInlineStyles: u,
+ key: 'code-segement'.concat(o)
+ });
+ });
+ }
+ function isHighlightJs(s) {
+ return s && void 0 !== s.highlightAuto;
+ }
+ var Dx = __webpack_require__(43768),
+ Lx = (function highlight(s, o) {
+ return function SyntaxHighlighter(i) {
+ var u = i.language,
+ _ = i.children,
+ w = i.style,
+ x = void 0 === w ? o : w,
+ C = i.customStyle,
+ j = void 0 === C ? {} : C,
+ L = i.codeTagProps,
+ B =
+ void 0 === L
+ ? {
+ className: u ? 'language-'.concat(u) : void 0,
+ style: highlight_objectSpread(
+ highlight_objectSpread({}, x['code[class*="language-"]']),
+ x['code[class*="language-'.concat(u, '"]')]
+ )
+ }
+ : L,
+ $ = i.useInlineStyles,
+ V = void 0 === $ || $,
+ U = i.showLineNumbers,
+ z = void 0 !== U && U,
+ Y = i.showInlineLineNumbers,
+ Z = void 0 === Y || Y,
+ ee = i.startingLineNumber,
+ ie = void 0 === ee ? 1 : ee,
+ ae = i.lineNumberContainerStyle,
+ le = i.lineNumberStyle,
+ ce = void 0 === le ? {} : le,
+ pe = i.wrapLines,
+ de = i.wrapLongLines,
+ fe = void 0 !== de && de,
+ ye = i.lineProps,
+ be = void 0 === ye ? {} : ye,
+ _e = i.renderer,
+ we = i.PreTag,
+ Se = void 0 === we ? 'pre' : we,
+ xe = i.CodeTag,
+ Te = void 0 === xe ? 'code' : xe,
+ Re = i.code,
+ qe = void 0 === Re ? (Array.isArray(_) ? _[0] : _) || '' : Re,
+ $e = i.astGenerator,
+ ze = (function _objectWithoutProperties(s, o) {
+ if (null == s) return {};
+ var i,
+ u,
+ _ = (function _objectWithoutPropertiesLoose(s, o) {
+ if (null == s) return {};
+ var i = {};
+ for (var u in s)
+ if ({}.hasOwnProperty.call(s, u)) {
+ if (o.includes(u)) continue;
+ i[u] = s[u];
+ }
+ return i;
+ })(s, o);
+ if (Object.getOwnPropertySymbols) {
+ var w = Object.getOwnPropertySymbols(s);
+ for (u = 0; u < w.length; u++)
+ (i = w[u]),
+ o.includes(i) || ({}.propertyIsEnumerable.call(s, i) && (_[i] = s[i]));
+ }
+ return _;
+ })(i, Nx);
+ $e = $e || s;
+ var We = z
+ ? Pe.createElement(AllLineNumbers, {
+ containerStyle: ae,
+ codeStyle: B.style || {},
+ numberStyle: ce,
+ startingLineNumber: ie,
+ codeString: qe
+ })
+ : null,
+ He = x.hljs || x['pre[class*="language-"]'] || { backgroundColor: '#fff' },
+ Ye = isHighlightJs($e) ? 'hljs' : 'prismjs',
+ Xe = V
+ ? Object.assign({}, ze, { style: Object.assign({}, He, j) })
+ : Object.assign({}, ze, {
+ className: ze.className ? ''.concat(Ye, ' ').concat(ze.className) : Ye,
+ style: Object.assign({}, j)
+ });
+ if (
+ ((B.style = highlight_objectSpread(
+ fe ? { whiteSpace: 'pre-wrap' } : { whiteSpace: 'pre' },
+ B.style
+ )),
+ !$e)
+ )
+ return Pe.createElement(Se, Xe, We, Pe.createElement(Te, B, qe));
+ ((void 0 === pe && _e) || fe) && (pe = !0), (_e = _e || defaultRenderer);
+ var Qe = [{ type: 'text', value: qe }],
+ et = (function getCodeTree(s) {
+ var o = s.astGenerator,
+ i = s.language,
+ u = s.code,
+ _ = s.defaultCodeValue;
+ if (isHighlightJs(o)) {
+ var w = (function (s, o) {
+ return -1 !== s.listLanguages().indexOf(o);
+ })(o, i);
+ return 'text' === i
+ ? { value: _, language: 'text' }
+ : w
+ ? o.highlight(i, u)
+ : o.highlightAuto(u);
+ }
+ try {
+ return i && 'text' !== i ? { value: o.highlight(u, i) } : { value: _ };
+ } catch (s) {
+ return { value: _ };
+ }
+ })({ astGenerator: $e, language: u, code: qe, defaultCodeValue: Qe });
+ null === et.language && (et.value = Qe);
+ var tt = et.value.length;
+ 1 === tt &&
+ 'text' === et.value[0].type &&
+ (tt = et.value[0].value.split('\n').length);
+ var rt = processLines(et, pe, be, z, Z, ie, tt + ie, ce, fe);
+ return Pe.createElement(
+ Se,
+ Xe,
+ Pe.createElement(
+ Te,
+ B,
+ !Z && We,
+ _e({ rows: rt, stylesheet: x, useInlineStyles: V })
+ )
+ );
+ };
+ })(Dx, {});
+ Lx.registerLanguage = Dx.registerLanguage;
+ const Bx = Lx;
+ var Fx = __webpack_require__(95089);
+ const qx = __webpack_require__.n(Fx)();
+ var $x = __webpack_require__(65772);
+ const Vx = __webpack_require__.n($x)();
+ var Ux = __webpack_require__(17285);
+ const zx = __webpack_require__.n(Ux)();
+ var Wx = __webpack_require__(35344);
+ const Kx = __webpack_require__.n(Wx)();
+ var Hx = __webpack_require__(17533);
+ const Jx = __webpack_require__.n(Hx)();
+ var Gx = __webpack_require__(73402);
+ const Yx = __webpack_require__.n(Gx)();
+ var Xx = __webpack_require__(26571);
+ const Zx = __webpack_require__.n(Xx)(),
+ after_load = () => {
+ Bx.registerLanguage('json', Vx),
+ Bx.registerLanguage('js', qx),
+ Bx.registerLanguage('xml', zx),
+ Bx.registerLanguage('yaml', Jx),
+ Bx.registerLanguage('http', Yx),
+ Bx.registerLanguage('bash', Kx),
+ Bx.registerLanguage('powershell', Zx),
+ Bx.registerLanguage('javascript', qx);
+ },
+ Qx = {
+ hljs: {
+ display: 'block',
+ overflowX: 'auto',
+ padding: '0.5em',
+ background: '#333',
+ color: 'white'
+ },
+ 'hljs-name': { fontWeight: 'bold' },
+ 'hljs-strong': { fontWeight: 'bold' },
+ 'hljs-code': { fontStyle: 'italic', color: '#888' },
+ 'hljs-emphasis': { fontStyle: 'italic' },
+ 'hljs-tag': { color: '#62c8f3' },
+ 'hljs-variable': { color: '#ade5fc' },
+ 'hljs-template-variable': { color: '#ade5fc' },
+ 'hljs-selector-id': { color: '#ade5fc' },
+ 'hljs-selector-class': { color: '#ade5fc' },
+ 'hljs-string': { color: '#a2fca2' },
+ 'hljs-bullet': { color: '#d36363' },
+ 'hljs-type': { color: '#ffa' },
+ 'hljs-title': { color: '#ffa' },
+ 'hljs-section': { color: '#ffa' },
+ 'hljs-attribute': { color: '#ffa' },
+ 'hljs-quote': { color: '#ffa' },
+ 'hljs-built_in': { color: '#ffa' },
+ 'hljs-builtin-name': { color: '#ffa' },
+ 'hljs-number': { color: '#d36363' },
+ 'hljs-symbol': { color: '#d36363' },
+ 'hljs-keyword': { color: '#fcc28c' },
+ 'hljs-selector-tag': { color: '#fcc28c' },
+ 'hljs-literal': { color: '#fcc28c' },
+ 'hljs-comment': { color: '#888' },
+ 'hljs-deletion': { color: '#333', backgroundColor: '#fc9b9b' },
+ 'hljs-regexp': { color: '#c6b4f0' },
+ 'hljs-link': { color: '#c6b4f0' },
+ 'hljs-meta': { color: '#fc9b9b' },
+ 'hljs-addition': { backgroundColor: '#a2fca2', color: '#333' }
+ },
+ tk = {
+ agate: Qx,
+ arta: {
+ hljs: {
+ display: 'block',
+ overflowX: 'auto',
+ padding: '0.5em',
+ background: '#222',
+ color: '#aaa'
+ },
+ 'hljs-subst': { color: '#aaa' },
+ 'hljs-section': { color: '#fff', fontWeight: 'bold' },
+ 'hljs-comment': { color: '#444' },
+ 'hljs-quote': { color: '#444' },
+ 'hljs-meta': { color: '#444' },
+ 'hljs-string': { color: '#ffcc33' },
+ 'hljs-symbol': { color: '#ffcc33' },
+ 'hljs-bullet': { color: '#ffcc33' },
+ 'hljs-regexp': { color: '#ffcc33' },
+ 'hljs-number': { color: '#00cc66' },
+ 'hljs-addition': { color: '#00cc66' },
+ 'hljs-built_in': { color: '#32aaee' },
+ 'hljs-builtin-name': { color: '#32aaee' },
+ 'hljs-literal': { color: '#32aaee' },
+ 'hljs-type': { color: '#32aaee' },
+ 'hljs-template-variable': { color: '#32aaee' },
+ 'hljs-attribute': { color: '#32aaee' },
+ 'hljs-link': { color: '#32aaee' },
+ 'hljs-keyword': { color: '#6644aa' },
+ 'hljs-selector-tag': { color: '#6644aa' },
+ 'hljs-name': { color: '#6644aa' },
+ 'hljs-selector-id': { color: '#6644aa' },
+ 'hljs-selector-class': { color: '#6644aa' },
+ 'hljs-title': { color: '#bb1166' },
+ 'hljs-variable': { color: '#bb1166' },
+ 'hljs-deletion': { color: '#bb1166' },
+ 'hljs-template-tag': { color: '#bb1166' },
+ 'hljs-doctag': { fontWeight: 'bold' },
+ 'hljs-strong': { fontWeight: 'bold' },
+ 'hljs-emphasis': { fontStyle: 'italic' }
+ },
+ monokai: {
+ hljs: {
+ display: 'block',
+ overflowX: 'auto',
+ padding: '0.5em',
+ background: '#272822',
+ color: '#ddd'
+ },
+ 'hljs-tag': { color: '#f92672' },
+ 'hljs-keyword': { color: '#f92672', fontWeight: 'bold' },
+ 'hljs-selector-tag': { color: '#f92672', fontWeight: 'bold' },
+ 'hljs-literal': { color: '#f92672', fontWeight: 'bold' },
+ 'hljs-strong': { color: '#f92672' },
+ 'hljs-name': { color: '#f92672' },
+ 'hljs-code': { color: '#66d9ef' },
+ 'hljs-class .hljs-title': { color: 'white' },
+ 'hljs-attribute': { color: '#bf79db' },
+ 'hljs-symbol': { color: '#bf79db' },
+ 'hljs-regexp': { color: '#bf79db' },
+ 'hljs-link': { color: '#bf79db' },
+ 'hljs-string': { color: '#a6e22e' },
+ 'hljs-bullet': { color: '#a6e22e' },
+ 'hljs-subst': { color: '#a6e22e' },
+ 'hljs-title': { color: '#a6e22e', fontWeight: 'bold' },
+ 'hljs-section': { color: '#a6e22e', fontWeight: 'bold' },
+ 'hljs-emphasis': { color: '#a6e22e' },
+ 'hljs-type': { color: '#a6e22e', fontWeight: 'bold' },
+ 'hljs-built_in': { color: '#a6e22e' },
+ 'hljs-builtin-name': { color: '#a6e22e' },
+ 'hljs-selector-attr': { color: '#a6e22e' },
+ 'hljs-selector-pseudo': { color: '#a6e22e' },
+ 'hljs-addition': { color: '#a6e22e' },
+ 'hljs-variable': { color: '#a6e22e' },
+ 'hljs-template-tag': { color: '#a6e22e' },
+ 'hljs-template-variable': { color: '#a6e22e' },
+ 'hljs-comment': { color: '#75715e' },
+ 'hljs-quote': { color: '#75715e' },
+ 'hljs-deletion': { color: '#75715e' },
+ 'hljs-meta': { color: '#75715e' },
+ 'hljs-doctag': { fontWeight: 'bold' },
+ 'hljs-selector-id': { fontWeight: 'bold' }
+ },
+ nord: {
+ hljs: {
+ display: 'block',
+ overflowX: 'auto',
+ padding: '0.5em',
+ background: '#2E3440',
+ color: '#D8DEE9'
+ },
+ 'hljs-subst': { color: '#D8DEE9' },
+ 'hljs-selector-tag': { color: '#81A1C1' },
+ 'hljs-selector-id': { color: '#8FBCBB', fontWeight: 'bold' },
+ 'hljs-selector-class': { color: '#8FBCBB' },
+ 'hljs-selector-attr': { color: '#8FBCBB' },
+ 'hljs-selector-pseudo': { color: '#88C0D0' },
+ 'hljs-addition': { backgroundColor: 'rgba(163, 190, 140, 0.5)' },
+ 'hljs-deletion': { backgroundColor: 'rgba(191, 97, 106, 0.5)' },
+ 'hljs-built_in': { color: '#8FBCBB' },
+ 'hljs-type': { color: '#8FBCBB' },
+ 'hljs-class': { color: '#8FBCBB' },
+ 'hljs-function': { color: '#88C0D0' },
+ 'hljs-function > .hljs-title': { color: '#88C0D0' },
+ 'hljs-keyword': { color: '#81A1C1' },
+ 'hljs-literal': { color: '#81A1C1' },
+ 'hljs-symbol': { color: '#81A1C1' },
+ 'hljs-number': { color: '#B48EAD' },
+ 'hljs-regexp': { color: '#EBCB8B' },
+ 'hljs-string': { color: '#A3BE8C' },
+ 'hljs-title': { color: '#8FBCBB' },
+ 'hljs-params': { color: '#D8DEE9' },
+ 'hljs-bullet': { color: '#81A1C1' },
+ 'hljs-code': { color: '#8FBCBB' },
+ 'hljs-emphasis': { fontStyle: 'italic' },
+ 'hljs-formula': { color: '#8FBCBB' },
+ 'hljs-strong': { fontWeight: 'bold' },
+ 'hljs-link:hover': { textDecoration: 'underline' },
+ 'hljs-quote': { color: '#4C566A' },
+ 'hljs-comment': { color: '#4C566A' },
+ 'hljs-doctag': { color: '#8FBCBB' },
+ 'hljs-meta': { color: '#5E81AC' },
+ 'hljs-meta-keyword': { color: '#5E81AC' },
+ 'hljs-meta-string': { color: '#A3BE8C' },
+ 'hljs-attr': { color: '#8FBCBB' },
+ 'hljs-attribute': { color: '#D8DEE9' },
+ 'hljs-builtin-name': { color: '#81A1C1' },
+ 'hljs-name': { color: '#81A1C1' },
+ 'hljs-section': { color: '#88C0D0' },
+ 'hljs-tag': { color: '#81A1C1' },
+ 'hljs-variable': { color: '#D8DEE9' },
+ 'hljs-template-variable': { color: '#D8DEE9' },
+ 'hljs-template-tag': { color: '#5E81AC' },
+ 'abnf .hljs-attribute': { color: '#88C0D0' },
+ 'abnf .hljs-symbol': { color: '#EBCB8B' },
+ 'apache .hljs-attribute': { color: '#88C0D0' },
+ 'apache .hljs-section': { color: '#81A1C1' },
+ 'arduino .hljs-built_in': { color: '#88C0D0' },
+ 'aspectj .hljs-meta': { color: '#D08770' },
+ 'aspectj > .hljs-title': { color: '#88C0D0' },
+ 'bnf .hljs-attribute': { color: '#8FBCBB' },
+ 'clojure .hljs-name': { color: '#88C0D0' },
+ 'clojure .hljs-symbol': { color: '#EBCB8B' },
+ 'coq .hljs-built_in': { color: '#88C0D0' },
+ 'cpp .hljs-meta-string': { color: '#8FBCBB' },
+ 'css .hljs-built_in': { color: '#88C0D0' },
+ 'css .hljs-keyword': { color: '#D08770' },
+ 'diff .hljs-meta': { color: '#8FBCBB' },
+ 'ebnf .hljs-attribute': { color: '#8FBCBB' },
+ 'glsl .hljs-built_in': { color: '#88C0D0' },
+ 'groovy .hljs-meta:not(:first-child)': { color: '#D08770' },
+ 'haxe .hljs-meta': { color: '#D08770' },
+ 'java .hljs-meta': { color: '#D08770' },
+ 'ldif .hljs-attribute': { color: '#8FBCBB' },
+ 'lisp .hljs-name': { color: '#88C0D0' },
+ 'lua .hljs-built_in': { color: '#88C0D0' },
+ 'moonscript .hljs-built_in': { color: '#88C0D0' },
+ 'nginx .hljs-attribute': { color: '#88C0D0' },
+ 'nginx .hljs-section': { color: '#5E81AC' },
+ 'pf .hljs-built_in': { color: '#88C0D0' },
+ 'processing .hljs-built_in': { color: '#88C0D0' },
+ 'scss .hljs-keyword': { color: '#81A1C1' },
+ 'stylus .hljs-keyword': { color: '#81A1C1' },
+ 'swift .hljs-meta': { color: '#D08770' },
+ 'vim .hljs-built_in': { color: '#88C0D0', fontStyle: 'italic' },
+ 'yaml .hljs-meta': { color: '#D08770' }
+ },
+ obsidian: {
+ hljs: {
+ display: 'block',
+ overflowX: 'auto',
+ padding: '0.5em',
+ background: '#282b2e',
+ color: '#e0e2e4'
+ },
+ 'hljs-keyword': { color: '#93c763', fontWeight: 'bold' },
+ 'hljs-selector-tag': { color: '#93c763', fontWeight: 'bold' },
+ 'hljs-literal': { color: '#93c763', fontWeight: 'bold' },
+ 'hljs-selector-id': { color: '#93c763' },
+ 'hljs-number': { color: '#ffcd22' },
+ 'hljs-attribute': { color: '#668bb0' },
+ 'hljs-code': { color: 'white' },
+ 'hljs-class .hljs-title': { color: 'white' },
+ 'hljs-section': { color: 'white', fontWeight: 'bold' },
+ 'hljs-regexp': { color: '#d39745' },
+ 'hljs-link': { color: '#d39745' },
+ 'hljs-meta': { color: '#557182' },
+ 'hljs-tag': { color: '#8cbbad' },
+ 'hljs-name': { color: '#8cbbad', fontWeight: 'bold' },
+ 'hljs-bullet': { color: '#8cbbad' },
+ 'hljs-subst': { color: '#8cbbad' },
+ 'hljs-emphasis': { color: '#8cbbad' },
+ 'hljs-type': { color: '#8cbbad', fontWeight: 'bold' },
+ 'hljs-built_in': { color: '#8cbbad' },
+ 'hljs-selector-attr': { color: '#8cbbad' },
+ 'hljs-selector-pseudo': { color: '#8cbbad' },
+ 'hljs-addition': { color: '#8cbbad' },
+ 'hljs-variable': { color: '#8cbbad' },
+ 'hljs-template-tag': { color: '#8cbbad' },
+ 'hljs-template-variable': { color: '#8cbbad' },
+ 'hljs-string': { color: '#ec7600' },
+ 'hljs-symbol': { color: '#ec7600' },
+ 'hljs-comment': { color: '#818e96' },
+ 'hljs-quote': { color: '#818e96' },
+ 'hljs-deletion': { color: '#818e96' },
+ 'hljs-selector-class': { color: '#A082BD' },
+ 'hljs-doctag': { fontWeight: 'bold' },
+ 'hljs-title': { fontWeight: 'bold' },
+ 'hljs-strong': { fontWeight: 'bold' }
+ },
+ 'tomorrow-night': {
+ 'hljs-comment': { color: '#969896' },
+ 'hljs-quote': { color: '#969896' },
+ 'hljs-variable': { color: '#cc6666' },
+ 'hljs-template-variable': { color: '#cc6666' },
+ 'hljs-tag': { color: '#cc6666' },
+ 'hljs-name': { color: '#cc6666' },
+ 'hljs-selector-id': { color: '#cc6666' },
+ 'hljs-selector-class': { color: '#cc6666' },
+ 'hljs-regexp': { color: '#cc6666' },
+ 'hljs-deletion': { color: '#cc6666' },
+ 'hljs-number': { color: '#de935f' },
+ 'hljs-built_in': { color: '#de935f' },
+ 'hljs-builtin-name': { color: '#de935f' },
+ 'hljs-literal': { color: '#de935f' },
+ 'hljs-type': { color: '#de935f' },
+ 'hljs-params': { color: '#de935f' },
+ 'hljs-meta': { color: '#de935f' },
+ 'hljs-link': { color: '#de935f' },
+ 'hljs-attribute': { color: '#f0c674' },
+ 'hljs-string': { color: '#b5bd68' },
+ 'hljs-symbol': { color: '#b5bd68' },
+ 'hljs-bullet': { color: '#b5bd68' },
+ 'hljs-addition': { color: '#b5bd68' },
+ 'hljs-title': { color: '#81a2be' },
+ 'hljs-section': { color: '#81a2be' },
+ 'hljs-keyword': { color: '#b294bb' },
+ 'hljs-selector-tag': { color: '#b294bb' },
+ hljs: {
+ display: 'block',
+ overflowX: 'auto',
+ background: '#1d1f21',
+ color: '#c5c8c6',
+ padding: '0.5em'
+ },
+ 'hljs-emphasis': { fontStyle: 'italic' },
+ 'hljs-strong': { fontWeight: 'bold' }
+ },
+ idea: {
+ hljs: {
+ display: 'block',
+ overflowX: 'auto',
+ padding: '0.5em',
+ color: '#000',
+ background: '#fff'
+ },
+ 'hljs-subst': { fontWeight: 'normal', color: '#000' },
+ 'hljs-title': { fontWeight: 'normal', color: '#000' },
+ 'hljs-comment': { color: '#808080', fontStyle: 'italic' },
+ 'hljs-quote': { color: '#808080', fontStyle: 'italic' },
+ 'hljs-meta': { color: '#808000' },
+ 'hljs-tag': { background: '#efefef' },
+ 'hljs-section': { fontWeight: 'bold', color: '#000080' },
+ 'hljs-name': { fontWeight: 'bold', color: '#000080' },
+ 'hljs-literal': { fontWeight: 'bold', color: '#000080' },
+ 'hljs-keyword': { fontWeight: 'bold', color: '#000080' },
+ 'hljs-selector-tag': { fontWeight: 'bold', color: '#000080' },
+ 'hljs-type': { fontWeight: 'bold', color: '#000080' },
+ 'hljs-selector-id': { fontWeight: 'bold', color: '#000080' },
+ 'hljs-selector-class': { fontWeight: 'bold', color: '#000080' },
+ 'hljs-attribute': { fontWeight: 'bold', color: '#0000ff' },
+ 'hljs-number': { fontWeight: 'normal', color: '#0000ff' },
+ 'hljs-regexp': { fontWeight: 'normal', color: '#0000ff' },
+ 'hljs-link': { fontWeight: 'normal', color: '#0000ff' },
+ 'hljs-string': { color: '#008000', fontWeight: 'bold' },
+ 'hljs-symbol': { color: '#000', background: '#d0eded', fontStyle: 'italic' },
+ 'hljs-bullet': { color: '#000', background: '#d0eded', fontStyle: 'italic' },
+ 'hljs-formula': { color: '#000', background: '#d0eded', fontStyle: 'italic' },
+ 'hljs-doctag': { textDecoration: 'underline' },
+ 'hljs-variable': { color: '#660e7a' },
+ 'hljs-template-variable': { color: '#660e7a' },
+ 'hljs-addition': { background: '#baeeba' },
+ 'hljs-deletion': { background: '#ffc8bd' },
+ 'hljs-emphasis': { fontStyle: 'italic' },
+ 'hljs-strong': { fontWeight: 'bold' }
+ }
+ },
+ rk = Qx,
+ components_SyntaxHighlighter = ({
+ language: s,
+ className: o = '',
+ getConfigs: i,
+ syntaxHighlighting: u = {},
+ children: _ = ''
+ }) => {
+ const w = i().syntaxHighlight.theme,
+ { styles: x, defaultStyle: C } = u,
+ j = x?.[w] ?? C;
+ return Pe.createElement(Bx, { language: s, className: o, style: j }, _);
+ };
+ var nk = __webpack_require__(5419),
+ sk = __webpack_require__.n(nk);
+ const components_HighlightCode = ({
+ fileName: s = 'response.txt',
+ className: o,
+ downloadable: i,
+ getComponent: u,
+ canCopy: _,
+ language: w,
+ children: x
+ }) => {
+ const C = (0, Pe.useRef)(null),
+ j = u('SyntaxHighlighter', !0),
+ handlePreventYScrollingBeyondElement = (s) => {
+ const { target: o, deltaY: i } = s,
+ { scrollHeight: u, offsetHeight: _, scrollTop: w } = o;
+ u > _ && ((0 === w && i < 0) || (_ + w >= u && i > 0)) && s.preventDefault();
+ };
+ return (
+ (0, Pe.useEffect)(() => {
+ const s = Array.from(C.current.childNodes).filter(
+ (s) => !!s.nodeType && s.classList.contains('microlight')
+ );
+ return (
+ s.forEach((s) =>
+ s.addEventListener('mousewheel', handlePreventYScrollingBeyondElement, {
+ passive: !1
+ })
+ ),
+ () => {
+ s.forEach((s) =>
+ s.removeEventListener('mousewheel', handlePreventYScrollingBeyondElement)
+ );
+ }
+ );
+ }, [x, o, w]),
+ Pe.createElement(
+ 'div',
+ { className: 'highlight-code', ref: C },
+ _ &&
+ Pe.createElement(
+ 'div',
+ { className: 'copy-to-clipboard' },
+ Pe.createElement(
+ Jn.CopyToClipboard,
+ { text: x },
+ Pe.createElement('button', null)
+ )
+ ),
+ i
+ ? Pe.createElement(
+ 'button',
+ {
+ className: 'download-contents',
+ onClick: () => {
+ sk()(x, s);
+ }
+ },
+ 'Download'
+ )
+ : null,
+ Pe.createElement(
+ j,
+ {
+ language: w,
+ className: Hn()(o, 'microlight'),
+ renderPlainText: ({ children: s, PlainTextViewer: i }) =>
+ Pe.createElement(i, { className: o }, s)
+ },
+ x
+ )
+ )
+ );
+ },
+ components_PlainTextViewer = ({ className: s = '', children: o }) =>
+ Pe.createElement('pre', { className: Hn()('microlight', s) }, o),
+ wrap_components_SyntaxHighlighter =
+ (s, o) =>
+ ({ renderPlainText: i, children: u, ..._ }) => {
+ const w = o.getConfigs().syntaxHighlight.activated,
+ x = o.getComponent('PlainTextViewer');
+ return w || 'function' != typeof i
+ ? w
+ ? Pe.createElement(s, _, u)
+ : Pe.createElement(x, null, u)
+ : i({ children: u, PlainTextViewer: x });
+ },
+ SyntaxHighlightingPlugin1 = () => ({
+ afterLoad: after_load,
+ rootInjects: { syntaxHighlighting: { styles: tk, defaultStyle: rk } },
+ components: {
+ SyntaxHighlighter: components_SyntaxHighlighter,
+ HighlightCode: components_HighlightCode,
+ PlainTextViewer: components_PlainTextViewer
+ }
+ }),
+ SyntaxHighlightingPlugin2 = () => ({
+ wrapComponents: { SyntaxHighlighter: wrap_components_SyntaxHighlighter }
+ }),
+ syntax_highlighting = () => [SyntaxHighlightingPlugin1, SyntaxHighlightingPlugin2],
+ versions_after_load = () => {
+ const {
+ GIT_DIRTY: s,
+ GIT_COMMIT: o,
+ PACKAGE_VERSION: i,
+ BUILD_TIME: u
+ } = {
+ PACKAGE_VERSION: '5.18.2',
+ GIT_COMMIT: 'g1dd1f7cc',
+ GIT_DIRTY: !0,
+ BUILD_TIME: 'Thu, 07 Nov 2024 14:01:17 GMT'
+ };
+ (at.versions = at.versions || {}),
+ (at.versions.swaggerUI = {
+ version: i,
+ gitRevision: o,
+ gitDirty: s,
+ buildTimestamp: u
+ });
+ },
+ versions = () => ({ afterLoad: versions_after_load });
+ var ok = __webpack_require__(47248),
+ lk = __webpack_require__.n(ok);
+ const uk = console.error,
+ withErrorBoundary = (s) => (o) => {
+ const { getComponent: i, fn: u } = s(),
+ _ = i('ErrorBoundary'),
+ w = u.getDisplayName(o);
+ class WithErrorBoundary extends Pe.Component {
+ render() {
+ return Pe.createElement(
+ _,
+ { targetName: w, getComponent: i, fn: u },
+ Pe.createElement(o, Rn()({}, this.props, this.context))
+ );
+ }
+ }
+ var x;
+ return (
+ (WithErrorBoundary.displayName = `WithErrorBoundary(${w})`),
+ (x = o).prototype &&
+ x.prototype.isReactComponent &&
+ (WithErrorBoundary.prototype.mapStateToProps = o.prototype.mapStateToProps),
+ WithErrorBoundary
+ );
+ },
+ fallback = ({ name: s }) =>
+ Pe.createElement(
+ 'div',
+ { className: 'fallback' },
+ '😱 ',
+ Pe.createElement(
+ 'i',
+ null,
+ 'Could not render ',
+ 't' === s ? 'this component' : s,
+ ', see the console.'
+ )
+ );
+ class ErrorBoundary extends Pe.Component {
+ static defaultProps = {
+ targetName: 'this component',
+ getComponent: () => fallback,
+ fn: { componentDidCatch: uk },
+ children: null
+ };
+ static getDerivedStateFromError(s) {
+ return { hasError: !0, error: s };
+ }
+ constructor(...s) {
+ super(...s), (this.state = { hasError: !1, error: null });
+ }
+ componentDidCatch(s, o) {
+ this.props.fn.componentDidCatch(s, o);
+ }
+ render() {
+ const { getComponent: s, targetName: o, children: i } = this.props;
+ if (this.state.hasError) {
+ const i = s('Fallback');
+ return Pe.createElement(i, { name: o });
+ }
+ return i;
+ }
+ }
+ const pk = ErrorBoundary,
+ safe_render =
+ ({ componentList: s = [], fullOverride: o = !1 } = {}) =>
+ ({ getSystem: i }) => {
+ const u = o
+ ? s
+ : [
+ 'App',
+ 'BaseLayout',
+ 'VersionPragmaFilter',
+ 'InfoContainer',
+ 'ServersContainer',
+ 'SchemesContainer',
+ 'AuthorizeBtnContainer',
+ 'FilterContainer',
+ 'Operations',
+ 'OperationContainer',
+ 'parameters',
+ 'responses',
+ 'OperationServers',
+ 'Models',
+ 'ModelWrapper',
+ ...s
+ ],
+ _ = lk()(
+ u,
+ Array(u.length).fill((s, { fn: o }) => o.withErrorBoundary(s))
+ );
+ return {
+ fn: { componentDidCatch: uk, withErrorBoundary: withErrorBoundary(i) },
+ components: { ErrorBoundary: pk, Fallback: fallback },
+ wrapComponents: _
+ };
+ };
+ class App extends Pe.Component {
+ getLayout() {
+ const { getComponent: s, layoutSelectors: o } = this.props,
+ i = o.current(),
+ u = s(i, !0);
+ return u || (() => Pe.createElement('h1', null, ' No layout defined for "', i, '" '));
+ }
+ render() {
+ const s = this.getLayout();
+ return Pe.createElement(s, null);
+ }
+ }
+ const fk = App;
+ class AuthorizationPopup extends Pe.Component {
+ close = () => {
+ let { authActions: s } = this.props;
+ s.showDefinitions(!1);
+ };
+ render() {
+ let {
+ authSelectors: s,
+ authActions: o,
+ getComponent: i,
+ errSelectors: u,
+ specSelectors: _,
+ fn: { AST: w = {} }
+ } = this.props,
+ x = s.shownDefinitions();
+ const C = i('auths'),
+ j = i('CloseIcon');
+ return Pe.createElement(
+ 'div',
+ { className: 'dialog-ux' },
+ Pe.createElement('div', { className: 'backdrop-ux' }),
+ Pe.createElement(
+ 'div',
+ { className: 'modal-ux' },
+ Pe.createElement(
+ 'div',
+ { className: 'modal-dialog-ux' },
+ Pe.createElement(
+ 'div',
+ { className: 'modal-ux-inner' },
+ Pe.createElement(
+ 'div',
+ { className: 'modal-ux-header' },
+ Pe.createElement('h3', null, 'Available authorizations'),
+ Pe.createElement(
+ 'button',
+ { type: 'button', className: 'close-modal', onClick: this.close },
+ Pe.createElement(j, null)
+ )
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'modal-ux-content' },
+ x
+ .valueSeq()
+ .map((x, j) =>
+ Pe.createElement(C, {
+ key: j,
+ AST: w,
+ definitions: x,
+ getComponent: i,
+ errSelectors: u,
+ authSelectors: s,
+ authActions: o,
+ specSelectors: _
+ })
+ )
+ )
+ )
+ )
+ )
+ );
+ }
+ }
+ class AuthorizeBtn extends Pe.Component {
+ render() {
+ let { isAuthorized: s, showPopup: o, onClick: i, getComponent: u } = this.props;
+ const _ = u('authorizationPopup', !0),
+ w = u('LockAuthIcon', !0),
+ x = u('UnlockAuthIcon', !0);
+ return Pe.createElement(
+ 'div',
+ { className: 'auth-wrapper' },
+ Pe.createElement(
+ 'button',
+ { className: s ? 'btn authorize locked' : 'btn authorize unlocked', onClick: i },
+ Pe.createElement('span', null, 'Authorize'),
+ s ? Pe.createElement(w, null) : Pe.createElement(x, null)
+ ),
+ o && Pe.createElement(_, null)
+ );
+ }
+ }
+ class AuthorizeBtnContainer extends Pe.Component {
+ render() {
+ const {
+ authActions: s,
+ authSelectors: o,
+ specSelectors: i,
+ getComponent: u
+ } = this.props,
+ _ = i.securityDefinitions(),
+ w = o.definitionsToAuthorize(),
+ x = u('authorizeBtn');
+ return _
+ ? Pe.createElement(x, {
+ onClick: () => s.showDefinitions(w),
+ isAuthorized: !!o.authorized().size,
+ showPopup: !!o.shownDefinitions(),
+ getComponent: u
+ })
+ : null;
+ }
+ }
+ class AuthorizeOperationBtn extends Pe.Component {
+ onClick = (s) => {
+ s.stopPropagation();
+ let { onClick: o } = this.props;
+ o && o();
+ };
+ render() {
+ let { isAuthorized: s, getComponent: o } = this.props;
+ const i = o('LockAuthOperationIcon', !0),
+ u = o('UnlockAuthOperationIcon', !0);
+ return Pe.createElement(
+ 'button',
+ {
+ className: 'authorization__btn',
+ 'aria-label': s ? 'authorization button locked' : 'authorization button unlocked',
+ onClick: this.onClick
+ },
+ s
+ ? Pe.createElement(i, { className: 'locked' })
+ : Pe.createElement(u, { className: 'unlocked' })
+ );
+ }
+ }
+ class Auths extends Pe.Component {
+ constructor(s, o) {
+ super(s, o), (this.state = {});
+ }
+ onAuthChange = (s) => {
+ let { name: o } = s;
+ this.setState({ [o]: s });
+ };
+ submitAuth = (s) => {
+ s.preventDefault();
+ let { authActions: o } = this.props;
+ o.authorizeWithPersistOption(this.state);
+ };
+ logoutClick = (s) => {
+ s.preventDefault();
+ let { authActions: o, definitions: i } = this.props,
+ u = i.map((s, o) => o).toArray();
+ this.setState(u.reduce((s, o) => ((s[o] = ''), s), {})), o.logoutWithPersistOption(u);
+ };
+ close = (s) => {
+ s.preventDefault();
+ let { authActions: o } = this.props;
+ o.showDefinitions(!1);
+ };
+ render() {
+ let { definitions: s, getComponent: o, authSelectors: i, errSelectors: u } = this.props;
+ const _ = o('AuthItem'),
+ w = o('oauth2', !0),
+ x = o('Button');
+ let C = i.authorized(),
+ j = s.filter((s, o) => !!C.get(o)),
+ L = s.filter((s) => 'oauth2' !== s.get('type')),
+ B = s.filter((s) => 'oauth2' === s.get('type'));
+ return Pe.createElement(
+ 'div',
+ { className: 'auth-container' },
+ !!L.size &&
+ Pe.createElement(
+ 'form',
+ { onSubmit: this.submitAuth },
+ L.map((s, i) =>
+ Pe.createElement(_, {
+ key: i,
+ schema: s,
+ name: i,
+ getComponent: o,
+ onAuthChange: this.onAuthChange,
+ authorized: C,
+ errSelectors: u
+ })
+ ).toArray(),
+ Pe.createElement(
+ 'div',
+ { className: 'auth-btn-wrapper' },
+ L.size === j.size
+ ? Pe.createElement(
+ x,
+ {
+ className: 'btn modal-btn auth',
+ onClick: this.logoutClick,
+ 'aria-label': 'Remove authorization'
+ },
+ 'Logout'
+ )
+ : Pe.createElement(
+ x,
+ {
+ type: 'submit',
+ className: 'btn modal-btn auth authorize',
+ 'aria-label': 'Apply credentials'
+ },
+ 'Authorize'
+ ),
+ Pe.createElement(
+ x,
+ { className: 'btn modal-btn auth btn-done', onClick: this.close },
+ 'Close'
+ )
+ )
+ ),
+ B && B.size
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'div',
+ { className: 'scope-def' },
+ Pe.createElement(
+ 'p',
+ null,
+ 'Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.'
+ ),
+ Pe.createElement(
+ 'p',
+ null,
+ 'API requires the following scopes. Select which ones you want to grant to Swagger UI.'
+ )
+ ),
+ s
+ .filter((s) => 'oauth2' === s.get('type'))
+ .map((s, o) =>
+ Pe.createElement(
+ 'div',
+ { key: o },
+ Pe.createElement(w, { authorized: C, schema: s, name: o })
+ )
+ )
+ .toArray()
+ )
+ : null
+ );
+ }
+ }
+ class auth_item_Auths extends Pe.Component {
+ render() {
+ let {
+ schema: s,
+ name: o,
+ getComponent: i,
+ onAuthChange: u,
+ authorized: _,
+ errSelectors: w
+ } = this.props;
+ const x = i('apiKeyAuth'),
+ C = i('basicAuth');
+ let j;
+ const L = s.get('type');
+ switch (L) {
+ case 'apiKey':
+ j = Pe.createElement(x, {
+ key: o,
+ schema: s,
+ name: o,
+ errSelectors: w,
+ authorized: _,
+ getComponent: i,
+ onChange: u
+ });
+ break;
+ case 'basic':
+ j = Pe.createElement(C, {
+ key: o,
+ schema: s,
+ name: o,
+ errSelectors: w,
+ authorized: _,
+ getComponent: i,
+ onChange: u
+ });
+ break;
+ default:
+ j = Pe.createElement('div', { key: o }, 'Unknown security definition type ', L);
+ }
+ return Pe.createElement('div', { key: `${o}-jump` }, j);
+ }
+ }
+ class AuthError extends Pe.Component {
+ render() {
+ let { error: s } = this.props,
+ o = s.get('level'),
+ i = s.get('message'),
+ u = s.get('source');
+ return Pe.createElement(
+ 'div',
+ { className: 'errors' },
+ Pe.createElement('b', null, u, ' ', o),
+ Pe.createElement('span', null, i)
+ );
+ }
+ }
+ class ApiKeyAuth extends Pe.Component {
+ constructor(s, o) {
+ super(s, o);
+ let { name: i, schema: u } = this.props,
+ _ = this.getValue();
+ this.state = { name: i, schema: u, value: _ };
+ }
+ getValue() {
+ let { name: s, authorized: o } = this.props;
+ return o && o.getIn([s, 'value']);
+ }
+ onChange = (s) => {
+ let { onChange: o } = this.props,
+ i = s.target.value,
+ u = Object.assign({}, this.state, { value: i });
+ this.setState(u), o(u);
+ };
+ render() {
+ let { schema: s, getComponent: o, errSelectors: i, name: u } = this.props;
+ const _ = o('Input'),
+ w = o('Row'),
+ x = o('Col'),
+ C = o('authError'),
+ j = o('Markdown', !0),
+ L = o('JumpToPath', !0);
+ let B = this.getValue(),
+ $ = i.allErrors().filter((s) => s.get('authId') === u);
+ return Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'h4',
+ null,
+ Pe.createElement('code', null, u || s.get('name')),
+ ' (apiKey)',
+ Pe.createElement(L, { path: ['securityDefinitions', u] })
+ ),
+ B && Pe.createElement('h6', null, 'Authorized'),
+ Pe.createElement(w, null, Pe.createElement(j, { source: s.get('description') })),
+ Pe.createElement(
+ w,
+ null,
+ Pe.createElement('p', null, 'Name: ', Pe.createElement('code', null, s.get('name')))
+ ),
+ Pe.createElement(
+ w,
+ null,
+ Pe.createElement('p', null, 'In: ', Pe.createElement('code', null, s.get('in')))
+ ),
+ Pe.createElement(
+ w,
+ null,
+ Pe.createElement('label', { htmlFor: 'api_key_value' }, 'Value:'),
+ B
+ ? Pe.createElement('code', null, ' ****** ')
+ : Pe.createElement(
+ x,
+ null,
+ Pe.createElement(_, {
+ id: 'api_key_value',
+ type: 'text',
+ onChange: this.onChange,
+ autoFocus: !0
+ })
+ )
+ ),
+ $.valueSeq().map((s, o) => Pe.createElement(C, { error: s, key: o }))
+ );
+ }
+ }
+ class BasicAuth extends Pe.Component {
+ constructor(s, o) {
+ super(s, o);
+ let { schema: i, name: u } = this.props,
+ _ = this.getValue().username;
+ this.state = { name: u, schema: i, value: _ ? { username: _ } : {} };
+ }
+ getValue() {
+ let { authorized: s, name: o } = this.props;
+ return (s && s.getIn([o, 'value'])) || {};
+ }
+ onChange = (s) => {
+ let { onChange: o } = this.props,
+ { value: i, name: u } = s.target,
+ _ = this.state.value;
+ (_[u] = i), this.setState({ value: _ }), o(this.state);
+ };
+ render() {
+ let { schema: s, getComponent: o, name: i, errSelectors: u } = this.props;
+ const _ = o('Input'),
+ w = o('Row'),
+ x = o('Col'),
+ C = o('authError'),
+ j = o('JumpToPath', !0),
+ L = o('Markdown', !0);
+ let B = this.getValue().username,
+ $ = u.allErrors().filter((s) => s.get('authId') === i);
+ return Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'h4',
+ null,
+ 'Basic authorization',
+ Pe.createElement(j, { path: ['securityDefinitions', i] })
+ ),
+ B && Pe.createElement('h6', null, 'Authorized'),
+ Pe.createElement(w, null, Pe.createElement(L, { source: s.get('description') })),
+ Pe.createElement(
+ w,
+ null,
+ Pe.createElement('label', { htmlFor: 'auth_username' }, 'Username:'),
+ B
+ ? Pe.createElement('code', null, ' ', B, ' ')
+ : Pe.createElement(
+ x,
+ null,
+ Pe.createElement(_, {
+ id: 'auth_username',
+ type: 'text',
+ required: 'required',
+ name: 'username',
+ onChange: this.onChange,
+ autoFocus: !0
+ })
+ )
+ ),
+ Pe.createElement(
+ w,
+ null,
+ Pe.createElement('label', { htmlFor: 'auth_password' }, 'Password:'),
+ B
+ ? Pe.createElement('code', null, ' ****** ')
+ : Pe.createElement(
+ x,
+ null,
+ Pe.createElement(_, {
+ id: 'auth_password',
+ autoComplete: 'new-password',
+ name: 'password',
+ type: 'password',
+ onChange: this.onChange
+ })
+ )
+ ),
+ $.valueSeq().map((s, o) => Pe.createElement(C, { error: s, key: o }))
+ );
+ }
+ }
+ function example_Example(s) {
+ const { example: o, showValue: i, getComponent: u } = s,
+ _ = u('Markdown', !0),
+ w = u('HighlightCode', !0);
+ return o
+ ? Pe.createElement(
+ 'div',
+ { className: 'example' },
+ o.get('description')
+ ? Pe.createElement(
+ 'section',
+ { className: 'example__section' },
+ Pe.createElement(
+ 'div',
+ { className: 'example__section-header' },
+ 'Example Description'
+ ),
+ Pe.createElement(
+ 'p',
+ null,
+ Pe.createElement(_, { source: o.get('description') })
+ )
+ )
+ : null,
+ i && o.has('value')
+ ? Pe.createElement(
+ 'section',
+ { className: 'example__section' },
+ Pe.createElement(
+ 'div',
+ { className: 'example__section-header' },
+ 'Example Value'
+ ),
+ Pe.createElement(w, null, stringify(o.get('value')))
+ )
+ : null
+ )
+ : null;
+ }
+ class ExamplesSelect extends Pe.PureComponent {
+ static defaultProps = {
+ examples: $e().Map({}),
+ onSelect: (...s) =>
+ console.log('DEBUG: ExamplesSelect was not given an onSelect callback', ...s),
+ currentExampleKey: null,
+ showLabels: !0
+ };
+ _onSelect = (s, { isSyntheticChange: o = !1 } = {}) => {
+ 'function' == typeof this.props.onSelect &&
+ this.props.onSelect(s, { isSyntheticChange: o });
+ };
+ _onDomSelect = (s) => {
+ if ('function' == typeof this.props.onSelect) {
+ const o = s.target.selectedOptions[0].getAttribute('value');
+ this._onSelect(o, { isSyntheticChange: !1 });
+ }
+ };
+ getCurrentExample = () => {
+ const { examples: s, currentExampleKey: o } = this.props,
+ i = s.get(o),
+ u = s.keySeq().first(),
+ _ = s.get(u);
+ return i || _ || Map({});
+ };
+ componentDidMount() {
+ const { onSelect: s, examples: o } = this.props;
+ if ('function' == typeof s) {
+ const s = o.first(),
+ i = o.keyOf(s);
+ this._onSelect(i, { isSyntheticChange: !0 });
+ }
+ }
+ UNSAFE_componentWillReceiveProps(s) {
+ const { currentExampleKey: o, examples: i } = s;
+ if (i !== this.props.examples && !i.has(o)) {
+ const s = i.first(),
+ o = i.keyOf(s);
+ this._onSelect(o, { isSyntheticChange: !0 });
+ }
+ }
+ render() {
+ const {
+ examples: s,
+ currentExampleKey: o,
+ isValueModified: i,
+ isModifiedValueAvailable: u,
+ showLabels: _
+ } = this.props;
+ return Pe.createElement(
+ 'div',
+ { className: 'examples-select' },
+ _
+ ? Pe.createElement(
+ 'span',
+ { className: 'examples-select__section-label' },
+ 'Examples: '
+ )
+ : null,
+ Pe.createElement(
+ 'select',
+ {
+ className: 'examples-select-element',
+ onChange: this._onDomSelect,
+ value: u && i ? '__MODIFIED__VALUE__' : o || ''
+ },
+ u
+ ? Pe.createElement('option', { value: '__MODIFIED__VALUE__' }, '[Modified value]')
+ : null,
+ s
+ .map((s, o) =>
+ Pe.createElement('option', { key: o, value: o }, s.get('summary') || o)
+ )
+ .valueSeq()
+ )
+ );
+ }
+ }
+ const stringifyUnlessList = (s) => (qe.List.isList(s) ? s : stringify(s));
+ class ExamplesSelectValueRetainer extends Pe.PureComponent {
+ static defaultProps = {
+ userHasEditedBody: !1,
+ examples: (0, qe.Map)({}),
+ currentNamespace: '__DEFAULT__NAMESPACE__',
+ setRetainRequestBodyValueFlag: () => {},
+ onSelect: (...s) =>
+ console.log('ExamplesSelectValueRetainer: no `onSelect` function was provided', ...s),
+ updateValue: (...s) =>
+ console.log(
+ 'ExamplesSelectValueRetainer: no `updateValue` function was provided',
+ ...s
+ )
+ };
+ constructor(s) {
+ super(s);
+ const o = this._getCurrentExampleValue();
+ this.state = {
+ [s.currentNamespace]: (0, qe.Map)({
+ lastUserEditedValue: this.props.currentUserInputValue,
+ lastDownstreamValue: o,
+ isModifiedValueSelected:
+ this.props.userHasEditedBody || this.props.currentUserInputValue !== o
+ })
+ };
+ }
+ componentWillUnmount() {
+ this.props.setRetainRequestBodyValueFlag(!1);
+ }
+ _getStateForCurrentNamespace = () => {
+ const { currentNamespace: s } = this.props;
+ return (this.state[s] || (0, qe.Map)()).toObject();
+ };
+ _setStateForCurrentNamespace = (s) => {
+ const { currentNamespace: o } = this.props;
+ return this._setStateForNamespace(o, s);
+ };
+ _setStateForNamespace = (s, o) => {
+ const i = (this.state[s] || (0, qe.Map)()).mergeDeep(o);
+ return this.setState({ [s]: i });
+ };
+ _isCurrentUserInputSameAsExampleValue = () => {
+ const { currentUserInputValue: s } = this.props;
+ return this._getCurrentExampleValue() === s;
+ };
+ _getValueForExample = (s, o) => {
+ const { examples: i } = o || this.props;
+ return stringifyUnlessList((i || (0, qe.Map)({})).getIn([s, 'value']));
+ };
+ _getCurrentExampleValue = (s) => {
+ const { currentKey: o } = s || this.props;
+ return this._getValueForExample(o, s || this.props);
+ };
+ _onExamplesSelect = (s, { isSyntheticChange: o } = {}, ...i) => {
+ const {
+ onSelect: u,
+ updateValue: _,
+ currentUserInputValue: w,
+ userHasEditedBody: x
+ } = this.props,
+ { lastUserEditedValue: C } = this._getStateForCurrentNamespace(),
+ j = this._getValueForExample(s);
+ if ('__MODIFIED__VALUE__' === s)
+ return (
+ _(stringifyUnlessList(C)),
+ this._setStateForCurrentNamespace({ isModifiedValueSelected: !0 })
+ );
+ 'function' == typeof u && u(s, { isSyntheticChange: o }, ...i),
+ this._setStateForCurrentNamespace({
+ lastDownstreamValue: j,
+ isModifiedValueSelected: (o && x) || (!!w && w !== j)
+ }),
+ o || ('function' == typeof _ && _(stringifyUnlessList(j)));
+ };
+ UNSAFE_componentWillReceiveProps(s) {
+ const { currentUserInputValue: o, examples: i, onSelect: u, userHasEditedBody: _ } = s,
+ { lastUserEditedValue: w, lastDownstreamValue: x } =
+ this._getStateForCurrentNamespace(),
+ C = this._getValueForExample(s.currentKey, s),
+ j = i.filter((s) => s.get('value') === o || stringify(s.get('value')) === o);
+ if (j.size) {
+ let o;
+ (o = j.has(s.currentKey) ? s.currentKey : j.keySeq().first()),
+ u(o, { isSyntheticChange: !0 });
+ } else
+ o !== this.props.currentUserInputValue &&
+ o !== w &&
+ o !== x &&
+ (this.props.setRetainRequestBodyValueFlag(!0),
+ this._setStateForNamespace(s.currentNamespace, {
+ lastUserEditedValue: s.currentUserInputValue,
+ isModifiedValueSelected: _ || o !== C
+ }));
+ }
+ render() {
+ const {
+ currentUserInputValue: s,
+ examples: o,
+ currentKey: i,
+ getComponent: u,
+ userHasEditedBody: _
+ } = this.props,
+ {
+ lastDownstreamValue: w,
+ lastUserEditedValue: x,
+ isModifiedValueSelected: C
+ } = this._getStateForCurrentNamespace(),
+ j = u('ExamplesSelect');
+ return Pe.createElement(j, {
+ examples: o,
+ currentExampleKey: i,
+ onSelect: this._onExamplesSelect,
+ isModifiedValueAvailable: !!x && x !== w,
+ isValueModified: (void 0 !== s && C && s !== this._getCurrentExampleValue()) || _
+ });
+ }
+ }
+ function oauth2_authorize_authorize({
+ auth: s,
+ authActions: o,
+ errActions: i,
+ configs: u,
+ authConfigs: _ = {},
+ currentServer: w
+ }) {
+ let { schema: x, scopes: C, name: j, clientId: L } = s,
+ B = x.get('flow'),
+ $ = [];
+ switch (B) {
+ case 'password':
+ return void o.authorizePassword(s);
+ case 'application':
+ case 'clientCredentials':
+ case 'client_credentials':
+ return void o.authorizeApplication(s);
+ case 'accessCode':
+ case 'authorizationCode':
+ case 'authorization_code':
+ $.push('response_type=code');
+ break;
+ case 'implicit':
+ $.push('response_type=token');
+ }
+ 'string' == typeof L && $.push('client_id=' + encodeURIComponent(L));
+ let V = u.oauth2RedirectUrl;
+ if (void 0 === V)
+ return void i.newAuthErr({
+ authId: j,
+ source: 'validation',
+ level: 'error',
+ message:
+ 'oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed.'
+ });
+ $.push('redirect_uri=' + encodeURIComponent(V));
+ let U = [];
+ if (
+ (Array.isArray(C) ? (U = C) : $e().List.isList(C) && (U = C.toArray()), U.length > 0)
+ ) {
+ let s = _.scopeSeparator || ' ';
+ $.push('scope=' + encodeURIComponent(U.join(s)));
+ }
+ let z = utils_btoa(new Date());
+ if (
+ ($.push('state=' + encodeURIComponent(z)),
+ void 0 !== _.realm && $.push('realm=' + encodeURIComponent(_.realm)),
+ ('authorizationCode' === B || 'authorization_code' === B || 'accessCode' === B) &&
+ _.usePkceWithAuthorizationCodeGrant)
+ ) {
+ const o = (function generateCodeVerifier() {
+ return b64toB64UrlEncoded(St()(32).toString('base64'));
+ })(),
+ i = (function createCodeChallenge(s) {
+ return b64toB64UrlEncoded(kt()('sha256').update(s).digest('base64'));
+ })(o);
+ $.push('code_challenge=' + i),
+ $.push('code_challenge_method=S256'),
+ (s.codeVerifier = o);
+ }
+ let { additionalQueryStringParams: Y } = _;
+ for (let s in Y) void 0 !== Y[s] && $.push([s, Y[s]].map(encodeURIComponent).join('='));
+ const Z = x.get('authorizationUrl');
+ let ee;
+ ee = w ? Mt()(sanitizeUrl(Z), w, !0).toString() : sanitizeUrl(Z);
+ let ie,
+ ae = [ee, $.join('&')].join(-1 === Z.indexOf('?') ? '?' : '&');
+ (ie =
+ 'implicit' === B
+ ? o.preAuthorizeImplicit
+ : _.useBasicAuthenticationWithAccessCodeGrant
+ ? o.authorizeAccessCodeWithBasicAuthentication
+ : o.authorizeAccessCodeWithFormParams),
+ o.authPopup(ae, {
+ auth: s,
+ state: z,
+ redirectUrl: V,
+ callback: ie,
+ errCb: i.newAuthErr
+ });
+ }
+ class Oauth2 extends Pe.Component {
+ constructor(s, o) {
+ super(s, o);
+ let { name: i, schema: u, authorized: _, authSelectors: w } = this.props,
+ x = _ && _.get(i),
+ C = w.getConfigs() || {},
+ j = (x && x.get('username')) || '',
+ L = (x && x.get('clientId')) || C.clientId || '',
+ B = (x && x.get('clientSecret')) || C.clientSecret || '',
+ $ = (x && x.get('passwordType')) || 'basic',
+ V = (x && x.get('scopes')) || C.scopes || [];
+ 'string' == typeof V && (V = V.split(C.scopeSeparator || ' ')),
+ (this.state = {
+ appName: C.appName,
+ name: i,
+ schema: u,
+ scopes: V,
+ clientId: L,
+ clientSecret: B,
+ username: j,
+ password: '',
+ passwordType: $
+ });
+ }
+ close = (s) => {
+ s.preventDefault();
+ let { authActions: o } = this.props;
+ o.showDefinitions(!1);
+ };
+ authorize = () => {
+ let {
+ authActions: s,
+ errActions: o,
+ getConfigs: i,
+ authSelectors: u,
+ oas3Selectors: _
+ } = this.props,
+ w = i(),
+ x = u.getConfigs();
+ o.clear({ authId: name, type: 'auth', source: 'auth' }),
+ oauth2_authorize_authorize({
+ auth: this.state,
+ currentServer: _.serverEffectiveValue(_.selectedServer()),
+ authActions: s,
+ errActions: o,
+ configs: w,
+ authConfigs: x
+ });
+ };
+ onScopeChange = (s) => {
+ let { target: o } = s,
+ { checked: i } = o,
+ u = o.dataset.value;
+ if (i && -1 === this.state.scopes.indexOf(u)) {
+ let s = this.state.scopes.concat([u]);
+ this.setState({ scopes: s });
+ } else
+ !i &&
+ this.state.scopes.indexOf(u) > -1 &&
+ this.setState({ scopes: this.state.scopes.filter((s) => s !== u) });
+ };
+ onInputChange = (s) => {
+ let {
+ target: {
+ dataset: { name: o },
+ value: i
+ }
+ } = s,
+ u = { [o]: i };
+ this.setState(u);
+ };
+ selectScopes = (s) => {
+ s.target.dataset.all
+ ? this.setState({
+ scopes: Array.from(
+ (
+ this.props.schema.get('allowedScopes') || this.props.schema.get('scopes')
+ ).keys()
+ )
+ })
+ : this.setState({ scopes: [] });
+ };
+ logout = (s) => {
+ s.preventDefault();
+ let { authActions: o, errActions: i, name: u } = this.props;
+ i.clear({ authId: u, type: 'auth', source: 'auth' }), o.logoutWithPersistOption([u]);
+ };
+ render() {
+ let {
+ schema: s,
+ getComponent: o,
+ authSelectors: i,
+ errSelectors: u,
+ name: _,
+ specSelectors: w
+ } = this.props;
+ const x = o('Input'),
+ C = o('Row'),
+ j = o('Col'),
+ L = o('Button'),
+ B = o('authError'),
+ $ = o('JumpToPath', !0),
+ V = o('Markdown', !0),
+ U = o('InitializedInput'),
+ { isOAS3: z } = w;
+ let Y = z() ? s.get('openIdConnectUrl') : null;
+ const Z = 'implicit',
+ ee = 'password',
+ ie = z() ? (Y ? 'authorization_code' : 'authorizationCode') : 'accessCode',
+ ae = z() ? (Y ? 'client_credentials' : 'clientCredentials') : 'application';
+ let le = !!(i.getConfigs() || {}).usePkceWithAuthorizationCodeGrant,
+ ce = s.get('flow'),
+ pe = ce === ie && le ? ce + ' with PKCE' : ce,
+ de = s.get('allowedScopes') || s.get('scopes'),
+ fe = !!i.authorized().get(_),
+ ye = u.allErrors().filter((s) => s.get('authId') === _),
+ be = !ye.filter((s) => 'validation' === s.get('source')).size,
+ _e = s.get('description');
+ return Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'h4',
+ null,
+ _,
+ ' (OAuth2, ',
+ pe,
+ ') ',
+ Pe.createElement($, { path: ['securityDefinitions', _] })
+ ),
+ this.state.appName
+ ? Pe.createElement('h5', null, 'Application: ', this.state.appName, ' ')
+ : null,
+ _e && Pe.createElement(V, { source: s.get('description') }),
+ fe && Pe.createElement('h6', null, 'Authorized'),
+ Y &&
+ Pe.createElement(
+ 'p',
+ null,
+ 'OpenID Connect URL: ',
+ Pe.createElement('code', null, Y)
+ ),
+ (ce === Z || ce === ie) &&
+ Pe.createElement(
+ 'p',
+ null,
+ 'Authorization URL: ',
+ Pe.createElement('code', null, s.get('authorizationUrl'))
+ ),
+ (ce === ee || ce === ie || ce === ae) &&
+ Pe.createElement(
+ 'p',
+ null,
+ 'Token URL:',
+ Pe.createElement('code', null, ' ', s.get('tokenUrl'))
+ ),
+ Pe.createElement(
+ 'p',
+ { className: 'flow' },
+ 'Flow: ',
+ Pe.createElement('code', null, pe)
+ ),
+ ce !== ee
+ ? null
+ : Pe.createElement(
+ C,
+ null,
+ Pe.createElement(
+ C,
+ null,
+ Pe.createElement('label', { htmlFor: 'oauth_username' }, 'username:'),
+ fe
+ ? Pe.createElement('code', null, ' ', this.state.username, ' ')
+ : Pe.createElement(
+ j,
+ { tablet: 10, desktop: 10 },
+ Pe.createElement('input', {
+ id: 'oauth_username',
+ type: 'text',
+ 'data-name': 'username',
+ onChange: this.onInputChange,
+ autoFocus: !0
+ })
+ )
+ ),
+ Pe.createElement(
+ C,
+ null,
+ Pe.createElement('label', { htmlFor: 'oauth_password' }, 'password:'),
+ fe
+ ? Pe.createElement('code', null, ' ****** ')
+ : Pe.createElement(
+ j,
+ { tablet: 10, desktop: 10 },
+ Pe.createElement('input', {
+ id: 'oauth_password',
+ type: 'password',
+ 'data-name': 'password',
+ onChange: this.onInputChange
+ })
+ )
+ ),
+ Pe.createElement(
+ C,
+ null,
+ Pe.createElement(
+ 'label',
+ { htmlFor: 'password_type' },
+ 'Client credentials location:'
+ ),
+ fe
+ ? Pe.createElement('code', null, ' ', this.state.passwordType, ' ')
+ : Pe.createElement(
+ j,
+ { tablet: 10, desktop: 10 },
+ Pe.createElement(
+ 'select',
+ {
+ id: 'password_type',
+ 'data-name': 'passwordType',
+ onChange: this.onInputChange
+ },
+ Pe.createElement(
+ 'option',
+ { value: 'basic' },
+ 'Authorization header'
+ ),
+ Pe.createElement('option', { value: 'request-body' }, 'Request body')
+ )
+ )
+ )
+ ),
+ (ce === ae || ce === Z || ce === ie || ce === ee) &&
+ (!fe || (fe && this.state.clientId)) &&
+ Pe.createElement(
+ C,
+ null,
+ Pe.createElement('label', { htmlFor: `client_id_${ce}` }, 'client_id:'),
+ fe
+ ? Pe.createElement('code', null, ' ****** ')
+ : Pe.createElement(
+ j,
+ { tablet: 10, desktop: 10 },
+ Pe.createElement(U, {
+ id: `client_id_${ce}`,
+ type: 'text',
+ required: ce === ee,
+ initialValue: this.state.clientId,
+ 'data-name': 'clientId',
+ onChange: this.onInputChange
+ })
+ )
+ ),
+ (ce === ae || ce === ie || ce === ee) &&
+ Pe.createElement(
+ C,
+ null,
+ Pe.createElement('label', { htmlFor: `client_secret_${ce}` }, 'client_secret:'),
+ fe
+ ? Pe.createElement('code', null, ' ****** ')
+ : Pe.createElement(
+ j,
+ { tablet: 10, desktop: 10 },
+ Pe.createElement(U, {
+ id: `client_secret_${ce}`,
+ initialValue: this.state.clientSecret,
+ type: 'password',
+ 'data-name': 'clientSecret',
+ onChange: this.onInputChange
+ })
+ )
+ ),
+ !fe && de && de.size
+ ? Pe.createElement(
+ 'div',
+ { className: 'scopes' },
+ Pe.createElement(
+ 'h2',
+ null,
+ 'Scopes:',
+ Pe.createElement(
+ 'a',
+ { onClick: this.selectScopes, 'data-all': !0 },
+ 'select all'
+ ),
+ Pe.createElement('a', { onClick: this.selectScopes }, 'select none')
+ ),
+ de
+ .map((s, o) =>
+ Pe.createElement(
+ C,
+ { key: o },
+ Pe.createElement(
+ 'div',
+ { className: 'checkbox' },
+ Pe.createElement(x, {
+ 'data-value': o,
+ id: `${o}-${ce}-checkbox-${this.state.name}`,
+ disabled: fe,
+ checked: this.state.scopes.includes(o),
+ type: 'checkbox',
+ onChange: this.onScopeChange
+ }),
+ Pe.createElement(
+ 'label',
+ { htmlFor: `${o}-${ce}-checkbox-${this.state.name}` },
+ Pe.createElement('span', { className: 'item' }),
+ Pe.createElement(
+ 'div',
+ { className: 'text' },
+ Pe.createElement('p', { className: 'name' }, o),
+ Pe.createElement('p', { className: 'description' }, s)
+ )
+ )
+ )
+ )
+ )
+ .toArray()
+ )
+ : null,
+ ye.valueSeq().map((s, o) => Pe.createElement(B, { error: s, key: o })),
+ Pe.createElement(
+ 'div',
+ { className: 'auth-btn-wrapper' },
+ be &&
+ (fe
+ ? Pe.createElement(
+ L,
+ {
+ className: 'btn modal-btn auth authorize',
+ onClick: this.logout,
+ 'aria-label': 'Remove authorization'
+ },
+ 'Logout'
+ )
+ : Pe.createElement(
+ L,
+ {
+ className: 'btn modal-btn auth authorize',
+ onClick: this.authorize,
+ 'aria-label': 'Apply given OAuth2 credentials'
+ },
+ 'Authorize'
+ )),
+ Pe.createElement(
+ L,
+ { className: 'btn modal-btn auth btn-done', onClick: this.close },
+ 'Close'
+ )
+ )
+ );
+ }
+ }
+ class Clear extends Pe.Component {
+ onClick = () => {
+ let { specActions: s, path: o, method: i } = this.props;
+ s.clearResponse(o, i), s.clearRequest(o, i);
+ };
+ render() {
+ return Pe.createElement(
+ 'button',
+ { className: 'btn btn-clear opblock-control__btn', onClick: this.onClick },
+ 'Clear'
+ );
+ }
+ }
+ const live_response_Headers = ({ headers: s }) =>
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('h5', null, 'Response headers'),
+ Pe.createElement('pre', { className: 'microlight' }, s)
+ ),
+ Duration = ({ duration: s }) =>
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('h5', null, 'Request duration'),
+ Pe.createElement('pre', { className: 'microlight' }, s, ' ms')
+ );
+ class LiveResponse extends Pe.Component {
+ shouldComponentUpdate(s) {
+ return (
+ this.props.response !== s.response ||
+ this.props.path !== s.path ||
+ this.props.method !== s.method ||
+ this.props.displayRequestDuration !== s.displayRequestDuration
+ );
+ }
+ render() {
+ const {
+ response: s,
+ getComponent: o,
+ getConfigs: i,
+ displayRequestDuration: u,
+ specSelectors: _,
+ path: w,
+ method: x
+ } = this.props,
+ { showMutatedRequest: C, requestSnippetsEnabled: j } = i(),
+ L = C ? _.mutatedRequestFor(w, x) : _.requestFor(w, x),
+ B = s.get('status'),
+ $ = L.get('url'),
+ V = s.get('headers').toJS(),
+ U = s.get('notDocumented'),
+ z = s.get('error'),
+ Y = s.get('text'),
+ Z = s.get('duration'),
+ ee = Object.keys(V),
+ ie = V['content-type'] || V['Content-Type'],
+ ae = o('responseBody'),
+ le = ee.map((s) => {
+ var o = Array.isArray(V[s]) ? V[s].join() : V[s];
+ return Pe.createElement(
+ 'span',
+ { className: 'headerline', key: s },
+ ' ',
+ s,
+ ': ',
+ o,
+ ' '
+ );
+ }),
+ ce = 0 !== le.length,
+ pe = o('Markdown', !0),
+ de = o('RequestSnippets', !0),
+ fe = o('curl', !0);
+ return Pe.createElement(
+ 'div',
+ null,
+ L && j ? Pe.createElement(de, { request: L }) : Pe.createElement(fe, { request: L }),
+ $ &&
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'div',
+ { className: 'request-url' },
+ Pe.createElement('h4', null, 'Request URL'),
+ Pe.createElement('pre', { className: 'microlight' }, $)
+ )
+ ),
+ Pe.createElement('h4', null, 'Server response'),
+ Pe.createElement(
+ 'table',
+ { className: 'responses-table live-responses-table' },
+ Pe.createElement(
+ 'thead',
+ null,
+ Pe.createElement(
+ 'tr',
+ { className: 'responses-header' },
+ Pe.createElement('td', { className: 'col_header response-col_status' }, 'Code'),
+ Pe.createElement(
+ 'td',
+ { className: 'col_header response-col_description' },
+ 'Details'
+ )
+ )
+ ),
+ Pe.createElement(
+ 'tbody',
+ null,
+ Pe.createElement(
+ 'tr',
+ { className: 'response' },
+ Pe.createElement(
+ 'td',
+ { className: 'response-col_status' },
+ B,
+ U
+ ? Pe.createElement(
+ 'div',
+ { className: 'response-undocumented' },
+ Pe.createElement('i', null, ' Undocumented ')
+ )
+ : null
+ ),
+ Pe.createElement(
+ 'td',
+ { className: 'response-col_description' },
+ z
+ ? Pe.createElement(pe, {
+ source: `${'' !== s.get('name') ? `${s.get('name')}: ` : ''}${s.get('message')}`
+ })
+ : null,
+ Y
+ ? Pe.createElement(ae, {
+ content: Y,
+ contentType: ie,
+ url: $,
+ headers: V,
+ getConfigs: i,
+ getComponent: o
+ })
+ : null,
+ ce ? Pe.createElement(live_response_Headers, { headers: le }) : null,
+ u && Z ? Pe.createElement(Duration, { duration: Z }) : null
+ )
+ )
+ )
+ )
+ );
+ }
+ }
+ class OnlineValidatorBadge extends Pe.Component {
+ constructor(s, o) {
+ super(s, o);
+ let { getConfigs: i } = s,
+ { validatorUrl: u } = i();
+ this.state = {
+ url: this.getDefinitionUrl(),
+ validatorUrl: void 0 === u ? 'https://validator.swagger.io/validator' : u
+ };
+ }
+ getDefinitionUrl = () => {
+ let { specSelectors: s } = this.props;
+ return new (Mt())(s.url(), at.location).toString();
+ };
+ UNSAFE_componentWillReceiveProps(s) {
+ let { getConfigs: o } = s,
+ { validatorUrl: i } = o();
+ this.setState({
+ url: this.getDefinitionUrl(),
+ validatorUrl: void 0 === i ? 'https://validator.swagger.io/validator' : i
+ });
+ }
+ render() {
+ let { getConfigs: s } = this.props,
+ { spec: o } = s(),
+ i = sanitizeUrl(this.state.validatorUrl);
+ return 'object' == typeof o && Object.keys(o).length
+ ? null
+ : this.state.url &&
+ requiresValidationURL(this.state.validatorUrl) &&
+ requiresValidationURL(this.state.url)
+ ? Pe.createElement(
+ 'span',
+ { className: 'float-right' },
+ Pe.createElement(
+ 'a',
+ {
+ target: '_blank',
+ rel: 'noopener noreferrer',
+ href: `${i}/debug?url=${encodeURIComponent(this.state.url)}`
+ },
+ Pe.createElement(ValidatorImage, {
+ src: `${i}?url=${encodeURIComponent(this.state.url)}`,
+ alt: 'Online validator badge'
+ })
+ )
+ )
+ : null;
+ }
+ }
+ class ValidatorImage extends Pe.Component {
+ constructor(s) {
+ super(s), (this.state = { loaded: !1, error: !1 });
+ }
+ componentDidMount() {
+ const s = new Image();
+ (s.onload = () => {
+ this.setState({ loaded: !0 });
+ }),
+ (s.onerror = () => {
+ this.setState({ error: !0 });
+ }),
+ (s.src = this.props.src);
+ }
+ UNSAFE_componentWillReceiveProps(s) {
+ if (s.src !== this.props.src) {
+ const o = new Image();
+ (o.onload = () => {
+ this.setState({ loaded: !0 });
+ }),
+ (o.onerror = () => {
+ this.setState({ error: !0 });
+ }),
+ (o.src = s.src);
+ }
+ }
+ render() {
+ return this.state.error
+ ? Pe.createElement('img', { alt: 'Error' })
+ : this.state.loaded
+ ? Pe.createElement('img', { src: this.props.src, alt: this.props.alt })
+ : null;
+ }
+ }
+ class Operations extends Pe.Component {
+ render() {
+ let { specSelectors: s } = this.props;
+ const o = s.taggedOperations();
+ return 0 === o.size
+ ? Pe.createElement('h3', null, ' No operations defined in spec!')
+ : Pe.createElement(
+ 'div',
+ null,
+ o.map(this.renderOperationTag).toArray(),
+ o.size < 1
+ ? Pe.createElement('h3', null, ' No operations defined in spec! ')
+ : null
+ );
+ }
+ renderOperationTag = (s, o) => {
+ const {
+ specSelectors: i,
+ getComponent: u,
+ oas3Selectors: _,
+ layoutSelectors: w,
+ layoutActions: x,
+ getConfigs: C
+ } = this.props,
+ j = i.validOperationMethods(),
+ L = u('OperationContainer', !0),
+ B = u('OperationTag'),
+ $ = s.get('operations');
+ return Pe.createElement(
+ B,
+ {
+ key: 'operation-' + o,
+ tagObj: s,
+ tag: o,
+ oas3Selectors: _,
+ layoutSelectors: w,
+ layoutActions: x,
+ getConfigs: C,
+ getComponent: u,
+ specUrl: i.url()
+ },
+ Pe.createElement(
+ 'div',
+ { className: 'operation-tag-content' },
+ $.map((s) => {
+ const i = s.get('path'),
+ u = s.get('method'),
+ _ = $e().List(['paths', i, u]);
+ return -1 === j.indexOf(u)
+ ? null
+ : Pe.createElement(L, {
+ key: `${i}-${u}`,
+ specPath: _,
+ op: s,
+ path: i,
+ method: u,
+ tag: o
+ });
+ }).toArray()
+ )
+ );
+ };
+ }
+ function isAbsoluteUrl(s) {
+ return s.match(/^(?:[a-z]+:)?\/\//i);
+ }
+ function buildBaseUrl(s, o) {
+ return s
+ ? isAbsoluteUrl(s)
+ ? (function addProtocol(s) {
+ return s.match(/^\/\//i) ? `${window.location.protocol}${s}` : s;
+ })(s)
+ : new URL(s, o).href
+ : o;
+ }
+ function safeBuildUrl(s, o, { selectedServer: i = '' } = {}) {
+ try {
+ return (function buildUrl(s, o, { selectedServer: i = '' } = {}) {
+ if (!s) return;
+ if (isAbsoluteUrl(s)) return s;
+ const u = buildBaseUrl(i, o);
+ return isAbsoluteUrl(u) ? new URL(s, u).href : new URL(s, window.location.href).href;
+ })(s, o, { selectedServer: i });
+ } catch {
+ return;
+ }
+ }
+ class OperationTag extends Pe.Component {
+ static defaultProps = { tagObj: $e().fromJS({}), tag: '' };
+ render() {
+ const {
+ tagObj: s,
+ tag: o,
+ children: i,
+ oas3Selectors: u,
+ layoutSelectors: _,
+ layoutActions: w,
+ getConfigs: x,
+ getComponent: C,
+ specUrl: j
+ } = this.props;
+ let { docExpansion: L, deepLinking: B } = x();
+ const $ = C('Collapse'),
+ V = C('Markdown', !0),
+ U = C('DeepLink'),
+ z = C('Link'),
+ Y = C('ArrowUpIcon'),
+ Z = C('ArrowDownIcon');
+ let ee,
+ ie = s.getIn(['tagDetails', 'description'], null),
+ ae = s.getIn(['tagDetails', 'externalDocs', 'description']),
+ le = s.getIn(['tagDetails', 'externalDocs', 'url']);
+ ee =
+ isFunc(u) && isFunc(u.selectedServer)
+ ? safeBuildUrl(le, j, { selectedServer: u.selectedServer() })
+ : le;
+ let ce = ['operations-tag', o],
+ pe = _.isShown(ce, 'full' === L || 'list' === L);
+ return Pe.createElement(
+ 'div',
+ { className: pe ? 'opblock-tag-section is-open' : 'opblock-tag-section' },
+ Pe.createElement(
+ 'h3',
+ {
+ onClick: () => w.show(ce, !pe),
+ className: ie ? 'opblock-tag' : 'opblock-tag no-desc',
+ id: ce.map((s) => escapeDeepLinkPath(s)).join('-'),
+ 'data-tag': o,
+ 'data-is-open': pe
+ },
+ Pe.createElement(U, {
+ enabled: B,
+ isShown: pe,
+ path: createDeepLinkPath(o),
+ text: o
+ }),
+ ie
+ ? Pe.createElement('small', null, Pe.createElement(V, { source: ie }))
+ : Pe.createElement('small', null),
+ ee
+ ? Pe.createElement(
+ 'div',
+ { className: 'info__externaldocs' },
+ Pe.createElement(
+ 'small',
+ null,
+ Pe.createElement(
+ z,
+ {
+ href: sanitizeUrl(ee),
+ onClick: (s) => s.stopPropagation(),
+ target: '_blank'
+ },
+ ae || ee
+ )
+ )
+ )
+ : null,
+ Pe.createElement(
+ 'button',
+ {
+ 'aria-expanded': pe,
+ className: 'expand-operation',
+ title: pe ? 'Collapse operation' : 'Expand operation',
+ onClick: () => w.show(ce, !pe)
+ },
+ pe
+ ? Pe.createElement(Y, { className: 'arrow' })
+ : Pe.createElement(Z, { className: 'arrow' })
+ )
+ ),
+ Pe.createElement($, { isOpened: pe }, i)
+ );
+ }
+ }
+ class operation_Operation extends Pe.PureComponent {
+ static defaultProps = {
+ operation: null,
+ response: null,
+ request: null,
+ specPath: (0, qe.List)(),
+ summary: ''
+ };
+ render() {
+ let {
+ specPath: s,
+ response: o,
+ request: i,
+ toggleShown: u,
+ onTryoutClick: _,
+ onResetClick: w,
+ onCancelClick: x,
+ onExecute: C,
+ fn: j,
+ getComponent: L,
+ getConfigs: B,
+ specActions: $,
+ specSelectors: V,
+ authActions: U,
+ authSelectors: z,
+ oas3Actions: Y,
+ oas3Selectors: Z
+ } = this.props,
+ ee = this.props.operation,
+ {
+ deprecated: ie,
+ isShown: ae,
+ path: le,
+ method: ce,
+ op: pe,
+ tag: de,
+ operationId: fe,
+ allowTryItOut: ye,
+ displayRequestDuration: be,
+ tryItOutEnabled: _e,
+ executeInProgress: we
+ } = ee.toJS(),
+ { description: Se, externalDocs: xe, schemes: Te } = pe;
+ const Re = xe
+ ? safeBuildUrl(xe.url, V.url(), { selectedServer: Z.selectedServer() })
+ : '';
+ let qe = ee.getIn(['op']),
+ ze = qe.get('responses'),
+ We = (function getList(s, o) {
+ if (!$e().Iterable.isIterable(s)) return $e().List();
+ let i = s.getIn(Array.isArray(o) ? o : [o]);
+ return $e().List.isList(i) ? i : $e().List();
+ })(qe, ['parameters']),
+ He = V.operationScheme(le, ce),
+ Ye = ['operations', de, fe],
+ Xe = getExtensions(qe);
+ const Qe = L('responses'),
+ et = L('parameters'),
+ tt = L('execute'),
+ rt = L('clear'),
+ nt = L('Collapse'),
+ st = L('Markdown', !0),
+ ot = L('schemes'),
+ it = L('OperationServers'),
+ at = L('OperationExt'),
+ lt = L('OperationSummary'),
+ ct = L('Link'),
+ { showExtensions: ut } = B();
+ if (ze && o && o.size > 0) {
+ let s = !ze.get(String(o.get('status'))) && !ze.get('default');
+ o = o.set('notDocumented', s);
+ }
+ let pt = [le, ce];
+ const ht = V.validationErrors([le, ce]);
+ return Pe.createElement(
+ 'div',
+ {
+ className: ie
+ ? 'opblock opblock-deprecated'
+ : ae
+ ? `opblock opblock-${ce} is-open`
+ : `opblock opblock-${ce}`,
+ id: escapeDeepLinkPath(Ye.join('-'))
+ },
+ Pe.createElement(lt, {
+ operationProps: ee,
+ isShown: ae,
+ toggleShown: u,
+ getComponent: L,
+ authActions: U,
+ authSelectors: z,
+ specPath: s
+ }),
+ Pe.createElement(
+ nt,
+ { isOpened: ae },
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-body' },
+ (qe && qe.size) || null === qe
+ ? null
+ : Pe.createElement(rolling_load, {
+ height: '32px',
+ width: '32px',
+ className: 'opblock-loading-animation'
+ }),
+ ie &&
+ Pe.createElement(
+ 'h4',
+ { className: 'opblock-title_normal' },
+ ' Warning: Deprecated'
+ ),
+ Se &&
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-description-wrapper' },
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-description' },
+ Pe.createElement(st, { source: Se })
+ )
+ ),
+ Re
+ ? Pe.createElement(
+ 'div',
+ { className: 'opblock-external-docs-wrapper' },
+ Pe.createElement(
+ 'h4',
+ { className: 'opblock-title_normal' },
+ 'Find more details'
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-external-docs' },
+ xe.description &&
+ Pe.createElement(
+ 'span',
+ { className: 'opblock-external-docs__description' },
+ Pe.createElement(st, { source: xe.description })
+ ),
+ Pe.createElement(
+ ct,
+ {
+ target: '_blank',
+ className: 'opblock-external-docs__link',
+ href: sanitizeUrl(Re)
+ },
+ Re
+ )
+ )
+ )
+ : null,
+ qe && qe.size
+ ? Pe.createElement(et, {
+ parameters: We,
+ specPath: s.push('parameters'),
+ operation: qe,
+ onChangeKey: pt,
+ onTryoutClick: _,
+ onResetClick: w,
+ onCancelClick: x,
+ tryItOutEnabled: _e,
+ allowTryItOut: ye,
+ fn: j,
+ getComponent: L,
+ specActions: $,
+ specSelectors: V,
+ pathMethod: [le, ce],
+ getConfigs: B,
+ oas3Actions: Y,
+ oas3Selectors: Z
+ })
+ : null,
+ _e
+ ? Pe.createElement(it, {
+ getComponent: L,
+ path: le,
+ method: ce,
+ operationServers: qe.get('servers'),
+ pathServers: V.paths().getIn([le, 'servers']),
+ getSelectedServer: Z.selectedServer,
+ setSelectedServer: Y.setSelectedServer,
+ setServerVariableValue: Y.setServerVariableValue,
+ getServerVariable: Z.serverVariableValue,
+ getEffectiveServerValue: Z.serverEffectiveValue
+ })
+ : null,
+ _e && ye && Te && Te.size
+ ? Pe.createElement(
+ 'div',
+ { className: 'opblock-schemes' },
+ Pe.createElement(ot, {
+ schemes: Te,
+ path: le,
+ method: ce,
+ specActions: $,
+ currentScheme: He
+ })
+ )
+ : null,
+ !_e || !ye || ht.length <= 0
+ ? null
+ : Pe.createElement(
+ 'div',
+ { className: 'validation-errors errors-wrapper' },
+ 'Please correct the following validation errors and try again.',
+ Pe.createElement(
+ 'ul',
+ null,
+ ht.map((s, o) => Pe.createElement('li', { key: o }, ' ', s, ' '))
+ )
+ ),
+ Pe.createElement(
+ 'div',
+ { className: _e && o && ye ? 'btn-group' : 'execute-wrapper' },
+ _e && ye
+ ? Pe.createElement(tt, {
+ operation: qe,
+ specActions: $,
+ specSelectors: V,
+ oas3Selectors: Z,
+ oas3Actions: Y,
+ path: le,
+ method: ce,
+ onExecute: C,
+ disabled: we
+ })
+ : null,
+ _e && o && ye
+ ? Pe.createElement(rt, { specActions: $, path: le, method: ce })
+ : null
+ ),
+ we
+ ? Pe.createElement(
+ 'div',
+ { className: 'loading-container' },
+ Pe.createElement('div', { className: 'loading' })
+ )
+ : null,
+ ze
+ ? Pe.createElement(Qe, {
+ responses: ze,
+ request: i,
+ tryItOutResponse: o,
+ getComponent: L,
+ getConfigs: B,
+ specSelectors: V,
+ oas3Actions: Y,
+ oas3Selectors: Z,
+ specActions: $,
+ produces: V.producesOptionsFor([le, ce]),
+ producesValue: V.currentProducesFor([le, ce]),
+ specPath: s.push('responses'),
+ path: le,
+ method: ce,
+ displayRequestDuration: be,
+ fn: j
+ })
+ : null,
+ ut && Xe.size ? Pe.createElement(at, { extensions: Xe, getComponent: L }) : null
+ )
+ )
+ );
+ }
+ }
+ class OperationContainer extends Pe.PureComponent {
+ constructor(s, o) {
+ super(s, o);
+ const { tryItOutEnabled: i } = s.getConfigs();
+ this.state = { tryItOutEnabled: i, executeInProgress: !1 };
+ }
+ static defaultProps = {
+ showSummary: !0,
+ response: null,
+ allowTryItOut: !0,
+ displayOperationId: !1,
+ displayRequestDuration: !1
+ };
+ mapStateToProps(s, o) {
+ const { op: i, layoutSelectors: u, getConfigs: _ } = o,
+ {
+ docExpansion: w,
+ deepLinking: x,
+ displayOperationId: C,
+ displayRequestDuration: j,
+ supportedSubmitMethods: L
+ } = _(),
+ B = u.showSummary(),
+ $ =
+ i.getIn(['operation', '__originalOperationId']) ||
+ i.getIn(['operation', 'operationId']) ||
+ opId(i.get('operation'), o.path, o.method) ||
+ i.get('id'),
+ V = ['operations', o.tag, $],
+ U =
+ L.indexOf(o.method) >= 0 &&
+ (void 0 === o.allowTryItOut
+ ? o.specSelectors.allowTryItOutFor(o.path, o.method)
+ : o.allowTryItOut),
+ z = i.getIn(['operation', 'security']) || o.specSelectors.security();
+ return {
+ operationId: $,
+ isDeepLinkingEnabled: x,
+ showSummary: B,
+ displayOperationId: C,
+ displayRequestDuration: j,
+ allowTryItOut: U,
+ security: z,
+ isAuthorized: o.authSelectors.isAuthorized(z),
+ isShown: u.isShown(V, 'full' === w),
+ jumpToKey: `paths.${o.path}.${o.method}`,
+ response: o.specSelectors.responseFor(o.path, o.method),
+ request: o.specSelectors.requestFor(o.path, o.method)
+ };
+ }
+ componentDidMount() {
+ const { isShown: s } = this.props,
+ o = this.getResolvedSubtree();
+ s && void 0 === o && this.requestResolvedSubtree();
+ }
+ UNSAFE_componentWillReceiveProps(s) {
+ const { response: o, isShown: i } = s,
+ u = this.getResolvedSubtree();
+ o !== this.props.response && this.setState({ executeInProgress: !1 }),
+ i && void 0 === u && this.requestResolvedSubtree();
+ }
+ toggleShown = () => {
+ let { layoutActions: s, tag: o, operationId: i, isShown: u } = this.props;
+ const _ = this.getResolvedSubtree();
+ u || void 0 !== _ || this.requestResolvedSubtree(), s.show(['operations', o, i], !u);
+ };
+ onCancelClick = () => {
+ this.setState({ tryItOutEnabled: !this.state.tryItOutEnabled });
+ };
+ onTryoutClick = () => {
+ this.setState({ tryItOutEnabled: !this.state.tryItOutEnabled });
+ };
+ onResetClick = (s) => {
+ const o = this.props.oas3Selectors.selectDefaultRequestBodyValue(...s);
+ this.props.oas3Actions.setRequestBodyValue({ value: o, pathMethod: s });
+ };
+ onExecute = () => {
+ this.setState({ executeInProgress: !0 });
+ };
+ getResolvedSubtree = () => {
+ const { specSelectors: s, path: o, method: i, specPath: u } = this.props;
+ return u ? s.specResolvedSubtree(u.toJS()) : s.specResolvedSubtree(['paths', o, i]);
+ };
+ requestResolvedSubtree = () => {
+ const { specActions: s, path: o, method: i, specPath: u } = this.props;
+ return u
+ ? s.requestResolvedSubtree(u.toJS())
+ : s.requestResolvedSubtree(['paths', o, i]);
+ };
+ render() {
+ let {
+ op: s,
+ tag: o,
+ path: i,
+ method: u,
+ security: _,
+ isAuthorized: w,
+ operationId: x,
+ showSummary: C,
+ isShown: j,
+ jumpToKey: L,
+ allowTryItOut: B,
+ response: $,
+ request: V,
+ displayOperationId: U,
+ displayRequestDuration: z,
+ isDeepLinkingEnabled: Y,
+ specPath: Z,
+ specSelectors: ee,
+ specActions: ie,
+ getComponent: ae,
+ getConfigs: le,
+ layoutSelectors: ce,
+ layoutActions: pe,
+ authActions: de,
+ authSelectors: fe,
+ oas3Actions: ye,
+ oas3Selectors: be,
+ fn: _e
+ } = this.props;
+ const we = ae('operation'),
+ Se = this.getResolvedSubtree() || (0, qe.Map)(),
+ xe = (0, qe.fromJS)({
+ op: Se,
+ tag: o,
+ path: i,
+ summary: s.getIn(['operation', 'summary']) || '',
+ deprecated: Se.get('deprecated') || s.getIn(['operation', 'deprecated']) || !1,
+ method: u,
+ security: _,
+ isAuthorized: w,
+ operationId: x,
+ originalOperationId: Se.getIn(['operation', '__originalOperationId']),
+ showSummary: C,
+ isShown: j,
+ jumpToKey: L,
+ allowTryItOut: B,
+ request: V,
+ displayOperationId: U,
+ displayRequestDuration: z,
+ isDeepLinkingEnabled: Y,
+ executeInProgress: this.state.executeInProgress,
+ tryItOutEnabled: this.state.tryItOutEnabled
+ });
+ return Pe.createElement(we, {
+ operation: xe,
+ response: $,
+ request: V,
+ isShown: j,
+ toggleShown: this.toggleShown,
+ onTryoutClick: this.onTryoutClick,
+ onResetClick: this.onResetClick,
+ onCancelClick: this.onCancelClick,
+ onExecute: this.onExecute,
+ specPath: Z,
+ specActions: ie,
+ specSelectors: ee,
+ oas3Actions: ye,
+ oas3Selectors: be,
+ layoutActions: pe,
+ layoutSelectors: ce,
+ authActions: de,
+ authSelectors: fe,
+ getComponent: ae,
+ getConfigs: le,
+ fn: _e
+ });
+ }
+ }
+ var mk = __webpack_require__(13222),
+ yk = __webpack_require__.n(mk);
+ class OperationSummary extends Pe.PureComponent {
+ static defaultProps = { operationProps: null, specPath: (0, qe.List)(), summary: '' };
+ render() {
+ let {
+ isShown: s,
+ toggleShown: o,
+ getComponent: i,
+ authActions: u,
+ authSelectors: _,
+ operationProps: w,
+ specPath: x
+ } = this.props,
+ {
+ summary: C,
+ isAuthorized: j,
+ method: L,
+ op: B,
+ showSummary: $,
+ path: V,
+ operationId: U,
+ originalOperationId: z,
+ displayOperationId: Y
+ } = w.toJS(),
+ { summary: Z } = B,
+ ee = w.get('security');
+ const ie = i('authorizeOperationBtn', !0),
+ ae = i('OperationSummaryMethod'),
+ le = i('OperationSummaryPath'),
+ ce = i('JumpToPath', !0),
+ pe = i('CopyToClipboardBtn', !0),
+ de = i('ArrowUpIcon'),
+ fe = i('ArrowDownIcon'),
+ ye = ee && !!ee.count(),
+ be = ye && 1 === ee.size && ee.first().isEmpty(),
+ _e = !ye || be;
+ return Pe.createElement(
+ 'div',
+ { className: `opblock-summary opblock-summary-${L}` },
+ Pe.createElement(
+ 'button',
+ { 'aria-expanded': s, className: 'opblock-summary-control', onClick: o },
+ Pe.createElement(ae, { method: L }),
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-summary-path-description-wrapper' },
+ Pe.createElement(le, { getComponent: i, operationProps: w, specPath: x }),
+ $
+ ? Pe.createElement(
+ 'div',
+ { className: 'opblock-summary-description' },
+ yk()(Z || C)
+ )
+ : null
+ ),
+ Y && (z || U)
+ ? Pe.createElement('span', { className: 'opblock-summary-operation-id' }, z || U)
+ : null
+ ),
+ Pe.createElement(pe, { textToCopy: `${x.get(1)}` }),
+ _e
+ ? null
+ : Pe.createElement(ie, {
+ isAuthorized: j,
+ onClick: () => {
+ const s = _.definitionsForRequirements(ee);
+ u.showDefinitions(s);
+ }
+ }),
+ Pe.createElement(ce, { path: x }),
+ Pe.createElement(
+ 'button',
+ {
+ 'aria-label': `${L} ${V.replace(/\//g, '/')}`,
+ className: 'opblock-control-arrow',
+ 'aria-expanded': s,
+ tabIndex: '-1',
+ onClick: o
+ },
+ s
+ ? Pe.createElement(de, { className: 'arrow' })
+ : Pe.createElement(fe, { className: 'arrow' })
+ )
+ );
+ }
+ }
+ class OperationSummaryMethod extends Pe.PureComponent {
+ static defaultProps = { operationProps: null };
+ render() {
+ let { method: s } = this.props;
+ return Pe.createElement(
+ 'span',
+ { className: 'opblock-summary-method' },
+ s.toUpperCase()
+ );
+ }
+ }
+ class OperationSummaryPath extends Pe.PureComponent {
+ render() {
+ let { getComponent: s, operationProps: o } = this.props,
+ {
+ deprecated: i,
+ isShown: u,
+ path: _,
+ tag: w,
+ operationId: x,
+ isDeepLinkingEnabled: C
+ } = o.toJS();
+ const j = _.split(/(?=\/)/g);
+ for (let s = 1; s < j.length; s += 2)
+ j.splice(s, 0, Pe.createElement('wbr', { key: s }));
+ const L = s('DeepLink');
+ return Pe.createElement(
+ 'span',
+ {
+ className: i ? 'opblock-summary-path__deprecated' : 'opblock-summary-path',
+ 'data-path': _
+ },
+ Pe.createElement(L, {
+ enabled: C,
+ isShown: u,
+ path: createDeepLinkPath(`${w}/${x}`),
+ text: j
+ })
+ );
+ }
+ }
+ const operation_extensions = ({ extensions: s, getComponent: o }) => {
+ let i = o('OperationExtRow');
+ return Pe.createElement(
+ 'div',
+ { className: 'opblock-section' },
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-section-header' },
+ Pe.createElement('h4', null, 'Extensions')
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'table-container' },
+ Pe.createElement(
+ 'table',
+ null,
+ Pe.createElement(
+ 'thead',
+ null,
+ Pe.createElement(
+ 'tr',
+ null,
+ Pe.createElement('td', { className: 'col_header' }, 'Field'),
+ Pe.createElement('td', { className: 'col_header' }, 'Value')
+ )
+ ),
+ Pe.createElement(
+ 'tbody',
+ null,
+ s
+ .entrySeq()
+ .map(([s, o]) => Pe.createElement(i, { key: `${s}-${o}`, xKey: s, xVal: o }))
+ )
+ )
+ )
+ );
+ },
+ operation_extension_row = ({ xKey: s, xVal: o }) => {
+ const i = o ? (o.toJS ? o.toJS() : o) : null;
+ return Pe.createElement(
+ 'tr',
+ null,
+ Pe.createElement('td', null, s),
+ Pe.createElement('td', null, JSON.stringify(i))
+ );
+ };
+ function createHtmlReadyId(s, o = '_') {
+ return s.replace(/[^\w-]/g, o);
+ }
+ class responses_Responses extends Pe.Component {
+ static defaultProps = {
+ tryItOutResponse: null,
+ produces: (0, qe.fromJS)(['application/json']),
+ displayRequestDuration: !1
+ };
+ onChangeProducesWrapper = (s) =>
+ this.props.specActions.changeProducesValue([this.props.path, this.props.method], s);
+ onResponseContentTypeChange = ({ controlsAcceptHeader: s, value: o }) => {
+ const { oas3Actions: i, path: u, method: _ } = this.props;
+ s && i.setResponseContentType({ value: o, path: u, method: _ });
+ };
+ render() {
+ let {
+ responses: s,
+ tryItOutResponse: o,
+ getComponent: i,
+ getConfigs: u,
+ specSelectors: _,
+ fn: w,
+ producesValue: x,
+ displayRequestDuration: C,
+ specPath: j,
+ path: L,
+ method: B,
+ oas3Selectors: $,
+ oas3Actions: V
+ } = this.props,
+ U = (function defaultStatusCode(s) {
+ let o = s.keySeq();
+ return o.contains(At)
+ ? At
+ : o
+ .filter((s) => '2' === (s + '')[0])
+ .sort()
+ .first();
+ })(s);
+ const z = i('contentType'),
+ Y = i('liveResponse'),
+ Z = i('response');
+ let ee =
+ this.props.produces && this.props.produces.size
+ ? this.props.produces
+ : responses_Responses.defaultProps.produces;
+ const ie = _.isOAS3()
+ ? (function getAcceptControllingResponse(s) {
+ if (!$e().OrderedMap.isOrderedMap(s)) return null;
+ if (!s.size) return null;
+ const o = s.find(
+ (s, o) =>
+ o.startsWith('2') && Object.keys(s.get('content') || {}).length > 0
+ ),
+ i = s.get('default') || $e().OrderedMap(),
+ u = (i.get('content') || $e().OrderedMap()).keySeq().toJS().length ? i : null;
+ return o || u;
+ })(s)
+ : null,
+ ae = createHtmlReadyId(`${B}${L}_responses`),
+ le = `${ae}_select`;
+ return Pe.createElement(
+ 'div',
+ { className: 'responses-wrapper' },
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-section-header' },
+ Pe.createElement('h4', null, 'Responses'),
+ _.isOAS3()
+ ? null
+ : Pe.createElement(
+ 'label',
+ { htmlFor: le },
+ Pe.createElement('span', null, 'Response content type'),
+ Pe.createElement(z, {
+ value: x,
+ ariaControls: ae,
+ ariaLabel: 'Response content type',
+ className: 'execute-content-type',
+ contentTypes: ee,
+ controlId: le,
+ onChange: this.onChangeProducesWrapper
+ })
+ )
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'responses-inner' },
+ o
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(Y, {
+ response: o,
+ getComponent: i,
+ getConfigs: u,
+ specSelectors: _,
+ path: this.props.path,
+ method: this.props.method,
+ displayRequestDuration: C
+ }),
+ Pe.createElement('h4', null, 'Responses')
+ )
+ : null,
+ Pe.createElement(
+ 'table',
+ { 'aria-live': 'polite', className: 'responses-table', id: ae, role: 'region' },
+ Pe.createElement(
+ 'thead',
+ null,
+ Pe.createElement(
+ 'tr',
+ { className: 'responses-header' },
+ Pe.createElement(
+ 'td',
+ { className: 'col_header response-col_status' },
+ 'Code'
+ ),
+ Pe.createElement(
+ 'td',
+ { className: 'col_header response-col_description' },
+ 'Description'
+ ),
+ _.isOAS3()
+ ? Pe.createElement(
+ 'td',
+ { className: 'col col_header response-col_links' },
+ 'Links'
+ )
+ : null
+ )
+ ),
+ Pe.createElement(
+ 'tbody',
+ null,
+ s
+ .entrySeq()
+ .map(([s, C]) => {
+ let z = o && o.get('status') == s ? 'response_current' : '';
+ return Pe.createElement(Z, {
+ key: s,
+ path: L,
+ method: B,
+ specPath: j.push(s),
+ isDefault: U === s,
+ fn: w,
+ className: z,
+ code: s,
+ response: C,
+ specSelectors: _,
+ controlsAcceptHeader: C === ie,
+ onContentTypeChange: this.onResponseContentTypeChange,
+ contentType: x,
+ getConfigs: u,
+ activeExamplesKey: $.activeExamplesMember(L, B, 'responses', s),
+ oas3Actions: V,
+ getComponent: i
+ });
+ })
+ .toArray()
+ )
+ )
+ )
+ );
+ }
+ }
+ function getKnownSyntaxHighlighterLanguage(s) {
+ const o = (function canJsonParse(s) {
+ try {
+ return !!JSON.parse(s);
+ } catch (s) {
+ return null;
+ }
+ })(s);
+ return o ? 'json' : null;
+ }
+ class response_Response extends Pe.Component {
+ constructor(s, o) {
+ super(s, o), (this.state = { responseContentType: '' });
+ }
+ static defaultProps = { response: (0, qe.fromJS)({}), onContentTypeChange: () => {} };
+ _onContentTypeChange = (s) => {
+ const { onContentTypeChange: o, controlsAcceptHeader: i } = this.props;
+ this.setState({ responseContentType: s }), o({ value: s, controlsAcceptHeader: i });
+ };
+ getTargetExamplesKey = () => {
+ const { response: s, contentType: o, activeExamplesKey: i } = this.props,
+ u = this.state.responseContentType || o,
+ _ = s
+ .getIn(['content', u], (0, qe.Map)({}))
+ .get('examples', null)
+ .keySeq()
+ .first();
+ return i || _;
+ };
+ render() {
+ let {
+ path: s,
+ method: o,
+ code: i,
+ response: u,
+ className: _,
+ specPath: w,
+ fn: x,
+ getComponent: C,
+ getConfigs: j,
+ specSelectors: L,
+ contentType: B,
+ controlsAcceptHeader: $,
+ oas3Actions: V
+ } = this.props,
+ { inferSchema: U, getSampleSchema: z } = x,
+ Y = L.isOAS3();
+ const { showExtensions: Z } = j();
+ let ee = Z ? getExtensions(u) : null,
+ ie = u.get('headers'),
+ ae = u.get('links');
+ const le = C('ResponseExtension'),
+ ce = C('headers'),
+ pe = C('HighlightCode', !0),
+ de = C('modelExample'),
+ fe = C('Markdown', !0),
+ ye = C('operationLink'),
+ be = C('contentType'),
+ _e = C('ExamplesSelect'),
+ we = C('Example');
+ var Se, xe;
+ const Te = this.state.responseContentType || B,
+ Re = u.getIn(['content', Te], (0, qe.Map)({})),
+ $e = Re.get('examples', null);
+ if (Y) {
+ const s = Re.get('schema');
+ (Se = s ? U(s.toJS()) : null),
+ (xe = s ? (0, qe.List)(['content', this.state.responseContentType, 'schema']) : w);
+ } else (Se = u.get('schema')), (xe = u.has('schema') ? w.push('schema') : w);
+ let ze,
+ We,
+ He = !1,
+ Ye = { includeReadOnly: !0 };
+ if (Y)
+ if (((We = Re.get('schema')?.toJS()), qe.Map.isMap($e) && !$e.isEmpty())) {
+ const s = this.getTargetExamplesKey(),
+ getMediaTypeExample = (s) => s.get('value');
+ (ze = getMediaTypeExample($e.get(s, (0, qe.Map)({})))),
+ void 0 === ze && (ze = getMediaTypeExample($e.values().next().value)),
+ (He = !0);
+ } else void 0 !== Re.get('example') && ((ze = Re.get('example')), (He = !0));
+ else {
+ (We = Se), (Ye = { ...Ye, includeWriteOnly: !0 });
+ const s = u.getIn(['examples', Te]);
+ s && ((ze = s), (He = !0));
+ }
+ const Xe = ((s, o) => {
+ if (null == s) return null;
+ const i = getKnownSyntaxHighlighterLanguage(s) ? 'json' : null;
+ return Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(o, { className: 'example', language: i }, stringify(s))
+ );
+ })(z(We, Te, Ye, He ? ze : void 0), pe);
+ return Pe.createElement(
+ 'tr',
+ { className: 'response ' + (_ || ''), 'data-code': i },
+ Pe.createElement('td', { className: 'response-col_status' }, i),
+ Pe.createElement(
+ 'td',
+ { className: 'response-col_description' },
+ Pe.createElement(
+ 'div',
+ { className: 'response-col_description__inner' },
+ Pe.createElement(fe, { source: u.get('description') })
+ ),
+ Z && ee.size
+ ? ee
+ .entrySeq()
+ .map(([s, o]) => Pe.createElement(le, { key: `${s}-${o}`, xKey: s, xVal: o }))
+ : null,
+ Y && u.get('content')
+ ? Pe.createElement(
+ 'section',
+ { className: 'response-controls' },
+ Pe.createElement(
+ 'div',
+ {
+ className: Hn()('response-control-media-type', {
+ 'response-control-media-type--accept-controller': $
+ })
+ },
+ Pe.createElement(
+ 'small',
+ { className: 'response-control-media-type__title' },
+ 'Media type'
+ ),
+ Pe.createElement(be, {
+ value: this.state.responseContentType,
+ contentTypes: u.get('content')
+ ? u.get('content').keySeq()
+ : (0, qe.Seq)(),
+ onChange: this._onContentTypeChange,
+ ariaLabel: 'Media Type'
+ }),
+ $
+ ? Pe.createElement(
+ 'small',
+ { className: 'response-control-media-type__accept-message' },
+ 'Controls ',
+ Pe.createElement('code', null, 'Accept'),
+ ' header.'
+ )
+ : null
+ ),
+ qe.Map.isMap($e) && !$e.isEmpty()
+ ? Pe.createElement(
+ 'div',
+ { className: 'response-control-examples' },
+ Pe.createElement(
+ 'small',
+ { className: 'response-control-examples__title' },
+ 'Examples'
+ ),
+ Pe.createElement(_e, {
+ examples: $e,
+ currentExampleKey: this.getTargetExamplesKey(),
+ onSelect: (u) =>
+ V.setActiveExamplesMember({
+ name: u,
+ pathMethod: [s, o],
+ contextType: 'responses',
+ contextName: i
+ }),
+ showLabels: !1
+ })
+ )
+ : null
+ )
+ : null,
+ Xe || Se
+ ? Pe.createElement(de, {
+ specPath: xe,
+ getComponent: C,
+ getConfigs: j,
+ specSelectors: L,
+ schema: fromJSOrdered(Se),
+ example: Xe,
+ includeReadOnly: !0
+ })
+ : null,
+ Y && $e
+ ? Pe.createElement(we, {
+ example: $e.get(this.getTargetExamplesKey(), (0, qe.Map)({})),
+ getComponent: C,
+ getConfigs: j,
+ omitValue: !0
+ })
+ : null,
+ ie ? Pe.createElement(ce, { headers: ie, getComponent: C }) : null
+ ),
+ Y
+ ? Pe.createElement(
+ 'td',
+ { className: 'response-col_links' },
+ ae
+ ? ae
+ .toSeq()
+ .entrySeq()
+ .map(([s, o]) =>
+ Pe.createElement(ye, { key: s, name: s, link: o, getComponent: C })
+ )
+ : Pe.createElement('i', null, 'No links')
+ )
+ : null
+ );
+ }
+ }
+ const response_extension = ({ xKey: s, xVal: o }) =>
+ Pe.createElement('div', { className: 'response__extension' }, s, ': ', String(o));
+ var vk = __webpack_require__(26657),
+ _k = __webpack_require__.n(vk),
+ wk = __webpack_require__(80218),
+ xk = __webpack_require__.n(wk);
+ class ResponseBody extends Pe.PureComponent {
+ state = { parsedContent: null };
+ updateParsedContent = (s) => {
+ const { content: o } = this.props;
+ if (s !== o)
+ if (o && o instanceof Blob) {
+ var i = new FileReader();
+ (i.onload = () => {
+ this.setState({ parsedContent: i.result });
+ }),
+ i.readAsText(o);
+ } else this.setState({ parsedContent: o.toString() });
+ };
+ componentDidMount() {
+ this.updateParsedContent(null);
+ }
+ componentDidUpdate(s) {
+ this.updateParsedContent(s.content);
+ }
+ render() {
+ let {
+ content: s,
+ contentType: o,
+ url: i,
+ headers: u = {},
+ getComponent: _
+ } = this.props;
+ const { parsedContent: w } = this.state,
+ x = _('HighlightCode', !0),
+ C = 'response_' + new Date().getTime();
+ let j, L;
+ if (
+ ((i = i || ''),
+ (/^application\/octet-stream/i.test(o) ||
+ (u['Content-Disposition'] && /attachment/i.test(u['Content-Disposition'])) ||
+ (u['content-disposition'] && /attachment/i.test(u['content-disposition'])) ||
+ (u['Content-Description'] && /File Transfer/i.test(u['Content-Description'])) ||
+ (u['content-description'] && /File Transfer/i.test(u['content-description']))) &&
+ (s.size > 0 || s.length > 0))
+ )
+ if ('Blob' in window) {
+ let _ = o || 'text/html',
+ w = s instanceof Blob ? s : new Blob([s], { type: _ }),
+ x = window.URL.createObjectURL(w),
+ C = [_, i.substr(i.lastIndexOf('/') + 1), x].join(':'),
+ j = u['content-disposition'] || u['Content-Disposition'];
+ if (void 0 !== j) {
+ let s = (function extractFileNameFromContentDispositionHeader(s) {
+ let o;
+ if (
+ ([
+ /filename\*=[^']+'\w*'"([^"]+)";?/i,
+ /filename\*=[^']+'\w*'([^;]+);?/i,
+ /filename="([^;]*);?"/i,
+ /filename=([^;]*);?/i
+ ].some((i) => ((o = i.exec(s)), null !== o)),
+ null !== o && o.length > 1)
+ )
+ try {
+ return decodeURIComponent(o[1]);
+ } catch (s) {
+ console.error(s);
+ }
+ return null;
+ })(j);
+ null !== s && (C = s);
+ }
+ L =
+ at.navigator && at.navigator.msSaveOrOpenBlob
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'a',
+ { href: x, onClick: () => at.navigator.msSaveOrOpenBlob(w, C) },
+ 'Download file'
+ )
+ )
+ : Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('a', { href: x, download: C }, 'Download file')
+ );
+ } else
+ L = Pe.createElement(
+ 'pre',
+ { className: 'microlight' },
+ 'Download headers detected but your browser does not support downloading binary via XHR (Blob).'
+ );
+ else if (/json/i.test(o)) {
+ let o = null;
+ getKnownSyntaxHighlighterLanguage(s) && (o = 'json');
+ try {
+ j = JSON.stringify(JSON.parse(s), null, ' ');
+ } catch (o) {
+ j = "can't parse JSON. Raw result:\n\n" + s;
+ }
+ L = Pe.createElement(
+ x,
+ { language: o, downloadable: !0, fileName: `${C}.json`, canCopy: !0 },
+ j
+ );
+ } else
+ /xml/i.test(o)
+ ? ((j = _k()(s, { textNodesOnSameLine: !0, indentor: ' ' })),
+ (L = Pe.createElement(
+ x,
+ { downloadable: !0, fileName: `${C}.xml`, canCopy: !0 },
+ j
+ )))
+ : (L =
+ 'text/html' === xk()(o) || /text\/plain/.test(o)
+ ? Pe.createElement(
+ x,
+ { downloadable: !0, fileName: `${C}.html`, canCopy: !0 },
+ s
+ )
+ : 'text/csv' === xk()(o) || /text\/csv/.test(o)
+ ? Pe.createElement(
+ x,
+ { downloadable: !0, fileName: `${C}.csv`, canCopy: !0 },
+ s
+ )
+ : /^image\//i.test(o)
+ ? o.includes('svg')
+ ? Pe.createElement('div', null, ' ', s, ' ')
+ : Pe.createElement('img', { src: window.URL.createObjectURL(s) })
+ : /^audio\//i.test(o)
+ ? Pe.createElement(
+ 'pre',
+ { className: 'microlight' },
+ Pe.createElement(
+ 'audio',
+ { controls: !0, key: i },
+ Pe.createElement('source', { src: i, type: o })
+ )
+ )
+ : 'string' == typeof s
+ ? Pe.createElement(
+ x,
+ { downloadable: !0, fileName: `${C}.txt`, canCopy: !0 },
+ s
+ )
+ : s.size > 0
+ ? w
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'p',
+ { className: 'i' },
+ 'Unrecognized response type; displaying content as text.'
+ ),
+ Pe.createElement(
+ x,
+ { downloadable: !0, fileName: `${C}.txt`, canCopy: !0 },
+ w
+ )
+ )
+ : Pe.createElement(
+ 'p',
+ { className: 'i' },
+ 'Unrecognized response type; unable to display.'
+ )
+ : null);
+ return L
+ ? Pe.createElement('div', null, Pe.createElement('h5', null, 'Response body'), L)
+ : null;
+ }
+ }
+ class Parameters extends Pe.Component {
+ constructor(s) {
+ super(s), (this.state = { callbackVisible: !1, parametersVisible: !0 });
+ }
+ static defaultProps = {
+ onTryoutClick: Function.prototype,
+ onCancelClick: Function.prototype,
+ tryItOutEnabled: !1,
+ allowTryItOut: !0,
+ onChangeKey: [],
+ specPath: []
+ };
+ onChange = (s, o, i) => {
+ let {
+ specActions: { changeParamByIdentity: u },
+ onChangeKey: _
+ } = this.props;
+ u(_, s, o, i);
+ };
+ onChangeConsumesWrapper = (s) => {
+ let {
+ specActions: { changeConsumesValue: o },
+ onChangeKey: i
+ } = this.props;
+ o(i, s);
+ };
+ toggleTab = (s) =>
+ 'parameters' === s
+ ? this.setState({ parametersVisible: !0, callbackVisible: !1 })
+ : 'callbacks' === s
+ ? this.setState({ callbackVisible: !0, parametersVisible: !1 })
+ : void 0;
+ onChangeMediaType = ({ value: s, pathMethod: o }) => {
+ let { specActions: i, oas3Selectors: u, oas3Actions: _ } = this.props;
+ const w = u.hasUserEditedBody(...o),
+ x = u.shouldRetainRequestBodyValue(...o);
+ _.setRequestContentType({ value: s, pathMethod: o }),
+ _.initRequestBodyValidateError({ pathMethod: o }),
+ w ||
+ (x || _.setRequestBodyValue({ value: void 0, pathMethod: o }),
+ i.clearResponse(...o),
+ i.clearRequest(...o),
+ i.clearValidateParams(o));
+ };
+ render() {
+ let {
+ onTryoutClick: s,
+ onResetClick: o,
+ parameters: i,
+ allowTryItOut: u,
+ tryItOutEnabled: _,
+ specPath: w,
+ fn: x,
+ getComponent: C,
+ getConfigs: j,
+ specSelectors: L,
+ specActions: B,
+ pathMethod: $,
+ oas3Actions: V,
+ oas3Selectors: U,
+ operation: z
+ } = this.props;
+ const Y = C('parameterRow'),
+ Z = C('TryItOutButton'),
+ ee = C('contentType'),
+ ie = C('Callbacks', !0),
+ ae = C('RequestBody', !0),
+ le = _ && u,
+ ce = L.isOAS3(),
+ pe = `${createHtmlReadyId(`${$[1]}${$[0]}_requests`)}_select`,
+ de = z.get('requestBody'),
+ fe = Object.values(
+ i.reduce((s, o) => {
+ const i = o.get('in');
+ return (s[i] ??= []), s[i].push(o), s;
+ }, {})
+ ).reduce((s, o) => s.concat(o), []);
+ return Pe.createElement(
+ 'div',
+ { className: 'opblock-section' },
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-section-header' },
+ ce
+ ? Pe.createElement(
+ 'div',
+ { className: 'tab-header' },
+ Pe.createElement(
+ 'div',
+ {
+ onClick: () => this.toggleTab('parameters'),
+ className: `tab-item ${this.state.parametersVisible && 'active'}`
+ },
+ Pe.createElement(
+ 'h4',
+ { className: 'opblock-title' },
+ Pe.createElement('span', null, 'Parameters')
+ )
+ ),
+ z.get('callbacks')
+ ? Pe.createElement(
+ 'div',
+ {
+ onClick: () => this.toggleTab('callbacks'),
+ className: `tab-item ${this.state.callbackVisible && 'active'}`
+ },
+ Pe.createElement(
+ 'h4',
+ { className: 'opblock-title' },
+ Pe.createElement('span', null, 'Callbacks')
+ )
+ )
+ : null
+ )
+ : Pe.createElement(
+ 'div',
+ { className: 'tab-header' },
+ Pe.createElement('h4', { className: 'opblock-title' }, 'Parameters')
+ ),
+ u
+ ? Pe.createElement(Z, {
+ isOAS3: L.isOAS3(),
+ hasUserEditedBody: U.hasUserEditedBody(...$),
+ enabled: _,
+ onCancelClick: this.props.onCancelClick,
+ onTryoutClick: s,
+ onResetClick: () => o($)
+ })
+ : null
+ ),
+ this.state.parametersVisible
+ ? Pe.createElement(
+ 'div',
+ { className: 'parameters-container' },
+ fe.length
+ ? Pe.createElement(
+ 'div',
+ { className: 'table-container' },
+ Pe.createElement(
+ 'table',
+ { className: 'parameters' },
+ Pe.createElement(
+ 'thead',
+ null,
+ Pe.createElement(
+ 'tr',
+ null,
+ Pe.createElement(
+ 'th',
+ { className: 'col_header parameters-col_name' },
+ 'Name'
+ ),
+ Pe.createElement(
+ 'th',
+ { className: 'col_header parameters-col_description' },
+ 'Description'
+ )
+ )
+ ),
+ Pe.createElement(
+ 'tbody',
+ null,
+ fe.map((s, o) =>
+ Pe.createElement(Y, {
+ fn: x,
+ specPath: w.push(o.toString()),
+ getComponent: C,
+ getConfigs: j,
+ rawParam: s,
+ param: L.parameterWithMetaByIdentity($, s),
+ key: `${s.get('in')}.${s.get('name')}`,
+ onChange: this.onChange,
+ onChangeConsumes: this.onChangeConsumesWrapper,
+ specSelectors: L,
+ specActions: B,
+ oas3Actions: V,
+ oas3Selectors: U,
+ pathMethod: $,
+ isExecute: le
+ })
+ )
+ )
+ )
+ )
+ : Pe.createElement(
+ 'div',
+ { className: 'opblock-description-wrapper' },
+ Pe.createElement('p', null, 'No parameters')
+ )
+ )
+ : null,
+ this.state.callbackVisible
+ ? Pe.createElement(
+ 'div',
+ { className: 'callbacks-container opblock-description-wrapper' },
+ Pe.createElement(ie, {
+ callbacks: (0, qe.Map)(z.get('callbacks')),
+ specPath: w.slice(0, -1).push('callbacks')
+ })
+ )
+ : null,
+ ce &&
+ de &&
+ this.state.parametersVisible &&
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-section opblock-section-request-body' },
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-section-header' },
+ Pe.createElement(
+ 'h4',
+ {
+ className: `opblock-title parameter__name ${de.get('required') && 'required'}`
+ },
+ 'Request body'
+ ),
+ Pe.createElement(
+ 'label',
+ { id: pe },
+ Pe.createElement(ee, {
+ value: U.requestContentType(...$),
+ contentTypes: de.get('content', (0, qe.List)()).keySeq(),
+ onChange: (s) => {
+ this.onChangeMediaType({ value: s, pathMethod: $ });
+ },
+ className: 'body-param-content-type',
+ ariaLabel: 'Request content type',
+ controlId: pe
+ })
+ )
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-description-wrapper' },
+ Pe.createElement(ae, {
+ setRetainRequestBodyValueFlag: (s) =>
+ V.setRetainRequestBodyValueFlag({ value: s, pathMethod: $ }),
+ userHasEditedBody: U.hasUserEditedBody(...$),
+ specPath: w.slice(0, -1).push('requestBody'),
+ requestBody: de,
+ requestBodyValue: U.requestBodyValue(...$),
+ requestBodyInclusionSetting: U.requestBodyInclusionSetting(...$),
+ requestBodyErrors: U.requestBodyErrors(...$),
+ isExecute: le,
+ getConfigs: j,
+ activeExamplesKey: U.activeExamplesMember(...$, 'requestBody', 'requestBody'),
+ updateActiveExamplesKey: (s) => {
+ this.props.oas3Actions.setActiveExamplesMember({
+ name: s,
+ pathMethod: this.props.pathMethod,
+ contextType: 'requestBody',
+ contextName: 'requestBody'
+ });
+ },
+ onChange: (s, o) => {
+ if (o) {
+ const i = U.requestBodyValue(...$),
+ u = qe.Map.isMap(i) ? i : (0, qe.Map)();
+ return V.setRequestBodyValue({ pathMethod: $, value: u.setIn(o, s) });
+ }
+ V.setRequestBodyValue({ value: s, pathMethod: $ });
+ },
+ onChangeIncludeEmpty: (s, o) => {
+ V.setRequestBodyInclusion({ pathMethod: $, value: o, name: s });
+ },
+ contentType: U.requestContentType(...$)
+ })
+ )
+ )
+ );
+ }
+ }
+ const parameter_extension = ({ xKey: s, xVal: o }) =>
+ Pe.createElement('div', { className: 'parameter__extension' }, s, ': ', String(o)),
+ Ak = { onChange: () => {}, isIncludedOptions: {} };
+ class ParameterIncludeEmpty extends Pe.Component {
+ static defaultProps = Ak;
+ componentDidMount() {
+ const { isIncludedOptions: s, onChange: o } = this.props,
+ { shouldDispatchInit: i, defaultValue: u } = s;
+ i && o(u);
+ }
+ onCheckboxChange = (s) => {
+ const { onChange: o } = this.props;
+ o(s.target.checked);
+ };
+ render() {
+ let { isIncluded: s, isDisabled: o } = this.props;
+ return Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'label',
+ {
+ htmlFor: 'include_empty_value',
+ className: Hn()('parameter__empty_value_toggle', { disabled: o })
+ },
+ Pe.createElement('input', {
+ id: 'include_empty_value',
+ type: 'checkbox',
+ disabled: o,
+ checked: !o && s,
+ onChange: this.onCheckboxChange
+ }),
+ 'Send empty value'
+ )
+ );
+ }
+ }
+ class ParameterRow extends Pe.Component {
+ constructor(s, o) {
+ super(s, o), this.setDefaultValue();
+ }
+ UNSAFE_componentWillReceiveProps(s) {
+ let o,
+ { specSelectors: i, pathMethod: u, rawParam: _ } = s,
+ w = i.isOAS3(),
+ x = i.parameterWithMetaByIdentity(u, _) || new qe.Map();
+ if (((x = x.isEmpty() ? _ : x), w)) {
+ let { schema: s } = getParameterSchema(x, { isOAS3: w });
+ o = s ? s.get('enum') : void 0;
+ } else o = x ? x.get('enum') : void 0;
+ let C,
+ j = x ? x.get('value') : void 0;
+ void 0 !== j ? (C = j) : _.get('required') && o && o.size && (C = o.first()),
+ void 0 !== C &&
+ C !== j &&
+ this.onChangeWrapper(
+ (function numberToString(s) {
+ return 'number' == typeof s ? s.toString() : s;
+ })(C)
+ ),
+ this.setDefaultValue();
+ }
+ onChangeWrapper = (s, o = !1) => {
+ let i,
+ { onChange: u, rawParam: _ } = this.props;
+ return (i = '' === s || (s && 0 === s.size) ? null : s), u(_, i, o);
+ };
+ _onExampleSelect = (s) => {
+ this.props.oas3Actions.setActiveExamplesMember({
+ name: s,
+ pathMethod: this.props.pathMethod,
+ contextType: 'parameters',
+ contextName: this.getParamKey()
+ });
+ };
+ onChangeIncludeEmpty = (s) => {
+ let { specActions: o, param: i, pathMethod: u } = this.props;
+ const _ = i.get('name'),
+ w = i.get('in');
+ return o.updateEmptyParamInclusion(u, _, w, s);
+ };
+ setDefaultValue = () => {
+ let {
+ specSelectors: s,
+ pathMethod: o,
+ rawParam: i,
+ oas3Selectors: u,
+ fn: _
+ } = this.props;
+ const w = s.parameterWithMetaByIdentity(o, i) || (0, qe.Map)();
+ let { schema: x } = getParameterSchema(w, { isOAS3: s.isOAS3() });
+ const C = w
+ .get('content', (0, qe.Map)())
+ .keySeq()
+ .first(),
+ j = x ? _.getSampleSchema(x.toJS(), C, { includeWriteOnly: !0 }) : null;
+ if (w && void 0 === w.get('value') && 'body' !== w.get('in')) {
+ let i;
+ if (s.isSwagger2())
+ i =
+ void 0 !== w.get('x-example')
+ ? w.get('x-example')
+ : void 0 !== w.getIn(['schema', 'example'])
+ ? w.getIn(['schema', 'example'])
+ : x && x.getIn(['default']);
+ else if (s.isOAS3()) {
+ x = this.composeJsonSchema(x);
+ const s = u.activeExamplesMember(...o, 'parameters', this.getParamKey());
+ i =
+ void 0 !== w.getIn(['examples', s, 'value'])
+ ? w.getIn(['examples', s, 'value'])
+ : void 0 !== w.getIn(['content', C, 'example'])
+ ? w.getIn(['content', C, 'example'])
+ : void 0 !== w.get('example')
+ ? w.get('example')
+ : void 0 !== (x && x.get('example'))
+ ? x && x.get('example')
+ : void 0 !== (x && x.get('default'))
+ ? x && x.get('default')
+ : w.get('default');
+ }
+ void 0 === i || qe.List.isList(i) || (i = stringify(i)),
+ void 0 !== i
+ ? this.onChangeWrapper(i)
+ : x &&
+ 'object' === x.get('type') &&
+ j &&
+ !w.get('examples') &&
+ this.onChangeWrapper(qe.List.isList(j) ? j : stringify(j));
+ }
+ };
+ getParamKey() {
+ const { param: s } = this.props;
+ return s ? `${s.get('name')}-${s.get('in')}` : null;
+ }
+ composeJsonSchema(s) {
+ const { fn: o } = this.props,
+ i = s.get('oneOf')?.get(0)?.toJS(),
+ u = s.get('anyOf')?.get(0)?.toJS();
+ return (0, qe.fromJS)(o.mergeJsonSchema(s.toJS(), i ?? u ?? {}));
+ }
+ render() {
+ let {
+ param: s,
+ rawParam: o,
+ getComponent: i,
+ getConfigs: u,
+ isExecute: _,
+ fn: w,
+ onChangeConsumes: x,
+ specSelectors: C,
+ pathMethod: j,
+ specPath: L,
+ oas3Selectors: B
+ } = this.props,
+ $ = C.isOAS3();
+ const { showExtensions: V, showCommonExtensions: U } = u();
+ if ((s || (s = o), !o)) return null;
+ const z = i('JsonSchemaForm'),
+ Y = i('ParamBody');
+ let Z = s.get('in'),
+ ee =
+ 'body' !== Z
+ ? null
+ : Pe.createElement(Y, {
+ getComponent: i,
+ getConfigs: u,
+ fn: w,
+ param: s,
+ consumes: C.consumesOptionsFor(j),
+ consumesValue: C.contentTypeValues(j).get('requestContentType'),
+ onChange: this.onChangeWrapper,
+ onChangeConsumes: x,
+ isExecute: _,
+ specSelectors: C,
+ pathMethod: j
+ });
+ const ie = i('modelExample'),
+ ae = i('Markdown', !0),
+ le = i('ParameterExt'),
+ ce = i('ParameterIncludeEmpty'),
+ pe = i('ExamplesSelectValueRetainer'),
+ de = i('Example');
+ let { schema: fe } = getParameterSchema(s, { isOAS3: $ }),
+ ye = C.parameterWithMetaByIdentity(j, o) || (0, qe.Map)();
+ $ && (fe = this.composeJsonSchema(fe));
+ let be,
+ _e,
+ we,
+ Se,
+ xe = fe ? fe.get('format') : null,
+ Te = fe ? fe.get('type') : null,
+ Re = fe ? fe.getIn(['items', 'type']) : null,
+ $e = 'formData' === Z,
+ ze = 'FormData' in at,
+ We = s.get('required'),
+ He = ye ? ye.get('value') : '',
+ Ye = U ? getCommonExtensions(fe) : null,
+ Xe = V ? getExtensions(s) : null,
+ Qe = !1;
+ return (
+ void 0 !== s && fe && (be = fe.get('items')),
+ void 0 !== be
+ ? ((_e = be.get('enum')), (we = be.get('default')))
+ : fe && (_e = fe.get('enum')),
+ _e && _e.size && _e.size > 0 && (Qe = !0),
+ void 0 !== s &&
+ (fe && (we = fe.get('default')),
+ void 0 === we && (we = s.get('default')),
+ (Se = s.get('example')),
+ void 0 === Se && (Se = s.get('x-example'))),
+ Pe.createElement(
+ 'tr',
+ { 'data-param-name': s.get('name'), 'data-param-in': s.get('in') },
+ Pe.createElement(
+ 'td',
+ { className: 'parameters-col_name' },
+ Pe.createElement(
+ 'div',
+ { className: We ? 'parameter__name required' : 'parameter__name' },
+ s.get('name'),
+ We ? Pe.createElement('span', null, ' *') : null
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'parameter__type' },
+ Te,
+ Re && `[${Re}]`,
+ xe && Pe.createElement('span', { className: 'prop-format' }, '($', xe, ')')
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'parameter__deprecated' },
+ $ && s.get('deprecated') ? 'deprecated' : null
+ ),
+ Pe.createElement('div', { className: 'parameter__in' }, '(', s.get('in'), ')')
+ ),
+ Pe.createElement(
+ 'td',
+ { className: 'parameters-col_description' },
+ s.get('description')
+ ? Pe.createElement(ae, { source: s.get('description') })
+ : null,
+ (!ee && _) || !Qe
+ ? null
+ : Pe.createElement(ae, {
+ className: 'parameter__enum',
+ source:
+ 'Available values : ' +
+ _e
+ .map(function (s) {
+ return s;
+ })
+ .toArray()
+ .map(String)
+ .join(', ')
+ }),
+ (!ee && _) || void 0 === we
+ ? null
+ : Pe.createElement(ae, {
+ className: 'parameter__default',
+ source: 'Default value : ' + we
+ }),
+ (!ee && _) || void 0 === Se
+ ? null
+ : Pe.createElement(ae, { source: 'Example : ' + Se }),
+ $e &&
+ !ze &&
+ Pe.createElement('div', null, 'Error: your browser does not support FormData'),
+ $ && s.get('examples')
+ ? Pe.createElement(
+ 'section',
+ { className: 'parameter-controls' },
+ Pe.createElement(pe, {
+ examples: s.get('examples'),
+ onSelect: this._onExampleSelect,
+ updateValue: this.onChangeWrapper,
+ getComponent: i,
+ defaultToFirstExample: !0,
+ currentKey: B.activeExamplesMember(
+ ...j,
+ 'parameters',
+ this.getParamKey()
+ ),
+ currentUserInputValue: He
+ })
+ )
+ : null,
+ ee
+ ? null
+ : Pe.createElement(z, {
+ fn: w,
+ getComponent: i,
+ value: He,
+ required: We,
+ disabled: !_,
+ description: s.get('name'),
+ onChange: this.onChangeWrapper,
+ errors: ye.get('errors'),
+ schema: fe
+ }),
+ ee && fe
+ ? Pe.createElement(ie, {
+ getComponent: i,
+ specPath: L.push('schema'),
+ getConfigs: u,
+ isExecute: _,
+ specSelectors: C,
+ schema: fe,
+ example: ee,
+ includeWriteOnly: !0
+ })
+ : null,
+ !ee && _ && s.get('allowEmptyValue')
+ ? Pe.createElement(ce, {
+ onChange: this.onChangeIncludeEmpty,
+ isIncluded: C.parameterInclusionSettingFor(j, s.get('name'), s.get('in')),
+ isDisabled: !isEmptyValue(He)
+ })
+ : null,
+ $ && s.get('examples')
+ ? Pe.createElement(de, {
+ example: s.getIn([
+ 'examples',
+ B.activeExamplesMember(...j, 'parameters', this.getParamKey())
+ ]),
+ getComponent: i,
+ getConfigs: u
+ })
+ : null,
+ U && Ye.size
+ ? Ye.entrySeq().map(([s, o]) =>
+ Pe.createElement(le, { key: `${s}-${o}`, xKey: s, xVal: o })
+ )
+ : null,
+ V && Xe.size
+ ? Xe.entrySeq().map(([s, o]) =>
+ Pe.createElement(le, { key: `${s}-${o}`, xKey: s, xVal: o })
+ )
+ : null
+ )
+ )
+ );
+ }
+ }
+ class Execute extends Pe.Component {
+ handleValidateParameters = () => {
+ let { specSelectors: s, specActions: o, path: i, method: u } = this.props;
+ return o.validateParams([i, u]), s.validateBeforeExecute([i, u]);
+ };
+ handleValidateRequestBody = () => {
+ let {
+ path: s,
+ method: o,
+ specSelectors: i,
+ oas3Selectors: u,
+ oas3Actions: _
+ } = this.props,
+ w = { missingBodyValue: !1, missingRequiredKeys: [] };
+ _.clearRequestBodyValidateError({ path: s, method: o });
+ let x = i.getOAS3RequiredRequestBodyContentType([s, o]),
+ C = u.requestBodyValue(s, o),
+ j = u.validateBeforeExecute([s, o]),
+ L = u.requestContentType(s, o);
+ if (!j)
+ return (
+ (w.missingBodyValue = !0),
+ _.setRequestBodyValidateError({ path: s, method: o, validationErrors: w }),
+ !1
+ );
+ if (!x) return !0;
+ let B = u.validateShallowRequired({
+ oas3RequiredRequestBodyContentType: x,
+ oas3RequestContentType: L,
+ oas3RequestBodyValue: C
+ });
+ return (
+ !B ||
+ B.length < 1 ||
+ (B.forEach((s) => {
+ w.missingRequiredKeys.push(s);
+ }),
+ _.setRequestBodyValidateError({ path: s, method: o, validationErrors: w }),
+ !1)
+ );
+ };
+ handleValidationResultPass = () => {
+ let { specActions: s, operation: o, path: i, method: u } = this.props;
+ this.props.onExecute && this.props.onExecute(),
+ s.execute({ operation: o, path: i, method: u });
+ };
+ handleValidationResultFail = () => {
+ let { specActions: s, path: o, method: i } = this.props;
+ s.clearValidateParams([o, i]),
+ setTimeout(() => {
+ s.validateParams([o, i]);
+ }, 40);
+ };
+ handleValidationResult = (s) => {
+ s ? this.handleValidationResultPass() : this.handleValidationResultFail();
+ };
+ onClick = () => {
+ let s = this.handleValidateParameters(),
+ o = this.handleValidateRequestBody(),
+ i = s && o;
+ this.handleValidationResult(i);
+ };
+ onChangeProducesWrapper = (s) =>
+ this.props.specActions.changeProducesValue([this.props.path, this.props.method], s);
+ render() {
+ const { disabled: s } = this.props;
+ return Pe.createElement(
+ 'button',
+ { className: 'btn execute opblock-control__btn', onClick: this.onClick, disabled: s },
+ 'Execute'
+ );
+ }
+ }
+ class headers_Headers extends Pe.Component {
+ render() {
+ let { headers: s, getComponent: o } = this.props;
+ const i = o('Property'),
+ u = o('Markdown', !0);
+ return s && s.size
+ ? Pe.createElement(
+ 'div',
+ { className: 'headers-wrapper' },
+ Pe.createElement('h4', { className: 'headers__title' }, 'Headers:'),
+ Pe.createElement(
+ 'table',
+ { className: 'headers' },
+ Pe.createElement(
+ 'thead',
+ null,
+ Pe.createElement(
+ 'tr',
+ { className: 'header-row' },
+ Pe.createElement('th', { className: 'header-col' }, 'Name'),
+ Pe.createElement('th', { className: 'header-col' }, 'Description'),
+ Pe.createElement('th', { className: 'header-col' }, 'Type')
+ )
+ ),
+ Pe.createElement(
+ 'tbody',
+ null,
+ s
+ .entrySeq()
+ .map(([s, o]) => {
+ if (!$e().Map.isMap(o)) return null;
+ const _ = o.get('description'),
+ w = o.getIn(['schema'])
+ ? o.getIn(['schema', 'type'])
+ : o.getIn(['type']),
+ x = o.getIn(['schema', 'example']);
+ return Pe.createElement(
+ 'tr',
+ { key: s },
+ Pe.createElement('td', { className: 'header-col' }, s),
+ Pe.createElement(
+ 'td',
+ { className: 'header-col' },
+ _ ? Pe.createElement(u, { source: _ }) : null
+ ),
+ Pe.createElement(
+ 'td',
+ { className: 'header-col' },
+ w,
+ ' ',
+ x
+ ? Pe.createElement(i, {
+ propKey: 'Example',
+ propVal: x,
+ propClass: 'header-example'
+ })
+ : null
+ )
+ );
+ })
+ .toArray()
+ )
+ )
+ )
+ : null;
+ }
+ }
+ class Errors extends Pe.Component {
+ render() {
+ let {
+ editorActions: s,
+ errSelectors: o,
+ layoutSelectors: i,
+ layoutActions: u,
+ getComponent: _
+ } = this.props;
+ const w = _('Collapse');
+ if (s && s.jumpToLine) var x = s.jumpToLine;
+ let C = o
+ .allErrors()
+ .filter((s) => 'thrown' === s.get('type') || 'error' === s.get('level'));
+ if (!C || C.count() < 1) return null;
+ let j = i.isShown(['errorPane'], !0),
+ L = C.sortBy((s) => s.get('line'));
+ return Pe.createElement(
+ 'pre',
+ { className: 'errors-wrapper' },
+ Pe.createElement(
+ 'hgroup',
+ { className: 'error' },
+ Pe.createElement('h4', { className: 'errors__title' }, 'Errors'),
+ Pe.createElement(
+ 'button',
+ { className: 'btn errors__clear-btn', onClick: () => u.show(['errorPane'], !j) },
+ j ? 'Hide' : 'Show'
+ )
+ ),
+ Pe.createElement(
+ w,
+ { isOpened: j, animated: !0 },
+ Pe.createElement(
+ 'div',
+ { className: 'errors' },
+ L.map((s, o) => {
+ let i = s.get('type');
+ return 'thrown' === i || 'auth' === i
+ ? Pe.createElement(ThrownErrorItem, {
+ key: o,
+ error: s.get('error') || s,
+ jumpToLine: x
+ })
+ : 'spec' === i
+ ? Pe.createElement(SpecErrorItem, { key: o, error: s, jumpToLine: x })
+ : void 0;
+ })
+ )
+ )
+ );
+ }
+ }
+ const ThrownErrorItem = ({ error: s, jumpToLine: o }) => {
+ if (!s) return null;
+ let i = s.get('line');
+ return Pe.createElement(
+ 'div',
+ { className: 'error-wrapper' },
+ s
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'h4',
+ null,
+ s.get('source') && s.get('level')
+ ? toTitleCase(s.get('source')) + ' ' + s.get('level')
+ : '',
+ s.get('path') ? Pe.createElement('small', null, ' at ', s.get('path')) : null
+ ),
+ Pe.createElement('span', { className: 'message thrown' }, s.get('message')),
+ Pe.createElement(
+ 'div',
+ { className: 'error-line' },
+ i && o
+ ? Pe.createElement('a', { onClick: o.bind(null, i) }, 'Jump to line ', i)
+ : null
+ )
+ )
+ : null
+ );
+ },
+ SpecErrorItem = ({ error: s, jumpToLine: o = null }) => {
+ let i = null;
+ return (
+ s.get('path')
+ ? (i = qe.List.isList(s.get('path'))
+ ? Pe.createElement('small', null, 'at ', s.get('path').join('.'))
+ : Pe.createElement('small', null, 'at ', s.get('path')))
+ : s.get('line') &&
+ !o &&
+ (i = Pe.createElement('small', null, 'on line ', s.get('line'))),
+ Pe.createElement(
+ 'div',
+ { className: 'error-wrapper' },
+ s
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'h4',
+ null,
+ toTitleCase(s.get('source')) + ' ' + s.get('level'),
+ ' ',
+ i
+ ),
+ Pe.createElement('span', { className: 'message' }, s.get('message')),
+ Pe.createElement(
+ 'div',
+ { className: 'error-line' },
+ o
+ ? Pe.createElement(
+ 'a',
+ { onClick: o.bind(null, s.get('line')) },
+ 'Jump to line ',
+ s.get('line')
+ )
+ : null
+ )
+ )
+ : null
+ )
+ );
+ };
+ function toTitleCase(s) {
+ return (s || '')
+ .split(' ')
+ .map((s) => s[0].toUpperCase() + s.slice(1))
+ .join(' ');
+ }
+ const content_type_noop = () => {};
+ class ContentType extends Pe.Component {
+ static defaultProps = {
+ onChange: content_type_noop,
+ value: null,
+ contentTypes: (0, qe.fromJS)(['application/json'])
+ };
+ componentDidMount() {
+ this.props.contentTypes && this.props.onChange(this.props.contentTypes.first());
+ }
+ UNSAFE_componentWillReceiveProps(s) {
+ s.contentTypes &&
+ s.contentTypes.size &&
+ (s.contentTypes.includes(s.value) || s.onChange(s.contentTypes.first()));
+ }
+ onChangeWrapper = (s) => this.props.onChange(s.target.value);
+ render() {
+ let {
+ ariaControls: s,
+ ariaLabel: o,
+ className: i,
+ contentTypes: u,
+ controlId: _,
+ value: w
+ } = this.props;
+ return u && u.size
+ ? Pe.createElement(
+ 'div',
+ { className: 'content-type-wrapper ' + (i || '') },
+ Pe.createElement(
+ 'select',
+ {
+ 'aria-controls': s,
+ 'aria-label': o,
+ className: 'content-type',
+ id: _,
+ onChange: this.onChangeWrapper,
+ value: w || ''
+ },
+ u.map((s) => Pe.createElement('option', { key: s, value: s }, s)).toArray()
+ )
+ )
+ : null;
+ }
+ }
+ function xclass(...s) {
+ return s
+ .filter((s) => !!s)
+ .join(' ')
+ .trim();
+ }
+ class Container extends Pe.Component {
+ render() {
+ let { fullscreen: s, full: o, ...i } = this.props;
+ if (s) return Pe.createElement('section', i);
+ let u = 'swagger-container' + (o ? '-full' : '');
+ return Pe.createElement('section', Rn()({}, i, { className: xclass(i.className, u) }));
+ }
+ }
+ const Bk = { mobile: '', tablet: '-tablet', desktop: '-desktop', large: '-hd' };
+ class Col extends Pe.Component {
+ render() {
+ const {
+ hide: s,
+ keepContents: o,
+ mobile: i,
+ tablet: u,
+ desktop: _,
+ large: w,
+ ...x
+ } = this.props;
+ if (s && !o) return Pe.createElement('span', null);
+ let C = [];
+ for (let s in Bk) {
+ if (!Object.prototype.hasOwnProperty.call(Bk, s)) continue;
+ let o = Bk[s];
+ if (s in this.props) {
+ let i = this.props[s];
+ if (i < 1) {
+ C.push('none' + o);
+ continue;
+ }
+ C.push('block' + o), C.push('col-' + i + o);
+ }
+ }
+ s && C.push('hidden');
+ let j = xclass(x.className, ...C);
+ return Pe.createElement('section', Rn()({}, x, { className: j }));
+ }
+ }
+ class Row extends Pe.Component {
+ render() {
+ return Pe.createElement(
+ 'div',
+ Rn()({}, this.props, { className: xclass(this.props.className, 'wrapper') })
+ );
+ }
+ }
+ class Button extends Pe.Component {
+ static defaultProps = { className: '' };
+ render() {
+ return Pe.createElement(
+ 'button',
+ Rn()({}, this.props, { className: xclass(this.props.className, 'button') })
+ );
+ }
+ }
+ const TextArea = (s) => Pe.createElement('textarea', s),
+ Input = (s) => Pe.createElement('input', s);
+ class Select extends Pe.Component {
+ static defaultProps = { multiple: !1, allowEmptyValue: !0 };
+ constructor(s, o) {
+ let i;
+ super(s, o),
+ (i = s.value ? s.value : s.multiple ? [''] : ''),
+ (this.state = { value: i });
+ }
+ onChange = (s) => {
+ let o,
+ { onChange: i, multiple: u } = this.props,
+ _ = [].slice.call(s.target.options);
+ (o = u
+ ? _.filter(function (s) {
+ return s.selected;
+ }).map(function (s) {
+ return s.value;
+ })
+ : s.target.value),
+ this.setState({ value: o }),
+ i && i(o);
+ };
+ UNSAFE_componentWillReceiveProps(s) {
+ s.value !== this.props.value && this.setState({ value: s.value });
+ }
+ render() {
+ let { allowedValues: s, multiple: o, allowEmptyValue: i, disabled: u } = this.props,
+ _ = this.state.value?.toJS?.() || this.state.value;
+ return Pe.createElement(
+ 'select',
+ {
+ className: this.props.className,
+ multiple: o,
+ value: _,
+ onChange: this.onChange,
+ disabled: u
+ },
+ i ? Pe.createElement('option', { value: '' }, '--') : null,
+ s.map(function (s, o) {
+ return Pe.createElement('option', { key: o, value: String(s) }, String(s));
+ })
+ );
+ }
+ }
+ class layout_utils_Link extends Pe.Component {
+ render() {
+ return Pe.createElement(
+ 'a',
+ Rn()({}, this.props, {
+ rel: 'noopener noreferrer',
+ className: xclass(this.props.className, 'link')
+ })
+ );
+ }
+ }
+ const NoMargin = ({ children: s }) =>
+ Pe.createElement('div', { className: 'no-margin' }, ' ', s, ' ');
+ class Collapse extends Pe.Component {
+ static defaultProps = { isOpened: !1, animated: !1 };
+ renderNotAnimated() {
+ return this.props.isOpened
+ ? Pe.createElement(NoMargin, null, this.props.children)
+ : Pe.createElement('noscript', null);
+ }
+ render() {
+ let { animated: s, isOpened: o, children: i } = this.props;
+ return s
+ ? ((i = o ? i : null), Pe.createElement(NoMargin, null, i))
+ : this.renderNotAnimated();
+ }
+ }
+ class Overview extends Pe.Component {
+ constructor(...s) {
+ super(...s), (this.setTagShown = this._setTagShown.bind(this));
+ }
+ _setTagShown(s, o) {
+ this.props.layoutActions.show(s, o);
+ }
+ showOp(s, o) {
+ let { layoutActions: i } = this.props;
+ i.show(s, o);
+ }
+ render() {
+ let {
+ specSelectors: s,
+ layoutSelectors: o,
+ layoutActions: i,
+ getComponent: u
+ } = this.props,
+ _ = s.taggedOperations();
+ const w = u('Collapse');
+ return Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('h4', { className: 'overview-title' }, 'Overview'),
+ _.map((s, u) => {
+ let _ = s.get('operations'),
+ x = ['overview-tags', u],
+ C = o.isShown(x, !0);
+ return Pe.createElement(
+ 'div',
+ { key: 'overview-' + u },
+ Pe.createElement(
+ 'h4',
+ { onClick: () => i.show(x, !C), className: 'link overview-tag' },
+ ' ',
+ C ? '-' : '+',
+ u
+ ),
+ Pe.createElement(
+ w,
+ { isOpened: C, animated: !0 },
+ _.map((s) => {
+ let { path: u, method: _, id: w } = s.toObject(),
+ x = 'operations',
+ C = w,
+ j = o.isShown([x, C]);
+ return Pe.createElement(OperationLink, {
+ key: w,
+ path: u,
+ method: _,
+ id: u + '-' + _,
+ shown: j,
+ showOpId: C,
+ showOpIdPrefix: x,
+ href: `#operation-${C}`,
+ onClick: i.show
+ });
+ }).toArray()
+ )
+ );
+ }).toArray(),
+ _.size < 1 && Pe.createElement('h3', null, ' No operations defined in spec! ')
+ );
+ }
+ }
+ class OperationLink extends Pe.Component {
+ constructor(s) {
+ super(s), (this.onClick = this._onClick.bind(this));
+ }
+ _onClick() {
+ let { showOpId: s, showOpIdPrefix: o, onClick: i, shown: u } = this.props;
+ i([o, s], !u);
+ }
+ render() {
+ let { id: s, method: o, shown: i, href: u } = this.props;
+ return Pe.createElement(
+ layout_utils_Link,
+ {
+ href: u,
+ onClick: this.onClick,
+ className: 'block opblock-link ' + (i ? 'shown' : '')
+ },
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('small', { className: `bold-label-${o}` }, o.toUpperCase()),
+ Pe.createElement('span', { className: 'bold-label' }, s)
+ )
+ );
+ }
+ }
+ class InitializedInput extends Pe.Component {
+ componentDidMount() {
+ this.props.initialValue && (this.inputRef.value = this.props.initialValue);
+ }
+ render() {
+ const { value: s, defaultValue: o, initialValue: i, ...u } = this.props;
+ return Pe.createElement('input', Rn()({}, u, { ref: (s) => (this.inputRef = s) }));
+ }
+ }
+ class InfoBasePath extends Pe.Component {
+ render() {
+ const { host: s, basePath: o } = this.props;
+ return Pe.createElement('pre', { className: 'base-url' }, '[ Base URL: ', s, o, ' ]');
+ }
+ }
+ class InfoUrl extends Pe.PureComponent {
+ render() {
+ const { url: s, getComponent: o } = this.props,
+ i = o('Link');
+ return Pe.createElement(
+ i,
+ { target: '_blank', href: sanitizeUrl(s) },
+ Pe.createElement('span', { className: 'url' }, ' ', s)
+ );
+ }
+ }
+ class info_Info extends Pe.Component {
+ render() {
+ const {
+ info: s,
+ url: o,
+ host: i,
+ basePath: u,
+ getComponent: _,
+ externalDocs: w,
+ selectedServer: x,
+ url: C
+ } = this.props,
+ j = s.get('version'),
+ L = s.get('description'),
+ B = s.get('title'),
+ $ = safeBuildUrl(s.get('termsOfService'), C, { selectedServer: x }),
+ V = s.get('contact'),
+ U = s.get('license'),
+ z = safeBuildUrl(w && w.get('url'), C, { selectedServer: x }),
+ Y = w && w.get('description'),
+ Z = _('Markdown', !0),
+ ee = _('Link'),
+ ie = _('VersionStamp'),
+ ae = _('OpenAPIVersion'),
+ le = _('InfoUrl'),
+ ce = _('InfoBasePath'),
+ pe = _('License'),
+ de = _('Contact');
+ return Pe.createElement(
+ 'div',
+ { className: 'info' },
+ Pe.createElement(
+ 'hgroup',
+ { className: 'main' },
+ Pe.createElement(
+ 'h2',
+ { className: 'title' },
+ B,
+ Pe.createElement(
+ 'span',
+ null,
+ j && Pe.createElement(ie, { version: j }),
+ Pe.createElement(ae, { oasVersion: '2.0' })
+ )
+ ),
+ i || u ? Pe.createElement(ce, { host: i, basePath: u }) : null,
+ o && Pe.createElement(le, { getComponent: _, url: o })
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'description' },
+ Pe.createElement(Z, { source: L })
+ ),
+ $ &&
+ Pe.createElement(
+ 'div',
+ { className: 'info__tos' },
+ Pe.createElement(
+ ee,
+ { target: '_blank', href: sanitizeUrl($) },
+ 'Terms of service'
+ )
+ ),
+ V?.size > 0 &&
+ Pe.createElement(de, { getComponent: _, data: V, selectedServer: x, url: o }),
+ U?.size > 0 &&
+ Pe.createElement(pe, { getComponent: _, license: U, selectedServer: x, url: o }),
+ z
+ ? Pe.createElement(
+ ee,
+ { className: 'info__extdocs', target: '_blank', href: sanitizeUrl(z) },
+ Y || z
+ )
+ : null
+ );
+ }
+ }
+ const qk = info_Info;
+ class InfoContainer extends Pe.Component {
+ render() {
+ const { specSelectors: s, getComponent: o, oas3Selectors: i } = this.props,
+ u = s.info(),
+ _ = s.url(),
+ w = s.basePath(),
+ x = s.host(),
+ C = s.externalDocs(),
+ j = i.selectedServer(),
+ L = o('info');
+ return Pe.createElement(
+ 'div',
+ null,
+ u && u.count()
+ ? Pe.createElement(L, {
+ info: u,
+ url: _,
+ host: x,
+ basePath: w,
+ externalDocs: C,
+ getComponent: o,
+ selectedServer: j
+ })
+ : null
+ );
+ }
+ }
+ class contact_Contact extends Pe.Component {
+ render() {
+ const { data: s, getComponent: o, selectedServer: i, url: u } = this.props,
+ _ = s.get('name', 'the developer'),
+ w = safeBuildUrl(s.get('url'), u, { selectedServer: i }),
+ x = s.get('email'),
+ C = o('Link');
+ return Pe.createElement(
+ 'div',
+ { className: 'info__contact' },
+ w &&
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(C, { href: sanitizeUrl(w), target: '_blank' }, _, ' - Website')
+ ),
+ x &&
+ Pe.createElement(
+ C,
+ { href: sanitizeUrl(`mailto:${x}`) },
+ w ? `Send email to ${_}` : `Contact ${_}`
+ )
+ );
+ }
+ }
+ const Vk = contact_Contact;
+ class license_License extends Pe.Component {
+ render() {
+ const { license: s, getComponent: o, selectedServer: i, url: u } = this.props,
+ _ = s.get('name', 'License'),
+ w = safeBuildUrl(s.get('url'), u, { selectedServer: i }),
+ x = o('Link');
+ return Pe.createElement(
+ 'div',
+ { className: 'info__license' },
+ w
+ ? Pe.createElement(
+ 'div',
+ { className: 'info__license__url' },
+ Pe.createElement(x, { target: '_blank', href: sanitizeUrl(w) }, _)
+ )
+ : Pe.createElement('span', null, _)
+ );
+ }
+ }
+ const zk = license_License;
+ class JumpToPath extends Pe.Component {
+ render() {
+ return null;
+ }
+ }
+ class CopyToClipboardBtn extends Pe.Component {
+ render() {
+ let { getComponent: s } = this.props;
+ const o = s('CopyIcon');
+ return Pe.createElement(
+ 'div',
+ { className: 'view-line-link copy-to-clipboard', title: 'Copy to clipboard' },
+ Pe.createElement(
+ Jn.CopyToClipboard,
+ { text: this.props.textToCopy },
+ Pe.createElement(o, null)
+ )
+ );
+ }
+ }
+ class Footer extends Pe.Component {
+ render() {
+ return Pe.createElement('div', { className: 'footer' });
+ }
+ }
+ class FilterContainer extends Pe.Component {
+ onFilterChange = (s) => {
+ const {
+ target: { value: o }
+ } = s;
+ this.props.layoutActions.updateFilter(o);
+ };
+ render() {
+ const { specSelectors: s, layoutSelectors: o, getComponent: i } = this.props,
+ u = i('Col'),
+ _ = 'loading' === s.loadingStatus(),
+ w = 'failed' === s.loadingStatus(),
+ x = o.currentFilter(),
+ C = ['operation-filter-input'];
+ return (
+ w && C.push('failed'),
+ _ && C.push('loading'),
+ Pe.createElement(
+ 'div',
+ null,
+ !1 === x
+ ? null
+ : Pe.createElement(
+ 'div',
+ { className: 'filter-container' },
+ Pe.createElement(
+ u,
+ { className: 'filter wrapper', mobile: 12 },
+ Pe.createElement('input', {
+ className: C.join(' '),
+ placeholder: 'Filter by tag',
+ type: 'text',
+ onChange: this.onFilterChange,
+ value: 'string' == typeof x ? x : '',
+ disabled: _
+ })
+ )
+ )
+ )
+ );
+ }
+ }
+ const eC = Function.prototype;
+ class ParamBody extends Pe.PureComponent {
+ static defaultProp = {
+ consumes: (0, qe.fromJS)(['application/json']),
+ param: (0, qe.fromJS)({}),
+ onChange: eC,
+ onChangeConsumes: eC
+ };
+ constructor(s, o) {
+ super(s, o), (this.state = { isEditBox: !1, value: '' });
+ }
+ componentDidMount() {
+ this.updateValues.call(this, this.props);
+ }
+ UNSAFE_componentWillReceiveProps(s) {
+ this.updateValues.call(this, s);
+ }
+ updateValues = (s) => {
+ let { param: o, isExecute: i, consumesValue: u = '' } = s,
+ _ = /xml/i.test(u),
+ w = /json/i.test(u),
+ x = _ ? o.get('value_xml') : o.get('value');
+ if (void 0 !== x) {
+ let s = !x && w ? '{}' : x;
+ this.setState({ value: s }), this.onChange(s, { isXml: _, isEditBox: i });
+ } else
+ _
+ ? this.onChange(this.sample('xml'), { isXml: _, isEditBox: i })
+ : this.onChange(this.sample(), { isEditBox: i });
+ };
+ sample = (s) => {
+ let { param: o, fn: i } = this.props,
+ u = i.inferSchema(o.toJS());
+ return i.getSampleSchema(u, s, { includeWriteOnly: !0 });
+ };
+ onChange = (s, { isEditBox: o, isXml: i }) => {
+ this.setState({ value: s, isEditBox: o }), this._onChange(s, i);
+ };
+ _onChange = (s, o) => {
+ (this.props.onChange || eC)(s, o);
+ };
+ handleOnChange = (s) => {
+ const { consumesValue: o } = this.props,
+ i = /xml/i.test(o),
+ u = s.target.value;
+ this.onChange(u, { isXml: i, isEditBox: this.state.isEditBox });
+ };
+ toggleIsEditBox = () => this.setState((s) => ({ isEditBox: !s.isEditBox }));
+ render() {
+ let {
+ onChangeConsumes: s,
+ param: o,
+ isExecute: i,
+ specSelectors: u,
+ pathMethod: _,
+ getComponent: w
+ } = this.props;
+ const x = w('Button'),
+ C = w('TextArea'),
+ j = w('HighlightCode', !0),
+ L = w('contentType');
+ let B = (u ? u.parameterWithMetaByIdentity(_, o) : o).get('errors', (0, qe.List)()),
+ $ = u.contentTypeValues(_).get('requestContentType'),
+ V =
+ this.props.consumes && this.props.consumes.size
+ ? this.props.consumes
+ : ParamBody.defaultProp.consumes,
+ { value: U, isEditBox: z } = this.state,
+ Y = null;
+ getKnownSyntaxHighlighterLanguage(U) && (Y = 'json');
+ const Z = `${createHtmlReadyId(`${_[1]}${_[0]}_parameters`)}_select`;
+ return Pe.createElement(
+ 'div',
+ {
+ className: 'body-param',
+ 'data-param-name': o.get('name'),
+ 'data-param-in': o.get('in')
+ },
+ z && i
+ ? Pe.createElement(C, {
+ className: 'body-param__text' + (B.count() ? ' invalid' : ''),
+ value: U,
+ onChange: this.handleOnChange
+ })
+ : U && Pe.createElement(j, { className: 'body-param__example', language: Y }, U),
+ Pe.createElement(
+ 'div',
+ { className: 'body-param-options' },
+ i
+ ? Pe.createElement(
+ 'div',
+ { className: 'body-param-edit' },
+ Pe.createElement(
+ x,
+ {
+ className: z
+ ? 'btn cancel body-param__example-edit'
+ : 'btn edit body-param__example-edit',
+ onClick: this.toggleIsEditBox
+ },
+ z ? 'Cancel' : 'Edit'
+ )
+ )
+ : null,
+ Pe.createElement(
+ 'label',
+ { htmlFor: Z },
+ Pe.createElement('span', null, 'Parameter content type'),
+ Pe.createElement(L, {
+ value: $,
+ contentTypes: V,
+ onChange: s,
+ className: 'body-param-content-type',
+ ariaLabel: 'Parameter content type',
+ controlId: Z
+ })
+ )
+ )
+ );
+ }
+ }
+ class Curl extends Pe.Component {
+ render() {
+ const { request: s, getComponent: o } = this.props,
+ i = requestSnippetGenerator_curl_bash(s),
+ u = o('SyntaxHighlighter', !0);
+ return Pe.createElement(
+ 'div',
+ { className: 'curl-command' },
+ Pe.createElement('h4', null, 'Curl'),
+ Pe.createElement(
+ 'div',
+ { className: 'copy-to-clipboard' },
+ Pe.createElement(Jn.CopyToClipboard, { text: i }, Pe.createElement('button', null))
+ ),
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ u,
+ {
+ language: 'bash',
+ className: 'curl microlight',
+ renderPlainText: ({ children: s, PlainTextViewer: o }) =>
+ Pe.createElement(o, { className: 'curl' }, s)
+ },
+ i
+ )
+ )
+ );
+ }
+ }
+ const property = ({ propKey: s, propVal: o, propClass: i }) =>
+ Pe.createElement(
+ 'span',
+ { className: i },
+ Pe.createElement('br', null),
+ s,
+ ': ',
+ String(o)
+ );
+ class TryItOutButton extends Pe.Component {
+ static defaultProps = {
+ onTryoutClick: Function.prototype,
+ onCancelClick: Function.prototype,
+ onResetClick: Function.prototype,
+ enabled: !1,
+ hasUserEditedBody: !1,
+ isOAS3: !1
+ };
+ render() {
+ const {
+ onTryoutClick: s,
+ onCancelClick: o,
+ onResetClick: i,
+ enabled: u,
+ hasUserEditedBody: _,
+ isOAS3: w
+ } = this.props,
+ x = w && _;
+ return Pe.createElement(
+ 'div',
+ { className: x ? 'try-out btn-group' : 'try-out' },
+ u
+ ? Pe.createElement(
+ 'button',
+ { className: 'btn try-out__btn cancel', onClick: o },
+ 'Cancel'
+ )
+ : Pe.createElement(
+ 'button',
+ { className: 'btn try-out__btn', onClick: s },
+ 'Try it out '
+ ),
+ x &&
+ Pe.createElement(
+ 'button',
+ { className: 'btn try-out__btn reset', onClick: i },
+ 'Reset'
+ )
+ );
+ }
+ }
+ class VersionPragmaFilter extends Pe.PureComponent {
+ static defaultProps = { alsoShow: null, children: null, bypass: !1 };
+ render() {
+ const { bypass: s, isSwagger2: o, isOAS3: i, alsoShow: u } = this.props;
+ return s
+ ? Pe.createElement('div', null, this.props.children)
+ : o && i
+ ? Pe.createElement(
+ 'div',
+ { className: 'version-pragma' },
+ u,
+ Pe.createElement(
+ 'div',
+ { className: 'version-pragma__message version-pragma__message--ambiguous' },
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('h3', null, 'Unable to render this definition'),
+ Pe.createElement(
+ 'p',
+ null,
+ Pe.createElement('code', null, 'swagger'),
+ ' and ',
+ Pe.createElement('code', null, 'openapi'),
+ ' fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.'
+ ),
+ Pe.createElement(
+ 'p',
+ null,
+ 'Supported version fields are ',
+ Pe.createElement('code', null, 'swagger: ', '"2.0"'),
+ ' and those that match ',
+ Pe.createElement('code', null, 'openapi: 3.0.n'),
+ ' (for example, ',
+ Pe.createElement('code', null, 'openapi: 3.0.0'),
+ ').'
+ )
+ )
+ )
+ )
+ : o || i
+ ? Pe.createElement('div', null, this.props.children)
+ : Pe.createElement(
+ 'div',
+ { className: 'version-pragma' },
+ u,
+ Pe.createElement(
+ 'div',
+ { className: 'version-pragma__message version-pragma__message--missing' },
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('h3', null, 'Unable to render this definition'),
+ Pe.createElement(
+ 'p',
+ null,
+ 'The provided definition does not specify a valid version field.'
+ ),
+ Pe.createElement(
+ 'p',
+ null,
+ 'Please indicate a valid Swagger or OpenAPI version field. Supported version fields are ',
+ Pe.createElement('code', null, 'swagger: ', '"2.0"'),
+ ' and those that match ',
+ Pe.createElement('code', null, 'openapi: 3.0.n'),
+ ' (for example, ',
+ Pe.createElement('code', null, 'openapi: 3.0.0'),
+ ').'
+ )
+ )
+ )
+ );
+ }
+ }
+ const version_stamp = ({ version: s }) =>
+ Pe.createElement(
+ 'small',
+ null,
+ Pe.createElement('pre', { className: 'version' }, ' ', s, ' ')
+ ),
+ openapi_version = ({ oasVersion: s }) =>
+ Pe.createElement(
+ 'small',
+ { className: 'version-stamp' },
+ Pe.createElement('pre', { className: 'version' }, 'OAS ', s)
+ ),
+ deep_link = ({ enabled: s, path: o, text: i }) =>
+ Pe.createElement(
+ 'a',
+ {
+ className: 'nostyle',
+ onClick: s ? (s) => s.preventDefault() : null,
+ href: s ? `#/${o}` : null
+ },
+ Pe.createElement('span', null, i)
+ ),
+ svg_assets = () =>
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'svg',
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ xmlnsXlink: 'http://www.w3.org/1999/xlink',
+ className: 'svg-assets'
+ },
+ Pe.createElement(
+ 'defs',
+ null,
+ Pe.createElement(
+ 'symbol',
+ { viewBox: '0 0 20 20', id: 'unlocked' },
+ Pe.createElement('path', {
+ d: 'M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z'
+ })
+ ),
+ Pe.createElement(
+ 'symbol',
+ { viewBox: '0 0 20 20', id: 'locked' },
+ Pe.createElement('path', {
+ d: 'M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z'
+ })
+ ),
+ Pe.createElement(
+ 'symbol',
+ { viewBox: '0 0 20 20', id: 'close' },
+ Pe.createElement('path', {
+ d: 'M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z'
+ })
+ ),
+ Pe.createElement(
+ 'symbol',
+ { viewBox: '0 0 20 20', id: 'large-arrow' },
+ Pe.createElement('path', {
+ d: 'M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z'
+ })
+ ),
+ Pe.createElement(
+ 'symbol',
+ { viewBox: '0 0 20 20', id: 'large-arrow-down' },
+ Pe.createElement('path', {
+ d: 'M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z'
+ })
+ ),
+ Pe.createElement(
+ 'symbol',
+ { viewBox: '0 0 20 20', id: 'large-arrow-up' },
+ Pe.createElement('path', {
+ d: 'M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z'
+ })
+ ),
+ Pe.createElement(
+ 'symbol',
+ { viewBox: '0 0 24 24', id: 'jump-to' },
+ Pe.createElement('path', {
+ d: 'M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z'
+ })
+ ),
+ Pe.createElement(
+ 'symbol',
+ { viewBox: '0 0 24 24', id: 'expand' },
+ Pe.createElement('path', {
+ d: 'M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z'
+ })
+ ),
+ Pe.createElement(
+ 'symbol',
+ { viewBox: '0 0 15 16', id: 'copy' },
+ Pe.createElement(
+ 'g',
+ { transform: 'translate(2, -1)' },
+ Pe.createElement('path', {
+ fill: '#ffffff',
+ fillRule: 'evenodd',
+ d: 'M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z'
+ })
+ )
+ )
+ )
+ )
+ );
+ var tC;
+ function decodeEntity(s) {
+ return (
+ ((tC = tC || document.createElement('textarea')).innerHTML = '&' + s + ';'), tC.value
+ );
+ }
+ var rC = Object.prototype.hasOwnProperty;
+ function index_browser_has(s, o) {
+ return !!s && rC.call(s, o);
+ }
+ function index_browser_assign(s) {
+ return (
+ [].slice.call(arguments, 1).forEach(function (o) {
+ if (o) {
+ if ('object' != typeof o) throw new TypeError(o + 'must be object');
+ Object.keys(o).forEach(function (i) {
+ s[i] = o[i];
+ });
+ }
+ }),
+ s
+ );
+ }
+ var nC = /\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;
+ function unescapeMd(s) {
+ return s.indexOf('\\') < 0 ? s : s.replace(nC, '$1');
+ }
+ function isValidEntityCode(s) {
+ return (
+ !(s >= 55296 && s <= 57343) &&
+ !(s >= 64976 && s <= 65007) &&
+ !!(65535 & ~s && 65534 != (65535 & s)) &&
+ !(s >= 0 && s <= 8) &&
+ 11 !== s &&
+ !(s >= 14 && s <= 31) &&
+ !(s >= 127 && s <= 159) &&
+ !(s > 1114111)
+ );
+ }
+ function fromCodePoint(s) {
+ if (s > 65535) {
+ var o = 55296 + ((s -= 65536) >> 10),
+ i = 56320 + (1023 & s);
+ return String.fromCharCode(o, i);
+ }
+ return String.fromCharCode(s);
+ }
+ var sC = /&([a-z#][a-z0-9]{1,31});/gi,
+ oC = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;
+ function replaceEntityPattern(s, o) {
+ var i = 0,
+ u = decodeEntity(o);
+ return o !== u
+ ? u
+ : 35 === o.charCodeAt(0) &&
+ oC.test(o) &&
+ isValidEntityCode(
+ (i =
+ 'x' === o[1].toLowerCase()
+ ? parseInt(o.slice(2), 16)
+ : parseInt(o.slice(1), 10))
+ )
+ ? fromCodePoint(i)
+ : s;
+ }
+ function replaceEntities(s) {
+ return s.indexOf('&') < 0 ? s : s.replace(sC, replaceEntityPattern);
+ }
+ var iC = /[&<>"]/,
+ aC = /[&<>"]/g,
+ lC = { '&': '&', '<': '<', '>': '>', '"': '"' };
+ function replaceUnsafeChar(s) {
+ return lC[s];
+ }
+ function escapeHtml(s) {
+ return iC.test(s) ? s.replace(aC, replaceUnsafeChar) : s;
+ }
+ var cC = {};
+ function nextToken(s, o) {
+ return ++o >= s.length - 2
+ ? o
+ : 'paragraph_open' === s[o].type &&
+ s[o].tight &&
+ 'inline' === s[o + 1].type &&
+ 0 === s[o + 1].content.length &&
+ 'paragraph_close' === s[o + 2].type &&
+ s[o + 2].tight
+ ? nextToken(s, o + 2)
+ : o;
+ }
+ (cC.blockquote_open = function () {
+ return '\n';
+ }),
+ (cC.blockquote_close = function (s, o) {
+ return ' ' + uC(s, o);
+ }),
+ (cC.code = function (s, o) {
+ return s[o].block
+ ? '' + escapeHtml(s[o].content) + ' ' + uC(s, o)
+ : '' + escapeHtml(s[o].content) + '';
+ }),
+ (cC.fence = function (s, o, i, u, _) {
+ var w,
+ x,
+ C = s[o],
+ j = '',
+ L = i.langPrefix;
+ if (C.params) {
+ if (
+ ((x = (w = C.params.split(/\s+/g)).join(' ')),
+ index_browser_has(_.rules.fence_custom, w[0]))
+ )
+ return _.rules.fence_custom[w[0]](s, o, i, u, _);
+ j = ' class="' + L + escapeHtml(replaceEntities(unescapeMd(x))) + '"';
+ }
+ return (
+ '' +
+ ((i.highlight && i.highlight.apply(i.highlight, [C.content].concat(w))) ||
+ escapeHtml(C.content)) +
+ ' ' +
+ uC(s, o)
+ );
+ }),
+ (cC.fence_custom = {}),
+ (cC.heading_open = function (s, o) {
+ return '';
+ }),
+ (cC.heading_close = function (s, o) {
+ return ' \n';
+ }),
+ (cC.hr = function (s, o, i) {
+ return (i.xhtmlOut ? ' ' : ' ') + uC(s, o);
+ }),
+ (cC.bullet_list_open = function () {
+ return '\n';
+ }),
+ (cC.bullet_list_close = function (s, o) {
+ return ' ' + uC(s, o);
+ }),
+ (cC.list_item_open = function () {
+ return '';
+ }),
+ (cC.list_item_close = function () {
+ return ' \n';
+ }),
+ (cC.ordered_list_open = function (s, o) {
+ var i = s[o];
+ return ' 1 ? ' start="' + i.order + '"' : '') + '>\n';
+ }),
+ (cC.ordered_list_close = function (s, o) {
+ return ' ' + uC(s, o);
+ }),
+ (cC.paragraph_open = function (s, o) {
+ return s[o].tight ? '' : '';
+ }),
+ (cC.paragraph_close = function (s, o) {
+ var i = !(s[o].tight && o && 'inline' === s[o - 1].type && !s[o - 1].content);
+ return (s[o].tight ? '' : '
') + (i ? uC(s, o) : '');
+ }),
+ (cC.link_open = function (s, o, i) {
+ var u = s[o].title ? ' title="' + escapeHtml(replaceEntities(s[o].title)) + '"' : '',
+ _ = i.linkTarget ? ' target="' + i.linkTarget + '"' : '';
+ return '';
+ }),
+ (cC.link_close = function () {
+ return ' ';
+ }),
+ (cC.image = function (s, o, i) {
+ var u = ' src="' + escapeHtml(s[o].src) + '"',
+ _ = s[o].title ? ' title="' + escapeHtml(replaceEntities(s[o].title)) + '"' : '';
+ return (
+ ' '
+ );
+ }),
+ (cC.table_open = function () {
+ return '\n';
+ }),
+ (cC.table_close = function () {
+ return '
\n';
+ }),
+ (cC.thead_open = function () {
+ return '\n';
+ }),
+ (cC.thead_close = function () {
+ return ' \n';
+ }),
+ (cC.tbody_open = function () {
+ return '\n';
+ }),
+ (cC.tbody_close = function () {
+ return ' \n';
+ }),
+ (cC.tr_open = function () {
+ return '';
+ }),
+ (cC.tr_close = function () {
+ return ' \n';
+ }),
+ (cC.th_open = function (s, o) {
+ var i = s[o];
+ return '';
+ }),
+ (cC.th_close = function () {
+ return ' ';
+ }),
+ (cC.td_open = function (s, o) {
+ var i = s[o];
+ return '';
+ }),
+ (cC.td_close = function () {
+ return ' ';
+ }),
+ (cC.strong_open = function () {
+ return '';
+ }),
+ (cC.strong_close = function () {
+ return ' ';
+ }),
+ (cC.em_open = function () {
+ return '';
+ }),
+ (cC.em_close = function () {
+ return ' ';
+ }),
+ (cC.del_open = function () {
+ return '';
+ }),
+ (cC.del_close = function () {
+ return '';
+ }),
+ (cC.ins_open = function () {
+ return '';
+ }),
+ (cC.ins_close = function () {
+ return ' ';
+ }),
+ (cC.mark_open = function () {
+ return '';
+ }),
+ (cC.mark_close = function () {
+ return ' ';
+ }),
+ (cC.sub = function (s, o) {
+ return '' + escapeHtml(s[o].content) + ' ';
+ }),
+ (cC.sup = function (s, o) {
+ return '' + escapeHtml(s[o].content) + ' ';
+ }),
+ (cC.hardbreak = function (s, o, i) {
+ return i.xhtmlOut ? ' \n' : ' \n';
+ }),
+ (cC.softbreak = function (s, o, i) {
+ return i.breaks ? (i.xhtmlOut ? ' \n' : ' \n') : '\n';
+ }),
+ (cC.text = function (s, o) {
+ return escapeHtml(s[o].content);
+ }),
+ (cC.htmlblock = function (s, o) {
+ return s[o].content;
+ }),
+ (cC.htmltag = function (s, o) {
+ return s[o].content;
+ }),
+ (cC.abbr_open = function (s, o) {
+ return '';
+ }),
+ (cC.abbr_close = function () {
+ return ' ';
+ }),
+ (cC.footnote_ref = function (s, o) {
+ var i = Number(s[o].id + 1).toString(),
+ u = 'fnref' + i;
+ return (
+ s[o].subId > 0 && (u += ':' + s[o].subId),
+ ''
+ );
+ }),
+ (cC.footnote_block_open = function (s, o, i) {
+ return (
+ (i.xhtmlOut ? '\n' : '\n') +
+ '\n';
+ }),
+ (cC.footnote_open = function (s, o) {
+ return '\n';
+ }),
+ (cC.footnote_anchor = function (s, o) {
+ var i = 'fnref' + Number(s[o].id + 1).toString();
+ return (
+ s[o].subId > 0 && (i += ':' + s[o].subId),
+ ' '
+ );
+ }),
+ (cC.dl_open = function () {
+ return '\n';
+ }),
+ (cC.dt_open = function () {
+ return '';
+ }),
+ (cC.dd_open = function () {
+ return ' ';
+ }),
+ (cC.dl_close = function () {
+ return ' \n';
+ }),
+ (cC.dt_close = function () {
+ return '\n';
+ }),
+ (cC.dd_close = function () {
+ return '\n';
+ });
+ var uC = (cC.getBreak = function getBreak(s, o) {
+ return (o = nextToken(s, o)) < s.length && 'list_item_close' === s[o].type ? '' : '\n';
+ });
+ function Renderer() {
+ (this.rules = index_browser_assign({}, cC)), (this.getBreak = cC.getBreak);
+ }
+ function Ruler() {
+ (this.__rules__ = []), (this.__cache__ = null);
+ }
+ function StateInline(s, o, i, u, _) {
+ (this.src = s),
+ (this.env = u),
+ (this.options = i),
+ (this.parser = o),
+ (this.tokens = _),
+ (this.pos = 0),
+ (this.posMax = this.src.length),
+ (this.level = 0),
+ (this.pending = ''),
+ (this.pendingLevel = 0),
+ (this.cache = []),
+ (this.isInLabel = !1),
+ (this.linkLevel = 0),
+ (this.linkContent = ''),
+ (this.labelUnmatchedScopes = 0);
+ }
+ function parseLinkLabel(s, o) {
+ var i,
+ u,
+ _,
+ w = -1,
+ x = s.posMax,
+ C = s.pos,
+ j = s.isInLabel;
+ if (s.isInLabel) return -1;
+ if (s.labelUnmatchedScopes) return s.labelUnmatchedScopes--, -1;
+ for (s.pos = o + 1, s.isInLabel = !0, i = 1; s.pos < x; ) {
+ if (91 === (_ = s.src.charCodeAt(s.pos))) i++;
+ else if (93 === _ && 0 === --i) {
+ u = !0;
+ break;
+ }
+ s.parser.skipToken(s);
+ }
+ return (
+ u ? ((w = s.pos), (s.labelUnmatchedScopes = 0)) : (s.labelUnmatchedScopes = i - 1),
+ (s.pos = C),
+ (s.isInLabel = j),
+ w
+ );
+ }
+ function parseAbbr(s, o, i, u) {
+ var _, w, x, C, j, L;
+ if (42 !== s.charCodeAt(0)) return -1;
+ if (91 !== s.charCodeAt(1)) return -1;
+ if (-1 === s.indexOf(']:')) return -1;
+ if (
+ (w = parseLinkLabel((_ = new StateInline(s, o, i, u, [])), 1)) < 0 ||
+ 58 !== s.charCodeAt(w + 1)
+ )
+ return -1;
+ for (C = _.posMax, x = w + 2; x < C && 10 !== _.src.charCodeAt(x); x++);
+ return (
+ (j = s.slice(2, w)),
+ 0 === (L = s.slice(w + 2, x).trim()).length
+ ? -1
+ : (u.abbreviations || (u.abbreviations = {}),
+ void 0 === u.abbreviations[':' + j] && (u.abbreviations[':' + j] = L),
+ x)
+ );
+ }
+ function normalizeLink(s) {
+ var o = replaceEntities(s);
+ try {
+ o = decodeURI(o);
+ } catch (s) {}
+ return encodeURI(o);
+ }
+ function parseLinkDestination(s, o) {
+ var i,
+ u,
+ _,
+ w = o,
+ x = s.posMax;
+ if (60 === s.src.charCodeAt(o)) {
+ for (o++; o < x; ) {
+ if (10 === (i = s.src.charCodeAt(o))) return !1;
+ if (62 === i)
+ return (
+ (_ = normalizeLink(unescapeMd(s.src.slice(w + 1, o)))),
+ !!s.parser.validateLink(_) && ((s.pos = o + 1), (s.linkContent = _), !0)
+ );
+ 92 === i && o + 1 < x ? (o += 2) : o++;
+ }
+ return !1;
+ }
+ for (u = 0; o < x && 32 !== (i = s.src.charCodeAt(o)) && !(i < 32 || 127 === i); )
+ if (92 === i && o + 1 < x) o += 2;
+ else {
+ if (40 === i && ++u > 1) break;
+ if (41 === i && --u < 0) break;
+ o++;
+ }
+ return (
+ w !== o &&
+ ((_ = unescapeMd(s.src.slice(w, o))),
+ !!s.parser.validateLink(_) && ((s.linkContent = _), (s.pos = o), !0))
+ );
+ }
+ function parseLinkTitle(s, o) {
+ var i,
+ u = o,
+ _ = s.posMax,
+ w = s.src.charCodeAt(o);
+ if (34 !== w && 39 !== w && 40 !== w) return !1;
+ for (o++, 40 === w && (w = 41); o < _; ) {
+ if ((i = s.src.charCodeAt(o)) === w)
+ return (s.pos = o + 1), (s.linkContent = unescapeMd(s.src.slice(u + 1, o))), !0;
+ 92 === i && o + 1 < _ ? (o += 2) : o++;
+ }
+ return !1;
+ }
+ function normalizeReference(s) {
+ return s.trim().replace(/\s+/g, ' ').toUpperCase();
+ }
+ function parseReference(s, o, i, u) {
+ var _, w, x, C, j, L, B, $, V;
+ if (91 !== s.charCodeAt(0)) return -1;
+ if (-1 === s.indexOf(']:')) return -1;
+ if (
+ (w = parseLinkLabel((_ = new StateInline(s, o, i, u, [])), 0)) < 0 ||
+ 58 !== s.charCodeAt(w + 1)
+ )
+ return -1;
+ for (
+ C = _.posMax, x = w + 2;
+ x < C && (32 === (j = _.src.charCodeAt(x)) || 10 === j);
+ x++
+ );
+ if (!parseLinkDestination(_, x)) return -1;
+ for (
+ B = _.linkContent, L = x = _.pos, x += 1;
+ x < C && (32 === (j = _.src.charCodeAt(x)) || 10 === j);
+ x++
+ );
+ for (
+ x < C && L !== x && parseLinkTitle(_, x)
+ ? (($ = _.linkContent), (x = _.pos))
+ : (($ = ''), (x = L));
+ x < C && 32 === _.src.charCodeAt(x);
+
+ )
+ x++;
+ return x < C && 10 !== _.src.charCodeAt(x)
+ ? -1
+ : ((V = normalizeReference(s.slice(1, w))),
+ void 0 === u.references[V] && (u.references[V] = { title: $, href: B }),
+ x);
+ }
+ (Renderer.prototype.renderInline = function (s, o, i) {
+ for (var u = this.rules, _ = s.length, w = 0, x = ''; _--; )
+ x += u[s[w].type](s, w++, o, i, this);
+ return x;
+ }),
+ (Renderer.prototype.render = function (s, o, i) {
+ for (var u = this.rules, _ = s.length, w = -1, x = ''; ++w < _; )
+ 'inline' === s[w].type
+ ? (x += this.renderInline(s[w].children, o, i))
+ : (x += u[s[w].type](s, w, o, i, this));
+ return x;
+ }),
+ (Ruler.prototype.__find__ = function (s) {
+ for (var o = this.__rules__.length, i = -1; o--; )
+ if (this.__rules__[++i].name === s) return i;
+ return -1;
+ }),
+ (Ruler.prototype.__compile__ = function () {
+ var s = this,
+ o = [''];
+ s.__rules__.forEach(function (s) {
+ s.enabled &&
+ s.alt.forEach(function (s) {
+ o.indexOf(s) < 0 && o.push(s);
+ });
+ }),
+ (s.__cache__ = {}),
+ o.forEach(function (o) {
+ (s.__cache__[o] = []),
+ s.__rules__.forEach(function (i) {
+ i.enabled && ((o && i.alt.indexOf(o) < 0) || s.__cache__[o].push(i.fn));
+ });
+ });
+ }),
+ (Ruler.prototype.at = function (s, o, i) {
+ var u = this.__find__(s),
+ _ = i || {};
+ if (-1 === u) throw new Error('Parser rule not found: ' + s);
+ (this.__rules__[u].fn = o),
+ (this.__rules__[u].alt = _.alt || []),
+ (this.__cache__ = null);
+ }),
+ (Ruler.prototype.before = function (s, o, i, u) {
+ var _ = this.__find__(s),
+ w = u || {};
+ if (-1 === _) throw new Error('Parser rule not found: ' + s);
+ this.__rules__.splice(_, 0, { name: o, enabled: !0, fn: i, alt: w.alt || [] }),
+ (this.__cache__ = null);
+ }),
+ (Ruler.prototype.after = function (s, o, i, u) {
+ var _ = this.__find__(s),
+ w = u || {};
+ if (-1 === _) throw new Error('Parser rule not found: ' + s);
+ this.__rules__.splice(_ + 1, 0, { name: o, enabled: !0, fn: i, alt: w.alt || [] }),
+ (this.__cache__ = null);
+ }),
+ (Ruler.prototype.push = function (s, o, i) {
+ var u = i || {};
+ this.__rules__.push({ name: s, enabled: !0, fn: o, alt: u.alt || [] }),
+ (this.__cache__ = null);
+ }),
+ (Ruler.prototype.enable = function (s, o) {
+ (s = Array.isArray(s) ? s : [s]),
+ o &&
+ this.__rules__.forEach(function (s) {
+ s.enabled = !1;
+ }),
+ s.forEach(function (s) {
+ var o = this.__find__(s);
+ if (o < 0) throw new Error('Rules manager: invalid rule name ' + s);
+ this.__rules__[o].enabled = !0;
+ }, this),
+ (this.__cache__ = null);
+ }),
+ (Ruler.prototype.disable = function (s) {
+ (s = Array.isArray(s) ? s : [s]).forEach(function (s) {
+ var o = this.__find__(s);
+ if (o < 0) throw new Error('Rules manager: invalid rule name ' + s);
+ this.__rules__[o].enabled = !1;
+ }, this),
+ (this.__cache__ = null);
+ }),
+ (Ruler.prototype.getRules = function (s) {
+ return null === this.__cache__ && this.__compile__(), this.__cache__[s] || [];
+ }),
+ (StateInline.prototype.pushPending = function () {
+ this.tokens.push({ type: 'text', content: this.pending, level: this.pendingLevel }),
+ (this.pending = '');
+ }),
+ (StateInline.prototype.push = function (s) {
+ this.pending && this.pushPending(),
+ this.tokens.push(s),
+ (this.pendingLevel = this.level);
+ }),
+ (StateInline.prototype.cacheSet = function (s, o) {
+ for (var i = this.cache.length; i <= s; i++) this.cache.push(0);
+ this.cache[s] = o;
+ }),
+ (StateInline.prototype.cacheGet = function (s) {
+ return s < this.cache.length ? this.cache[s] : 0;
+ });
+ var pC = ' \n()[]\'".,!?-';
+ function regEscape(s) {
+ return s.replace(/([-()\[\]{}+?*.$\^|,:#= s.length) && !yC.test(s[o]);
+ }
+ function replaceAt(s, o, i) {
+ return s.substr(0, o) + i + s.substr(o + 1);
+ }
+ var vC = [
+ [
+ 'block',
+ function block(s) {
+ s.inlineMode
+ ? s.tokens.push({
+ type: 'inline',
+ content: s.src.replace(/\n/g, ' ').trim(),
+ level: 0,
+ lines: [0, 1],
+ children: []
+ })
+ : s.block.parse(s.src, s.options, s.env, s.tokens);
+ }
+ ],
+ [
+ 'abbr',
+ function abbr(s) {
+ var o,
+ i,
+ u,
+ _,
+ w = s.tokens;
+ if (!s.inlineMode)
+ for (o = 1, i = w.length - 1; o < i; o++)
+ if (
+ 'paragraph_open' === w[o - 1].type &&
+ 'inline' === w[o].type &&
+ 'paragraph_close' === w[o + 1].type
+ ) {
+ for (
+ u = w[o].content;
+ u.length && !((_ = parseAbbr(u, s.inline, s.options, s.env)) < 0);
+
+ )
+ u = u.slice(_).trim();
+ (w[o].content = u), u.length || ((w[o - 1].tight = !0), (w[o + 1].tight = !0));
+ }
+ }
+ ],
+ [
+ 'references',
+ function references(s) {
+ var o,
+ i,
+ u,
+ _,
+ w = s.tokens;
+ if (((s.env.references = s.env.references || {}), !s.inlineMode))
+ for (o = 1, i = w.length - 1; o < i; o++)
+ if (
+ 'inline' === w[o].type &&
+ 'paragraph_open' === w[o - 1].type &&
+ 'paragraph_close' === w[o + 1].type
+ ) {
+ for (
+ u = w[o].content;
+ u.length && !((_ = parseReference(u, s.inline, s.options, s.env)) < 0);
+
+ )
+ u = u.slice(_).trim();
+ (w[o].content = u), u.length || ((w[o - 1].tight = !0), (w[o + 1].tight = !0));
+ }
+ }
+ ],
+ [
+ 'inline',
+ function inline(s) {
+ var o,
+ i,
+ u,
+ _ = s.tokens;
+ for (i = 0, u = _.length; i < u; i++)
+ 'inline' === (o = _[i]).type &&
+ s.inline.parse(o.content, s.options, s.env, o.children);
+ }
+ ],
+ [
+ 'footnote_tail',
+ function footnote_block(s) {
+ var o,
+ i,
+ u,
+ _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B = 0,
+ $ = !1,
+ V = {};
+ if (
+ s.env.footnotes &&
+ ((s.tokens = s.tokens.filter(function (s) {
+ return 'footnote_reference_open' === s.type
+ ? (($ = !0), (j = []), (L = s.label), !1)
+ : 'footnote_reference_close' === s.type
+ ? (($ = !1), (V[':' + L] = j), !1)
+ : ($ && j.push(s), !$);
+ })),
+ s.env.footnotes.list)
+ ) {
+ for (
+ x = s.env.footnotes.list,
+ s.tokens.push({ type: 'footnote_block_open', level: B++ }),
+ o = 0,
+ i = x.length;
+ o < i;
+ o++
+ ) {
+ for (
+ s.tokens.push({ type: 'footnote_open', id: o, level: B++ }),
+ x[o].tokens
+ ? ((C = []).push({ type: 'paragraph_open', tight: !1, level: B++ }),
+ C.push({ type: 'inline', content: '', level: B, children: x[o].tokens }),
+ C.push({ type: 'paragraph_close', tight: !1, level: --B }))
+ : x[o].label && (C = V[':' + x[o].label]),
+ s.tokens = s.tokens.concat(C),
+ w =
+ 'paragraph_close' === s.tokens[s.tokens.length - 1].type
+ ? s.tokens.pop()
+ : null,
+ _ = x[o].count > 0 ? x[o].count : 1,
+ u = 0;
+ u < _;
+ u++
+ )
+ s.tokens.push({ type: 'footnote_anchor', id: o, subId: u, level: B });
+ w && s.tokens.push(w), s.tokens.push({ type: 'footnote_close', level: --B });
+ }
+ s.tokens.push({ type: 'footnote_block_close', level: --B });
+ }
+ }
+ ],
+ [
+ 'abbr2',
+ function abbr2(s) {
+ var o,
+ i,
+ u,
+ _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B,
+ $,
+ V,
+ U = s.tokens;
+ if (s.env.abbreviations)
+ for (
+ s.env.abbrRegExp ||
+ ((V =
+ '(^|[' +
+ pC.split('').map(regEscape).join('') +
+ '])(' +
+ Object.keys(s.env.abbreviations)
+ .map(function (s) {
+ return s.substr(1);
+ })
+ .sort(function (s, o) {
+ return o.length - s.length;
+ })
+ .map(regEscape)
+ .join('|') +
+ ')($|[' +
+ pC.split('').map(regEscape).join('') +
+ '])'),
+ (s.env.abbrRegExp = new RegExp(V, 'g'))),
+ B = s.env.abbrRegExp,
+ i = 0,
+ u = U.length;
+ i < u;
+ i++
+ )
+ if ('inline' === U[i].type)
+ for (o = (_ = U[i].children).length - 1; o >= 0; o--)
+ if ('text' === (w = _[o]).type) {
+ for (
+ j = 0, x = w.content, B.lastIndex = 0, L = w.level, C = [];
+ ($ = B.exec(x));
+
+ )
+ B.lastIndex > j &&
+ C.push({
+ type: 'text',
+ content: x.slice(j, $.index + $[1].length),
+ level: L
+ }),
+ C.push({
+ type: 'abbr_open',
+ title: s.env.abbreviations[':' + $[2]],
+ level: L++
+ }),
+ C.push({ type: 'text', content: $[2], level: L }),
+ C.push({ type: 'abbr_close', level: --L }),
+ (j = B.lastIndex - $[3].length);
+ C.length &&
+ (j < x.length && C.push({ type: 'text', content: x.slice(j), level: L }),
+ (U[i].children = _ = [].concat(_.slice(0, o), C, _.slice(o + 1))));
+ }
+ }
+ ],
+ [
+ 'replacements',
+ function index_browser_replace(s) {
+ var o, i, u, _, w;
+ if (s.options.typographer)
+ for (w = s.tokens.length - 1; w >= 0; w--)
+ if ('inline' === s.tokens[w].type)
+ for (o = (_ = s.tokens[w].children).length - 1; o >= 0; o--)
+ 'text' === (i = _[o]).type &&
+ ((u = replaceScopedAbbr((u = i.content))),
+ hC.test(u) &&
+ (u = u
+ .replace(/\+-/g, '±')
+ .replace(/\.{2,}/g, '…')
+ .replace(/([?!])…/g, '$1..')
+ .replace(/([?!]){4,}/g, '$1$1$1')
+ .replace(/,{2,}/g, ',')
+ .replace(/(^|[^-])---([^-]|$)/gm, '$1—$2')
+ .replace(/(^|\s)--(\s|$)/gm, '$1–$2')
+ .replace(/(^|[^-\s])--([^-\s]|$)/gm, '$1–$2')),
+ (i.content = u));
+ }
+ ],
+ [
+ 'smartquotes',
+ function smartquotes(s) {
+ var o, i, u, _, w, x, C, j, L, B, $, V, U, z, Y, Z, ee;
+ if (s.options.typographer)
+ for (ee = [], Y = s.tokens.length - 1; Y >= 0; Y--)
+ if ('inline' === s.tokens[Y].type)
+ for (Z = s.tokens[Y].children, ee.length = 0, o = 0; o < Z.length; o++)
+ if ('text' === (i = Z[o]).type && !mC.test(i.text)) {
+ for (C = Z[o].level, U = ee.length - 1; U >= 0 && !(ee[U].level <= C); U--);
+ (ee.length = U + 1), (w = 0), (x = (u = i.content).length);
+ e: for (; w < x && ((gC.lastIndex = w), (_ = gC.exec(u))); )
+ if (
+ ((j = !isLetter(u, _.index - 1)),
+ (w = _.index + 1),
+ (z = "'" === _[0]),
+ (L = !isLetter(u, w)) || j)
+ ) {
+ if ((($ = !L), (V = !j)))
+ for (
+ U = ee.length - 1;
+ U >= 0 && ((B = ee[U]), !(ee[U].level < C));
+ U--
+ )
+ if (B.single === z && ee[U].level === C) {
+ (B = ee[U]),
+ z
+ ? ((Z[B.token].content = replaceAt(
+ Z[B.token].content,
+ B.pos,
+ s.options.quotes[2]
+ )),
+ (i.content = replaceAt(
+ i.content,
+ _.index,
+ s.options.quotes[3]
+ )))
+ : ((Z[B.token].content = replaceAt(
+ Z[B.token].content,
+ B.pos,
+ s.options.quotes[0]
+ )),
+ (i.content = replaceAt(
+ i.content,
+ _.index,
+ s.options.quotes[1]
+ ))),
+ (ee.length = U);
+ continue e;
+ }
+ $
+ ? ee.push({ token: o, pos: _.index, single: z, level: C })
+ : V && z && (i.content = replaceAt(i.content, _.index, '’'));
+ } else z && (i.content = replaceAt(i.content, _.index, '’'));
+ }
+ }
+ ]
+ ];
+ function Core() {
+ (this.options = {}), (this.ruler = new Ruler());
+ for (var s = 0; s < vC.length; s++) this.ruler.push(vC[s][0], vC[s][1]);
+ }
+ function StateBlock(s, o, i, u, _) {
+ var w, x, C, j, L, B, $;
+ for (
+ this.src = s,
+ this.parser = o,
+ this.options = i,
+ this.env = u,
+ this.tokens = _,
+ this.bMarks = [],
+ this.eMarks = [],
+ this.tShift = [],
+ this.blkIndent = 0,
+ this.line = 0,
+ this.lineMax = 0,
+ this.tight = !1,
+ this.parentType = 'root',
+ this.ddIndent = -1,
+ this.level = 0,
+ this.result = '',
+ B = 0,
+ $ = !1,
+ C = j = B = 0,
+ L = (x = this.src).length;
+ j < L;
+ j++
+ ) {
+ if (((w = x.charCodeAt(j)), !$)) {
+ if (32 === w) {
+ B++;
+ continue;
+ }
+ $ = !0;
+ }
+ (10 !== w && j !== L - 1) ||
+ (10 !== w && j++,
+ this.bMarks.push(C),
+ this.eMarks.push(j),
+ this.tShift.push(B),
+ ($ = !1),
+ (B = 0),
+ (C = j + 1));
+ }
+ this.bMarks.push(x.length),
+ this.eMarks.push(x.length),
+ this.tShift.push(0),
+ (this.lineMax = this.bMarks.length - 1);
+ }
+ function skipBulletListMarker(s, o) {
+ var i, u, _;
+ return (u = s.bMarks[o] + s.tShift[o]) >= (_ = s.eMarks[o]) ||
+ (42 !== (i = s.src.charCodeAt(u++)) && 45 !== i && 43 !== i) ||
+ (u < _ && 32 !== s.src.charCodeAt(u))
+ ? -1
+ : u;
+ }
+ function skipOrderedListMarker(s, o) {
+ var i,
+ u = s.bMarks[o] + s.tShift[o],
+ _ = s.eMarks[o];
+ if (u + 1 >= _) return -1;
+ if ((i = s.src.charCodeAt(u++)) < 48 || i > 57) return -1;
+ for (;;) {
+ if (u >= _) return -1;
+ if (!((i = s.src.charCodeAt(u++)) >= 48 && i <= 57)) {
+ if (41 === i || 46 === i) break;
+ return -1;
+ }
+ }
+ return u < _ && 32 !== s.src.charCodeAt(u) ? -1 : u;
+ }
+ (Core.prototype.process = function (s) {
+ var o, i, u;
+ for (o = 0, i = (u = this.ruler.getRules('')).length; o < i; o++) u[o](s);
+ }),
+ (StateBlock.prototype.isEmpty = function isEmpty(s) {
+ return this.bMarks[s] + this.tShift[s] >= this.eMarks[s];
+ }),
+ (StateBlock.prototype.skipEmptyLines = function skipEmptyLines(s) {
+ for (
+ var o = this.lineMax;
+ s < o && !(this.bMarks[s] + this.tShift[s] < this.eMarks[s]);
+ s++
+ );
+ return s;
+ }),
+ (StateBlock.prototype.skipSpaces = function skipSpaces(s) {
+ for (var o = this.src.length; s < o && 32 === this.src.charCodeAt(s); s++);
+ return s;
+ }),
+ (StateBlock.prototype.skipChars = function skipChars(s, o) {
+ for (var i = this.src.length; s < i && this.src.charCodeAt(s) === o; s++);
+ return s;
+ }),
+ (StateBlock.prototype.skipCharsBack = function skipCharsBack(s, o, i) {
+ if (s <= i) return s;
+ for (; s > i; ) if (o !== this.src.charCodeAt(--s)) return s + 1;
+ return s;
+ }),
+ (StateBlock.prototype.getLines = function getLines(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C,
+ j,
+ L = s;
+ if (s >= o) return '';
+ if (L + 1 === o)
+ return (
+ (w = this.bMarks[L] + Math.min(this.tShift[L], i)),
+ (x = u ? this.eMarks[L] + 1 : this.eMarks[L]),
+ this.src.slice(w, x)
+ );
+ for (C = new Array(o - s), _ = 0; L < o; L++, _++)
+ (j = this.tShift[L]) > i && (j = i),
+ j < 0 && (j = 0),
+ (w = this.bMarks[L] + j),
+ (x = L + 1 < o || u ? this.eMarks[L] + 1 : this.eMarks[L]),
+ (C[_] = this.src.slice(w, x));
+ return C.join('');
+ });
+ var bC = {};
+ [
+ 'article',
+ 'aside',
+ 'button',
+ 'blockquote',
+ 'body',
+ 'canvas',
+ 'caption',
+ 'col',
+ 'colgroup',
+ 'dd',
+ 'div',
+ 'dl',
+ 'dt',
+ 'embed',
+ 'fieldset',
+ 'figcaption',
+ 'figure',
+ 'footer',
+ 'form',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'header',
+ 'hgroup',
+ 'hr',
+ 'iframe',
+ 'li',
+ 'map',
+ 'object',
+ 'ol',
+ 'output',
+ 'p',
+ 'pre',
+ 'progress',
+ 'script',
+ 'section',
+ 'style',
+ 'table',
+ 'tbody',
+ 'td',
+ 'textarea',
+ 'tfoot',
+ 'th',
+ 'tr',
+ 'thead',
+ 'ul',
+ 'video'
+ ].forEach(function (s) {
+ bC[s] = !0;
+ });
+ var _C = /^<([a-zA-Z]{1,15})[\s\/>]/,
+ EC = /^<\/([a-zA-Z]{1,15})[\s>]/;
+ function index_browser_getLine(s, o) {
+ var i = s.bMarks[o] + s.blkIndent,
+ u = s.eMarks[o];
+ return s.src.substr(i, u - i);
+ }
+ function skipMarker(s, o) {
+ var i,
+ u,
+ _ = s.bMarks[o] + s.tShift[o],
+ w = s.eMarks[o];
+ return _ >= w ||
+ (126 !== (u = s.src.charCodeAt(_++)) && 58 !== u) ||
+ _ === (i = s.skipSpaces(_)) ||
+ i >= w
+ ? -1
+ : i;
+ }
+ var wC = [
+ [
+ 'code',
+ function code(s, o, i) {
+ var u, _;
+ if (s.tShift[o] - s.blkIndent < 4) return !1;
+ for (_ = u = o + 1; u < i; )
+ if (s.isEmpty(u)) u++;
+ else {
+ if (!(s.tShift[u] - s.blkIndent >= 4)) break;
+ _ = ++u;
+ }
+ return (
+ (s.line = u),
+ s.tokens.push({
+ type: 'code',
+ content: s.getLines(o, _, 4 + s.blkIndent, !0),
+ block: !0,
+ lines: [o, s.line],
+ level: s.level
+ }),
+ !0
+ );
+ }
+ ],
+ [
+ 'fences',
+ function fences(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C,
+ j,
+ L = !1,
+ B = s.bMarks[o] + s.tShift[o],
+ $ = s.eMarks[o];
+ if (B + 3 > $) return !1;
+ if (126 !== (_ = s.src.charCodeAt(B)) && 96 !== _) return !1;
+ if (((j = B), (w = (B = s.skipChars(B, _)) - j) < 3)) return !1;
+ if ((x = s.src.slice(B, $).trim()).indexOf('`') >= 0) return !1;
+ if (u) return !0;
+ for (
+ C = o;
+ !(++C >= i) &&
+ !(
+ (B = j = s.bMarks[C] + s.tShift[C]) < ($ = s.eMarks[C]) &&
+ s.tShift[C] < s.blkIndent
+ );
+
+ )
+ if (
+ s.src.charCodeAt(B) === _ &&
+ !(
+ s.tShift[C] - s.blkIndent >= 4 ||
+ (B = s.skipChars(B, _)) - j < w ||
+ (B = s.skipSpaces(B)) < $
+ )
+ ) {
+ L = !0;
+ break;
+ }
+ return (
+ (w = s.tShift[o]),
+ (s.line = C + (L ? 1 : 0)),
+ s.tokens.push({
+ type: 'fence',
+ params: x,
+ content: s.getLines(o + 1, C, w, !0),
+ lines: [o, s.line],
+ level: s.level
+ }),
+ !0
+ );
+ },
+ ['paragraph', 'blockquote', 'list']
+ ],
+ [
+ 'blockquote',
+ function blockquote(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B,
+ $,
+ V,
+ U,
+ z,
+ Y = s.bMarks[o] + s.tShift[o],
+ Z = s.eMarks[o];
+ if (Y > Z) return !1;
+ if (62 !== s.src.charCodeAt(Y++)) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ if (u) return !0;
+ for (
+ 32 === s.src.charCodeAt(Y) && Y++,
+ j = s.blkIndent,
+ s.blkIndent = 0,
+ C = [s.bMarks[o]],
+ s.bMarks[o] = Y,
+ w = (Y = Y < Z ? s.skipSpaces(Y) : Y) >= Z,
+ x = [s.tShift[o]],
+ s.tShift[o] = Y - s.bMarks[o],
+ $ = s.parser.ruler.getRules('blockquote'),
+ _ = o + 1;
+ _ < i && !((Y = s.bMarks[_] + s.tShift[_]) >= (Z = s.eMarks[_]));
+ _++
+ )
+ if (62 !== s.src.charCodeAt(Y++)) {
+ if (w) break;
+ for (z = !1, V = 0, U = $.length; V < U; V++)
+ if ($[V](s, _, i, !0)) {
+ z = !0;
+ break;
+ }
+ if (z) break;
+ C.push(s.bMarks[_]), x.push(s.tShift[_]), (s.tShift[_] = -1337);
+ } else
+ 32 === s.src.charCodeAt(Y) && Y++,
+ C.push(s.bMarks[_]),
+ (s.bMarks[_] = Y),
+ (w = (Y = Y < Z ? s.skipSpaces(Y) : Y) >= Z),
+ x.push(s.tShift[_]),
+ (s.tShift[_] = Y - s.bMarks[_]);
+ for (
+ L = s.parentType,
+ s.parentType = 'blockquote',
+ s.tokens.push({ type: 'blockquote_open', lines: (B = [o, 0]), level: s.level++ }),
+ s.parser.tokenize(s, o, _),
+ s.tokens.push({ type: 'blockquote_close', level: --s.level }),
+ s.parentType = L,
+ B[1] = s.line,
+ V = 0;
+ V < x.length;
+ V++
+ )
+ (s.bMarks[V + o] = C[V]), (s.tShift[V + o] = x[V]);
+ return (s.blkIndent = j), !0;
+ },
+ ['paragraph', 'blockquote', 'list']
+ ],
+ [
+ 'hr',
+ function hr(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C = s.bMarks[o],
+ j = s.eMarks[o];
+ if ((C += s.tShift[o]) > j) return !1;
+ if (42 !== (_ = s.src.charCodeAt(C++)) && 45 !== _ && 95 !== _) return !1;
+ for (w = 1; C < j; ) {
+ if ((x = s.src.charCodeAt(C++)) !== _ && 32 !== x) return !1;
+ x === _ && w++;
+ }
+ return (
+ !(w < 3) &&
+ (u ||
+ ((s.line = o + 1),
+ s.tokens.push({ type: 'hr', lines: [o, s.line], level: s.level })),
+ !0)
+ );
+ },
+ ['paragraph', 'blockquote', 'list']
+ ],
+ [
+ 'list',
+ function index_browser_list(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B,
+ $,
+ V,
+ U,
+ z,
+ Y,
+ Z,
+ ee,
+ ie,
+ ae,
+ le,
+ ce,
+ pe,
+ de,
+ fe,
+ ye = !0;
+ if (($ = skipOrderedListMarker(s, o)) >= 0) Y = !0;
+ else {
+ if (!(($ = skipBulletListMarker(s, o)) >= 0)) return !1;
+ Y = !1;
+ }
+ if (s.level >= s.options.maxNesting) return !1;
+ if (((z = s.src.charCodeAt($ - 1)), u)) return !0;
+ for (
+ ee = s.tokens.length,
+ Y
+ ? ((B = s.bMarks[o] + s.tShift[o]),
+ (U = Number(s.src.substr(B, $ - B - 1))),
+ s.tokens.push({
+ type: 'ordered_list_open',
+ order: U,
+ lines: (ae = [o, 0]),
+ level: s.level++
+ }))
+ : s.tokens.push({
+ type: 'bullet_list_open',
+ lines: (ae = [o, 0]),
+ level: s.level++
+ }),
+ _ = o,
+ ie = !1,
+ ce = s.parser.ruler.getRules('list');
+ !(
+ !(_ < i) ||
+ ((V = (Z = s.skipSpaces($)) >= s.eMarks[_] ? 1 : Z - $) > 4 && (V = 1),
+ V < 1 && (V = 1),
+ (w = $ - s.bMarks[_] + V),
+ s.tokens.push({ type: 'list_item_open', lines: (le = [o, 0]), level: s.level++ }),
+ (C = s.blkIndent),
+ (j = s.tight),
+ (x = s.tShift[o]),
+ (L = s.parentType),
+ (s.tShift[o] = Z - s.bMarks[o]),
+ (s.blkIndent = w),
+ (s.tight = !0),
+ (s.parentType = 'list'),
+ s.parser.tokenize(s, o, i, !0),
+ (s.tight && !ie) || (ye = !1),
+ (ie = s.line - o > 1 && s.isEmpty(s.line - 1)),
+ (s.blkIndent = C),
+ (s.tShift[o] = x),
+ (s.tight = j),
+ (s.parentType = L),
+ s.tokens.push({ type: 'list_item_close', level: --s.level }),
+ (_ = o = s.line),
+ (le[1] = _),
+ (Z = s.bMarks[o]),
+ _ >= i) ||
+ s.isEmpty(_) ||
+ s.tShift[_] < s.blkIndent
+ );
+
+ ) {
+ for (fe = !1, pe = 0, de = ce.length; pe < de; pe++)
+ if (ce[pe](s, _, i, !0)) {
+ fe = !0;
+ break;
+ }
+ if (fe) break;
+ if (Y) {
+ if (($ = skipOrderedListMarker(s, _)) < 0) break;
+ } else if (($ = skipBulletListMarker(s, _)) < 0) break;
+ if (z !== s.src.charCodeAt($ - 1)) break;
+ }
+ return (
+ s.tokens.push({
+ type: Y ? 'ordered_list_close' : 'bullet_list_close',
+ level: --s.level
+ }),
+ (ae[1] = _),
+ (s.line = _),
+ ye &&
+ (function markTightParagraphs(s, o) {
+ var i,
+ u,
+ _ = s.level + 2;
+ for (i = o + 2, u = s.tokens.length - 2; i < u; i++)
+ s.tokens[i].level === _ &&
+ 'paragraph_open' === s.tokens[i].type &&
+ ((s.tokens[i + 2].tight = !0), (s.tokens[i].tight = !0), (i += 2));
+ })(s, ee),
+ !0
+ );
+ },
+ ['paragraph', 'blockquote']
+ ],
+ [
+ 'footnote',
+ function footnote(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C,
+ j,
+ L = s.bMarks[o] + s.tShift[o],
+ B = s.eMarks[o];
+ if (L + 4 > B) return !1;
+ if (91 !== s.src.charCodeAt(L)) return !1;
+ if (94 !== s.src.charCodeAt(L + 1)) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ for (C = L + 2; C < B; C++) {
+ if (32 === s.src.charCodeAt(C)) return !1;
+ if (93 === s.src.charCodeAt(C)) break;
+ }
+ return (
+ C !== L + 2 &&
+ !(C + 1 >= B || 58 !== s.src.charCodeAt(++C)) &&
+ (u ||
+ (C++,
+ s.env.footnotes || (s.env.footnotes = {}),
+ s.env.footnotes.refs || (s.env.footnotes.refs = {}),
+ (j = s.src.slice(L + 2, C - 2)),
+ (s.env.footnotes.refs[':' + j] = -1),
+ s.tokens.push({ type: 'footnote_reference_open', label: j, level: s.level++ }),
+ (_ = s.bMarks[o]),
+ (w = s.tShift[o]),
+ (x = s.parentType),
+ (s.tShift[o] = s.skipSpaces(C) - C),
+ (s.bMarks[o] = C),
+ (s.blkIndent += 4),
+ (s.parentType = 'footnote'),
+ s.tShift[o] < s.blkIndent &&
+ ((s.tShift[o] += s.blkIndent), (s.bMarks[o] -= s.blkIndent)),
+ s.parser.tokenize(s, o, i, !0),
+ (s.parentType = x),
+ (s.blkIndent -= 4),
+ (s.tShift[o] = w),
+ (s.bMarks[o] = _),
+ s.tokens.push({ type: 'footnote_reference_close', level: --s.level })),
+ !0)
+ );
+ },
+ ['paragraph']
+ ],
+ [
+ 'heading',
+ function heading(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C = s.bMarks[o] + s.tShift[o],
+ j = s.eMarks[o];
+ if (C >= j) return !1;
+ if (35 !== (_ = s.src.charCodeAt(C)) || C >= j) return !1;
+ for (w = 1, _ = s.src.charCodeAt(++C); 35 === _ && C < j && w <= 6; )
+ w++, (_ = s.src.charCodeAt(++C));
+ return (
+ !(w > 6 || (C < j && 32 !== _)) &&
+ (u ||
+ ((j = s.skipCharsBack(j, 32, C)),
+ (x = s.skipCharsBack(j, 35, C)) > C && 32 === s.src.charCodeAt(x - 1) && (j = x),
+ (s.line = o + 1),
+ s.tokens.push({
+ type: 'heading_open',
+ hLevel: w,
+ lines: [o, s.line],
+ level: s.level
+ }),
+ C < j &&
+ s.tokens.push({
+ type: 'inline',
+ content: s.src.slice(C, j).trim(),
+ level: s.level + 1,
+ lines: [o, s.line],
+ children: []
+ }),
+ s.tokens.push({ type: 'heading_close', hLevel: w, level: s.level })),
+ !0)
+ );
+ },
+ ['paragraph', 'blockquote']
+ ],
+ [
+ 'lheading',
+ function lheading(s, o, i) {
+ var u,
+ _,
+ w,
+ x = o + 1;
+ return (
+ !(x >= i) &&
+ !(s.tShift[x] < s.blkIndent) &&
+ !(s.tShift[x] - s.blkIndent > 3) &&
+ !((_ = s.bMarks[x] + s.tShift[x]) >= (w = s.eMarks[x])) &&
+ (45 === (u = s.src.charCodeAt(_)) || 61 === u) &&
+ ((_ = s.skipChars(_, u)),
+ !((_ = s.skipSpaces(_)) < w) &&
+ ((_ = s.bMarks[o] + s.tShift[o]),
+ (s.line = x + 1),
+ s.tokens.push({
+ type: 'heading_open',
+ hLevel: 61 === u ? 1 : 2,
+ lines: [o, s.line],
+ level: s.level
+ }),
+ s.tokens.push({
+ type: 'inline',
+ content: s.src.slice(_, s.eMarks[o]).trim(),
+ level: s.level + 1,
+ lines: [o, s.line - 1],
+ children: []
+ }),
+ s.tokens.push({
+ type: 'heading_close',
+ hLevel: 61 === u ? 1 : 2,
+ level: s.level
+ }),
+ !0))
+ );
+ }
+ ],
+ [
+ 'htmlblock',
+ function htmlblock(s, o, i, u) {
+ var _,
+ w,
+ x,
+ C = s.bMarks[o],
+ j = s.eMarks[o],
+ L = s.tShift[o];
+ if (((C += L), !s.options.html)) return !1;
+ if (L > 3 || C + 2 >= j) return !1;
+ if (60 !== s.src.charCodeAt(C)) return !1;
+ if (33 === (_ = s.src.charCodeAt(C + 1)) || 63 === _) {
+ if (u) return !0;
+ } else {
+ if (
+ 47 !== _ &&
+ !(function isLetter$1(s) {
+ var o = 32 | s;
+ return o >= 97 && o <= 122;
+ })(_)
+ )
+ return !1;
+ if (47 === _) {
+ if (!(w = s.src.slice(C, j).match(EC))) return !1;
+ } else if (!(w = s.src.slice(C, j).match(_C))) return !1;
+ if (!0 !== bC[w[1].toLowerCase()]) return !1;
+ if (u) return !0;
+ }
+ for (x = o + 1; x < s.lineMax && !s.isEmpty(x); ) x++;
+ return (
+ (s.line = x),
+ s.tokens.push({
+ type: 'htmlblock',
+ level: s.level,
+ lines: [o, s.line],
+ content: s.getLines(o, x, 0, !0)
+ }),
+ !0
+ );
+ },
+ ['paragraph', 'blockquote']
+ ],
+ [
+ 'table',
+ function table(s, o, i, u) {
+ var _, w, x, C, j, L, B, $, V, U, z;
+ if (o + 2 > i) return !1;
+ if (((j = o + 1), s.tShift[j] < s.blkIndent)) return !1;
+ if ((x = s.bMarks[j] + s.tShift[j]) >= s.eMarks[j]) return !1;
+ if (124 !== (_ = s.src.charCodeAt(x)) && 45 !== _ && 58 !== _) return !1;
+ if (((w = index_browser_getLine(s, o + 1)), !/^[-:| ]+$/.test(w))) return !1;
+ if ((L = w.split('|')) <= 2) return !1;
+ for ($ = [], C = 0; C < L.length; C++) {
+ if (!(V = L[C].trim())) {
+ if (0 === C || C === L.length - 1) continue;
+ return !1;
+ }
+ if (!/^:?-+:?$/.test(V)) return !1;
+ 58 === V.charCodeAt(V.length - 1)
+ ? $.push(58 === V.charCodeAt(0) ? 'center' : 'right')
+ : 58 === V.charCodeAt(0)
+ ? $.push('left')
+ : $.push('');
+ }
+ if (-1 === (w = index_browser_getLine(s, o).trim()).indexOf('|')) return !1;
+ if (((L = w.replace(/^\||\|$/g, '').split('|')), $.length !== L.length)) return !1;
+ if (u) return !0;
+ for (
+ s.tokens.push({ type: 'table_open', lines: (U = [o, 0]), level: s.level++ }),
+ s.tokens.push({ type: 'thead_open', lines: [o, o + 1], level: s.level++ }),
+ s.tokens.push({ type: 'tr_open', lines: [o, o + 1], level: s.level++ }),
+ C = 0;
+ C < L.length;
+ C++
+ )
+ s.tokens.push({
+ type: 'th_open',
+ align: $[C],
+ lines: [o, o + 1],
+ level: s.level++
+ }),
+ s.tokens.push({
+ type: 'inline',
+ content: L[C].trim(),
+ lines: [o, o + 1],
+ level: s.level,
+ children: []
+ }),
+ s.tokens.push({ type: 'th_close', level: --s.level });
+ for (
+ s.tokens.push({ type: 'tr_close', level: --s.level }),
+ s.tokens.push({ type: 'thead_close', level: --s.level }),
+ s.tokens.push({ type: 'tbody_open', lines: (z = [o + 2, 0]), level: s.level++ }),
+ j = o + 2;
+ j < i &&
+ !(s.tShift[j] < s.blkIndent) &&
+ -1 !== (w = index_browser_getLine(s, j).trim()).indexOf('|');
+ j++
+ ) {
+ for (
+ L = w.replace(/^\||\|$/g, '').split('|'),
+ s.tokens.push({ type: 'tr_open', level: s.level++ }),
+ C = 0;
+ C < L.length;
+ C++
+ )
+ s.tokens.push({ type: 'td_open', align: $[C], level: s.level++ }),
+ (B = L[C].substring(
+ 124 === L[C].charCodeAt(0) ? 1 : 0,
+ 124 === L[C].charCodeAt(L[C].length - 1) ? L[C].length - 1 : L[C].length
+ ).trim()),
+ s.tokens.push({ type: 'inline', content: B, level: s.level, children: [] }),
+ s.tokens.push({ type: 'td_close', level: --s.level });
+ s.tokens.push({ type: 'tr_close', level: --s.level });
+ }
+ return (
+ s.tokens.push({ type: 'tbody_close', level: --s.level }),
+ s.tokens.push({ type: 'table_close', level: --s.level }),
+ (U[1] = z[1] = j),
+ (s.line = j),
+ !0
+ );
+ },
+ ['paragraph']
+ ],
+ [
+ 'deflist',
+ function deflist(s, o, i, u) {
+ var _, w, x, C, j, L, B, $, V, U, z, Y, Z, ee;
+ if (u) return !(s.ddIndent < 0) && skipMarker(s, o) >= 0;
+ if (((B = o + 1), s.isEmpty(B) && ++B > i)) return !1;
+ if (s.tShift[B] < s.blkIndent) return !1;
+ if ((_ = skipMarker(s, B)) < 0) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ (L = s.tokens.length),
+ s.tokens.push({ type: 'dl_open', lines: (j = [o, 0]), level: s.level++ }),
+ (x = o),
+ (w = B);
+ e: for (;;) {
+ for (
+ ee = !0,
+ Z = !1,
+ s.tokens.push({ type: 'dt_open', lines: [x, x], level: s.level++ }),
+ s.tokens.push({
+ type: 'inline',
+ content: s.getLines(x, x + 1, s.blkIndent, !1).trim(),
+ level: s.level + 1,
+ lines: [x, x],
+ children: []
+ }),
+ s.tokens.push({ type: 'dt_close', level: --s.level });
+ ;
+
+ ) {
+ if (
+ (s.tokens.push({ type: 'dd_open', lines: (C = [B, 0]), level: s.level++ }),
+ (Y = s.tight),
+ (V = s.ddIndent),
+ ($ = s.blkIndent),
+ (z = s.tShift[w]),
+ (U = s.parentType),
+ (s.blkIndent = s.ddIndent = s.tShift[w] + 2),
+ (s.tShift[w] = _ - s.bMarks[w]),
+ (s.tight = !0),
+ (s.parentType = 'deflist'),
+ s.parser.tokenize(s, w, i, !0),
+ (s.tight && !Z) || (ee = !1),
+ (Z = s.line - w > 1 && s.isEmpty(s.line - 1)),
+ (s.tShift[w] = z),
+ (s.tight = Y),
+ (s.parentType = U),
+ (s.blkIndent = $),
+ (s.ddIndent = V),
+ s.tokens.push({ type: 'dd_close', level: --s.level }),
+ (C[1] = B = s.line),
+ B >= i)
+ )
+ break e;
+ if (s.tShift[B] < s.blkIndent) break e;
+ if ((_ = skipMarker(s, B)) < 0) break;
+ w = B;
+ }
+ if (B >= i) break;
+ if (((x = B), s.isEmpty(x))) break;
+ if (s.tShift[x] < s.blkIndent) break;
+ if ((w = x + 1) >= i) break;
+ if ((s.isEmpty(w) && w++, w >= i)) break;
+ if (s.tShift[w] < s.blkIndent) break;
+ if ((_ = skipMarker(s, w)) < 0) break;
+ }
+ return (
+ s.tokens.push({ type: 'dl_close', level: --s.level }),
+ (j[1] = B),
+ (s.line = B),
+ ee &&
+ (function markTightParagraphs$1(s, o) {
+ var i,
+ u,
+ _ = s.level + 2;
+ for (i = o + 2, u = s.tokens.length - 2; i < u; i++)
+ s.tokens[i].level === _ &&
+ 'paragraph_open' === s.tokens[i].type &&
+ ((s.tokens[i + 2].tight = !0), (s.tokens[i].tight = !0), (i += 2));
+ })(s, L),
+ !0
+ );
+ },
+ ['paragraph']
+ ],
+ [
+ 'paragraph',
+ function paragraph(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C,
+ j = o + 1;
+ if (j < (i = s.lineMax) && !s.isEmpty(j))
+ for (C = s.parser.ruler.getRules('paragraph'); j < i && !s.isEmpty(j); j++)
+ if (!(s.tShift[j] - s.blkIndent > 3)) {
+ for (_ = !1, w = 0, x = C.length; w < x; w++)
+ if (C[w](s, j, i, !0)) {
+ _ = !0;
+ break;
+ }
+ if (_) break;
+ }
+ return (
+ (u = s.getLines(o, j, s.blkIndent, !1).trim()),
+ (s.line = j),
+ u.length &&
+ (s.tokens.push({
+ type: 'paragraph_open',
+ tight: !1,
+ lines: [o, s.line],
+ level: s.level
+ }),
+ s.tokens.push({
+ type: 'inline',
+ content: u,
+ level: s.level + 1,
+ lines: [o, s.line],
+ children: []
+ }),
+ s.tokens.push({ type: 'paragraph_close', tight: !1, level: s.level })),
+ !0
+ );
+ }
+ ]
+ ];
+ function ParserBlock() {
+ this.ruler = new Ruler();
+ for (var s = 0; s < wC.length; s++)
+ this.ruler.push(wC[s][0], wC[s][1], { alt: (wC[s][2] || []).slice() });
+ }
+ ParserBlock.prototype.tokenize = function (s, o, i) {
+ for (
+ var u, _ = this.ruler.getRules(''), w = _.length, x = o, C = !1;
+ x < i &&
+ ((s.line = x = s.skipEmptyLines(x)), !(x >= i)) &&
+ !(s.tShift[x] < s.blkIndent);
+
+ ) {
+ for (u = 0; u < w && !_[u](s, x, i, !1); u++);
+ if (
+ ((s.tight = !C), s.isEmpty(s.line - 1) && (C = !0), (x = s.line) < i && s.isEmpty(x))
+ ) {
+ if (((C = !0), ++x < i && 'list' === s.parentType && s.isEmpty(x))) break;
+ s.line = x;
+ }
+ }
+ };
+ var SC = /[\n\t]/g,
+ xC = /\r[\n\u0085]|[\u2424\u2028\u0085]/g,
+ kC = /\u00a0/g;
+ function isTerminatorChar(s) {
+ switch (s) {
+ case 10:
+ case 92:
+ case 96:
+ case 42:
+ case 95:
+ case 94:
+ case 91:
+ case 93:
+ case 33:
+ case 38:
+ case 60:
+ case 62:
+ case 123:
+ case 125:
+ case 36:
+ case 37:
+ case 64:
+ case 126:
+ case 43:
+ case 61:
+ case 58:
+ return !0;
+ default:
+ return !1;
+ }
+ }
+ ParserBlock.prototype.parse = function (s, o, i, u) {
+ var _,
+ w = 0,
+ x = 0;
+ if (!s) return [];
+ (s = (s = s.replace(kC, ' ')).replace(xC, '\n')).indexOf('\t') >= 0 &&
+ (s = s.replace(SC, function (o, i) {
+ var u;
+ return 10 === s.charCodeAt(i)
+ ? ((w = i + 1), (x = 0), o)
+ : ((u = ' '.slice((i - w - x) % 4)), (x = i - w + 1), u);
+ })),
+ (_ = new StateBlock(s, this, o, i, u)),
+ this.tokenize(_, _.line, _.lineMax);
+ };
+ for (var CC = [], OC = 0; OC < 256; OC++) CC.push(0);
+ function isAlphaNum(s) {
+ return (s >= 48 && s <= 57) || (s >= 65 && s <= 90) || (s >= 97 && s <= 122);
+ }
+ function scanDelims(s, o) {
+ var i,
+ u,
+ _,
+ w = o,
+ x = !0,
+ C = !0,
+ j = s.posMax,
+ L = s.src.charCodeAt(o);
+ for (i = o > 0 ? s.src.charCodeAt(o - 1) : -1; w < j && s.src.charCodeAt(w) === L; ) w++;
+ return (
+ w >= j && (x = !1),
+ (_ = w - o) >= 4
+ ? (x = C = !1)
+ : ((32 !== (u = w < j ? s.src.charCodeAt(w) : -1) && 10 !== u) || (x = !1),
+ (32 !== i && 10 !== i) || (C = !1),
+ 95 === L && (isAlphaNum(i) && (x = !1), isAlphaNum(u) && (C = !1))),
+ { can_open: x, can_close: C, delims: _ }
+ );
+ }
+ '\\!"#$%&\'()*+,./:;<=>?@[]^_`{|}~-'.split('').forEach(function (s) {
+ CC[s.charCodeAt(0)] = 1;
+ });
+ var AC = /\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;
+ var jC = /\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;
+ var IC = [
+ 'coap',
+ 'doi',
+ 'javascript',
+ 'aaa',
+ 'aaas',
+ 'about',
+ 'acap',
+ 'cap',
+ 'cid',
+ 'crid',
+ 'data',
+ 'dav',
+ 'dict',
+ 'dns',
+ 'file',
+ 'ftp',
+ 'geo',
+ 'go',
+ 'gopher',
+ 'h323',
+ 'http',
+ 'https',
+ 'iax',
+ 'icap',
+ 'im',
+ 'imap',
+ 'info',
+ 'ipp',
+ 'iris',
+ 'iris.beep',
+ 'iris.xpc',
+ 'iris.xpcs',
+ 'iris.lwz',
+ 'ldap',
+ 'mailto',
+ 'mid',
+ 'msrp',
+ 'msrps',
+ 'mtqp',
+ 'mupdate',
+ 'news',
+ 'nfs',
+ 'ni',
+ 'nih',
+ 'nntp',
+ 'opaquelocktoken',
+ 'pop',
+ 'pres',
+ 'rtsp',
+ 'service',
+ 'session',
+ 'shttp',
+ 'sieve',
+ 'sip',
+ 'sips',
+ 'sms',
+ 'snmp',
+ 'soap.beep',
+ 'soap.beeps',
+ 'tag',
+ 'tel',
+ 'telnet',
+ 'tftp',
+ 'thismessage',
+ 'tn3270',
+ 'tip',
+ 'tv',
+ 'urn',
+ 'vemmi',
+ 'ws',
+ 'wss',
+ 'xcon',
+ 'xcon-userid',
+ 'xmlrpc.beep',
+ 'xmlrpc.beeps',
+ 'xmpp',
+ 'z39.50r',
+ 'z39.50s',
+ 'adiumxtra',
+ 'afp',
+ 'afs',
+ 'aim',
+ 'apt',
+ 'attachment',
+ 'aw',
+ 'beshare',
+ 'bitcoin',
+ 'bolo',
+ 'callto',
+ 'chrome',
+ 'chrome-extension',
+ 'com-eventbrite-attendee',
+ 'content',
+ 'cvs',
+ 'dlna-playsingle',
+ 'dlna-playcontainer',
+ 'dtn',
+ 'dvb',
+ 'ed2k',
+ 'facetime',
+ 'feed',
+ 'finger',
+ 'fish',
+ 'gg',
+ 'git',
+ 'gizmoproject',
+ 'gtalk',
+ 'hcp',
+ 'icon',
+ 'ipn',
+ 'irc',
+ 'irc6',
+ 'ircs',
+ 'itms',
+ 'jar',
+ 'jms',
+ 'keyparc',
+ 'lastfm',
+ 'ldaps',
+ 'magnet',
+ 'maps',
+ 'market',
+ 'message',
+ 'mms',
+ 'ms-help',
+ 'msnim',
+ 'mumble',
+ 'mvn',
+ 'notes',
+ 'oid',
+ 'palm',
+ 'paparazzi',
+ 'platform',
+ 'proxy',
+ 'psyc',
+ 'query',
+ 'res',
+ 'resource',
+ 'rmi',
+ 'rsync',
+ 'rtmp',
+ 'secondlife',
+ 'sftp',
+ 'sgn',
+ 'skype',
+ 'smb',
+ 'soldat',
+ 'spotify',
+ 'ssh',
+ 'steam',
+ 'svn',
+ 'teamspeak',
+ 'things',
+ 'udp',
+ 'unreal',
+ 'ut2004',
+ 'ventrilo',
+ 'view-source',
+ 'webcal',
+ 'wtai',
+ 'wyciwyg',
+ 'xfire',
+ 'xri',
+ 'ymsgr'
+ ],
+ PC =
+ /^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,
+ MC = /^<([a-zA-Z.\-]{1,25}):([^<>\x00-\x20]*)>/;
+ function replace$1(s, o) {
+ return (
+ (s = s.source),
+ (o = o || ''),
+ function self(i, u) {
+ return i ? ((u = u.source || u), (s = s.replace(i, u)), self) : new RegExp(s, o);
+ }
+ );
+ }
+ var TC = replace$1(/(?:unquoted|single_quoted|double_quoted)/)(
+ 'unquoted',
+ /[^"'=<>`\x00-\x20]+/
+ )('single_quoted', /'[^']*'/)('double_quoted', /"[^"]*"/)(),
+ NC = replace$1(/(?:\s+attr_name(?:\s*=\s*attr_value)?)/)(
+ 'attr_name',
+ /[a-zA-Z_:][a-zA-Z0-9:._-]*/
+ )('attr_value', TC)(),
+ RC = replace$1(/<[A-Za-z][A-Za-z0-9]*attribute*\s*\/?>/)('attribute', NC)(),
+ DC = replace$1(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(
+ 'open_tag',
+ RC
+ )('close_tag', /<\/[A-Za-z][A-Za-z0-9]*\s*>/)(
+ 'comment',
+ /|/
+ )('processing', /<[?].*?[?]>/)('declaration', /]*>/)(
+ 'cdata',
+ //
+ )();
+ var LC = /^((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,
+ BC = /^&([a-z][a-z0-9]{1,31});/i;
+ var FC = [
+ [
+ 'text',
+ function index_browser_text(s, o) {
+ for (var i = s.pos; i < s.posMax && !isTerminatorChar(s.src.charCodeAt(i)); ) i++;
+ return i !== s.pos && (o || (s.pending += s.src.slice(s.pos, i)), (s.pos = i), !0);
+ }
+ ],
+ [
+ 'newline',
+ function newline(s, o) {
+ var i,
+ u,
+ _ = s.pos;
+ if (10 !== s.src.charCodeAt(_)) return !1;
+ if (((i = s.pending.length - 1), (u = s.posMax), !o))
+ if (i >= 0 && 32 === s.pending.charCodeAt(i))
+ if (i >= 1 && 32 === s.pending.charCodeAt(i - 1)) {
+ for (var w = i - 2; w >= 0; w--)
+ if (32 !== s.pending.charCodeAt(w)) {
+ s.pending = s.pending.substring(0, w + 1);
+ break;
+ }
+ s.push({ type: 'hardbreak', level: s.level });
+ } else
+ (s.pending = s.pending.slice(0, -1)),
+ s.push({ type: 'softbreak', level: s.level });
+ else s.push({ type: 'softbreak', level: s.level });
+ for (_++; _ < u && 32 === s.src.charCodeAt(_); ) _++;
+ return (s.pos = _), !0;
+ }
+ ],
+ [
+ 'escape',
+ function index_browser_escape(s, o) {
+ var i,
+ u = s.pos,
+ _ = s.posMax;
+ if (92 !== s.src.charCodeAt(u)) return !1;
+ if (++u < _) {
+ if ((i = s.src.charCodeAt(u)) < 256 && 0 !== CC[i])
+ return o || (s.pending += s.src[u]), (s.pos += 2), !0;
+ if (10 === i) {
+ for (
+ o || s.push({ type: 'hardbreak', level: s.level }), u++;
+ u < _ && 32 === s.src.charCodeAt(u);
+
+ )
+ u++;
+ return (s.pos = u), !0;
+ }
+ }
+ return o || (s.pending += '\\'), s.pos++, !0;
+ }
+ ],
+ [
+ 'backticks',
+ function backticks(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C = s.pos;
+ if (96 !== s.src.charCodeAt(C)) return !1;
+ for (i = C, C++, u = s.posMax; C < u && 96 === s.src.charCodeAt(C); ) C++;
+ for (_ = s.src.slice(i, C), w = x = C; -1 !== (w = s.src.indexOf('`', x)); ) {
+ for (x = w + 1; x < u && 96 === s.src.charCodeAt(x); ) x++;
+ if (x - w === _.length)
+ return (
+ o ||
+ s.push({
+ type: 'code',
+ content: s.src
+ .slice(C, w)
+ .replace(/[ \n]+/g, ' ')
+ .trim(),
+ block: !1,
+ level: s.level
+ }),
+ (s.pos = x),
+ !0
+ );
+ }
+ return o || (s.pending += _), (s.pos += _.length), !0;
+ }
+ ],
+ [
+ 'del',
+ function del(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C = s.posMax,
+ j = s.pos;
+ if (126 !== s.src.charCodeAt(j)) return !1;
+ if (o) return !1;
+ if (j + 4 >= C) return !1;
+ if (126 !== s.src.charCodeAt(j + 1)) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ if (
+ ((w = j > 0 ? s.src.charCodeAt(j - 1) : -1),
+ (x = s.src.charCodeAt(j + 2)),
+ 126 === w)
+ )
+ return !1;
+ if (126 === x) return !1;
+ if (32 === x || 10 === x) return !1;
+ for (u = j + 2; u < C && 126 === s.src.charCodeAt(u); ) u++;
+ if (u > j + 3) return (s.pos += u - j), o || (s.pending += s.src.slice(j, u)), !0;
+ for (s.pos = j + 2, _ = 1; s.pos + 1 < C; ) {
+ if (
+ 126 === s.src.charCodeAt(s.pos) &&
+ 126 === s.src.charCodeAt(s.pos + 1) &&
+ ((w = s.src.charCodeAt(s.pos - 1)),
+ 126 !== (x = s.pos + 2 < C ? s.src.charCodeAt(s.pos + 2) : -1) &&
+ 126 !== w &&
+ (32 !== w && 10 !== w ? _-- : 32 !== x && 10 !== x && _++, _ <= 0))
+ ) {
+ i = !0;
+ break;
+ }
+ s.parser.skipToken(s);
+ }
+ return i
+ ? ((s.posMax = s.pos),
+ (s.pos = j + 2),
+ o ||
+ (s.push({ type: 'del_open', level: s.level++ }),
+ s.parser.tokenize(s),
+ s.push({ type: 'del_close', level: --s.level })),
+ (s.pos = s.posMax + 2),
+ (s.posMax = C),
+ !0)
+ : ((s.pos = j), !1);
+ }
+ ],
+ [
+ 'ins',
+ function ins(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C = s.posMax,
+ j = s.pos;
+ if (43 !== s.src.charCodeAt(j)) return !1;
+ if (o) return !1;
+ if (j + 4 >= C) return !1;
+ if (43 !== s.src.charCodeAt(j + 1)) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ if (
+ ((w = j > 0 ? s.src.charCodeAt(j - 1) : -1),
+ (x = s.src.charCodeAt(j + 2)),
+ 43 === w)
+ )
+ return !1;
+ if (43 === x) return !1;
+ if (32 === x || 10 === x) return !1;
+ for (u = j + 2; u < C && 43 === s.src.charCodeAt(u); ) u++;
+ if (u !== j + 2) return (s.pos += u - j), o || (s.pending += s.src.slice(j, u)), !0;
+ for (s.pos = j + 2, _ = 1; s.pos + 1 < C; ) {
+ if (
+ 43 === s.src.charCodeAt(s.pos) &&
+ 43 === s.src.charCodeAt(s.pos + 1) &&
+ ((w = s.src.charCodeAt(s.pos - 1)),
+ 43 !== (x = s.pos + 2 < C ? s.src.charCodeAt(s.pos + 2) : -1) &&
+ 43 !== w &&
+ (32 !== w && 10 !== w ? _-- : 32 !== x && 10 !== x && _++, _ <= 0))
+ ) {
+ i = !0;
+ break;
+ }
+ s.parser.skipToken(s);
+ }
+ return i
+ ? ((s.posMax = s.pos),
+ (s.pos = j + 2),
+ o ||
+ (s.push({ type: 'ins_open', level: s.level++ }),
+ s.parser.tokenize(s),
+ s.push({ type: 'ins_close', level: --s.level })),
+ (s.pos = s.posMax + 2),
+ (s.posMax = C),
+ !0)
+ : ((s.pos = j), !1);
+ }
+ ],
+ [
+ 'mark',
+ function mark(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C = s.posMax,
+ j = s.pos;
+ if (61 !== s.src.charCodeAt(j)) return !1;
+ if (o) return !1;
+ if (j + 4 >= C) return !1;
+ if (61 !== s.src.charCodeAt(j + 1)) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ if (
+ ((w = j > 0 ? s.src.charCodeAt(j - 1) : -1),
+ (x = s.src.charCodeAt(j + 2)),
+ 61 === w)
+ )
+ return !1;
+ if (61 === x) return !1;
+ if (32 === x || 10 === x) return !1;
+ for (u = j + 2; u < C && 61 === s.src.charCodeAt(u); ) u++;
+ if (u !== j + 2) return (s.pos += u - j), o || (s.pending += s.src.slice(j, u)), !0;
+ for (s.pos = j + 2, _ = 1; s.pos + 1 < C; ) {
+ if (
+ 61 === s.src.charCodeAt(s.pos) &&
+ 61 === s.src.charCodeAt(s.pos + 1) &&
+ ((w = s.src.charCodeAt(s.pos - 1)),
+ 61 !== (x = s.pos + 2 < C ? s.src.charCodeAt(s.pos + 2) : -1) &&
+ 61 !== w &&
+ (32 !== w && 10 !== w ? _-- : 32 !== x && 10 !== x && _++, _ <= 0))
+ ) {
+ i = !0;
+ break;
+ }
+ s.parser.skipToken(s);
+ }
+ return i
+ ? ((s.posMax = s.pos),
+ (s.pos = j + 2),
+ o ||
+ (s.push({ type: 'mark_open', level: s.level++ }),
+ s.parser.tokenize(s),
+ s.push({ type: 'mark_close', level: --s.level })),
+ (s.pos = s.posMax + 2),
+ (s.posMax = C),
+ !0)
+ : ((s.pos = j), !1);
+ }
+ ],
+ [
+ 'emphasis',
+ function emphasis(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C,
+ j,
+ L = s.posMax,
+ B = s.pos,
+ $ = s.src.charCodeAt(B);
+ if (95 !== $ && 42 !== $) return !1;
+ if (o) return !1;
+ if (((i = (j = scanDelims(s, B)).delims), !j.can_open))
+ return (s.pos += i), o || (s.pending += s.src.slice(B, s.pos)), !0;
+ if (s.level >= s.options.maxNesting) return !1;
+ for (s.pos = B + i, C = [i]; s.pos < L; )
+ if (s.src.charCodeAt(s.pos) !== $) s.parser.skipToken(s);
+ else {
+ if (((u = (j = scanDelims(s, s.pos)).delims), j.can_close)) {
+ for (w = C.pop(), x = u; w !== x; ) {
+ if (x < w) {
+ C.push(w - x);
+ break;
+ }
+ if (((x -= w), 0 === C.length)) break;
+ (s.pos += w), (w = C.pop());
+ }
+ if (0 === C.length) {
+ (i = w), (_ = !0);
+ break;
+ }
+ s.pos += u;
+ continue;
+ }
+ j.can_open && C.push(u), (s.pos += u);
+ }
+ return _
+ ? ((s.posMax = s.pos),
+ (s.pos = B + i),
+ o ||
+ ((2 !== i && 3 !== i) || s.push({ type: 'strong_open', level: s.level++ }),
+ (1 !== i && 3 !== i) || s.push({ type: 'em_open', level: s.level++ }),
+ s.parser.tokenize(s),
+ (1 !== i && 3 !== i) || s.push({ type: 'em_close', level: --s.level }),
+ (2 !== i && 3 !== i) || s.push({ type: 'strong_close', level: --s.level })),
+ (s.pos = s.posMax + i),
+ (s.posMax = L),
+ !0)
+ : ((s.pos = B), !1);
+ }
+ ],
+ [
+ 'sub',
+ function sub(s, o) {
+ var i,
+ u,
+ _ = s.posMax,
+ w = s.pos;
+ if (126 !== s.src.charCodeAt(w)) return !1;
+ if (o) return !1;
+ if (w + 2 >= _) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ for (s.pos = w + 1; s.pos < _; ) {
+ if (126 === s.src.charCodeAt(s.pos)) {
+ i = !0;
+ break;
+ }
+ s.parser.skipToken(s);
+ }
+ return i && w + 1 !== s.pos
+ ? (u = s.src.slice(w + 1, s.pos)).match(/(^|[^\\])(\\\\)*\s/)
+ ? ((s.pos = w), !1)
+ : ((s.posMax = s.pos),
+ (s.pos = w + 1),
+ o || s.push({ type: 'sub', level: s.level, content: u.replace(AC, '$1') }),
+ (s.pos = s.posMax + 1),
+ (s.posMax = _),
+ !0)
+ : ((s.pos = w), !1);
+ }
+ ],
+ [
+ 'sup',
+ function sup(s, o) {
+ var i,
+ u,
+ _ = s.posMax,
+ w = s.pos;
+ if (94 !== s.src.charCodeAt(w)) return !1;
+ if (o) return !1;
+ if (w + 2 >= _) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ for (s.pos = w + 1; s.pos < _; ) {
+ if (94 === s.src.charCodeAt(s.pos)) {
+ i = !0;
+ break;
+ }
+ s.parser.skipToken(s);
+ }
+ return i && w + 1 !== s.pos
+ ? (u = s.src.slice(w + 1, s.pos)).match(/(^|[^\\])(\\\\)*\s/)
+ ? ((s.pos = w), !1)
+ : ((s.posMax = s.pos),
+ (s.pos = w + 1),
+ o || s.push({ type: 'sup', level: s.level, content: u.replace(jC, '$1') }),
+ (s.pos = s.posMax + 1),
+ (s.posMax = _),
+ !0)
+ : ((s.pos = w), !1);
+ }
+ ],
+ [
+ 'links',
+ function links(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B = !1,
+ $ = s.pos,
+ V = s.posMax,
+ U = s.pos,
+ z = s.src.charCodeAt(U);
+ if ((33 === z && ((B = !0), (z = s.src.charCodeAt(++U))), 91 !== z)) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ if (((i = U + 1), (u = parseLinkLabel(s, U)) < 0)) return !1;
+ if ((C = u + 1) < V && 40 === s.src.charCodeAt(C)) {
+ for (C++; C < V && (32 === (L = s.src.charCodeAt(C)) || 10 === L); C++);
+ if (C >= V) return !1;
+ for (
+ U = C,
+ parseLinkDestination(s, C) ? ((w = s.linkContent), (C = s.pos)) : (w = ''),
+ U = C;
+ C < V && (32 === (L = s.src.charCodeAt(C)) || 10 === L);
+ C++
+ );
+ if (C < V && U !== C && parseLinkTitle(s, C))
+ for (
+ x = s.linkContent, C = s.pos;
+ C < V && (32 === (L = s.src.charCodeAt(C)) || 10 === L);
+ C++
+ );
+ else x = '';
+ if (C >= V || 41 !== s.src.charCodeAt(C)) return (s.pos = $), !1;
+ C++;
+ } else {
+ if (s.linkLevel > 0) return !1;
+ for (; C < V && (32 === (L = s.src.charCodeAt(C)) || 10 === L); C++);
+ if (
+ (C < V &&
+ 91 === s.src.charCodeAt(C) &&
+ ((U = C + 1),
+ (C = parseLinkLabel(s, C)) >= 0 ? (_ = s.src.slice(U, C++)) : (C = U - 1)),
+ _ || (void 0 === _ && (C = u + 1), (_ = s.src.slice(i, u))),
+ !(j = s.env.references[normalizeReference(_)]))
+ )
+ return (s.pos = $), !1;
+ (w = j.href), (x = j.title);
+ }
+ return (
+ o ||
+ ((s.pos = i),
+ (s.posMax = u),
+ B
+ ? s.push({
+ type: 'image',
+ src: w,
+ title: x,
+ alt: s.src.substr(i, u - i),
+ level: s.level
+ })
+ : (s.push({ type: 'link_open', href: w, title: x, level: s.level++ }),
+ s.linkLevel++,
+ s.parser.tokenize(s),
+ s.linkLevel--,
+ s.push({ type: 'link_close', level: --s.level }))),
+ (s.pos = C),
+ (s.posMax = V),
+ !0
+ );
+ }
+ ],
+ [
+ 'footnote_inline',
+ function footnote_inline(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x = s.posMax,
+ C = s.pos;
+ return (
+ !(C + 2 >= x) &&
+ 94 === s.src.charCodeAt(C) &&
+ 91 === s.src.charCodeAt(C + 1) &&
+ !(s.level >= s.options.maxNesting) &&
+ ((i = C + 2),
+ !((u = parseLinkLabel(s, C + 1)) < 0) &&
+ (o ||
+ (s.env.footnotes || (s.env.footnotes = {}),
+ s.env.footnotes.list || (s.env.footnotes.list = []),
+ (_ = s.env.footnotes.list.length),
+ (s.pos = i),
+ (s.posMax = u),
+ s.push({ type: 'footnote_ref', id: _, level: s.level }),
+ s.linkLevel++,
+ (w = s.tokens.length),
+ s.parser.tokenize(s),
+ (s.env.footnotes.list[_] = { tokens: s.tokens.splice(w) }),
+ s.linkLevel--),
+ (s.pos = u + 1),
+ (s.posMax = x),
+ !0))
+ );
+ }
+ ],
+ [
+ 'footnote_ref',
+ function footnote_ref(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x = s.posMax,
+ C = s.pos;
+ if (C + 3 > x) return !1;
+ if (!s.env.footnotes || !s.env.footnotes.refs) return !1;
+ if (91 !== s.src.charCodeAt(C)) return !1;
+ if (94 !== s.src.charCodeAt(C + 1)) return !1;
+ if (s.level >= s.options.maxNesting) return !1;
+ for (u = C + 2; u < x; u++) {
+ if (32 === s.src.charCodeAt(u)) return !1;
+ if (10 === s.src.charCodeAt(u)) return !1;
+ if (93 === s.src.charCodeAt(u)) break;
+ }
+ return (
+ u !== C + 2 &&
+ !(u >= x) &&
+ (u++,
+ (i = s.src.slice(C + 2, u - 1)),
+ void 0 !== s.env.footnotes.refs[':' + i] &&
+ (o ||
+ (s.env.footnotes.list || (s.env.footnotes.list = []),
+ s.env.footnotes.refs[':' + i] < 0
+ ? ((_ = s.env.footnotes.list.length),
+ (s.env.footnotes.list[_] = { label: i, count: 0 }),
+ (s.env.footnotes.refs[':' + i] = _))
+ : (_ = s.env.footnotes.refs[':' + i]),
+ (w = s.env.footnotes.list[_].count),
+ s.env.footnotes.list[_].count++,
+ s.push({ type: 'footnote_ref', id: _, subId: w, level: s.level })),
+ (s.pos = u),
+ (s.posMax = x),
+ !0))
+ );
+ }
+ ],
+ [
+ 'autolink',
+ function autolink(s, o) {
+ var i,
+ u,
+ _,
+ w,
+ x,
+ C = s.pos;
+ return (
+ 60 === s.src.charCodeAt(C) &&
+ !((i = s.src.slice(C)).indexOf('>') < 0) &&
+ ((u = i.match(MC))
+ ? !(IC.indexOf(u[1].toLowerCase()) < 0) &&
+ ((x = normalizeLink((w = u[0].slice(1, -1)))),
+ !!s.parser.validateLink(w) &&
+ (o ||
+ (s.push({ type: 'link_open', href: x, level: s.level }),
+ s.push({ type: 'text', content: w, level: s.level + 1 }),
+ s.push({ type: 'link_close', level: s.level })),
+ (s.pos += u[0].length),
+ !0))
+ : !!(_ = i.match(PC)) &&
+ ((x = normalizeLink('mailto:' + (w = _[0].slice(1, -1)))),
+ !!s.parser.validateLink(x) &&
+ (o ||
+ (s.push({ type: 'link_open', href: x, level: s.level }),
+ s.push({ type: 'text', content: w, level: s.level + 1 }),
+ s.push({ type: 'link_close', level: s.level })),
+ (s.pos += _[0].length),
+ !0)))
+ );
+ }
+ ],
+ [
+ 'htmltag',
+ function htmltag(s, o) {
+ var i,
+ u,
+ _,
+ w = s.pos;
+ return (
+ !!s.options.html &&
+ ((_ = s.posMax),
+ !(60 !== s.src.charCodeAt(w) || w + 2 >= _) &&
+ !(
+ 33 !== (i = s.src.charCodeAt(w + 1)) &&
+ 63 !== i &&
+ 47 !== i &&
+ !(function isLetter$2(s) {
+ var o = 32 | s;
+ return o >= 97 && o <= 122;
+ })(i)
+ ) &&
+ !!(u = s.src.slice(w).match(DC)) &&
+ (o ||
+ s.push({
+ type: 'htmltag',
+ content: s.src.slice(w, w + u[0].length),
+ level: s.level
+ }),
+ (s.pos += u[0].length),
+ !0))
+ );
+ }
+ ],
+ [
+ 'entity',
+ function entity(s, o) {
+ var i,
+ u,
+ _ = s.pos,
+ w = s.posMax;
+ if (38 !== s.src.charCodeAt(_)) return !1;
+ if (_ + 1 < w)
+ if (35 === s.src.charCodeAt(_ + 1)) {
+ if ((u = s.src.slice(_).match(LC)))
+ return (
+ o ||
+ ((i =
+ 'x' === u[1][0].toLowerCase()
+ ? parseInt(u[1].slice(1), 16)
+ : parseInt(u[1], 10)),
+ (s.pending += isValidEntityCode(i)
+ ? fromCodePoint(i)
+ : fromCodePoint(65533))),
+ (s.pos += u[0].length),
+ !0
+ );
+ } else if ((u = s.src.slice(_).match(BC))) {
+ var x = decodeEntity(u[1]);
+ if (u[1] !== x) return o || (s.pending += x), (s.pos += u[0].length), !0;
+ }
+ return o || (s.pending += '&'), s.pos++, !0;
+ }
+ ]
+ ];
+ function ParserInline() {
+ this.ruler = new Ruler();
+ for (var s = 0; s < FC.length; s++) this.ruler.push(FC[s][0], FC[s][1]);
+ this.validateLink = validateLink;
+ }
+ function validateLink(s) {
+ var o = s.trim().toLowerCase();
+ return (
+ -1 === (o = replaceEntities(o)).indexOf(':') ||
+ -1 === ['vbscript', 'javascript', 'file', 'data'].indexOf(o.split(':')[0])
+ );
+ }
+ (ParserInline.prototype.skipToken = function (s) {
+ var o,
+ i,
+ u = this.ruler.getRules(''),
+ _ = u.length,
+ w = s.pos;
+ if ((i = s.cacheGet(w)) > 0) s.pos = i;
+ else {
+ for (o = 0; o < _; o++) if (u[o](s, !0)) return void s.cacheSet(w, s.pos);
+ s.pos++, s.cacheSet(w, s.pos);
+ }
+ }),
+ (ParserInline.prototype.tokenize = function (s) {
+ for (var o, i, u = this.ruler.getRules(''), _ = u.length, w = s.posMax; s.pos < w; ) {
+ for (i = 0; i < _ && !(o = u[i](s, !1)); i++);
+ if (o) {
+ if (s.pos >= w) break;
+ } else s.pending += s.src[s.pos++];
+ }
+ s.pending && s.pushPending();
+ }),
+ (ParserInline.prototype.parse = function (s, o, i, u) {
+ var _ = new StateInline(s, this, o, i, u);
+ this.tokenize(_);
+ });
+ var qC = {
+ default: {
+ options: {
+ html: !1,
+ xhtmlOut: !1,
+ breaks: !1,
+ langPrefix: 'language-',
+ linkTarget: '',
+ typographer: !1,
+ quotes: '“”‘’',
+ highlight: null,
+ maxNesting: 20
+ },
+ components: {
+ core: {
+ rules: [
+ 'block',
+ 'inline',
+ 'references',
+ 'replacements',
+ 'smartquotes',
+ 'references',
+ 'abbr2',
+ 'footnote_tail'
+ ]
+ },
+ block: {
+ rules: [
+ 'blockquote',
+ 'code',
+ 'fences',
+ 'footnote',
+ 'heading',
+ 'hr',
+ 'htmlblock',
+ 'lheading',
+ 'list',
+ 'paragraph',
+ 'table'
+ ]
+ },
+ inline: {
+ rules: [
+ 'autolink',
+ 'backticks',
+ 'del',
+ 'emphasis',
+ 'entity',
+ 'escape',
+ 'footnote_ref',
+ 'htmltag',
+ 'links',
+ 'newline',
+ 'text'
+ ]
+ }
+ }
+ },
+ full: {
+ options: {
+ html: !1,
+ xhtmlOut: !1,
+ breaks: !1,
+ langPrefix: 'language-',
+ linkTarget: '',
+ typographer: !1,
+ quotes: '“”‘’',
+ highlight: null,
+ maxNesting: 20
+ },
+ components: { core: {}, block: {}, inline: {} }
+ },
+ commonmark: {
+ options: {
+ html: !0,
+ xhtmlOut: !0,
+ breaks: !1,
+ langPrefix: 'language-',
+ linkTarget: '',
+ typographer: !1,
+ quotes: '“”‘’',
+ highlight: null,
+ maxNesting: 20
+ },
+ components: {
+ core: { rules: ['block', 'inline', 'references', 'abbr2'] },
+ block: {
+ rules: [
+ 'blockquote',
+ 'code',
+ 'fences',
+ 'heading',
+ 'hr',
+ 'htmlblock',
+ 'lheading',
+ 'list',
+ 'paragraph'
+ ]
+ },
+ inline: {
+ rules: [
+ 'autolink',
+ 'backticks',
+ 'emphasis',
+ 'entity',
+ 'escape',
+ 'htmltag',
+ 'links',
+ 'newline',
+ 'text'
+ ]
+ }
+ }
+ }
+ };
+ function StateCore(s, o, i) {
+ (this.src = o),
+ (this.env = i),
+ (this.options = s.options),
+ (this.tokens = []),
+ (this.inlineMode = !1),
+ (this.inline = s.inline),
+ (this.block = s.block),
+ (this.renderer = s.renderer),
+ (this.typographer = s.typographer);
+ }
+ function Remarkable(s, o) {
+ 'string' != typeof s && ((o = s), (s = 'default')),
+ o &&
+ null != o.linkify &&
+ console.warn(
+ "linkify option is removed. Use linkify plugin instead:\n\nimport Remarkable from 'remarkable';\nimport linkify from 'remarkable/linkify';\nnew Remarkable().use(linkify)\n"
+ ),
+ (this.inline = new ParserInline()),
+ (this.block = new ParserBlock()),
+ (this.core = new Core()),
+ (this.renderer = new Renderer()),
+ (this.ruler = new Ruler()),
+ (this.options = {}),
+ this.configure(qC[s]),
+ this.set(o || {});
+ }
+ (Remarkable.prototype.set = function (s) {
+ index_browser_assign(this.options, s);
+ }),
+ (Remarkable.prototype.configure = function (s) {
+ var o = this;
+ if (!s) throw new Error('Wrong `remarkable` preset, check name/content');
+ s.options && o.set(s.options),
+ s.components &&
+ Object.keys(s.components).forEach(function (i) {
+ s.components[i].rules && o[i].ruler.enable(s.components[i].rules, !0);
+ });
+ }),
+ (Remarkable.prototype.use = function (s, o) {
+ return s(this, o), this;
+ }),
+ (Remarkable.prototype.parse = function (s, o) {
+ var i = new StateCore(this, s, o);
+ return this.core.process(i), i.tokens;
+ }),
+ (Remarkable.prototype.render = function (s, o) {
+ return (o = o || {}), this.renderer.render(this.parse(s, o), this.options, o);
+ }),
+ (Remarkable.prototype.parseInline = function (s, o) {
+ var i = new StateCore(this, s, o);
+ return (i.inlineMode = !0), this.core.process(i), i.tokens;
+ }),
+ (Remarkable.prototype.renderInline = function (s, o) {
+ return (o = o || {}), this.renderer.render(this.parseInline(s, o), this.options, o);
+ });
+ function indexOf(s, o) {
+ if (Array.prototype.indexOf) return s.indexOf(o);
+ for (var i = 0, u = s.length; i < u; i++) if (s[i] === o) return i;
+ return -1;
+ }
+ function utils_remove(s, o) {
+ for (var i = s.length - 1; i >= 0; i--) !0 === o(s[i]) && s.splice(i, 1);
+ }
+ function throwUnhandledCaseError(s) {
+ throw new Error("Unhandled case for value: '".concat(s, "'"));
+ }
+ var $C = (function () {
+ function HtmlTag(s) {
+ void 0 === s && (s = {}),
+ (this.tagName = ''),
+ (this.attrs = {}),
+ (this.innerHTML = ''),
+ (this.whitespaceRegex = /\s+/),
+ (this.tagName = s.tagName || ''),
+ (this.attrs = s.attrs || {}),
+ (this.innerHTML = s.innerHtml || s.innerHTML || '');
+ }
+ return (
+ (HtmlTag.prototype.setTagName = function (s) {
+ return (this.tagName = s), this;
+ }),
+ (HtmlTag.prototype.getTagName = function () {
+ return this.tagName || '';
+ }),
+ (HtmlTag.prototype.setAttr = function (s, o) {
+ return (this.getAttrs()[s] = o), this;
+ }),
+ (HtmlTag.prototype.getAttr = function (s) {
+ return this.getAttrs()[s];
+ }),
+ (HtmlTag.prototype.setAttrs = function (s) {
+ return Object.assign(this.getAttrs(), s), this;
+ }),
+ (HtmlTag.prototype.getAttrs = function () {
+ return this.attrs || (this.attrs = {});
+ }),
+ (HtmlTag.prototype.setClass = function (s) {
+ return this.setAttr('class', s);
+ }),
+ (HtmlTag.prototype.addClass = function (s) {
+ for (
+ var o,
+ i = this.getClass(),
+ u = this.whitespaceRegex,
+ _ = i ? i.split(u) : [],
+ w = s.split(u);
+ (o = w.shift());
+
+ )
+ -1 === indexOf(_, o) && _.push(o);
+ return (this.getAttrs().class = _.join(' ')), this;
+ }),
+ (HtmlTag.prototype.removeClass = function (s) {
+ for (
+ var o,
+ i = this.getClass(),
+ u = this.whitespaceRegex,
+ _ = i ? i.split(u) : [],
+ w = s.split(u);
+ _.length && (o = w.shift());
+
+ ) {
+ var x = indexOf(_, o);
+ -1 !== x && _.splice(x, 1);
+ }
+ return (this.getAttrs().class = _.join(' ')), this;
+ }),
+ (HtmlTag.prototype.getClass = function () {
+ return this.getAttrs().class || '';
+ }),
+ (HtmlTag.prototype.hasClass = function (s) {
+ return -1 !== (' ' + this.getClass() + ' ').indexOf(' ' + s + ' ');
+ }),
+ (HtmlTag.prototype.setInnerHTML = function (s) {
+ return (this.innerHTML = s), this;
+ }),
+ (HtmlTag.prototype.setInnerHtml = function (s) {
+ return this.setInnerHTML(s);
+ }),
+ (HtmlTag.prototype.getInnerHTML = function () {
+ return this.innerHTML || '';
+ }),
+ (HtmlTag.prototype.getInnerHtml = function () {
+ return this.getInnerHTML();
+ }),
+ (HtmlTag.prototype.toAnchorString = function () {
+ var s = this.getTagName(),
+ o = this.buildAttrsStr();
+ return ['<', s, (o = o ? ' ' + o : ''), '>', this.getInnerHtml(), '', s, '>'].join(
+ ''
+ );
+ }),
+ (HtmlTag.prototype.buildAttrsStr = function () {
+ if (!this.attrs) return '';
+ var s = this.getAttrs(),
+ o = [];
+ for (var i in s) s.hasOwnProperty(i) && o.push(i + '="' + s[i] + '"');
+ return o.join(' ');
+ }),
+ HtmlTag
+ );
+ })();
+ var VC = (function () {
+ function AnchorTagBuilder(s) {
+ void 0 === s && (s = {}),
+ (this.newWindow = !1),
+ (this.truncate = {}),
+ (this.className = ''),
+ (this.newWindow = s.newWindow || !1),
+ (this.truncate = s.truncate || {}),
+ (this.className = s.className || '');
+ }
+ return (
+ (AnchorTagBuilder.prototype.build = function (s) {
+ return new $C({
+ tagName: 'a',
+ attrs: this.createAttrs(s),
+ innerHtml: this.processAnchorText(s.getAnchorText())
+ });
+ }),
+ (AnchorTagBuilder.prototype.createAttrs = function (s) {
+ var o = { href: s.getAnchorHref() },
+ i = this.createCssClass(s);
+ return (
+ i && (o.class = i),
+ this.newWindow && ((o.target = '_blank'), (o.rel = 'noopener noreferrer')),
+ this.truncate &&
+ this.truncate.length &&
+ this.truncate.length < s.getAnchorText().length &&
+ (o.title = s.getAnchorHref()),
+ o
+ );
+ }),
+ (AnchorTagBuilder.prototype.createCssClass = function (s) {
+ var o = this.className;
+ if (o) {
+ for (var i = [o], u = s.getCssClassSuffixes(), _ = 0, w = u.length; _ < w; _++)
+ i.push(o + '-' + u[_]);
+ return i.join(' ');
+ }
+ return '';
+ }),
+ (AnchorTagBuilder.prototype.processAnchorText = function (s) {
+ return (s = this.doTruncate(s));
+ }),
+ (AnchorTagBuilder.prototype.doTruncate = function (s) {
+ var o = this.truncate;
+ if (!o || !o.length) return s;
+ var i = o.length,
+ u = o.location;
+ return 'smart' === u
+ ? (function truncateSmart(s, o, i) {
+ var u, _;
+ null == i
+ ? ((i = '…'), (_ = 3), (u = 8))
+ : ((_ = i.length), (u = i.length));
+ var buildUrl = function (s) {
+ var o = '';
+ return (
+ s.scheme && s.host && (o += s.scheme + '://'),
+ s.host && (o += s.host),
+ s.path && (o += '/' + s.path),
+ s.query && (o += '?' + s.query),
+ s.fragment && (o += '#' + s.fragment),
+ o
+ );
+ },
+ buildSegment = function (s, o) {
+ var u = o / 2,
+ _ = Math.ceil(u),
+ w = -1 * Math.floor(u),
+ x = '';
+ return w < 0 && (x = s.substr(w)), s.substr(0, _) + i + x;
+ };
+ if (s.length <= o) return s;
+ var w = o - _,
+ x = (function (s) {
+ var o = {},
+ i = s,
+ u = i.match(/^([a-z]+):\/\//i);
+ return (
+ u && ((o.scheme = u[1]), (i = i.substr(u[0].length))),
+ (u = i.match(/^(.*?)(?=(\?|#|\/|$))/i)) &&
+ ((o.host = u[1]), (i = i.substr(u[0].length))),
+ (u = i.match(/^\/(.*?)(?=(\?|#|$))/i)) &&
+ ((o.path = u[1]), (i = i.substr(u[0].length))),
+ (u = i.match(/^\?(.*?)(?=(#|$))/i)) &&
+ ((o.query = u[1]), (i = i.substr(u[0].length))),
+ (u = i.match(/^#(.*?)$/i)) && (o.fragment = u[1]),
+ o
+ );
+ })(s);
+ if (x.query) {
+ var C = x.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);
+ C && ((x.query = x.query.substr(0, C[1].length)), (s = buildUrl(x)));
+ }
+ if (s.length <= o) return s;
+ if (
+ (x.host && ((x.host = x.host.replace(/^www\./, '')), (s = buildUrl(x))),
+ s.length <= o)
+ )
+ return s;
+ var j = '';
+ if ((x.host && (j += x.host), j.length >= w))
+ return x.host.length == o
+ ? (x.host.substr(0, o - _) + i).substr(0, w + u)
+ : buildSegment(j, w).substr(0, w + u);
+ var L = '';
+ if ((x.path && (L += '/' + x.path), x.query && (L += '?' + x.query), L)) {
+ if ((j + L).length >= w)
+ return (j + L).length == o
+ ? (j + L).substr(0, o)
+ : (j + buildSegment(L, w - j.length)).substr(0, w + u);
+ j += L;
+ }
+ if (x.fragment) {
+ var B = '#' + x.fragment;
+ if ((j + B).length >= w)
+ return (j + B).length == o
+ ? (j + B).substr(0, o)
+ : (j + buildSegment(B, w - j.length)).substr(0, w + u);
+ j += B;
+ }
+ if (x.scheme && x.host) {
+ var $ = x.scheme + '://';
+ if ((j + $).length < w) return ($ + j).substr(0, o);
+ }
+ if (j.length <= o) return j;
+ var V = '';
+ return (
+ w > 0 && (V = j.substr(-1 * Math.floor(w / 2))),
+ (j.substr(0, Math.ceil(w / 2)) + i + V).substr(0, w + u)
+ );
+ })(s, i)
+ : 'middle' === u
+ ? (function truncateMiddle(s, o, i) {
+ if (s.length <= o) return s;
+ var u, _;
+ null == i
+ ? ((i = '…'), (u = 8), (_ = 3))
+ : ((u = i.length), (_ = i.length));
+ var w = o - _,
+ x = '';
+ return (
+ w > 0 && (x = s.substr(-1 * Math.floor(w / 2))),
+ (s.substr(0, Math.ceil(w / 2)) + i + x).substr(0, w + u)
+ );
+ })(s, i)
+ : (function truncateEnd(s, o, i) {
+ return (function ellipsis(s, o, i) {
+ var u;
+ return (
+ s.length > o &&
+ (null == i ? ((i = '…'), (u = 3)) : (u = i.length),
+ (s = s.substring(0, o - u) + i)),
+ s
+ );
+ })(s, o, i);
+ })(s, i);
+ }),
+ AnchorTagBuilder
+ );
+ })(),
+ UC = (function () {
+ function Match(s) {
+ (this.__jsduckDummyDocProp = null),
+ (this.matchedText = ''),
+ (this.offset = 0),
+ (this.tagBuilder = s.tagBuilder),
+ (this.matchedText = s.matchedText),
+ (this.offset = s.offset);
+ }
+ return (
+ (Match.prototype.getMatchedText = function () {
+ return this.matchedText;
+ }),
+ (Match.prototype.setOffset = function (s) {
+ this.offset = s;
+ }),
+ (Match.prototype.getOffset = function () {
+ return this.offset;
+ }),
+ (Match.prototype.getCssClassSuffixes = function () {
+ return [this.getType()];
+ }),
+ (Match.prototype.buildTag = function () {
+ return this.tagBuilder.build(this);
+ }),
+ Match
+ );
+ })(),
+ extendStatics = function (s, o) {
+ return (
+ (extendStatics =
+ Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array &&
+ function (s, o) {
+ s.__proto__ = o;
+ }) ||
+ function (s, o) {
+ for (var i in o) Object.prototype.hasOwnProperty.call(o, i) && (s[i] = o[i]);
+ }),
+ extendStatics(s, o)
+ );
+ };
+ function tslib_es6_extends(s, o) {
+ if ('function' != typeof o && null !== o)
+ throw new TypeError(
+ 'Class extends value ' + String(o) + ' is not a constructor or null'
+ );
+ function __() {
+ this.constructor = s;
+ }
+ extendStatics(s, o),
+ (s.prototype =
+ null === o ? Object.create(o) : ((__.prototype = o.prototype), new __()));
+ }
+ var __assign = function () {
+ return (
+ (__assign =
+ Object.assign ||
+ function __assign(s) {
+ for (var o, i = 1, u = arguments.length; i < u; i++)
+ for (var _ in (o = arguments[i]))
+ Object.prototype.hasOwnProperty.call(o, _) && (s[_] = o[_]);
+ return s;
+ }),
+ __assign.apply(this, arguments)
+ );
+ };
+ Object.create;
+ Object.create;
+ 'function' == typeof SuppressedError && SuppressedError;
+ var zC,
+ WC = (function (s) {
+ function EmailMatch(o) {
+ var i = s.call(this, o) || this;
+ return (i.email = ''), (i.email = o.email), i;
+ }
+ return (
+ tslib_es6_extends(EmailMatch, s),
+ (EmailMatch.prototype.getType = function () {
+ return 'email';
+ }),
+ (EmailMatch.prototype.getEmail = function () {
+ return this.email;
+ }),
+ (EmailMatch.prototype.getAnchorHref = function () {
+ return 'mailto:' + this.email;
+ }),
+ (EmailMatch.prototype.getAnchorText = function () {
+ return this.email;
+ }),
+ EmailMatch
+ );
+ })(UC),
+ KC = (function (s) {
+ function HashtagMatch(o) {
+ var i = s.call(this, o) || this;
+ return (
+ (i.serviceName = ''),
+ (i.hashtag = ''),
+ (i.serviceName = o.serviceName),
+ (i.hashtag = o.hashtag),
+ i
+ );
+ }
+ return (
+ tslib_es6_extends(HashtagMatch, s),
+ (HashtagMatch.prototype.getType = function () {
+ return 'hashtag';
+ }),
+ (HashtagMatch.prototype.getServiceName = function () {
+ return this.serviceName;
+ }),
+ (HashtagMatch.prototype.getHashtag = function () {
+ return this.hashtag;
+ }),
+ (HashtagMatch.prototype.getAnchorHref = function () {
+ var s = this.serviceName,
+ o = this.hashtag;
+ switch (s) {
+ case 'twitter':
+ return 'https://twitter.com/hashtag/' + o;
+ case 'facebook':
+ return 'https://www.facebook.com/hashtag/' + o;
+ case 'instagram':
+ return 'https://instagram.com/explore/tags/' + o;
+ case 'tiktok':
+ return 'https://www.tiktok.com/tag/' + o;
+ default:
+ throw new Error('Unknown service name to point hashtag to: ' + s);
+ }
+ }),
+ (HashtagMatch.prototype.getAnchorText = function () {
+ return '#' + this.hashtag;
+ }),
+ HashtagMatch
+ );
+ })(UC),
+ HC = (function (s) {
+ function MentionMatch(o) {
+ var i = s.call(this, o) || this;
+ return (
+ (i.serviceName = 'twitter'),
+ (i.mention = ''),
+ (i.mention = o.mention),
+ (i.serviceName = o.serviceName),
+ i
+ );
+ }
+ return (
+ tslib_es6_extends(MentionMatch, s),
+ (MentionMatch.prototype.getType = function () {
+ return 'mention';
+ }),
+ (MentionMatch.prototype.getMention = function () {
+ return this.mention;
+ }),
+ (MentionMatch.prototype.getServiceName = function () {
+ return this.serviceName;
+ }),
+ (MentionMatch.prototype.getAnchorHref = function () {
+ switch (this.serviceName) {
+ case 'twitter':
+ return 'https://twitter.com/' + this.mention;
+ case 'instagram':
+ return 'https://instagram.com/' + this.mention;
+ case 'soundcloud':
+ return 'https://soundcloud.com/' + this.mention;
+ case 'tiktok':
+ return 'https://www.tiktok.com/@' + this.mention;
+ default:
+ throw new Error(
+ 'Unknown service name to point mention to: ' + this.serviceName
+ );
+ }
+ }),
+ (MentionMatch.prototype.getAnchorText = function () {
+ return '@' + this.mention;
+ }),
+ (MentionMatch.prototype.getCssClassSuffixes = function () {
+ var o = s.prototype.getCssClassSuffixes.call(this),
+ i = this.getServiceName();
+ return i && o.push(i), o;
+ }),
+ MentionMatch
+ );
+ })(UC),
+ JC = (function (s) {
+ function PhoneMatch(o) {
+ var i = s.call(this, o) || this;
+ return (
+ (i.number = ''),
+ (i.plusSign = !1),
+ (i.number = o.number),
+ (i.plusSign = o.plusSign),
+ i
+ );
+ }
+ return (
+ tslib_es6_extends(PhoneMatch, s),
+ (PhoneMatch.prototype.getType = function () {
+ return 'phone';
+ }),
+ (PhoneMatch.prototype.getPhoneNumber = function () {
+ return this.number;
+ }),
+ (PhoneMatch.prototype.getNumber = function () {
+ return this.getPhoneNumber();
+ }),
+ (PhoneMatch.prototype.getAnchorHref = function () {
+ return 'tel:' + (this.plusSign ? '+' : '') + this.number;
+ }),
+ (PhoneMatch.prototype.getAnchorText = function () {
+ return this.matchedText;
+ }),
+ PhoneMatch
+ );
+ })(UC),
+ GC = (function (s) {
+ function UrlMatch(o) {
+ var i = s.call(this, o) || this;
+ return (
+ (i.url = ''),
+ (i.urlMatchType = 'scheme'),
+ (i.protocolUrlMatch = !1),
+ (i.protocolRelativeMatch = !1),
+ (i.stripPrefix = { scheme: !0, www: !0 }),
+ (i.stripTrailingSlash = !0),
+ (i.decodePercentEncoding = !0),
+ (i.schemePrefixRegex = /^(https?:\/\/)?/i),
+ (i.wwwPrefixRegex = /^(https?:\/\/)?(www\.)?/i),
+ (i.protocolRelativeRegex = /^\/\//),
+ (i.protocolPrepended = !1),
+ (i.urlMatchType = o.urlMatchType),
+ (i.url = o.url),
+ (i.protocolUrlMatch = o.protocolUrlMatch),
+ (i.protocolRelativeMatch = o.protocolRelativeMatch),
+ (i.stripPrefix = o.stripPrefix),
+ (i.stripTrailingSlash = o.stripTrailingSlash),
+ (i.decodePercentEncoding = o.decodePercentEncoding),
+ i
+ );
+ }
+ return (
+ tslib_es6_extends(UrlMatch, s),
+ (UrlMatch.prototype.getType = function () {
+ return 'url';
+ }),
+ (UrlMatch.prototype.getUrlMatchType = function () {
+ return this.urlMatchType;
+ }),
+ (UrlMatch.prototype.getUrl = function () {
+ var s = this.url;
+ return (
+ this.protocolRelativeMatch ||
+ this.protocolUrlMatch ||
+ this.protocolPrepended ||
+ ((s = this.url = 'http://' + s), (this.protocolPrepended = !0)),
+ s
+ );
+ }),
+ (UrlMatch.prototype.getAnchorHref = function () {
+ return this.getUrl().replace(/&/g, '&');
+ }),
+ (UrlMatch.prototype.getAnchorText = function () {
+ var s = this.getMatchedText();
+ return (
+ this.protocolRelativeMatch && (s = this.stripProtocolRelativePrefix(s)),
+ this.stripPrefix.scheme && (s = this.stripSchemePrefix(s)),
+ this.stripPrefix.www && (s = this.stripWwwPrefix(s)),
+ this.stripTrailingSlash && (s = this.removeTrailingSlash(s)),
+ this.decodePercentEncoding && (s = this.removePercentEncoding(s)),
+ s
+ );
+ }),
+ (UrlMatch.prototype.stripSchemePrefix = function (s) {
+ return s.replace(this.schemePrefixRegex, '');
+ }),
+ (UrlMatch.prototype.stripWwwPrefix = function (s) {
+ return s.replace(this.wwwPrefixRegex, '$1');
+ }),
+ (UrlMatch.prototype.stripProtocolRelativePrefix = function (s) {
+ return s.replace(this.protocolRelativeRegex, '');
+ }),
+ (UrlMatch.prototype.removeTrailingSlash = function (s) {
+ return '/' === s.charAt(s.length - 1) && (s = s.slice(0, -1)), s;
+ }),
+ (UrlMatch.prototype.removePercentEncoding = function (s) {
+ var o = s
+ .replace(/%22/gi, '"')
+ .replace(/%26/gi, '&')
+ .replace(/%27/gi, ''')
+ .replace(/%3C/gi, '<')
+ .replace(/%3E/gi, '>');
+ try {
+ return decodeURIComponent(o);
+ } catch (s) {
+ return o;
+ }
+ }),
+ UrlMatch
+ );
+ })(UC),
+ YC = function YC(s) {
+ (this.__jsduckDummyDocProp = null), (this.tagBuilder = s.tagBuilder);
+ },
+ XC = /[A-Za-z]/,
+ ZC = /[\d]/,
+ QC = /[\D]/,
+ eO = /\s/,
+ tO = /['"]/,
+ rO = /[\x00-\x1F\x7F]/,
+ nO =
+ /A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/
+ .source,
+ sO =
+ nO +
+ /\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/
+ .source +
+ /\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/
+ .source,
+ oO =
+ /0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/
+ .source,
+ iO = sO + oO,
+ aO = sO + oO,
+ lO = new RegExp('['.concat(aO, ']')),
+ cO = '(?:[' + oO + ']{1,3}\\.){3}[' + oO + ']{1,3}',
+ uO = '[' + aO + '](?:[' + aO + '\\-_]{0,61}[' + aO + '])?',
+ getDomainLabelStr = function (s) {
+ return '(?=(' + uO + '))\\' + s;
+ },
+ getDomainNameStr = function (s) {
+ return (
+ '(?:' +
+ getDomainLabelStr(s) +
+ '(?:\\.' +
+ getDomainLabelStr(s + 1) +
+ '){0,126}|' +
+ cO +
+ ')'
+ );
+ },
+ pO = (new RegExp('[' + aO + '.\\-]*[' + aO + '\\-]'), lO),
+ hO =
+ /(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|vermögensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|travelchannel|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|موريتانيا|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|католик|اتصالات|البحرين|الجزائر|العليان|پاکستان|كاثوليك|இந்தியா|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|ישראל|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|アマゾン|グーグル|クラウド|ポイント|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ລາວ|ストア|セール|みんな|中文网|亚马逊|天主教|我爱你|新加坡|淡马锡|诺基亚|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|ευ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|广东|微博|慈善|手机|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)/,
+ dO = new RegExp('['.concat(aO, "!#$%&'*+/=?^_`{|}~-]")),
+ fO = new RegExp('^'.concat(hO.source, '$')),
+ mO = (function (s) {
+ function EmailMatcher() {
+ var o = (null !== s && s.apply(this, arguments)) || this;
+ return (o.localPartCharRegex = dO), (o.strictTldRegex = fO), o;
+ }
+ return (
+ tslib_es6_extends(EmailMatcher, s),
+ (EmailMatcher.prototype.parseMatches = function (s) {
+ for (
+ var o = this.tagBuilder,
+ i = this.localPartCharRegex,
+ u = this.strictTldRegex,
+ _ = [],
+ w = s.length,
+ x = new gO(),
+ C = { m: 'a', a: 'i', i: 'l', l: 't', t: 'o', o: ':' },
+ j = 0,
+ L = 0,
+ B = x;
+ j < w;
+
+ ) {
+ var $ = s.charAt(j);
+ switch (L) {
+ case 0:
+ stateNonEmailAddress($);
+ break;
+ case 1:
+ stateMailTo(s.charAt(j - 1), $);
+ break;
+ case 2:
+ stateLocalPart($);
+ break;
+ case 3:
+ stateLocalPartDot($);
+ break;
+ case 4:
+ stateAtSign($);
+ break;
+ case 5:
+ stateDomainChar($);
+ break;
+ case 6:
+ stateDomainHyphen($);
+ break;
+ case 7:
+ stateDomainDot($);
+ break;
+ default:
+ throwUnhandledCaseError(L);
+ }
+ j++;
+ }
+ return captureMatchIfValidAndReset(), _;
+ function stateNonEmailAddress(s) {
+ 'm' === s ? beginEmailMatch(1) : i.test(s) && beginEmailMatch();
+ }
+ function stateMailTo(s, o) {
+ ':' === s
+ ? i.test(o)
+ ? ((L = 2), (B = new gO(__assign(__assign({}, B), { hasMailtoPrefix: !0 }))))
+ : resetToNonEmailMatchState()
+ : C[s] === o ||
+ (i.test(o)
+ ? (L = 2)
+ : '.' === o
+ ? (L = 3)
+ : '@' === o
+ ? (L = 4)
+ : resetToNonEmailMatchState());
+ }
+ function stateLocalPart(s) {
+ '.' === s
+ ? (L = 3)
+ : '@' === s
+ ? (L = 4)
+ : i.test(s) || resetToNonEmailMatchState();
+ }
+ function stateLocalPartDot(s) {
+ '.' === s || '@' === s
+ ? resetToNonEmailMatchState()
+ : i.test(s)
+ ? (L = 2)
+ : resetToNonEmailMatchState();
+ }
+ function stateAtSign(s) {
+ pO.test(s) ? (L = 5) : resetToNonEmailMatchState();
+ }
+ function stateDomainChar(s) {
+ '.' === s
+ ? (L = 7)
+ : '-' === s
+ ? (L = 6)
+ : pO.test(s) || captureMatchIfValidAndReset();
+ }
+ function stateDomainHyphen(s) {
+ '-' === s || '.' === s
+ ? captureMatchIfValidAndReset()
+ : pO.test(s)
+ ? (L = 5)
+ : captureMatchIfValidAndReset();
+ }
+ function stateDomainDot(s) {
+ '.' === s || '-' === s
+ ? captureMatchIfValidAndReset()
+ : pO.test(s)
+ ? ((L = 5), (B = new gO(__assign(__assign({}, B), { hasDomainDot: !0 }))))
+ : captureMatchIfValidAndReset();
+ }
+ function beginEmailMatch(s) {
+ void 0 === s && (s = 2), (L = s), (B = new gO({ idx: j }));
+ }
+ function resetToNonEmailMatchState() {
+ (L = 0), (B = x);
+ }
+ function captureMatchIfValidAndReset() {
+ if (B.hasDomainDot) {
+ var i = s.slice(B.idx, j);
+ /[-.]$/.test(i) && (i = i.slice(0, -1));
+ var w = B.hasMailtoPrefix ? i.slice(7) : i;
+ (function doesEmailHaveValidTld(s) {
+ var o = s.split('.').pop() || '',
+ i = o.toLowerCase();
+ return u.test(i);
+ })(w) &&
+ _.push(new WC({ tagBuilder: o, matchedText: i, offset: B.idx, email: w }));
+ }
+ resetToNonEmailMatchState();
+ }
+ }),
+ EmailMatcher
+ );
+ })(YC),
+ gO = function gO(s) {
+ void 0 === s && (s = {}),
+ (this.idx = void 0 !== s.idx ? s.idx : -1),
+ (this.hasMailtoPrefix = !!s.hasMailtoPrefix),
+ (this.hasDomainDot = !!s.hasDomainDot);
+ },
+ yO = (function () {
+ function UrlMatchValidator() {}
+ return (
+ (UrlMatchValidator.isValid = function (s, o) {
+ return !(
+ (o && !this.isValidUriScheme(o)) ||
+ this.urlMatchDoesNotHaveProtocolOrDot(s, o) ||
+ (this.urlMatchDoesNotHaveAtLeastOneWordChar(s, o) && !this.isValidIpAddress(s)) ||
+ this.containsMultipleDots(s)
+ );
+ }),
+ (UrlMatchValidator.isValidIpAddress = function (s) {
+ var o = new RegExp(this.hasFullProtocolRegex.source + this.ipRegex.source);
+ return null !== s.match(o);
+ }),
+ (UrlMatchValidator.containsMultipleDots = function (s) {
+ var o = s;
+ return (
+ this.hasFullProtocolRegex.test(s) && (o = s.split('://')[1]),
+ o.split('/')[0].indexOf('..') > -1
+ );
+ }),
+ (UrlMatchValidator.isValidUriScheme = function (s) {
+ var o = s.match(this.uriSchemeRegex),
+ i = o && o[0].toLowerCase();
+ return 'javascript:' !== i && 'vbscript:' !== i;
+ }),
+ (UrlMatchValidator.urlMatchDoesNotHaveProtocolOrDot = function (s, o) {
+ return !(!s || (o && this.hasFullProtocolRegex.test(o)) || -1 !== s.indexOf('.'));
+ }),
+ (UrlMatchValidator.urlMatchDoesNotHaveAtLeastOneWordChar = function (s, o) {
+ return (
+ !(!s || !o) &&
+ !this.hasFullProtocolRegex.test(o) &&
+ !this.hasWordCharAfterProtocolRegex.test(s)
+ );
+ }),
+ (UrlMatchValidator.hasFullProtocolRegex = /^[A-Za-z][-.+A-Za-z0-9]*:\/\//),
+ (UrlMatchValidator.uriSchemeRegex = /^[A-Za-z][-.+A-Za-z0-9]*:/),
+ (UrlMatchValidator.hasWordCharAfterProtocolRegex = new RegExp(
+ ':[^\\s]*?[' + nO + ']'
+ )),
+ (UrlMatchValidator.ipRegex =
+ /[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?(:[0-9]*)?\/?$/),
+ UrlMatchValidator
+ );
+ })(),
+ vO =
+ ((zC = new RegExp(
+ '[/?#](?:[' +
+ aO +
+ "\\-+&@#/%=~_()|'$*\\[\\]{}?!:,.;^✓]*[" +
+ aO +
+ "\\-+&@#/%=~_()|'$*\\[\\]{}✓])?"
+ )),
+ new RegExp(
+ [
+ '(?:',
+ '(',
+ /(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\/\/)(?!\d+\/?)(?:\/\/)?)/
+ .source,
+ getDomainNameStr(2),
+ ')',
+ '|',
+ '(',
+ '(//)?',
+ /(?:www\.)/.source,
+ getDomainNameStr(6),
+ ')',
+ '|',
+ '(',
+ '(//)?',
+ getDomainNameStr(10) + '\\.',
+ hO.source,
+ '(?![-' + iO + '])',
+ ')',
+ ')',
+ '(?::[0-9]+)?',
+ '(?:' + zC.source + ')?'
+ ].join(''),
+ 'gi'
+ )),
+ bO = new RegExp('[' + aO + ']'),
+ _O = (function (s) {
+ function UrlMatcher(o) {
+ var i = s.call(this, o) || this;
+ return (
+ (i.stripPrefix = { scheme: !0, www: !0 }),
+ (i.stripTrailingSlash = !0),
+ (i.decodePercentEncoding = !0),
+ (i.matcherRegex = vO),
+ (i.wordCharRegExp = bO),
+ (i.stripPrefix = o.stripPrefix),
+ (i.stripTrailingSlash = o.stripTrailingSlash),
+ (i.decodePercentEncoding = o.decodePercentEncoding),
+ i
+ );
+ }
+ return (
+ tslib_es6_extends(UrlMatcher, s),
+ (UrlMatcher.prototype.parseMatches = function (s) {
+ for (
+ var o,
+ i = this.matcherRegex,
+ u = this.stripPrefix,
+ _ = this.stripTrailingSlash,
+ w = this.decodePercentEncoding,
+ x = this.tagBuilder,
+ C = [],
+ _loop_1 = function () {
+ var i = o[0],
+ L = o[1],
+ B = o[4],
+ $ = o[5],
+ V = o[9],
+ U = o.index,
+ z = $ || V,
+ Y = s.charAt(U - 1);
+ if (!yO.isValid(i, L)) return 'continue';
+ if (U > 0 && '@' === Y) return 'continue';
+ if (U > 0 && z && j.wordCharRegExp.test(Y)) return 'continue';
+ if (
+ (/\?$/.test(i) && (i = i.substr(0, i.length - 1)),
+ j.matchHasUnbalancedClosingParen(i))
+ )
+ i = i.substr(0, i.length - 1);
+ else {
+ var Z = j.matchHasInvalidCharAfterTld(i, L);
+ Z > -1 && (i = i.substr(0, Z));
+ }
+ var ee = ['http://', 'https://'].find(function (s) {
+ return !!L && -1 !== L.indexOf(s);
+ });
+ if (ee) {
+ var ie = i.indexOf(ee);
+ (i = i.substr(ie)), (L = L.substr(ie)), (U += ie);
+ }
+ var ae = L ? 'scheme' : B ? 'www' : 'tld',
+ le = !!L;
+ C.push(
+ new GC({
+ tagBuilder: x,
+ matchedText: i,
+ offset: U,
+ urlMatchType: ae,
+ url: i,
+ protocolUrlMatch: le,
+ protocolRelativeMatch: !!z,
+ stripPrefix: u,
+ stripTrailingSlash: _,
+ decodePercentEncoding: w
+ })
+ );
+ },
+ j = this;
+ null !== (o = i.exec(s));
+
+ )
+ _loop_1();
+ return C;
+ }),
+ (UrlMatcher.prototype.matchHasUnbalancedClosingParen = function (s) {
+ var o,
+ i = s.charAt(s.length - 1);
+ if (')' === i) o = '(';
+ else if (']' === i) o = '[';
+ else {
+ if ('}' !== i) return !1;
+ o = '{';
+ }
+ for (var u = 0, _ = 0, w = s.length - 1; _ < w; _++) {
+ var x = s.charAt(_);
+ x === o ? u++ : x === i && (u = Math.max(u - 1, 0));
+ }
+ return 0 === u;
+ }),
+ (UrlMatcher.prototype.matchHasInvalidCharAfterTld = function (s, o) {
+ if (!s) return -1;
+ var i = 0;
+ o && ((i = s.indexOf(':')), (s = s.slice(i)));
+ var u = new RegExp('^((.?//)?[-.' + aO + ']*[-' + aO + ']\\.[-' + aO + ']+)').exec(
+ s
+ );
+ return null === u
+ ? -1
+ : ((i += u[1].length),
+ (s = s.slice(u[1].length)),
+ /^[^-.A-Za-z0-9:\/?#]/.test(s) ? i : -1);
+ }),
+ UrlMatcher
+ );
+ })(YC),
+ EO = new RegExp('[_'.concat(aO, ']')),
+ wO = (function (s) {
+ function HashtagMatcher(o) {
+ var i = s.call(this, o) || this;
+ return (i.serviceName = 'twitter'), (i.serviceName = o.serviceName), i;
+ }
+ return (
+ tslib_es6_extends(HashtagMatcher, s),
+ (HashtagMatcher.prototype.parseMatches = function (s) {
+ for (
+ var o = this.tagBuilder,
+ i = this.serviceName,
+ u = [],
+ _ = s.length,
+ w = 0,
+ x = -1,
+ C = 0;
+ w < _;
+
+ ) {
+ var j = s.charAt(w);
+ switch (C) {
+ case 0:
+ stateNone(j);
+ break;
+ case 1:
+ stateNonHashtagWordChar(j);
+ break;
+ case 2:
+ stateHashtagHashChar(j);
+ break;
+ case 3:
+ stateHashtagTextChar(j);
+ break;
+ default:
+ throwUnhandledCaseError(C);
+ }
+ w++;
+ }
+ return captureMatchIfValid(), u;
+ function stateNone(s) {
+ '#' === s ? ((C = 2), (x = w)) : lO.test(s) && (C = 1);
+ }
+ function stateNonHashtagWordChar(s) {
+ lO.test(s) || (C = 0);
+ }
+ function stateHashtagHashChar(s) {
+ C = EO.test(s) ? 3 : lO.test(s) ? 1 : 0;
+ }
+ function stateHashtagTextChar(s) {
+ EO.test(s) || (captureMatchIfValid(), (x = -1), (C = lO.test(s) ? 1 : 0));
+ }
+ function captureMatchIfValid() {
+ if (x > -1 && w - x <= 140) {
+ var _ = s.slice(x, w),
+ C = new KC({
+ tagBuilder: o,
+ matchedText: _,
+ offset: x,
+ serviceName: i,
+ hashtag: _.slice(1)
+ });
+ u.push(C);
+ }
+ }
+ }),
+ HashtagMatcher
+ );
+ })(YC),
+ SO = ['twitter', 'facebook', 'instagram', 'tiktok'],
+ xO = new RegExp(
+ ''
+ .concat(
+ /(?:(?:(?:(\+)?\d{1,3}[-\040.]?)?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\040.]?(?:\d[-\040.]?){6,12}\d+))([,;]+[0-9]+#?)*/
+ .source,
+ '|'
+ )
+ .concat(
+ /(0([1-9]{1}-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/
+ .source
+ ),
+ 'g'
+ ),
+ kO = (function (s) {
+ function PhoneMatcher() {
+ var o = (null !== s && s.apply(this, arguments)) || this;
+ return (o.matcherRegex = xO), o;
+ }
+ return (
+ tslib_es6_extends(PhoneMatcher, s),
+ (PhoneMatcher.prototype.parseMatches = function (s) {
+ for (
+ var o, i = this.matcherRegex, u = this.tagBuilder, _ = [];
+ null !== (o = i.exec(s));
+
+ ) {
+ var w = o[0],
+ x = w.replace(/[^0-9,;#]/g, ''),
+ C = !(!o[1] && !o[2]),
+ j = 0 == o.index ? '' : s.substr(o.index - 1, 1),
+ L = s.substr(o.index + w.length, 1),
+ B = !j.match(/\d/) && !L.match(/\d/);
+ this.testMatch(o[3]) &&
+ this.testMatch(w) &&
+ B &&
+ _.push(
+ new JC({
+ tagBuilder: u,
+ matchedText: w,
+ offset: o.index,
+ number: x,
+ plusSign: C
+ })
+ );
+ }
+ return _;
+ }),
+ (PhoneMatcher.prototype.testMatch = function (s) {
+ return QC.test(s);
+ }),
+ PhoneMatcher
+ );
+ })(YC),
+ CO = new RegExp('@[_'.concat(aO, ']{1,50}(?![_').concat(aO, '])'), 'g'),
+ OO = new RegExp('@[_.'.concat(aO, ']{1,30}(?![_').concat(aO, '])'), 'g'),
+ AO = new RegExp('@[-_.'.concat(aO, ']{1,50}(?![-_').concat(aO, '])'), 'g'),
+ jO = new RegExp(
+ '@[_.'.concat(aO, ']{1,23}[_').concat(aO, '](?![_').concat(aO, '])'),
+ 'g'
+ ),
+ IO = new RegExp('[^' + aO + ']'),
+ PO = (function (s) {
+ function MentionMatcher(o) {
+ var i = s.call(this, o) || this;
+ return (
+ (i.serviceName = 'twitter'),
+ (i.matcherRegexes = { twitter: CO, instagram: OO, soundcloud: AO, tiktok: jO }),
+ (i.nonWordCharRegex = IO),
+ (i.serviceName = o.serviceName),
+ i
+ );
+ }
+ return (
+ tslib_es6_extends(MentionMatcher, s),
+ (MentionMatcher.prototype.parseMatches = function (s) {
+ var o,
+ i = this.serviceName,
+ u = this.matcherRegexes[this.serviceName],
+ _ = this.nonWordCharRegex,
+ w = this.tagBuilder,
+ x = [];
+ if (!u) return x;
+ for (; null !== (o = u.exec(s)); ) {
+ var C = o.index,
+ j = s.charAt(C - 1);
+ if (0 === C || _.test(j)) {
+ var L = o[0].replace(/\.+$/g, ''),
+ B = L.slice(1);
+ x.push(
+ new HC({
+ tagBuilder: w,
+ matchedText: L,
+ offset: C,
+ serviceName: i,
+ mention: B
+ })
+ );
+ }
+ }
+ return x;
+ }),
+ MentionMatcher
+ );
+ })(YC);
+ function parseHtml(s, o) {
+ for (
+ var i = o.onOpenTag,
+ u = o.onCloseTag,
+ _ = o.onText,
+ w = o.onComment,
+ x = o.onDoctype,
+ C = new MO(),
+ j = 0,
+ L = s.length,
+ B = 0,
+ $ = 0,
+ V = C;
+ j < L;
+
+ ) {
+ var U = s.charAt(j);
+ switch (B) {
+ case 0:
+ stateData(U);
+ break;
+ case 1:
+ stateTagOpen(U);
+ break;
+ case 2:
+ stateEndTagOpen(U);
+ break;
+ case 3:
+ stateTagName(U);
+ break;
+ case 4:
+ stateBeforeAttributeName(U);
+ break;
+ case 5:
+ stateAttributeName(U);
+ break;
+ case 6:
+ stateAfterAttributeName(U);
+ break;
+ case 7:
+ stateBeforeAttributeValue(U);
+ break;
+ case 8:
+ stateAttributeValueDoubleQuoted(U);
+ break;
+ case 9:
+ stateAttributeValueSingleQuoted(U);
+ break;
+ case 10:
+ stateAttributeValueUnquoted(U);
+ break;
+ case 11:
+ stateAfterAttributeValueQuoted(U);
+ break;
+ case 12:
+ stateSelfClosingStartTag(U);
+ break;
+ case 13:
+ stateMarkupDeclarationOpen(U);
+ break;
+ case 14:
+ stateCommentStart(U);
+ break;
+ case 15:
+ stateCommentStartDash(U);
+ break;
+ case 16:
+ stateComment(U);
+ break;
+ case 17:
+ stateCommentEndDash(U);
+ break;
+ case 18:
+ stateCommentEnd(U);
+ break;
+ case 19:
+ stateCommentEndBang(U);
+ break;
+ case 20:
+ stateDoctype(U);
+ break;
+ default:
+ throwUnhandledCaseError(B);
+ }
+ j++;
+ }
+ function stateData(s) {
+ '<' === s && startNewTag();
+ }
+ function stateTagOpen(s) {
+ '!' === s
+ ? (B = 13)
+ : '/' === s
+ ? ((B = 2), (V = new MO(__assign(__assign({}, V), { isClosing: !0 }))))
+ : '<' === s
+ ? startNewTag()
+ : XC.test(s)
+ ? ((B = 3), (V = new MO(__assign(__assign({}, V), { isOpening: !0 }))))
+ : ((B = 0), (V = C));
+ }
+ function stateTagName(s) {
+ eO.test(s)
+ ? ((V = new MO(__assign(__assign({}, V), { name: captureTagName() }))), (B = 4))
+ : '<' === s
+ ? startNewTag()
+ : '/' === s
+ ? ((V = new MO(__assign(__assign({}, V), { name: captureTagName() }))), (B = 12))
+ : '>' === s
+ ? ((V = new MO(__assign(__assign({}, V), { name: captureTagName() }))),
+ emitTagAndPreviousTextNode())
+ : XC.test(s) || ZC.test(s) || ':' === s || resetToDataState();
+ }
+ function stateEndTagOpen(s) {
+ '>' === s ? resetToDataState() : XC.test(s) ? (B = 3) : resetToDataState();
+ }
+ function stateBeforeAttributeName(s) {
+ eO.test(s) ||
+ ('/' === s
+ ? (B = 12)
+ : '>' === s
+ ? emitTagAndPreviousTextNode()
+ : '<' === s
+ ? startNewTag()
+ : '=' === s || tO.test(s) || rO.test(s)
+ ? resetToDataState()
+ : (B = 5));
+ }
+ function stateAttributeName(s) {
+ eO.test(s)
+ ? (B = 6)
+ : '/' === s
+ ? (B = 12)
+ : '=' === s
+ ? (B = 7)
+ : '>' === s
+ ? emitTagAndPreviousTextNode()
+ : '<' === s
+ ? startNewTag()
+ : tO.test(s) && resetToDataState();
+ }
+ function stateAfterAttributeName(s) {
+ eO.test(s) ||
+ ('/' === s
+ ? (B = 12)
+ : '=' === s
+ ? (B = 7)
+ : '>' === s
+ ? emitTagAndPreviousTextNode()
+ : '<' === s
+ ? startNewTag()
+ : tO.test(s)
+ ? resetToDataState()
+ : (B = 5));
+ }
+ function stateBeforeAttributeValue(s) {
+ eO.test(s) ||
+ ('"' === s
+ ? (B = 8)
+ : "'" === s
+ ? (B = 9)
+ : /[>=`]/.test(s)
+ ? resetToDataState()
+ : '<' === s
+ ? startNewTag()
+ : (B = 10));
+ }
+ function stateAttributeValueDoubleQuoted(s) {
+ '"' === s && (B = 11);
+ }
+ function stateAttributeValueSingleQuoted(s) {
+ "'" === s && (B = 11);
+ }
+ function stateAttributeValueUnquoted(s) {
+ eO.test(s)
+ ? (B = 4)
+ : '>' === s
+ ? emitTagAndPreviousTextNode()
+ : '<' === s && startNewTag();
+ }
+ function stateAfterAttributeValueQuoted(s) {
+ eO.test(s)
+ ? (B = 4)
+ : '/' === s
+ ? (B = 12)
+ : '>' === s
+ ? emitTagAndPreviousTextNode()
+ : '<' === s
+ ? startNewTag()
+ : ((B = 4),
+ (function reconsumeCurrentCharacter() {
+ j--;
+ })());
+ }
+ function stateSelfClosingStartTag(s) {
+ '>' === s
+ ? ((V = new MO(__assign(__assign({}, V), { isClosing: !0 }))),
+ emitTagAndPreviousTextNode())
+ : (B = 4);
+ }
+ function stateMarkupDeclarationOpen(o) {
+ '--' === s.substr(j, 2)
+ ? ((j += 2), (V = new MO(__assign(__assign({}, V), { type: 'comment' }))), (B = 14))
+ : 'DOCTYPE' === s.substr(j, 7).toUpperCase()
+ ? ((j += 7), (V = new MO(__assign(__assign({}, V), { type: 'doctype' }))), (B = 20))
+ : resetToDataState();
+ }
+ function stateCommentStart(s) {
+ '-' === s ? (B = 15) : '>' === s ? resetToDataState() : (B = 16);
+ }
+ function stateCommentStartDash(s) {
+ '-' === s ? (B = 18) : '>' === s ? resetToDataState() : (B = 16);
+ }
+ function stateComment(s) {
+ '-' === s && (B = 17);
+ }
+ function stateCommentEndDash(s) {
+ B = '-' === s ? 18 : 16;
+ }
+ function stateCommentEnd(s) {
+ '>' === s ? emitTagAndPreviousTextNode() : '!' === s ? (B = 19) : '-' === s || (B = 16);
+ }
+ function stateCommentEndBang(s) {
+ '-' === s ? (B = 17) : '>' === s ? emitTagAndPreviousTextNode() : (B = 16);
+ }
+ function stateDoctype(s) {
+ '>' === s ? emitTagAndPreviousTextNode() : '<' === s && startNewTag();
+ }
+ function resetToDataState() {
+ (B = 0), (V = C);
+ }
+ function startNewTag() {
+ (B = 1), (V = new MO({ idx: j }));
+ }
+ function emitTagAndPreviousTextNode() {
+ var o = s.slice($, V.idx);
+ o && _(o, $),
+ 'comment' === V.type
+ ? w(V.idx)
+ : 'doctype' === V.type
+ ? x(V.idx)
+ : (V.isOpening && i(V.name, V.idx), V.isClosing && u(V.name, V.idx)),
+ resetToDataState(),
+ ($ = j + 1);
+ }
+ function captureTagName() {
+ var o = V.idx + (V.isClosing ? 2 : 1);
+ return s.slice(o, j).toLowerCase();
+ }
+ $ < j &&
+ (function emitText() {
+ var o = s.slice($, j);
+ _(o, $), ($ = j + 1);
+ })();
+ }
+ var MO = function MO(s) {
+ void 0 === s && (s = {}),
+ (this.idx = void 0 !== s.idx ? s.idx : -1),
+ (this.type = s.type || 'tag'),
+ (this.name = s.name || ''),
+ (this.isOpening = !!s.isOpening),
+ (this.isClosing = !!s.isClosing);
+ },
+ TO = (function () {
+ function Autolinker(s) {
+ void 0 === s && (s = {}),
+ (this.version = Autolinker.version),
+ (this.urls = {}),
+ (this.email = !0),
+ (this.phone = !0),
+ (this.hashtag = !1),
+ (this.mention = !1),
+ (this.newWindow = !0),
+ (this.stripPrefix = { scheme: !0, www: !0 }),
+ (this.stripTrailingSlash = !0),
+ (this.decodePercentEncoding = !0),
+ (this.truncate = { length: 0, location: 'end' }),
+ (this.className = ''),
+ (this.replaceFn = null),
+ (this.context = void 0),
+ (this.sanitizeHtml = !1),
+ (this.matchers = null),
+ (this.tagBuilder = null),
+ (this.urls = this.normalizeUrlsCfg(s.urls)),
+ (this.email = 'boolean' == typeof s.email ? s.email : this.email),
+ (this.phone = 'boolean' == typeof s.phone ? s.phone : this.phone),
+ (this.hashtag = s.hashtag || this.hashtag),
+ (this.mention = s.mention || this.mention),
+ (this.newWindow = 'boolean' == typeof s.newWindow ? s.newWindow : this.newWindow),
+ (this.stripPrefix = this.normalizeStripPrefixCfg(s.stripPrefix)),
+ (this.stripTrailingSlash =
+ 'boolean' == typeof s.stripTrailingSlash
+ ? s.stripTrailingSlash
+ : this.stripTrailingSlash),
+ (this.decodePercentEncoding =
+ 'boolean' == typeof s.decodePercentEncoding
+ ? s.decodePercentEncoding
+ : this.decodePercentEncoding),
+ (this.sanitizeHtml = s.sanitizeHtml || !1);
+ var o = this.mention;
+ if (!1 !== o && -1 === ['twitter', 'instagram', 'soundcloud', 'tiktok'].indexOf(o))
+ throw new Error("invalid `mention` cfg '".concat(o, "' - see docs"));
+ var i = this.hashtag;
+ if (!1 !== i && -1 === SO.indexOf(i))
+ throw new Error("invalid `hashtag` cfg '".concat(i, "' - see docs"));
+ (this.truncate = this.normalizeTruncateCfg(s.truncate)),
+ (this.className = s.className || this.className),
+ (this.replaceFn = s.replaceFn || this.replaceFn),
+ (this.context = s.context || this);
+ }
+ return (
+ (Autolinker.link = function (s, o) {
+ return new Autolinker(o).link(s);
+ }),
+ (Autolinker.parse = function (s, o) {
+ return new Autolinker(o).parse(s);
+ }),
+ (Autolinker.prototype.normalizeUrlsCfg = function (s) {
+ return (
+ null == s && (s = !0),
+ 'boolean' == typeof s
+ ? { schemeMatches: s, wwwMatches: s, tldMatches: s }
+ : {
+ schemeMatches: 'boolean' != typeof s.schemeMatches || s.schemeMatches,
+ wwwMatches: 'boolean' != typeof s.wwwMatches || s.wwwMatches,
+ tldMatches: 'boolean' != typeof s.tldMatches || s.tldMatches
+ }
+ );
+ }),
+ (Autolinker.prototype.normalizeStripPrefixCfg = function (s) {
+ return (
+ null == s && (s = !0),
+ 'boolean' == typeof s
+ ? { scheme: s, www: s }
+ : {
+ scheme: 'boolean' != typeof s.scheme || s.scheme,
+ www: 'boolean' != typeof s.www || s.www
+ }
+ );
+ }),
+ (Autolinker.prototype.normalizeTruncateCfg = function (s) {
+ return 'number' == typeof s
+ ? { length: s, location: 'end' }
+ : (function defaults(s, o) {
+ for (var i in o) o.hasOwnProperty(i) && void 0 === s[i] && (s[i] = o[i]);
+ return s;
+ })(s || {}, { length: Number.POSITIVE_INFINITY, location: 'end' });
+ }),
+ (Autolinker.prototype.parse = function (s) {
+ var o = this,
+ i = ['a', 'style', 'script'],
+ u = 0,
+ _ = [];
+ return (
+ parseHtml(s, {
+ onOpenTag: function (s) {
+ i.indexOf(s) >= 0 && u++;
+ },
+ onText: function (s, i) {
+ if (0 === u) {
+ var w = (function splitAndCapture(s, o) {
+ if (!o.global)
+ throw new Error("`splitRegex` must have the 'g' flag set");
+ for (var i, u = [], _ = 0; (i = o.exec(s)); )
+ u.push(s.substring(_, i.index)),
+ u.push(i[0]),
+ (_ = i.index + i[0].length);
+ return u.push(s.substring(_)), u;
+ })(s, /( | |<|<|>|>|"|"|')/gi),
+ x = i;
+ w.forEach(function (s, i) {
+ if (i % 2 == 0) {
+ var u = o.parseText(s, x);
+ _.push.apply(_, u);
+ }
+ x += s.length;
+ });
+ }
+ },
+ onCloseTag: function (s) {
+ i.indexOf(s) >= 0 && (u = Math.max(u - 1, 0));
+ },
+ onComment: function (s) {},
+ onDoctype: function (s) {}
+ }),
+ (_ = this.compactMatches(_)),
+ (_ = this.removeUnwantedMatches(_))
+ );
+ }),
+ (Autolinker.prototype.compactMatches = function (s) {
+ s.sort(function (s, o) {
+ return s.getOffset() - o.getOffset();
+ });
+ for (var o = 0; o < s.length - 1; ) {
+ var i = s[o],
+ u = i.getOffset(),
+ _ = i.getMatchedText().length,
+ w = u + _;
+ if (o + 1 < s.length) {
+ if (s[o + 1].getOffset() === u) {
+ var x = s[o + 1].getMatchedText().length > _ ? o : o + 1;
+ s.splice(x, 1);
+ continue;
+ }
+ if (s[o + 1].getOffset() < w) {
+ s.splice(o + 1, 1);
+ continue;
+ }
+ }
+ o++;
+ }
+ return s;
+ }),
+ (Autolinker.prototype.removeUnwantedMatches = function (s) {
+ return (
+ this.hashtag ||
+ utils_remove(s, function (s) {
+ return 'hashtag' === s.getType();
+ }),
+ this.email ||
+ utils_remove(s, function (s) {
+ return 'email' === s.getType();
+ }),
+ this.phone ||
+ utils_remove(s, function (s) {
+ return 'phone' === s.getType();
+ }),
+ this.mention ||
+ utils_remove(s, function (s) {
+ return 'mention' === s.getType();
+ }),
+ this.urls.schemeMatches ||
+ utils_remove(s, function (s) {
+ return 'url' === s.getType() && 'scheme' === s.getUrlMatchType();
+ }),
+ this.urls.wwwMatches ||
+ utils_remove(s, function (s) {
+ return 'url' === s.getType() && 'www' === s.getUrlMatchType();
+ }),
+ this.urls.tldMatches ||
+ utils_remove(s, function (s) {
+ return 'url' === s.getType() && 'tld' === s.getUrlMatchType();
+ }),
+ s
+ );
+ }),
+ (Autolinker.prototype.parseText = function (s, o) {
+ void 0 === o && (o = 0), (o = o || 0);
+ for (var i = this.getMatchers(), u = [], _ = 0, w = i.length; _ < w; _++) {
+ for (var x = i[_].parseMatches(s), C = 0, j = x.length; C < j; C++)
+ x[C].setOffset(o + x[C].getOffset());
+ u.push.apply(u, x);
+ }
+ return u;
+ }),
+ (Autolinker.prototype.link = function (s) {
+ if (!s) return '';
+ this.sanitizeHtml && (s = s.replace(//g, '>'));
+ for (var o = this.parse(s), i = [], u = 0, _ = 0, w = o.length; _ < w; _++) {
+ var x = o[_];
+ i.push(s.substring(u, x.getOffset())),
+ i.push(this.createMatchReturnVal(x)),
+ (u = x.getOffset() + x.getMatchedText().length);
+ }
+ return i.push(s.substring(u)), i.join('');
+ }),
+ (Autolinker.prototype.createMatchReturnVal = function (s) {
+ var o;
+ return (
+ this.replaceFn && (o = this.replaceFn.call(this.context, s)),
+ 'string' == typeof o
+ ? o
+ : !1 === o
+ ? s.getMatchedText()
+ : o instanceof $C
+ ? o.toAnchorString()
+ : s.buildTag().toAnchorString()
+ );
+ }),
+ (Autolinker.prototype.getMatchers = function () {
+ if (this.matchers) return this.matchers;
+ var s = this.getTagBuilder(),
+ o = [
+ new wO({ tagBuilder: s, serviceName: this.hashtag }),
+ new mO({ tagBuilder: s }),
+ new kO({ tagBuilder: s }),
+ new PO({ tagBuilder: s, serviceName: this.mention }),
+ new _O({
+ tagBuilder: s,
+ stripPrefix: this.stripPrefix,
+ stripTrailingSlash: this.stripTrailingSlash,
+ decodePercentEncoding: this.decodePercentEncoding
+ })
+ ];
+ return (this.matchers = o);
+ }),
+ (Autolinker.prototype.getTagBuilder = function () {
+ var s = this.tagBuilder;
+ return (
+ s ||
+ (s = this.tagBuilder =
+ new VC({
+ newWindow: this.newWindow,
+ truncate: this.truncate,
+ className: this.className
+ })),
+ s
+ );
+ }),
+ (Autolinker.version = '3.16.2'),
+ (Autolinker.AnchorTagBuilder = VC),
+ (Autolinker.HtmlTag = $C),
+ (Autolinker.matcher = {
+ Email: mO,
+ Hashtag: wO,
+ Matcher: YC,
+ Mention: PO,
+ Phone: kO,
+ Url: _O
+ }),
+ (Autolinker.match = {
+ Email: WC,
+ Hashtag: KC,
+ Match: UC,
+ Mention: HC,
+ Phone: JC,
+ Url: GC
+ }),
+ Autolinker
+ );
+ })();
+ const NO = TO;
+ var RO = /www|@|\:\/\//;
+ function isLinkOpen(s) {
+ return /^\s]/i.test(s);
+ }
+ function isLinkClose(s) {
+ return /^<\/a\s*>/i.test(s);
+ }
+ function createLinkifier() {
+ var s = [],
+ o = new NO({
+ stripPrefix: !1,
+ url: !0,
+ email: !0,
+ replaceFn: function (o) {
+ switch (o.getType()) {
+ case 'url':
+ s.push({ text: o.matchedText, url: o.getUrl() });
+ break;
+ case 'email':
+ s.push({
+ text: o.matchedText,
+ url: 'mailto:' + o.getEmail().replace(/^mailto:/i, '')
+ });
+ }
+ return !1;
+ }
+ });
+ return { links: s, autolinker: o };
+ }
+ function parseTokens(s) {
+ var o,
+ i,
+ u,
+ _,
+ w,
+ x,
+ C,
+ j,
+ L,
+ B,
+ $,
+ V,
+ U,
+ z = s.tokens,
+ Y = null;
+ for (i = 0, u = z.length; i < u; i++)
+ if ('inline' === z[i].type)
+ for ($ = 0, o = (_ = z[i].children).length - 1; o >= 0; o--)
+ if ('link_close' !== (w = _[o]).type) {
+ if (
+ ('htmltag' === w.type &&
+ (isLinkOpen(w.content) && $ > 0 && $--, isLinkClose(w.content) && $++),
+ !($ > 0) && 'text' === w.type && RO.test(w.content))
+ ) {
+ if (
+ (Y || ((V = (Y = createLinkifier()).links), (U = Y.autolinker)),
+ (x = w.content),
+ (V.length = 0),
+ U.link(x),
+ !V.length)
+ )
+ continue;
+ for (C = [], B = w.level, j = 0; j < V.length; j++)
+ s.inline.validateLink(V[j].url) &&
+ ((L = x.indexOf(V[j].text)) &&
+ C.push({ type: 'text', content: x.slice(0, L), level: B }),
+ C.push({ type: 'link_open', href: V[j].url, title: '', level: B++ }),
+ C.push({ type: 'text', content: V[j].text, level: B }),
+ C.push({ type: 'link_close', level: --B }),
+ (x = x.slice(L + V[j].text.length)));
+ x.length && C.push({ type: 'text', content: x, level: B }),
+ (z[i].children = _ = [].concat(_.slice(0, o), C, _.slice(o + 1)));
+ }
+ } else for (o--; _[o].level !== w.level && 'link_open' !== _[o].type; ) o--;
+ }
+ function linkify(s) {
+ s.core.ruler.push('linkify', parseTokens);
+ }
+ var DO = __webpack_require__(42838),
+ LO = __webpack_require__.n(DO);
+ LO().addHook &&
+ LO().addHook('beforeSanitizeElements', function (s) {
+ return s.href && s.setAttribute('rel', 'noopener noreferrer'), s;
+ });
+ const BO = function Markdown({
+ source: s,
+ className: o = '',
+ getConfigs: i = () => ({ useUnsafeMarkdown: !1 })
+ }) {
+ if ('string' != typeof s) return null;
+ const u = new Remarkable({
+ html: !0,
+ typographer: !0,
+ breaks: !0,
+ linkTarget: '_blank'
+ }).use(linkify);
+ u.core.ruler.disable(['replacements', 'smartquotes']);
+ const { useUnsafeMarkdown: _ } = i(),
+ w = u.render(s),
+ x = sanitizer(w, { useUnsafeMarkdown: _ });
+ return s && w && x
+ ? Pe.createElement('div', {
+ className: Hn()(o, 'markdown'),
+ dangerouslySetInnerHTML: { __html: x }
+ })
+ : null;
+ };
+ function sanitizer(s, { useUnsafeMarkdown: o = !1 } = {}) {
+ const i = o,
+ u = o ? [] : ['style', 'class'];
+ return (
+ o &&
+ !sanitizer.hasWarnedAboutDeprecation &&
+ (console.warn(
+ 'useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0.'
+ ),
+ (sanitizer.hasWarnedAboutDeprecation = !0)),
+ LO().sanitize(s, {
+ ADD_ATTR: ['target'],
+ FORBID_TAGS: ['style', 'form'],
+ ALLOW_DATA_ATTR: i,
+ FORBID_ATTR: u
+ })
+ );
+ }
+ sanitizer.hasWarnedAboutDeprecation = !1;
+ class BaseLayout extends Pe.Component {
+ render() {
+ const { errSelectors: s, specSelectors: o, getComponent: i } = this.props,
+ u = i('SvgAssets'),
+ _ = i('InfoContainer', !0),
+ w = i('VersionPragmaFilter'),
+ x = i('operations', !0),
+ C = i('Models', !0),
+ j = i('Webhooks', !0),
+ L = i('Row'),
+ B = i('Col'),
+ $ = i('errors', !0),
+ V = i('ServersContainer', !0),
+ U = i('SchemesContainer', !0),
+ z = i('AuthorizeBtnContainer', !0),
+ Y = i('FilterContainer', !0),
+ Z = o.isSwagger2(),
+ ee = o.isOAS3(),
+ ie = o.isOAS31(),
+ ae = !o.specStr(),
+ le = o.loadingStatus();
+ let ce = null;
+ if (
+ ('loading' === le &&
+ (ce = Pe.createElement(
+ 'div',
+ { className: 'info' },
+ Pe.createElement(
+ 'div',
+ { className: 'loading-container' },
+ Pe.createElement('div', { className: 'loading' })
+ )
+ )),
+ 'failed' === le &&
+ (ce = Pe.createElement(
+ 'div',
+ { className: 'info' },
+ Pe.createElement(
+ 'div',
+ { className: 'loading-container' },
+ Pe.createElement(
+ 'h4',
+ { className: 'title' },
+ 'Failed to load API definition.'
+ ),
+ Pe.createElement($, null)
+ )
+ )),
+ 'failedConfig' === le)
+ ) {
+ const o = s.lastError(),
+ i = o ? o.get('message') : '';
+ ce = Pe.createElement(
+ 'div',
+ { className: 'info failed-config' },
+ Pe.createElement(
+ 'div',
+ { className: 'loading-container' },
+ Pe.createElement(
+ 'h4',
+ { className: 'title' },
+ 'Failed to load remote configuration.'
+ ),
+ Pe.createElement('p', null, i)
+ )
+ );
+ }
+ if (
+ (!ce && ae && (ce = Pe.createElement('h4', null, 'No API definition provided.')), ce)
+ )
+ return Pe.createElement(
+ 'div',
+ { className: 'swagger-ui' },
+ Pe.createElement('div', { className: 'loading-container' }, ce)
+ );
+ const pe = o.servers(),
+ de = o.schemes(),
+ fe = pe && pe.size,
+ ye = de && de.size,
+ be = !!o.securityDefinitions();
+ return Pe.createElement(
+ 'div',
+ { className: 'swagger-ui' },
+ Pe.createElement(u, null),
+ Pe.createElement(
+ w,
+ { isSwagger2: Z, isOAS3: ee, alsoShow: Pe.createElement($, null) },
+ Pe.createElement($, null),
+ Pe.createElement(
+ L,
+ { className: 'information-container' },
+ Pe.createElement(B, { mobile: 12 }, Pe.createElement(_, null))
+ ),
+ fe || ye || be
+ ? Pe.createElement(
+ 'div',
+ { className: 'scheme-container' },
+ Pe.createElement(
+ B,
+ { className: 'schemes wrapper', mobile: 12 },
+ fe || ye
+ ? Pe.createElement(
+ 'div',
+ { className: 'schemes-server-container' },
+ fe ? Pe.createElement(V, null) : null,
+ ye ? Pe.createElement(U, null) : null
+ )
+ : null,
+ be ? Pe.createElement(z, null) : null
+ )
+ )
+ : null,
+ Pe.createElement(Y, null),
+ Pe.createElement(
+ L,
+ null,
+ Pe.createElement(B, { mobile: 12, desktop: 12 }, Pe.createElement(x, null))
+ ),
+ ie &&
+ Pe.createElement(
+ L,
+ { className: 'webhooks-container' },
+ Pe.createElement(B, { mobile: 12, desktop: 12 }, Pe.createElement(j, null))
+ ),
+ Pe.createElement(
+ L,
+ null,
+ Pe.createElement(B, { mobile: 12, desktop: 12 }, Pe.createElement(C, null))
+ )
+ )
+ );
+ }
+ }
+ const core_components = () => ({
+ components: {
+ App: fk,
+ authorizationPopup: AuthorizationPopup,
+ authorizeBtn: AuthorizeBtn,
+ AuthorizeBtnContainer,
+ authorizeOperationBtn: AuthorizeOperationBtn,
+ auths: Auths,
+ AuthItem: auth_item_Auths,
+ authError: AuthError,
+ oauth2: Oauth2,
+ apiKeyAuth: ApiKeyAuth,
+ basicAuth: BasicAuth,
+ clear: Clear,
+ liveResponse: LiveResponse,
+ InitializedInput,
+ info: qk,
+ InfoContainer,
+ InfoUrl,
+ InfoBasePath,
+ Contact: Vk,
+ License: zk,
+ JumpToPath,
+ CopyToClipboardBtn,
+ onlineValidatorBadge: OnlineValidatorBadge,
+ operations: Operations,
+ operation: operation_Operation,
+ OperationSummary,
+ OperationSummaryMethod,
+ OperationSummaryPath,
+ responses: responses_Responses,
+ response: response_Response,
+ ResponseExtension: response_extension,
+ responseBody: ResponseBody,
+ parameters: Parameters,
+ parameterRow: ParameterRow,
+ execute: Execute,
+ headers: headers_Headers,
+ errors: Errors,
+ contentType: ContentType,
+ overview: Overview,
+ footer: Footer,
+ FilterContainer,
+ ParamBody,
+ curl: Curl,
+ Property: property,
+ TryItOutButton,
+ Markdown: BO,
+ BaseLayout,
+ VersionPragmaFilter,
+ VersionStamp: version_stamp,
+ OperationExt: operation_extensions,
+ OperationExtRow: operation_extension_row,
+ ParameterExt: parameter_extension,
+ ParameterIncludeEmpty,
+ OperationTag,
+ OperationContainer,
+ OpenAPIVersion: openapi_version,
+ DeepLink: deep_link,
+ SvgAssets: svg_assets,
+ Example: example_Example,
+ ExamplesSelect,
+ ExamplesSelectValueRetainer
+ }
+ }),
+ form_components = () => ({ components: { ...ye } }),
+ base = () => [
+ configsPlugin,
+ util,
+ logs,
+ view,
+ view_legacy,
+ plugins_spec,
+ err,
+ icons,
+ plugins_layout,
+ json_schema_5,
+ json_schema_5_samples,
+ core_components,
+ form_components,
+ swagger_client,
+ auth,
+ downloadUrlPlugin,
+ deep_linking,
+ filter,
+ on_complete,
+ plugins_request_snippets,
+ syntax_highlighting,
+ versions,
+ safe_render()
+ ],
+ FO = (0, qe.Map)();
+ function onlyOAS3(s) {
+ return (o, i) =>
+ (...u) => {
+ if (i.getSystem().specSelectors.isOAS3()) {
+ const o = s(...u);
+ return 'function' == typeof o ? o(i) : o;
+ }
+ return o(...u);
+ };
+ }
+ const qO = onlyOAS3(Ss()(null)),
+ $O = onlyOAS3((s, o) => (s) => s.getSystem().specSelectors.findSchema(o)),
+ VO = onlyOAS3(() => (s) => {
+ const o = s.getSystem().specSelectors.specJson().getIn(['components', 'schemas']);
+ return qe.Map.isMap(o) ? o : FO;
+ }),
+ UO = onlyOAS3(() => (s) => s.getSystem().specSelectors.specJson().hasIn(['servers', 0])),
+ zO = onlyOAS3(Ut(Ms, (s) => s.getIn(['components', 'securitySchemes']) || null)),
+ wrap_selectors_validOperationMethods =
+ (s, o) =>
+ (i, ...u) =>
+ o.specSelectors.isOAS3() ? o.oas3Selectors.validOperationMethods() : s(...u),
+ WO = qO,
+ KO = qO,
+ HO = qO,
+ JO = qO,
+ GO = qO;
+ const YO = (function wrap_selectors_onlyOAS3(s) {
+ return (o, i) =>
+ (...u) => {
+ if (i.getSystem().specSelectors.isOAS3()) {
+ let o = i
+ .getState()
+ .getIn(['spec', 'resolvedSubtrees', 'components', 'securitySchemes']);
+ return s(i, o, ...u);
+ }
+ return o(...u);
+ };
+ })(
+ Ut(
+ (s) => s,
+ ({ specSelectors: s }) => s.securityDefinitions(),
+ (s, o) => {
+ let i = (0, qe.List)();
+ return o
+ ? (o.entrySeq().forEach(([s, o]) => {
+ const u = o.get('type');
+ if (
+ ('oauth2' === u &&
+ o
+ .get('flows')
+ .entrySeq()
+ .forEach(([u, _]) => {
+ let w = (0, qe.fromJS)({
+ flow: u,
+ authorizationUrl: _.get('authorizationUrl'),
+ tokenUrl: _.get('tokenUrl'),
+ scopes: _.get('scopes'),
+ type: o.get('type'),
+ description: o.get('description')
+ });
+ i = i.push(new qe.Map({ [s]: w.filter((s) => void 0 !== s) }));
+ }),
+ ('http' !== u && 'apiKey' !== u) || (i = i.push(new qe.Map({ [s]: o }))),
+ 'openIdConnect' === u && o.get('openIdConnectData'))
+ ) {
+ let u = o.get('openIdConnectData');
+ (
+ u.get('grant_types_supported') || ['authorization_code', 'implicit']
+ ).forEach((_) => {
+ let w =
+ u.get('scopes_supported') &&
+ u.get('scopes_supported').reduce((s, o) => s.set(o, ''), new qe.Map()),
+ x = (0, qe.fromJS)({
+ flow: _,
+ authorizationUrl: u.get('authorization_endpoint'),
+ tokenUrl: u.get('token_endpoint'),
+ scopes: w,
+ type: 'oauth2',
+ openIdConnectUrl: o.get('openIdConnectUrl')
+ });
+ i = i.push(new qe.Map({ [s]: x.filter((s) => void 0 !== s) }));
+ });
+ }
+ }),
+ i)
+ : i;
+ }
+ )
+ );
+ function OAS3ComponentWrapFactory(s) {
+ return (o, i) => (u) =>
+ 'function' == typeof i.specSelectors?.isOAS3
+ ? i.specSelectors.isOAS3()
+ ? Pe.createElement(s, Rn()({}, u, i, { Ori: o }))
+ : Pe.createElement(o, u)
+ : (console.warn("OAS3 wrapper: couldn't get spec"), null);
+ }
+ const XO = (0, qe.Map)(),
+ selectors_isSwagger2 = () => (s) =>
+ (function isSwagger2(s) {
+ const o = s.get('swagger');
+ return 'string' == typeof o && '2.0' === o;
+ })(s.getSystem().specSelectors.specJson()),
+ selectors_isOAS30 = () => (s) =>
+ (function isOAS30(s) {
+ const o = s.get('openapi');
+ return 'string' == typeof o && /^3\.0\.([0123])(?:-rc[012])?$/.test(o);
+ })(s.getSystem().specSelectors.specJson()),
+ selectors_isOAS3 = () => (s) => s.getSystem().specSelectors.isOAS30();
+ function selectors_onlyOAS3(s) {
+ return (o, ...i) =>
+ (u) => {
+ if (u.specSelectors.isOAS3()) {
+ const _ = s(o, ...i);
+ return 'function' == typeof _ ? _(u) : _;
+ }
+ return null;
+ };
+ }
+ const ZO = selectors_onlyOAS3(() => (s) => s.specSelectors.specJson().get('servers', XO)),
+ findSchema = (s, o) => {
+ const i = s.getIn(['resolvedSubtrees', 'components', 'schemas', o], null),
+ u = s.getIn(['json', 'components', 'schemas', o], null);
+ return i || u || null;
+ },
+ QO = selectors_onlyOAS3((s, { callbacks: o, specPath: i }) => (s) => {
+ const u = s.specSelectors.validOperationMethods();
+ return qe.Map.isMap(o)
+ ? o
+ .reduce(
+ (s, o, _) => {
+ if (!qe.Map.isMap(o)) return s;
+ const w = o.reduce(
+ (s, o, w) => {
+ if (!qe.Map.isMap(o)) return s;
+ const x = o
+ .entrySeq()
+ .filter(([s]) => u.includes(s))
+ .map(([s, o]) => ({
+ operation: (0, qe.Map)({ operation: o }),
+ method: s,
+ path: w,
+ callbackName: _,
+ specPath: i.concat([_, w, s])
+ }));
+ return s.concat(x);
+ },
+ (0, qe.List)()
+ );
+ return s.concat(w);
+ },
+ (0, qe.List)()
+ )
+ .groupBy((s) => s.callbackName)
+ .map((s) => s.toArray())
+ .toObject()
+ : {};
+ }),
+ callbacks = ({ callbacks: s, specPath: o, specSelectors: i, getComponent: u }) => {
+ const _ = i.callbacksOperations({ callbacks: s, specPath: o }),
+ w = Object.keys(_),
+ x = u('OperationContainer', !0);
+ return 0 === w.length
+ ? Pe.createElement('span', null, 'No callbacks')
+ : Pe.createElement(
+ 'div',
+ null,
+ w.map((s) =>
+ Pe.createElement(
+ 'div',
+ { key: `${s}` },
+ Pe.createElement('h2', null, s),
+ _[s].map((o) =>
+ Pe.createElement(x, {
+ key: `${s}-${o.path}-${o.method}`,
+ op: o.operation,
+ tag: 'callbacks',
+ method: o.method,
+ path: o.path,
+ specPath: o.specPath,
+ allowTryItOut: !1
+ })
+ )
+ )
+ )
+ );
+ },
+ getDefaultRequestBodyValue = (s, o, i, u) => {
+ const _ = s.getIn(['content', o]) ?? (0, qe.OrderedMap)(),
+ w = _.get('schema', (0, qe.OrderedMap)()).toJS(),
+ x = void 0 !== _.get('examples'),
+ C = _.get('example'),
+ j = x ? _.getIn(['examples', i, 'value']) : C;
+ return stringify(u.getSampleSchema(w, o, { includeWriteOnly: !0 }, j));
+ },
+ components_request_body = ({
+ userHasEditedBody: s,
+ requestBody: o,
+ requestBodyValue: i,
+ requestBodyInclusionSetting: u,
+ requestBodyErrors: _,
+ getComponent: w,
+ getConfigs: x,
+ specSelectors: C,
+ fn: j,
+ contentType: L,
+ isExecute: B,
+ specPath: $,
+ onChange: V,
+ onChangeIncludeEmpty: U,
+ activeExamplesKey: z,
+ updateActiveExamplesKey: Y,
+ setRetainRequestBodyValueFlag: Z
+ }) => {
+ const handleFile = (s) => {
+ V(s.target.files[0]);
+ },
+ setIsIncludedOptions = (s) => {
+ let o = { key: s, shouldDispatchInit: !1, defaultValue: !0 };
+ return 'no value' === u.get(s, 'no value') && (o.shouldDispatchInit = !0), o;
+ },
+ ee = w('Markdown', !0),
+ ie = w('modelExample'),
+ ae = w('RequestBodyEditor'),
+ le = w('HighlightCode', !0),
+ ce = w('ExamplesSelectValueRetainer'),
+ pe = w('Example'),
+ de = w('ParameterIncludeEmpty'),
+ { showCommonExtensions: fe } = x(),
+ ye = o?.get('description') ?? null,
+ be = o?.get('content') ?? new qe.OrderedMap();
+ L = L || be.keySeq().first() || '';
+ const _e = be.get(L) ?? (0, qe.OrderedMap)(),
+ we = _e.get('schema', (0, qe.OrderedMap)()),
+ Se = _e.get('examples', null),
+ xe = Se?.map((s, i) => {
+ const u = s?.get('value', null);
+ return u && (s = s.set('value', getDefaultRequestBodyValue(o, L, i, j), u)), s;
+ });
+ if (((_ = qe.List.isList(_) ? _ : (0, qe.List)()), !_e.size)) return null;
+ const Te = 'object' === _e.getIn(['schema', 'type']),
+ Re = 'binary' === _e.getIn(['schema', 'format']),
+ $e = 'base64' === _e.getIn(['schema', 'format']);
+ if (
+ 'application/octet-stream' === L ||
+ 0 === L.indexOf('image/') ||
+ 0 === L.indexOf('audio/') ||
+ 0 === L.indexOf('video/') ||
+ Re ||
+ $e
+ ) {
+ const s = w('Input');
+ return B
+ ? Pe.createElement(s, { type: 'file', onChange: handleFile })
+ : Pe.createElement(
+ 'i',
+ null,
+ 'Example values are not available for ',
+ Pe.createElement('code', null, L),
+ ' media types.'
+ );
+ }
+ if (
+ Te &&
+ ('application/x-www-form-urlencoded' === L || 0 === L.indexOf('multipart/')) &&
+ we.get('properties', (0, qe.OrderedMap)()).size > 0
+ ) {
+ const s = w('JsonSchemaForm'),
+ o = w('ParameterExt'),
+ x = we.get('properties', (0, qe.OrderedMap)());
+ return (
+ (i = qe.Map.isMap(i) ? i : (0, qe.OrderedMap)()),
+ Pe.createElement(
+ 'div',
+ { className: 'table-container' },
+ ye && Pe.createElement(ee, { source: ye }),
+ Pe.createElement(
+ 'table',
+ null,
+ Pe.createElement(
+ 'tbody',
+ null,
+ qe.Map.isMap(x) &&
+ x.entrySeq().map(([x, C]) => {
+ if (C.get('readOnly')) return;
+ const L = C.get('oneOf')?.get(0)?.toJS(),
+ $ = C.get('anyOf')?.get(0)?.toJS();
+ C = (0, qe.fromJS)(j.mergeJsonSchema(C.toJS(), L ?? $ ?? {}));
+ let z = fe ? getCommonExtensions(C) : null;
+ const Y = we.get('required', (0, qe.List)()).includes(x),
+ Z = C.get('type'),
+ ie = C.get('format'),
+ ae = C.get('description'),
+ le = i.getIn([x, 'value']),
+ ce = i.getIn([x, 'errors']) || _,
+ pe = u.get(x) || !1;
+ let ye = j.getSampleSchema(C, !1, { includeWriteOnly: !0 });
+ !1 === ye && (ye = 'false'),
+ 0 === ye && (ye = '0'),
+ 'string' != typeof ye && 'object' === Z && (ye = stringify(ye)),
+ 'string' == typeof ye && 'array' === Z && (ye = JSON.parse(ye));
+ const be = 'string' === Z && ('binary' === ie || 'base64' === ie);
+ return Pe.createElement(
+ 'tr',
+ { key: x, className: 'parameters', 'data-property-name': x },
+ Pe.createElement(
+ 'td',
+ { className: 'parameters-col_name' },
+ Pe.createElement(
+ 'div',
+ { className: Y ? 'parameter__name required' : 'parameter__name' },
+ x,
+ Y ? Pe.createElement('span', null, ' *') : null
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'parameter__type' },
+ Z,
+ ie &&
+ Pe.createElement(
+ 'span',
+ { className: 'prop-format' },
+ '($',
+ ie,
+ ')'
+ ),
+ fe && z.size
+ ? z
+ .entrySeq()
+ .map(([s, i]) =>
+ Pe.createElement(o, { key: `${s}-${i}`, xKey: s, xVal: i })
+ )
+ : null
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'parameter__deprecated' },
+ C.get('deprecated') ? 'deprecated' : null
+ )
+ ),
+ Pe.createElement(
+ 'td',
+ { className: 'parameters-col_description' },
+ Pe.createElement(ee, { source: ae }),
+ B
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(s, {
+ fn: j,
+ dispatchInitialValue: !be,
+ schema: C,
+ description: x,
+ getComponent: w,
+ value: void 0 === le ? ye : le,
+ required: Y,
+ errors: ce,
+ onChange: (s) => {
+ V(s, [x]);
+ }
+ }),
+ Y
+ ? null
+ : Pe.createElement(de, {
+ onChange: (s) => U(x, s),
+ isIncluded: pe,
+ isIncludedOptions: setIsIncludedOptions(x),
+ isDisabled: Array.isArray(le)
+ ? 0 !== le.length
+ : !isEmptyValue(le)
+ })
+ )
+ : null
+ )
+ );
+ })
+ )
+ )
+ )
+ );
+ }
+ const ze = getDefaultRequestBodyValue(o, L, z, j);
+ let We = null;
+ return (
+ getKnownSyntaxHighlighterLanguage(ze) && (We = 'json'),
+ Pe.createElement(
+ 'div',
+ null,
+ ye && Pe.createElement(ee, { source: ye }),
+ xe
+ ? Pe.createElement(ce, {
+ userHasEditedBody: s,
+ examples: xe,
+ currentKey: z,
+ currentUserInputValue: i,
+ onSelect: (s) => {
+ Y(s);
+ },
+ updateValue: V,
+ defaultToFirstExample: !0,
+ getComponent: w,
+ setRetainRequestBodyValueFlag: Z
+ })
+ : null,
+ B
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(ae, {
+ value: i,
+ errors: _,
+ defaultValue: ze,
+ onChange: V,
+ getComponent: w
+ })
+ )
+ : Pe.createElement(ie, {
+ getComponent: w,
+ getConfigs: x,
+ specSelectors: C,
+ expandDepth: 1,
+ isExecute: B,
+ schema: _e.get('schema'),
+ specPath: $.push('content', L),
+ example: Pe.createElement(
+ le,
+ { className: 'body-param__example', language: We },
+ stringify(i) || ze
+ ),
+ includeWriteOnly: !0
+ }),
+ xe
+ ? Pe.createElement(pe, { example: xe.get(z), getComponent: w, getConfigs: x })
+ : null
+ )
+ );
+ };
+ class operation_link_OperationLink extends Pe.Component {
+ render() {
+ const { link: s, name: o, getComponent: i } = this.props,
+ u = i('Markdown', !0);
+ let _ = s.get('operationId') || s.get('operationRef'),
+ w = s.get('parameters') && s.get('parameters').toJS(),
+ x = s.get('description');
+ return Pe.createElement(
+ 'div',
+ { className: 'operation-link' },
+ Pe.createElement(
+ 'div',
+ { className: 'description' },
+ Pe.createElement('b', null, Pe.createElement('code', null, o)),
+ x ? Pe.createElement(u, { source: x }) : null
+ ),
+ Pe.createElement(
+ 'pre',
+ null,
+ 'Operation `',
+ _,
+ '`',
+ Pe.createElement('br', null),
+ Pe.createElement('br', null),
+ 'Parameters ',
+ (function padString(s, o) {
+ if ('string' != typeof o) return '';
+ return o
+ .split('\n')
+ .map((o, i) => (i > 0 ? Array(s + 1).join(' ') + o : o))
+ .join('\n');
+ })(0, JSON.stringify(w, null, 2)) || '{}',
+ Pe.createElement('br', null)
+ )
+ );
+ }
+ }
+ const eA = operation_link_OperationLink,
+ components_servers = ({
+ servers: s,
+ currentServer: o,
+ setSelectedServer: i,
+ setServerVariableValue: u,
+ getServerVariable: _,
+ getEffectiveServerValue: w
+ }) => {
+ const x =
+ (s.find((s) => s.get('url') === o) || (0, qe.OrderedMap)()).get('variables') ||
+ (0, qe.OrderedMap)(),
+ C = 0 !== x.size;
+ (0, Pe.useEffect)(() => {
+ o || i(s.first()?.get('url'));
+ }, []),
+ (0, Pe.useEffect)(() => {
+ const _ = s.find((s) => s.get('url') === o);
+ if (!_) return void i(s.first().get('url'));
+ (_.get('variables') || (0, qe.OrderedMap)()).map((s, i) => {
+ u({ server: o, key: i, val: s.get('default') || '' });
+ });
+ }, [o, s]);
+ const j = (0, Pe.useCallback)(
+ (s) => {
+ i(s.target.value);
+ },
+ [i]
+ ),
+ L = (0, Pe.useCallback)(
+ (s) => {
+ const i = s.target.getAttribute('data-variable'),
+ _ = s.target.value;
+ u({ server: o, key: i, val: _ });
+ },
+ [u, o]
+ );
+ return Pe.createElement(
+ 'div',
+ { className: 'servers' },
+ Pe.createElement(
+ 'label',
+ { htmlFor: 'servers' },
+ Pe.createElement(
+ 'select',
+ { onChange: j, value: o, id: 'servers' },
+ s
+ .valueSeq()
+ .map((s) =>
+ Pe.createElement(
+ 'option',
+ { value: s.get('url'), key: s.get('url') },
+ s.get('url'),
+ s.get('description') && ` - ${s.get('description')}`
+ )
+ )
+ .toArray()
+ )
+ ),
+ C &&
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'div',
+ { className: 'computed-url' },
+ 'Computed URL:',
+ Pe.createElement('code', null, w(o))
+ ),
+ Pe.createElement('h4', null, 'Server variables'),
+ Pe.createElement(
+ 'table',
+ null,
+ Pe.createElement(
+ 'tbody',
+ null,
+ x.entrySeq().map(([s, i]) =>
+ Pe.createElement(
+ 'tr',
+ { key: s },
+ Pe.createElement('td', null, s),
+ Pe.createElement(
+ 'td',
+ null,
+ i.get('enum')
+ ? Pe.createElement(
+ 'select',
+ { 'data-variable': s, onChange: L },
+ i
+ .get('enum')
+ .map((i) =>
+ Pe.createElement(
+ 'option',
+ { selected: i === _(o, s), key: i, value: i },
+ i
+ )
+ )
+ )
+ : Pe.createElement('input', {
+ type: 'text',
+ value: _(o, s) || '',
+ onChange: L,
+ 'data-variable': s
+ })
+ )
+ )
+ )
+ )
+ )
+ )
+ );
+ };
+ class ServersContainer extends Pe.Component {
+ render() {
+ const {
+ specSelectors: s,
+ oas3Selectors: o,
+ oas3Actions: i,
+ getComponent: u
+ } = this.props,
+ _ = s.servers(),
+ w = u('Servers');
+ return _ && _.size
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('span', { className: 'servers-title' }, 'Servers'),
+ Pe.createElement(w, {
+ servers: _,
+ currentServer: o.selectedServer(),
+ setSelectedServer: i.setSelectedServer,
+ setServerVariableValue: i.setServerVariableValue,
+ getServerVariable: o.serverVariableValue,
+ getEffectiveServerValue: o.serverEffectiveValue
+ })
+ )
+ : null;
+ }
+ }
+ const tA = Function.prototype;
+ class RequestBodyEditor extends Pe.PureComponent {
+ static defaultProps = { onChange: tA, userHasEditedBody: !1 };
+ constructor(s, o) {
+ super(s, o),
+ (this.state = { value: stringify(s.value) || s.defaultValue }),
+ s.onChange(s.value);
+ }
+ applyDefaultValue = (s) => {
+ const { onChange: o, defaultValue: i } = s || this.props;
+ return this.setState({ value: i }), o(i);
+ };
+ onChange = (s) => {
+ this.props.onChange(stringify(s));
+ };
+ onDomChange = (s) => {
+ const o = s.target.value;
+ this.setState({ value: o }, () => this.onChange(o));
+ };
+ UNSAFE_componentWillReceiveProps(s) {
+ this.props.value !== s.value &&
+ s.value !== this.state.value &&
+ this.setState({ value: stringify(s.value) }),
+ !s.value && s.defaultValue && this.state.value && this.applyDefaultValue(s);
+ }
+ render() {
+ let { getComponent: s, errors: o } = this.props,
+ { value: i } = this.state,
+ u = o.size > 0;
+ const _ = s('TextArea');
+ return Pe.createElement(
+ 'div',
+ { className: 'body-param' },
+ Pe.createElement(_, {
+ className: Hn()('body-param__text', { invalid: u }),
+ title: o.size ? o.join(', ') : '',
+ value: i,
+ onChange: this.onDomChange
+ })
+ );
+ }
+ }
+ class HttpAuth extends Pe.Component {
+ constructor(s, o) {
+ super(s, o);
+ let { name: i, schema: u } = this.props,
+ _ = this.getValue();
+ this.state = { name: i, schema: u, value: _ };
+ }
+ getValue() {
+ let { name: s, authorized: o } = this.props;
+ return o && o.getIn([s, 'value']);
+ }
+ onChange = (s) => {
+ let { onChange: o } = this.props,
+ { value: i, name: u } = s.target,
+ _ = Object.assign({}, this.state.value);
+ u ? (_[u] = i) : (_ = i), this.setState({ value: _ }, () => o(this.state));
+ };
+ render() {
+ let { schema: s, getComponent: o, errSelectors: i, name: u } = this.props;
+ const _ = o('Input'),
+ w = o('Row'),
+ x = o('Col'),
+ C = o('authError'),
+ j = o('Markdown', !0),
+ L = o('JumpToPath', !0),
+ B = (s.get('scheme') || '').toLowerCase();
+ let $ = this.getValue(),
+ V = i.allErrors().filter((s) => s.get('authId') === u);
+ if ('basic' === B) {
+ let o = $ ? $.get('username') : null;
+ return Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'h4',
+ null,
+ Pe.createElement('code', null, u || s.get('name')),
+ ' (http, Basic)',
+ Pe.createElement(L, { path: ['securityDefinitions', u] })
+ ),
+ o && Pe.createElement('h6', null, 'Authorized'),
+ Pe.createElement(w, null, Pe.createElement(j, { source: s.get('description') })),
+ Pe.createElement(
+ w,
+ null,
+ Pe.createElement('label', { htmlFor: 'auth-basic-username' }, 'Username:'),
+ o
+ ? Pe.createElement('code', null, ' ', o, ' ')
+ : Pe.createElement(
+ x,
+ null,
+ Pe.createElement(_, {
+ id: 'auth-basic-username',
+ type: 'text',
+ required: 'required',
+ name: 'username',
+ 'aria-label': 'auth-basic-username',
+ onChange: this.onChange,
+ autoFocus: !0
+ })
+ )
+ ),
+ Pe.createElement(
+ w,
+ null,
+ Pe.createElement('label', { htmlFor: 'auth-basic-password' }, 'Password:'),
+ o
+ ? Pe.createElement('code', null, ' ****** ')
+ : Pe.createElement(
+ x,
+ null,
+ Pe.createElement(_, {
+ id: 'auth-basic-password',
+ autoComplete: 'new-password',
+ name: 'password',
+ type: 'password',
+ 'aria-label': 'auth-basic-password',
+ onChange: this.onChange
+ })
+ )
+ ),
+ V.valueSeq().map((s, o) => Pe.createElement(C, { error: s, key: o }))
+ );
+ }
+ return 'bearer' === B
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'h4',
+ null,
+ Pe.createElement('code', null, u || s.get('name')),
+ ' (http, Bearer)',
+ Pe.createElement(L, { path: ['securityDefinitions', u] })
+ ),
+ $ && Pe.createElement('h6', null, 'Authorized'),
+ Pe.createElement(w, null, Pe.createElement(j, { source: s.get('description') })),
+ Pe.createElement(
+ w,
+ null,
+ Pe.createElement('label', { htmlFor: 'auth-bearer-value' }, 'Value:'),
+ $
+ ? Pe.createElement('code', null, ' ****** ')
+ : Pe.createElement(
+ x,
+ null,
+ Pe.createElement(_, {
+ id: 'auth-bearer-value',
+ type: 'text',
+ 'aria-label': 'auth-bearer-value',
+ onChange: this.onChange,
+ autoFocus: !0
+ })
+ )
+ ),
+ V.valueSeq().map((s, o) => Pe.createElement(C, { error: s, key: o }))
+ )
+ : Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'em',
+ null,
+ Pe.createElement('b', null, u),
+ ' HTTP authentication: unsupported scheme ',
+ `'${B}'`
+ )
+ );
+ }
+ }
+ class operation_servers_OperationServers extends Pe.Component {
+ setSelectedServer = (s) => {
+ const { path: o, method: i } = this.props;
+ return this.forceUpdate(), this.props.setSelectedServer(s, `${o}:${i}`);
+ };
+ setServerVariableValue = (s) => {
+ const { path: o, method: i } = this.props;
+ return (
+ this.forceUpdate(),
+ this.props.setServerVariableValue({ ...s, namespace: `${o}:${i}` })
+ );
+ };
+ getSelectedServer = () => {
+ const { path: s, method: o } = this.props;
+ return this.props.getSelectedServer(`${s}:${o}`);
+ };
+ getServerVariable = (s, o) => {
+ const { path: i, method: u } = this.props;
+ return this.props.getServerVariable({ namespace: `${i}:${u}`, server: s }, o);
+ };
+ getEffectiveServerValue = (s) => {
+ const { path: o, method: i } = this.props;
+ return this.props.getEffectiveServerValue({ server: s, namespace: `${o}:${i}` });
+ };
+ render() {
+ const { operationServers: s, pathServers: o, getComponent: i } = this.props;
+ if (!s && !o) return null;
+ const u = i('Servers'),
+ _ = s || o,
+ w = s ? 'operation' : 'path';
+ return Pe.createElement(
+ 'div',
+ { className: 'opblock-section operation-servers' },
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-section-header' },
+ Pe.createElement(
+ 'div',
+ { className: 'tab-header' },
+ Pe.createElement('h4', { className: 'opblock-title' }, 'Servers')
+ )
+ ),
+ Pe.createElement(
+ 'div',
+ { className: 'opblock-description-wrapper' },
+ Pe.createElement(
+ 'h4',
+ { className: 'message' },
+ 'These ',
+ w,
+ '-level options override the global server options.'
+ ),
+ Pe.createElement(u, {
+ servers: _,
+ currentServer: this.getSelectedServer(),
+ setSelectedServer: this.setSelectedServer,
+ setServerVariableValue: this.setServerVariableValue,
+ getServerVariable: this.getServerVariable,
+ getEffectiveServerValue: this.getEffectiveServerValue
+ })
+ )
+ );
+ }
+ }
+ const rA = {
+ Callbacks: callbacks,
+ HttpAuth,
+ RequestBody: components_request_body,
+ Servers: components_servers,
+ ServersContainer,
+ RequestBodyEditor,
+ OperationServers: operation_servers_OperationServers,
+ operationLink: eA
+ },
+ nA = new Remarkable('commonmark');
+ nA.block.ruler.enable(['table']), nA.set({ linkTarget: '_blank' });
+ const sA = OAS3ComponentWrapFactory(
+ ({
+ source: s,
+ className: o = '',
+ getConfigs: i = () => ({ useUnsafeMarkdown: !1 })
+ }) => {
+ if ('string' != typeof s) return null;
+ if (s) {
+ const { useUnsafeMarkdown: u } = i(),
+ _ = sanitizer(nA.render(s), { useUnsafeMarkdown: u });
+ let w;
+ return (
+ 'string' == typeof _ && (w = _.trim()),
+ Pe.createElement('div', {
+ dangerouslySetInnerHTML: { __html: w },
+ className: Hn()(o, 'renderedMarkdown')
+ })
+ );
+ }
+ return null;
+ }
+ ),
+ oA = OAS3ComponentWrapFactory(({ Ori: s, ...o }) => {
+ const {
+ schema: i,
+ getComponent: u,
+ errSelectors: _,
+ authorized: w,
+ onAuthChange: x,
+ name: C
+ } = o,
+ j = u('HttpAuth');
+ return 'http' === i.get('type')
+ ? Pe.createElement(j, {
+ key: C,
+ schema: i,
+ name: C,
+ errSelectors: _,
+ authorized: w,
+ getComponent: u,
+ onChange: x
+ })
+ : Pe.createElement(s, o);
+ }),
+ iA = OAS3ComponentWrapFactory(OnlineValidatorBadge);
+ class ModelComponent extends Pe.Component {
+ render() {
+ let { getConfigs: s, schema: o, Ori: i } = this.props,
+ u = ['model-box'],
+ _ = null;
+ return (
+ !0 === o.get('deprecated') &&
+ (u.push('deprecated'),
+ (_ = Pe.createElement(
+ 'span',
+ { className: 'model-deprecated-warning' },
+ 'Deprecated:'
+ ))),
+ Pe.createElement(
+ 'div',
+ { className: u.join(' ') },
+ _,
+ Pe.createElement(
+ i,
+ Rn()({}, this.props, {
+ getConfigs: s,
+ depth: 1,
+ expandDepth: this.props.expandDepth || 0
+ })
+ )
+ )
+ );
+ }
+ }
+ const aA = OAS3ComponentWrapFactory(ModelComponent),
+ lA = OAS3ComponentWrapFactory(({ Ori: s, ...o }) => {
+ const { schema: i, getComponent: u, errors: _, onChange: w } = o,
+ x = i && i.get ? i.get('format') : null,
+ C = i && i.get ? i.get('type') : null,
+ j = u('Input');
+ return C && 'string' === C && x && ('binary' === x || 'base64' === x)
+ ? Pe.createElement(j, {
+ type: 'file',
+ className: _.length ? 'invalid' : '',
+ title: _.length ? _ : '',
+ onChange: (s) => {
+ w(s.target.files[0]);
+ },
+ disabled: s.isDisabled
+ })
+ : Pe.createElement(s, o);
+ }),
+ cA = {
+ Markdown: sA,
+ AuthItem: oA,
+ OpenAPIVersion: (function OAS30ComponentWrapFactory(s) {
+ return (o, i) => (u) =>
+ 'function' == typeof i.specSelectors?.isOAS30
+ ? i.specSelectors.isOAS30()
+ ? Pe.createElement(s, Rn()({}, u, i, { Ori: o }))
+ : Pe.createElement(o, u)
+ : (console.warn("OAS30 wrapper: couldn't get spec"), null);
+ })((s) => {
+ const { Ori: o } = s;
+ return Pe.createElement(o, { oasVersion: '3.0' });
+ }),
+ JsonSchema_string: lA,
+ model: aA,
+ onlineValidatorBadge: iA
+ },
+ uA = 'oas3_set_servers',
+ pA = 'oas3_set_request_body_value',
+ hA = 'oas3_set_request_body_retain_flag',
+ dA = 'oas3_set_request_body_inclusion',
+ fA = 'oas3_set_active_examples_member',
+ mA = 'oas3_set_request_content_type',
+ gA = 'oas3_set_response_content_type',
+ yA = 'oas3_set_server_variable_value',
+ vA = 'oas3_set_request_body_validate_error',
+ bA = 'oas3_clear_request_body_validate_error',
+ _A = 'oas3_clear_request_body_value';
+ function setSelectedServer(s, o) {
+ return { type: uA, payload: { selectedServerUrl: s, namespace: o } };
+ }
+ function setRequestBodyValue({ value: s, pathMethod: o }) {
+ return { type: pA, payload: { value: s, pathMethod: o } };
+ }
+ const setRetainRequestBodyValueFlag = ({ value: s, pathMethod: o }) => ({
+ type: hA,
+ payload: { value: s, pathMethod: o }
+ });
+ function setRequestBodyInclusion({ value: s, pathMethod: o, name: i }) {
+ return { type: dA, payload: { value: s, pathMethod: o, name: i } };
+ }
+ function setActiveExamplesMember({
+ name: s,
+ pathMethod: o,
+ contextType: i,
+ contextName: u
+ }) {
+ return { type: fA, payload: { name: s, pathMethod: o, contextType: i, contextName: u } };
+ }
+ function setRequestContentType({ value: s, pathMethod: o }) {
+ return { type: mA, payload: { value: s, pathMethod: o } };
+ }
+ function setResponseContentType({ value: s, path: o, method: i }) {
+ return { type: gA, payload: { value: s, path: o, method: i } };
+ }
+ function setServerVariableValue({ server: s, namespace: o, key: i, val: u }) {
+ return { type: yA, payload: { server: s, namespace: o, key: i, val: u } };
+ }
+ const setRequestBodyValidateError = ({ path: s, method: o, validationErrors: i }) => ({
+ type: vA,
+ payload: { path: s, method: o, validationErrors: i }
+ }),
+ clearRequestBodyValidateError = ({ path: s, method: o }) => ({
+ type: bA,
+ payload: { path: s, method: o }
+ }),
+ initRequestBodyValidateError = ({ pathMethod: s }) => ({
+ type: bA,
+ payload: { path: s[0], method: s[1] }
+ }),
+ clearRequestBodyValue = ({ pathMethod: s }) => ({ type: _A, payload: { pathMethod: s } });
+ var EA = __webpack_require__(60680),
+ wA = __webpack_require__.n(EA);
+ const oas3_selectors_onlyOAS3 =
+ (s) =>
+ (o, ...i) =>
+ (u) => {
+ if (u.getSystem().specSelectors.isOAS3()) {
+ const _ = s(o, ...i);
+ return 'function' == typeof _ ? _(u) : _;
+ }
+ return null;
+ };
+ const SA = oas3_selectors_onlyOAS3((s, o) => {
+ const i = o ? [o, 'selectedServer'] : ['selectedServer'];
+ return s.getIn(i) || '';
+ }),
+ xA = oas3_selectors_onlyOAS3(
+ (s, o, i) => s.getIn(['requestData', o, i, 'bodyValue']) || null
+ ),
+ kA = oas3_selectors_onlyOAS3(
+ (s, o, i) => s.getIn(['requestData', o, i, 'retainBodyValue']) || !1
+ ),
+ selectDefaultRequestBodyValue = (s, o, i) => (s) => {
+ const { oas3Selectors: u, specSelectors: _, fn: w } = s.getSystem();
+ if (_.isOAS3()) {
+ const s = u.requestContentType(o, i);
+ if (s)
+ return getDefaultRequestBodyValue(
+ _.specResolvedSubtree(['paths', o, i, 'requestBody']),
+ s,
+ u.activeExamplesMember(o, i, 'requestBody', 'requestBody'),
+ w
+ );
+ }
+ return null;
+ },
+ CA = oas3_selectors_onlyOAS3((s, o, i) => (s) => {
+ const { oas3Selectors: u, specSelectors: _, fn: w } = s;
+ let x = !1;
+ const C = u.requestContentType(o, i);
+ let j = u.requestBodyValue(o, i);
+ const L = _.specResolvedSubtree(['paths', o, i, 'requestBody']);
+ if (!L) return !1;
+ if (
+ (qe.Map.isMap(j) &&
+ (j = stringify(
+ j.mapEntries((s) => (qe.Map.isMap(s[1]) ? [s[0], s[1].get('value')] : s)).toJS()
+ )),
+ qe.List.isList(j) && (j = stringify(j)),
+ C)
+ ) {
+ const s = getDefaultRequestBodyValue(
+ L,
+ C,
+ u.activeExamplesMember(o, i, 'requestBody', 'requestBody'),
+ w
+ );
+ x = !!j && j !== s;
+ }
+ return x;
+ }),
+ OA = oas3_selectors_onlyOAS3(
+ (s, o, i) => s.getIn(['requestData', o, i, 'bodyInclusion']) || (0, qe.Map)()
+ ),
+ AA = oas3_selectors_onlyOAS3(
+ (s, o, i) => s.getIn(['requestData', o, i, 'errors']) || null
+ ),
+ jA = oas3_selectors_onlyOAS3(
+ (s, o, i, u, _) => s.getIn(['examples', o, i, u, _, 'activeExample']) || null
+ ),
+ IA = oas3_selectors_onlyOAS3(
+ (s, o, i) => s.getIn(['requestData', o, i, 'requestContentType']) || null
+ ),
+ PA = oas3_selectors_onlyOAS3(
+ (s, o, i) => s.getIn(['requestData', o, i, 'responseContentType']) || null
+ ),
+ MA = oas3_selectors_onlyOAS3((s, o, i) => {
+ let u;
+ if ('string' != typeof o) {
+ const { server: s, namespace: _ } = o;
+ u = _ ? [_, 'serverVariableValues', s, i] : ['serverVariableValues', s, i];
+ } else {
+ u = ['serverVariableValues', o, i];
+ }
+ return s.getIn(u) || null;
+ }),
+ TA = oas3_selectors_onlyOAS3((s, o) => {
+ let i;
+ if ('string' != typeof o) {
+ const { server: s, namespace: u } = o;
+ i = u ? [u, 'serverVariableValues', s] : ['serverVariableValues', s];
+ } else {
+ i = ['serverVariableValues', o];
+ }
+ return s.getIn(i) || (0, qe.OrderedMap)();
+ }),
+ NA = oas3_selectors_onlyOAS3((s, o) => {
+ var i, u;
+ if ('string' != typeof o) {
+ const { server: _, namespace: w } = o;
+ (u = _),
+ (i = w
+ ? s.getIn([w, 'serverVariableValues', u])
+ : s.getIn(['serverVariableValues', u]));
+ } else (u = o), (i = s.getIn(['serverVariableValues', u]));
+ i = i || (0, qe.OrderedMap)();
+ let _ = u;
+ return (
+ i.map((s, o) => {
+ _ = _.replace(new RegExp(`{${wA()(o)}}`, 'g'), s);
+ }),
+ _
+ );
+ }),
+ RA = (function validateRequestBodyIsRequired(s) {
+ return (...o) =>
+ (i) => {
+ const u = i.getSystem().specSelectors.specJson();
+ let _ = [...o][1] || [];
+ return !u.getIn(['paths', ..._, 'requestBody', 'required']) || s(...o);
+ };
+ })((s, o) =>
+ ((s, o) => ((o = o || []), !!s.getIn(['requestData', ...o, 'bodyValue'])))(s, o)
+ ),
+ validateShallowRequired = (
+ s,
+ {
+ oas3RequiredRequestBodyContentType: o,
+ oas3RequestContentType: i,
+ oas3RequestBodyValue: u
+ }
+ ) => {
+ let _ = [];
+ if (!qe.Map.isMap(u)) return _;
+ let w = [];
+ return (
+ Object.keys(o.requestContentType).forEach((s) => {
+ if (s === i) {
+ o.requestContentType[s].forEach((s) => {
+ w.indexOf(s) < 0 && w.push(s);
+ });
+ }
+ }),
+ w.forEach((s) => {
+ u.getIn([s, 'value']) || _.push(s);
+ }),
+ _
+ );
+ },
+ DA = Ss()(['get', 'put', 'post', 'delete', 'options', 'head', 'patch', 'trace']),
+ LA = {
+ [uA]: (s, { payload: { selectedServerUrl: o, namespace: i } }) => {
+ const u = i ? [i, 'selectedServer'] : ['selectedServer'];
+ return s.setIn(u, o);
+ },
+ [pA]: (s, { payload: { value: o, pathMethod: i } }) => {
+ let [u, _] = i;
+ if (!qe.Map.isMap(o)) return s.setIn(['requestData', u, _, 'bodyValue'], o);
+ let w,
+ x = s.getIn(['requestData', u, _, 'bodyValue']) || (0, qe.Map)();
+ qe.Map.isMap(x) || (x = (0, qe.Map)());
+ const [...C] = o.keys();
+ return (
+ C.forEach((s) => {
+ let i = o.getIn([s]);
+ (x.has(s) && qe.Map.isMap(i)) || (w = x.setIn([s, 'value'], i));
+ }),
+ s.setIn(['requestData', u, _, 'bodyValue'], w)
+ );
+ },
+ [hA]: (s, { payload: { value: o, pathMethod: i } }) => {
+ let [u, _] = i;
+ return s.setIn(['requestData', u, _, 'retainBodyValue'], o);
+ },
+ [dA]: (s, { payload: { value: o, pathMethod: i, name: u } }) => {
+ let [_, w] = i;
+ return s.setIn(['requestData', _, w, 'bodyInclusion', u], o);
+ },
+ [fA]: (s, { payload: { name: o, pathMethod: i, contextType: u, contextName: _ } }) => {
+ let [w, x] = i;
+ return s.setIn(['examples', w, x, u, _, 'activeExample'], o);
+ },
+ [mA]: (s, { payload: { value: o, pathMethod: i } }) => {
+ let [u, _] = i;
+ return s.setIn(['requestData', u, _, 'requestContentType'], o);
+ },
+ [gA]: (s, { payload: { value: o, path: i, method: u } }) =>
+ s.setIn(['requestData', i, u, 'responseContentType'], o),
+ [yA]: (s, { payload: { server: o, namespace: i, key: u, val: _ } }) => {
+ const w = i ? [i, 'serverVariableValues', o, u] : ['serverVariableValues', o, u];
+ return s.setIn(w, _);
+ },
+ [vA]: (s, { payload: { path: o, method: i, validationErrors: u } }) => {
+ let _ = [];
+ if ((_.push('Required field is not provided'), u.missingBodyValue))
+ return s.setIn(['requestData', o, i, 'errors'], (0, qe.fromJS)(_));
+ if (u.missingRequiredKeys && u.missingRequiredKeys.length > 0) {
+ const { missingRequiredKeys: w } = u;
+ return s.updateIn(['requestData', o, i, 'bodyValue'], (0, qe.fromJS)({}), (s) =>
+ w.reduce((s, o) => s.setIn([o, 'errors'], (0, qe.fromJS)(_)), s)
+ );
+ }
+ return console.warn('unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR'), s;
+ },
+ [bA]: (s, { payload: { path: o, method: i } }) => {
+ const u = s.getIn(['requestData', o, i, 'bodyValue']);
+ if (!qe.Map.isMap(u))
+ return s.setIn(['requestData', o, i, 'errors'], (0, qe.fromJS)([]));
+ const [..._] = u.keys();
+ return _
+ ? s.updateIn(['requestData', o, i, 'bodyValue'], (0, qe.fromJS)({}), (s) =>
+ _.reduce((s, o) => s.setIn([o, 'errors'], (0, qe.fromJS)([])), s)
+ )
+ : s;
+ },
+ [_A]: (s, { payload: { pathMethod: o } }) => {
+ let [i, u] = o;
+ const _ = s.getIn(['requestData', i, u, 'bodyValue']);
+ return _
+ ? qe.Map.isMap(_)
+ ? s.setIn(['requestData', i, u, 'bodyValue'], (0, qe.Map)())
+ : s.setIn(['requestData', i, u, 'bodyValue'], '')
+ : s;
+ }
+ };
+ function oas3() {
+ return {
+ components: rA,
+ wrapComponents: cA,
+ statePlugins: {
+ spec: { wrapSelectors: be, selectors: we },
+ auth: { wrapSelectors: _e },
+ oas3: { actions: { ...Se }, reducers: LA, selectors: { ...xe } }
+ }
+ };
+ }
+ const webhooks = ({ specSelectors: s, getComponent: o }) => {
+ const i = s.selectWebhooksOperations(),
+ u = Object.keys(i),
+ _ = o('OperationContainer', !0);
+ return 0 === u.length
+ ? null
+ : Pe.createElement(
+ 'div',
+ { className: 'webhooks' },
+ Pe.createElement('h2', null, 'Webhooks'),
+ u.map((s) =>
+ Pe.createElement(
+ 'div',
+ { key: `${s}-webhook` },
+ i[s].map((o) =>
+ Pe.createElement(_, {
+ key: `${s}-${o.method}-webhook`,
+ op: o.operation,
+ tag: 'webhooks',
+ method: o.method,
+ path: s,
+ specPath: (0, qe.List)(o.specPath),
+ allowTryItOut: !1
+ })
+ )
+ )
+ )
+ );
+ },
+ oas31_components_license = ({ getComponent: s, specSelectors: o }) => {
+ const i = o.selectLicenseNameField(),
+ u = o.selectLicenseUrl(),
+ _ = s('Link');
+ return Pe.createElement(
+ 'div',
+ { className: 'info__license' },
+ u
+ ? Pe.createElement(
+ 'div',
+ { className: 'info__license__url' },
+ Pe.createElement(_, { target: '_blank', href: sanitizeUrl(u) }, i)
+ )
+ : Pe.createElement('span', null, i)
+ );
+ },
+ oas31_components_contact = ({ getComponent: s, specSelectors: o }) => {
+ const i = o.selectContactNameField(),
+ u = o.selectContactUrl(),
+ _ = o.selectContactEmailField(),
+ w = s('Link');
+ return Pe.createElement(
+ 'div',
+ { className: 'info__contact' },
+ u &&
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(w, { href: sanitizeUrl(u), target: '_blank' }, i, ' - Website')
+ ),
+ _ &&
+ Pe.createElement(
+ w,
+ { href: sanitizeUrl(`mailto:${_}`) },
+ u ? `Send email to ${i}` : `Contact ${i}`
+ )
+ );
+ },
+ oas31_components_info = ({ getComponent: s, specSelectors: o }) => {
+ const i = o.version(),
+ u = o.url(),
+ _ = o.basePath(),
+ w = o.host(),
+ x = o.selectInfoSummaryField(),
+ C = o.selectInfoDescriptionField(),
+ j = o.selectInfoTitleField(),
+ L = o.selectInfoTermsOfServiceUrl(),
+ B = o.selectExternalDocsUrl(),
+ $ = o.selectExternalDocsDescriptionField(),
+ V = o.contact(),
+ U = o.license(),
+ z = s('Markdown', !0),
+ Y = s('Link'),
+ Z = s('VersionStamp'),
+ ee = s('OpenAPIVersion'),
+ ie = s('InfoUrl'),
+ ae = s('InfoBasePath'),
+ le = s('License', !0),
+ ce = s('Contact', !0),
+ pe = s('JsonSchemaDialect', !0);
+ return Pe.createElement(
+ 'div',
+ { className: 'info' },
+ Pe.createElement(
+ 'hgroup',
+ { className: 'main' },
+ Pe.createElement(
+ 'h2',
+ { className: 'title' },
+ j,
+ Pe.createElement(
+ 'span',
+ null,
+ i && Pe.createElement(Z, { version: i }),
+ Pe.createElement(ee, { oasVersion: '3.1' })
+ )
+ ),
+ (w || _) && Pe.createElement(ae, { host: w, basePath: _ }),
+ u && Pe.createElement(ie, { getComponent: s, url: u })
+ ),
+ x && Pe.createElement('p', { className: 'info__summary' }, x),
+ Pe.createElement(
+ 'div',
+ { className: 'info__description description' },
+ Pe.createElement(z, { source: C })
+ ),
+ L &&
+ Pe.createElement(
+ 'div',
+ { className: 'info__tos' },
+ Pe.createElement(
+ Y,
+ { target: '_blank', href: sanitizeUrl(L) },
+ 'Terms of service'
+ )
+ ),
+ V.size > 0 && Pe.createElement(ce, null),
+ U.size > 0 && Pe.createElement(le, null),
+ B &&
+ Pe.createElement(
+ Y,
+ { className: 'info__extdocs', target: '_blank', href: sanitizeUrl(B) },
+ $ || B
+ ),
+ Pe.createElement(pe, null)
+ );
+ },
+ json_schema_dialect = ({ getComponent: s, specSelectors: o }) => {
+ const i = o.selectJsonSchemaDialectField(),
+ u = o.selectJsonSchemaDialectDefault(),
+ _ = s('Link');
+ return Pe.createElement(
+ Pe.Fragment,
+ null,
+ i &&
+ i === u &&
+ Pe.createElement(
+ 'p',
+ { className: 'info__jsonschemadialect' },
+ 'JSON Schema dialect:',
+ ' ',
+ Pe.createElement(_, { target: '_blank', href: sanitizeUrl(i) }, i)
+ ),
+ i &&
+ i !== u &&
+ Pe.createElement(
+ 'div',
+ { className: 'error-wrapper' },
+ Pe.createElement(
+ 'div',
+ { className: 'no-margin' },
+ Pe.createElement(
+ 'div',
+ { className: 'errors' },
+ Pe.createElement(
+ 'div',
+ { className: 'errors-wrapper' },
+ Pe.createElement('h4', { className: 'center' }, 'Warning'),
+ Pe.createElement(
+ 'p',
+ { className: 'message' },
+ Pe.createElement('strong', null, 'OpenAPI.jsonSchemaDialect'),
+ ' field contains a value different from the default value of',
+ ' ',
+ Pe.createElement(_, { target: '_blank', href: u }, u),
+ '. Values different from the default one are currently not supported. Please either omit the field or provide it with the default value.'
+ )
+ )
+ )
+ )
+ )
+ );
+ },
+ version_pragma_filter = ({
+ bypass: s,
+ isSwagger2: o,
+ isOAS3: i,
+ isOAS31: u,
+ alsoShow: _,
+ children: w
+ }) =>
+ s
+ ? Pe.createElement('div', null, w)
+ : o && (i || u)
+ ? Pe.createElement(
+ 'div',
+ { className: 'version-pragma' },
+ _,
+ Pe.createElement(
+ 'div',
+ { className: 'version-pragma__message version-pragma__message--ambiguous' },
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('h3', null, 'Unable to render this definition'),
+ Pe.createElement(
+ 'p',
+ null,
+ Pe.createElement('code', null, 'swagger'),
+ ' and ',
+ Pe.createElement('code', null, 'openapi'),
+ ' fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.'
+ ),
+ Pe.createElement(
+ 'p',
+ null,
+ 'Supported version fields are ',
+ Pe.createElement('code', null, 'swagger: "2.0"'),
+ ' and those that match ',
+ Pe.createElement('code', null, 'openapi: 3.x.y'),
+ ' (for example,',
+ ' ',
+ Pe.createElement('code', null, 'openapi: 3.1.0'),
+ ').'
+ )
+ )
+ )
+ )
+ : o || i || u
+ ? Pe.createElement('div', null, w)
+ : Pe.createElement(
+ 'div',
+ { className: 'version-pragma' },
+ _,
+ Pe.createElement(
+ 'div',
+ { className: 'version-pragma__message version-pragma__message--missing' },
+ Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement('h3', null, 'Unable to render this definition'),
+ Pe.createElement(
+ 'p',
+ null,
+ 'The provided definition does not specify a valid version field.'
+ ),
+ Pe.createElement(
+ 'p',
+ null,
+ 'Please indicate a valid Swagger or OpenAPI version field. Supported version fields are ',
+ Pe.createElement('code', null, 'swagger: "2.0"'),
+ ' and those that match ',
+ Pe.createElement('code', null, 'openapi: 3.x.y'),
+ ' (for example,',
+ ' ',
+ Pe.createElement('code', null, 'openapi: 3.1.0'),
+ ').'
+ )
+ )
+ )
+ ),
+ getModelName = (s) =>
+ 'string' == typeof s && s.includes('#/components/schemas/')
+ ? ((s) => {
+ const o = s.replace(/~1/g, '/').replace(/~0/g, '~');
+ try {
+ return decodeURIComponent(o);
+ } catch {
+ return o;
+ }
+ })(s.replace(/^.*#\/components\/schemas\//, ''))
+ : null,
+ BA = (0, Pe.forwardRef)(({ schema: s, getComponent: o, onToggle: i = () => {} }, u) => {
+ const _ = o('JSONSchema202012'),
+ w = getModelName(s.get('$$ref')),
+ x = (0, Pe.useCallback)(
+ (s, o) => {
+ i(w, o);
+ },
+ [w, i]
+ );
+ return Pe.createElement(_, { name: w, schema: s.toJS(), ref: u, onExpand: x });
+ }),
+ FA = BA,
+ models = ({
+ specActions: s,
+ specSelectors: o,
+ layoutSelectors: i,
+ layoutActions: u,
+ getComponent: _,
+ getConfigs: w,
+ fn: x
+ }) => {
+ const C = o.selectSchemas(),
+ j = Object.keys(C).length > 0,
+ L = ['components', 'schemas'],
+ { docExpansion: B, defaultModelsExpandDepth: $ } = w(),
+ V = $ > 0 && 'none' !== B,
+ U = i.isShown(L, V),
+ z = _('Collapse'),
+ Y = _('JSONSchema202012'),
+ Z = _('ArrowUpIcon'),
+ ee = _('ArrowDownIcon'),
+ { getTitle: ie } = x.jsonSchema202012.useFn();
+ (0, Pe.useEffect)(() => {
+ const i = U && $ > 1,
+ u = null != o.specResolvedSubtree(L);
+ i && !u && s.requestResolvedSubtree(L);
+ }, [U, $]);
+ const ae = (0, Pe.useCallback)(() => {
+ u.show(L, !U);
+ }, [U]),
+ le = (0, Pe.useCallback)((s) => {
+ null !== s && u.readyToScroll(L, s);
+ }, []),
+ handleJSONSchema202012Ref = (s) => (o) => {
+ null !== o && u.readyToScroll([...L, s], o);
+ },
+ handleJSONSchema202012Expand = (i) => (u, _) => {
+ if (_) {
+ const u = [...L, i];
+ null != o.specResolvedSubtree(u) || s.requestResolvedSubtree([...L, i]);
+ }
+ };
+ return !j || $ < 0
+ ? null
+ : Pe.createElement(
+ 'section',
+ { className: Hn()('models', { 'is-open': U }), ref: le },
+ Pe.createElement(
+ 'h4',
+ null,
+ Pe.createElement(
+ 'button',
+ { 'aria-expanded': U, className: 'models-control', onClick: ae },
+ Pe.createElement('span', null, 'Schemas'),
+ U ? Pe.createElement(Z, null) : Pe.createElement(ee, null)
+ )
+ ),
+ Pe.createElement(
+ z,
+ { isOpened: U },
+ Object.entries(C).map(([s, o]) => {
+ const i = ie(o, { lookup: 'basic' }) || s;
+ return Pe.createElement(Y, {
+ key: s,
+ ref: handleJSONSchema202012Ref(s),
+ schema: o,
+ name: i,
+ onExpand: handleJSONSchema202012Expand(s)
+ });
+ })
+ )
+ );
+ },
+ mutual_tls_auth = ({ schema: s, getComponent: o }) => {
+ const i = o('JumpToPath', !0);
+ return Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'h4',
+ null,
+ s.get('name'),
+ ' (mutualTLS)',
+ ' ',
+ Pe.createElement(i, { path: ['securityDefinitions', s.get('name')] })
+ ),
+ Pe.createElement(
+ 'p',
+ null,
+ 'Mutual TLS is required by this API/Operation. Certificates are managed via your Operating System and/or your browser.'
+ ),
+ Pe.createElement('p', null, s.get('description'))
+ );
+ };
+ class auths_Auths extends Pe.Component {
+ constructor(s, o) {
+ super(s, o), (this.state = {});
+ }
+ onAuthChange = (s) => {
+ let { name: o } = s;
+ this.setState({ [o]: s });
+ };
+ submitAuth = (s) => {
+ s.preventDefault();
+ let { authActions: o } = this.props;
+ o.authorizeWithPersistOption(this.state);
+ };
+ logoutClick = (s) => {
+ s.preventDefault();
+ let { authActions: o, definitions: i } = this.props,
+ u = i.map((s, o) => o).toArray();
+ this.setState(u.reduce((s, o) => ((s[o] = ''), s), {})), o.logoutWithPersistOption(u);
+ };
+ close = (s) => {
+ s.preventDefault();
+ let { authActions: o } = this.props;
+ o.showDefinitions(!1);
+ };
+ render() {
+ let { definitions: s, getComponent: o, authSelectors: i, errSelectors: u } = this.props;
+ const _ = o('AuthItem'),
+ w = o('oauth2', !0),
+ x = o('Button'),
+ C = i.authorized(),
+ j = s.filter((s, o) => !!C.get(o)),
+ L = s.filter((s) => 'oauth2' !== s.get('type') && 'mutualTLS' !== s.get('type')),
+ B = s.filter((s) => 'oauth2' === s.get('type')),
+ $ = s.filter((s) => 'mutualTLS' === s.get('type'));
+ return Pe.createElement(
+ 'div',
+ { className: 'auth-container' },
+ L.size > 0 &&
+ Pe.createElement(
+ 'form',
+ { onSubmit: this.submitAuth },
+ L.map((s, i) =>
+ Pe.createElement(_, {
+ key: i,
+ schema: s,
+ name: i,
+ getComponent: o,
+ onAuthChange: this.onAuthChange,
+ authorized: C,
+ errSelectors: u
+ })
+ ).toArray(),
+ Pe.createElement(
+ 'div',
+ { className: 'auth-btn-wrapper' },
+ L.size === j.size
+ ? Pe.createElement(
+ x,
+ {
+ className: 'btn modal-btn auth',
+ onClick: this.logoutClick,
+ 'aria-label': 'Remove authorization'
+ },
+ 'Logout'
+ )
+ : Pe.createElement(
+ x,
+ {
+ type: 'submit',
+ className: 'btn modal-btn auth authorize',
+ 'aria-label': 'Apply credentials'
+ },
+ 'Authorize'
+ ),
+ Pe.createElement(
+ x,
+ { className: 'btn modal-btn auth btn-done', onClick: this.close },
+ 'Close'
+ )
+ )
+ ),
+ B.size > 0
+ ? Pe.createElement(
+ 'div',
+ null,
+ Pe.createElement(
+ 'div',
+ { className: 'scope-def' },
+ Pe.createElement(
+ 'p',
+ null,
+ 'Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.'
+ ),
+ Pe.createElement(
+ 'p',
+ null,
+ 'API requires the following scopes. Select which ones you want to grant to Swagger UI.'
+ )
+ ),
+ s
+ .filter((s) => 'oauth2' === s.get('type'))
+ .map((s, o) =>
+ Pe.createElement(
+ 'div',
+ { key: o },
+ Pe.createElement(w, { authorized: C, schema: s, name: o })
+ )
+ )
+ .toArray()
+ )
+ : null,
+ $.size > 0 &&
+ Pe.createElement(
+ 'div',
+ null,
+ $.map((s, i) =>
+ Pe.createElement(_, {
+ key: i,
+ schema: s,
+ name: i,
+ getComponent: o,
+ onAuthChange: this.onAuthChange,
+ authorized: C,
+ errSelectors: u
+ })
+ ).toArray()
+ )
+ );
+ }
+ }
+ const qA = auths_Auths,
+ isOAS31 = (s) => {
+ const o = s.get('openapi');
+ return 'string' == typeof o && /^3\.1\.(?:[1-9]\d*|0)$/.test(o);
+ },
+ fn_createOnlyOAS31Selector =
+ (s) =>
+ (o, ...i) =>
+ (u) => {
+ if (u.getSystem().specSelectors.isOAS31()) {
+ const _ = s(o, ...i);
+ return 'function' == typeof _ ? _(u) : _;
+ }
+ return null;
+ },
+ createOnlyOAS31SelectorWrapper =
+ (s) =>
+ (o, i) =>
+ (u, ..._) => {
+ if (i.getSystem().specSelectors.isOAS31()) {
+ const w = s(u, ..._);
+ return 'function' == typeof w ? w(o, i) : w;
+ }
+ return o(..._);
+ },
+ fn_createSystemSelector =
+ (s) =>
+ (o, ...i) =>
+ (u) => {
+ const _ = s(o, u, ...i);
+ return 'function' == typeof _ ? _(u) : _;
+ },
+ createOnlyOAS31ComponentWrapper = (s) => (o, i) => (u) =>
+ i.specSelectors.isOAS31()
+ ? Pe.createElement(s, Rn()({}, u, { originalComponent: o, getSystem: i.getSystem }))
+ : Pe.createElement(o, u),
+ $A = createOnlyOAS31ComponentWrapper(({ getSystem: s }) => {
+ const o = s().getComponent('OAS31License', !0);
+ return Pe.createElement(o, null);
+ }),
+ VA = createOnlyOAS31ComponentWrapper(({ getSystem: s }) => {
+ const o = s().getComponent('OAS31Contact', !0);
+ return Pe.createElement(o, null);
+ }),
+ UA = createOnlyOAS31ComponentWrapper(({ getSystem: s }) => {
+ const o = s().getComponent('OAS31Info', !0);
+ return Pe.createElement(o, null);
+ }),
+ zA = createOnlyOAS31ComponentWrapper(({ getSystem: s, ...o }) => {
+ const i = s(),
+ { getComponent: u, fn: _, getConfigs: w } = i,
+ x = w(),
+ C = u('OAS31Model'),
+ j = u('JSONSchema202012'),
+ L = u('JSONSchema202012Keyword$schema'),
+ B = u('JSONSchema202012Keyword$vocabulary'),
+ $ = u('JSONSchema202012Keyword$id'),
+ V = u('JSONSchema202012Keyword$anchor'),
+ U = u('JSONSchema202012Keyword$dynamicAnchor'),
+ z = u('JSONSchema202012Keyword$ref'),
+ Y = u('JSONSchema202012Keyword$dynamicRef'),
+ Z = u('JSONSchema202012Keyword$defs'),
+ ee = u('JSONSchema202012Keyword$comment'),
+ ie = u('JSONSchema202012KeywordAllOf'),
+ ae = u('JSONSchema202012KeywordAnyOf'),
+ le = u('JSONSchema202012KeywordOneOf'),
+ ce = u('JSONSchema202012KeywordNot'),
+ pe = u('JSONSchema202012KeywordIf'),
+ de = u('JSONSchema202012KeywordThen'),
+ fe = u('JSONSchema202012KeywordElse'),
+ ye = u('JSONSchema202012KeywordDependentSchemas'),
+ be = u('JSONSchema202012KeywordPrefixItems'),
+ _e = u('JSONSchema202012KeywordItems'),
+ we = u('JSONSchema202012KeywordContains'),
+ Se = u('JSONSchema202012KeywordProperties'),
+ xe = u('JSONSchema202012KeywordPatternProperties'),
+ Te = u('JSONSchema202012KeywordAdditionalProperties'),
+ Re = u('JSONSchema202012KeywordPropertyNames'),
+ qe = u('JSONSchema202012KeywordUnevaluatedItems'),
+ $e = u('JSONSchema202012KeywordUnevaluatedProperties'),
+ ze = u('JSONSchema202012KeywordType'),
+ We = u('JSONSchema202012KeywordEnum'),
+ He = u('JSONSchema202012KeywordConst'),
+ Ye = u('JSONSchema202012KeywordConstraint'),
+ Xe = u('JSONSchema202012KeywordDependentRequired'),
+ Qe = u('JSONSchema202012KeywordContentSchema'),
+ et = u('JSONSchema202012KeywordTitle'),
+ tt = u('JSONSchema202012KeywordDescription'),
+ rt = u('JSONSchema202012KeywordDefault'),
+ nt = u('JSONSchema202012KeywordDeprecated'),
+ st = u('JSONSchema202012KeywordReadOnly'),
+ ot = u('JSONSchema202012KeywordWriteOnly'),
+ it = u('JSONSchema202012Accordion'),
+ at = u('JSONSchema202012ExpandDeepButton'),
+ lt = u('JSONSchema202012ChevronRightIcon'),
+ ct = u('withJSONSchema202012Context')(C, {
+ config: {
+ default$schema: 'https://spec.openapis.org/oas/3.1/dialect/base',
+ defaultExpandedLevels: x.defaultModelExpandDepth,
+ includeReadOnly: Boolean(o.includeReadOnly),
+ includeWriteOnly: Boolean(o.includeWriteOnly)
+ },
+ components: {
+ JSONSchema: j,
+ Keyword$schema: L,
+ Keyword$vocabulary: B,
+ Keyword$id: $,
+ Keyword$anchor: V,
+ Keyword$dynamicAnchor: U,
+ Keyword$ref: z,
+ Keyword$dynamicRef: Y,
+ Keyword$defs: Z,
+ Keyword$comment: ee,
+ KeywordAllOf: ie,
+ KeywordAnyOf: ae,
+ KeywordOneOf: le,
+ KeywordNot: ce,
+ KeywordIf: pe,
+ KeywordThen: de,
+ KeywordElse: fe,
+ KeywordDependentSchemas: ye,
+ KeywordPrefixItems: be,
+ KeywordItems: _e,
+ KeywordContains: we,
+ KeywordProperties: Se,
+ KeywordPatternProperties: xe,
+ KeywordAdditionalProperties: Te,
+ KeywordPropertyNames: Re,
+ KeywordUnevaluatedItems: qe,
+ KeywordUnevaluatedProperties: $e,
+ KeywordType: ze,
+ KeywordEnum: We,
+ KeywordConst: He,
+ KeywordConstraint: Ye,
+ KeywordDependentRequired: Xe,
+ KeywordContentSchema: Qe,
+ KeywordTitle: et,
+ KeywordDescription: tt,
+ KeywordDefault: rt,
+ KeywordDeprecated: nt,
+ KeywordReadOnly: st,
+ KeywordWriteOnly: ot,
+ Accordion: it,
+ ExpandDeepButton: at,
+ ChevronRightIcon: lt
+ },
+ fn: {
+ upperFirst: _.upperFirst,
+ isExpandable: _.jsonSchema202012.isExpandable,
+ getProperties: _.jsonSchema202012.getProperties
+ }
+ });
+ return Pe.createElement(ct, o);
+ }),
+ WA = zA,
+ KA = createOnlyOAS31ComponentWrapper(({ getSystem: s }) => {
+ const { getComponent: o, fn: i, getConfigs: u } = s(),
+ _ = u();
+ if (KA.ModelsWithJSONSchemaContext)
+ return Pe.createElement(KA.ModelsWithJSONSchemaContext, null);
+ const w = o('OAS31Models', !0),
+ x = o('JSONSchema202012'),
+ C = o('JSONSchema202012Keyword$schema'),
+ j = o('JSONSchema202012Keyword$vocabulary'),
+ L = o('JSONSchema202012Keyword$id'),
+ B = o('JSONSchema202012Keyword$anchor'),
+ $ = o('JSONSchema202012Keyword$dynamicAnchor'),
+ V = o('JSONSchema202012Keyword$ref'),
+ U = o('JSONSchema202012Keyword$dynamicRef'),
+ z = o('JSONSchema202012Keyword$defs'),
+ Y = o('JSONSchema202012Keyword$comment'),
+ Z = o('JSONSchema202012KeywordAllOf'),
+ ee = o('JSONSchema202012KeywordAnyOf'),
+ ie = o('JSONSchema202012KeywordOneOf'),
+ ae = o('JSONSchema202012KeywordNot'),
+ le = o('JSONSchema202012KeywordIf'),
+ ce = o('JSONSchema202012KeywordThen'),
+ pe = o('JSONSchema202012KeywordElse'),
+ de = o('JSONSchema202012KeywordDependentSchemas'),
+ fe = o('JSONSchema202012KeywordPrefixItems'),
+ ye = o('JSONSchema202012KeywordItems'),
+ be = o('JSONSchema202012KeywordContains'),
+ _e = o('JSONSchema202012KeywordProperties'),
+ we = o('JSONSchema202012KeywordPatternProperties'),
+ Se = o('JSONSchema202012KeywordAdditionalProperties'),
+ xe = o('JSONSchema202012KeywordPropertyNames'),
+ Te = o('JSONSchema202012KeywordUnevaluatedItems'),
+ Re = o('JSONSchema202012KeywordUnevaluatedProperties'),
+ qe = o('JSONSchema202012KeywordType'),
+ $e = o('JSONSchema202012KeywordEnum'),
+ ze = o('JSONSchema202012KeywordConst'),
+ We = o('JSONSchema202012KeywordConstraint'),
+ He = o('JSONSchema202012KeywordDependentRequired'),
+ Ye = o('JSONSchema202012KeywordContentSchema'),
+ Xe = o('JSONSchema202012KeywordTitle'),
+ Qe = o('JSONSchema202012KeywordDescription'),
+ et = o('JSONSchema202012KeywordDefault'),
+ tt = o('JSONSchema202012KeywordDeprecated'),
+ rt = o('JSONSchema202012KeywordReadOnly'),
+ nt = o('JSONSchema202012KeywordWriteOnly'),
+ st = o('JSONSchema202012Accordion'),
+ ot = o('JSONSchema202012ExpandDeepButton'),
+ it = o('JSONSchema202012ChevronRightIcon'),
+ at = o('withJSONSchema202012Context');
+ return (
+ (KA.ModelsWithJSONSchemaContext = at(w, {
+ config: {
+ default$schema: 'https://spec.openapis.org/oas/3.1/dialect/base',
+ defaultExpandedLevels: _.defaultModelsExpandDepth - 1,
+ includeReadOnly: !0,
+ includeWriteOnly: !0
+ },
+ components: {
+ JSONSchema: x,
+ Keyword$schema: C,
+ Keyword$vocabulary: j,
+ Keyword$id: L,
+ Keyword$anchor: B,
+ Keyword$dynamicAnchor: $,
+ Keyword$ref: V,
+ Keyword$dynamicRef: U,
+ Keyword$defs: z,
+ Keyword$comment: Y,
+ KeywordAllOf: Z,
+ KeywordAnyOf: ee,
+ KeywordOneOf: ie,
+ KeywordNot: ae,
+ KeywordIf: le,
+ KeywordThen: ce,
+ KeywordElse: pe,
+ KeywordDependentSchemas: de,
+ KeywordPrefixItems: fe,
+ KeywordItems: ye,
+ KeywordContains: be,
+ KeywordProperties: _e,
+ KeywordPatternProperties: we,
+ KeywordAdditionalProperties: Se,
+ KeywordPropertyNames: xe,
+ KeywordUnevaluatedItems: Te,
+ KeywordUnevaluatedProperties: Re,
+ KeywordType: qe,
+ KeywordEnum: $e,
+ KeywordConst: ze,
+ KeywordConstraint: We,
+ KeywordDependentRequired: He,
+ KeywordContentSchema: Ye,
+ KeywordTitle: Xe,
+ KeywordDescription: Qe,
+ KeywordDefault: et,
+ KeywordDeprecated: tt,
+ KeywordReadOnly: rt,
+ KeywordWriteOnly: nt,
+ Accordion: st,
+ ExpandDeepButton: ot,
+ ChevronRightIcon: it
+ },
+ fn: {
+ upperFirst: i.upperFirst,
+ isExpandable: i.jsonSchema202012.isExpandable,
+ getProperties: i.jsonSchema202012.getProperties
+ }
+ })),
+ Pe.createElement(KA.ModelsWithJSONSchemaContext, null)
+ );
+ });
+ KA.ModelsWithJSONSchemaContext = null;
+ const HA = KA,
+ wrap_components_version_pragma_filter = (s, o) => (s) => {
+ const i = o.specSelectors.isOAS31(),
+ u = o.getComponent('OAS31VersionPragmaFilter');
+ return Pe.createElement(u, Rn()({ isOAS31: i }, s));
+ },
+ JA = createOnlyOAS31ComponentWrapper(({ originalComponent: s, ...o }) => {
+ const { getComponent: i, schema: u } = o,
+ _ = i('MutualTLSAuth', !0);
+ return 'mutualTLS' === u.get('type')
+ ? Pe.createElement(_, { schema: u })
+ : Pe.createElement(s, o);
+ }),
+ GA = JA,
+ YA = createOnlyOAS31ComponentWrapper(({ getSystem: s, ...o }) => {
+ const i = s().getComponent('OAS31Auths', !0);
+ return Pe.createElement(i, o);
+ }),
+ XA = (0, qe.Map)(),
+ ZA = Ut((s, o) => o.specSelectors.specJson(), isOAS31),
+ selectors_webhooks = () => (s) => {
+ const o = s.specSelectors.specJson().get('webhooks');
+ return qe.Map.isMap(o) ? o : XA;
+ },
+ QA = Ut(
+ [
+ (s, o) => o.specSelectors.webhooks(),
+ (s, o) => o.specSelectors.validOperationMethods(),
+ (s, o) => o.specSelectors.specResolvedSubtree(['webhooks'])
+ ],
+ (s, o) =>
+ s
+ .reduce(
+ (s, i, u) => {
+ if (!qe.Map.isMap(i)) return s;
+ const _ = i
+ .entrySeq()
+ .filter(([s]) => o.includes(s))
+ .map(([s, o]) => ({
+ operation: (0, qe.Map)({ operation: o }),
+ method: s,
+ path: u,
+ specPath: ['webhooks', u, s]
+ }));
+ return s.concat(_);
+ },
+ (0, qe.List)()
+ )
+ .groupBy((s) => s.path)
+ .map((s) => s.toArray())
+ .toObject()
+ ),
+ selectors_license = () => (s) => {
+ const o = s.specSelectors.info().get('license');
+ return qe.Map.isMap(o) ? o : XA;
+ },
+ selectLicenseNameField = () => (s) => s.specSelectors.license().get('name', 'License'),
+ selectLicenseUrlField = () => (s) => s.specSelectors.license().get('url'),
+ ej = Ut(
+ [
+ (s, o) => o.specSelectors.url(),
+ (s, o) => o.oas3Selectors.selectedServer(),
+ (s, o) => o.specSelectors.selectLicenseUrlField()
+ ],
+ (s, o, i) => {
+ if (i) return safeBuildUrl(i, s, { selectedServer: o });
+ }
+ ),
+ selectLicenseIdentifierField = () => (s) => s.specSelectors.license().get('identifier'),
+ selectors_contact = () => (s) => {
+ const o = s.specSelectors.info().get('contact');
+ return qe.Map.isMap(o) ? o : XA;
+ },
+ selectContactNameField = () => (s) =>
+ s.specSelectors.contact().get('name', 'the developer'),
+ selectContactEmailField = () => (s) => s.specSelectors.contact().get('email'),
+ selectContactUrlField = () => (s) => s.specSelectors.contact().get('url'),
+ fj = Ut(
+ [
+ (s, o) => o.specSelectors.url(),
+ (s, o) => o.oas3Selectors.selectedServer(),
+ (s, o) => o.specSelectors.selectContactUrlField()
+ ],
+ (s, o, i) => {
+ if (i) return safeBuildUrl(i, s, { selectedServer: o });
+ }
+ ),
+ selectInfoTitleField = () => (s) => s.specSelectors.info().get('title'),
+ selectInfoSummaryField = () => (s) => s.specSelectors.info().get('summary'),
+ selectInfoDescriptionField = () => (s) => s.specSelectors.info().get('description'),
+ selectInfoTermsOfServiceField = () => (s) => s.specSelectors.info().get('termsOfService'),
+ mj = Ut(
+ [
+ (s, o) => o.specSelectors.url(),
+ (s, o) => o.oas3Selectors.selectedServer(),
+ (s, o) => o.specSelectors.selectInfoTermsOfServiceField()
+ ],
+ (s, o, i) => {
+ if (i) return safeBuildUrl(i, s, { selectedServer: o });
+ }
+ ),
+ selectExternalDocsDescriptionField = () => (s) =>
+ s.specSelectors.externalDocs().get('description'),
+ selectExternalDocsUrlField = () => (s) => s.specSelectors.externalDocs().get('url'),
+ _j = Ut(
+ [
+ (s, o) => o.specSelectors.url(),
+ (s, o) => o.oas3Selectors.selectedServer(),
+ (s, o) => o.specSelectors.selectExternalDocsUrlField()
+ ],
+ (s, o, i) => {
+ if (i) return safeBuildUrl(i, s, { selectedServer: o });
+ }
+ ),
+ selectJsonSchemaDialectField = () => (s) =>
+ s.specSelectors.specJson().get('jsonSchemaDialect'),
+ selectJsonSchemaDialectDefault = () => 'https://spec.openapis.org/oas/3.1/dialect/base',
+ Cj = Ut(
+ (s, o) => o.specSelectors.definitions(),
+ (s, o) => o.specSelectors.specResolvedSubtree(['components', 'schemas']),
+ (s, o) =>
+ qe.Map.isMap(s)
+ ? qe.Map.isMap(o)
+ ? Object.entries(s.toJS()).reduce((s, [i, u]) => {
+ const _ = o.get(i);
+ return (s[i] = _?.toJS() || u), s;
+ }, {})
+ : s.toJS()
+ : {}
+ ),
+ wrap_selectors_isOAS3 =
+ (s, o) =>
+ (i, ...u) =>
+ o.specSelectors.isOAS31() || s(...u),
+ Aj = createOnlyOAS31SelectorWrapper(() => (s, o) => o.oas31Selectors.selectLicenseUrl()),
+ Nj = createOnlyOAS31SelectorWrapper(() => (s, o) => {
+ const i = o.specSelectors.securityDefinitions();
+ let u = s();
+ return i
+ ? (i.entrySeq().forEach(([s, o]) => {
+ 'mutualTLS' === o.get('type') && (u = u.push(new qe.Map({ [s]: o })));
+ }),
+ u)
+ : u;
+ }),
+ Bj = Ut(
+ [
+ (s, o) => o.specSelectors.url(),
+ (s, o) => o.oas3Selectors.selectedServer(),
+ (s, o) => o.specSelectors.selectLicenseUrlField(),
+ (s, o) => o.specSelectors.selectLicenseIdentifierField()
+ ],
+ (s, o, i, u) =>
+ i
+ ? safeBuildUrl(i, s, { selectedServer: o })
+ : u
+ ? `https://spdx.org/licenses/${u}.html`
+ : void 0
+ ),
+ keywords_Example = ({ schema: s, getSystem: o }) => {
+ const { fn: i } = o(),
+ { hasKeyword: u, stringify: _ } = i.jsonSchema202012.useFn();
+ return u(s, 'example')
+ ? Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--example' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'Example'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--const'
+ },
+ _(s.example)
+ )
+ )
+ : null;
+ },
+ keywords_Xml = ({ schema: s, getSystem: o }) => {
+ const i = s?.xml || {},
+ { fn: u, getComponent: _ } = o(),
+ { useIsExpandedDeeply: w, useComponent: x } = u.jsonSchema202012,
+ C = w(),
+ j = !!(i.name || i.namespace || i.prefix),
+ [L, B] = (0, Pe.useState)(C),
+ [$, V] = (0, Pe.useState)(!1),
+ U = x('Accordion'),
+ z = x('ExpandDeepButton'),
+ Y = _('JSONSchema202012DeepExpansionContext')(),
+ Z = (0, Pe.useCallback)(() => {
+ B((s) => !s);
+ }, []),
+ ee = (0, Pe.useCallback)((s, o) => {
+ B(o), V(o);
+ }, []);
+ return 0 === Object.keys(i).length
+ ? null
+ : Pe.createElement(
+ Y.Provider,
+ { value: $ },
+ Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--xml' },
+ j
+ ? Pe.createElement(
+ Pe.Fragment,
+ null,
+ Pe.createElement(
+ U,
+ { expanded: L, onChange: Z },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'XML'
+ )
+ ),
+ Pe.createElement(z, { expanded: L, onClick: ee })
+ )
+ : Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'XML'
+ ),
+ !0 === i.attribute &&
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--muted'
+ },
+ 'attribute'
+ ),
+ !0 === i.wrapped &&
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--muted'
+ },
+ 'wrapped'
+ ),
+ Pe.createElement(
+ 'strong',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--primary'
+ },
+ 'object'
+ ),
+ Pe.createElement(
+ 'ul',
+ {
+ className: Hn()('json-schema-2020-12-keyword__children', {
+ 'json-schema-2020-12-keyword__children--collapsed': !L
+ })
+ },
+ L &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ i.name &&
+ Pe.createElement(
+ 'li',
+ { className: 'json-schema-2020-12-property' },
+ Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword'
+ },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'name'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ i.name
+ )
+ )
+ ),
+ i.namespace &&
+ Pe.createElement(
+ 'li',
+ { className: 'json-schema-2020-12-property' },
+ Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'namespace'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ i.namespace
+ )
+ )
+ ),
+ i.prefix &&
+ Pe.createElement(
+ 'li',
+ { className: 'json-schema-2020-12-property' },
+ Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'prefix'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ i.prefix
+ )
+ )
+ )
+ )
+ )
+ )
+ );
+ },
+ Discriminator_DiscriminatorMapping = ({ discriminator: s }) => {
+ const o = s?.mapping || {};
+ return 0 === Object.keys(o).length
+ ? null
+ : Object.entries(o).map(([s, o]) =>
+ Pe.createElement(
+ 'div',
+ { key: `${s}-${o}`, className: 'json-schema-2020-12-keyword' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ s
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ o
+ )
+ )
+ );
+ },
+ keywords_Discriminator_Discriminator = ({ schema: s, getSystem: o }) => {
+ const i = s?.discriminator || {},
+ { fn: u, getComponent: _ } = o(),
+ { useIsExpandedDeeply: w, useComponent: x } = u.jsonSchema202012,
+ C = w(),
+ j = !!i.mapping,
+ [L, B] = (0, Pe.useState)(C),
+ [$, V] = (0, Pe.useState)(!1),
+ U = x('Accordion'),
+ z = x('ExpandDeepButton'),
+ Y = _('JSONSchema202012DeepExpansionContext')(),
+ Z = (0, Pe.useCallback)(() => {
+ B((s) => !s);
+ }, []),
+ ee = (0, Pe.useCallback)((s, o) => {
+ B(o), V(o);
+ }, []);
+ return 0 === Object.keys(i).length
+ ? null
+ : Pe.createElement(
+ Y.Provider,
+ { value: $ },
+ Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--discriminator'
+ },
+ j
+ ? Pe.createElement(
+ Pe.Fragment,
+ null,
+ Pe.createElement(
+ U,
+ { expanded: L, onChange: Z },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'Discriminator'
+ )
+ ),
+ Pe.createElement(z, { expanded: L, onClick: ee })
+ )
+ : Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'Discriminator'
+ ),
+ i.propertyName &&
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--muted'
+ },
+ i.propertyName
+ ),
+ Pe.createElement(
+ 'strong',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--primary'
+ },
+ 'object'
+ ),
+ Pe.createElement(
+ 'ul',
+ {
+ className: Hn()('json-schema-2020-12-keyword__children', {
+ 'json-schema-2020-12-keyword__children--collapsed': !L
+ })
+ },
+ L &&
+ Pe.createElement(
+ 'li',
+ { className: 'json-schema-2020-12-property' },
+ Pe.createElement(Discriminator_DiscriminatorMapping, { discriminator: i })
+ )
+ )
+ )
+ );
+ },
+ keywords_ExternalDocs = ({ schema: s, getSystem: o }) => {
+ const i = s?.externalDocs || {},
+ { fn: u, getComponent: _ } = o(),
+ { useIsExpandedDeeply: w, useComponent: x } = u.jsonSchema202012,
+ C = w(),
+ j = !(!i.description && !i.url),
+ [L, B] = (0, Pe.useState)(C),
+ [$, V] = (0, Pe.useState)(!1),
+ U = x('Accordion'),
+ z = x('ExpandDeepButton'),
+ Y = _('JSONSchema202012KeywordDescription'),
+ Z = _('Link'),
+ ee = _('JSONSchema202012DeepExpansionContext')(),
+ ie = (0, Pe.useCallback)(() => {
+ B((s) => !s);
+ }, []),
+ ae = (0, Pe.useCallback)((s, o) => {
+ B(o), V(o);
+ }, []);
+ return 0 === Object.keys(i).length
+ ? null
+ : Pe.createElement(
+ ee.Provider,
+ { value: $ },
+ Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--externalDocs'
+ },
+ j
+ ? Pe.createElement(
+ Pe.Fragment,
+ null,
+ Pe.createElement(
+ U,
+ { expanded: L, onChange: ie },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'External documentation'
+ )
+ ),
+ Pe.createElement(z, { expanded: L, onClick: ae })
+ )
+ : Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'External documentation'
+ ),
+ Pe.createElement(
+ 'strong',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--primary'
+ },
+ 'object'
+ ),
+ Pe.createElement(
+ 'ul',
+ {
+ className: Hn()('json-schema-2020-12-keyword__children', {
+ 'json-schema-2020-12-keyword__children--collapsed': !L
+ })
+ },
+ L &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ i.description &&
+ Pe.createElement(
+ 'li',
+ { className: 'json-schema-2020-12-property' },
+ Pe.createElement(Y, { schema: i, getSystem: o })
+ ),
+ i.url &&
+ Pe.createElement(
+ 'li',
+ { className: 'json-schema-2020-12-property' },
+ Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword'
+ },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ 'url'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ Pe.createElement(
+ Z,
+ { target: '_blank', href: sanitizeUrl(i.url) },
+ i.url
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ );
+ },
+ keywords_Description = ({ schema: s, getSystem: o }) => {
+ if (!s?.description) return null;
+ const { getComponent: i } = o(),
+ u = i('Markdown');
+ return Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--description' },
+ Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary'
+ },
+ Pe.createElement(u, { source: s.description })
+ )
+ );
+ },
+ $j = createOnlyOAS31ComponentWrapper(keywords_Description),
+ zj = createOnlyOAS31ComponentWrapper(
+ ({ schema: s, getSystem: o, originalComponent: i }) => {
+ const { getComponent: u } = o(),
+ _ = u('JSONSchema202012KeywordDiscriminator'),
+ w = u('JSONSchema202012KeywordXml'),
+ x = u('JSONSchema202012KeywordExample'),
+ C = u('JSONSchema202012KeywordExternalDocs');
+ return Pe.createElement(
+ Pe.Fragment,
+ null,
+ Pe.createElement(i, { schema: s }),
+ Pe.createElement(_, { schema: s, getSystem: o }),
+ Pe.createElement(w, { schema: s, getSystem: o }),
+ Pe.createElement(C, { schema: s, getSystem: o }),
+ Pe.createElement(x, { schema: s, getSystem: o })
+ );
+ }
+ ),
+ Kj = zj,
+ keywords_Properties = ({ schema: s, getSystem: o }) => {
+ const { fn: i } = o(),
+ { useComponent: u } = i.jsonSchema202012,
+ { getDependentRequired: _, getProperties: w } = i.jsonSchema202012.useFn(),
+ x = i.jsonSchema202012.useConfig(),
+ C = Array.isArray(s?.required) ? s.required : [],
+ j = u('JSONSchema'),
+ L = w(s, x);
+ return 0 === Object.keys(L).length
+ ? null
+ : Pe.createElement(
+ 'div',
+ {
+ className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--properties'
+ },
+ Pe.createElement(
+ 'ul',
+ null,
+ Object.entries(L).map(([o, i]) => {
+ const u = C.includes(o),
+ w = _(o, s);
+ return Pe.createElement(
+ 'li',
+ {
+ key: o,
+ className: Hn()('json-schema-2020-12-property', {
+ 'json-schema-2020-12-property--required': u
+ })
+ },
+ Pe.createElement(j, { name: o, schema: i, dependentRequired: w })
+ );
+ })
+ )
+ );
+ },
+ Jj = createOnlyOAS31ComponentWrapper(keywords_Properties),
+ getProperties = (s, { includeReadOnly: o, includeWriteOnly: i }) => {
+ if (!s?.properties) return {};
+ const u = Object.entries(s.properties).filter(
+ ([, s]) => (!(!0 === s?.readOnly) || o) && (!(!0 === s?.writeOnly) || i)
+ );
+ return Object.fromEntries(u);
+ };
+ const Gj = function oas31_after_load_afterLoad({ fn: s, getSystem: o }) {
+ if (s.jsonSchema202012) {
+ const i = ((s, o) => {
+ const { fn: i } = o();
+ if ('function' != typeof s) return null;
+ const { hasKeyword: u } = i.jsonSchema202012;
+ return (o) =>
+ s(o) || u(o, 'example') || o?.xml || o?.discriminator || o?.externalDocs;
+ })(s.jsonSchema202012.isExpandable, o);
+ Object.assign(this.fn.jsonSchema202012, { isExpandable: i, getProperties });
+ }
+ if ('function' == typeof s.sampleFromSchema && s.jsonSchema202012) {
+ const i = ((s, o) => {
+ const { fn: i, specSelectors: u } = o;
+ return Object.fromEntries(
+ Object.entries(s).map(([s, o]) => {
+ const _ = i[s];
+ return [
+ s,
+ (...s) => (u.isOAS31() ? o(...s) : 'function' == typeof _ ? _(...s) : void 0)
+ ];
+ })
+ );
+ })(
+ {
+ sampleFromSchema: s.jsonSchema202012.sampleFromSchema,
+ sampleFromSchemaGeneric: s.jsonSchema202012.sampleFromSchemaGeneric,
+ createXMLExample: s.jsonSchema202012.createXMLExample,
+ memoizedSampleFromSchema: s.jsonSchema202012.memoizedSampleFromSchema,
+ memoizedCreateXMLExample: s.jsonSchema202012.memoizedCreateXMLExample,
+ getJsonSampleSchema: s.jsonSchema202012.getJsonSampleSchema,
+ getYamlSampleSchema: s.jsonSchema202012.getYamlSampleSchema,
+ getXmlSampleSchema: s.jsonSchema202012.getXmlSampleSchema,
+ getSampleSchema: s.jsonSchema202012.getSampleSchema,
+ mergeJsonSchema: s.jsonSchema202012.mergeJsonSchema
+ },
+ o()
+ );
+ Object.assign(this.fn, i);
+ }
+ },
+ oas31 = ({ fn: s }) => {
+ const o = s.createSystemSelector || fn_createSystemSelector,
+ i = s.createOnlyOAS31Selector || fn_createOnlyOAS31Selector;
+ return {
+ afterLoad: Gj,
+ fn: {
+ isOAS31,
+ createSystemSelector: fn_createSystemSelector,
+ createOnlyOAS31Selector: fn_createOnlyOAS31Selector
+ },
+ components: {
+ Webhooks: webhooks,
+ JsonSchemaDialect: json_schema_dialect,
+ MutualTLSAuth: mutual_tls_auth,
+ OAS31Info: oas31_components_info,
+ OAS31License: oas31_components_license,
+ OAS31Contact: oas31_components_contact,
+ OAS31VersionPragmaFilter: version_pragma_filter,
+ OAS31Model: FA,
+ OAS31Models: models,
+ OAS31Auths: qA,
+ JSONSchema202012KeywordExample: keywords_Example,
+ JSONSchema202012KeywordXml: keywords_Xml,
+ JSONSchema202012KeywordDiscriminator: keywords_Discriminator_Discriminator,
+ JSONSchema202012KeywordExternalDocs: keywords_ExternalDocs
+ },
+ wrapComponents: {
+ InfoContainer: UA,
+ License: $A,
+ Contact: VA,
+ VersionPragmaFilter: wrap_components_version_pragma_filter,
+ Model: WA,
+ Models: HA,
+ AuthItem: GA,
+ auths: YA,
+ JSONSchema202012KeywordDescription: $j,
+ JSONSchema202012KeywordDefault: Kj,
+ JSONSchema202012KeywordProperties: Jj
+ },
+ statePlugins: {
+ auth: { wrapSelectors: { definitionsToAuthorize: Nj } },
+ spec: {
+ selectors: {
+ isOAS31: o(ZA),
+ license: selectors_license,
+ selectLicenseNameField,
+ selectLicenseUrlField,
+ selectLicenseIdentifierField: i(selectLicenseIdentifierField),
+ selectLicenseUrl: o(ej),
+ contact: selectors_contact,
+ selectContactNameField,
+ selectContactEmailField,
+ selectContactUrlField,
+ selectContactUrl: o(fj),
+ selectInfoTitleField,
+ selectInfoSummaryField: i(selectInfoSummaryField),
+ selectInfoDescriptionField,
+ selectInfoTermsOfServiceField,
+ selectInfoTermsOfServiceUrl: o(mj),
+ selectExternalDocsDescriptionField,
+ selectExternalDocsUrlField,
+ selectExternalDocsUrl: o(_j),
+ webhooks: i(selectors_webhooks),
+ selectWebhooksOperations: i(o(QA)),
+ selectJsonSchemaDialectField,
+ selectJsonSchemaDialectDefault,
+ selectSchemas: o(Cj)
+ },
+ wrapSelectors: { isOAS3: wrap_selectors_isOAS3, selectLicenseUrl: Aj }
+ },
+ oas31: { selectors: { selectLicenseUrl: i(o(Bj)) } }
+ }
+ };
+ },
+ Xj = ts().object,
+ eI = ts().bool,
+ tI = (ts().oneOfType([Xj, eI]), (0, Pe.createContext)(null));
+ tI.displayName = 'JSONSchemaContext';
+ const rI = (0, Pe.createContext)(0);
+ rI.displayName = 'JSONSchemaLevelContext';
+ const nI = (0, Pe.createContext)(!1);
+ nI.displayName = 'JSONSchemaDeepExpansionContext';
+ const sI = (0, Pe.createContext)(new Set()),
+ useConfig = () => {
+ const { config: s } = (0, Pe.useContext)(tI);
+ return s;
+ },
+ useComponent = (s) => {
+ const { components: o } = (0, Pe.useContext)(tI);
+ return o[s] || null;
+ },
+ useFn = (s = void 0) => {
+ const { fn: o } = (0, Pe.useContext)(tI);
+ return void 0 !== s ? o[s] : o;
+ },
+ useLevel = () => {
+ const s = (0, Pe.useContext)(rI);
+ return [s, s + 1];
+ },
+ useIsExpanded = () => {
+ const [s] = useLevel(),
+ { defaultExpandedLevels: o } = useConfig();
+ return o - s > 0;
+ },
+ useIsExpandedDeeply = () => (0, Pe.useContext)(nI),
+ useRenderedSchemas = (s = void 0) => {
+ if (void 0 === s) return (0, Pe.useContext)(sI);
+ const o = (0, Pe.useContext)(sI);
+ return new Set([...o, s]);
+ },
+ oI = (0, Pe.forwardRef)(
+ ({ schema: s, name: o = '', dependentRequired: i = [], onExpand: u = () => {} }, _) => {
+ const w = useFn(),
+ x = useIsExpanded(),
+ C = useIsExpandedDeeply(),
+ [j, L] = (0, Pe.useState)(x || C),
+ [B, $] = (0, Pe.useState)(C),
+ [V, U] = useLevel(),
+ z = (() => {
+ const [s] = useLevel();
+ return s > 0;
+ })(),
+ Y = w.isExpandable(s) || i.length > 0,
+ Z = ((s) => useRenderedSchemas().has(s))(s),
+ ee = useRenderedSchemas(s),
+ ie = w.stringifyConstraints(s),
+ ae = useComponent('Accordion'),
+ le = useComponent('Keyword$schema'),
+ ce = useComponent('Keyword$vocabulary'),
+ pe = useComponent('Keyword$id'),
+ de = useComponent('Keyword$anchor'),
+ fe = useComponent('Keyword$dynamicAnchor'),
+ ye = useComponent('Keyword$ref'),
+ be = useComponent('Keyword$dynamicRef'),
+ _e = useComponent('Keyword$defs'),
+ we = useComponent('Keyword$comment'),
+ Se = useComponent('KeywordAllOf'),
+ xe = useComponent('KeywordAnyOf'),
+ Te = useComponent('KeywordOneOf'),
+ Re = useComponent('KeywordNot'),
+ qe = useComponent('KeywordIf'),
+ $e = useComponent('KeywordThen'),
+ ze = useComponent('KeywordElse'),
+ We = useComponent('KeywordDependentSchemas'),
+ He = useComponent('KeywordPrefixItems'),
+ Ye = useComponent('KeywordItems'),
+ Xe = useComponent('KeywordContains'),
+ Qe = useComponent('KeywordProperties'),
+ et = useComponent('KeywordPatternProperties'),
+ tt = useComponent('KeywordAdditionalProperties'),
+ rt = useComponent('KeywordPropertyNames'),
+ nt = useComponent('KeywordUnevaluatedItems'),
+ st = useComponent('KeywordUnevaluatedProperties'),
+ ot = useComponent('KeywordType'),
+ it = useComponent('KeywordEnum'),
+ at = useComponent('KeywordConst'),
+ lt = useComponent('KeywordConstraint'),
+ ct = useComponent('KeywordDependentRequired'),
+ ut = useComponent('KeywordContentSchema'),
+ pt = useComponent('KeywordTitle'),
+ ht = useComponent('KeywordDescription'),
+ dt = useComponent('KeywordDefault'),
+ mt = useComponent('KeywordDeprecated'),
+ gt = useComponent('KeywordReadOnly'),
+ yt = useComponent('KeywordWriteOnly'),
+ vt = useComponent('ExpandDeepButton');
+ (0, Pe.useEffect)(() => {
+ $(C);
+ }, [C]),
+ (0, Pe.useEffect)(() => {
+ $(B);
+ }, [B]);
+ const bt = (0, Pe.useCallback)(
+ (s, o) => {
+ L(o), !o && $(!1), u(s, o, !1);
+ },
+ [u]
+ ),
+ _t = (0, Pe.useCallback)(
+ (s, o) => {
+ L(o), $(o), u(s, o, !0);
+ },
+ [u]
+ );
+ return Pe.createElement(
+ rI.Provider,
+ { value: U },
+ Pe.createElement(
+ nI.Provider,
+ { value: B },
+ Pe.createElement(
+ sI.Provider,
+ { value: ee },
+ Pe.createElement(
+ 'article',
+ {
+ ref: _,
+ 'data-json-schema-level': V,
+ className: Hn()('json-schema-2020-12', {
+ 'json-schema-2020-12--embedded': z,
+ 'json-schema-2020-12--circular': Z
+ })
+ },
+ Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-head' },
+ Y && !Z
+ ? Pe.createElement(
+ Pe.Fragment,
+ null,
+ Pe.createElement(
+ ae,
+ { expanded: j, onChange: bt },
+ Pe.createElement(pt, { title: o, schema: s })
+ ),
+ Pe.createElement(vt, { expanded: j, onClick: _t })
+ )
+ : Pe.createElement(pt, { title: o, schema: s }),
+ Pe.createElement(mt, { schema: s }),
+ Pe.createElement(gt, { schema: s }),
+ Pe.createElement(yt, { schema: s }),
+ Pe.createElement(ot, { schema: s, isCircular: Z }),
+ ie.length > 0 &&
+ ie.map((s) =>
+ Pe.createElement(lt, { key: `${s.scope}-${s.value}`, constraint: s })
+ )
+ ),
+ Pe.createElement(
+ 'div',
+ {
+ className: Hn()('json-schema-2020-12-body', {
+ 'json-schema-2020-12-body--collapsed': !j
+ })
+ },
+ j &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ Pe.createElement(ht, { schema: s }),
+ !Z &&
+ Y &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ Pe.createElement(Qe, { schema: s }),
+ Pe.createElement(et, { schema: s }),
+ Pe.createElement(tt, { schema: s }),
+ Pe.createElement(st, { schema: s }),
+ Pe.createElement(rt, { schema: s }),
+ Pe.createElement(Se, { schema: s }),
+ Pe.createElement(xe, { schema: s }),
+ Pe.createElement(Te, { schema: s }),
+ Pe.createElement(Re, { schema: s }),
+ Pe.createElement(qe, { schema: s }),
+ Pe.createElement($e, { schema: s }),
+ Pe.createElement(ze, { schema: s }),
+ Pe.createElement(We, { schema: s }),
+ Pe.createElement(He, { schema: s }),
+ Pe.createElement(Ye, { schema: s }),
+ Pe.createElement(nt, { schema: s }),
+ Pe.createElement(Xe, { schema: s }),
+ Pe.createElement(ut, { schema: s })
+ ),
+ Pe.createElement(it, { schema: s }),
+ Pe.createElement(at, { schema: s }),
+ Pe.createElement(ct, { schema: s, dependentRequired: i }),
+ Pe.createElement(dt, { schema: s }),
+ Pe.createElement(le, { schema: s }),
+ Pe.createElement(ce, { schema: s }),
+ Pe.createElement(pe, { schema: s }),
+ Pe.createElement(de, { schema: s }),
+ Pe.createElement(fe, { schema: s }),
+ Pe.createElement(ye, { schema: s }),
+ !Z && Y && Pe.createElement(_e, { schema: s }),
+ Pe.createElement(be, { schema: s }),
+ Pe.createElement(we, { schema: s })
+ )
+ )
+ )
+ )
+ )
+ );
+ }
+ ),
+ iI = oI,
+ keywords_$schema = ({ schema: s }) =>
+ s?.$schema
+ ? Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--$schema' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ '$schema'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ s.$schema
+ )
+ )
+ : null,
+ $vocabulary_$vocabulary = ({ schema: s }) => {
+ const o = useIsExpanded(),
+ i = useIsExpandedDeeply(),
+ [u, _] = (0, Pe.useState)(o || i),
+ w = useComponent('Accordion'),
+ x = (0, Pe.useCallback)(() => {
+ _((s) => !s);
+ }, []);
+ return s?.$vocabulary
+ ? 'object' != typeof s.$vocabulary
+ ? null
+ : Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--$vocabulary'
+ },
+ Pe.createElement(
+ w,
+ { expanded: u, onChange: x },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ '$vocabulary'
+ )
+ ),
+ Pe.createElement(
+ 'strong',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--primary'
+ },
+ 'object'
+ ),
+ Pe.createElement(
+ 'ul',
+ null,
+ u &&
+ Object.entries(s.$vocabulary).map(([s, o]) =>
+ Pe.createElement(
+ 'li',
+ {
+ key: s,
+ className: Hn()('json-schema-2020-12-$vocabulary-uri', {
+ 'json-schema-2020-12-$vocabulary-uri--disabled': !o
+ })
+ },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ s
+ )
+ )
+ )
+ )
+ )
+ : null;
+ },
+ keywords_$id = ({ schema: s }) =>
+ s?.$id
+ ? Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--$id' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ '$id'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ s.$id
+ )
+ )
+ : null,
+ keywords_$anchor = ({ schema: s }) =>
+ s?.$anchor
+ ? Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--$anchor' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ '$anchor'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ s.$anchor
+ )
+ )
+ : null,
+ keywords_$dynamicAnchor = ({ schema: s }) =>
+ s?.$dynamicAnchor
+ ? Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicAnchor'
+ },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ '$dynamicAnchor'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ s.$dynamicAnchor
+ )
+ )
+ : null,
+ keywords_$ref = ({ schema: s }) =>
+ s?.$ref
+ ? Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--$ref' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ '$ref'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ s.$ref
+ )
+ )
+ : null,
+ keywords_$dynamicRef = ({ schema: s }) =>
+ s?.$dynamicRef
+ ? Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicRef'
+ },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ '$dynamicRef'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ s.$dynamicRef
+ )
+ )
+ : null,
+ keywords_$defs = ({ schema: s }) => {
+ const o = s?.$defs || {},
+ i = useIsExpanded(),
+ u = useIsExpandedDeeply(),
+ [_, w] = (0, Pe.useState)(i || u),
+ [x, C] = (0, Pe.useState)(!1),
+ j = useComponent('Accordion'),
+ L = useComponent('ExpandDeepButton'),
+ B = useComponent('JSONSchema'),
+ $ = (0, Pe.useCallback)(() => {
+ w((s) => !s);
+ }, []),
+ V = (0, Pe.useCallback)((s, o) => {
+ w(o), C(o);
+ }, []);
+ return 0 === Object.keys(o).length
+ ? null
+ : Pe.createElement(
+ nI.Provider,
+ { value: x },
+ Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--$defs' },
+ Pe.createElement(
+ j,
+ { expanded: _, onChange: $ },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ '$defs'
+ )
+ ),
+ Pe.createElement(L, { expanded: _, onClick: V }),
+ Pe.createElement(
+ 'strong',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--primary'
+ },
+ 'object'
+ ),
+ Pe.createElement(
+ 'ul',
+ {
+ className: Hn()('json-schema-2020-12-keyword__children', {
+ 'json-schema-2020-12-keyword__children--collapsed': !_
+ })
+ },
+ _ &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ Object.entries(o).map(([s, o]) =>
+ Pe.createElement(
+ 'li',
+ { key: s, className: 'json-schema-2020-12-property' },
+ Pe.createElement(B, { name: s, schema: o })
+ )
+ )
+ )
+ )
+ )
+ );
+ },
+ keywords_$comment = ({ schema: s }) =>
+ s?.$comment
+ ? Pe.createElement(
+ 'div',
+ {
+ className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--$comment'
+ },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary'
+ },
+ '$comment'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary'
+ },
+ s.$comment
+ )
+ )
+ : null,
+ keywords_AllOf = ({ schema: s }) => {
+ const o = s?.allOf || [],
+ i = useFn(),
+ u = useIsExpanded(),
+ _ = useIsExpandedDeeply(),
+ [w, x] = (0, Pe.useState)(u || _),
+ [C, j] = (0, Pe.useState)(!1),
+ L = useComponent('Accordion'),
+ B = useComponent('ExpandDeepButton'),
+ $ = useComponent('JSONSchema'),
+ V = useComponent('KeywordType'),
+ U = (0, Pe.useCallback)(() => {
+ x((s) => !s);
+ }, []),
+ z = (0, Pe.useCallback)((s, o) => {
+ x(o), j(o);
+ }, []);
+ return Array.isArray(o) && 0 !== o.length
+ ? Pe.createElement(
+ nI.Provider,
+ { value: C },
+ Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--allOf' },
+ Pe.createElement(
+ L,
+ { expanded: w, onChange: U },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'All of'
+ )
+ ),
+ Pe.createElement(B, { expanded: w, onClick: z }),
+ Pe.createElement(V, { schema: { allOf: o } }),
+ Pe.createElement(
+ 'ul',
+ {
+ className: Hn()('json-schema-2020-12-keyword__children', {
+ 'json-schema-2020-12-keyword__children--collapsed': !w
+ })
+ },
+ w &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ o.map((s, o) =>
+ Pe.createElement(
+ 'li',
+ { key: `#${o}`, className: 'json-schema-2020-12-property' },
+ Pe.createElement($, { name: `#${o} ${i.getTitle(s)}`, schema: s })
+ )
+ )
+ )
+ )
+ )
+ )
+ : null;
+ },
+ keywords_AnyOf = ({ schema: s }) => {
+ const o = s?.anyOf || [],
+ i = useFn(),
+ u = useIsExpanded(),
+ _ = useIsExpandedDeeply(),
+ [w, x] = (0, Pe.useState)(u || _),
+ [C, j] = (0, Pe.useState)(!1),
+ L = useComponent('Accordion'),
+ B = useComponent('ExpandDeepButton'),
+ $ = useComponent('JSONSchema'),
+ V = useComponent('KeywordType'),
+ U = (0, Pe.useCallback)(() => {
+ x((s) => !s);
+ }, []),
+ z = (0, Pe.useCallback)((s, o) => {
+ x(o), j(o);
+ }, []);
+ return Array.isArray(o) && 0 !== o.length
+ ? Pe.createElement(
+ nI.Provider,
+ { value: C },
+ Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--anyOf' },
+ Pe.createElement(
+ L,
+ { expanded: w, onChange: U },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Any of'
+ )
+ ),
+ Pe.createElement(B, { expanded: w, onClick: z }),
+ Pe.createElement(V, { schema: { anyOf: o } }),
+ Pe.createElement(
+ 'ul',
+ {
+ className: Hn()('json-schema-2020-12-keyword__children', {
+ 'json-schema-2020-12-keyword__children--collapsed': !w
+ })
+ },
+ w &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ o.map((s, o) =>
+ Pe.createElement(
+ 'li',
+ { key: `#${o}`, className: 'json-schema-2020-12-property' },
+ Pe.createElement($, { name: `#${o} ${i.getTitle(s)}`, schema: s })
+ )
+ )
+ )
+ )
+ )
+ )
+ : null;
+ },
+ keywords_OneOf = ({ schema: s }) => {
+ const o = s?.oneOf || [],
+ i = useFn(),
+ u = useIsExpanded(),
+ _ = useIsExpandedDeeply(),
+ [w, x] = (0, Pe.useState)(u || _),
+ [C, j] = (0, Pe.useState)(!1),
+ L = useComponent('Accordion'),
+ B = useComponent('ExpandDeepButton'),
+ $ = useComponent('JSONSchema'),
+ V = useComponent('KeywordType'),
+ U = (0, Pe.useCallback)(() => {
+ x((s) => !s);
+ }, []),
+ z = (0, Pe.useCallback)((s, o) => {
+ x(o), j(o);
+ }, []);
+ return Array.isArray(o) && 0 !== o.length
+ ? Pe.createElement(
+ nI.Provider,
+ { value: C },
+ Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--oneOf' },
+ Pe.createElement(
+ L,
+ { expanded: w, onChange: U },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'One of'
+ )
+ ),
+ Pe.createElement(B, { expanded: w, onClick: z }),
+ Pe.createElement(V, { schema: { oneOf: o } }),
+ Pe.createElement(
+ 'ul',
+ {
+ className: Hn()('json-schema-2020-12-keyword__children', {
+ 'json-schema-2020-12-keyword__children--collapsed': !w
+ })
+ },
+ w &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ o.map((s, o) =>
+ Pe.createElement(
+ 'li',
+ { key: `#${o}`, className: 'json-schema-2020-12-property' },
+ Pe.createElement($, { name: `#${o} ${i.getTitle(s)}`, schema: s })
+ )
+ )
+ )
+ )
+ )
+ )
+ : null;
+ },
+ keywords_Not = ({ schema: s }) => {
+ const o = useFn(),
+ i = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'not')) return null;
+ const u = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Not'
+ );
+ return Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--not' },
+ Pe.createElement(i, { name: u, schema: s.not })
+ );
+ },
+ keywords_If = ({ schema: s }) => {
+ const o = useFn(),
+ i = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'if')) return null;
+ const u = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'If'
+ );
+ return Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--if' },
+ Pe.createElement(i, { name: u, schema: s.if })
+ );
+ },
+ keywords_Then = ({ schema: s }) => {
+ const o = useFn(),
+ i = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'then')) return null;
+ const u = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Then'
+ );
+ return Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--then' },
+ Pe.createElement(i, { name: u, schema: s.then })
+ );
+ },
+ keywords_Else = ({ schema: s }) => {
+ const o = useFn(),
+ i = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'else')) return null;
+ const u = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Else'
+ );
+ return Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--if' },
+ Pe.createElement(i, { name: u, schema: s.else })
+ );
+ },
+ keywords_DependentSchemas = ({ schema: s }) => {
+ const o = s?.dependentSchemas || [],
+ i = useIsExpanded(),
+ u = useIsExpandedDeeply(),
+ [_, w] = (0, Pe.useState)(i || u),
+ [x, C] = (0, Pe.useState)(!1),
+ j = useComponent('Accordion'),
+ L = useComponent('ExpandDeepButton'),
+ B = useComponent('JSONSchema'),
+ $ = (0, Pe.useCallback)(() => {
+ w((s) => !s);
+ }, []),
+ V = (0, Pe.useCallback)((s, o) => {
+ w(o), C(o);
+ }, []);
+ return 'object' != typeof o || 0 === Object.keys(o).length
+ ? null
+ : Pe.createElement(
+ nI.Provider,
+ { value: x },
+ Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentSchemas'
+ },
+ Pe.createElement(
+ j,
+ { expanded: _, onChange: $ },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Dependent schemas'
+ )
+ ),
+ Pe.createElement(L, { expanded: _, onClick: V }),
+ Pe.createElement(
+ 'strong',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--primary'
+ },
+ 'object'
+ ),
+ Pe.createElement(
+ 'ul',
+ {
+ className: Hn()('json-schema-2020-12-keyword__children', {
+ 'json-schema-2020-12-keyword__children--collapsed': !_
+ })
+ },
+ _ &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ Object.entries(o).map(([s, o]) =>
+ Pe.createElement(
+ 'li',
+ { key: s, className: 'json-schema-2020-12-property' },
+ Pe.createElement(B, { name: s, schema: o })
+ )
+ )
+ )
+ )
+ )
+ );
+ },
+ keywords_PrefixItems = ({ schema: s }) => {
+ const o = s?.prefixItems || [],
+ i = useFn(),
+ u = useIsExpanded(),
+ _ = useIsExpandedDeeply(),
+ [w, x] = (0, Pe.useState)(u || _),
+ [C, j] = (0, Pe.useState)(!1),
+ L = useComponent('Accordion'),
+ B = useComponent('ExpandDeepButton'),
+ $ = useComponent('JSONSchema'),
+ V = useComponent('KeywordType'),
+ U = (0, Pe.useCallback)(() => {
+ x((s) => !s);
+ }, []),
+ z = (0, Pe.useCallback)((s, o) => {
+ x(o), j(o);
+ }, []);
+ return Array.isArray(o) && 0 !== o.length
+ ? Pe.createElement(
+ nI.Provider,
+ { value: C },
+ Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--prefixItems'
+ },
+ Pe.createElement(
+ L,
+ { expanded: w, onChange: U },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Prefix items'
+ )
+ ),
+ Pe.createElement(B, { expanded: w, onClick: z }),
+ Pe.createElement(V, { schema: { prefixItems: o } }),
+ Pe.createElement(
+ 'ul',
+ {
+ className: Hn()('json-schema-2020-12-keyword__children', {
+ 'json-schema-2020-12-keyword__children--collapsed': !w
+ })
+ },
+ w &&
+ Pe.createElement(
+ Pe.Fragment,
+ null,
+ o.map((s, o) =>
+ Pe.createElement(
+ 'li',
+ { key: `#${o}`, className: 'json-schema-2020-12-property' },
+ Pe.createElement($, { name: `#${o} ${i.getTitle(s)}`, schema: s })
+ )
+ )
+ )
+ )
+ )
+ )
+ : null;
+ },
+ keywords_Items = ({ schema: s }) => {
+ const o = useFn(),
+ i = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'items')) return null;
+ const u = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Items'
+ );
+ return Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--items' },
+ Pe.createElement(i, { name: u, schema: s.items })
+ );
+ },
+ keywords_Contains = ({ schema: s }) => {
+ const o = useFn(),
+ i = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'contains')) return null;
+ const u = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Contains'
+ );
+ return Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--contains' },
+ Pe.createElement(i, { name: u, schema: s.contains })
+ );
+ },
+ keywords_Properties_Properties = ({ schema: s }) => {
+ const o = useFn(),
+ i = s?.properties || {},
+ u = Array.isArray(s?.required) ? s.required : [],
+ _ = useComponent('JSONSchema');
+ return 0 === Object.keys(i).length
+ ? null
+ : Pe.createElement(
+ 'div',
+ {
+ className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--properties'
+ },
+ Pe.createElement(
+ 'ul',
+ null,
+ Object.entries(i).map(([i, w]) => {
+ const x = u.includes(i),
+ C = o.getDependentRequired(i, s);
+ return Pe.createElement(
+ 'li',
+ {
+ key: i,
+ className: Hn()('json-schema-2020-12-property', {
+ 'json-schema-2020-12-property--required': x
+ })
+ },
+ Pe.createElement(_, { name: i, schema: w, dependentRequired: C })
+ );
+ })
+ )
+ );
+ },
+ PatternProperties_PatternProperties = ({ schema: s }) => {
+ const o = s?.patternProperties || {},
+ i = useComponent('JSONSchema');
+ return 0 === Object.keys(o).length
+ ? null
+ : Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--patternProperties'
+ },
+ Pe.createElement(
+ 'ul',
+ null,
+ Object.entries(o).map(([s, o]) =>
+ Pe.createElement(
+ 'li',
+ { key: s, className: 'json-schema-2020-12-property' },
+ Pe.createElement(i, { name: s, schema: o })
+ )
+ )
+ )
+ );
+ },
+ keywords_AdditionalProperties = ({ schema: s }) => {
+ const o = useFn(),
+ { additionalProperties: i } = s,
+ u = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'additionalProperties')) return null;
+ const _ = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Additional properties'
+ );
+ return Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--additionalProperties'
+ },
+ !0 === i
+ ? Pe.createElement(
+ Pe.Fragment,
+ null,
+ _,
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--primary'
+ },
+ 'allowed'
+ )
+ )
+ : !1 === i
+ ? Pe.createElement(
+ Pe.Fragment,
+ null,
+ _,
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--primary'
+ },
+ 'forbidden'
+ )
+ )
+ : Pe.createElement(u, { name: _, schema: i })
+ );
+ },
+ keywords_PropertyNames = ({ schema: s }) => {
+ const o = useFn(),
+ { propertyNames: i } = s,
+ u = useComponent('JSONSchema'),
+ _ = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Property names'
+ );
+ return o.hasKeyword(s, 'propertyNames')
+ ? Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--propertyNames'
+ },
+ Pe.createElement(u, { name: _, schema: i })
+ )
+ : null;
+ },
+ keywords_UnevaluatedItems = ({ schema: s }) => {
+ const o = useFn(),
+ { unevaluatedItems: i } = s,
+ u = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'unevaluatedItems')) return null;
+ const _ = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Unevaluated items'
+ );
+ return Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedItems'
+ },
+ Pe.createElement(u, { name: _, schema: i })
+ );
+ },
+ keywords_UnevaluatedProperties = ({ schema: s }) => {
+ const o = useFn(),
+ { unevaluatedProperties: i } = s,
+ u = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'unevaluatedProperties')) return null;
+ const _ = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Unevaluated properties'
+ );
+ return Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedProperties'
+ },
+ Pe.createElement(u, { name: _, schema: i })
+ );
+ },
+ keywords_Type = ({ schema: s, isCircular: o = !1 }) => {
+ const i = useFn().getType(s),
+ u = o ? ' [circular]' : '';
+ return Pe.createElement(
+ 'strong',
+ {
+ className: 'json-schema-2020-12__attribute json-schema-2020-12__attribute--primary'
+ },
+ `${i}${u}`
+ );
+ },
+ Enum_Enum = ({ schema: s }) => {
+ const o = useFn();
+ return Array.isArray(s?.enum)
+ ? Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--enum' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Allowed values'
+ ),
+ Pe.createElement(
+ 'ul',
+ null,
+ s.enum.map((s) => {
+ const i = o.stringify(s);
+ return Pe.createElement(
+ 'li',
+ { key: i },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--const'
+ },
+ i
+ )
+ );
+ })
+ )
+ )
+ : null;
+ },
+ keywords_Const = ({ schema: s }) => {
+ const o = useFn();
+ return o.hasKeyword(s, 'const')
+ ? Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--const' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Const'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--const'
+ },
+ o.stringify(s.const)
+ )
+ )
+ : null;
+ },
+ Constraint = ({ constraint: s }) =>
+ Pe.createElement(
+ 'span',
+ {
+ className: `json-schema-2020-12__constraint json-schema-2020-12__constraint--${s.scope}`
+ },
+ s.value
+ ),
+ aI = Pe.memo(Constraint),
+ DependentRequired_DependentRequired = ({ dependentRequired: s }) =>
+ 0 === s.length
+ ? null
+ : Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentRequired'
+ },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Required when defined'
+ ),
+ Pe.createElement(
+ 'ul',
+ null,
+ s.map((s) =>
+ Pe.createElement(
+ 'li',
+ { key: s },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--warning'
+ },
+ s
+ )
+ )
+ )
+ )
+ ),
+ keywords_ContentSchema = ({ schema: s }) => {
+ const o = useFn(),
+ i = useComponent('JSONSchema');
+ if (!o.hasKeyword(s, 'contentSchema')) return null;
+ const u = Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Content schema'
+ );
+ return Pe.createElement(
+ 'div',
+ {
+ className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--contentSchema'
+ },
+ Pe.createElement(i, { name: u, schema: s.contentSchema })
+ );
+ },
+ Title_Title = ({ title: s = '', schema: o }) => {
+ const i = useFn(),
+ u = s || i.getTitle(o);
+ return u
+ ? Pe.createElement('div', { className: 'json-schema-2020-12__title' }, u)
+ : null;
+ },
+ keywords_Description_Description = ({ schema: s }) =>
+ s?.description
+ ? Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-keyword json-schema-2020-12-keyword--description'
+ },
+ Pe.createElement(
+ 'div',
+ {
+ className:
+ 'json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary'
+ },
+ s.description
+ )
+ )
+ : null,
+ keywords_Default = ({ schema: s }) => {
+ const o = useFn();
+ return o.hasKeyword(s, 'default')
+ ? Pe.createElement(
+ 'div',
+ { className: 'json-schema-2020-12-keyword json-schema-2020-12-keyword--default' },
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary'
+ },
+ 'Default'
+ ),
+ Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--const'
+ },
+ o.stringify(s.default)
+ )
+ )
+ : null;
+ },
+ keywords_Deprecated = ({ schema: s }) =>
+ !0 !== s?.deprecated
+ ? null
+ : Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--warning'
+ },
+ 'deprecated'
+ ),
+ keywords_ReadOnly = ({ schema: s }) =>
+ !0 !== s?.readOnly
+ ? null
+ : Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--muted'
+ },
+ 'read-only'
+ ),
+ keywords_WriteOnly = ({ schema: s }) =>
+ !0 !== s?.writeOnly
+ ? null
+ : Pe.createElement(
+ 'span',
+ {
+ className:
+ 'json-schema-2020-12__attribute json-schema-2020-12__attribute--muted'
+ },
+ 'write-only'
+ ),
+ Accordion_Accordion = ({ expanded: s = !1, children: o, onChange: i }) => {
+ const u = useComponent('ChevronRightIcon'),
+ _ = (0, Pe.useCallback)(
+ (o) => {
+ i(o, !s);
+ },
+ [s, i]
+ );
+ return Pe.createElement(
+ 'button',
+ { type: 'button', className: 'json-schema-2020-12-accordion', onClick: _ },
+ Pe.createElement('div', { className: 'json-schema-2020-12-accordion__children' }, o),
+ Pe.createElement(
+ 'span',
+ {
+ className: Hn()('json-schema-2020-12-accordion__icon', {
+ 'json-schema-2020-12-accordion__icon--expanded': s,
+ 'json-schema-2020-12-accordion__icon--collapsed': !s
+ })
+ },
+ Pe.createElement(u, null)
+ )
+ );
+ },
+ ExpandDeepButton_ExpandDeepButton = ({ expanded: s, onClick: o }) => {
+ const i = (0, Pe.useCallback)(
+ (i) => {
+ o(i, !s);
+ },
+ [s, o]
+ );
+ return Pe.createElement(
+ 'button',
+ { type: 'button', className: 'json-schema-2020-12-expand-deep-button', onClick: i },
+ s ? 'Collapse all' : 'Expand all'
+ );
+ },
+ icons_ChevronRight = () =>
+ Pe.createElement(
+ 'svg',
+ {
+ xmlns: 'http://www.w3.org/2000/svg',
+ width: '24',
+ height: '24',
+ viewBox: '0 0 24 24'
+ },
+ Pe.createElement('path', { d: 'M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z' })
+ ),
+ fn_upperFirst = (s) =>
+ 'string' == typeof s ? `${s.charAt(0).toUpperCase()}${s.slice(1)}` : s,
+ getTitle = (s, { lookup: o = 'extended' } = {}) => {
+ const i = useFn();
+ if (null != s?.title) return i.upperFirst(String(s.title));
+ if ('extended' === o) {
+ if (null != s?.$anchor) return i.upperFirst(String(s.$anchor));
+ if (null != s?.$id) return String(s.$id);
+ }
+ return '';
+ },
+ getType = (s, o = new WeakSet()) => {
+ const i = useFn();
+ if (null == s) return 'any';
+ if (i.isBooleanJSONSchema(s)) return s ? 'any' : 'never';
+ if ('object' != typeof s) return 'any';
+ if (o.has(s)) return 'any';
+ o.add(s);
+ const { type: u, prefixItems: _, items: w } = s,
+ getArrayType = () => {
+ if (Array.isArray(_)) {
+ const s = _.map((s) => getType(s, o)),
+ i = w ? getType(w, o) : 'any';
+ return `array<[${s.join(', ')}], ${i}>`;
+ }
+ if (w) {
+ return `array<${getType(w, o)}>`;
+ }
+ return 'array';
+ };
+ if (s.not && 'any' === getType(s.not)) return 'never';
+ const handleCombiningKeywords = (i, u) => {
+ if (Array.isArray(s[i])) {
+ return `(${s[i].map((s) => getType(s, o)).join(u)})`;
+ }
+ return null;
+ },
+ x = [
+ Array.isArray(u)
+ ? u.map((s) => ('array' === s ? getArrayType() : s)).join(' | ')
+ : 'array' === u
+ ? getArrayType()
+ : [
+ 'null',
+ 'boolean',
+ 'object',
+ 'array',
+ 'number',
+ 'integer',
+ 'string'
+ ].includes(u)
+ ? u
+ : (() => {
+ if (
+ Object.hasOwn(s, 'prefixItems') ||
+ Object.hasOwn(s, 'items') ||
+ Object.hasOwn(s, 'contains')
+ )
+ return getArrayType();
+ if (
+ Object.hasOwn(s, 'properties') ||
+ Object.hasOwn(s, 'additionalProperties') ||
+ Object.hasOwn(s, 'patternProperties')
+ )
+ return 'object';
+ if (['int32', 'int64'].includes(s.format)) return 'integer';
+ if (['float', 'double'].includes(s.format)) return 'number';
+ if (
+ Object.hasOwn(s, 'minimum') ||
+ Object.hasOwn(s, 'maximum') ||
+ Object.hasOwn(s, 'exclusiveMinimum') ||
+ Object.hasOwn(s, 'exclusiveMaximum') ||
+ Object.hasOwn(s, 'multipleOf')
+ )
+ return 'number | integer';
+ if (
+ Object.hasOwn(s, 'pattern') ||
+ Object.hasOwn(s, 'format') ||
+ Object.hasOwn(s, 'minLength') ||
+ Object.hasOwn(s, 'maxLength')
+ )
+ return 'string';
+ if (void 0 !== s.const) {
+ if (null === s.const) return 'null';
+ if ('boolean' == typeof s.const) return 'boolean';
+ if ('number' == typeof s.const)
+ return Number.isInteger(s.const) ? 'integer' : 'number';
+ if ('string' == typeof s.const) return 'string';
+ if (Array.isArray(s.const)) return 'array';
+ if ('object' == typeof s.const) return 'object';
+ }
+ return null;
+ })(),
+ handleCombiningKeywords('oneOf', ' | '),
+ handleCombiningKeywords('anyOf', ' | '),
+ handleCombiningKeywords('allOf', ' & ')
+ ]
+ .filter(Boolean)
+ .join(' | ');
+ return o.delete(s), x || 'any';
+ },
+ isBooleanJSONSchema = (s) => 'boolean' == typeof s,
+ hasKeyword = (s, o) => null !== s && 'object' == typeof s && Object.hasOwn(s, o),
+ isExpandable = (s) => {
+ const o = useFn();
+ return (
+ s?.$schema ||
+ s?.$vocabulary ||
+ s?.$id ||
+ s?.$anchor ||
+ s?.$dynamicAnchor ||
+ s?.$ref ||
+ s?.$dynamicRef ||
+ s?.$defs ||
+ s?.$comment ||
+ s?.allOf ||
+ s?.anyOf ||
+ s?.oneOf ||
+ o.hasKeyword(s, 'not') ||
+ o.hasKeyword(s, 'if') ||
+ o.hasKeyword(s, 'then') ||
+ o.hasKeyword(s, 'else') ||
+ s?.dependentSchemas ||
+ s?.prefixItems ||
+ o.hasKeyword(s, 'items') ||
+ o.hasKeyword(s, 'contains') ||
+ s?.properties ||
+ s?.patternProperties ||
+ o.hasKeyword(s, 'additionalProperties') ||
+ o.hasKeyword(s, 'propertyNames') ||
+ o.hasKeyword(s, 'unevaluatedItems') ||
+ o.hasKeyword(s, 'unevaluatedProperties') ||
+ s?.description ||
+ s?.enum ||
+ o.hasKeyword(s, 'const') ||
+ o.hasKeyword(s, 'contentSchema') ||
+ o.hasKeyword(s, 'default')
+ );
+ },
+ fn_stringify = (s) =>
+ null === s || ['number', 'bigint', 'boolean'].includes(typeof s)
+ ? String(s)
+ : Array.isArray(s)
+ ? `[${s.map(fn_stringify).join(', ')}]`
+ : JSON.stringify(s),
+ stringifyConstraintRange = (s, o, i) => {
+ const u = 'number' == typeof o,
+ _ = 'number' == typeof i;
+ return u && _
+ ? o === i
+ ? `${o} ${s}`
+ : `[${o}, ${i}] ${s}`
+ : u
+ ? `>= ${o} ${s}`
+ : _
+ ? `<= ${i} ${s}`
+ : null;
+ },
+ stringifyConstraints = (s) => {
+ const o = [],
+ i = ((s) => {
+ if ('number' != typeof s?.multipleOf) return null;
+ if (s.multipleOf <= 0) return null;
+ if (1 === s.multipleOf) return null;
+ const { multipleOf: o } = s;
+ if (Number.isInteger(o)) return `multiple of ${o}`;
+ const i = 10 ** o.toString().split('.')[1].length;
+ return `multiple of ${o * i}/${i}`;
+ })(s);
+ null !== i && o.push({ scope: 'number', value: i });
+ const u = ((s) => {
+ const o = s?.minimum,
+ i = s?.maximum,
+ u = s?.exclusiveMinimum,
+ _ = s?.exclusiveMaximum,
+ w = 'number' == typeof o,
+ x = 'number' == typeof i,
+ C = 'number' == typeof u,
+ j = 'number' == typeof _,
+ L = C && (!w || o < u),
+ B = j && (!x || i > _);
+ if ((w || C) && (x || j))
+ return `${L ? '(' : '['}${L ? u : o}, ${B ? _ : i}${B ? ')' : ']'}`;
+ if (w || C) return `${L ? '>' : '≥'} ${L ? u : o}`;
+ if (x || j) return `${B ? '<' : '≤'} ${B ? _ : i}`;
+ return null;
+ })(s);
+ null !== u && o.push({ scope: 'number', value: u }),
+ s?.format && o.push({ scope: 'string', value: s.format });
+ const _ = stringifyConstraintRange('characters', s?.minLength, s?.maxLength);
+ null !== _ && o.push({ scope: 'string', value: _ }),
+ s?.pattern && o.push({ scope: 'string', value: `matches ${s?.pattern}` }),
+ s?.contentMediaType &&
+ o.push({ scope: 'string', value: `media type: ${s.contentMediaType}` }),
+ s?.contentEncoding &&
+ o.push({ scope: 'string', value: `encoding: ${s.contentEncoding}` });
+ const w = stringifyConstraintRange(
+ s?.hasUniqueItems ? 'unique items' : 'items',
+ s?.minItems,
+ s?.maxItems
+ );
+ null !== w && o.push({ scope: 'array', value: w });
+ const x = stringifyConstraintRange('contained items', s?.minContains, s?.maxContains);
+ null !== x && o.push({ scope: 'array', value: x });
+ const C = stringifyConstraintRange('properties', s?.minProperties, s?.maxProperties);
+ return null !== C && o.push({ scope: 'object', value: C }), o;
+ },
+ getDependentRequired = (s, o) =>
+ o?.dependentRequired
+ ? Array.from(
+ Object.entries(o.dependentRequired).reduce(
+ (o, [i, u]) => (Array.isArray(u) && u.includes(s) ? (o.add(i), o) : o),
+ new Set()
+ )
+ )
+ : [],
+ withJSONSchemaContext = (s, o = {}) => {
+ const i = {
+ components: {
+ JSONSchema: iI,
+ Keyword$schema: keywords_$schema,
+ Keyword$vocabulary: $vocabulary_$vocabulary,
+ Keyword$id: keywords_$id,
+ Keyword$anchor: keywords_$anchor,
+ Keyword$dynamicAnchor: keywords_$dynamicAnchor,
+ Keyword$ref: keywords_$ref,
+ Keyword$dynamicRef: keywords_$dynamicRef,
+ Keyword$defs: keywords_$defs,
+ Keyword$comment: keywords_$comment,
+ KeywordAllOf: keywords_AllOf,
+ KeywordAnyOf: keywords_AnyOf,
+ KeywordOneOf: keywords_OneOf,
+ KeywordNot: keywords_Not,
+ KeywordIf: keywords_If,
+ KeywordThen: keywords_Then,
+ KeywordElse: keywords_Else,
+ KeywordDependentSchemas: keywords_DependentSchemas,
+ KeywordPrefixItems: keywords_PrefixItems,
+ KeywordItems: keywords_Items,
+ KeywordContains: keywords_Contains,
+ KeywordProperties: keywords_Properties_Properties,
+ KeywordPatternProperties: PatternProperties_PatternProperties,
+ KeywordAdditionalProperties: keywords_AdditionalProperties,
+ KeywordPropertyNames: keywords_PropertyNames,
+ KeywordUnevaluatedItems: keywords_UnevaluatedItems,
+ KeywordUnevaluatedProperties: keywords_UnevaluatedProperties,
+ KeywordType: keywords_Type,
+ KeywordEnum: Enum_Enum,
+ KeywordConst: keywords_Const,
+ KeywordConstraint: aI,
+ KeywordDependentRequired: DependentRequired_DependentRequired,
+ KeywordContentSchema: keywords_ContentSchema,
+ KeywordTitle: Title_Title,
+ KeywordDescription: keywords_Description_Description,
+ KeywordDefault: keywords_Default,
+ KeywordDeprecated: keywords_Deprecated,
+ KeywordReadOnly: keywords_ReadOnly,
+ KeywordWriteOnly: keywords_WriteOnly,
+ Accordion: Accordion_Accordion,
+ ExpandDeepButton: ExpandDeepButton_ExpandDeepButton,
+ ChevronRightIcon: icons_ChevronRight,
+ ...o.components
+ },
+ config: {
+ default$schema: 'https://json-schema.org/draft/2020-12/schema',
+ defaultExpandedLevels: 0,
+ ...o.config
+ },
+ fn: {
+ upperFirst: fn_upperFirst,
+ getTitle,
+ getType,
+ isBooleanJSONSchema,
+ hasKeyword,
+ isExpandable,
+ stringify: fn_stringify,
+ stringifyConstraints,
+ getDependentRequired,
+ ...o.fn
+ }
+ },
+ HOC = (o) => Pe.createElement(tI.Provider, { value: i }, Pe.createElement(s, o));
+ return (
+ (HOC.contexts = { JSONSchemaContext: tI }), (HOC.displayName = s.displayName), HOC
+ );
+ },
+ json_schema_2020_12 = () => ({
+ components: {
+ JSONSchema202012: iI,
+ JSONSchema202012Keyword$schema: keywords_$schema,
+ JSONSchema202012Keyword$vocabulary: $vocabulary_$vocabulary,
+ JSONSchema202012Keyword$id: keywords_$id,
+ JSONSchema202012Keyword$anchor: keywords_$anchor,
+ JSONSchema202012Keyword$dynamicAnchor: keywords_$dynamicAnchor,
+ JSONSchema202012Keyword$ref: keywords_$ref,
+ JSONSchema202012Keyword$dynamicRef: keywords_$dynamicRef,
+ JSONSchema202012Keyword$defs: keywords_$defs,
+ JSONSchema202012Keyword$comment: keywords_$comment,
+ JSONSchema202012KeywordAllOf: keywords_AllOf,
+ JSONSchema202012KeywordAnyOf: keywords_AnyOf,
+ JSONSchema202012KeywordOneOf: keywords_OneOf,
+ JSONSchema202012KeywordNot: keywords_Not,
+ JSONSchema202012KeywordIf: keywords_If,
+ JSONSchema202012KeywordThen: keywords_Then,
+ JSONSchema202012KeywordElse: keywords_Else,
+ JSONSchema202012KeywordDependentSchemas: keywords_DependentSchemas,
+ JSONSchema202012KeywordPrefixItems: keywords_PrefixItems,
+ JSONSchema202012KeywordItems: keywords_Items,
+ JSONSchema202012KeywordContains: keywords_Contains,
+ JSONSchema202012KeywordProperties: keywords_Properties_Properties,
+ JSONSchema202012KeywordPatternProperties: PatternProperties_PatternProperties,
+ JSONSchema202012KeywordAdditionalProperties: keywords_AdditionalProperties,
+ JSONSchema202012KeywordPropertyNames: keywords_PropertyNames,
+ JSONSchema202012KeywordUnevaluatedItems: keywords_UnevaluatedItems,
+ JSONSchema202012KeywordUnevaluatedProperties: keywords_UnevaluatedProperties,
+ JSONSchema202012KeywordType: keywords_Type,
+ JSONSchema202012KeywordEnum: Enum_Enum,
+ JSONSchema202012KeywordConst: keywords_Const,
+ JSONSchema202012KeywordConstraint: aI,
+ JSONSchema202012KeywordDependentRequired: DependentRequired_DependentRequired,
+ JSONSchema202012KeywordContentSchema: keywords_ContentSchema,
+ JSONSchema202012KeywordTitle: Title_Title,
+ JSONSchema202012KeywordDescription: keywords_Description_Description,
+ JSONSchema202012KeywordDefault: keywords_Default,
+ JSONSchema202012KeywordDeprecated: keywords_Deprecated,
+ JSONSchema202012KeywordReadOnly: keywords_ReadOnly,
+ JSONSchema202012KeywordWriteOnly: keywords_WriteOnly,
+ JSONSchema202012Accordion: Accordion_Accordion,
+ JSONSchema202012ExpandDeepButton: ExpandDeepButton_ExpandDeepButton,
+ JSONSchema202012ChevronRightIcon: icons_ChevronRight,
+ withJSONSchema202012Context: withJSONSchemaContext,
+ JSONSchema202012DeepExpansionContext: () => nI
+ },
+ fn: {
+ upperFirst: fn_upperFirst,
+ jsonSchema202012: {
+ isExpandable,
+ hasKeyword,
+ useFn,
+ useConfig,
+ useComponent,
+ useIsExpandedDeeply
+ }
+ }
+ });
+ var lI = __webpack_require__(11331),
+ cI = __webpack_require__.n(lI);
+ const array = (s, { sample: o }) =>
+ ((s, o = {}) => {
+ const { minItems: i, maxItems: u, uniqueItems: _ } = o,
+ { contains: w, minContains: x, maxContains: C } = o;
+ let j = [...s];
+ if (null != w && 'object' == typeof w) {
+ if (Number.isInteger(x) && x > 1) {
+ const s = j.at(0);
+ for (let o = 1; o < x; o += 1) j.unshift(s);
+ }
+ Number.isInteger(C);
+ }
+ if (
+ (Number.isInteger(u) && u > 0 && (j = s.slice(0, u)), Number.isInteger(i) && i > 0)
+ )
+ for (let s = 0; j.length < i; s += 1) j.push(j[s % j.length]);
+ return !0 === _ && (j = Array.from(new Set(j))), j;
+ })(o, s),
+ object = () => {
+ throw new Error('Not implemented');
+ },
+ bytes = (s) => St()(s),
+ random_pick = (s) => s.at(0),
+ predicates_isBooleanJSONSchema = (s) => 'boolean' == typeof s,
+ isJSONSchemaObject = (s) => cI()(s),
+ isJSONSchema = (s) => predicates_isBooleanJSONSchema(s) || isJSONSchemaObject(s);
+ const uI = class Registry {
+ data = {};
+ register(s, o) {
+ this.data[s] = o;
+ }
+ unregister(s) {
+ void 0 === s ? (this.data = {}) : delete this.data[s];
+ }
+ get(s) {
+ return this.data[s];
+ }
+ },
+ int32 = () => (2 ** 30) >>> 0,
+ int64 = () => 2 ** 53 - 1,
+ generators_float = () => 0.1,
+ generators_double = () => 0.1,
+ email = () => 'user@example.com',
+ idn_email = () => '실례@example.com',
+ hostname = () => 'example.com',
+ idn_hostname = () => '실례.com',
+ ipv4 = () => '198.51.100.42',
+ ipv6 = () => '2001:0db8:5b96:0000:0000:426f:8e17:642a',
+ uri = () => 'https://example.com/',
+ uri_reference = () => 'path/index.html',
+ iri = () => 'https://실례.com/',
+ iri_reference = () => 'path/실례.html',
+ uuid = () => '3fa85f64-5717-4562-b3fc-2c963f66afa6',
+ uri_template = () => 'https://example.com/dictionary/{term:1}/{term}',
+ json_pointer = () => '/a/b/c',
+ relative_json_pointer = () => '1/0',
+ date_time = () => new Date().toISOString(),
+ date = () => new Date().toISOString().substring(0, 10),
+ time = () => new Date().toISOString().substring(11),
+ duration = () => 'P3D',
+ generators_password = () => '********',
+ regex = () => '^[a-z]+$';
+ const pI = new (class FormatRegistry extends uI {
+ #t = {
+ int32,
+ int64,
+ float: generators_float,
+ double: generators_double,
+ email,
+ 'idn-email': idn_email,
+ hostname,
+ 'idn-hostname': idn_hostname,
+ ipv4,
+ ipv6,
+ uri,
+ 'uri-reference': uri_reference,
+ iri,
+ 'iri-reference': iri_reference,
+ uuid,
+ 'uri-template': uri_template,
+ 'json-pointer': json_pointer,
+ 'relative-json-pointer': relative_json_pointer,
+ 'date-time': date_time,
+ date,
+ time,
+ duration,
+ password: generators_password,
+ regex
+ };
+ data = { ...this.#t };
+ get defaults() {
+ return { ...this.#t };
+ }
+ })(),
+ formatAPI = (s, o) =>
+ 'function' == typeof o ? pI.register(s, o) : null === o ? pI.unregister(s) : pI.get(s);
+ formatAPI.getDefaults = () => pI.defaults;
+ const hI = formatAPI;
+ var dI = __webpack_require__(48287).Buffer;
+ const _7bit = (s) => dI.from(s).toString('ascii');
+ var fI = __webpack_require__(48287).Buffer;
+ const _8bit = (s) => fI.from(s).toString('utf8');
+ var mI = __webpack_require__(48287).Buffer;
+ const encoders_binary = (s) => mI.from(s).toString('binary'),
+ quoted_printable = (s) => {
+ let o = '';
+ for (let i = 0; i < s.length; i++) {
+ const u = s.charCodeAt(i);
+ if (61 === u) o += '=3D';
+ else if ((u >= 33 && u <= 60) || (u >= 62 && u <= 126) || 9 === u || 32 === u)
+ o += s.charAt(i);
+ else if (13 === u || 10 === u) o += '\r\n';
+ else if (u > 126) {
+ const u = unescape(encodeURIComponent(s.charAt(i)));
+ for (let s = 0; s < u.length; s++)
+ o += '=' + ('0' + u.charCodeAt(s).toString(16)).slice(-2).toUpperCase();
+ } else o += '=' + ('0' + u.toString(16)).slice(-2).toUpperCase();
+ }
+ return o;
+ };
+ var gI = __webpack_require__(48287).Buffer;
+ const base16 = (s) => gI.from(s).toString('hex');
+ var yI = __webpack_require__(48287).Buffer;
+ const base32 = (s) => {
+ const o = yI.from(s).toString('utf8'),
+ i = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
+ let u = 0,
+ _ = '',
+ w = 0,
+ x = 0;
+ for (let s = 0; s < o.length; s++)
+ for (w = (w << 8) | o.charCodeAt(s), x += 8; x >= 5; )
+ (_ += i.charAt((w >>> (x - 5)) & 31)), (x -= 5);
+ x > 0 && ((_ += i.charAt((w << (5 - x)) & 31)), (u = (8 - ((8 * o.length) % 5)) % 5));
+ for (let s = 0; s < u; s++) _ += '=';
+ return _;
+ };
+ var vI = __webpack_require__(48287).Buffer;
+ const base64 = (s) => vI.from(s).toString('base64');
+ var bI = __webpack_require__(48287).Buffer;
+ const base64url = (s) => bI.from(s).toString('base64url');
+ const _I = new (class EncoderRegistry extends uI {
+ #t = {
+ '7bit': _7bit,
+ '8bit': _8bit,
+ binary: encoders_binary,
+ 'quoted-printable': quoted_printable,
+ base16,
+ base32,
+ base64,
+ base64url
+ };
+ data = { ...this.#t };
+ get defaults() {
+ return { ...this.#t };
+ }
+ })(),
+ encoderAPI = (s, o) =>
+ 'function' == typeof o ? _I.register(s, o) : null === o ? _I.unregister(s) : _I.get(s);
+ encoderAPI.getDefaults = () => _I.defaults;
+ const EI = encoderAPI,
+ wI = {
+ 'text/plain': () => 'string',
+ 'text/css': () => '.selector { border: 1px solid red }',
+ 'text/csv': () => 'value1,value2,value3',
+ 'text/html': () => 'content
',
+ 'text/calendar': () => 'BEGIN:VCALENDAR',
+ 'text/javascript': () => "console.dir('Hello world!');",
+ 'text/xml': () => 'John Doe ',
+ 'text/*': () => 'string'
+ },
+ SI = { 'image/*': () => bytes(25).toString('binary') },
+ xI = { 'audio/*': () => bytes(25).toString('binary') },
+ kI = { 'video/*': () => bytes(25).toString('binary') },
+ CI = {
+ 'application/json': () => '{"key":"value"}',
+ 'application/ld+json': () => '{"name": "John Doe"}',
+ 'application/x-httpd-php': () => "Hello World!
'; ?>",
+ 'application/rtf': () => String.raw`{\rtf1\adeflang1025\ansi\ansicpg1252\uc1`,
+ 'application/x-sh': () => 'echo "Hello World!"',
+ 'application/xhtml+xml': () => 'content
',
+ 'application/*': () => bytes(25).toString('binary')
+ };
+ const OI = new (class MediaTypeRegistry extends uI {
+ #t = { ...wI, ...SI, ...xI, ...kI, ...CI };
+ data = { ...this.#t };
+ get defaults() {
+ return { ...this.#t };
+ }
+ })(),
+ mediaTypeAPI = (s, o) => {
+ if ('function' == typeof o) return OI.register(s, o);
+ if (null === o) return OI.unregister(s);
+ const i = s.split(';').at(0),
+ u = `${i.split('/').at(0)}/*`;
+ return OI.get(s) || OI.get(i) || OI.get(u);
+ };
+ mediaTypeAPI.getDefaults = () => OI.defaults;
+ const AI = mediaTypeAPI,
+ applyStringConstraints = (s, o = {}) => {
+ const { maxLength: i, minLength: u } = o;
+ let _ = s;
+ if (
+ (Number.isInteger(i) && i > 0 && (_ = _.slice(0, i)), Number.isInteger(u) && u > 0)
+ ) {
+ let s = 0;
+ for (; _.length < u; ) _ += _[s++ % _.length];
+ }
+ return _;
+ },
+ types_string = (s, { sample: o } = {}) => {
+ const { contentEncoding: i, contentMediaType: u, contentSchema: _ } = s,
+ { pattern: w, format: x } = s,
+ C = EI(i) || Mx();
+ let j;
+ return (
+ (j =
+ 'string' == typeof w
+ ? applyStringConstraints(
+ ((s) => {
+ try {
+ return new (us())(s).gen();
+ } catch {
+ return 'string';
+ }
+ })(w),
+ s
+ )
+ : 'string' == typeof x
+ ? ((s) => {
+ const { format: o } = s,
+ i = hI(o);
+ return 'function' == typeof i ? i(s) : 'string';
+ })(s)
+ : isJSONSchema(_) && 'string' == typeof u && void 0 !== o
+ ? Array.isArray(o) || 'object' == typeof o
+ ? JSON.stringify(o)
+ : applyStringConstraints(String(o), s)
+ : 'string' == typeof u
+ ? ((s) => {
+ const { contentMediaType: o } = s,
+ i = AI(o);
+ return 'function' == typeof i ? i(s) : 'string';
+ })(s)
+ : applyStringConstraints('string', s)),
+ C(j)
+ );
+ },
+ applyNumberConstraints = (s, o = {}) => {
+ const { minimum: i, maximum: u, exclusiveMinimum: _, exclusiveMaximum: w } = o,
+ { multipleOf: x } = o,
+ C = Number.isInteger(s) ? 1 : Number.EPSILON;
+ let j = 'number' == typeof i ? i : null,
+ L = 'number' == typeof u ? u : null,
+ B = s;
+ if (
+ ('number' == typeof _ && (j = null !== j ? Math.max(j, _ + C) : _ + C),
+ 'number' == typeof w && (L = null !== L ? Math.min(L, w - C) : w - C),
+ (B = (j > L && s) || j || L || B),
+ 'number' == typeof x && x > 0)
+ ) {
+ const s = B % x;
+ B = 0 === s ? B : B + x - s;
+ }
+ return B;
+ },
+ types_number = (s) => {
+ const { format: o } = s;
+ let i;
+ return (
+ (i =
+ 'string' == typeof o
+ ? ((s) => {
+ const { format: o } = s,
+ i = hI(o);
+ return 'function' == typeof i ? i(s) : 0;
+ })(s)
+ : 0),
+ applyNumberConstraints(i, s)
+ );
+ },
+ types_integer = (s) => {
+ const { format: o } = s;
+ let i;
+ return (
+ (i =
+ 'string' == typeof o
+ ? ((s) => {
+ const { format: o } = s,
+ i = hI(o);
+ if ('function' == typeof i) return i(s);
+ switch (o) {
+ case 'int32':
+ return int32();
+ case 'int64':
+ return int64();
+ }
+ return 0;
+ })(s)
+ : 0),
+ applyNumberConstraints(i, s)
+ );
+ },
+ types_boolean = (s) => 'boolean' != typeof s.default || s.default,
+ jI = new Proxy(
+ {
+ array,
+ object,
+ string: types_string,
+ number: types_number,
+ integer: types_integer,
+ boolean: types_boolean,
+ null: () => null
+ },
+ {
+ get: (s, o) =>
+ 'string' == typeof o && Object.hasOwn(s, o) ? s[o] : () => `Unknown Type: ${o}`
+ }
+ ),
+ II = ['array', 'object', 'number', 'integer', 'string', 'boolean', 'null'],
+ hasExample = (s) => {
+ if (!isJSONSchemaObject(s)) return !1;
+ const { examples: o, example: i, default: u } = s;
+ return !!(Array.isArray(o) && o.length >= 1) || void 0 !== u || void 0 !== i;
+ },
+ extractExample = (s) => {
+ if (!isJSONSchemaObject(s)) return null;
+ const { examples: o, example: i, default: u } = s;
+ return Array.isArray(o) && o.length >= 1
+ ? o.at(0)
+ : void 0 !== u
+ ? u
+ : void 0 !== i
+ ? i
+ : void 0;
+ },
+ PI = {
+ array: [
+ 'items',
+ 'prefixItems',
+ 'contains',
+ 'maxContains',
+ 'minContains',
+ 'maxItems',
+ 'minItems',
+ 'uniqueItems',
+ 'unevaluatedItems'
+ ],
+ object: [
+ 'properties',
+ 'additionalProperties',
+ 'patternProperties',
+ 'propertyNames',
+ 'minProperties',
+ 'maxProperties',
+ 'required',
+ 'dependentSchemas',
+ 'dependentRequired',
+ 'unevaluatedProperties'
+ ],
+ string: [
+ 'pattern',
+ 'format',
+ 'minLength',
+ 'maxLength',
+ 'contentEncoding',
+ 'contentMediaType',
+ 'contentSchema'
+ ],
+ integer: ['minimum', 'maximum', 'exclusiveMinimum', 'exclusiveMaximum', 'multipleOf']
+ };
+ PI.number = PI.integer;
+ const MI = 'string',
+ inferTypeFromValue = (s) =>
+ void 0 === s
+ ? null
+ : null === s
+ ? 'null'
+ : Array.isArray(s)
+ ? 'array'
+ : Number.isInteger(s)
+ ? 'integer'
+ : typeof s,
+ foldType = (s) => {
+ if (Array.isArray(s) && s.length >= 1) {
+ if (s.includes('array')) return 'array';
+ if (s.includes('object')) return 'object';
+ {
+ const o = random_pick(s);
+ if (II.includes(o)) return o;
+ }
+ }
+ return II.includes(s) ? s : null;
+ },
+ inferType = (s, o = new WeakSet()) => {
+ if (!isJSONSchemaObject(s)) return MI;
+ if (o.has(s)) return MI;
+ o.add(s);
+ let { type: i, const: u } = s;
+ if (((i = foldType(i)), 'string' != typeof i)) {
+ const o = Object.keys(PI);
+ e: for (let u = 0; u < o.length; u += 1) {
+ const _ = o[u],
+ w = PI[_];
+ for (let o = 0; o < w.length; o += 1) {
+ const u = w[o];
+ if (Object.hasOwn(s, u)) {
+ i = _;
+ break e;
+ }
+ }
+ }
+ }
+ if ('string' != typeof i && void 0 !== u) {
+ const s = inferTypeFromValue(u);
+ i = 'string' == typeof s ? s : i;
+ }
+ if ('string' != typeof i) {
+ const combineTypes = (i) => {
+ if (Array.isArray(s[i])) {
+ const u = s[i].map((s) => inferType(s, o));
+ return foldType(u);
+ }
+ return null;
+ },
+ u = combineTypes('allOf'),
+ _ = combineTypes('anyOf'),
+ w = combineTypes('oneOf'),
+ x = s.not ? inferType(s.not, o) : null;
+ (u || _ || w || x) && (i = foldType([u, _, w, x].filter(Boolean)));
+ }
+ if ('string' != typeof i && hasExample(s)) {
+ const o = extractExample(s),
+ u = inferTypeFromValue(o);
+ i = 'string' == typeof u ? u : i;
+ }
+ return o.delete(s), i || MI;
+ },
+ type_getType = (s) => inferType(s),
+ typeCast = (s) =>
+ predicates_isBooleanJSONSchema(s)
+ ? ((s) => (!1 === s ? { not: {} } : {}))(s)
+ : isJSONSchemaObject(s)
+ ? s
+ : {},
+ merge_merge = (s, o, i = {}) => {
+ if (predicates_isBooleanJSONSchema(s) && !0 === s) return !0;
+ if (predicates_isBooleanJSONSchema(s) && !1 === s) return !1;
+ if (predicates_isBooleanJSONSchema(o) && !0 === o) return !0;
+ if (predicates_isBooleanJSONSchema(o) && !1 === o) return !1;
+ if (!isJSONSchema(s)) return o;
+ if (!isJSONSchema(o)) return s;
+ const u = { ...o, ...s };
+ if (o.type && s.type && Array.isArray(o.type) && 'string' == typeof o.type) {
+ const i = normalizeArray(o.type).concat(s.type);
+ u.type = Array.from(new Set(i));
+ }
+ if (
+ (Array.isArray(o.required) &&
+ Array.isArray(s.required) &&
+ (u.required = [...new Set([...s.required, ...o.required])]),
+ o.properties && s.properties)
+ ) {
+ const _ = new Set([...Object.keys(o.properties), ...Object.keys(s.properties)]);
+ u.properties = {};
+ for (const w of _) {
+ const _ = o.properties[w] || {},
+ x = s.properties[w] || {};
+ (_.readOnly && !i.includeReadOnly) || (_.writeOnly && !i.includeWriteOnly)
+ ? (u.required = (u.required || []).filter((s) => s !== w))
+ : (u.properties[w] = merge_merge(x, _, i));
+ }
+ }
+ return (
+ isJSONSchema(o.items) &&
+ isJSONSchema(s.items) &&
+ (u.items = merge_merge(s.items, o.items, i)),
+ isJSONSchema(o.contains) &&
+ isJSONSchema(s.contains) &&
+ (u.contains = merge_merge(s.contains, o.contains, i)),
+ isJSONSchema(o.contentSchema) &&
+ isJSONSchema(s.contentSchema) &&
+ (u.contentSchema = merge_merge(s.contentSchema, o.contentSchema, i)),
+ u
+ );
+ },
+ TI = merge_merge,
+ main_sampleFromSchemaGeneric = (s, o = {}, i = void 0, u = !1) => {
+ if (null == s && void 0 === i) return;
+ 'function' == typeof s?.toJS && (s = s.toJS()), (s = typeCast(s));
+ let _ = void 0 !== i || hasExample(s);
+ const w = !_ && Array.isArray(s.oneOf) && s.oneOf.length > 0,
+ x = !_ && Array.isArray(s.anyOf) && s.anyOf.length > 0;
+ if (!_ && (w || x)) {
+ const i = typeCast(random_pick(w ? s.oneOf : s.anyOf));
+ !(s = TI(s, i, o)).xml && i.xml && (s.xml = i.xml),
+ hasExample(s) && hasExample(i) && (_ = !0);
+ }
+ const C = {};
+ let { xml: j, properties: L, additionalProperties: B, items: $, contains: V } = s || {},
+ U = type_getType(s),
+ { includeReadOnly: z, includeWriteOnly: Y } = o;
+ j = j || {};
+ let Z,
+ { name: ee, prefix: ie, namespace: ae } = j,
+ le = {};
+ if (
+ (Object.hasOwn(s, 'type') || (s.type = U),
+ u && ((ee = ee || 'notagname'), (Z = (ie ? `${ie}:` : '') + ee), ae))
+ ) {
+ C[ie ? `xmlns:${ie}` : 'xmlns'] = ae;
+ }
+ u && (le[Z] = []);
+ const ce = objectify(L);
+ let pe,
+ de = 0;
+ const hasExceededMaxProperties = () =>
+ Number.isInteger(s.maxProperties) && s.maxProperties > 0 && de >= s.maxProperties,
+ canAddProperty = (o) =>
+ !(Number.isInteger(s.maxProperties) && s.maxProperties > 0) ||
+ (!hasExceededMaxProperties() &&
+ (!((o) =>
+ !Array.isArray(s.required) ||
+ 0 === s.required.length ||
+ !s.required.includes(o))(o) ||
+ s.maxProperties -
+ de -
+ (() => {
+ if (!Array.isArray(s.required) || 0 === s.required.length) return 0;
+ let o = 0;
+ return (
+ u
+ ? s.required.forEach((s) => (o += void 0 === le[s] ? 0 : 1))
+ : s.required.forEach((s) => {
+ o += void 0 === le[Z]?.find((o) => void 0 !== o[s]) ? 0 : 1;
+ }),
+ s.required.length - o
+ );
+ })() >
+ 0));
+ if (
+ ((pe = u
+ ? (i, _ = void 0) => {
+ if (s && ce[i]) {
+ if (((ce[i].xml = ce[i].xml || {}), ce[i].xml.attribute)) {
+ const s = Array.isArray(ce[i].enum) ? random_pick(ce[i].enum) : void 0;
+ if (hasExample(ce[i])) C[ce[i].xml.name || i] = extractExample(ce[i]);
+ else if (void 0 !== s) C[ce[i].xml.name || i] = s;
+ else {
+ const s = typeCast(ce[i]),
+ o = type_getType(s),
+ u = ce[i].xml.name || i;
+ C[u] = jI[o](s);
+ }
+ return;
+ }
+ ce[i].xml.name = ce[i].xml.name || i;
+ } else ce[i] || !1 === B || (ce[i] = { xml: { name: i } });
+ let w = main_sampleFromSchemaGeneric(ce[i], o, _, u);
+ canAddProperty(i) &&
+ (de++, Array.isArray(w) ? (le[Z] = le[Z].concat(w)) : le[Z].push(w));
+ }
+ : (i, _) => {
+ if (canAddProperty(i)) {
+ if (
+ cI()(s.discriminator?.mapping) &&
+ s.discriminator.propertyName === i &&
+ 'string' == typeof s.$$ref
+ ) {
+ for (const o in s.discriminator.mapping)
+ if (-1 !== s.$$ref.search(s.discriminator.mapping[o])) {
+ le[i] = o;
+ break;
+ }
+ } else le[i] = main_sampleFromSchemaGeneric(ce[i], o, _, u);
+ de++;
+ }
+ }),
+ _)
+ ) {
+ let _;
+ if (((_ = void 0 !== i ? i : extractExample(s)), !u)) {
+ if ('number' == typeof _ && 'string' === U) return `${_}`;
+ if ('string' != typeof _ || 'string' === U) return _;
+ try {
+ return JSON.parse(_);
+ } catch {
+ return _;
+ }
+ }
+ if ('array' === U) {
+ if (!Array.isArray(_)) {
+ if ('string' == typeof _) return _;
+ _ = [_];
+ }
+ let i = [];
+ return (
+ isJSONSchemaObject($) &&
+ (($.xml = $.xml || j || {}),
+ ($.xml.name = $.xml.name || j.name),
+ (i = _.map((s) => main_sampleFromSchemaGeneric($, o, s, u)))),
+ isJSONSchemaObject(V) &&
+ ((V.xml = V.xml || j || {}),
+ (V.xml.name = V.xml.name || j.name),
+ (i = [main_sampleFromSchemaGeneric(V, o, void 0, u), ...i])),
+ (i = jI.array(s, { sample: i })),
+ j.wrapped ? ((le[Z] = i), hs()(C) || le[Z].push({ _attr: C })) : (le = i),
+ le
+ );
+ }
+ if ('object' === U) {
+ if ('string' == typeof _) return _;
+ for (const s in _)
+ Object.hasOwn(_, s) &&
+ ((ce[s]?.readOnly && !z) ||
+ (ce[s]?.writeOnly && !Y) ||
+ (ce[s]?.xml?.attribute ? (C[ce[s].xml.name || s] = _[s]) : pe(s, _[s])));
+ return hs()(C) || le[Z].push({ _attr: C }), le;
+ }
+ return (le[Z] = hs()(C) ? _ : [{ _attr: C }, _]), le;
+ }
+ if ('array' === U) {
+ let i = [];
+ if (isJSONSchemaObject(V))
+ if (
+ (u && ((V.xml = V.xml || s.xml || {}), (V.xml.name = V.xml.name || j.name)),
+ Array.isArray(V.anyOf))
+ ) {
+ const { anyOf: s, ..._ } = $;
+ i.push(
+ ...V.anyOf.map((s) => main_sampleFromSchemaGeneric(TI(s, _, o), o, void 0, u))
+ );
+ } else if (Array.isArray(V.oneOf)) {
+ const { oneOf: s, ..._ } = $;
+ i.push(
+ ...V.oneOf.map((s) => main_sampleFromSchemaGeneric(TI(s, _, o), o, void 0, u))
+ );
+ } else {
+ if (!(!u || (u && j.wrapped)))
+ return main_sampleFromSchemaGeneric(V, o, void 0, u);
+ i.push(main_sampleFromSchemaGeneric(V, o, void 0, u));
+ }
+ if (isJSONSchemaObject($))
+ if (
+ (u && (($.xml = $.xml || s.xml || {}), ($.xml.name = $.xml.name || j.name)),
+ Array.isArray($.anyOf))
+ ) {
+ const { anyOf: s, ..._ } = $;
+ i.push(
+ ...$.anyOf.map((s) => main_sampleFromSchemaGeneric(TI(s, _, o), o, void 0, u))
+ );
+ } else if (Array.isArray($.oneOf)) {
+ const { oneOf: s, ..._ } = $;
+ i.push(
+ ...$.oneOf.map((s) => main_sampleFromSchemaGeneric(TI(s, _, o), o, void 0, u))
+ );
+ } else {
+ if (!(!u || (u && j.wrapped)))
+ return main_sampleFromSchemaGeneric($, o, void 0, u);
+ i.push(main_sampleFromSchemaGeneric($, o, void 0, u));
+ }
+ return (
+ (i = jI.array(s, { sample: i })),
+ u && j.wrapped ? ((le[Z] = i), hs()(C) || le[Z].push({ _attr: C }), le) : i
+ );
+ }
+ if ('object' === U) {
+ for (let s in ce)
+ Object.hasOwn(ce, s) &&
+ (ce[s]?.deprecated ||
+ (ce[s]?.readOnly && !z) ||
+ (ce[s]?.writeOnly && !Y) ||
+ pe(s));
+ if ((u && C && le[Z].push({ _attr: C }), hasExceededMaxProperties())) return le;
+ if (predicates_isBooleanJSONSchema(B) && B)
+ u
+ ? le[Z].push({ additionalProp: 'Anything can be here' })
+ : (le.additionalProp1 = {}),
+ de++;
+ else if (isJSONSchemaObject(B)) {
+ const i = B,
+ _ = main_sampleFromSchemaGeneric(i, o, void 0, u);
+ if (u && 'string' == typeof i?.xml?.name && 'notagname' !== i?.xml?.name)
+ le[Z].push(_);
+ else {
+ const o =
+ Number.isInteger(s.minProperties) && s.minProperties > 0 && de < s.minProperties
+ ? s.minProperties - de
+ : 3;
+ for (let s = 1; s <= o; s++) {
+ if (hasExceededMaxProperties()) return le;
+ if (u) {
+ const o = {};
+ (o['additionalProp' + s] = _.notagname), le[Z].push(o);
+ } else le['additionalProp' + s] = _;
+ de++;
+ }
+ }
+ }
+ return le;
+ }
+ let fe;
+ if (void 0 !== s.const) fe = s.const;
+ else if (s && Array.isArray(s.enum)) fe = random_pick(normalizeArray(s.enum));
+ else {
+ const i = isJSONSchemaObject(s.contentSchema)
+ ? main_sampleFromSchemaGeneric(s.contentSchema, o, void 0, u)
+ : void 0;
+ fe = jI[U](s, { sample: i });
+ }
+ return u ? ((le[Z] = hs()(C) ? fe : [{ _attr: C }, fe]), le) : fe;
+ },
+ main_createXMLExample = (s, o, i) => {
+ const u = main_sampleFromSchemaGeneric(s, o, i, !0);
+ if (u) return 'string' == typeof u ? u : ls()(u, { declaration: !0, indent: '\t' });
+ },
+ main_sampleFromSchema = (s, o, i) => main_sampleFromSchemaGeneric(s, o, i, !1),
+ main_resolver = (s, o, i) => [s, JSON.stringify(o), JSON.stringify(i)],
+ NI = utils_memoizeN(main_createXMLExample, main_resolver),
+ RI = utils_memoizeN(main_sampleFromSchema, main_resolver);
+ const DI = new (class OptionRegistry extends uI {
+ #t = {};
+ data = { ...this.#t };
+ get defaults() {
+ return { ...this.#t };
+ }
+ })(),
+ api_optionAPI = (s, o) => (void 0 !== o && DI.register(s, o), DI.get(s)),
+ LI = [{ when: /json/, shouldStringifyTypes: ['string'] }],
+ BI = ['object'],
+ fn_get_json_sample_schema = (s) => (o, i, u, _) => {
+ const { fn: w } = s(),
+ x = w.jsonSchema202012.memoizedSampleFromSchema(o, i, _),
+ C = typeof x,
+ j = LI.reduce((s, o) => (o.when.test(u) ? [...s, ...o.shouldStringifyTypes] : s), BI);
+ return mt()(j, (s) => s === C) ? JSON.stringify(x, null, 2) : x;
+ },
+ fn_get_yaml_sample_schema = (s) => (o, i, u, _) => {
+ const { fn: w } = s(),
+ x = w.jsonSchema202012.getJsonSampleSchema(o, i, u, _);
+ let C;
+ try {
+ (C = mn.dump(mn.load(x), { lineWidth: -1 }, { schema: nn })),
+ '\n' === C[C.length - 1] && (C = C.slice(0, C.length - 1));
+ } catch (s) {
+ return console.error(s), 'error: could not generate yaml example';
+ }
+ return C.replace(/\t/g, ' ');
+ },
+ fn_get_xml_sample_schema = (s) => (o, i, u) => {
+ const { fn: _ } = s();
+ if ((o && !o.xml && (o.xml = {}), o && !o.xml.name)) {
+ if (!o.$$ref && (o.type || o.items || o.properties || o.additionalProperties))
+ return '\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e';
+ if (o.$$ref) {
+ let s = o.$$ref.match(/\S*\/(\S+)$/);
+ o.xml.name = s[1];
+ }
+ }
+ return _.jsonSchema202012.memoizedCreateXMLExample(o, i, u);
+ },
+ fn_get_sample_schema =
+ (s) =>
+ (o, i = '', u = {}, _ = void 0) => {
+ const { fn: w } = s();
+ return (
+ 'function' == typeof o?.toJS && (o = o.toJS()),
+ 'function' == typeof _?.toJS && (_ = _.toJS()),
+ /xml/.test(i)
+ ? w.jsonSchema202012.getXmlSampleSchema(o, u, _)
+ : /(yaml|yml)/.test(i)
+ ? w.jsonSchema202012.getYamlSampleSchema(o, u, i, _)
+ : w.jsonSchema202012.getJsonSampleSchema(o, u, i, _)
+ );
+ },
+ json_schema_2020_12_samples = ({ getSystem: s }) => {
+ const o = fn_get_json_sample_schema(s),
+ i = fn_get_yaml_sample_schema(s),
+ u = fn_get_xml_sample_schema(s),
+ _ = fn_get_sample_schema(s);
+ return {
+ fn: {
+ jsonSchema202012: {
+ sampleFromSchema: main_sampleFromSchema,
+ sampleFromSchemaGeneric: main_sampleFromSchemaGeneric,
+ sampleOptionAPI: api_optionAPI,
+ sampleEncoderAPI: EI,
+ sampleFormatAPI: hI,
+ sampleMediaTypeAPI: AI,
+ createXMLExample: main_createXMLExample,
+ memoizedSampleFromSchema: RI,
+ memoizedCreateXMLExample: NI,
+ getJsonSampleSchema: o,
+ getYamlSampleSchema: i,
+ getXmlSampleSchema: u,
+ getSampleSchema: _,
+ mergeJsonSchema: TI
+ }
+ }
+ };
+ };
+ function PresetApis() {
+ return [base, oas3, json_schema_2020_12, json_schema_2020_12_samples, oas31];
+ }
+ const inline_plugin = (s) => () => ({ fn: s.fn, components: s.components }),
+ factorization_system = (s) => {
+ const o = We()(
+ {
+ layout: { layout: s.layout, filter: s.filter },
+ spec: { spec: '', url: s.url },
+ requestSnippets: s.requestSnippets
+ },
+ s.initialState
+ );
+ if (s.initialState)
+ for (const [i, u] of Object.entries(s.initialState)) void 0 === u && delete o[i];
+ return { system: { configs: s.configs }, plugins: s.presets, state: o };
+ },
+ sources_query = () => (s) => {
+ const o = s.queryConfigEnabled
+ ? (() => {
+ const s = new URLSearchParams(at.location.search);
+ return Object.fromEntries(s);
+ })()
+ : {};
+ return Object.entries(o).reduce(
+ (s, [o, i]) => (
+ 'config' === o
+ ? (s.configUrl = i)
+ : 'urls.primaryName' === o
+ ? (s[o] = i)
+ : (s = ao()(s, o, i)),
+ s
+ ),
+ {}
+ );
+ },
+ sources_url =
+ ({ url: s, system: o }) =>
+ async (i) => {
+ if (!s) return {};
+ if ('function' != typeof o.configsActions?.getConfigByUrl) return {};
+ const u = (() => {
+ const s = {};
+ return (
+ (s.promise = new Promise((o, i) => {
+ (s.resolve = o), (s.reject = i);
+ })),
+ s
+ );
+ })();
+ return (
+ o.configsActions.getConfigByUrl(
+ {
+ url: s,
+ loadRemoteConfig: !0,
+ requestInterceptor: i.requestInterceptor,
+ responseInterceptor: i.responseInterceptor
+ },
+ (s) => {
+ u.resolve(s);
+ }
+ ),
+ u.promise
+ );
+ },
+ runtime = () => () => {
+ const s = {};
+ return (
+ globalThis.location &&
+ (s.oauth2RedirectUrl = `${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname.substring(0, globalThis.location.pathname.lastIndexOf('/'))}/oauth2-redirect.html`),
+ s
+ );
+ },
+ FI = Object.freeze({
+ dom_id: null,
+ domNode: null,
+ spec: {},
+ url: '',
+ urls: null,
+ configUrl: null,
+ layout: 'BaseLayout',
+ docExpansion: 'list',
+ maxDisplayedTags: -1,
+ filter: !1,
+ validatorUrl: 'https://validator.swagger.io/validator',
+ oauth2RedirectUrl: void 0,
+ persistAuthorization: !1,
+ configs: {},
+ displayOperationId: !1,
+ displayRequestDuration: !1,
+ deepLinking: !1,
+ tryItOutEnabled: !1,
+ requestInterceptor: (s) => ((s.curlOptions = []), s),
+ responseInterceptor: (s) => s,
+ showMutatedRequest: !0,
+ defaultModelRendering: 'example',
+ defaultModelExpandDepth: 1,
+ defaultModelsExpandDepth: 1,
+ showExtensions: !1,
+ showCommonExtensions: !1,
+ withCredentials: !1,
+ requestSnippetsEnabled: !1,
+ requestSnippets: {
+ generators: {
+ curl_bash: { title: 'cURL (bash)', syntax: 'bash' },
+ curl_powershell: { title: 'cURL (PowerShell)', syntax: 'powershell' },
+ curl_cmd: { title: 'cURL (CMD)', syntax: 'bash' }
+ },
+ defaultExpanded: !0,
+ languages: null
+ },
+ supportedSubmitMethods: [
+ 'get',
+ 'put',
+ 'post',
+ 'delete',
+ 'options',
+ 'head',
+ 'patch',
+ 'trace'
+ ],
+ queryConfigEnabled: !1,
+ presets: [PresetApis],
+ plugins: [],
+ initialState: {},
+ fn: {},
+ components: {},
+ syntaxHighlight: { activated: !0, theme: 'agate' },
+ operationsSorter: null,
+ tagsSorter: null,
+ onComplete: null,
+ modelPropertyMacro: null,
+ parameterMacro: null
+ });
+ var qI = __webpack_require__(61448),
+ $I = __webpack_require__.n(qI),
+ VI = __webpack_require__(77731),
+ UI = __webpack_require__.n(VI);
+ const type_casters_array = (s, o = []) => (Array.isArray(s) ? s : o),
+ type_casters_boolean = (s, o = !1) =>
+ !0 === s ||
+ 'true' === s ||
+ 1 === s ||
+ '1' === s ||
+ (!1 !== s && 'false' !== s && 0 !== s && '0' !== s && o),
+ dom_node = (s) => (null === s || 'null' === s ? null : s),
+ type_casters_filter = (s) => {
+ const o = String(s);
+ return type_casters_boolean(s, o);
+ },
+ type_casters_function = (s, o) => ('function' == typeof s ? s : o),
+ nullable_array = (s) => (Array.isArray(s) ? s : null),
+ nullable_function = (s) => ('function' == typeof s ? s : null),
+ nullable_string = (s) => (null === s || 'null' === s ? null : String(s)),
+ type_casters_number = (s, o = -1) => {
+ const i = parseInt(s, 10);
+ return Number.isNaN(i) ? o : i;
+ },
+ type_casters_object = (s, o = {}) => (cI()(s) ? s : o),
+ sorter = (s) => ('function' == typeof s || 'string' == typeof s ? s : null),
+ type_casters_string = (s) => String(s),
+ syntax_highlight = (s, o) =>
+ cI()(s) ? s : !1 === s || 'false' === s || 0 === s || '0' === s ? { activated: !1 } : o,
+ undefined_string = (s) => (void 0 === s || 'undefined' === s ? void 0 : String(s)),
+ zI = {
+ components: { typeCaster: type_casters_object },
+ configs: { typeCaster: type_casters_object },
+ configUrl: { typeCaster: nullable_string },
+ deepLinking: { typeCaster: type_casters_boolean, defaultValue: FI.deepLinking },
+ defaultModelExpandDepth: {
+ typeCaster: type_casters_number,
+ defaultValue: FI.defaultModelExpandDepth
+ },
+ defaultModelRendering: { typeCaster: type_casters_string },
+ defaultModelsExpandDepth: {
+ typeCaster: type_casters_number,
+ defaultValue: FI.defaultModelsExpandDepth
+ },
+ displayOperationId: {
+ typeCaster: type_casters_boolean,
+ defaultValue: FI.displayOperationId
+ },
+ displayRequestDuration: {
+ typeCaster: type_casters_boolean,
+ defaultValue: FI.displayRequestDuration
+ },
+ docExpansion: { typeCaster: type_casters_string },
+ dom_id: { typeCaster: nullable_string },
+ domNode: { typeCaster: dom_node },
+ filter: { typeCaster: type_casters_filter },
+ fn: { typeCaster: type_casters_object },
+ initialState: { typeCaster: type_casters_object },
+ layout: { typeCaster: type_casters_string },
+ maxDisplayedTags: {
+ typeCaster: type_casters_number,
+ defaultValue: FI.maxDisplayedTags
+ },
+ modelPropertyMacro: { typeCaster: nullable_function },
+ oauth2RedirectUrl: { typeCaster: undefined_string },
+ onComplete: { typeCaster: nullable_function },
+ operationsSorter: { typeCaster: sorter },
+ paramaterMacro: { typeCaster: nullable_function },
+ persistAuthorization: {
+ typeCaster: type_casters_boolean,
+ defaultValue: FI.persistAuthorization
+ },
+ plugins: { typeCaster: type_casters_array, defaultValue: FI.plugins },
+ presets: { typeCaster: type_casters_array, defaultValue: FI.presets },
+ requestInterceptor: {
+ typeCaster: type_casters_function,
+ defaultValue: FI.requestInterceptor
+ },
+ requestSnippets: { typeCaster: type_casters_object, defaultValue: FI.requestSnippets },
+ requestSnippetsEnabled: {
+ typeCaster: type_casters_boolean,
+ defaultValue: FI.requestSnippetsEnabled
+ },
+ responseInterceptor: {
+ typeCaster: type_casters_function,
+ defaultValue: FI.responseInterceptor
+ },
+ showCommonExtensions: {
+ typeCaster: type_casters_boolean,
+ defaultValue: FI.showCommonExtensions
+ },
+ showExtensions: { typeCaster: type_casters_boolean, defaultValue: FI.showExtensions },
+ showMutatedRequest: {
+ typeCaster: type_casters_boolean,
+ defaultValue: FI.showMutatedRequest
+ },
+ spec: { typeCaster: type_casters_object, defaultValue: FI.spec },
+ supportedSubmitMethods: {
+ typeCaster: type_casters_array,
+ defaultValue: FI.supportedSubmitMethods
+ },
+ syntaxHighlight: { typeCaster: syntax_highlight, defaultValue: FI.syntaxHighlight },
+ 'syntaxHighlight.activated': {
+ typeCaster: type_casters_boolean,
+ defaultValue: FI.syntaxHighlight.activated
+ },
+ 'syntaxHighlight.theme': { typeCaster: type_casters_string },
+ tagsSorter: { typeCaster: sorter },
+ tryItOutEnabled: { typeCaster: type_casters_boolean, defaultValue: FI.tryItOutEnabled },
+ url: { typeCaster: type_casters_string },
+ urls: { typeCaster: nullable_array },
+ 'urls.primaryName': { typeCaster: type_casters_string },
+ validatorUrl: { typeCaster: nullable_string },
+ withCredentials: { typeCaster: type_casters_boolean, defaultValue: FI.withCredentials }
+ },
+ type_cast = (s) =>
+ Object.entries(zI).reduce(
+ (s, [o, { typeCaster: i, defaultValue: u }]) => {
+ if ($I()(s, o)) {
+ const _ = i(jn()(s, o), u);
+ s = UI()(o, _, s);
+ }
+ return s;
+ },
+ { ...s }
+ ),
+ config_merge = (s, ...o) => {
+ let i = Symbol.for('domNode'),
+ u = Symbol.for('primaryName');
+ const _ = [];
+ for (const s of o) {
+ const o = { ...s };
+ Object.hasOwn(o, 'domNode') && ((i = o.domNode), delete o.domNode),
+ Object.hasOwn(o, 'urls.primaryName')
+ ? ((u = o['urls.primaryName']), delete o['urls.primaryName'])
+ : Array.isArray(o.urls) &&
+ Object.hasOwn(o.urls, 'primaryName') &&
+ ((u = o.urls.primaryName), delete o.urls.primaryName),
+ _.push(o);
+ }
+ const w = We()(s, ..._);
+ return (
+ i !== Symbol.for('domNode') && (w.domNode = i),
+ u !== Symbol.for('primaryName') && Array.isArray(w.urls) && (w.urls.primaryName = u),
+ type_cast(w)
+ );
+ };
+ function SwaggerUI(s) {
+ const o = sources_query()(s),
+ i = runtime()(),
+ u = SwaggerUI.config.merge({}, SwaggerUI.config.defaults, i, s, o),
+ _ = factorization_system(u),
+ w = inline_plugin(u),
+ x = new Store(_);
+ x.register([u.plugins, w]);
+ const C = x.getSystem(),
+ persistConfigs = (s) => {
+ x.setConfigs(s), C.configsActions.loaded();
+ },
+ updateSpec = (s) => {
+ !o.url && 'object' == typeof s.spec && Object.keys(s.spec).length > 0
+ ? (C.specActions.updateUrl(''),
+ C.specActions.updateLoadingStatus('success'),
+ C.specActions.updateSpec(JSON.stringify(s.spec)))
+ : 'function' == typeof C.specActions.download &&
+ s.url &&
+ !s.urls &&
+ (C.specActions.updateUrl(s.url), C.specActions.download(s.url));
+ },
+ render = (s) => {
+ if (s.domNode) C.render(s.domNode, 'App');
+ else if (s.dom_id) {
+ const o = document.querySelector(s.dom_id);
+ C.render(o, 'App');
+ } else
+ null === s.dom_id ||
+ null === s.domNode ||
+ console.error('Skipped rendering: no `dom_id` or `domNode` was specified');
+ };
+ return u.configUrl
+ ? ((async () => {
+ const { configUrl: s } = u,
+ i = await sources_url({ url: s, system: C })(u),
+ _ = SwaggerUI.config.merge({}, u, i, o);
+ persistConfigs(_), null !== i && updateSpec(_), render(_);
+ })(),
+ C)
+ : (persistConfigs(u), updateSpec(u), render(u), C);
+ }
+ (SwaggerUI.System = Store),
+ (SwaggerUI.config = {
+ defaults: FI,
+ merge: config_merge,
+ typeCast: type_cast,
+ typeCastMappings: zI
+ }),
+ (SwaggerUI.presets = { base, apis: PresetApis }),
+ (SwaggerUI.plugins = {
+ Auth: auth,
+ Configs: configsPlugin,
+ DeepLining: deep_linking,
+ Err: err,
+ Filter: filter,
+ Icons: icons,
+ JSONSchema5: json_schema_5,
+ JSONSchema5Samples: json_schema_5_samples,
+ JSONSchema202012: json_schema_2020_12,
+ JSONSchema202012Samples: json_schema_2020_12_samples,
+ Layout: plugins_layout,
+ Logs: logs,
+ OpenAPI30: oas3,
+ OpenAPI31: oas3,
+ OnComplete: on_complete,
+ RequestSnippets: plugins_request_snippets,
+ Spec: plugins_spec,
+ SwaggerClient: swagger_client,
+ Util: util,
+ View: view,
+ ViewLegacy: view_legacy,
+ DownloadUrl: downloadUrlPlugin,
+ SyntaxHighlighting: syntax_highlighting,
+ Versions: versions,
+ SafeRender: safe_render
+ });
+ const WI = SwaggerUI;
+ })(),
+ (_ = _.default)
+ );
+ })()
+);
diff --git a/backend/open_webui/static/swagger-ui/swagger-ui.css b/backend/open_webui/static/swagger-ui/swagger-ui.css
index 27ffa5398a..749dba8c90 100644
--- a/backend/open_webui/static/swagger-ui/swagger-ui.css
+++ b/backend/open_webui/static/swagger-ui/swagger-ui.css
@@ -1,3 +1,9312 @@
-.swagger-ui{color:#3b4151;font-family:sans-serif/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0}.swagger-ui .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0}.swagger-ui .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0}.swagger-ui .border-box,.swagger-ui a,.swagger-ui article,.swagger-ui body,.swagger-ui code,.swagger-ui dd,.swagger-ui div,.swagger-ui dl,.swagger-ui dt,.swagger-ui fieldset,.swagger-ui footer,.swagger-ui form,.swagger-ui h1,.swagger-ui h2,.swagger-ui h3,.swagger-ui h4,.swagger-ui h5,.swagger-ui h6,.swagger-ui header,.swagger-ui html,.swagger-ui input[type=email],.swagger-ui input[type=number],.swagger-ui input[type=password],.swagger-ui input[type=tel],.swagger-ui input[type=text],.swagger-ui input[type=url],.swagger-ui legend,.swagger-ui li,.swagger-ui main,.swagger-ui ol,.swagger-ui p,.swagger-ui pre,.swagger-ui section,.swagger-ui table,.swagger-ui td,.swagger-ui textarea,.swagger-ui th,.swagger-ui tr,.swagger-ui ul{box-sizing:border-box}.swagger-ui .aspect-ratio{height:0;position:relative}.swagger-ui .aspect-ratio--16x9{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1{padding-bottom:100%}.swagger-ui .aspect-ratio--object{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}@media screen and (min-width:30em){.swagger-ui .aspect-ratio-ns{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-ns{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-ns{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-ns{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-ns{padding-bottom:100%}.swagger-ui .aspect-ratio--object-ns{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .aspect-ratio-m{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-m{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-m{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-m{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-m{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-m{padding-bottom:100%}.swagger-ui .aspect-ratio--object-m{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:60em){.swagger-ui .aspect-ratio-l{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-l{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-l{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-l{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-l{padding-bottom:100%}.swagger-ui .aspect-ratio--object-l{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}.swagger-ui img{max-width:100%}.swagger-ui .cover{background-size:cover!important}.swagger-ui .contain{background-size:contain!important}@media screen and (min-width:30em){.swagger-ui .cover-ns{background-size:cover!important}.swagger-ui .contain-ns{background-size:contain!important}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .cover-m{background-size:cover!important}.swagger-ui .contain-m{background-size:contain!important}}@media screen and (min-width:60em){.swagger-ui .cover-l{background-size:cover!important}.swagger-ui .contain-l{background-size:contain!important}}.swagger-ui .bg-center{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left{background-position:0;background-repeat:no-repeat}@media screen and (min-width:30em){.swagger-ui .bg-center-ns{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-ns{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-ns{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-ns{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-ns{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .bg-center-m{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-m{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-m{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-m{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-m{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:60em){.swagger-ui .bg-center-l{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-l{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-l{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-l{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-l{background-position:0;background-repeat:no-repeat}}.swagger-ui .outline{outline:1px solid}.swagger-ui .outline-transparent{outline:1px solid transparent}.swagger-ui .outline-0{outline:0}@media screen and (min-width:30em){.swagger-ui .outline-ns{outline:1px solid}.swagger-ui .outline-transparent-ns{outline:1px solid transparent}.swagger-ui .outline-0-ns{outline:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px solid transparent}.swagger-ui .outline-0-m{outline:0}}@media screen and (min-width:60em){.swagger-ui .outline-l{outline:1px solid}.swagger-ui .outline-transparent-l{outline:1px solid transparent}.swagger-ui .outline-0-l{outline:0}}.swagger-ui .ba{border-style:solid;border-width:1px}.swagger-ui .bt{border-top-style:solid;border-top-width:1px}.swagger-ui .br{border-right-style:solid;border-right-width:1px}.swagger-ui .bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl{border-left-style:solid;border-left-width:1px}.swagger-ui .bn{border-style:none;border-width:0}@media screen and (min-width:30em){.swagger-ui .ba-ns{border-style:solid;border-width:1px}.swagger-ui .bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui .br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ba-m{border-style:solid;border-width:1px}.swagger-ui .bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui .br-m{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.swagger-ui .ba-l{border-style:solid;border-width:1px}.swagger-ui .bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui .br-l{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-l{border-style:none;border-width:0}}.swagger-ui .b--black{border-color:#000}.swagger-ui .b--near-black{border-color:#111}.swagger-ui .b--dark-gray{border-color:#333}.swagger-ui .b--mid-gray{border-color:#555}.swagger-ui .b--gray{border-color:#777}.swagger-ui .b--silver{border-color:#999}.swagger-ui .b--light-silver{border-color:#aaa}.swagger-ui .b--moon-gray{border-color:#ccc}.swagger-ui .b--light-gray{border-color:#eee}.swagger-ui .b--near-white{border-color:#f4f4f4}.swagger-ui .b--white{border-color:#fff}.swagger-ui .b--white-90{border-color:hsla(0,0%,100%,.9)}.swagger-ui .b--white-80{border-color:hsla(0,0%,100%,.8)}.swagger-ui .b--white-70{border-color:hsla(0,0%,100%,.7)}.swagger-ui .b--white-60{border-color:hsla(0,0%,100%,.6)}.swagger-ui .b--white-50{border-color:hsla(0,0%,100%,.5)}.swagger-ui .b--white-40{border-color:hsla(0,0%,100%,.4)}.swagger-ui .b--white-30{border-color:hsla(0,0%,100%,.3)}.swagger-ui .b--white-20{border-color:hsla(0,0%,100%,.2)}.swagger-ui .b--white-10{border-color:hsla(0,0%,100%,.1)}.swagger-ui .b--white-05{border-color:hsla(0,0%,100%,.05)}.swagger-ui .b--white-025{border-color:hsla(0,0%,100%,.025)}.swagger-ui .b--white-0125{border-color:hsla(0,0%,100%,.013)}.swagger-ui .b--black-90{border-color:rgba(0,0,0,.9)}.swagger-ui .b--black-80{border-color:rgba(0,0,0,.8)}.swagger-ui .b--black-70{border-color:rgba(0,0,0,.7)}.swagger-ui .b--black-60{border-color:rgba(0,0,0,.6)}.swagger-ui .b--black-50{border-color:rgba(0,0,0,.5)}.swagger-ui .b--black-40{border-color:rgba(0,0,0,.4)}.swagger-ui .b--black-30{border-color:rgba(0,0,0,.3)}.swagger-ui .b--black-20{border-color:rgba(0,0,0,.2)}.swagger-ui .b--black-10{border-color:rgba(0,0,0,.1)}.swagger-ui .b--black-05{border-color:rgba(0,0,0,.05)}.swagger-ui .b--black-025{border-color:rgba(0,0,0,.025)}.swagger-ui .b--black-0125{border-color:rgba(0,0,0,.013)}.swagger-ui .b--dark-red{border-color:#e7040f}.swagger-ui .b--red{border-color:#ff4136}.swagger-ui .b--light-red{border-color:#ff725c}.swagger-ui .b--orange{border-color:#ff6300}.swagger-ui .b--gold{border-color:#ffb700}.swagger-ui .b--yellow{border-color:gold}.swagger-ui .b--light-yellow{border-color:#fbf1a9}.swagger-ui .b--purple{border-color:#5e2ca5}.swagger-ui .b--light-purple{border-color:#a463f2}.swagger-ui .b--dark-pink{border-color:#d5008f}.swagger-ui .b--hot-pink{border-color:#ff41b4}.swagger-ui .b--pink{border-color:#ff80cc}.swagger-ui .b--light-pink{border-color:#ffa3d7}.swagger-ui .b--dark-green{border-color:#137752}.swagger-ui .b--green{border-color:#19a974}.swagger-ui .b--light-green{border-color:#9eebcf}.swagger-ui .b--navy{border-color:#001b44}.swagger-ui .b--dark-blue{border-color:#00449e}.swagger-ui .b--blue{border-color:#357edd}.swagger-ui .b--light-blue{border-color:#96ccff}.swagger-ui .b--lightest-blue{border-color:#cdecff}.swagger-ui .b--washed-blue{border-color:#f6fffe}.swagger-ui .b--washed-green{border-color:#e8fdf5}.swagger-ui .b--washed-yellow{border-color:#fffceb}.swagger-ui .b--washed-red{border-color:#ffdfdf}.swagger-ui .b--transparent{border-color:transparent}.swagger-ui .b--inherit{border-color:inherit}.swagger-ui .br0{border-radius:0}.swagger-ui .br1{border-radius:.125rem}.swagger-ui .br2{border-radius:.25rem}.swagger-ui .br3{border-radius:.5rem}.swagger-ui .br4{border-radius:1rem}.swagger-ui .br-100{border-radius:100%}.swagger-ui .br-pill{border-radius:9999px}.swagger-ui .br--bottom{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left{border-bottom-right-radius:0;border-top-right-radius:0}@media screen and (min-width:30em){.swagger-ui .br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui .br2-ns{border-radius:.25rem}.swagger-ui .br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui .br-100-ns{border-radius:100%}.swagger-ui .br-pill-ns{border-radius:9999px}.swagger-ui .br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-ns{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-ns{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui .br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui .br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui .br-pill-m{border-radius:9999px}.swagger-ui .br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-m{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-m{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:60em){.swagger-ui .br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui .br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui .br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui .br-pill-l{border-radius:9999px}.swagger-ui .br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-l{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-l{border-bottom-right-radius:0;border-top-right-radius:0}}.swagger-ui .b--dotted{border-style:dotted}.swagger-ui .b--dashed{border-style:dashed}.swagger-ui .b--solid{border-style:solid}.swagger-ui .b--none{border-style:none}@media screen and (min-width:30em){.swagger-ui .b--dotted-ns{border-style:dotted}.swagger-ui .b--dashed-ns{border-style:dashed}.swagger-ui .b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .b--dotted-m{border-style:dotted}.swagger-ui .b--dashed-m{border-style:dashed}.swagger-ui .b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}@media screen and (min-width:60em){.swagger-ui .b--dotted-l{border-style:dotted}.swagger-ui .b--dashed-l{border-style:dashed}.swagger-ui .b--solid-l{border-style:solid}.swagger-ui .b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui .bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui .bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui .bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui .br-0{border-right-width:0}.swagger-ui .bb-0{border-bottom-width:0}.swagger-ui .bl-0{border-left-width:0}@media screen and (min-width:30em){.swagger-ui .bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui .bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui .bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui .bt-0-ns{border-top-width:0}.swagger-ui .br-0-ns{border-right-width:0}.swagger-ui .bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui .bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui .bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui .bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui .bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui .bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui .bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui .bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui .br-0-l{border-right-width:0}.swagger-ui .bb-0-l{border-bottom-width:0}.swagger-ui .bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}@media screen and (min-width:30em){.swagger-ui .shadow-1-ns{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-ns{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-ns{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-ns{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-ns{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .shadow-1-m{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-m{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-m{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-m{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-m{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:60em){.swagger-ui .shadow-1-l{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-l{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-l{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-l{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-l{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}.swagger-ui .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.swagger-ui .top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{bottom:0}.swagger-ui .left-0{left:0}.swagger-ui .top-1{top:1rem}.swagger-ui .right-1{right:1rem}.swagger-ui .bottom-1{bottom:1rem}.swagger-ui .left-1{left:1rem}.swagger-ui .top-2{top:2rem}.swagger-ui .right-2{right:2rem}.swagger-ui .bottom-2{bottom:2rem}.swagger-ui .left-2{left:2rem}.swagger-ui .top--1{top:-1rem}.swagger-ui .right--1{right:-1rem}.swagger-ui .bottom--1{bottom:-1rem}.swagger-ui .left--1{left:-1rem}.swagger-ui .top--2{top:-2rem}.swagger-ui .right--2{right:-2rem}.swagger-ui .bottom--2{bottom:-2rem}.swagger-ui .left--2{left:-2rem}.swagger-ui .absolute--fill{bottom:0;left:0;right:0;top:0}@media screen and (min-width:30em){.swagger-ui .top-0-ns{top:0}.swagger-ui .left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui .bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui .left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui .bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui .left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui .bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui .right--1-ns{right:-1rem}.swagger-ui .bottom--1-ns{bottom:-1rem}.swagger-ui .left--1-ns{left:-1rem}.swagger-ui .top--2-ns{top:-2rem}.swagger-ui .right--2-ns{right:-2rem}.swagger-ui .bottom--2-ns{bottom:-2rem}.swagger-ui .left--2-ns{left:-2rem}.swagger-ui .absolute--fill-ns{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui .right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui .top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui .right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui .top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui .right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui .top--1-m{top:-1rem}.swagger-ui .right--1-m{right:-1rem}.swagger-ui .bottom--1-m{bottom:-1rem}.swagger-ui .left--1-m{left:-1rem}.swagger-ui .top--2-m{top:-2rem}.swagger-ui .right--2-m{right:-2rem}.swagger-ui .bottom--2-m{bottom:-2rem}.swagger-ui .left--2-m{left:-2rem}.swagger-ui .absolute--fill-m{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:60em){.swagger-ui .top-0-l{top:0}.swagger-ui .left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui .bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui .left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui .bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui .left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui .bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui .right--1-l{right:-1rem}.swagger-ui .bottom--1-l{bottom:-1rem}.swagger-ui .left--1-l{left:-1rem}.swagger-ui .top--2-l{top:-2rem}.swagger-ui .right--2-l{right:-2rem}.swagger-ui .bottom--2-l{bottom:-2rem}.swagger-ui .left--2-l{left:-2rem}.swagger-ui .absolute--fill-l{bottom:0;left:0;right:0;top:0}}.swagger-ui .cf:after,.swagger-ui .cf:before{content:" ";display:table}.swagger-ui .cf:after{clear:both}.swagger-ui .cf{zoom:1}.swagger-ui .cl{clear:left}.swagger-ui .cr{clear:right}.swagger-ui .cb{clear:both}.swagger-ui .cn{clear:none}@media screen and (min-width:30em){.swagger-ui .cl-ns{clear:left}.swagger-ui .cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui .cb-m{clear:both}.swagger-ui .cn-m{clear:none}}@media screen and (min-width:60em){.swagger-ui .cl-l{clear:left}.swagger-ui .cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui .cn-l{clear:none}}.swagger-ui .flex{display:flex}.swagger-ui .inline-flex{display:inline-flex}.swagger-ui .flex-auto{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none{flex:none}.swagger-ui .flex-column{flex-direction:column}.swagger-ui .flex-row{flex-direction:row}.swagger-ui .flex-wrap{flex-wrap:wrap}.swagger-ui .flex-nowrap{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse{flex-direction:column-reverse}.swagger-ui .flex-row-reverse{flex-direction:row-reverse}.swagger-ui .items-start{align-items:flex-start}.swagger-ui .items-end{align-items:flex-end}.swagger-ui .items-center{align-items:center}.swagger-ui .items-baseline{align-items:baseline}.swagger-ui .items-stretch{align-items:stretch}.swagger-ui .self-start{align-self:flex-start}.swagger-ui .self-end{align-self:flex-end}.swagger-ui .self-center{align-self:center}.swagger-ui .self-baseline{align-self:baseline}.swagger-ui .self-stretch{align-self:stretch}.swagger-ui .justify-start{justify-content:flex-start}.swagger-ui .justify-end{justify-content:flex-end}.swagger-ui .justify-center{justify-content:center}.swagger-ui .justify-between{justify-content:space-between}.swagger-ui .justify-around{justify-content:space-around}.swagger-ui .content-start{align-content:flex-start}.swagger-ui .content-end{align-content:flex-end}.swagger-ui .content-center{align-content:center}.swagger-ui .content-between{align-content:space-between}.swagger-ui .content-around{align-content:space-around}.swagger-ui .content-stretch{align-content:stretch}.swagger-ui .order-0{order:0}.swagger-ui .order-1{order:1}.swagger-ui .order-2{order:2}.swagger-ui .order-3{order:3}.swagger-ui .order-4{order:4}.swagger-ui .order-5{order:5}.swagger-ui .order-6{order:6}.swagger-ui .order-7{order:7}.swagger-ui .order-8{order:8}.swagger-ui .order-last{order:99999}.swagger-ui .flex-grow-0{flex-grow:0}.swagger-ui .flex-grow-1{flex-grow:1}.swagger-ui .flex-shrink-0{flex-shrink:0}.swagger-ui .flex-shrink-1{flex-shrink:1}@media screen and (min-width:30em){.swagger-ui .flex-ns{display:flex}.swagger-ui .inline-flex-ns{display:inline-flex}.swagger-ui .flex-auto-ns{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-ns{flex:none}.swagger-ui .flex-column-ns{flex-direction:column}.swagger-ui .flex-row-ns{flex-direction:row}.swagger-ui .flex-wrap-ns{flex-wrap:wrap}.swagger-ui .flex-nowrap-ns{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-ns{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-ns{flex-direction:row-reverse}.swagger-ui .items-start-ns{align-items:flex-start}.swagger-ui .items-end-ns{align-items:flex-end}.swagger-ui .items-center-ns{align-items:center}.swagger-ui .items-baseline-ns{align-items:baseline}.swagger-ui .items-stretch-ns{align-items:stretch}.swagger-ui .self-start-ns{align-self:flex-start}.swagger-ui .self-end-ns{align-self:flex-end}.swagger-ui .self-center-ns{align-self:center}.swagger-ui .self-baseline-ns{align-self:baseline}.swagger-ui .self-stretch-ns{align-self:stretch}.swagger-ui .justify-start-ns{justify-content:flex-start}.swagger-ui .justify-end-ns{justify-content:flex-end}.swagger-ui .justify-center-ns{justify-content:center}.swagger-ui .justify-between-ns{justify-content:space-between}.swagger-ui .justify-around-ns{justify-content:space-around}.swagger-ui .content-start-ns{align-content:flex-start}.swagger-ui .content-end-ns{align-content:flex-end}.swagger-ui .content-center-ns{align-content:center}.swagger-ui .content-between-ns{align-content:space-between}.swagger-ui .content-around-ns{align-content:space-around}.swagger-ui .content-stretch-ns{align-content:stretch}.swagger-ui .order-0-ns{order:0}.swagger-ui .order-1-ns{order:1}.swagger-ui .order-2-ns{order:2}.swagger-ui .order-3-ns{order:3}.swagger-ui .order-4-ns{order:4}.swagger-ui .order-5-ns{order:5}.swagger-ui .order-6-ns{order:6}.swagger-ui .order-7-ns{order:7}.swagger-ui .order-8-ns{order:8}.swagger-ui .order-last-ns{order:99999}.swagger-ui .flex-grow-0-ns{flex-grow:0}.swagger-ui .flex-grow-1-ns{flex-grow:1}.swagger-ui .flex-shrink-0-ns{flex-shrink:0}.swagger-ui .flex-shrink-1-ns{flex-shrink:1}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .flex-m{display:flex}.swagger-ui .inline-flex-m{display:inline-flex}.swagger-ui .flex-auto-m{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-m{flex:none}.swagger-ui .flex-column-m{flex-direction:column}.swagger-ui .flex-row-m{flex-direction:row}.swagger-ui .flex-wrap-m{flex-wrap:wrap}.swagger-ui .flex-nowrap-m{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-m{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-m{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-m{flex-direction:row-reverse}.swagger-ui .items-start-m{align-items:flex-start}.swagger-ui .items-end-m{align-items:flex-end}.swagger-ui .items-center-m{align-items:center}.swagger-ui .items-baseline-m{align-items:baseline}.swagger-ui .items-stretch-m{align-items:stretch}.swagger-ui .self-start-m{align-self:flex-start}.swagger-ui .self-end-m{align-self:flex-end}.swagger-ui .self-center-m{align-self:center}.swagger-ui .self-baseline-m{align-self:baseline}.swagger-ui .self-stretch-m{align-self:stretch}.swagger-ui .justify-start-m{justify-content:flex-start}.swagger-ui .justify-end-m{justify-content:flex-end}.swagger-ui .justify-center-m{justify-content:center}.swagger-ui .justify-between-m{justify-content:space-between}.swagger-ui .justify-around-m{justify-content:space-around}.swagger-ui .content-start-m{align-content:flex-start}.swagger-ui .content-end-m{align-content:flex-end}.swagger-ui .content-center-m{align-content:center}.swagger-ui .content-between-m{align-content:space-between}.swagger-ui .content-around-m{align-content:space-around}.swagger-ui .content-stretch-m{align-content:stretch}.swagger-ui .order-0-m{order:0}.swagger-ui .order-1-m{order:1}.swagger-ui .order-2-m{order:2}.swagger-ui .order-3-m{order:3}.swagger-ui .order-4-m{order:4}.swagger-ui .order-5-m{order:5}.swagger-ui .order-6-m{order:6}.swagger-ui .order-7-m{order:7}.swagger-ui .order-8-m{order:8}.swagger-ui .order-last-m{order:99999}.swagger-ui .flex-grow-0-m{flex-grow:0}.swagger-ui .flex-grow-1-m{flex-grow:1}.swagger-ui .flex-shrink-0-m{flex-shrink:0}.swagger-ui .flex-shrink-1-m{flex-shrink:1}}@media screen and (min-width:60em){.swagger-ui .flex-l{display:flex}.swagger-ui .inline-flex-l{display:inline-flex}.swagger-ui .flex-auto-l{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-l{flex:none}.swagger-ui .flex-column-l{flex-direction:column}.swagger-ui .flex-row-l{flex-direction:row}.swagger-ui .flex-wrap-l{flex-wrap:wrap}.swagger-ui .flex-nowrap-l{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-l{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-l{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-l{flex-direction:row-reverse}.swagger-ui .items-start-l{align-items:flex-start}.swagger-ui .items-end-l{align-items:flex-end}.swagger-ui .items-center-l{align-items:center}.swagger-ui .items-baseline-l{align-items:baseline}.swagger-ui .items-stretch-l{align-items:stretch}.swagger-ui .self-start-l{align-self:flex-start}.swagger-ui .self-end-l{align-self:flex-end}.swagger-ui .self-center-l{align-self:center}.swagger-ui .self-baseline-l{align-self:baseline}.swagger-ui .self-stretch-l{align-self:stretch}.swagger-ui .justify-start-l{justify-content:flex-start}.swagger-ui .justify-end-l{justify-content:flex-end}.swagger-ui .justify-center-l{justify-content:center}.swagger-ui .justify-between-l{justify-content:space-between}.swagger-ui .justify-around-l{justify-content:space-around}.swagger-ui .content-start-l{align-content:flex-start}.swagger-ui .content-end-l{align-content:flex-end}.swagger-ui .content-center-l{align-content:center}.swagger-ui .content-between-l{align-content:space-between}.swagger-ui .content-around-l{align-content:space-around}.swagger-ui .content-stretch-l{align-content:stretch}.swagger-ui .order-0-l{order:0}.swagger-ui .order-1-l{order:1}.swagger-ui .order-2-l{order:2}.swagger-ui .order-3-l{order:3}.swagger-ui .order-4-l{order:4}.swagger-ui .order-5-l{order:5}.swagger-ui .order-6-l{order:6}.swagger-ui .order-7-l{order:7}.swagger-ui .order-8-l{order:8}.swagger-ui .order-last-l{order:99999}.swagger-ui .flex-grow-0-l{flex-grow:0}.swagger-ui .flex-grow-1-l{flex-grow:1}.swagger-ui .flex-shrink-0-l{flex-shrink:0}.swagger-ui .flex-shrink-1-l{flex-shrink:1}}.swagger-ui .dn{display:none}.swagger-ui .di{display:inline}.swagger-ui .db{display:block}.swagger-ui .dib{display:inline-block}.swagger-ui .dit{display:inline-table}.swagger-ui .dt{display:table}.swagger-ui .dtc{display:table-cell}.swagger-ui .dt-row{display:table-row}.swagger-ui .dt-row-group{display:table-row-group}.swagger-ui .dt-column{display:table-column}.swagger-ui .dt-column-group{display:table-column-group}.swagger-ui .dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.swagger-ui .dn-ns{display:none}.swagger-ui .di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui .dib-ns{display:inline-block}.swagger-ui .dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui .dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui .dt-row-group-ns{display:table-row-group}.swagger-ui .dt-column-ns{display:table-column}.swagger-ui .dt-column-group-ns{display:table-column-group}.swagger-ui .dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui .db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui .dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui .dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui .dt-row-group-m{display:table-row-group}.swagger-ui .dt-column-m{display:table-column}.swagger-ui .dt-column-group-m{display:table-column-group}.swagger-ui .dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.swagger-ui .dn-l{display:none}.swagger-ui .di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui .dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui .dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui .dt-row-l{display:table-row}.swagger-ui .dt-row-group-l{display:table-row-group}.swagger-ui .dt-column-l{display:table-column}.swagger-ui .dt-column-group-l{display:table-column-group}.swagger-ui .dt--fixed-l{table-layout:fixed;width:100%}}.swagger-ui .fl{_display:inline;float:left}.swagger-ui .fr{_display:inline;float:right}.swagger-ui .fn{float:none}@media screen and (min-width:30em){.swagger-ui .fl-ns{_display:inline;float:left}.swagger-ui .fr-ns{_display:inline;float:right}.swagger-ui .fn-ns{float:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .fl-m{_display:inline;float:left}.swagger-ui .fr-m{_display:inline;float:right}.swagger-ui .fn-m{float:none}}@media screen and (min-width:60em){.swagger-ui .fl-l{_display:inline;float:left}.swagger-ui .fr-l{_display:inline;float:right}.swagger-ui .fn-l{float:none}}.swagger-ui .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.swagger-ui .serif{font-family:georgia,serif}.swagger-ui .system-sans-serif{font-family:sans-serif}.swagger-ui .system-serif{font-family:serif}.swagger-ui .code,.swagger-ui code{font-family:Consolas,monaco,monospace}.swagger-ui .courier{font-family:Courier Next,courier,monospace}.swagger-ui .helvetica{font-family:helvetica neue,helvetica,sans-serif}.swagger-ui .avenir{font-family:avenir next,avenir,sans-serif}.swagger-ui .athelas{font-family:athelas,georgia,serif}.swagger-ui .georgia{font-family:georgia,serif}.swagger-ui .times{font-family:times,serif}.swagger-ui .bodoni{font-family:Bodoni MT,serif}.swagger-ui .calisto{font-family:Calisto MT,serif}.swagger-ui .garamond{font-family:garamond,serif}.swagger-ui .baskerville{font-family:baskerville,serif}.swagger-ui .i{font-style:italic}.swagger-ui .fs-normal{font-style:normal}@media screen and (min-width:30em){.swagger-ui .i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.swagger-ui .i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui .normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui .fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui .fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui .fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui .fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui .fw9{font-weight:900}@media screen and (min-width:30em){.swagger-ui .normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui .fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui .fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui .fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui .fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui .fw9-ns{font-weight:900}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui .fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui .fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui .fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui .fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui .fw9-m{font-weight:900}}@media screen and (min-width:60em){.swagger-ui .normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui .fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui .fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui .fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui .fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui .fw9-l{font-weight:900}}.swagger-ui .input-reset{-webkit-appearance:none;-moz-appearance:none}.swagger-ui .button-reset::-moz-focus-inner,.swagger-ui .input-reset::-moz-focus-inner{border:0;padding:0}.swagger-ui .h1{height:1rem}.swagger-ui .h2{height:2rem}.swagger-ui .h3{height:4rem}.swagger-ui .h4{height:8rem}.swagger-ui .h5{height:16rem}.swagger-ui .h-25{height:25%}.swagger-ui .h-50{height:50%}.swagger-ui .h-75{height:75%}.swagger-ui .h-100{height:100%}.swagger-ui .min-h-100{min-height:100%}.swagger-ui .vh-25{height:25vh}.swagger-ui .vh-50{height:50vh}.swagger-ui .vh-75{height:75vh}.swagger-ui .vh-100{height:100vh}.swagger-ui .min-vh-100{min-height:100vh}.swagger-ui .h-auto{height:auto}.swagger-ui .h-inherit{height:inherit}@media screen and (min-width:30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui .h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui .h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui .h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui .h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui .min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui .vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui .vh-100-ns{height:100vh}.swagger-ui .min-vh-100-ns{min-height:100vh}.swagger-ui .h-auto-ns{height:auto}.swagger-ui .h-inherit-ns{height:inherit}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui .h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui .h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui .h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui .h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui .vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui .vh-75-m{height:75vh}.swagger-ui .vh-100-m{height:100vh}.swagger-ui .min-vh-100-m{min-height:100vh}.swagger-ui .h-auto-m{height:auto}.swagger-ui .h-inherit-m{height:inherit}}@media screen and (min-width:60em){.swagger-ui .h1-l{height:1rem}.swagger-ui .h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui .h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui .h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui .h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui .min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui .vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui .vh-100-l{height:100vh}.swagger-ui .min-vh-100-l{min-height:100vh}.swagger-ui .h-auto-l{height:auto}.swagger-ui .h-inherit-l{height:inherit}}.swagger-ui .tracked{letter-spacing:.1em}.swagger-ui .tracked-tight{letter-spacing:-.05em}.swagger-ui .tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.swagger-ui .tracked-ns{letter-spacing:.1em}.swagger-ui .tracked-tight-ns{letter-spacing:-.05em}.swagger-ui .tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .tracked-m{letter-spacing:.1em}.swagger-ui .tracked-tight-m{letter-spacing:-.05em}.swagger-ui .tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.swagger-ui .tracked-l{letter-spacing:.1em}.swagger-ui .tracked-tight-l{letter-spacing:-.05em}.swagger-ui .tracked-mega-l{letter-spacing:.25em}}.swagger-ui .lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui .lh-copy{line-height:1.5}@media screen and (min-width:30em){.swagger-ui .lh-solid-ns{line-height:1}.swagger-ui .lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui .lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.swagger-ui .lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui .lh-copy-l{line-height:1.5}}.swagger-ui .link{-webkit-text-decoration:none;text-decoration:none}.swagger-ui .link,.swagger-ui .link:active,.swagger-ui .link:focus,.swagger-ui .link:hover,.swagger-ui .link:link,.swagger-ui .link:visited{transition:color .15s ease-in}.swagger-ui .link:focus{outline:1px dotted currentColor}.swagger-ui .list{list-style-type:none}.swagger-ui .mw-100{max-width:100%}.swagger-ui .mw1{max-width:1rem}.swagger-ui .mw2{max-width:2rem}.swagger-ui .mw3{max-width:4rem}.swagger-ui .mw4{max-width:8rem}.swagger-ui .mw5{max-width:16rem}.swagger-ui .mw6{max-width:32rem}.swagger-ui .mw7{max-width:48rem}.swagger-ui .mw8{max-width:64rem}.swagger-ui .mw9{max-width:96rem}.swagger-ui .mw-none{max-width:none}@media screen and (min-width:30em){.swagger-ui .mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui .mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui .mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui .mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui .mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui .mw-none-ns{max-width:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui .mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui .mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui .mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui .mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui .mw-none-m{max-width:none}}@media screen and (min-width:60em){.swagger-ui .mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui .mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui .mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui .mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui .mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui .mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui .w2{width:2rem}.swagger-ui .w3{width:4rem}.swagger-ui .w4{width:8rem}.swagger-ui .w5{width:16rem}.swagger-ui .w-10{width:10%}.swagger-ui .w-20{width:20%}.swagger-ui .w-25{width:25%}.swagger-ui .w-30{width:30%}.swagger-ui .w-33{width:33%}.swagger-ui .w-34{width:34%}.swagger-ui .w-40{width:40%}.swagger-ui .w-50{width:50%}.swagger-ui .w-60{width:60%}.swagger-ui .w-70{width:70%}.swagger-ui .w-75{width:75%}.swagger-ui .w-80{width:80%}.swagger-ui .w-90{width:90%}.swagger-ui .w-100{width:100%}.swagger-ui .w-third{width:33.3333333333%}.swagger-ui .w-two-thirds{width:66.6666666667%}.swagger-ui .w-auto{width:auto}@media screen and (min-width:30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui .w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui .w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui .w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui .w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui .w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui .w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui .w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70%}.swagger-ui .w-75-ns{width:75%}.swagger-ui .w-80-ns{width:80%}.swagger-ui .w-90-ns{width:90%}.swagger-ui .w-100-ns{width:100%}.swagger-ui .w-third-ns{width:33.3333333333%}.swagger-ui .w-two-thirds-ns{width:66.6666666667%}.swagger-ui .w-auto-ns{width:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui .w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui .w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui .w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui .w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui .w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui .w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width:70%}.swagger-ui .w-75-m{width:75%}.swagger-ui .w-80-m{width:80%}.swagger-ui .w-90-m{width:90%}.swagger-ui .w-100-m{width:100%}.swagger-ui .w-third-m{width:33.3333333333%}.swagger-ui .w-two-thirds-m{width:66.6666666667%}.swagger-ui .w-auto-m{width:auto}}@media screen and (min-width:60em){.swagger-ui .w1-l{width:1rem}.swagger-ui .w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui .w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui .w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui .w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui .w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui .w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui .w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui .w-75-l{width:75%}.swagger-ui .w-80-l{width:80%}.swagger-ui .w-90-l{width:90%}.swagger-ui .w-100-l{width:100%}.swagger-ui .w-third-l{width:33.3333333333%}.swagger-ui .w-two-thirds-l{width:66.6666666667%}.swagger-ui .w-auto-l{width:auto}}.swagger-ui .overflow-visible{overflow:visible}.swagger-ui .overflow-hidden{overflow:hidden}.swagger-ui .overflow-scroll{overflow:scroll}.swagger-ui .overflow-auto{overflow:auto}.swagger-ui .overflow-x-visible{overflow-x:visible}.swagger-ui .overflow-x-hidden{overflow-x:hidden}.swagger-ui .overflow-x-scroll{overflow-x:scroll}.swagger-ui .overflow-x-auto{overflow-x:auto}.swagger-ui .overflow-y-visible{overflow-y:visible}.swagger-ui .overflow-y-hidden{overflow-y:hidden}.swagger-ui .overflow-y-scroll{overflow-y:scroll}.swagger-ui .overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.swagger-ui .overflow-visible-ns{overflow:visible}.swagger-ui .overflow-hidden-ns{overflow:hidden}.swagger-ui .overflow-scroll-ns{overflow:scroll}.swagger-ui .overflow-auto-ns{overflow:auto}.swagger-ui .overflow-x-visible-ns{overflow-x:visible}.swagger-ui .overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui .overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui .overflow-x-auto-ns{overflow-x:auto}.swagger-ui .overflow-y-visible-ns{overflow-y:visible}.swagger-ui .overflow-y-hidden-ns{overflow-y:hidden}.swagger-ui .overflow-y-scroll-ns{overflow-y:scroll}.swagger-ui .overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .overflow-visible-m{overflow:visible}.swagger-ui .overflow-hidden-m{overflow:hidden}.swagger-ui .overflow-scroll-m{overflow:scroll}.swagger-ui .overflow-auto-m{overflow:auto}.swagger-ui .overflow-x-visible-m{overflow-x:visible}.swagger-ui .overflow-x-hidden-m{overflow-x:hidden}.swagger-ui .overflow-x-scroll-m{overflow-x:scroll}.swagger-ui .overflow-x-auto-m{overflow-x:auto}.swagger-ui .overflow-y-visible-m{overflow-y:visible}.swagger-ui .overflow-y-hidden-m{overflow-y:hidden}.swagger-ui .overflow-y-scroll-m{overflow-y:scroll}.swagger-ui .overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.swagger-ui .overflow-visible-l{overflow:visible}.swagger-ui .overflow-hidden-l{overflow:hidden}.swagger-ui .overflow-scroll-l{overflow:scroll}.swagger-ui .overflow-auto-l{overflow:auto}.swagger-ui .overflow-x-visible-l{overflow-x:visible}.swagger-ui .overflow-x-hidden-l{overflow-x:hidden}.swagger-ui .overflow-x-scroll-l{overflow-x:scroll}.swagger-ui .overflow-x-auto-l{overflow-x:auto}.swagger-ui .overflow-y-visible-l{overflow-y:visible}.swagger-ui .overflow-y-hidden-l{overflow-y:hidden}.swagger-ui .overflow-y-scroll-l{overflow-y:scroll}.swagger-ui .overflow-y-auto-l{overflow-y:auto}}.swagger-ui .static{position:static}.swagger-ui .relative{position:relative}.swagger-ui .absolute{position:absolute}.swagger-ui .fixed{position:fixed}@media screen and (min-width:30em){.swagger-ui .static-ns{position:static}.swagger-ui .relative-ns{position:relative}.swagger-ui .absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui .absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}@media screen and (min-width:60em){.swagger-ui .static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui .absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui .o-100{opacity:1}.swagger-ui .o-90{opacity:.9}.swagger-ui .o-80{opacity:.8}.swagger-ui .o-70{opacity:.7}.swagger-ui .o-60{opacity:.6}.swagger-ui .o-50{opacity:.5}.swagger-ui .o-40{opacity:.4}.swagger-ui .o-30{opacity:.3}.swagger-ui .o-20{opacity:.2}.swagger-ui .o-10{opacity:.1}.swagger-ui .o-05{opacity:.05}.swagger-ui .o-025{opacity:.025}.swagger-ui .o-0{opacity:0}.swagger-ui .rotate-45{transform:rotate(45deg)}.swagger-ui .rotate-90{transform:rotate(90deg)}.swagger-ui .rotate-135{transform:rotate(135deg)}.swagger-ui .rotate-180{transform:rotate(180deg)}.swagger-ui .rotate-225{transform:rotate(225deg)}.swagger-ui .rotate-270{transform:rotate(270deg)}.swagger-ui .rotate-315{transform:rotate(315deg)}@media screen and (min-width:30em){.swagger-ui .rotate-45-ns{transform:rotate(45deg)}.swagger-ui .rotate-90-ns{transform:rotate(90deg)}.swagger-ui .rotate-135-ns{transform:rotate(135deg)}.swagger-ui .rotate-180-ns{transform:rotate(180deg)}.swagger-ui .rotate-225-ns{transform:rotate(225deg)}.swagger-ui .rotate-270-ns{transform:rotate(270deg)}.swagger-ui .rotate-315-ns{transform:rotate(315deg)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .rotate-45-m{transform:rotate(45deg)}.swagger-ui .rotate-90-m{transform:rotate(90deg)}.swagger-ui .rotate-135-m{transform:rotate(135deg)}.swagger-ui .rotate-180-m{transform:rotate(180deg)}.swagger-ui .rotate-225-m{transform:rotate(225deg)}.swagger-ui .rotate-270-m{transform:rotate(270deg)}.swagger-ui .rotate-315-m{transform:rotate(315deg)}}@media screen and (min-width:60em){.swagger-ui .rotate-45-l{transform:rotate(45deg)}.swagger-ui .rotate-90-l{transform:rotate(90deg)}.swagger-ui .rotate-135-l{transform:rotate(135deg)}.swagger-ui .rotate-180-l{transform:rotate(180deg)}.swagger-ui .rotate-225-l{transform:rotate(225deg)}.swagger-ui .rotate-270-l{transform:rotate(270deg)}.swagger-ui .rotate-315-l{transform:rotate(315deg)}}.swagger-ui .black-90{color:rgba(0,0,0,.9)}.swagger-ui .black-80{color:rgba(0,0,0,.8)}.swagger-ui .black-70{color:rgba(0,0,0,.7)}.swagger-ui .black-60{color:rgba(0,0,0,.6)}.swagger-ui .black-50{color:rgba(0,0,0,.5)}.swagger-ui .black-40{color:rgba(0,0,0,.4)}.swagger-ui .black-30{color:rgba(0,0,0,.3)}.swagger-ui .black-20{color:rgba(0,0,0,.2)}.swagger-ui .black-10{color:rgba(0,0,0,.1)}.swagger-ui .black-05{color:rgba(0,0,0,.05)}.swagger-ui .white-90{color:hsla(0,0%,100%,.9)}.swagger-ui .white-80{color:hsla(0,0%,100%,.8)}.swagger-ui .white-70{color:hsla(0,0%,100%,.7)}.swagger-ui .white-60{color:hsla(0,0%,100%,.6)}.swagger-ui .white-50{color:hsla(0,0%,100%,.5)}.swagger-ui .white-40{color:hsla(0,0%,100%,.4)}.swagger-ui .white-30{color:hsla(0,0%,100%,.3)}.swagger-ui .white-20{color:hsla(0,0%,100%,.2)}.swagger-ui .white-10{color:hsla(0,0%,100%,.1)}.swagger-ui .black{color:#000}.swagger-ui .near-black{color:#111}.swagger-ui .dark-gray{color:#333}.swagger-ui .mid-gray{color:#555}.swagger-ui .gray{color:#777}.swagger-ui .silver{color:#999}.swagger-ui .light-silver{color:#aaa}.swagger-ui .moon-gray{color:#ccc}.swagger-ui .light-gray{color:#eee}.swagger-ui .near-white{color:#f4f4f4}.swagger-ui .white{color:#fff}.swagger-ui .dark-red{color:#e7040f}.swagger-ui .red{color:#ff4136}.swagger-ui .light-red{color:#ff725c}.swagger-ui .orange{color:#ff6300}.swagger-ui .gold{color:#ffb700}.swagger-ui .yellow{color:gold}.swagger-ui .light-yellow{color:#fbf1a9}.swagger-ui .purple{color:#5e2ca5}.swagger-ui .light-purple{color:#a463f2}.swagger-ui .dark-pink{color:#d5008f}.swagger-ui .hot-pink{color:#ff41b4}.swagger-ui .pink{color:#ff80cc}.swagger-ui .light-pink{color:#ffa3d7}.swagger-ui .dark-green{color:#137752}.swagger-ui .green{color:#19a974}.swagger-ui .light-green{color:#9eebcf}.swagger-ui .navy{color:#001b44}.swagger-ui .dark-blue{color:#00449e}.swagger-ui .blue{color:#357edd}.swagger-ui .light-blue{color:#96ccff}.swagger-ui .lightest-blue{color:#cdecff}.swagger-ui .washed-blue{color:#f6fffe}.swagger-ui .washed-green{color:#e8fdf5}.swagger-ui .washed-yellow{color:#fffceb}.swagger-ui .washed-red{color:#ffdfdf}.swagger-ui .color-inherit{color:inherit}.swagger-ui .bg-black-90{background-color:rgba(0,0,0,.9)}.swagger-ui .bg-black-80{background-color:rgba(0,0,0,.8)}.swagger-ui .bg-black-70{background-color:rgba(0,0,0,.7)}.swagger-ui .bg-black-60{background-color:rgba(0,0,0,.6)}.swagger-ui .bg-black-50{background-color:rgba(0,0,0,.5)}.swagger-ui .bg-black-40{background-color:rgba(0,0,0,.4)}.swagger-ui .bg-black-30{background-color:rgba(0,0,0,.3)}.swagger-ui .bg-black-20{background-color:rgba(0,0,0,.2)}.swagger-ui .bg-black-10{background-color:rgba(0,0,0,.1)}.swagger-ui .bg-black-05{background-color:rgba(0,0,0,.05)}.swagger-ui .bg-white-90{background-color:hsla(0,0%,100%,.9)}.swagger-ui .bg-white-80{background-color:hsla(0,0%,100%,.8)}.swagger-ui .bg-white-70{background-color:hsla(0,0%,100%,.7)}.swagger-ui .bg-white-60{background-color:hsla(0,0%,100%,.6)}.swagger-ui .bg-white-50{background-color:hsla(0,0%,100%,.5)}.swagger-ui .bg-white-40{background-color:hsla(0,0%,100%,.4)}.swagger-ui .bg-white-30{background-color:hsla(0,0%,100%,.3)}.swagger-ui .bg-white-20{background-color:hsla(0,0%,100%,.2)}.swagger-ui .bg-white-10{background-color:hsla(0,0%,100%,.1)}.swagger-ui .bg-black{background-color:#000}.swagger-ui .bg-near-black{background-color:#111}.swagger-ui .bg-dark-gray{background-color:#333}.swagger-ui .bg-mid-gray{background-color:#555}.swagger-ui .bg-gray{background-color:#777}.swagger-ui .bg-silver{background-color:#999}.swagger-ui .bg-light-silver{background-color:#aaa}.swagger-ui .bg-moon-gray{background-color:#ccc}.swagger-ui .bg-light-gray{background-color:#eee}.swagger-ui .bg-near-white{background-color:#f4f4f4}.swagger-ui .bg-white{background-color:#fff}.swagger-ui .bg-transparent{background-color:transparent}.swagger-ui .bg-dark-red{background-color:#e7040f}.swagger-ui .bg-red{background-color:#ff4136}.swagger-ui .bg-light-red{background-color:#ff725c}.swagger-ui .bg-orange{background-color:#ff6300}.swagger-ui .bg-gold{background-color:#ffb700}.swagger-ui .bg-yellow{background-color:gold}.swagger-ui .bg-light-yellow{background-color:#fbf1a9}.swagger-ui .bg-purple{background-color:#5e2ca5}.swagger-ui .bg-light-purple{background-color:#a463f2}.swagger-ui .bg-dark-pink{background-color:#d5008f}.swagger-ui .bg-hot-pink{background-color:#ff41b4}.swagger-ui .bg-pink{background-color:#ff80cc}.swagger-ui .bg-light-pink{background-color:#ffa3d7}.swagger-ui .bg-dark-green{background-color:#137752}.swagger-ui .bg-green{background-color:#19a974}.swagger-ui .bg-light-green{background-color:#9eebcf}.swagger-ui .bg-navy{background-color:#001b44}.swagger-ui .bg-dark-blue{background-color:#00449e}.swagger-ui .bg-blue{background-color:#357edd}.swagger-ui .bg-light-blue{background-color:#96ccff}.swagger-ui .bg-lightest-blue{background-color:#cdecff}.swagger-ui .bg-washed-blue{background-color:#f6fffe}.swagger-ui .bg-washed-green{background-color:#e8fdf5}.swagger-ui .bg-washed-yellow{background-color:#fffceb}.swagger-ui .bg-washed-red{background-color:#ffdfdf}.swagger-ui .bg-inherit{background-color:inherit}.swagger-ui .hover-black:focus,.swagger-ui .hover-black:hover{color:#000}.swagger-ui .hover-near-black:focus,.swagger-ui .hover-near-black:hover{color:#111}.swagger-ui .hover-dark-gray:focus,.swagger-ui .hover-dark-gray:hover{color:#333}.swagger-ui .hover-mid-gray:focus,.swagger-ui .hover-mid-gray:hover{color:#555}.swagger-ui .hover-gray:focus,.swagger-ui .hover-gray:hover{color:#777}.swagger-ui .hover-silver:focus,.swagger-ui .hover-silver:hover{color:#999}.swagger-ui .hover-light-silver:focus,.swagger-ui .hover-light-silver:hover{color:#aaa}.swagger-ui .hover-moon-gray:focus,.swagger-ui .hover-moon-gray:hover{color:#ccc}.swagger-ui .hover-light-gray:focus,.swagger-ui .hover-light-gray:hover{color:#eee}.swagger-ui .hover-near-white:focus,.swagger-ui .hover-near-white:hover{color:#f4f4f4}.swagger-ui .hover-white:focus,.swagger-ui .hover-white:hover{color:#fff}.swagger-ui .hover-black-90:focus,.swagger-ui .hover-black-90:hover{color:rgba(0,0,0,.9)}.swagger-ui .hover-black-80:focus,.swagger-ui .hover-black-80:hover{color:rgba(0,0,0,.8)}.swagger-ui .hover-black-70:focus,.swagger-ui .hover-black-70:hover{color:rgba(0,0,0,.7)}.swagger-ui .hover-black-60:focus,.swagger-ui .hover-black-60:hover{color:rgba(0,0,0,.6)}.swagger-ui .hover-black-50:focus,.swagger-ui .hover-black-50:hover{color:rgba(0,0,0,.5)}.swagger-ui .hover-black-40:focus,.swagger-ui .hover-black-40:hover{color:rgba(0,0,0,.4)}.swagger-ui .hover-black-30:focus,.swagger-ui .hover-black-30:hover{color:rgba(0,0,0,.3)}.swagger-ui .hover-black-20:focus,.swagger-ui .hover-black-20:hover{color:rgba(0,0,0,.2)}.swagger-ui .hover-black-10:focus,.swagger-ui .hover-black-10:hover{color:rgba(0,0,0,.1)}.swagger-ui .hover-white-90:focus,.swagger-ui .hover-white-90:hover{color:hsla(0,0%,100%,.9)}.swagger-ui .hover-white-80:focus,.swagger-ui .hover-white-80:hover{color:hsla(0,0%,100%,.8)}.swagger-ui .hover-white-70:focus,.swagger-ui .hover-white-70:hover{color:hsla(0,0%,100%,.7)}.swagger-ui .hover-white-60:focus,.swagger-ui .hover-white-60:hover{color:hsla(0,0%,100%,.6)}.swagger-ui .hover-white-50:focus,.swagger-ui .hover-white-50:hover{color:hsla(0,0%,100%,.5)}.swagger-ui .hover-white-40:focus,.swagger-ui .hover-white-40:hover{color:hsla(0,0%,100%,.4)}.swagger-ui .hover-white-30:focus,.swagger-ui .hover-white-30:hover{color:hsla(0,0%,100%,.3)}.swagger-ui .hover-white-20:focus,.swagger-ui .hover-white-20:hover{color:hsla(0,0%,100%,.2)}.swagger-ui .hover-white-10:focus,.swagger-ui .hover-white-10:hover{color:hsla(0,0%,100%,.1)}.swagger-ui .hover-inherit:focus,.swagger-ui .hover-inherit:hover{color:inherit}.swagger-ui .hover-bg-black:focus,.swagger-ui .hover-bg-black:hover{background-color:#000}.swagger-ui .hover-bg-near-black:focus,.swagger-ui .hover-bg-near-black:hover{background-color:#111}.swagger-ui .hover-bg-dark-gray:focus,.swagger-ui .hover-bg-dark-gray:hover{background-color:#333}.swagger-ui .hover-bg-mid-gray:focus,.swagger-ui .hover-bg-mid-gray:hover{background-color:#555}.swagger-ui .hover-bg-gray:focus,.swagger-ui .hover-bg-gray:hover{background-color:#777}.swagger-ui .hover-bg-silver:focus,.swagger-ui .hover-bg-silver:hover{background-color:#999}.swagger-ui .hover-bg-light-silver:focus,.swagger-ui .hover-bg-light-silver:hover{background-color:#aaa}.swagger-ui .hover-bg-moon-gray:focus,.swagger-ui .hover-bg-moon-gray:hover{background-color:#ccc}.swagger-ui .hover-bg-light-gray:focus,.swagger-ui .hover-bg-light-gray:hover{background-color:#eee}.swagger-ui .hover-bg-near-white:focus,.swagger-ui .hover-bg-near-white:hover{background-color:#f4f4f4}.swagger-ui .hover-bg-white:focus,.swagger-ui .hover-bg-white:hover{background-color:#fff}.swagger-ui .hover-bg-transparent:focus,.swagger-ui .hover-bg-transparent:hover{background-color:transparent}.swagger-ui .hover-bg-black-90:focus,.swagger-ui .hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.swagger-ui .hover-bg-black-80:focus,.swagger-ui .hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.swagger-ui .hover-bg-black-70:focus,.swagger-ui .hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.swagger-ui .hover-bg-black-60:focus,.swagger-ui .hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.swagger-ui .hover-bg-black-50:focus,.swagger-ui .hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.swagger-ui .hover-bg-black-40:focus,.swagger-ui .hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.swagger-ui .hover-bg-black-30:focus,.swagger-ui .hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.swagger-ui .hover-bg-black-20:focus,.swagger-ui .hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.swagger-ui .hover-bg-black-10:focus,.swagger-ui .hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.swagger-ui .hover-bg-white-90:focus,.swagger-ui .hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.swagger-ui .hover-bg-white-80:focus,.swagger-ui .hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.swagger-ui .hover-bg-white-70:focus,.swagger-ui .hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.swagger-ui .hover-bg-white-60:focus,.swagger-ui .hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.swagger-ui .hover-bg-white-50:focus,.swagger-ui .hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.swagger-ui .hover-bg-white-40:focus,.swagger-ui .hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.swagger-ui .hover-bg-white-30:focus,.swagger-ui .hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.swagger-ui .hover-bg-white-20:focus,.swagger-ui .hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.swagger-ui .hover-bg-white-10:focus,.swagger-ui .hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.swagger-ui .hover-dark-red:focus,.swagger-ui .hover-dark-red:hover{color:#e7040f}.swagger-ui .hover-red:focus,.swagger-ui .hover-red:hover{color:#ff4136}.swagger-ui .hover-light-red:focus,.swagger-ui .hover-light-red:hover{color:#ff725c}.swagger-ui .hover-orange:focus,.swagger-ui .hover-orange:hover{color:#ff6300}.swagger-ui .hover-gold:focus,.swagger-ui .hover-gold:hover{color:#ffb700}.swagger-ui .hover-yellow:focus,.swagger-ui .hover-yellow:hover{color:gold}.swagger-ui .hover-light-yellow:focus,.swagger-ui .hover-light-yellow:hover{color:#fbf1a9}.swagger-ui .hover-purple:focus,.swagger-ui .hover-purple:hover{color:#5e2ca5}.swagger-ui .hover-light-purple:focus,.swagger-ui .hover-light-purple:hover{color:#a463f2}.swagger-ui .hover-dark-pink:focus,.swagger-ui .hover-dark-pink:hover{color:#d5008f}.swagger-ui .hover-hot-pink:focus,.swagger-ui .hover-hot-pink:hover{color:#ff41b4}.swagger-ui .hover-pink:focus,.swagger-ui .hover-pink:hover{color:#ff80cc}.swagger-ui .hover-light-pink:focus,.swagger-ui .hover-light-pink:hover{color:#ffa3d7}.swagger-ui .hover-dark-green:focus,.swagger-ui .hover-dark-green:hover{color:#137752}.swagger-ui .hover-green:focus,.swagger-ui .hover-green:hover{color:#19a974}.swagger-ui .hover-light-green:focus,.swagger-ui .hover-light-green:hover{color:#9eebcf}.swagger-ui .hover-navy:focus,.swagger-ui .hover-navy:hover{color:#001b44}.swagger-ui .hover-dark-blue:focus,.swagger-ui .hover-dark-blue:hover{color:#00449e}.swagger-ui .hover-blue:focus,.swagger-ui .hover-blue:hover{color:#357edd}.swagger-ui .hover-light-blue:focus,.swagger-ui .hover-light-blue:hover{color:#96ccff}.swagger-ui .hover-lightest-blue:focus,.swagger-ui .hover-lightest-blue:hover{color:#cdecff}.swagger-ui .hover-washed-blue:focus,.swagger-ui .hover-washed-blue:hover{color:#f6fffe}.swagger-ui .hover-washed-green:focus,.swagger-ui .hover-washed-green:hover{color:#e8fdf5}.swagger-ui .hover-washed-yellow:focus,.swagger-ui .hover-washed-yellow:hover{color:#fffceb}.swagger-ui .hover-washed-red:focus,.swagger-ui .hover-washed-red:hover{color:#ffdfdf}.swagger-ui .hover-bg-dark-red:focus,.swagger-ui .hover-bg-dark-red:hover{background-color:#e7040f}.swagger-ui .hover-bg-red:focus,.swagger-ui .hover-bg-red:hover{background-color:#ff4136}.swagger-ui .hover-bg-light-red:focus,.swagger-ui .hover-bg-light-red:hover{background-color:#ff725c}.swagger-ui .hover-bg-orange:focus,.swagger-ui .hover-bg-orange:hover{background-color:#ff6300}.swagger-ui .hover-bg-gold:focus,.swagger-ui .hover-bg-gold:hover{background-color:#ffb700}.swagger-ui .hover-bg-yellow:focus,.swagger-ui .hover-bg-yellow:hover{background-color:gold}.swagger-ui .hover-bg-light-yellow:focus,.swagger-ui .hover-bg-light-yellow:hover{background-color:#fbf1a9}.swagger-ui .hover-bg-purple:focus,.swagger-ui .hover-bg-purple:hover{background-color:#5e2ca5}.swagger-ui .hover-bg-light-purple:focus,.swagger-ui .hover-bg-light-purple:hover{background-color:#a463f2}.swagger-ui .hover-bg-dark-pink:focus,.swagger-ui .hover-bg-dark-pink:hover{background-color:#d5008f}.swagger-ui .hover-bg-hot-pink:focus,.swagger-ui .hover-bg-hot-pink:hover{background-color:#ff41b4}.swagger-ui .hover-bg-pink:focus,.swagger-ui .hover-bg-pink:hover{background-color:#ff80cc}.swagger-ui .hover-bg-light-pink:focus,.swagger-ui .hover-bg-light-pink:hover{background-color:#ffa3d7}.swagger-ui .hover-bg-dark-green:focus,.swagger-ui .hover-bg-dark-green:hover{background-color:#137752}.swagger-ui .hover-bg-green:focus,.swagger-ui .hover-bg-green:hover{background-color:#19a974}.swagger-ui .hover-bg-light-green:focus,.swagger-ui .hover-bg-light-green:hover{background-color:#9eebcf}.swagger-ui .hover-bg-navy:focus,.swagger-ui .hover-bg-navy:hover{background-color:#001b44}.swagger-ui .hover-bg-dark-blue:focus,.swagger-ui .hover-bg-dark-blue:hover{background-color:#00449e}.swagger-ui .hover-bg-blue:focus,.swagger-ui .hover-bg-blue:hover{background-color:#357edd}.swagger-ui .hover-bg-light-blue:focus,.swagger-ui .hover-bg-light-blue:hover{background-color:#96ccff}.swagger-ui .hover-bg-lightest-blue:focus,.swagger-ui .hover-bg-lightest-blue:hover{background-color:#cdecff}.swagger-ui .hover-bg-washed-blue:focus,.swagger-ui .hover-bg-washed-blue:hover{background-color:#f6fffe}.swagger-ui .hover-bg-washed-green:focus,.swagger-ui .hover-bg-washed-green:hover{background-color:#e8fdf5}.swagger-ui .hover-bg-washed-yellow:focus,.swagger-ui .hover-bg-washed-yellow:hover{background-color:#fffceb}.swagger-ui .hover-bg-washed-red:focus,.swagger-ui .hover-bg-washed-red:hover{background-color:#ffdfdf}.swagger-ui .hover-bg-inherit:focus,.swagger-ui .hover-bg-inherit:hover{background-color:inherit}.swagger-ui .pa0{padding:0}.swagger-ui .pa1{padding:.25rem}.swagger-ui .pa2{padding:.5rem}.swagger-ui .pa3{padding:1rem}.swagger-ui .pa4{padding:2rem}.swagger-ui .pa5{padding:4rem}.swagger-ui .pa6{padding:8rem}.swagger-ui .pa7{padding:16rem}.swagger-ui .pl0{padding-left:0}.swagger-ui .pl1{padding-left:.25rem}.swagger-ui .pl2{padding-left:.5rem}.swagger-ui .pl3{padding-left:1rem}.swagger-ui .pl4{padding-left:2rem}.swagger-ui .pl5{padding-left:4rem}.swagger-ui .pl6{padding-left:8rem}.swagger-ui .pl7{padding-left:16rem}.swagger-ui .pr0{padding-right:0}.swagger-ui .pr1{padding-right:.25rem}.swagger-ui .pr2{padding-right:.5rem}.swagger-ui .pr3{padding-right:1rem}.swagger-ui .pr4{padding-right:2rem}.swagger-ui .pr5{padding-right:4rem}.swagger-ui .pr6{padding-right:8rem}.swagger-ui .pr7{padding-right:16rem}.swagger-ui .pb0{padding-bottom:0}.swagger-ui .pb1{padding-bottom:.25rem}.swagger-ui .pb2{padding-bottom:.5rem}.swagger-ui .pb3{padding-bottom:1rem}.swagger-ui .pb4{padding-bottom:2rem}.swagger-ui .pb5{padding-bottom:4rem}.swagger-ui .pb6{padding-bottom:8rem}.swagger-ui .pb7{padding-bottom:16rem}.swagger-ui .pt0{padding-top:0}.swagger-ui .pt1{padding-top:.25rem}.swagger-ui .pt2{padding-top:.5rem}.swagger-ui .pt3{padding-top:1rem}.swagger-ui .pt4{padding-top:2rem}.swagger-ui .pt5{padding-top:4rem}.swagger-ui .pt6{padding-top:8rem}.swagger-ui .pt7{padding-top:16rem}.swagger-ui .pv0{padding-bottom:0;padding-top:0}.swagger-ui .pv1{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0{padding-left:0;padding-right:0}.swagger-ui .ph1{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0{margin:0}.swagger-ui .ma1{margin:.25rem}.swagger-ui .ma2{margin:.5rem}.swagger-ui .ma3{margin:1rem}.swagger-ui .ma4{margin:2rem}.swagger-ui .ma5{margin:4rem}.swagger-ui .ma6{margin:8rem}.swagger-ui .ma7{margin:16rem}.swagger-ui .ml0{margin-left:0}.swagger-ui .ml1{margin-left:.25rem}.swagger-ui .ml2{margin-left:.5rem}.swagger-ui .ml3{margin-left:1rem}.swagger-ui .ml4{margin-left:2rem}.swagger-ui .ml5{margin-left:4rem}.swagger-ui .ml6{margin-left:8rem}.swagger-ui .ml7{margin-left:16rem}.swagger-ui .mr0{margin-right:0}.swagger-ui .mr1{margin-right:.25rem}.swagger-ui .mr2{margin-right:.5rem}.swagger-ui .mr3{margin-right:1rem}.swagger-ui .mr4{margin-right:2rem}.swagger-ui .mr5{margin-right:4rem}.swagger-ui .mr6{margin-right:8rem}.swagger-ui .mr7{margin-right:16rem}.swagger-ui .mb0{margin-bottom:0}.swagger-ui .mb1{margin-bottom:.25rem}.swagger-ui .mb2{margin-bottom:.5rem}.swagger-ui .mb3{margin-bottom:1rem}.swagger-ui .mb4{margin-bottom:2rem}.swagger-ui .mb5{margin-bottom:4rem}.swagger-ui .mb6{margin-bottom:8rem}.swagger-ui .mb7{margin-bottom:16rem}.swagger-ui .mt0{margin-top:0}.swagger-ui .mt1{margin-top:.25rem}.swagger-ui .mt2{margin-top:.5rem}.swagger-ui .mt3{margin-top:1rem}.swagger-ui .mt4{margin-top:2rem}.swagger-ui .mt5{margin-top:4rem}.swagger-ui .mt6{margin-top:8rem}.swagger-ui .mt7{margin-top:16rem}.swagger-ui .mv0{margin-bottom:0;margin-top:0}.swagger-ui .mv1{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0{margin-left:0;margin-right:0}.swagger-ui .mh1{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui .pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui .pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui .pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui .pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui .pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui .pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swagger-ui .pl5-ns{padding-left:4rem}.swagger-ui .pl6-ns{padding-left:8rem}.swagger-ui .pl7-ns{padding-left:16rem}.swagger-ui .pr0-ns{padding-right:0}.swagger-ui .pr1-ns{padding-right:.25rem}.swagger-ui .pr2-ns{padding-right:.5rem}.swagger-ui .pr3-ns{padding-right:1rem}.swagger-ui .pr4-ns{padding-right:2rem}.swagger-ui .pr5-ns{padding-right:4rem}.swagger-ui .pr6-ns{padding-right:8rem}.swagger-ui .pr7-ns{padding-right:16rem}.swagger-ui .pb0-ns{padding-bottom:0}.swagger-ui .pb1-ns{padding-bottom:.25rem}.swagger-ui .pb2-ns{padding-bottom:.5rem}.swagger-ui .pb3-ns{padding-bottom:1rem}.swagger-ui .pb4-ns{padding-bottom:2rem}.swagger-ui .pb5-ns{padding-bottom:4rem}.swagger-ui .pb6-ns{padding-bottom:8rem}.swagger-ui .pb7-ns{padding-bottom:16rem}.swagger-ui .pt0-ns{padding-top:0}.swagger-ui .pt1-ns{padding-top:.25rem}.swagger-ui .pt2-ns{padding-top:.5rem}.swagger-ui .pt3-ns{padding-top:1rem}.swagger-ui .pt4-ns{padding-top:2rem}.swagger-ui .pt5-ns{padding-top:4rem}.swagger-ui .pt6-ns{padding-top:8rem}.swagger-ui .pt7-ns{padding-top:16rem}.swagger-ui .pv0-ns{padding-bottom:0;padding-top:0}.swagger-ui .pv1-ns{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-ns{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-ns{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-ns{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-ns{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-ns{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-ns{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-ns{padding-left:0;padding-right:0}.swagger-ui .ph1-ns{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-ns{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-ns{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-ns{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-ns{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-ns{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-ns{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-ns{margin:0}.swagger-ui .ma1-ns{margin:.25rem}.swagger-ui .ma2-ns{margin:.5rem}.swagger-ui .ma3-ns{margin:1rem}.swagger-ui .ma4-ns{margin:2rem}.swagger-ui .ma5-ns{margin:4rem}.swagger-ui .ma6-ns{margin:8rem}.swagger-ui .ma7-ns{margin:16rem}.swagger-ui .ml0-ns{margin-left:0}.swagger-ui .ml1-ns{margin-left:.25rem}.swagger-ui .ml2-ns{margin-left:.5rem}.swagger-ui .ml3-ns{margin-left:1rem}.swagger-ui .ml4-ns{margin-left:2rem}.swagger-ui .ml5-ns{margin-left:4rem}.swagger-ui .ml6-ns{margin-left:8rem}.swagger-ui .ml7-ns{margin-left:16rem}.swagger-ui .mr0-ns{margin-right:0}.swagger-ui .mr1-ns{margin-right:.25rem}.swagger-ui .mr2-ns{margin-right:.5rem}.swagger-ui .mr3-ns{margin-right:1rem}.swagger-ui .mr4-ns{margin-right:2rem}.swagger-ui .mr5-ns{margin-right:4rem}.swagger-ui .mr6-ns{margin-right:8rem}.swagger-ui .mr7-ns{margin-right:16rem}.swagger-ui .mb0-ns{margin-bottom:0}.swagger-ui .mb1-ns{margin-bottom:.25rem}.swagger-ui .mb2-ns{margin-bottom:.5rem}.swagger-ui .mb3-ns{margin-bottom:1rem}.swagger-ui .mb4-ns{margin-bottom:2rem}.swagger-ui .mb5-ns{margin-bottom:4rem}.swagger-ui .mb6-ns{margin-bottom:8rem}.swagger-ui .mb7-ns{margin-bottom:16rem}.swagger-ui .mt0-ns{margin-top:0}.swagger-ui .mt1-ns{margin-top:.25rem}.swagger-ui .mt2-ns{margin-top:.5rem}.swagger-ui .mt3-ns{margin-top:1rem}.swagger-ui .mt4-ns{margin-top:2rem}.swagger-ui .mt5-ns{margin-top:4rem}.swagger-ui .mt6-ns{margin-top:8rem}.swagger-ui .mt7-ns{margin-top:16rem}.swagger-ui .mv0-ns{margin-bottom:0;margin-top:0}.swagger-ui .mv1-ns{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-ns{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-ns{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-ns{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-ns{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-ns{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-ns{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-ns{margin-left:0;margin-right:0}.swagger-ui .mh1-ns{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-ns{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-ns{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-ns{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-ns{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-ns{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui .pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui .pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui .pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui .pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui .pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui .pl4-m{padding-left:2rem}.swagger-ui .pl5-m{padding-left:4rem}.swagger-ui .pl6-m{padding-left:8rem}.swagger-ui .pl7-m{padding-left:16rem}.swagger-ui .pr0-m{padding-right:0}.swagger-ui .pr1-m{padding-right:.25rem}.swagger-ui .pr2-m{padding-right:.5rem}.swagger-ui .pr3-m{padding-right:1rem}.swagger-ui .pr4-m{padding-right:2rem}.swagger-ui .pr5-m{padding-right:4rem}.swagger-ui .pr6-m{padding-right:8rem}.swagger-ui .pr7-m{padding-right:16rem}.swagger-ui .pb0-m{padding-bottom:0}.swagger-ui .pb1-m{padding-bottom:.25rem}.swagger-ui .pb2-m{padding-bottom:.5rem}.swagger-ui .pb3-m{padding-bottom:1rem}.swagger-ui .pb4-m{padding-bottom:2rem}.swagger-ui .pb5-m{padding-bottom:4rem}.swagger-ui .pb6-m{padding-bottom:8rem}.swagger-ui .pb7-m{padding-bottom:16rem}.swagger-ui .pt0-m{padding-top:0}.swagger-ui .pt1-m{padding-top:.25rem}.swagger-ui .pt2-m{padding-top:.5rem}.swagger-ui .pt3-m{padding-top:1rem}.swagger-ui .pt4-m{padding-top:2rem}.swagger-ui .pt5-m{padding-top:4rem}.swagger-ui .pt6-m{padding-top:8rem}.swagger-ui .pt7-m{padding-top:16rem}.swagger-ui .pv0-m{padding-bottom:0;padding-top:0}.swagger-ui .pv1-m{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-m{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-m{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-m{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-m{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-m{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-m{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-m{padding-left:0;padding-right:0}.swagger-ui .ph1-m{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-m{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-m{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-m{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-m{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-m{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-m{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-m{margin:0}.swagger-ui .ma1-m{margin:.25rem}.swagger-ui .ma2-m{margin:.5rem}.swagger-ui .ma3-m{margin:1rem}.swagger-ui .ma4-m{margin:2rem}.swagger-ui .ma5-m{margin:4rem}.swagger-ui .ma6-m{margin:8rem}.swagger-ui .ma7-m{margin:16rem}.swagger-ui .ml0-m{margin-left:0}.swagger-ui .ml1-m{margin-left:.25rem}.swagger-ui .ml2-m{margin-left:.5rem}.swagger-ui .ml3-m{margin-left:1rem}.swagger-ui .ml4-m{margin-left:2rem}.swagger-ui .ml5-m{margin-left:4rem}.swagger-ui .ml6-m{margin-left:8rem}.swagger-ui .ml7-m{margin-left:16rem}.swagger-ui .mr0-m{margin-right:0}.swagger-ui .mr1-m{margin-right:.25rem}.swagger-ui .mr2-m{margin-right:.5rem}.swagger-ui .mr3-m{margin-right:1rem}.swagger-ui .mr4-m{margin-right:2rem}.swagger-ui .mr5-m{margin-right:4rem}.swagger-ui .mr6-m{margin-right:8rem}.swagger-ui .mr7-m{margin-right:16rem}.swagger-ui .mb0-m{margin-bottom:0}.swagger-ui .mb1-m{margin-bottom:.25rem}.swagger-ui .mb2-m{margin-bottom:.5rem}.swagger-ui .mb3-m{margin-bottom:1rem}.swagger-ui .mb4-m{margin-bottom:2rem}.swagger-ui .mb5-m{margin-bottom:4rem}.swagger-ui .mb6-m{margin-bottom:8rem}.swagger-ui .mb7-m{margin-bottom:16rem}.swagger-ui .mt0-m{margin-top:0}.swagger-ui .mt1-m{margin-top:.25rem}.swagger-ui .mt2-m{margin-top:.5rem}.swagger-ui .mt3-m{margin-top:1rem}.swagger-ui .mt4-m{margin-top:2rem}.swagger-ui .mt5-m{margin-top:4rem}.swagger-ui .mt6-m{margin-top:8rem}.swagger-ui .mt7-m{margin-top:16rem}.swagger-ui .mv0-m{margin-bottom:0;margin-top:0}.swagger-ui .mv1-m{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-m{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-m{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-m{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-m{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-m{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-m{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-m{margin-left:0;margin-right:0}.swagger-ui .mh1-m{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-m{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-m{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-m{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-m{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-m{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.swagger-ui .pa0-l{padding:0}.swagger-ui .pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui .pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui .pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui .pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui .pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui .pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5-l{padding-left:4rem}.swagger-ui .pl6-l{padding-left:8rem}.swagger-ui .pl7-l{padding-left:16rem}.swagger-ui .pr0-l{padding-right:0}.swagger-ui .pr1-l{padding-right:.25rem}.swagger-ui .pr2-l{padding-right:.5rem}.swagger-ui .pr3-l{padding-right:1rem}.swagger-ui .pr4-l{padding-right:2rem}.swagger-ui .pr5-l{padding-right:4rem}.swagger-ui .pr6-l{padding-right:8rem}.swagger-ui .pr7-l{padding-right:16rem}.swagger-ui .pb0-l{padding-bottom:0}.swagger-ui .pb1-l{padding-bottom:.25rem}.swagger-ui .pb2-l{padding-bottom:.5rem}.swagger-ui .pb3-l{padding-bottom:1rem}.swagger-ui .pb4-l{padding-bottom:2rem}.swagger-ui .pb5-l{padding-bottom:4rem}.swagger-ui .pb6-l{padding-bottom:8rem}.swagger-ui .pb7-l{padding-bottom:16rem}.swagger-ui .pt0-l{padding-top:0}.swagger-ui .pt1-l{padding-top:.25rem}.swagger-ui .pt2-l{padding-top:.5rem}.swagger-ui .pt3-l{padding-top:1rem}.swagger-ui .pt4-l{padding-top:2rem}.swagger-ui .pt5-l{padding-top:4rem}.swagger-ui .pt6-l{padding-top:8rem}.swagger-ui .pt7-l{padding-top:16rem}.swagger-ui .pv0-l{padding-bottom:0;padding-top:0}.swagger-ui .pv1-l{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-l{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-l{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-l{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-l{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-l{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-l{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-l{padding-left:0;padding-right:0}.swagger-ui .ph1-l{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-l{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-l{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-l{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-l{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-l{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-l{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-l{margin:0}.swagger-ui .ma1-l{margin:.25rem}.swagger-ui .ma2-l{margin:.5rem}.swagger-ui .ma3-l{margin:1rem}.swagger-ui .ma4-l{margin:2rem}.swagger-ui .ma5-l{margin:4rem}.swagger-ui .ma6-l{margin:8rem}.swagger-ui .ma7-l{margin:16rem}.swagger-ui .ml0-l{margin-left:0}.swagger-ui .ml1-l{margin-left:.25rem}.swagger-ui .ml2-l{margin-left:.5rem}.swagger-ui .ml3-l{margin-left:1rem}.swagger-ui .ml4-l{margin-left:2rem}.swagger-ui .ml5-l{margin-left:4rem}.swagger-ui .ml6-l{margin-left:8rem}.swagger-ui .ml7-l{margin-left:16rem}.swagger-ui .mr0-l{margin-right:0}.swagger-ui .mr1-l{margin-right:.25rem}.swagger-ui .mr2-l{margin-right:.5rem}.swagger-ui .mr3-l{margin-right:1rem}.swagger-ui .mr4-l{margin-right:2rem}.swagger-ui .mr5-l{margin-right:4rem}.swagger-ui .mr6-l{margin-right:8rem}.swagger-ui .mr7-l{margin-right:16rem}.swagger-ui .mb0-l{margin-bottom:0}.swagger-ui .mb1-l{margin-bottom:.25rem}.swagger-ui .mb2-l{margin-bottom:.5rem}.swagger-ui .mb3-l{margin-bottom:1rem}.swagger-ui .mb4-l{margin-bottom:2rem}.swagger-ui .mb5-l{margin-bottom:4rem}.swagger-ui .mb6-l{margin-bottom:8rem}.swagger-ui .mb7-l{margin-bottom:16rem}.swagger-ui .mt0-l{margin-top:0}.swagger-ui .mt1-l{margin-top:.25rem}.swagger-ui .mt2-l{margin-top:.5rem}.swagger-ui .mt3-l{margin-top:1rem}.swagger-ui .mt4-l{margin-top:2rem}.swagger-ui .mt5-l{margin-top:4rem}.swagger-ui .mt6-l{margin-top:8rem}.swagger-ui .mt7-l{margin-top:16rem}.swagger-ui .mv0-l{margin-bottom:0;margin-top:0}.swagger-ui .mv1-l{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-l{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-l{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-l{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-l{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-l{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-l{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-l{margin-left:0;margin-right:0}.swagger-ui .mh1-l{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-l{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-l{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-l{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-l{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-l{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-l{margin-left:16rem;margin-right:16rem}}.swagger-ui .na1{margin:-.25rem}.swagger-ui .na2{margin:-.5rem}.swagger-ui .na3{margin:-1rem}.swagger-ui .na4{margin:-2rem}.swagger-ui .na5{margin:-4rem}.swagger-ui .na6{margin:-8rem}.swagger-ui .na7{margin:-16rem}.swagger-ui .nl1{margin-left:-.25rem}.swagger-ui .nl2{margin-left:-.5rem}.swagger-ui .nl3{margin-left:-1rem}.swagger-ui .nl4{margin-left:-2rem}.swagger-ui .nl5{margin-left:-4rem}.swagger-ui .nl6{margin-left:-8rem}.swagger-ui .nl7{margin-left:-16rem}.swagger-ui .nr1{margin-right:-.25rem}.swagger-ui .nr2{margin-right:-.5rem}.swagger-ui .nr3{margin-right:-1rem}.swagger-ui .nr4{margin-right:-2rem}.swagger-ui .nr5{margin-right:-4rem}.swagger-ui .nr6{margin-right:-8rem}.swagger-ui .nr7{margin-right:-16rem}.swagger-ui .nb1{margin-bottom:-.25rem}.swagger-ui .nb2{margin-bottom:-.5rem}.swagger-ui .nb3{margin-bottom:-1rem}.swagger-ui .nb4{margin-bottom:-2rem}.swagger-ui .nb5{margin-bottom:-4rem}.swagger-ui .nb6{margin-bottom:-8rem}.swagger-ui .nb7{margin-bottom:-16rem}.swagger-ui .nt1{margin-top:-.25rem}.swagger-ui .nt2{margin-top:-.5rem}.swagger-ui .nt3{margin-top:-1rem}.swagger-ui .nt4{margin-top:-2rem}.swagger-ui .nt5{margin-top:-4rem}.swagger-ui .nt6{margin-top:-8rem}.swagger-ui .nt7{margin-top:-16rem}@media screen and (min-width:30em){.swagger-ui .na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui .na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui .na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui .na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui .nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui .nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui .nl6-ns{margin-left:-8rem}.swagger-ui .nl7-ns{margin-left:-16rem}.swagger-ui .nr1-ns{margin-right:-.25rem}.swagger-ui .nr2-ns{margin-right:-.5rem}.swagger-ui .nr3-ns{margin-right:-1rem}.swagger-ui .nr4-ns{margin-right:-2rem}.swagger-ui .nr5-ns{margin-right:-4rem}.swagger-ui .nr6-ns{margin-right:-8rem}.swagger-ui .nr7-ns{margin-right:-16rem}.swagger-ui .nb1-ns{margin-bottom:-.25rem}.swagger-ui .nb2-ns{margin-bottom:-.5rem}.swagger-ui .nb3-ns{margin-bottom:-1rem}.swagger-ui .nb4-ns{margin-bottom:-2rem}.swagger-ui .nb5-ns{margin-bottom:-4rem}.swagger-ui .nb6-ns{margin-bottom:-8rem}.swagger-ui .nb7-ns{margin-bottom:-16rem}.swagger-ui .nt1-ns{margin-top:-.25rem}.swagger-ui .nt2-ns{margin-top:-.5rem}.swagger-ui .nt3-ns{margin-top:-1rem}.swagger-ui .nt4-ns{margin-top:-2rem}.swagger-ui .nt5-ns{margin-top:-4rem}.swagger-ui .nt6-ns{margin-top:-8rem}.swagger-ui .nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui .na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui .na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui .na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui .nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui .nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui .nl6-m{margin-left:-8rem}.swagger-ui .nl7-m{margin-left:-16rem}.swagger-ui .nr1-m{margin-right:-.25rem}.swagger-ui .nr2-m{margin-right:-.5rem}.swagger-ui .nr3-m{margin-right:-1rem}.swagger-ui .nr4-m{margin-right:-2rem}.swagger-ui .nr5-m{margin-right:-4rem}.swagger-ui .nr6-m{margin-right:-8rem}.swagger-ui .nr7-m{margin-right:-16rem}.swagger-ui .nb1-m{margin-bottom:-.25rem}.swagger-ui .nb2-m{margin-bottom:-.5rem}.swagger-ui .nb3-m{margin-bottom:-1rem}.swagger-ui .nb4-m{margin-bottom:-2rem}.swagger-ui .nb5-m{margin-bottom:-4rem}.swagger-ui .nb6-m{margin-bottom:-8rem}.swagger-ui .nb7-m{margin-bottom:-16rem}.swagger-ui .nt1-m{margin-top:-.25rem}.swagger-ui .nt2-m{margin-top:-.5rem}.swagger-ui .nt3-m{margin-top:-1rem}.swagger-ui .nt4-m{margin-top:-2rem}.swagger-ui .nt5-m{margin-top:-4rem}.swagger-ui .nt6-m{margin-top:-8rem}.swagger-ui .nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui .na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui .na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui .na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui .nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui .nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui .nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagger-ui .nl7-l{margin-left:-16rem}.swagger-ui .nr1-l{margin-right:-.25rem}.swagger-ui .nr2-l{margin-right:-.5rem}.swagger-ui .nr3-l{margin-right:-1rem}.swagger-ui .nr4-l{margin-right:-2rem}.swagger-ui .nr5-l{margin-right:-4rem}.swagger-ui .nr6-l{margin-right:-8rem}.swagger-ui .nr7-l{margin-right:-16rem}.swagger-ui .nb1-l{margin-bottom:-.25rem}.swagger-ui .nb2-l{margin-bottom:-.5rem}.swagger-ui .nb3-l{margin-bottom:-1rem}.swagger-ui .nb4-l{margin-bottom:-2rem}.swagger-ui .nb5-l{margin-bottom:-4rem}.swagger-ui .nb6-l{margin-bottom:-8rem}.swagger-ui .nb7-l{margin-bottom:-16rem}.swagger-ui .nt1-l{margin-top:-.25rem}.swagger-ui .nt2-l{margin-top:-.5rem}.swagger-ui .nt3-l{margin-top:-1rem}.swagger-ui .nt4-l{margin-top:-2rem}.swagger-ui .nt5-l{margin-top:-4rem}.swagger-ui .nt6-l{margin-top:-8rem}.swagger-ui .nt7-l{margin-top:-16rem}}.swagger-ui .collapse{border-collapse:collapse;border-spacing:0}.swagger-ui .striped--light-silver:nth-child(odd){background-color:#aaa}.swagger-ui .striped--moon-gray:nth-child(odd){background-color:#ccc}.swagger-ui .striped--light-gray:nth-child(odd){background-color:#eee}.swagger-ui .striped--near-white:nth-child(odd){background-color:#f4f4f4}.swagger-ui .stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.swagger-ui .stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.swagger-ui .strike{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline{-webkit-text-decoration:none;text-decoration:none}@media screen and (min-width:30em){.swagger-ui .strike-ns{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-ns{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-ns{-webkit-text-decoration:none;text-decoration:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .strike-m{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-m{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-m{-webkit-text-decoration:none;text-decoration:none}}@media screen and (min-width:60em){.swagger-ui .strike-l{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-l{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-l{-webkit-text-decoration:none;text-decoration:none}}.swagger-ui .tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui .tc{text-align:center}.swagger-ui .tj{text-align:justify}@media screen and (min-width:30em){.swagger-ui .tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui .tc-ns{text-align:center}.swagger-ui .tj-ns{text-align:justify}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui .tc-m{text-align:center}.swagger-ui .tj-m{text-align:justify}}@media screen and (min-width:60em){.swagger-ui .tl-l{text-align:left}.swagger-ui .tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}.swagger-ui .tj-l{text-align:justify}}.swagger-ui .ttc{text-transform:capitalize}.swagger-ui .ttl{text-transform:lowercase}.swagger-ui .ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}@media screen and (min-width:30em){.swagger-ui .ttc-ns{text-transform:capitalize}.swagger-ui .ttl-ns{text-transform:lowercase}.swagger-ui .ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ttc-m{text-transform:capitalize}.swagger-ui .ttl-m{text-transform:lowercase}.swagger-ui .ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}@media screen and (min-width:60em){.swagger-ui .ttc-l{text-transform:capitalize}.swagger-ui .ttl-l{text-transform:lowercase}.swagger-ui .ttu-l{text-transform:uppercase}.swagger-ui .ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui .f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui .f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui .f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui .f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger-ui .f6{font-size:.875rem}.swagger-ui .f7{font-size:.75rem}@media screen and (min-width:30em){.swagger-ui .f-6-ns,.swagger-ui .f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui .f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui .f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui .f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui .f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui .f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui .f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui .f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui .f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}@media screen and (min-width:60em){.swagger-ui .f-6-l,.swagger-ui .f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui .f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui .f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui .f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui .f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui .measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .measure-narrow{max-width:20em}.swagger-ui .indent{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (min-width:30em){.swagger-ui .measure-ns{max-width:30em}.swagger-ui .measure-wide-ns{max-width:34em}.swagger-ui .measure-narrow-ns{max-width:20em}.swagger-ui .indent-ns{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-ns{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-ns{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .measure-m{max-width:30em}.swagger-ui .measure-wide-m{max-width:34em}.swagger-ui .measure-narrow-m{max-width:20em}.swagger-ui .indent-m{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-m{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:60em){.swagger-ui .measure-l{max-width:30em}.swagger-ui .measure-wide-l{max-width:34em}.swagger-ui .measure-narrow-l{max-width:20em}.swagger-ui .indent-l{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-l{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.swagger-ui .overflow-container{overflow-y:scroll}.swagger-ui .center{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto{margin-right:auto}.swagger-ui .ml-auto{margin-left:auto}@media screen and (min-width:30em){.swagger-ui .center-ns{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .center-m{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.swagger-ui .center-l{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-l{margin-right:auto}.swagger-ui .ml-auto-l{margin-left:auto}}.swagger-ui .clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}@media screen and (min-width:30em){.swagger-ui .clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:60em){.swagger-ui .clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}.swagger-ui .ws-normal{white-space:normal}.swagger-ui .nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}@media screen and (min-width:30em){.swagger-ui .ws-normal-ns{white-space:normal}.swagger-ui .nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ws-normal-m{white-space:normal}.swagger-ui .nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}@media screen and (min-width:60em){.swagger-ui .ws-normal-l{white-space:normal}.swagger-ui .nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui .v-base{vertical-align:baseline}.swagger-ui .v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui .v-btm{vertical-align:bottom}@media screen and (min-width:30em){.swagger-ui .v-base-ns{vertical-align:baseline}.swagger-ui .v-mid-ns{vertical-align:middle}.swagger-ui .v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .v-base-m{vertical-align:baseline}.swagger-ui .v-mid-m{vertical-align:middle}.swagger-ui .v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.swagger-ui .v-base-l{vertical-align:baseline}.swagger-ui .v-mid-l{vertical-align:middle}.swagger-ui .v-top-l{vertical-align:top}.swagger-ui .v-btm-l{vertical-align:bottom}}.swagger-ui .dim{opacity:1;transition:opacity .15s ease-in}.swagger-ui .dim:focus,.swagger-ui .dim:hover{opacity:.5;transition:opacity .15s ease-in}.swagger-ui .dim:active{opacity:.8;transition:opacity .15s ease-out}.swagger-ui .glow{transition:opacity .15s ease-in}.swagger-ui .glow:focus,.swagger-ui .glow:hover{opacity:1;transition:opacity .15s ease-in}.swagger-ui .hide-child .child{opacity:0;transition:opacity .15s ease-in}.swagger-ui .hide-child:active .child,.swagger-ui .hide-child:focus .child,.swagger-ui .hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.swagger-ui .underline-hover:focus,.swagger-ui .underline-hover:hover{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .grow{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-out}.swagger-ui .grow:focus,.swagger-ui .grow:hover{transform:scale(1.05)}.swagger-ui .grow:active{transform:scale(.9)}.swagger-ui .grow-large{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-in-out}.swagger-ui .grow-large:focus,.swagger-ui .grow-large:hover{transform:scale(1.2)}.swagger-ui .grow-large:active{transform:scale(.95)}.swagger-ui .pointer:hover{cursor:pointer}.swagger-ui .shadow-hover{cursor:pointer;position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:after{border-radius:inherit;box-shadow:0 0 16px 2px rgba(0,0,0,.2);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s cubic-bezier(.165,.84,.44,1);width:100%;z-index:-1}.swagger-ui .shadow-hover:focus:after,.swagger-ui .shadow-hover:hover:after{opacity:1}.swagger-ui .bg-animate,.swagger-ui .bg-animate:focus,.swagger-ui .bg-animate:hover{transition:background-color .15s ease-in-out}.swagger-ui .z-0{z-index:0}.swagger-ui .z-1{z-index:1}.swagger-ui .z-2{z-index:2}.swagger-ui .z-3{z-index:3}.swagger-ui .z-4{z-index:4}.swagger-ui .z-5{z-index:5}.swagger-ui .z-999{z-index:999}.swagger-ui .z-9999{z-index:9999}.swagger-ui .z-max{z-index:2147483647}.swagger-ui .z-inherit{z-index:inherit}.swagger-ui .z-initial,.swagger-ui .z-unset{z-index:auto}.swagger-ui .nested-copy-line-height ol,.swagger-ui .nested-copy-line-height p,.swagger-ui .nested-copy-line-height ul{line-height:1.5}.swagger-ui .nested-headline-line-height h1,.swagger-ui .nested-headline-line-height h2,.swagger-ui .nested-headline-line-height h3,.swagger-ui .nested-headline-line-height h4,.swagger-ui .nested-headline-line-height h5,.swagger-ui .nested-headline-line-height h6{line-height:1.25}.swagger-ui .nested-list-reset ol,.swagger-ui .nested-list-reset ul{list-style-type:none;margin-left:0;padding-left:0}.swagger-ui .nested-copy-indent p+p{margin-bottom:0;margin-top:0;text-indent:.1em}.swagger-ui .nested-copy-seperator p+p{margin-top:1.5em}.swagger-ui .nested-img img{display:block;max-width:100%;width:100%}.swagger-ui .nested-links a{color:#357edd;transition:color .15s ease-in}.swagger-ui .nested-links a:focus,.swagger-ui .nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.swagger-ui .wrapper{box-sizing:border-box;margin:0 auto;max-width:1460px;padding:0 20px;width:100%}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column}.swagger-ui .try-out.btn-group{display:flex;flex:.1 2 auto;padding:0}.swagger-ui .try-out__btn{margin-left:1.25rem}.swagger-ui .opblock-tag{align-items:center;border-bottom:1px solid rgba(59,65,81,.3);cursor:pointer;display:flex;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui .opblock-tag:hover{background:rgba(0,0,0,.02)}.swagger-ui .opblock-tag{color:#3b4151;font-family:sans-serif;font-size:24px;margin:0 0 5px}.swagger-ui .opblock-tag.no-desc span{flex:1}.swagger-ui .opblock-tag svg{transition:all .4s}.swagger-ui .opblock-tag small{color:#3b4151;flex:2;font-family:sans-serif;font-size:14px;font-weight:400;padding:0 10px}.swagger-ui .opblock-tag>div{flex:1 1 150px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.swagger-ui .opblock-tag small,.swagger-ui .opblock-tag>div{flex:1}}.swagger-ui .opblock-tag .info__externaldocs{text-align:right}.swagger-ui .parameter__type{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;padding:5px 0}.swagger-ui .parameter-controls{margin-top:.75em}.swagger-ui .examples__title{display:block;font-size:1.1em;font-weight:700;margin-bottom:.75em}.swagger-ui .examples__section{margin-top:1.5em}.swagger-ui .examples__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .examples-select{display:inline-block;margin-bottom:.75em}.swagger-ui .examples-select .examples-select-element{width:100%}.swagger-ui .examples-select__section-label{font-size:.9rem;font-weight:700;margin-right:.5rem}.swagger-ui .example__section{margin-top:1.5em}.swagger-ui .example__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .view-line-link{cursor:pointer;margin:0 5px;position:relative;top:3px;transition:all .5s;width:20px}.swagger-ui .opblock{border:1px solid #000;border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.19);margin:0 0 15px}.swagger-ui .opblock .tab-header{display:flex;flex:1}.swagger-ui .opblock .tab-header .tab-item{cursor:pointer;padding:0 40px}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{background:grey;bottom:-15px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:120%}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{align-items:center;background:hsla(0,0%,100%,.8);box-shadow:0 1px 2px rgba(0,0,0,.1);display:flex;min-height:50px;padding:8px 20px}.swagger-ui .opblock .opblock-section-header>label{align-items:center;color:#3b4151;display:flex;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 0 auto}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock .opblock-summary-method{background:#000;border-radius:3px;color:#fff;font-family:sans-serif;font-size:14px;font-weight:700;min-width:80px;padding:6px 0;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.1)}@media(max-width:768px){.swagger-ui .opblock .opblock-summary-method{font-size:12px}}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{align-items:center;color:#3b4151;display:flex;font-family:monospace;font-size:16px;font-weight:600;word-break:break-word}@media(max-width:768px){.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock .opblock-summary-path{flex-shrink:1}@media(max-width:640px){.swagger-ui .opblock .opblock-summary-path{max-width:100%}}.swagger-ui .opblock .opblock-summary-path__deprecated{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{color:#3b4151;font-family:sans-serif;font-size:13px;word-break:break-word}.swagger-ui .opblock .opblock-summary-path-description-wrapper{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:0 10px;padding:0 10px;width:100%}@media(max-width:550px){.swagger-ui .opblock .opblock-summary-path-description-wrapper{align-items:flex-start;flex-direction:column}}.swagger-ui .opblock .opblock-summary{align-items:center;cursor:pointer;display:flex;padding:5px}.swagger-ui .opblock .opblock-summary .view-line-link{cursor:pointer;margin:0;position:relative;top:2px;transition:all .5s;width:0}.swagger-ui .opblock .opblock-summary:hover .view-line-link{margin:0 5px;width:18px}.swagger-ui .opblock .opblock-summary:hover .view-line-link.copy-to-clipboard{width:24px}.swagger-ui .opblock.opblock-post{background:rgba(73,204,144,.1);border-color:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{background:rgba(252,161,48,.1);border-color:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{background:rgba(249,62,62,.1);border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{background:rgba(97,175,254,.1);border-color:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{background:rgba(80,227,194,.1);border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{background:rgba(144,18,254,.1);border-color:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{background:rgba(13,90,167,.1);border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{background:hsla(0,0%,92%,.1);border-color:#ebebeb;opacity:.6}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{border:2px solid #d8dde7;margin:20px 0;padding:10px;width:100%}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:red}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:#aaa}.swagger-ui .model-example{margin-top:1em}.swagger-ui .tab{display:flex;list-style:none;padding:0}.swagger-ui .tab li{color:#3b4151;cursor:pointer;font-family:sans-serif;font-size:12px;min-width:60px;padding:0}.swagger-ui .tab li:first-of-type{padding-left:0;padding-right:12px;position:relative}.swagger-ui .tab li:first-of-type:after{background:rgba(0,0,0,.2);content:"";height:100%;position:absolute;right:6px;top:0;width:1px}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .tab li button.tablinks{background:none;border:0;color:inherit;font-family:inherit;font-weight:inherit;padding:0}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px;padding:15px 20px}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{color:#3b4151;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{padding:8px 40px;width:100%}.swagger-ui .body-param-options{display:flex;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{color:#3b4151;font-family:sans-serif;font-size:12px;margin:10px 0 5px}.swagger-ui .responses-inner .curl{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .response-col_status{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .response-col_status .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links{color:#3b4151;font-family:sans-serif;font-size:14px;max-width:40em;padding-left:2em}.swagger-ui .response-col_links .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links .operation-link{margin-bottom:1.5em}.swagger-ui .response-col_links .operation-link .description{margin-bottom:.5em}.swagger-ui .opblock-body .opblock-loading-animation{display:block;margin:3em auto}.swagger-ui .opblock-body pre.microlight{background:#333;border-radius:4px;font-size:12px;hyphens:auto;margin:0;padding:10px;white-space:pre-wrap;word-break:break-all;word-break:break-word;word-wrap:break-word;color:#fff;font-family:monospace;font-weight:600}.swagger-ui .opblock-body pre.microlight .headerline{display:block}.swagger-ui .highlight-code{position:relative}.swagger-ui .highlight-code>.microlight{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .highlight-code>.microlight code{white-space:pre-wrap!important;word-break:break-all}.swagger-ui .curl-command{position:relative}.swagger-ui .download-contents{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;color:#fff;display:flex;font-family:sans-serif;font-size:14px;font-weight:600;height:30px;justify-content:center;padding:5px;position:absolute;right:10px;text-align:center}.swagger-ui .scheme-container{background:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.15);margin:0 0 20px;padding:30px 0}.swagger-ui .scheme-container .schemes{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.swagger-ui .scheme-container .schemes>.schemes-server-container{display:flex;flex-wrap:wrap;gap:10px}.swagger-ui .scheme-container .schemes>.schemes-server-container>label{color:#3b4151;display:flex;flex-direction:column;font-family:sans-serif;font-size:12px;font-weight:700;margin:-20px 15px 0 0}.swagger-ui .scheme-container .schemes>.schemes-server-container>label select{min-width:130px;text-transform:uppercase}.swagger-ui .scheme-container .schemes:not(:has(.schemes-server-container)){justify-content:flex-end}.swagger-ui .scheme-container .schemes .auth-wrapper{flex:none;justify-content:start}.swagger-ui .scheme-container .schemes .auth-wrapper .authorize{display:flex;flex-wrap:nowrap;margin:0;padding-right:20px}.swagger-ui .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:1em;min-height:1px;padding:40px 0 60px}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{color:#3b4151;content:"loading";font-family:sans-serif;font-size:10px;font-weight:700;left:50%;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%)}.swagger-ui .loading-container .loading:before{animation:rotation 1s linear infinite,opacity .5s;backface-visibility:hidden;border:2px solid rgba(85,85,85,.1);border-radius:100%;border-top-color:rgba(0,0,0,.6);content:"";display:block;height:60px;left:50%;margin:-30px;opacity:1;position:absolute;top:50%;width:60px}@keyframes rotation{to{transform:rotate(1turn)}}.swagger-ui .response-controls{display:flex;padding-top:1em}.swagger-ui .response-control-media-type{margin-right:1em}.swagger-ui .response-control-media-type--accept-controller select{border-color:green}.swagger-ui .response-control-media-type__accept-message{color:green;font-size:.7em}.swagger-ui .response-control-examples__title,.swagger-ui .response-control-media-type__title{display:block;font-size:.7em;margin-bottom:.2em}@keyframes blinker{50%{opacity:0}}.swagger-ui .hidden{display:none}.swagger-ui .no-margin{border:none;height:auto;margin:0;padding:0}.swagger-ui .float-right{float:right}.swagger-ui .svg-assets{height:0;position:absolute;width:0}.swagger-ui section h3{color:#3b4151;font-family:sans-serif}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{color:inherit;cursor:pointer;text-decoration:inherit}.swagger-ui .fallback{color:#aaa;padding:1em}.swagger-ui .version-pragma{height:100%;padding:5em 0}.swagger-ui .version-pragma__message{display:flex;font-size:1.2em;height:100%;justify-content:center;line-height:1.5em;padding:0 .6em;text-align:center}.swagger-ui .version-pragma__message>div{flex:1;max-width:55ch}.swagger-ui .version-pragma__message code{background-color:#dedede;padding:4px 4px 2px;white-space:pre}.swagger-ui .opblock-link{font-weight:400}.swagger-ui .opblock-link.shown{font-weight:700}.swagger-ui span.token-string{color:#555}.swagger-ui span.token-not-formatted{color:#555;font-weight:700}.swagger-ui .btn{background:transparent;border:2px solid grey;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.1);color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 23px;transition:all .3s}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{box-shadow:0 0 5px rgba(0,0,0,.3)}.swagger-ui .btn.cancel{background-color:transparent;border-color:#ff6060;color:#ff6060;font-family:sans-serif}.swagger-ui .btn.authorize{background-color:transparent;border-color:#49cc90;color:#49cc90;display:inline;line-height:1}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{background-color:#4990e2;border-color:#4990e2;color:#fff}.swagger-ui .btn-group{display:flex;padding:30px}.swagger-ui .btn-group .btn{flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{background:none;border:none;padding:0 0 0 10px}.swagger-ui .authorization__btn .locked{opacity:1}.swagger-ui .authorization__btn .unlocked{opacity:.4}.swagger-ui .model-box-control,.swagger-ui .models-control,.swagger-ui .opblock-summary-control{all:inherit;border-bottom:0;cursor:pointer;flex:1;padding:0}.swagger-ui .model-box-control:focus,.swagger-ui .models-control:focus,.swagger-ui .opblock-summary-control:focus{outline:auto}.swagger-ui .expand-methods,.swagger-ui .expand-operation{background:none;border:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{height:20px;width:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#404040}.swagger-ui .expand-methods svg{transition:all .3s;fill:#707070}.swagger-ui button{cursor:pointer}.swagger-ui button.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .copy-to-clipboard{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;display:flex;height:30px;justify-content:center;position:absolute;right:100px;width:30px}.swagger-ui .copy-to-clipboard button{background:url("data:image/svg+xml;charset=utf-8, ") 50% no-repeat;border:none;flex-grow:1;flex-shrink:1;height:25px}.swagger-ui .copy-to-clipboard:active{background:#5e626f}.swagger-ui .opblock-control-arrow{background:none;border:none;text-align:center}.swagger-ui .curl-command .copy-to-clipboard{bottom:5px;height:20px;right:10px;width:20px}.swagger-ui .curl-command .copy-to-clipboard button{height:18px}.swagger-ui .opblock .opblock-summary .view-line-link.copy-to-clipboard{height:26px;position:static}.swagger-ui select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f7f7f7 url("data:image/svg+xml;charset=utf-8, ") right 10px center no-repeat;background-size:20px;border:2px solid #41444e;border-radius:4px;box-shadow:0 1px 2px 0 rgba(0,0,0,.25);color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 40px 5px 10px}.swagger-ui select[multiple]{background:#f7f7f7;margin:5px 0;padding:5px}.swagger-ui select.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .opblock-body select{min-width:230px}@media(max-width:768px){.swagger-ui .opblock-body select{min-width:180px}}@media(max-width:640px){.swagger-ui .opblock-body select{min-width:100%;width:100%}}.swagger-ui label{color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 5px}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{line-height:1}@media(max-width:768px){.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{max-width:175px}}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{background:#fff;border:1px solid #d9d9d9;border-radius:4px;margin:5px 0;min-width:100px;padding:8px 10px}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui textarea.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui input[disabled],.swagger-ui select[disabled],.swagger-ui textarea[disabled]{background-color:#fafafa;color:#888;cursor:not-allowed}.swagger-ui select[disabled]{border-color:#888}.swagger-ui textarea[disabled]{background-color:#41444e;color:#fff}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.swagger-ui textarea{background:hsla(0,0%,100%,.8);border:none;border-radius:4px;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;min-height:280px;outline:none;padding:10px;width:100%}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{background:#41444e;border-radius:4px;color:#fff;font-family:monospace;font-size:12px;font-weight:600;margin:0;min-height:100px;padding:10px;resize:none}.swagger-ui .checkbox{color:#303030;padding:5px 0 10px;transition:opacity .5s}.swagger-ui .checkbox label{display:flex}.swagger-ui .checkbox p{color:#3b4151;font-family:monospace;font-style:italic;font-weight:400!important;font-weight:600;margin:0!important}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{background:#e8e8e8;border-radius:1px;box-shadow:0 0 0 2px #e8e8e8;cursor:pointer;display:inline-block;flex:none;height:16px;margin:0 8px 0 0;padding:5px;position:relative;top:3px;width:16px}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url("data:image/svg+xml;charset=utf-8, ") 50% no-repeat}.swagger-ui .dialog-ux{bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.swagger-ui .dialog-ux .backdrop-ux{background:rgba(0,0,0,.8);bottom:0;left:0;position:fixed;right:0;top:0}.swagger-ui .dialog-ux .modal-ux{background:#fff;border:1px solid #ebebeb;border-radius:4px;box-shadow:0 10px 30px 0 rgba(0,0,0,.2);left:50%;max-width:650px;min-width:300px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:9999}.swagger-ui .dialog-ux .modal-ux-content{max-height:540px;overflow-y:auto;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{color:#41444e;color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .dialog-ux .modal-ux-content h4{color:#3b4151;font-family:sans-serif;font-size:18px;font-weight:600;margin:15px 0 0}.swagger-ui .dialog-ux .modal-ux-header{align-items:center;border-bottom:1px solid #ebebeb;display:flex;padding:12px 0}.swagger-ui .dialog-ux .modal-ux-header .close-modal{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0 10px}.swagger-ui .dialog-ux .modal-ux-header h3{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;font-weight:600;margin:0;padding:0 20px}.swagger-ui .model{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#a0a0a0!important}.swagger-ui .model .deprecated>td:first-of-type{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .model-toggle{cursor:pointer;display:inline-block;font-size:10px;margin:auto .3em;position:relative;top:6px;transform:rotate(90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .model-toggle.collapsed{transform:rotate(0deg)}.swagger-ui .model-toggle:after{background:url("data:image/svg+xml;charset=utf-8, ") 50% no-repeat;background-size:100%;content:"";display:block;height:20px;width:20px}.swagger-ui .model-jump-to-path{cursor:pointer;position:relative}.swagger-ui .model-jump-to-path .view-line-link{cursor:pointer;position:absolute;top:-.4em}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{visibility:visible}.swagger-ui .model-hint{background:rgba(0,0,0,.7);border-radius:4px;color:#ebebeb;padding:.1em .5em;position:absolute;top:-1.8em;visibility:hidden;white-space:nowrap}.swagger-ui .model p{margin:0 0 1em}.swagger-ui .model .property{color:#999;font-style:italic}.swagger-ui .model .property.primitive{color:#6b6b6b}.swagger-ui .model .external-docs,.swagger-ui table.model tr.description{color:#666;font-weight:400}.swagger-ui table.model tr.description td:first-child,.swagger-ui table.model tr.property-row.required td:first-child{font-weight:700}.swagger-ui table.model tr.property-row td{vertical-align:top}.swagger-ui table.model tr.property-row td:first-child{padding-right:.2em}.swagger-ui table.model tr.property-row .star{color:red}.swagger-ui table.model tr.extension{color:#777}.swagger-ui table.model tr.extension td:last-child{vertical-align:top}.swagger-ui table.model tr.external-docs td:first-child{font-weight:700}.swagger-ui table.model tr .renderedMarkdown p:first-child{margin-top:0}.swagger-ui section.models{border:1px solid rgba(59,65,81,.3);border-radius:4px;margin:30px 0}.swagger-ui section.models .pointer{cursor:pointer}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{border-bottom:1px solid rgba(59,65,81,.3);margin:0 0 5px}.swagger-ui section.models h4{align-items:center;color:#606060;cursor:pointer;display:flex;font-family:sans-serif;font-size:16px;margin:0;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui section.models h4 svg{transition:all .4s}.swagger-ui section.models h4 span{flex:1}.swagger-ui section.models h4:hover{background:rgba(0,0,0,.02)}.swagger-ui section.models h5{color:#707070;font-family:sans-serif;font-size:16px;margin:0 0 10px}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{background:rgba(0,0,0,.05);border-radius:4px;margin:0 20px 15px;position:relative;transition:all .5s}.swagger-ui section.models .model-container:hover{background:rgba(0,0,0,.07)}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-container .models-jump-to-path{opacity:.65;position:absolute;right:5px;top:8px}.swagger-ui section.models .model-box{background:none}.swagger-ui .model-box{background:rgba(0,0,0,.1);border-radius:4px;display:inline-block;padding:10px}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{color:#505050;font-family:sans-serif;font-size:16px}.swagger-ui .model-title img{bottom:0;margin-left:1em;position:relative}.swagger-ui .model-deprecated-warning{color:#f93e3e;font-family:sans-serif;font-size:16px;font-weight:600;margin-right:1em}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;margin-right:1em}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#606060}.swagger-ui .servers>label{color:#3b4151;font-family:sans-serif;font-size:12px;margin:-20px 15px 0 0}.swagger-ui .servers>label select{max-width:100%;min-width:130px;width:100%}.swagger-ui .servers h4.message{padding-bottom:2em}.swagger-ui .servers table tr{width:30em}.swagger-ui .servers table td{display:inline-block;max-width:15em;padding-bottom:10px;padding-top:10px;vertical-align:middle}.swagger-ui .servers table td:first-of-type{padding-right:1em}.swagger-ui .servers table td input{height:100%;width:100%}.swagger-ui .servers .computed-url{margin:2em 0}.swagger-ui .servers .computed-url code{display:inline-block;font-size:16px;margin:0 1em;padding:4px}.swagger-ui .servers-title{font-size:12px;font-weight:700}.swagger-ui .operation-servers h4.message{margin-bottom:2em}.swagger-ui table{border-collapse:collapse;padding:0 10px;width:100%}.swagger-ui table.model tbody tr td{padding:0;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{padding:0 0 0 2em;width:174px}.swagger-ui table.headers td{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600;vertical-align:middle}.swagger-ui table.headers .header-example{color:#999;font-style:italic}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{min-width:6em;padding:10px 0}.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid rgba(59,65,81,.2);color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;padding:12px 0;text-align:left}.swagger-ui .parameters-col_description{margin-bottom:2em;width:99%}.swagger-ui .parameters-col_description input{max-width:340px;width:100%}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameters-col_description .markdown p,.swagger-ui .parameters-col_description .renderedMarkdown p{margin:0}.swagger-ui .parameter__name{color:#3b4151;font-family:sans-serif;font-size:16px;font-weight:400;margin-right:.75em}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required span{color:red}.swagger-ui .parameter__name.required:after{color:rgba(255,0,0,.6);content:"required";font-size:10px;padding:5px;position:relative;top:-6px}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{color:grey;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__deprecated{color:red;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__empty_value_toggle{display:block;font-size:13px;padding-bottom:12px;padding-top:5px}.swagger-ui .parameter__empty_value_toggle input{margin-right:7px;width:auto}.swagger-ui .parameter__empty_value_toggle.disabled{opacity:.7}.swagger-ui .table-container{padding:20px}.swagger-ui .response-col_description{width:99%}.swagger-ui .response-col_description .markdown p,.swagger-ui .response-col_description .renderedMarkdown p{margin:0}.swagger-ui .response-col_links{min-width:6em}.swagger-ui .response__extension{color:grey;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .topbar{background-color:#1b1b1b;padding:10px 0}.swagger-ui .topbar .topbar-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:10px}@media(max-width:550px){.swagger-ui .topbar .topbar-wrapper{align-items:start;flex-direction:column}}.swagger-ui .topbar a{align-items:center;color:#fff;display:flex;flex:1;font-family:sans-serif;font-size:1.5em;font-weight:700;max-width:300px;-webkit-text-decoration:none;text-decoration:none}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:flex;flex:3;justify-content:flex-end}.swagger-ui .topbar .download-url-wrapper input[type=text]{border:2px solid #62a03f;border-radius:4px 0 0 4px;margin:0;max-width:100%;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label{align-items:center;color:#f0f0f0;display:flex;margin:0;max-width:600px;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label span{flex:1;font-size:16px;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{border:2px solid #62a03f;box-shadow:none;flex:2;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .download-url-button{background:#62a03f;border:none;border-radius:0 4px 4px 0;color:#fff;font-family:sans-serif;font-size:16px;font-weight:700;padding:4px 30px}@media(max-width:550px){.swagger-ui .topbar .download-url-wrapper{width:100%}}.swagger-ui .info{margin:50px 0}.swagger-ui .info.failed-config{margin-left:auto;margin-right:auto;max-width:880px;text-align:center}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info pre{font-size:14px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5{color:#3b4151;font-family:sans-serif}.swagger-ui .info a{color:#4990e2;font-family:sans-serif;font-size:14px;transition:all .4s}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300!important;font-weight:600;margin:0}.swagger-ui .info .title{color:#3b4151;font-family:sans-serif;font-size:36px;margin:0}.swagger-ui .info .title small{background:#7d8492;border-radius:57px;display:inline-block;font-size:10px;margin:0 0 0 5px;padding:2px 4px;position:relative;top:-5px;vertical-align:super}.swagger-ui .info .title small.version-stamp{background-color:#89bf04}.swagger-ui .info .title small pre{color:#fff;font-family:sans-serif;margin:0;padding:0}.swagger-ui .auth-btn-wrapper{display:flex;justify-content:center;padding:10px 0}.swagger-ui .auth-btn-wrapper .btn-done{margin-right:1em}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{margin-left:10px;margin-right:10px;padding-right:20px}.swagger-ui .auth-container{border-bottom:1px solid #ebebeb;margin:0 0 10px;padding:10px 20px}.swagger-ui .auth-container:last-of-type{border:0;margin:0;padding:10px 20px}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{background-color:#fee;border-radius:4px;color:red;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;margin:1em;padding:10px}.swagger-ui .auth-container .errors b{margin-right:1em;text-transform:capitalize}.swagger-ui .scopes h2{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .scopes h2 a{color:#4990e2;cursor:pointer;font-size:12px;padding-left:10px;-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{animation:scaleUp .5s;background:rgba(249,62,62,.1);border:2px solid #f93e3e;border-radius:4px;margin:20px;padding:10px 20px}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{color:#3b4151;font-family:monospace;font-size:14px;font-weight:600;margin:0}.swagger-ui .errors-wrapper .errors small{color:#606060}.swagger-ui .errors-wrapper .errors .message{white-space:pre-line}.swagger-ui .errors-wrapper .errors .message.thrown{max-width:100%}.swagger-ui .errors-wrapper .errors .error-line{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .errors-wrapper hgroup{align-items:center;display:flex}.swagger-ui .errors-wrapper hgroup h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;margin:0}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.swagger-ui .Resizer.vertical.disabled{display:none}.swagger-ui .markdown p,.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown pre{margin:1em auto;word-break:break-all;word-break:break-word}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{background:none;color:#000;font-weight:400;padding:0;white-space:pre-wrap}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:rgba(0,0,0,.05);border-radius:4px;color:#9012fe;font-family:monospace;font-size:14px;font-weight:600;padding:5px 7px}.swagger-ui .markdown pre>code,.swagger-ui .renderedMarkdown pre>code{display:block}.swagger-ui .json-schema-2020-12{background-color:rgba(0,0,0,.05);border-radius:4px;margin:0 20px 15px;padding:12px 0 12px 20px}.swagger-ui .json-schema-2020-12:first-of-type{margin:20px}.swagger-ui .json-schema-2020-12:last-of-type{margin:0 20px}.swagger-ui .json-schema-2020-12--embedded{background-color:inherit;padding-bottom:0;padding-left:inherit;padding-right:inherit;padding-top:0}.swagger-ui .json-schema-2020-12-body{border-left:1px dashed rgba(0,0,0,.1);margin:2px 0}.swagger-ui .json-schema-2020-12-body--collapsed{display:none}.swagger-ui .json-schema-2020-12-accordion{border:none;outline:none;padding-left:0}.swagger-ui .json-schema-2020-12-accordion__children{display:inline-block}.swagger-ui .json-schema-2020-12-accordion__icon{display:inline-block;height:18px;vertical-align:bottom;width:18px}.swagger-ui .json-schema-2020-12-accordion__icon--expanded{transform:rotate(-90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .json-schema-2020-12-accordion__icon--collapsed{transform:rotate(0deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .json-schema-2020-12-accordion__icon svg{height:20px;width:20px}.swagger-ui .json-schema-2020-12-expand-deep-button{border:none;color:#505050;color:#afaeae;font-family:sans-serif;font-size:12px;padding-right:0}.swagger-ui .json-schema-2020-12-keyword{margin:5px 0}.swagger-ui .json-schema-2020-12-keyword__children{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px;padding:0}.swagger-ui .json-schema-2020-12-keyword__children--collapsed{display:none}.swagger-ui .json-schema-2020-12-keyword__name{font-size:12px;font-weight:700;margin-left:20px}.swagger-ui .json-schema-2020-12-keyword__name--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword__name--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value{color:#6b6b6b;font-size:12px;font-style:italic;font-weight:400}.swagger-ui .json-schema-2020-12-keyword__value--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword__value--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value--const,.swagger-ui .json-schema-2020-12-keyword__value--warning{border:1px dashed #6b6b6b;border-radius:4px;color:#3b4151;color:#6b6b6b;display:inline-block;font-family:monospace;font-style:normal;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 4px}.swagger-ui .json-schema-2020-12-keyword__value--warning{border:1px dashed red;color:red}.swagger-ui .json-schema-2020-12-keyword__name--secondary+.json-schema-2020-12-keyword__value--secondary:before{content:"="}.swagger-ui .json-schema-2020-12__attribute{color:#3b4151;font-family:monospace;font-size:12px;padding-left:10px;text-transform:lowercase}.swagger-ui .json-schema-2020-12__attribute--primary{color:#55a}.swagger-ui .json-schema-2020-12__attribute--muted{color:gray}.swagger-ui .json-schema-2020-12__attribute--warning{color:red}.swagger-ui .json-schema-2020-12-keyword--\$vocabulary ul{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px}.swagger-ui .json-schema-2020-12-\$vocabulary-uri{margin-left:35px}.swagger-ui .json-schema-2020-12-\$vocabulary-uri--disabled{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .json-schema-2020-12-keyword--description{color:#6b6b6b;font-size:12px;margin-left:20px}.swagger-ui .json-schema-2020-12-keyword--description p{margin:0}.swagger-ui .json-schema-2020-12__title{color:#505050;display:inline-block;font-family:sans-serif;font-size:12px;font-weight:700;line-height:normal}.swagger-ui .json-schema-2020-12__title .json-schema-2020-12-keyword__name{margin:0}.swagger-ui .json-schema-2020-12-property{margin:7px 0}.swagger-ui .json-schema-2020-12-property .json-schema-2020-12__title{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;vertical-align:middle}.swagger-ui .json-schema-2020-12-keyword--properties>ul{border:none;margin:0;padding:0}.swagger-ui .json-schema-2020-12-property{list-style-type:none}.swagger-ui .json-schema-2020-12-property--required>.json-schema-2020-12:first-of-type>.json-schema-2020-12-head .json-schema-2020-12__title:after{color:red;content:"*";font-weight:700}.swagger-ui .json-schema-2020-12-keyword--patternProperties ul{border:none;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:first-of-type:after,.swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:first-of-type:before{color:#55a;content:"/"}.swagger-ui .json-schema-2020-12-keyword--enum>ul{display:inline-block;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--enum>ul li{display:inline;list-style-type:none}.swagger-ui .json-schema-2020-12__constraint{background-color:#805ad5;border-radius:4px;color:#3b4151;color:#fff;font-family:monospace;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 3px}.swagger-ui .json-schema-2020-12__constraint--string{background-color:#d69e2e;color:#fff}.swagger-ui .json-schema-2020-12-keyword--dependentRequired>ul{display:inline-block;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--dependentRequired>ul li{display:inline;list-style-type:none}.swagger-ui .model-box .json-schema-2020-12:not(.json-schema-2020-12--embedded)>.json-schema-2020-12-head .json-schema-2020-12__title:first-of-type{font-size:16px}.swagger-ui .model-box>.json-schema-2020-12{margin:0}.swagger-ui .model-box .json-schema-2020-12{background-color:transparent;padding:0}.swagger-ui .model-box .json-schema-2020-12-accordion,.swagger-ui .model-box .json-schema-2020-12-expand-deep-button{background-color:transparent}.swagger-ui .models .json-schema-2020-12:not(.json-schema-2020-12--embedded)>.json-schema-2020-12-head .json-schema-2020-12__title:first-of-type{font-size:16px}
+.swagger-ui {
+ color: #3b4151;
+ font-family: sans-serif; /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
+}
+.swagger-ui html {
+ line-height: 1.15;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%;
+}
+.swagger-ui body {
+ margin: 0;
+}
+.swagger-ui article,
+.swagger-ui aside,
+.swagger-ui footer,
+.swagger-ui header,
+.swagger-ui nav,
+.swagger-ui section {
+ display: block;
+}
+.swagger-ui h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+.swagger-ui figcaption,
+.swagger-ui figure,
+.swagger-ui main {
+ display: block;
+}
+.swagger-ui figure {
+ margin: 1em 40px;
+}
+.swagger-ui hr {
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible;
+}
+.swagger-ui pre {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+.swagger-ui a {
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects;
+}
+.swagger-ui abbr[title] {
+ border-bottom: none;
+ text-decoration: underline;
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+}
+.swagger-ui b,
+.swagger-ui strong {
+ font-weight: inherit;
+ font-weight: bolder;
+}
+.swagger-ui code,
+.swagger-ui kbd,
+.swagger-ui samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+.swagger-ui dfn {
+ font-style: italic;
+}
+.swagger-ui mark {
+ background-color: #ff0;
+ color: #000;
+}
+.swagger-ui small {
+ font-size: 80%;
+}
+.swagger-ui sub,
+.swagger-ui sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+.swagger-ui sub {
+ bottom: -0.25em;
+}
+.swagger-ui sup {
+ top: -0.5em;
+}
+.swagger-ui audio,
+.swagger-ui video {
+ display: inline-block;
+}
+.swagger-ui audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+.swagger-ui img {
+ border-style: none;
+}
+.swagger-ui svg:not(:root) {
+ overflow: hidden;
+}
+.swagger-ui button,
+.swagger-ui input,
+.swagger-ui optgroup,
+.swagger-ui select,
+.swagger-ui textarea {
+ font-family: sans-serif;
+ font-size: 100%;
+ line-height: 1.15;
+ margin: 0;
+}
+.swagger-ui button,
+.swagger-ui input {
+ overflow: visible;
+}
+.swagger-ui button,
+.swagger-ui select {
+ text-transform: none;
+}
+.swagger-ui [type='reset'],
+.swagger-ui [type='submit'],
+.swagger-ui button,
+.swagger-ui html [type='button'] {
+ -webkit-appearance: button;
+}
+.swagger-ui [type='button']::-moz-focus-inner,
+.swagger-ui [type='reset']::-moz-focus-inner,
+.swagger-ui [type='submit']::-moz-focus-inner,
+.swagger-ui button::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+.swagger-ui [type='button']:-moz-focusring,
+.swagger-ui [type='reset']:-moz-focusring,
+.swagger-ui [type='submit']:-moz-focusring,
+.swagger-ui button:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+.swagger-ui fieldset {
+ padding: 0.35em 0.75em 0.625em;
+}
+.swagger-ui legend {
+ box-sizing: border-box;
+ color: inherit;
+ display: table;
+ max-width: 100%;
+ padding: 0;
+ white-space: normal;
+}
+.swagger-ui progress {
+ display: inline-block;
+ vertical-align: baseline;
+}
+.swagger-ui textarea {
+ overflow: auto;
+}
+.swagger-ui [type='checkbox'],
+.swagger-ui [type='radio'] {
+ box-sizing: border-box;
+ padding: 0;
+}
+.swagger-ui [type='number']::-webkit-inner-spin-button,
+.swagger-ui [type='number']::-webkit-outer-spin-button {
+ height: auto;
+}
+.swagger-ui [type='search'] {
+ -webkit-appearance: textfield;
+ outline-offset: -2px;
+}
+.swagger-ui [type='search']::-webkit-search-cancel-button,
+.swagger-ui [type='search']::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+.swagger-ui ::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ font: inherit;
+}
+.swagger-ui details,
+.swagger-ui menu {
+ display: block;
+}
+.swagger-ui summary {
+ display: list-item;
+}
+.swagger-ui canvas {
+ display: inline-block;
+}
+.swagger-ui [hidden],
+.swagger-ui template {
+ display: none;
+}
+.swagger-ui .debug * {
+ outline: 1px solid gold;
+}
+.swagger-ui .debug-white * {
+ outline: 1px solid #fff;
+}
+.swagger-ui .debug-black * {
+ outline: 1px solid #000;
+}
+.swagger-ui .debug-grid {
+ background: transparent
+ url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==)
+ repeat 0 0;
+}
+.swagger-ui .debug-grid-16 {
+ background: transparent
+ url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC)
+ repeat 0 0;
+}
+.swagger-ui .debug-grid-8-solid {
+ background: #fff
+ url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z)
+ repeat 0 0;
+}
+.swagger-ui .debug-grid-16-solid {
+ background: #fff
+ url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=)
+ repeat 0 0;
+}
+.swagger-ui .border-box,
+.swagger-ui a,
+.swagger-ui article,
+.swagger-ui body,
+.swagger-ui code,
+.swagger-ui dd,
+.swagger-ui div,
+.swagger-ui dl,
+.swagger-ui dt,
+.swagger-ui fieldset,
+.swagger-ui footer,
+.swagger-ui form,
+.swagger-ui h1,
+.swagger-ui h2,
+.swagger-ui h3,
+.swagger-ui h4,
+.swagger-ui h5,
+.swagger-ui h6,
+.swagger-ui header,
+.swagger-ui html,
+.swagger-ui input[type='email'],
+.swagger-ui input[type='number'],
+.swagger-ui input[type='password'],
+.swagger-ui input[type='tel'],
+.swagger-ui input[type='text'],
+.swagger-ui input[type='url'],
+.swagger-ui legend,
+.swagger-ui li,
+.swagger-ui main,
+.swagger-ui ol,
+.swagger-ui p,
+.swagger-ui pre,
+.swagger-ui section,
+.swagger-ui table,
+.swagger-ui td,
+.swagger-ui textarea,
+.swagger-ui th,
+.swagger-ui tr,
+.swagger-ui ul {
+ box-sizing: border-box;
+}
+.swagger-ui .aspect-ratio {
+ height: 0;
+ position: relative;
+}
+.swagger-ui .aspect-ratio--16x9 {
+ padding-bottom: 56.25%;
+}
+.swagger-ui .aspect-ratio--9x16 {
+ padding-bottom: 177.77%;
+}
+.swagger-ui .aspect-ratio--4x3 {
+ padding-bottom: 75%;
+}
+.swagger-ui .aspect-ratio--3x4 {
+ padding-bottom: 133.33%;
+}
+.swagger-ui .aspect-ratio--6x4 {
+ padding-bottom: 66.6%;
+}
+.swagger-ui .aspect-ratio--4x6 {
+ padding-bottom: 150%;
+}
+.swagger-ui .aspect-ratio--8x5 {
+ padding-bottom: 62.5%;
+}
+.swagger-ui .aspect-ratio--5x8 {
+ padding-bottom: 160%;
+}
+.swagger-ui .aspect-ratio--7x5 {
+ padding-bottom: 71.42%;
+}
+.swagger-ui .aspect-ratio--5x7 {
+ padding-bottom: 140%;
+}
+.swagger-ui .aspect-ratio--1x1 {
+ padding-bottom: 100%;
+}
+.swagger-ui .aspect-ratio--object {
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 100%;
+ z-index: 100;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .aspect-ratio-ns {
+ height: 0;
+ position: relative;
+ }
+ .swagger-ui .aspect-ratio--16x9-ns {
+ padding-bottom: 56.25%;
+ }
+ .swagger-ui .aspect-ratio--9x16-ns {
+ padding-bottom: 177.77%;
+ }
+ .swagger-ui .aspect-ratio--4x3-ns {
+ padding-bottom: 75%;
+ }
+ .swagger-ui .aspect-ratio--3x4-ns {
+ padding-bottom: 133.33%;
+ }
+ .swagger-ui .aspect-ratio--6x4-ns {
+ padding-bottom: 66.6%;
+ }
+ .swagger-ui .aspect-ratio--4x6-ns {
+ padding-bottom: 150%;
+ }
+ .swagger-ui .aspect-ratio--8x5-ns {
+ padding-bottom: 62.5%;
+ }
+ .swagger-ui .aspect-ratio--5x8-ns {
+ padding-bottom: 160%;
+ }
+ .swagger-ui .aspect-ratio--7x5-ns {
+ padding-bottom: 71.42%;
+ }
+ .swagger-ui .aspect-ratio--5x7-ns {
+ padding-bottom: 140%;
+ }
+ .swagger-ui .aspect-ratio--1x1-ns {
+ padding-bottom: 100%;
+ }
+ .swagger-ui .aspect-ratio--object-ns {
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 100%;
+ z-index: 100;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .aspect-ratio-m {
+ height: 0;
+ position: relative;
+ }
+ .swagger-ui .aspect-ratio--16x9-m {
+ padding-bottom: 56.25%;
+ }
+ .swagger-ui .aspect-ratio--9x16-m {
+ padding-bottom: 177.77%;
+ }
+ .swagger-ui .aspect-ratio--4x3-m {
+ padding-bottom: 75%;
+ }
+ .swagger-ui .aspect-ratio--3x4-m {
+ padding-bottom: 133.33%;
+ }
+ .swagger-ui .aspect-ratio--6x4-m {
+ padding-bottom: 66.6%;
+ }
+ .swagger-ui .aspect-ratio--4x6-m {
+ padding-bottom: 150%;
+ }
+ .swagger-ui .aspect-ratio--8x5-m {
+ padding-bottom: 62.5%;
+ }
+ .swagger-ui .aspect-ratio--5x8-m {
+ padding-bottom: 160%;
+ }
+ .swagger-ui .aspect-ratio--7x5-m {
+ padding-bottom: 71.42%;
+ }
+ .swagger-ui .aspect-ratio--5x7-m {
+ padding-bottom: 140%;
+ }
+ .swagger-ui .aspect-ratio--1x1-m {
+ padding-bottom: 100%;
+ }
+ .swagger-ui .aspect-ratio--object-m {
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 100%;
+ z-index: 100;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .aspect-ratio-l {
+ height: 0;
+ position: relative;
+ }
+ .swagger-ui .aspect-ratio--16x9-l {
+ padding-bottom: 56.25%;
+ }
+ .swagger-ui .aspect-ratio--9x16-l {
+ padding-bottom: 177.77%;
+ }
+ .swagger-ui .aspect-ratio--4x3-l {
+ padding-bottom: 75%;
+ }
+ .swagger-ui .aspect-ratio--3x4-l {
+ padding-bottom: 133.33%;
+ }
+ .swagger-ui .aspect-ratio--6x4-l {
+ padding-bottom: 66.6%;
+ }
+ .swagger-ui .aspect-ratio--4x6-l {
+ padding-bottom: 150%;
+ }
+ .swagger-ui .aspect-ratio--8x5-l {
+ padding-bottom: 62.5%;
+ }
+ .swagger-ui .aspect-ratio--5x8-l {
+ padding-bottom: 160%;
+ }
+ .swagger-ui .aspect-ratio--7x5-l {
+ padding-bottom: 71.42%;
+ }
+ .swagger-ui .aspect-ratio--5x7-l {
+ padding-bottom: 140%;
+ }
+ .swagger-ui .aspect-ratio--1x1-l {
+ padding-bottom: 100%;
+ }
+ .swagger-ui .aspect-ratio--object-l {
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 100%;
+ z-index: 100;
+ }
+}
+.swagger-ui img {
+ max-width: 100%;
+}
+.swagger-ui .cover {
+ background-size: cover !important;
+}
+.swagger-ui .contain {
+ background-size: contain !important;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .cover-ns {
+ background-size: cover !important;
+ }
+ .swagger-ui .contain-ns {
+ background-size: contain !important;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .cover-m {
+ background-size: cover !important;
+ }
+ .swagger-ui .contain-m {
+ background-size: contain !important;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .cover-l {
+ background-size: cover !important;
+ }
+ .swagger-ui .contain-l {
+ background-size: contain !important;
+ }
+}
+.swagger-ui .bg-center {
+ background-position: 50%;
+ background-repeat: no-repeat;
+}
+.swagger-ui .bg-top {
+ background-position: top;
+ background-repeat: no-repeat;
+}
+.swagger-ui .bg-right {
+ background-position: 100%;
+ background-repeat: no-repeat;
+}
+.swagger-ui .bg-bottom {
+ background-position: bottom;
+ background-repeat: no-repeat;
+}
+.swagger-ui .bg-left {
+ background-position: 0;
+ background-repeat: no-repeat;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .bg-center-ns {
+ background-position: 50%;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-top-ns {
+ background-position: top;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-right-ns {
+ background-position: 100%;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-bottom-ns {
+ background-position: bottom;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-left-ns {
+ background-position: 0;
+ background-repeat: no-repeat;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .bg-center-m {
+ background-position: 50%;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-top-m {
+ background-position: top;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-right-m {
+ background-position: 100%;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-bottom-m {
+ background-position: bottom;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-left-m {
+ background-position: 0;
+ background-repeat: no-repeat;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .bg-center-l {
+ background-position: 50%;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-top-l {
+ background-position: top;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-right-l {
+ background-position: 100%;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-bottom-l {
+ background-position: bottom;
+ background-repeat: no-repeat;
+ }
+ .swagger-ui .bg-left-l {
+ background-position: 0;
+ background-repeat: no-repeat;
+ }
+}
+.swagger-ui .outline {
+ outline: 1px solid;
+}
+.swagger-ui .outline-transparent {
+ outline: 1px solid transparent;
+}
+.swagger-ui .outline-0 {
+ outline: 0;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .outline-ns {
+ outline: 1px solid;
+ }
+ .swagger-ui .outline-transparent-ns {
+ outline: 1px solid transparent;
+ }
+ .swagger-ui .outline-0-ns {
+ outline: 0;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .outline-m {
+ outline: 1px solid;
+ }
+ .swagger-ui .outline-transparent-m {
+ outline: 1px solid transparent;
+ }
+ .swagger-ui .outline-0-m {
+ outline: 0;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .outline-l {
+ outline: 1px solid;
+ }
+ .swagger-ui .outline-transparent-l {
+ outline: 1px solid transparent;
+ }
+ .swagger-ui .outline-0-l {
+ outline: 0;
+ }
+}
+.swagger-ui .ba {
+ border-style: solid;
+ border-width: 1px;
+}
+.swagger-ui .bt {
+ border-top-style: solid;
+ border-top-width: 1px;
+}
+.swagger-ui .br {
+ border-right-style: solid;
+ border-right-width: 1px;
+}
+.swagger-ui .bb {
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+}
+.swagger-ui .bl {
+ border-left-style: solid;
+ border-left-width: 1px;
+}
+.swagger-ui .bn {
+ border-style: none;
+ border-width: 0;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .ba-ns {
+ border-style: solid;
+ border-width: 1px;
+ }
+ .swagger-ui .bt-ns {
+ border-top-style: solid;
+ border-top-width: 1px;
+ }
+ .swagger-ui .br-ns {
+ border-right-style: solid;
+ border-right-width: 1px;
+ }
+ .swagger-ui .bb-ns {
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ }
+ .swagger-ui .bl-ns {
+ border-left-style: solid;
+ border-left-width: 1px;
+ }
+ .swagger-ui .bn-ns {
+ border-style: none;
+ border-width: 0;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .ba-m {
+ border-style: solid;
+ border-width: 1px;
+ }
+ .swagger-ui .bt-m {
+ border-top-style: solid;
+ border-top-width: 1px;
+ }
+ .swagger-ui .br-m {
+ border-right-style: solid;
+ border-right-width: 1px;
+ }
+ .swagger-ui .bb-m {
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ }
+ .swagger-ui .bl-m {
+ border-left-style: solid;
+ border-left-width: 1px;
+ }
+ .swagger-ui .bn-m {
+ border-style: none;
+ border-width: 0;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .ba-l {
+ border-style: solid;
+ border-width: 1px;
+ }
+ .swagger-ui .bt-l {
+ border-top-style: solid;
+ border-top-width: 1px;
+ }
+ .swagger-ui .br-l {
+ border-right-style: solid;
+ border-right-width: 1px;
+ }
+ .swagger-ui .bb-l {
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ }
+ .swagger-ui .bl-l {
+ border-left-style: solid;
+ border-left-width: 1px;
+ }
+ .swagger-ui .bn-l {
+ border-style: none;
+ border-width: 0;
+ }
+}
+.swagger-ui .b--black {
+ border-color: #000;
+}
+.swagger-ui .b--near-black {
+ border-color: #111;
+}
+.swagger-ui .b--dark-gray {
+ border-color: #333;
+}
+.swagger-ui .b--mid-gray {
+ border-color: #555;
+}
+.swagger-ui .b--gray {
+ border-color: #777;
+}
+.swagger-ui .b--silver {
+ border-color: #999;
+}
+.swagger-ui .b--light-silver {
+ border-color: #aaa;
+}
+.swagger-ui .b--moon-gray {
+ border-color: #ccc;
+}
+.swagger-ui .b--light-gray {
+ border-color: #eee;
+}
+.swagger-ui .b--near-white {
+ border-color: #f4f4f4;
+}
+.swagger-ui .b--white {
+ border-color: #fff;
+}
+.swagger-ui .b--white-90 {
+ border-color: hsla(0, 0%, 100%, 0.9);
+}
+.swagger-ui .b--white-80 {
+ border-color: hsla(0, 0%, 100%, 0.8);
+}
+.swagger-ui .b--white-70 {
+ border-color: hsla(0, 0%, 100%, 0.7);
+}
+.swagger-ui .b--white-60 {
+ border-color: hsla(0, 0%, 100%, 0.6);
+}
+.swagger-ui .b--white-50 {
+ border-color: hsla(0, 0%, 100%, 0.5);
+}
+.swagger-ui .b--white-40 {
+ border-color: hsla(0, 0%, 100%, 0.4);
+}
+.swagger-ui .b--white-30 {
+ border-color: hsla(0, 0%, 100%, 0.3);
+}
+.swagger-ui .b--white-20 {
+ border-color: hsla(0, 0%, 100%, 0.2);
+}
+.swagger-ui .b--white-10 {
+ border-color: hsla(0, 0%, 100%, 0.1);
+}
+.swagger-ui .b--white-05 {
+ border-color: hsla(0, 0%, 100%, 0.05);
+}
+.swagger-ui .b--white-025 {
+ border-color: hsla(0, 0%, 100%, 0.025);
+}
+.swagger-ui .b--white-0125 {
+ border-color: hsla(0, 0%, 100%, 0.013);
+}
+.swagger-ui .b--black-90 {
+ border-color: rgba(0, 0, 0, 0.9);
+}
+.swagger-ui .b--black-80 {
+ border-color: rgba(0, 0, 0, 0.8);
+}
+.swagger-ui .b--black-70 {
+ border-color: rgba(0, 0, 0, 0.7);
+}
+.swagger-ui .b--black-60 {
+ border-color: rgba(0, 0, 0, 0.6);
+}
+.swagger-ui .b--black-50 {
+ border-color: rgba(0, 0, 0, 0.5);
+}
+.swagger-ui .b--black-40 {
+ border-color: rgba(0, 0, 0, 0.4);
+}
+.swagger-ui .b--black-30 {
+ border-color: rgba(0, 0, 0, 0.3);
+}
+.swagger-ui .b--black-20 {
+ border-color: rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .b--black-10 {
+ border-color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .b--black-05 {
+ border-color: rgba(0, 0, 0, 0.05);
+}
+.swagger-ui .b--black-025 {
+ border-color: rgba(0, 0, 0, 0.025);
+}
+.swagger-ui .b--black-0125 {
+ border-color: rgba(0, 0, 0, 0.013);
+}
+.swagger-ui .b--dark-red {
+ border-color: #e7040f;
+}
+.swagger-ui .b--red {
+ border-color: #ff4136;
+}
+.swagger-ui .b--light-red {
+ border-color: #ff725c;
+}
+.swagger-ui .b--orange {
+ border-color: #ff6300;
+}
+.swagger-ui .b--gold {
+ border-color: #ffb700;
+}
+.swagger-ui .b--yellow {
+ border-color: gold;
+}
+.swagger-ui .b--light-yellow {
+ border-color: #fbf1a9;
+}
+.swagger-ui .b--purple {
+ border-color: #5e2ca5;
+}
+.swagger-ui .b--light-purple {
+ border-color: #a463f2;
+}
+.swagger-ui .b--dark-pink {
+ border-color: #d5008f;
+}
+.swagger-ui .b--hot-pink {
+ border-color: #ff41b4;
+}
+.swagger-ui .b--pink {
+ border-color: #ff80cc;
+}
+.swagger-ui .b--light-pink {
+ border-color: #ffa3d7;
+}
+.swagger-ui .b--dark-green {
+ border-color: #137752;
+}
+.swagger-ui .b--green {
+ border-color: #19a974;
+}
+.swagger-ui .b--light-green {
+ border-color: #9eebcf;
+}
+.swagger-ui .b--navy {
+ border-color: #001b44;
+}
+.swagger-ui .b--dark-blue {
+ border-color: #00449e;
+}
+.swagger-ui .b--blue {
+ border-color: #357edd;
+}
+.swagger-ui .b--light-blue {
+ border-color: #96ccff;
+}
+.swagger-ui .b--lightest-blue {
+ border-color: #cdecff;
+}
+.swagger-ui .b--washed-blue {
+ border-color: #f6fffe;
+}
+.swagger-ui .b--washed-green {
+ border-color: #e8fdf5;
+}
+.swagger-ui .b--washed-yellow {
+ border-color: #fffceb;
+}
+.swagger-ui .b--washed-red {
+ border-color: #ffdfdf;
+}
+.swagger-ui .b--transparent {
+ border-color: transparent;
+}
+.swagger-ui .b--inherit {
+ border-color: inherit;
+}
+.swagger-ui .br0 {
+ border-radius: 0;
+}
+.swagger-ui .br1 {
+ border-radius: 0.125rem;
+}
+.swagger-ui .br2 {
+ border-radius: 0.25rem;
+}
+.swagger-ui .br3 {
+ border-radius: 0.5rem;
+}
+.swagger-ui .br4 {
+ border-radius: 1rem;
+}
+.swagger-ui .br-100 {
+ border-radius: 100%;
+}
+.swagger-ui .br-pill {
+ border-radius: 9999px;
+}
+.swagger-ui .br--bottom {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.swagger-ui .br--top {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.swagger-ui .br--right {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+}
+.swagger-ui .br--left {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .br0-ns {
+ border-radius: 0;
+ }
+ .swagger-ui .br1-ns {
+ border-radius: 0.125rem;
+ }
+ .swagger-ui .br2-ns {
+ border-radius: 0.25rem;
+ }
+ .swagger-ui .br3-ns {
+ border-radius: 0.5rem;
+ }
+ .swagger-ui .br4-ns {
+ border-radius: 1rem;
+ }
+ .swagger-ui .br-100-ns {
+ border-radius: 100%;
+ }
+ .swagger-ui .br-pill-ns {
+ border-radius: 9999px;
+ }
+ .swagger-ui .br--bottom-ns {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ }
+ .swagger-ui .br--top-ns {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .swagger-ui .br--right-ns {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+ }
+ .swagger-ui .br--left-ns {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .br0-m {
+ border-radius: 0;
+ }
+ .swagger-ui .br1-m {
+ border-radius: 0.125rem;
+ }
+ .swagger-ui .br2-m {
+ border-radius: 0.25rem;
+ }
+ .swagger-ui .br3-m {
+ border-radius: 0.5rem;
+ }
+ .swagger-ui .br4-m {
+ border-radius: 1rem;
+ }
+ .swagger-ui .br-100-m {
+ border-radius: 100%;
+ }
+ .swagger-ui .br-pill-m {
+ border-radius: 9999px;
+ }
+ .swagger-ui .br--bottom-m {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ }
+ .swagger-ui .br--top-m {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .swagger-ui .br--right-m {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+ }
+ .swagger-ui .br--left-m {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .br0-l {
+ border-radius: 0;
+ }
+ .swagger-ui .br1-l {
+ border-radius: 0.125rem;
+ }
+ .swagger-ui .br2-l {
+ border-radius: 0.25rem;
+ }
+ .swagger-ui .br3-l {
+ border-radius: 0.5rem;
+ }
+ .swagger-ui .br4-l {
+ border-radius: 1rem;
+ }
+ .swagger-ui .br-100-l {
+ border-radius: 100%;
+ }
+ .swagger-ui .br-pill-l {
+ border-radius: 9999px;
+ }
+ .swagger-ui .br--bottom-l {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ }
+ .swagger-ui .br--top-l {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .swagger-ui .br--right-l {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+ }
+ .swagger-ui .br--left-l {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ }
+}
+.swagger-ui .b--dotted {
+ border-style: dotted;
+}
+.swagger-ui .b--dashed {
+ border-style: dashed;
+}
+.swagger-ui .b--solid {
+ border-style: solid;
+}
+.swagger-ui .b--none {
+ border-style: none;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .b--dotted-ns {
+ border-style: dotted;
+ }
+ .swagger-ui .b--dashed-ns {
+ border-style: dashed;
+ }
+ .swagger-ui .b--solid-ns {
+ border-style: solid;
+ }
+ .swagger-ui .b--none-ns {
+ border-style: none;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .b--dotted-m {
+ border-style: dotted;
+ }
+ .swagger-ui .b--dashed-m {
+ border-style: dashed;
+ }
+ .swagger-ui .b--solid-m {
+ border-style: solid;
+ }
+ .swagger-ui .b--none-m {
+ border-style: none;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .b--dotted-l {
+ border-style: dotted;
+ }
+ .swagger-ui .b--dashed-l {
+ border-style: dashed;
+ }
+ .swagger-ui .b--solid-l {
+ border-style: solid;
+ }
+ .swagger-ui .b--none-l {
+ border-style: none;
+ }
+}
+.swagger-ui .bw0 {
+ border-width: 0;
+}
+.swagger-ui .bw1 {
+ border-width: 0.125rem;
+}
+.swagger-ui .bw2 {
+ border-width: 0.25rem;
+}
+.swagger-ui .bw3 {
+ border-width: 0.5rem;
+}
+.swagger-ui .bw4 {
+ border-width: 1rem;
+}
+.swagger-ui .bw5 {
+ border-width: 2rem;
+}
+.swagger-ui .bt-0 {
+ border-top-width: 0;
+}
+.swagger-ui .br-0 {
+ border-right-width: 0;
+}
+.swagger-ui .bb-0 {
+ border-bottom-width: 0;
+}
+.swagger-ui .bl-0 {
+ border-left-width: 0;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .bw0-ns {
+ border-width: 0;
+ }
+ .swagger-ui .bw1-ns {
+ border-width: 0.125rem;
+ }
+ .swagger-ui .bw2-ns {
+ border-width: 0.25rem;
+ }
+ .swagger-ui .bw3-ns {
+ border-width: 0.5rem;
+ }
+ .swagger-ui .bw4-ns {
+ border-width: 1rem;
+ }
+ .swagger-ui .bw5-ns {
+ border-width: 2rem;
+ }
+ .swagger-ui .bt-0-ns {
+ border-top-width: 0;
+ }
+ .swagger-ui .br-0-ns {
+ border-right-width: 0;
+ }
+ .swagger-ui .bb-0-ns {
+ border-bottom-width: 0;
+ }
+ .swagger-ui .bl-0-ns {
+ border-left-width: 0;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .bw0-m {
+ border-width: 0;
+ }
+ .swagger-ui .bw1-m {
+ border-width: 0.125rem;
+ }
+ .swagger-ui .bw2-m {
+ border-width: 0.25rem;
+ }
+ .swagger-ui .bw3-m {
+ border-width: 0.5rem;
+ }
+ .swagger-ui .bw4-m {
+ border-width: 1rem;
+ }
+ .swagger-ui .bw5-m {
+ border-width: 2rem;
+ }
+ .swagger-ui .bt-0-m {
+ border-top-width: 0;
+ }
+ .swagger-ui .br-0-m {
+ border-right-width: 0;
+ }
+ .swagger-ui .bb-0-m {
+ border-bottom-width: 0;
+ }
+ .swagger-ui .bl-0-m {
+ border-left-width: 0;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .bw0-l {
+ border-width: 0;
+ }
+ .swagger-ui .bw1-l {
+ border-width: 0.125rem;
+ }
+ .swagger-ui .bw2-l {
+ border-width: 0.25rem;
+ }
+ .swagger-ui .bw3-l {
+ border-width: 0.5rem;
+ }
+ .swagger-ui .bw4-l {
+ border-width: 1rem;
+ }
+ .swagger-ui .bw5-l {
+ border-width: 2rem;
+ }
+ .swagger-ui .bt-0-l {
+ border-top-width: 0;
+ }
+ .swagger-ui .br-0-l {
+ border-right-width: 0;
+ }
+ .swagger-ui .bb-0-l {
+ border-bottom-width: 0;
+ }
+ .swagger-ui .bl-0-l {
+ border-left-width: 0;
+ }
+}
+.swagger-ui .shadow-1 {
+ box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .shadow-2 {
+ box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .shadow-3 {
+ box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .shadow-4 {
+ box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .shadow-5 {
+ box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.2);
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .shadow-1-ns {
+ box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-2-ns {
+ box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-3-ns {
+ box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-4-ns {
+ box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-5-ns {
+ box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.2);
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .shadow-1-m {
+ box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-2-m {
+ box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-3-m {
+ box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-4-m {
+ box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-5-m {
+ box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.2);
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .shadow-1-l {
+ box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-2-l {
+ box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-3-l {
+ box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-4-l {
+ box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.2);
+ }
+ .swagger-ui .shadow-5-l {
+ box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.2);
+ }
+}
+.swagger-ui .pre {
+ overflow-x: auto;
+ overflow-y: hidden;
+ overflow: scroll;
+}
+.swagger-ui .top-0 {
+ top: 0;
+}
+.swagger-ui .right-0 {
+ right: 0;
+}
+.swagger-ui .bottom-0 {
+ bottom: 0;
+}
+.swagger-ui .left-0 {
+ left: 0;
+}
+.swagger-ui .top-1 {
+ top: 1rem;
+}
+.swagger-ui .right-1 {
+ right: 1rem;
+}
+.swagger-ui .bottom-1 {
+ bottom: 1rem;
+}
+.swagger-ui .left-1 {
+ left: 1rem;
+}
+.swagger-ui .top-2 {
+ top: 2rem;
+}
+.swagger-ui .right-2 {
+ right: 2rem;
+}
+.swagger-ui .bottom-2 {
+ bottom: 2rem;
+}
+.swagger-ui .left-2 {
+ left: 2rem;
+}
+.swagger-ui .top--1 {
+ top: -1rem;
+}
+.swagger-ui .right--1 {
+ right: -1rem;
+}
+.swagger-ui .bottom--1 {
+ bottom: -1rem;
+}
+.swagger-ui .left--1 {
+ left: -1rem;
+}
+.swagger-ui .top--2 {
+ top: -2rem;
+}
+.swagger-ui .right--2 {
+ right: -2rem;
+}
+.swagger-ui .bottom--2 {
+ bottom: -2rem;
+}
+.swagger-ui .left--2 {
+ left: -2rem;
+}
+.swagger-ui .absolute--fill {
+ bottom: 0;
+ left: 0;
+ right: 0;
+ top: 0;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .top-0-ns {
+ top: 0;
+ }
+ .swagger-ui .left-0-ns {
+ left: 0;
+ }
+ .swagger-ui .right-0-ns {
+ right: 0;
+ }
+ .swagger-ui .bottom-0-ns {
+ bottom: 0;
+ }
+ .swagger-ui .top-1-ns {
+ top: 1rem;
+ }
+ .swagger-ui .left-1-ns {
+ left: 1rem;
+ }
+ .swagger-ui .right-1-ns {
+ right: 1rem;
+ }
+ .swagger-ui .bottom-1-ns {
+ bottom: 1rem;
+ }
+ .swagger-ui .top-2-ns {
+ top: 2rem;
+ }
+ .swagger-ui .left-2-ns {
+ left: 2rem;
+ }
+ .swagger-ui .right-2-ns {
+ right: 2rem;
+ }
+ .swagger-ui .bottom-2-ns {
+ bottom: 2rem;
+ }
+ .swagger-ui .top--1-ns {
+ top: -1rem;
+ }
+ .swagger-ui .right--1-ns {
+ right: -1rem;
+ }
+ .swagger-ui .bottom--1-ns {
+ bottom: -1rem;
+ }
+ .swagger-ui .left--1-ns {
+ left: -1rem;
+ }
+ .swagger-ui .top--2-ns {
+ top: -2rem;
+ }
+ .swagger-ui .right--2-ns {
+ right: -2rem;
+ }
+ .swagger-ui .bottom--2-ns {
+ bottom: -2rem;
+ }
+ .swagger-ui .left--2-ns {
+ left: -2rem;
+ }
+ .swagger-ui .absolute--fill-ns {
+ bottom: 0;
+ left: 0;
+ right: 0;
+ top: 0;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .top-0-m {
+ top: 0;
+ }
+ .swagger-ui .left-0-m {
+ left: 0;
+ }
+ .swagger-ui .right-0-m {
+ right: 0;
+ }
+ .swagger-ui .bottom-0-m {
+ bottom: 0;
+ }
+ .swagger-ui .top-1-m {
+ top: 1rem;
+ }
+ .swagger-ui .left-1-m {
+ left: 1rem;
+ }
+ .swagger-ui .right-1-m {
+ right: 1rem;
+ }
+ .swagger-ui .bottom-1-m {
+ bottom: 1rem;
+ }
+ .swagger-ui .top-2-m {
+ top: 2rem;
+ }
+ .swagger-ui .left-2-m {
+ left: 2rem;
+ }
+ .swagger-ui .right-2-m {
+ right: 2rem;
+ }
+ .swagger-ui .bottom-2-m {
+ bottom: 2rem;
+ }
+ .swagger-ui .top--1-m {
+ top: -1rem;
+ }
+ .swagger-ui .right--1-m {
+ right: -1rem;
+ }
+ .swagger-ui .bottom--1-m {
+ bottom: -1rem;
+ }
+ .swagger-ui .left--1-m {
+ left: -1rem;
+ }
+ .swagger-ui .top--2-m {
+ top: -2rem;
+ }
+ .swagger-ui .right--2-m {
+ right: -2rem;
+ }
+ .swagger-ui .bottom--2-m {
+ bottom: -2rem;
+ }
+ .swagger-ui .left--2-m {
+ left: -2rem;
+ }
+ .swagger-ui .absolute--fill-m {
+ bottom: 0;
+ left: 0;
+ right: 0;
+ top: 0;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .top-0-l {
+ top: 0;
+ }
+ .swagger-ui .left-0-l {
+ left: 0;
+ }
+ .swagger-ui .right-0-l {
+ right: 0;
+ }
+ .swagger-ui .bottom-0-l {
+ bottom: 0;
+ }
+ .swagger-ui .top-1-l {
+ top: 1rem;
+ }
+ .swagger-ui .left-1-l {
+ left: 1rem;
+ }
+ .swagger-ui .right-1-l {
+ right: 1rem;
+ }
+ .swagger-ui .bottom-1-l {
+ bottom: 1rem;
+ }
+ .swagger-ui .top-2-l {
+ top: 2rem;
+ }
+ .swagger-ui .left-2-l {
+ left: 2rem;
+ }
+ .swagger-ui .right-2-l {
+ right: 2rem;
+ }
+ .swagger-ui .bottom-2-l {
+ bottom: 2rem;
+ }
+ .swagger-ui .top--1-l {
+ top: -1rem;
+ }
+ .swagger-ui .right--1-l {
+ right: -1rem;
+ }
+ .swagger-ui .bottom--1-l {
+ bottom: -1rem;
+ }
+ .swagger-ui .left--1-l {
+ left: -1rem;
+ }
+ .swagger-ui .top--2-l {
+ top: -2rem;
+ }
+ .swagger-ui .right--2-l {
+ right: -2rem;
+ }
+ .swagger-ui .bottom--2-l {
+ bottom: -2rem;
+ }
+ .swagger-ui .left--2-l {
+ left: -2rem;
+ }
+ .swagger-ui .absolute--fill-l {
+ bottom: 0;
+ left: 0;
+ right: 0;
+ top: 0;
+ }
+}
+.swagger-ui .cf:after,
+.swagger-ui .cf:before {
+ content: ' ';
+ display: table;
+}
+.swagger-ui .cf:after {
+ clear: both;
+}
+.swagger-ui .cf {
+ zoom: 1;
+}
+.swagger-ui .cl {
+ clear: left;
+}
+.swagger-ui .cr {
+ clear: right;
+}
+.swagger-ui .cb {
+ clear: both;
+}
+.swagger-ui .cn {
+ clear: none;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .cl-ns {
+ clear: left;
+ }
+ .swagger-ui .cr-ns {
+ clear: right;
+ }
+ .swagger-ui .cb-ns {
+ clear: both;
+ }
+ .swagger-ui .cn-ns {
+ clear: none;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .cl-m {
+ clear: left;
+ }
+ .swagger-ui .cr-m {
+ clear: right;
+ }
+ .swagger-ui .cb-m {
+ clear: both;
+ }
+ .swagger-ui .cn-m {
+ clear: none;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .cl-l {
+ clear: left;
+ }
+ .swagger-ui .cr-l {
+ clear: right;
+ }
+ .swagger-ui .cb-l {
+ clear: both;
+ }
+ .swagger-ui .cn-l {
+ clear: none;
+ }
+}
+.swagger-ui .flex {
+ display: flex;
+}
+.swagger-ui .inline-flex {
+ display: inline-flex;
+}
+.swagger-ui .flex-auto {
+ flex: 1 1 auto;
+ min-height: 0;
+ min-width: 0;
+}
+.swagger-ui .flex-none {
+ flex: none;
+}
+.swagger-ui .flex-column {
+ flex-direction: column;
+}
+.swagger-ui .flex-row {
+ flex-direction: row;
+}
+.swagger-ui .flex-wrap {
+ flex-wrap: wrap;
+}
+.swagger-ui .flex-nowrap {
+ flex-wrap: nowrap;
+}
+.swagger-ui .flex-wrap-reverse {
+ flex-wrap: wrap-reverse;
+}
+.swagger-ui .flex-column-reverse {
+ flex-direction: column-reverse;
+}
+.swagger-ui .flex-row-reverse {
+ flex-direction: row-reverse;
+}
+.swagger-ui .items-start {
+ align-items: flex-start;
+}
+.swagger-ui .items-end {
+ align-items: flex-end;
+}
+.swagger-ui .items-center {
+ align-items: center;
+}
+.swagger-ui .items-baseline {
+ align-items: baseline;
+}
+.swagger-ui .items-stretch {
+ align-items: stretch;
+}
+.swagger-ui .self-start {
+ align-self: flex-start;
+}
+.swagger-ui .self-end {
+ align-self: flex-end;
+}
+.swagger-ui .self-center {
+ align-self: center;
+}
+.swagger-ui .self-baseline {
+ align-self: baseline;
+}
+.swagger-ui .self-stretch {
+ align-self: stretch;
+}
+.swagger-ui .justify-start {
+ justify-content: flex-start;
+}
+.swagger-ui .justify-end {
+ justify-content: flex-end;
+}
+.swagger-ui .justify-center {
+ justify-content: center;
+}
+.swagger-ui .justify-between {
+ justify-content: space-between;
+}
+.swagger-ui .justify-around {
+ justify-content: space-around;
+}
+.swagger-ui .content-start {
+ align-content: flex-start;
+}
+.swagger-ui .content-end {
+ align-content: flex-end;
+}
+.swagger-ui .content-center {
+ align-content: center;
+}
+.swagger-ui .content-between {
+ align-content: space-between;
+}
+.swagger-ui .content-around {
+ align-content: space-around;
+}
+.swagger-ui .content-stretch {
+ align-content: stretch;
+}
+.swagger-ui .order-0 {
+ order: 0;
+}
+.swagger-ui .order-1 {
+ order: 1;
+}
+.swagger-ui .order-2 {
+ order: 2;
+}
+.swagger-ui .order-3 {
+ order: 3;
+}
+.swagger-ui .order-4 {
+ order: 4;
+}
+.swagger-ui .order-5 {
+ order: 5;
+}
+.swagger-ui .order-6 {
+ order: 6;
+}
+.swagger-ui .order-7 {
+ order: 7;
+}
+.swagger-ui .order-8 {
+ order: 8;
+}
+.swagger-ui .order-last {
+ order: 99999;
+}
+.swagger-ui .flex-grow-0 {
+ flex-grow: 0;
+}
+.swagger-ui .flex-grow-1 {
+ flex-grow: 1;
+}
+.swagger-ui .flex-shrink-0 {
+ flex-shrink: 0;
+}
+.swagger-ui .flex-shrink-1 {
+ flex-shrink: 1;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .flex-ns {
+ display: flex;
+ }
+ .swagger-ui .inline-flex-ns {
+ display: inline-flex;
+ }
+ .swagger-ui .flex-auto-ns {
+ flex: 1 1 auto;
+ min-height: 0;
+ min-width: 0;
+ }
+ .swagger-ui .flex-none-ns {
+ flex: none;
+ }
+ .swagger-ui .flex-column-ns {
+ flex-direction: column;
+ }
+ .swagger-ui .flex-row-ns {
+ flex-direction: row;
+ }
+ .swagger-ui .flex-wrap-ns {
+ flex-wrap: wrap;
+ }
+ .swagger-ui .flex-nowrap-ns {
+ flex-wrap: nowrap;
+ }
+ .swagger-ui .flex-wrap-reverse-ns {
+ flex-wrap: wrap-reverse;
+ }
+ .swagger-ui .flex-column-reverse-ns {
+ flex-direction: column-reverse;
+ }
+ .swagger-ui .flex-row-reverse-ns {
+ flex-direction: row-reverse;
+ }
+ .swagger-ui .items-start-ns {
+ align-items: flex-start;
+ }
+ .swagger-ui .items-end-ns {
+ align-items: flex-end;
+ }
+ .swagger-ui .items-center-ns {
+ align-items: center;
+ }
+ .swagger-ui .items-baseline-ns {
+ align-items: baseline;
+ }
+ .swagger-ui .items-stretch-ns {
+ align-items: stretch;
+ }
+ .swagger-ui .self-start-ns {
+ align-self: flex-start;
+ }
+ .swagger-ui .self-end-ns {
+ align-self: flex-end;
+ }
+ .swagger-ui .self-center-ns {
+ align-self: center;
+ }
+ .swagger-ui .self-baseline-ns {
+ align-self: baseline;
+ }
+ .swagger-ui .self-stretch-ns {
+ align-self: stretch;
+ }
+ .swagger-ui .justify-start-ns {
+ justify-content: flex-start;
+ }
+ .swagger-ui .justify-end-ns {
+ justify-content: flex-end;
+ }
+ .swagger-ui .justify-center-ns {
+ justify-content: center;
+ }
+ .swagger-ui .justify-between-ns {
+ justify-content: space-between;
+ }
+ .swagger-ui .justify-around-ns {
+ justify-content: space-around;
+ }
+ .swagger-ui .content-start-ns {
+ align-content: flex-start;
+ }
+ .swagger-ui .content-end-ns {
+ align-content: flex-end;
+ }
+ .swagger-ui .content-center-ns {
+ align-content: center;
+ }
+ .swagger-ui .content-between-ns {
+ align-content: space-between;
+ }
+ .swagger-ui .content-around-ns {
+ align-content: space-around;
+ }
+ .swagger-ui .content-stretch-ns {
+ align-content: stretch;
+ }
+ .swagger-ui .order-0-ns {
+ order: 0;
+ }
+ .swagger-ui .order-1-ns {
+ order: 1;
+ }
+ .swagger-ui .order-2-ns {
+ order: 2;
+ }
+ .swagger-ui .order-3-ns {
+ order: 3;
+ }
+ .swagger-ui .order-4-ns {
+ order: 4;
+ }
+ .swagger-ui .order-5-ns {
+ order: 5;
+ }
+ .swagger-ui .order-6-ns {
+ order: 6;
+ }
+ .swagger-ui .order-7-ns {
+ order: 7;
+ }
+ .swagger-ui .order-8-ns {
+ order: 8;
+ }
+ .swagger-ui .order-last-ns {
+ order: 99999;
+ }
+ .swagger-ui .flex-grow-0-ns {
+ flex-grow: 0;
+ }
+ .swagger-ui .flex-grow-1-ns {
+ flex-grow: 1;
+ }
+ .swagger-ui .flex-shrink-0-ns {
+ flex-shrink: 0;
+ }
+ .swagger-ui .flex-shrink-1-ns {
+ flex-shrink: 1;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .flex-m {
+ display: flex;
+ }
+ .swagger-ui .inline-flex-m {
+ display: inline-flex;
+ }
+ .swagger-ui .flex-auto-m {
+ flex: 1 1 auto;
+ min-height: 0;
+ min-width: 0;
+ }
+ .swagger-ui .flex-none-m {
+ flex: none;
+ }
+ .swagger-ui .flex-column-m {
+ flex-direction: column;
+ }
+ .swagger-ui .flex-row-m {
+ flex-direction: row;
+ }
+ .swagger-ui .flex-wrap-m {
+ flex-wrap: wrap;
+ }
+ .swagger-ui .flex-nowrap-m {
+ flex-wrap: nowrap;
+ }
+ .swagger-ui .flex-wrap-reverse-m {
+ flex-wrap: wrap-reverse;
+ }
+ .swagger-ui .flex-column-reverse-m {
+ flex-direction: column-reverse;
+ }
+ .swagger-ui .flex-row-reverse-m {
+ flex-direction: row-reverse;
+ }
+ .swagger-ui .items-start-m {
+ align-items: flex-start;
+ }
+ .swagger-ui .items-end-m {
+ align-items: flex-end;
+ }
+ .swagger-ui .items-center-m {
+ align-items: center;
+ }
+ .swagger-ui .items-baseline-m {
+ align-items: baseline;
+ }
+ .swagger-ui .items-stretch-m {
+ align-items: stretch;
+ }
+ .swagger-ui .self-start-m {
+ align-self: flex-start;
+ }
+ .swagger-ui .self-end-m {
+ align-self: flex-end;
+ }
+ .swagger-ui .self-center-m {
+ align-self: center;
+ }
+ .swagger-ui .self-baseline-m {
+ align-self: baseline;
+ }
+ .swagger-ui .self-stretch-m {
+ align-self: stretch;
+ }
+ .swagger-ui .justify-start-m {
+ justify-content: flex-start;
+ }
+ .swagger-ui .justify-end-m {
+ justify-content: flex-end;
+ }
+ .swagger-ui .justify-center-m {
+ justify-content: center;
+ }
+ .swagger-ui .justify-between-m {
+ justify-content: space-between;
+ }
+ .swagger-ui .justify-around-m {
+ justify-content: space-around;
+ }
+ .swagger-ui .content-start-m {
+ align-content: flex-start;
+ }
+ .swagger-ui .content-end-m {
+ align-content: flex-end;
+ }
+ .swagger-ui .content-center-m {
+ align-content: center;
+ }
+ .swagger-ui .content-between-m {
+ align-content: space-between;
+ }
+ .swagger-ui .content-around-m {
+ align-content: space-around;
+ }
+ .swagger-ui .content-stretch-m {
+ align-content: stretch;
+ }
+ .swagger-ui .order-0-m {
+ order: 0;
+ }
+ .swagger-ui .order-1-m {
+ order: 1;
+ }
+ .swagger-ui .order-2-m {
+ order: 2;
+ }
+ .swagger-ui .order-3-m {
+ order: 3;
+ }
+ .swagger-ui .order-4-m {
+ order: 4;
+ }
+ .swagger-ui .order-5-m {
+ order: 5;
+ }
+ .swagger-ui .order-6-m {
+ order: 6;
+ }
+ .swagger-ui .order-7-m {
+ order: 7;
+ }
+ .swagger-ui .order-8-m {
+ order: 8;
+ }
+ .swagger-ui .order-last-m {
+ order: 99999;
+ }
+ .swagger-ui .flex-grow-0-m {
+ flex-grow: 0;
+ }
+ .swagger-ui .flex-grow-1-m {
+ flex-grow: 1;
+ }
+ .swagger-ui .flex-shrink-0-m {
+ flex-shrink: 0;
+ }
+ .swagger-ui .flex-shrink-1-m {
+ flex-shrink: 1;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .flex-l {
+ display: flex;
+ }
+ .swagger-ui .inline-flex-l {
+ display: inline-flex;
+ }
+ .swagger-ui .flex-auto-l {
+ flex: 1 1 auto;
+ min-height: 0;
+ min-width: 0;
+ }
+ .swagger-ui .flex-none-l {
+ flex: none;
+ }
+ .swagger-ui .flex-column-l {
+ flex-direction: column;
+ }
+ .swagger-ui .flex-row-l {
+ flex-direction: row;
+ }
+ .swagger-ui .flex-wrap-l {
+ flex-wrap: wrap;
+ }
+ .swagger-ui .flex-nowrap-l {
+ flex-wrap: nowrap;
+ }
+ .swagger-ui .flex-wrap-reverse-l {
+ flex-wrap: wrap-reverse;
+ }
+ .swagger-ui .flex-column-reverse-l {
+ flex-direction: column-reverse;
+ }
+ .swagger-ui .flex-row-reverse-l {
+ flex-direction: row-reverse;
+ }
+ .swagger-ui .items-start-l {
+ align-items: flex-start;
+ }
+ .swagger-ui .items-end-l {
+ align-items: flex-end;
+ }
+ .swagger-ui .items-center-l {
+ align-items: center;
+ }
+ .swagger-ui .items-baseline-l {
+ align-items: baseline;
+ }
+ .swagger-ui .items-stretch-l {
+ align-items: stretch;
+ }
+ .swagger-ui .self-start-l {
+ align-self: flex-start;
+ }
+ .swagger-ui .self-end-l {
+ align-self: flex-end;
+ }
+ .swagger-ui .self-center-l {
+ align-self: center;
+ }
+ .swagger-ui .self-baseline-l {
+ align-self: baseline;
+ }
+ .swagger-ui .self-stretch-l {
+ align-self: stretch;
+ }
+ .swagger-ui .justify-start-l {
+ justify-content: flex-start;
+ }
+ .swagger-ui .justify-end-l {
+ justify-content: flex-end;
+ }
+ .swagger-ui .justify-center-l {
+ justify-content: center;
+ }
+ .swagger-ui .justify-between-l {
+ justify-content: space-between;
+ }
+ .swagger-ui .justify-around-l {
+ justify-content: space-around;
+ }
+ .swagger-ui .content-start-l {
+ align-content: flex-start;
+ }
+ .swagger-ui .content-end-l {
+ align-content: flex-end;
+ }
+ .swagger-ui .content-center-l {
+ align-content: center;
+ }
+ .swagger-ui .content-between-l {
+ align-content: space-between;
+ }
+ .swagger-ui .content-around-l {
+ align-content: space-around;
+ }
+ .swagger-ui .content-stretch-l {
+ align-content: stretch;
+ }
+ .swagger-ui .order-0-l {
+ order: 0;
+ }
+ .swagger-ui .order-1-l {
+ order: 1;
+ }
+ .swagger-ui .order-2-l {
+ order: 2;
+ }
+ .swagger-ui .order-3-l {
+ order: 3;
+ }
+ .swagger-ui .order-4-l {
+ order: 4;
+ }
+ .swagger-ui .order-5-l {
+ order: 5;
+ }
+ .swagger-ui .order-6-l {
+ order: 6;
+ }
+ .swagger-ui .order-7-l {
+ order: 7;
+ }
+ .swagger-ui .order-8-l {
+ order: 8;
+ }
+ .swagger-ui .order-last-l {
+ order: 99999;
+ }
+ .swagger-ui .flex-grow-0-l {
+ flex-grow: 0;
+ }
+ .swagger-ui .flex-grow-1-l {
+ flex-grow: 1;
+ }
+ .swagger-ui .flex-shrink-0-l {
+ flex-shrink: 0;
+ }
+ .swagger-ui .flex-shrink-1-l {
+ flex-shrink: 1;
+ }
+}
+.swagger-ui .dn {
+ display: none;
+}
+.swagger-ui .di {
+ display: inline;
+}
+.swagger-ui .db {
+ display: block;
+}
+.swagger-ui .dib {
+ display: inline-block;
+}
+.swagger-ui .dit {
+ display: inline-table;
+}
+.swagger-ui .dt {
+ display: table;
+}
+.swagger-ui .dtc {
+ display: table-cell;
+}
+.swagger-ui .dt-row {
+ display: table-row;
+}
+.swagger-ui .dt-row-group {
+ display: table-row-group;
+}
+.swagger-ui .dt-column {
+ display: table-column;
+}
+.swagger-ui .dt-column-group {
+ display: table-column-group;
+}
+.swagger-ui .dt--fixed {
+ table-layout: fixed;
+ width: 100%;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .dn-ns {
+ display: none;
+ }
+ .swagger-ui .di-ns {
+ display: inline;
+ }
+ .swagger-ui .db-ns {
+ display: block;
+ }
+ .swagger-ui .dib-ns {
+ display: inline-block;
+ }
+ .swagger-ui .dit-ns {
+ display: inline-table;
+ }
+ .swagger-ui .dt-ns {
+ display: table;
+ }
+ .swagger-ui .dtc-ns {
+ display: table-cell;
+ }
+ .swagger-ui .dt-row-ns {
+ display: table-row;
+ }
+ .swagger-ui .dt-row-group-ns {
+ display: table-row-group;
+ }
+ .swagger-ui .dt-column-ns {
+ display: table-column;
+ }
+ .swagger-ui .dt-column-group-ns {
+ display: table-column-group;
+ }
+ .swagger-ui .dt--fixed-ns {
+ table-layout: fixed;
+ width: 100%;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .dn-m {
+ display: none;
+ }
+ .swagger-ui .di-m {
+ display: inline;
+ }
+ .swagger-ui .db-m {
+ display: block;
+ }
+ .swagger-ui .dib-m {
+ display: inline-block;
+ }
+ .swagger-ui .dit-m {
+ display: inline-table;
+ }
+ .swagger-ui .dt-m {
+ display: table;
+ }
+ .swagger-ui .dtc-m {
+ display: table-cell;
+ }
+ .swagger-ui .dt-row-m {
+ display: table-row;
+ }
+ .swagger-ui .dt-row-group-m {
+ display: table-row-group;
+ }
+ .swagger-ui .dt-column-m {
+ display: table-column;
+ }
+ .swagger-ui .dt-column-group-m {
+ display: table-column-group;
+ }
+ .swagger-ui .dt--fixed-m {
+ table-layout: fixed;
+ width: 100%;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .dn-l {
+ display: none;
+ }
+ .swagger-ui .di-l {
+ display: inline;
+ }
+ .swagger-ui .db-l {
+ display: block;
+ }
+ .swagger-ui .dib-l {
+ display: inline-block;
+ }
+ .swagger-ui .dit-l {
+ display: inline-table;
+ }
+ .swagger-ui .dt-l {
+ display: table;
+ }
+ .swagger-ui .dtc-l {
+ display: table-cell;
+ }
+ .swagger-ui .dt-row-l {
+ display: table-row;
+ }
+ .swagger-ui .dt-row-group-l {
+ display: table-row-group;
+ }
+ .swagger-ui .dt-column-l {
+ display: table-column;
+ }
+ .swagger-ui .dt-column-group-l {
+ display: table-column-group;
+ }
+ .swagger-ui .dt--fixed-l {
+ table-layout: fixed;
+ width: 100%;
+ }
+}
+.swagger-ui .fl {
+ _display: inline;
+ float: left;
+}
+.swagger-ui .fr {
+ _display: inline;
+ float: right;
+}
+.swagger-ui .fn {
+ float: none;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .fl-ns {
+ _display: inline;
+ float: left;
+ }
+ .swagger-ui .fr-ns {
+ _display: inline;
+ float: right;
+ }
+ .swagger-ui .fn-ns {
+ float: none;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .fl-m {
+ _display: inline;
+ float: left;
+ }
+ .swagger-ui .fr-m {
+ _display: inline;
+ float: right;
+ }
+ .swagger-ui .fn-m {
+ float: none;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .fl-l {
+ _display: inline;
+ float: left;
+ }
+ .swagger-ui .fr-l {
+ _display: inline;
+ float: right;
+ }
+ .swagger-ui .fn-l {
+ float: none;
+ }
+}
+.swagger-ui .sans-serif {
+ font-family:
+ -apple-system,
+ BlinkMacSystemFont,
+ avenir next,
+ avenir,
+ helvetica,
+ helvetica neue,
+ ubuntu,
+ roboto,
+ noto,
+ segoe ui,
+ arial,
+ sans-serif;
+}
+.swagger-ui .serif {
+ font-family: georgia, serif;
+}
+.swagger-ui .system-sans-serif {
+ font-family: sans-serif;
+}
+.swagger-ui .system-serif {
+ font-family: serif;
+}
+.swagger-ui .code,
+.swagger-ui code {
+ font-family: Consolas, monaco, monospace;
+}
+.swagger-ui .courier {
+ font-family:
+ Courier Next,
+ courier,
+ monospace;
+}
+.swagger-ui .helvetica {
+ font-family:
+ helvetica neue,
+ helvetica,
+ sans-serif;
+}
+.swagger-ui .avenir {
+ font-family:
+ avenir next,
+ avenir,
+ sans-serif;
+}
+.swagger-ui .athelas {
+ font-family: athelas, georgia, serif;
+}
+.swagger-ui .georgia {
+ font-family: georgia, serif;
+}
+.swagger-ui .times {
+ font-family: times, serif;
+}
+.swagger-ui .bodoni {
+ font-family:
+ Bodoni MT,
+ serif;
+}
+.swagger-ui .calisto {
+ font-family:
+ Calisto MT,
+ serif;
+}
+.swagger-ui .garamond {
+ font-family: garamond, serif;
+}
+.swagger-ui .baskerville {
+ font-family: baskerville, serif;
+}
+.swagger-ui .i {
+ font-style: italic;
+}
+.swagger-ui .fs-normal {
+ font-style: normal;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .i-ns {
+ font-style: italic;
+ }
+ .swagger-ui .fs-normal-ns {
+ font-style: normal;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .i-m {
+ font-style: italic;
+ }
+ .swagger-ui .fs-normal-m {
+ font-style: normal;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .i-l {
+ font-style: italic;
+ }
+ .swagger-ui .fs-normal-l {
+ font-style: normal;
+ }
+}
+.swagger-ui .normal {
+ font-weight: 400;
+}
+.swagger-ui .b {
+ font-weight: 700;
+}
+.swagger-ui .fw1 {
+ font-weight: 100;
+}
+.swagger-ui .fw2 {
+ font-weight: 200;
+}
+.swagger-ui .fw3 {
+ font-weight: 300;
+}
+.swagger-ui .fw4 {
+ font-weight: 400;
+}
+.swagger-ui .fw5 {
+ font-weight: 500;
+}
+.swagger-ui .fw6 {
+ font-weight: 600;
+}
+.swagger-ui .fw7 {
+ font-weight: 700;
+}
+.swagger-ui .fw8 {
+ font-weight: 800;
+}
+.swagger-ui .fw9 {
+ font-weight: 900;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .normal-ns {
+ font-weight: 400;
+ }
+ .swagger-ui .b-ns {
+ font-weight: 700;
+ }
+ .swagger-ui .fw1-ns {
+ font-weight: 100;
+ }
+ .swagger-ui .fw2-ns {
+ font-weight: 200;
+ }
+ .swagger-ui .fw3-ns {
+ font-weight: 300;
+ }
+ .swagger-ui .fw4-ns {
+ font-weight: 400;
+ }
+ .swagger-ui .fw5-ns {
+ font-weight: 500;
+ }
+ .swagger-ui .fw6-ns {
+ font-weight: 600;
+ }
+ .swagger-ui .fw7-ns {
+ font-weight: 700;
+ }
+ .swagger-ui .fw8-ns {
+ font-weight: 800;
+ }
+ .swagger-ui .fw9-ns {
+ font-weight: 900;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .normal-m {
+ font-weight: 400;
+ }
+ .swagger-ui .b-m {
+ font-weight: 700;
+ }
+ .swagger-ui .fw1-m {
+ font-weight: 100;
+ }
+ .swagger-ui .fw2-m {
+ font-weight: 200;
+ }
+ .swagger-ui .fw3-m {
+ font-weight: 300;
+ }
+ .swagger-ui .fw4-m {
+ font-weight: 400;
+ }
+ .swagger-ui .fw5-m {
+ font-weight: 500;
+ }
+ .swagger-ui .fw6-m {
+ font-weight: 600;
+ }
+ .swagger-ui .fw7-m {
+ font-weight: 700;
+ }
+ .swagger-ui .fw8-m {
+ font-weight: 800;
+ }
+ .swagger-ui .fw9-m {
+ font-weight: 900;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .normal-l {
+ font-weight: 400;
+ }
+ .swagger-ui .b-l {
+ font-weight: 700;
+ }
+ .swagger-ui .fw1-l {
+ font-weight: 100;
+ }
+ .swagger-ui .fw2-l {
+ font-weight: 200;
+ }
+ .swagger-ui .fw3-l {
+ font-weight: 300;
+ }
+ .swagger-ui .fw4-l {
+ font-weight: 400;
+ }
+ .swagger-ui .fw5-l {
+ font-weight: 500;
+ }
+ .swagger-ui .fw6-l {
+ font-weight: 600;
+ }
+ .swagger-ui .fw7-l {
+ font-weight: 700;
+ }
+ .swagger-ui .fw8-l {
+ font-weight: 800;
+ }
+ .swagger-ui .fw9-l {
+ font-weight: 900;
+ }
+}
+.swagger-ui .input-reset {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+}
+.swagger-ui .button-reset::-moz-focus-inner,
+.swagger-ui .input-reset::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+.swagger-ui .h1 {
+ height: 1rem;
+}
+.swagger-ui .h2 {
+ height: 2rem;
+}
+.swagger-ui .h3 {
+ height: 4rem;
+}
+.swagger-ui .h4 {
+ height: 8rem;
+}
+.swagger-ui .h5 {
+ height: 16rem;
+}
+.swagger-ui .h-25 {
+ height: 25%;
+}
+.swagger-ui .h-50 {
+ height: 50%;
+}
+.swagger-ui .h-75 {
+ height: 75%;
+}
+.swagger-ui .h-100 {
+ height: 100%;
+}
+.swagger-ui .min-h-100 {
+ min-height: 100%;
+}
+.swagger-ui .vh-25 {
+ height: 25vh;
+}
+.swagger-ui .vh-50 {
+ height: 50vh;
+}
+.swagger-ui .vh-75 {
+ height: 75vh;
+}
+.swagger-ui .vh-100 {
+ height: 100vh;
+}
+.swagger-ui .min-vh-100 {
+ min-height: 100vh;
+}
+.swagger-ui .h-auto {
+ height: auto;
+}
+.swagger-ui .h-inherit {
+ height: inherit;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .h1-ns {
+ height: 1rem;
+ }
+ .swagger-ui .h2-ns {
+ height: 2rem;
+ }
+ .swagger-ui .h3-ns {
+ height: 4rem;
+ }
+ .swagger-ui .h4-ns {
+ height: 8rem;
+ }
+ .swagger-ui .h5-ns {
+ height: 16rem;
+ }
+ .swagger-ui .h-25-ns {
+ height: 25%;
+ }
+ .swagger-ui .h-50-ns {
+ height: 50%;
+ }
+ .swagger-ui .h-75-ns {
+ height: 75%;
+ }
+ .swagger-ui .h-100-ns {
+ height: 100%;
+ }
+ .swagger-ui .min-h-100-ns {
+ min-height: 100%;
+ }
+ .swagger-ui .vh-25-ns {
+ height: 25vh;
+ }
+ .swagger-ui .vh-50-ns {
+ height: 50vh;
+ }
+ .swagger-ui .vh-75-ns {
+ height: 75vh;
+ }
+ .swagger-ui .vh-100-ns {
+ height: 100vh;
+ }
+ .swagger-ui .min-vh-100-ns {
+ min-height: 100vh;
+ }
+ .swagger-ui .h-auto-ns {
+ height: auto;
+ }
+ .swagger-ui .h-inherit-ns {
+ height: inherit;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .h1-m {
+ height: 1rem;
+ }
+ .swagger-ui .h2-m {
+ height: 2rem;
+ }
+ .swagger-ui .h3-m {
+ height: 4rem;
+ }
+ .swagger-ui .h4-m {
+ height: 8rem;
+ }
+ .swagger-ui .h5-m {
+ height: 16rem;
+ }
+ .swagger-ui .h-25-m {
+ height: 25%;
+ }
+ .swagger-ui .h-50-m {
+ height: 50%;
+ }
+ .swagger-ui .h-75-m {
+ height: 75%;
+ }
+ .swagger-ui .h-100-m {
+ height: 100%;
+ }
+ .swagger-ui .min-h-100-m {
+ min-height: 100%;
+ }
+ .swagger-ui .vh-25-m {
+ height: 25vh;
+ }
+ .swagger-ui .vh-50-m {
+ height: 50vh;
+ }
+ .swagger-ui .vh-75-m {
+ height: 75vh;
+ }
+ .swagger-ui .vh-100-m {
+ height: 100vh;
+ }
+ .swagger-ui .min-vh-100-m {
+ min-height: 100vh;
+ }
+ .swagger-ui .h-auto-m {
+ height: auto;
+ }
+ .swagger-ui .h-inherit-m {
+ height: inherit;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .h1-l {
+ height: 1rem;
+ }
+ .swagger-ui .h2-l {
+ height: 2rem;
+ }
+ .swagger-ui .h3-l {
+ height: 4rem;
+ }
+ .swagger-ui .h4-l {
+ height: 8rem;
+ }
+ .swagger-ui .h5-l {
+ height: 16rem;
+ }
+ .swagger-ui .h-25-l {
+ height: 25%;
+ }
+ .swagger-ui .h-50-l {
+ height: 50%;
+ }
+ .swagger-ui .h-75-l {
+ height: 75%;
+ }
+ .swagger-ui .h-100-l {
+ height: 100%;
+ }
+ .swagger-ui .min-h-100-l {
+ min-height: 100%;
+ }
+ .swagger-ui .vh-25-l {
+ height: 25vh;
+ }
+ .swagger-ui .vh-50-l {
+ height: 50vh;
+ }
+ .swagger-ui .vh-75-l {
+ height: 75vh;
+ }
+ .swagger-ui .vh-100-l {
+ height: 100vh;
+ }
+ .swagger-ui .min-vh-100-l {
+ min-height: 100vh;
+ }
+ .swagger-ui .h-auto-l {
+ height: auto;
+ }
+ .swagger-ui .h-inherit-l {
+ height: inherit;
+ }
+}
+.swagger-ui .tracked {
+ letter-spacing: 0.1em;
+}
+.swagger-ui .tracked-tight {
+ letter-spacing: -0.05em;
+}
+.swagger-ui .tracked-mega {
+ letter-spacing: 0.25em;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .tracked-ns {
+ letter-spacing: 0.1em;
+ }
+ .swagger-ui .tracked-tight-ns {
+ letter-spacing: -0.05em;
+ }
+ .swagger-ui .tracked-mega-ns {
+ letter-spacing: 0.25em;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .tracked-m {
+ letter-spacing: 0.1em;
+ }
+ .swagger-ui .tracked-tight-m {
+ letter-spacing: -0.05em;
+ }
+ .swagger-ui .tracked-mega-m {
+ letter-spacing: 0.25em;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .tracked-l {
+ letter-spacing: 0.1em;
+ }
+ .swagger-ui .tracked-tight-l {
+ letter-spacing: -0.05em;
+ }
+ .swagger-ui .tracked-mega-l {
+ letter-spacing: 0.25em;
+ }
+}
+.swagger-ui .lh-solid {
+ line-height: 1;
+}
+.swagger-ui .lh-title {
+ line-height: 1.25;
+}
+.swagger-ui .lh-copy {
+ line-height: 1.5;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .lh-solid-ns {
+ line-height: 1;
+ }
+ .swagger-ui .lh-title-ns {
+ line-height: 1.25;
+ }
+ .swagger-ui .lh-copy-ns {
+ line-height: 1.5;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .lh-solid-m {
+ line-height: 1;
+ }
+ .swagger-ui .lh-title-m {
+ line-height: 1.25;
+ }
+ .swagger-ui .lh-copy-m {
+ line-height: 1.5;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .lh-solid-l {
+ line-height: 1;
+ }
+ .swagger-ui .lh-title-l {
+ line-height: 1.25;
+ }
+ .swagger-ui .lh-copy-l {
+ line-height: 1.5;
+ }
+}
+.swagger-ui .link {
+ -webkit-text-decoration: none;
+ text-decoration: none;
+}
+.swagger-ui .link,
+.swagger-ui .link:active,
+.swagger-ui .link:focus,
+.swagger-ui .link:hover,
+.swagger-ui .link:link,
+.swagger-ui .link:visited {
+ transition: color 0.15s ease-in;
+}
+.swagger-ui .link:focus {
+ outline: 1px dotted currentColor;
+}
+.swagger-ui .list {
+ list-style-type: none;
+}
+.swagger-ui .mw-100 {
+ max-width: 100%;
+}
+.swagger-ui .mw1 {
+ max-width: 1rem;
+}
+.swagger-ui .mw2 {
+ max-width: 2rem;
+}
+.swagger-ui .mw3 {
+ max-width: 4rem;
+}
+.swagger-ui .mw4 {
+ max-width: 8rem;
+}
+.swagger-ui .mw5 {
+ max-width: 16rem;
+}
+.swagger-ui .mw6 {
+ max-width: 32rem;
+}
+.swagger-ui .mw7 {
+ max-width: 48rem;
+}
+.swagger-ui .mw8 {
+ max-width: 64rem;
+}
+.swagger-ui .mw9 {
+ max-width: 96rem;
+}
+.swagger-ui .mw-none {
+ max-width: none;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .mw-100-ns {
+ max-width: 100%;
+ }
+ .swagger-ui .mw1-ns {
+ max-width: 1rem;
+ }
+ .swagger-ui .mw2-ns {
+ max-width: 2rem;
+ }
+ .swagger-ui .mw3-ns {
+ max-width: 4rem;
+ }
+ .swagger-ui .mw4-ns {
+ max-width: 8rem;
+ }
+ .swagger-ui .mw5-ns {
+ max-width: 16rem;
+ }
+ .swagger-ui .mw6-ns {
+ max-width: 32rem;
+ }
+ .swagger-ui .mw7-ns {
+ max-width: 48rem;
+ }
+ .swagger-ui .mw8-ns {
+ max-width: 64rem;
+ }
+ .swagger-ui .mw9-ns {
+ max-width: 96rem;
+ }
+ .swagger-ui .mw-none-ns {
+ max-width: none;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .mw-100-m {
+ max-width: 100%;
+ }
+ .swagger-ui .mw1-m {
+ max-width: 1rem;
+ }
+ .swagger-ui .mw2-m {
+ max-width: 2rem;
+ }
+ .swagger-ui .mw3-m {
+ max-width: 4rem;
+ }
+ .swagger-ui .mw4-m {
+ max-width: 8rem;
+ }
+ .swagger-ui .mw5-m {
+ max-width: 16rem;
+ }
+ .swagger-ui .mw6-m {
+ max-width: 32rem;
+ }
+ .swagger-ui .mw7-m {
+ max-width: 48rem;
+ }
+ .swagger-ui .mw8-m {
+ max-width: 64rem;
+ }
+ .swagger-ui .mw9-m {
+ max-width: 96rem;
+ }
+ .swagger-ui .mw-none-m {
+ max-width: none;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .mw-100-l {
+ max-width: 100%;
+ }
+ .swagger-ui .mw1-l {
+ max-width: 1rem;
+ }
+ .swagger-ui .mw2-l {
+ max-width: 2rem;
+ }
+ .swagger-ui .mw3-l {
+ max-width: 4rem;
+ }
+ .swagger-ui .mw4-l {
+ max-width: 8rem;
+ }
+ .swagger-ui .mw5-l {
+ max-width: 16rem;
+ }
+ .swagger-ui .mw6-l {
+ max-width: 32rem;
+ }
+ .swagger-ui .mw7-l {
+ max-width: 48rem;
+ }
+ .swagger-ui .mw8-l {
+ max-width: 64rem;
+ }
+ .swagger-ui .mw9-l {
+ max-width: 96rem;
+ }
+ .swagger-ui .mw-none-l {
+ max-width: none;
+ }
+}
+.swagger-ui .w1 {
+ width: 1rem;
+}
+.swagger-ui .w2 {
+ width: 2rem;
+}
+.swagger-ui .w3 {
+ width: 4rem;
+}
+.swagger-ui .w4 {
+ width: 8rem;
+}
+.swagger-ui .w5 {
+ width: 16rem;
+}
+.swagger-ui .w-10 {
+ width: 10%;
+}
+.swagger-ui .w-20 {
+ width: 20%;
+}
+.swagger-ui .w-25 {
+ width: 25%;
+}
+.swagger-ui .w-30 {
+ width: 30%;
+}
+.swagger-ui .w-33 {
+ width: 33%;
+}
+.swagger-ui .w-34 {
+ width: 34%;
+}
+.swagger-ui .w-40 {
+ width: 40%;
+}
+.swagger-ui .w-50 {
+ width: 50%;
+}
+.swagger-ui .w-60 {
+ width: 60%;
+}
+.swagger-ui .w-70 {
+ width: 70%;
+}
+.swagger-ui .w-75 {
+ width: 75%;
+}
+.swagger-ui .w-80 {
+ width: 80%;
+}
+.swagger-ui .w-90 {
+ width: 90%;
+}
+.swagger-ui .w-100 {
+ width: 100%;
+}
+.swagger-ui .w-third {
+ width: 33.3333333333%;
+}
+.swagger-ui .w-two-thirds {
+ width: 66.6666666667%;
+}
+.swagger-ui .w-auto {
+ width: auto;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .w1-ns {
+ width: 1rem;
+ }
+ .swagger-ui .w2-ns {
+ width: 2rem;
+ }
+ .swagger-ui .w3-ns {
+ width: 4rem;
+ }
+ .swagger-ui .w4-ns {
+ width: 8rem;
+ }
+ .swagger-ui .w5-ns {
+ width: 16rem;
+ }
+ .swagger-ui .w-10-ns {
+ width: 10%;
+ }
+ .swagger-ui .w-20-ns {
+ width: 20%;
+ }
+ .swagger-ui .w-25-ns {
+ width: 25%;
+ }
+ .swagger-ui .w-30-ns {
+ width: 30%;
+ }
+ .swagger-ui .w-33-ns {
+ width: 33%;
+ }
+ .swagger-ui .w-34-ns {
+ width: 34%;
+ }
+ .swagger-ui .w-40-ns {
+ width: 40%;
+ }
+ .swagger-ui .w-50-ns {
+ width: 50%;
+ }
+ .swagger-ui .w-60-ns {
+ width: 60%;
+ }
+ .swagger-ui .w-70-ns {
+ width: 70%;
+ }
+ .swagger-ui .w-75-ns {
+ width: 75%;
+ }
+ .swagger-ui .w-80-ns {
+ width: 80%;
+ }
+ .swagger-ui .w-90-ns {
+ width: 90%;
+ }
+ .swagger-ui .w-100-ns {
+ width: 100%;
+ }
+ .swagger-ui .w-third-ns {
+ width: 33.3333333333%;
+ }
+ .swagger-ui .w-two-thirds-ns {
+ width: 66.6666666667%;
+ }
+ .swagger-ui .w-auto-ns {
+ width: auto;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .w1-m {
+ width: 1rem;
+ }
+ .swagger-ui .w2-m {
+ width: 2rem;
+ }
+ .swagger-ui .w3-m {
+ width: 4rem;
+ }
+ .swagger-ui .w4-m {
+ width: 8rem;
+ }
+ .swagger-ui .w5-m {
+ width: 16rem;
+ }
+ .swagger-ui .w-10-m {
+ width: 10%;
+ }
+ .swagger-ui .w-20-m {
+ width: 20%;
+ }
+ .swagger-ui .w-25-m {
+ width: 25%;
+ }
+ .swagger-ui .w-30-m {
+ width: 30%;
+ }
+ .swagger-ui .w-33-m {
+ width: 33%;
+ }
+ .swagger-ui .w-34-m {
+ width: 34%;
+ }
+ .swagger-ui .w-40-m {
+ width: 40%;
+ }
+ .swagger-ui .w-50-m {
+ width: 50%;
+ }
+ .swagger-ui .w-60-m {
+ width: 60%;
+ }
+ .swagger-ui .w-70-m {
+ width: 70%;
+ }
+ .swagger-ui .w-75-m {
+ width: 75%;
+ }
+ .swagger-ui .w-80-m {
+ width: 80%;
+ }
+ .swagger-ui .w-90-m {
+ width: 90%;
+ }
+ .swagger-ui .w-100-m {
+ width: 100%;
+ }
+ .swagger-ui .w-third-m {
+ width: 33.3333333333%;
+ }
+ .swagger-ui .w-two-thirds-m {
+ width: 66.6666666667%;
+ }
+ .swagger-ui .w-auto-m {
+ width: auto;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .w1-l {
+ width: 1rem;
+ }
+ .swagger-ui .w2-l {
+ width: 2rem;
+ }
+ .swagger-ui .w3-l {
+ width: 4rem;
+ }
+ .swagger-ui .w4-l {
+ width: 8rem;
+ }
+ .swagger-ui .w5-l {
+ width: 16rem;
+ }
+ .swagger-ui .w-10-l {
+ width: 10%;
+ }
+ .swagger-ui .w-20-l {
+ width: 20%;
+ }
+ .swagger-ui .w-25-l {
+ width: 25%;
+ }
+ .swagger-ui .w-30-l {
+ width: 30%;
+ }
+ .swagger-ui .w-33-l {
+ width: 33%;
+ }
+ .swagger-ui .w-34-l {
+ width: 34%;
+ }
+ .swagger-ui .w-40-l {
+ width: 40%;
+ }
+ .swagger-ui .w-50-l {
+ width: 50%;
+ }
+ .swagger-ui .w-60-l {
+ width: 60%;
+ }
+ .swagger-ui .w-70-l {
+ width: 70%;
+ }
+ .swagger-ui .w-75-l {
+ width: 75%;
+ }
+ .swagger-ui .w-80-l {
+ width: 80%;
+ }
+ .swagger-ui .w-90-l {
+ width: 90%;
+ }
+ .swagger-ui .w-100-l {
+ width: 100%;
+ }
+ .swagger-ui .w-third-l {
+ width: 33.3333333333%;
+ }
+ .swagger-ui .w-two-thirds-l {
+ width: 66.6666666667%;
+ }
+ .swagger-ui .w-auto-l {
+ width: auto;
+ }
+}
+.swagger-ui .overflow-visible {
+ overflow: visible;
+}
+.swagger-ui .overflow-hidden {
+ overflow: hidden;
+}
+.swagger-ui .overflow-scroll {
+ overflow: scroll;
+}
+.swagger-ui .overflow-auto {
+ overflow: auto;
+}
+.swagger-ui .overflow-x-visible {
+ overflow-x: visible;
+}
+.swagger-ui .overflow-x-hidden {
+ overflow-x: hidden;
+}
+.swagger-ui .overflow-x-scroll {
+ overflow-x: scroll;
+}
+.swagger-ui .overflow-x-auto {
+ overflow-x: auto;
+}
+.swagger-ui .overflow-y-visible {
+ overflow-y: visible;
+}
+.swagger-ui .overflow-y-hidden {
+ overflow-y: hidden;
+}
+.swagger-ui .overflow-y-scroll {
+ overflow-y: scroll;
+}
+.swagger-ui .overflow-y-auto {
+ overflow-y: auto;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .overflow-visible-ns {
+ overflow: visible;
+ }
+ .swagger-ui .overflow-hidden-ns {
+ overflow: hidden;
+ }
+ .swagger-ui .overflow-scroll-ns {
+ overflow: scroll;
+ }
+ .swagger-ui .overflow-auto-ns {
+ overflow: auto;
+ }
+ .swagger-ui .overflow-x-visible-ns {
+ overflow-x: visible;
+ }
+ .swagger-ui .overflow-x-hidden-ns {
+ overflow-x: hidden;
+ }
+ .swagger-ui .overflow-x-scroll-ns {
+ overflow-x: scroll;
+ }
+ .swagger-ui .overflow-x-auto-ns {
+ overflow-x: auto;
+ }
+ .swagger-ui .overflow-y-visible-ns {
+ overflow-y: visible;
+ }
+ .swagger-ui .overflow-y-hidden-ns {
+ overflow-y: hidden;
+ }
+ .swagger-ui .overflow-y-scroll-ns {
+ overflow-y: scroll;
+ }
+ .swagger-ui .overflow-y-auto-ns {
+ overflow-y: auto;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .overflow-visible-m {
+ overflow: visible;
+ }
+ .swagger-ui .overflow-hidden-m {
+ overflow: hidden;
+ }
+ .swagger-ui .overflow-scroll-m {
+ overflow: scroll;
+ }
+ .swagger-ui .overflow-auto-m {
+ overflow: auto;
+ }
+ .swagger-ui .overflow-x-visible-m {
+ overflow-x: visible;
+ }
+ .swagger-ui .overflow-x-hidden-m {
+ overflow-x: hidden;
+ }
+ .swagger-ui .overflow-x-scroll-m {
+ overflow-x: scroll;
+ }
+ .swagger-ui .overflow-x-auto-m {
+ overflow-x: auto;
+ }
+ .swagger-ui .overflow-y-visible-m {
+ overflow-y: visible;
+ }
+ .swagger-ui .overflow-y-hidden-m {
+ overflow-y: hidden;
+ }
+ .swagger-ui .overflow-y-scroll-m {
+ overflow-y: scroll;
+ }
+ .swagger-ui .overflow-y-auto-m {
+ overflow-y: auto;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .overflow-visible-l {
+ overflow: visible;
+ }
+ .swagger-ui .overflow-hidden-l {
+ overflow: hidden;
+ }
+ .swagger-ui .overflow-scroll-l {
+ overflow: scroll;
+ }
+ .swagger-ui .overflow-auto-l {
+ overflow: auto;
+ }
+ .swagger-ui .overflow-x-visible-l {
+ overflow-x: visible;
+ }
+ .swagger-ui .overflow-x-hidden-l {
+ overflow-x: hidden;
+ }
+ .swagger-ui .overflow-x-scroll-l {
+ overflow-x: scroll;
+ }
+ .swagger-ui .overflow-x-auto-l {
+ overflow-x: auto;
+ }
+ .swagger-ui .overflow-y-visible-l {
+ overflow-y: visible;
+ }
+ .swagger-ui .overflow-y-hidden-l {
+ overflow-y: hidden;
+ }
+ .swagger-ui .overflow-y-scroll-l {
+ overflow-y: scroll;
+ }
+ .swagger-ui .overflow-y-auto-l {
+ overflow-y: auto;
+ }
+}
+.swagger-ui .static {
+ position: static;
+}
+.swagger-ui .relative {
+ position: relative;
+}
+.swagger-ui .absolute {
+ position: absolute;
+}
+.swagger-ui .fixed {
+ position: fixed;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .static-ns {
+ position: static;
+ }
+ .swagger-ui .relative-ns {
+ position: relative;
+ }
+ .swagger-ui .absolute-ns {
+ position: absolute;
+ }
+ .swagger-ui .fixed-ns {
+ position: fixed;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .static-m {
+ position: static;
+ }
+ .swagger-ui .relative-m {
+ position: relative;
+ }
+ .swagger-ui .absolute-m {
+ position: absolute;
+ }
+ .swagger-ui .fixed-m {
+ position: fixed;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .static-l {
+ position: static;
+ }
+ .swagger-ui .relative-l {
+ position: relative;
+ }
+ .swagger-ui .absolute-l {
+ position: absolute;
+ }
+ .swagger-ui .fixed-l {
+ position: fixed;
+ }
+}
+.swagger-ui .o-100 {
+ opacity: 1;
+}
+.swagger-ui .o-90 {
+ opacity: 0.9;
+}
+.swagger-ui .o-80 {
+ opacity: 0.8;
+}
+.swagger-ui .o-70 {
+ opacity: 0.7;
+}
+.swagger-ui .o-60 {
+ opacity: 0.6;
+}
+.swagger-ui .o-50 {
+ opacity: 0.5;
+}
+.swagger-ui .o-40 {
+ opacity: 0.4;
+}
+.swagger-ui .o-30 {
+ opacity: 0.3;
+}
+.swagger-ui .o-20 {
+ opacity: 0.2;
+}
+.swagger-ui .o-10 {
+ opacity: 0.1;
+}
+.swagger-ui .o-05 {
+ opacity: 0.05;
+}
+.swagger-ui .o-025 {
+ opacity: 0.025;
+}
+.swagger-ui .o-0 {
+ opacity: 0;
+}
+.swagger-ui .rotate-45 {
+ transform: rotate(45deg);
+}
+.swagger-ui .rotate-90 {
+ transform: rotate(90deg);
+}
+.swagger-ui .rotate-135 {
+ transform: rotate(135deg);
+}
+.swagger-ui .rotate-180 {
+ transform: rotate(180deg);
+}
+.swagger-ui .rotate-225 {
+ transform: rotate(225deg);
+}
+.swagger-ui .rotate-270 {
+ transform: rotate(270deg);
+}
+.swagger-ui .rotate-315 {
+ transform: rotate(315deg);
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .rotate-45-ns {
+ transform: rotate(45deg);
+ }
+ .swagger-ui .rotate-90-ns {
+ transform: rotate(90deg);
+ }
+ .swagger-ui .rotate-135-ns {
+ transform: rotate(135deg);
+ }
+ .swagger-ui .rotate-180-ns {
+ transform: rotate(180deg);
+ }
+ .swagger-ui .rotate-225-ns {
+ transform: rotate(225deg);
+ }
+ .swagger-ui .rotate-270-ns {
+ transform: rotate(270deg);
+ }
+ .swagger-ui .rotate-315-ns {
+ transform: rotate(315deg);
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .rotate-45-m {
+ transform: rotate(45deg);
+ }
+ .swagger-ui .rotate-90-m {
+ transform: rotate(90deg);
+ }
+ .swagger-ui .rotate-135-m {
+ transform: rotate(135deg);
+ }
+ .swagger-ui .rotate-180-m {
+ transform: rotate(180deg);
+ }
+ .swagger-ui .rotate-225-m {
+ transform: rotate(225deg);
+ }
+ .swagger-ui .rotate-270-m {
+ transform: rotate(270deg);
+ }
+ .swagger-ui .rotate-315-m {
+ transform: rotate(315deg);
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .rotate-45-l {
+ transform: rotate(45deg);
+ }
+ .swagger-ui .rotate-90-l {
+ transform: rotate(90deg);
+ }
+ .swagger-ui .rotate-135-l {
+ transform: rotate(135deg);
+ }
+ .swagger-ui .rotate-180-l {
+ transform: rotate(180deg);
+ }
+ .swagger-ui .rotate-225-l {
+ transform: rotate(225deg);
+ }
+ .swagger-ui .rotate-270-l {
+ transform: rotate(270deg);
+ }
+ .swagger-ui .rotate-315-l {
+ transform: rotate(315deg);
+ }
+}
+.swagger-ui .black-90 {
+ color: rgba(0, 0, 0, 0.9);
+}
+.swagger-ui .black-80 {
+ color: rgba(0, 0, 0, 0.8);
+}
+.swagger-ui .black-70 {
+ color: rgba(0, 0, 0, 0.7);
+}
+.swagger-ui .black-60 {
+ color: rgba(0, 0, 0, 0.6);
+}
+.swagger-ui .black-50 {
+ color: rgba(0, 0, 0, 0.5);
+}
+.swagger-ui .black-40 {
+ color: rgba(0, 0, 0, 0.4);
+}
+.swagger-ui .black-30 {
+ color: rgba(0, 0, 0, 0.3);
+}
+.swagger-ui .black-20 {
+ color: rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .black-10 {
+ color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .black-05 {
+ color: rgba(0, 0, 0, 0.05);
+}
+.swagger-ui .white-90 {
+ color: hsla(0, 0%, 100%, 0.9);
+}
+.swagger-ui .white-80 {
+ color: hsla(0, 0%, 100%, 0.8);
+}
+.swagger-ui .white-70 {
+ color: hsla(0, 0%, 100%, 0.7);
+}
+.swagger-ui .white-60 {
+ color: hsla(0, 0%, 100%, 0.6);
+}
+.swagger-ui .white-50 {
+ color: hsla(0, 0%, 100%, 0.5);
+}
+.swagger-ui .white-40 {
+ color: hsla(0, 0%, 100%, 0.4);
+}
+.swagger-ui .white-30 {
+ color: hsla(0, 0%, 100%, 0.3);
+}
+.swagger-ui .white-20 {
+ color: hsla(0, 0%, 100%, 0.2);
+}
+.swagger-ui .white-10 {
+ color: hsla(0, 0%, 100%, 0.1);
+}
+.swagger-ui .black {
+ color: #000;
+}
+.swagger-ui .near-black {
+ color: #111;
+}
+.swagger-ui .dark-gray {
+ color: #333;
+}
+.swagger-ui .mid-gray {
+ color: #555;
+}
+.swagger-ui .gray {
+ color: #777;
+}
+.swagger-ui .silver {
+ color: #999;
+}
+.swagger-ui .light-silver {
+ color: #aaa;
+}
+.swagger-ui .moon-gray {
+ color: #ccc;
+}
+.swagger-ui .light-gray {
+ color: #eee;
+}
+.swagger-ui .near-white {
+ color: #f4f4f4;
+}
+.swagger-ui .white {
+ color: #fff;
+}
+.swagger-ui .dark-red {
+ color: #e7040f;
+}
+.swagger-ui .red {
+ color: #ff4136;
+}
+.swagger-ui .light-red {
+ color: #ff725c;
+}
+.swagger-ui .orange {
+ color: #ff6300;
+}
+.swagger-ui .gold {
+ color: #ffb700;
+}
+.swagger-ui .yellow {
+ color: gold;
+}
+.swagger-ui .light-yellow {
+ color: #fbf1a9;
+}
+.swagger-ui .purple {
+ color: #5e2ca5;
+}
+.swagger-ui .light-purple {
+ color: #a463f2;
+}
+.swagger-ui .dark-pink {
+ color: #d5008f;
+}
+.swagger-ui .hot-pink {
+ color: #ff41b4;
+}
+.swagger-ui .pink {
+ color: #ff80cc;
+}
+.swagger-ui .light-pink {
+ color: #ffa3d7;
+}
+.swagger-ui .dark-green {
+ color: #137752;
+}
+.swagger-ui .green {
+ color: #19a974;
+}
+.swagger-ui .light-green {
+ color: #9eebcf;
+}
+.swagger-ui .navy {
+ color: #001b44;
+}
+.swagger-ui .dark-blue {
+ color: #00449e;
+}
+.swagger-ui .blue {
+ color: #357edd;
+}
+.swagger-ui .light-blue {
+ color: #96ccff;
+}
+.swagger-ui .lightest-blue {
+ color: #cdecff;
+}
+.swagger-ui .washed-blue {
+ color: #f6fffe;
+}
+.swagger-ui .washed-green {
+ color: #e8fdf5;
+}
+.swagger-ui .washed-yellow {
+ color: #fffceb;
+}
+.swagger-ui .washed-red {
+ color: #ffdfdf;
+}
+.swagger-ui .color-inherit {
+ color: inherit;
+}
+.swagger-ui .bg-black-90 {
+ background-color: rgba(0, 0, 0, 0.9);
+}
+.swagger-ui .bg-black-80 {
+ background-color: rgba(0, 0, 0, 0.8);
+}
+.swagger-ui .bg-black-70 {
+ background-color: rgba(0, 0, 0, 0.7);
+}
+.swagger-ui .bg-black-60 {
+ background-color: rgba(0, 0, 0, 0.6);
+}
+.swagger-ui .bg-black-50 {
+ background-color: rgba(0, 0, 0, 0.5);
+}
+.swagger-ui .bg-black-40 {
+ background-color: rgba(0, 0, 0, 0.4);
+}
+.swagger-ui .bg-black-30 {
+ background-color: rgba(0, 0, 0, 0.3);
+}
+.swagger-ui .bg-black-20 {
+ background-color: rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .bg-black-10 {
+ background-color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .bg-black-05 {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+.swagger-ui .bg-white-90 {
+ background-color: hsla(0, 0%, 100%, 0.9);
+}
+.swagger-ui .bg-white-80 {
+ background-color: hsla(0, 0%, 100%, 0.8);
+}
+.swagger-ui .bg-white-70 {
+ background-color: hsla(0, 0%, 100%, 0.7);
+}
+.swagger-ui .bg-white-60 {
+ background-color: hsla(0, 0%, 100%, 0.6);
+}
+.swagger-ui .bg-white-50 {
+ background-color: hsla(0, 0%, 100%, 0.5);
+}
+.swagger-ui .bg-white-40 {
+ background-color: hsla(0, 0%, 100%, 0.4);
+}
+.swagger-ui .bg-white-30 {
+ background-color: hsla(0, 0%, 100%, 0.3);
+}
+.swagger-ui .bg-white-20 {
+ background-color: hsla(0, 0%, 100%, 0.2);
+}
+.swagger-ui .bg-white-10 {
+ background-color: hsla(0, 0%, 100%, 0.1);
+}
+.swagger-ui .bg-black {
+ background-color: #000;
+}
+.swagger-ui .bg-near-black {
+ background-color: #111;
+}
+.swagger-ui .bg-dark-gray {
+ background-color: #333;
+}
+.swagger-ui .bg-mid-gray {
+ background-color: #555;
+}
+.swagger-ui .bg-gray {
+ background-color: #777;
+}
+.swagger-ui .bg-silver {
+ background-color: #999;
+}
+.swagger-ui .bg-light-silver {
+ background-color: #aaa;
+}
+.swagger-ui .bg-moon-gray {
+ background-color: #ccc;
+}
+.swagger-ui .bg-light-gray {
+ background-color: #eee;
+}
+.swagger-ui .bg-near-white {
+ background-color: #f4f4f4;
+}
+.swagger-ui .bg-white {
+ background-color: #fff;
+}
+.swagger-ui .bg-transparent {
+ background-color: transparent;
+}
+.swagger-ui .bg-dark-red {
+ background-color: #e7040f;
+}
+.swagger-ui .bg-red {
+ background-color: #ff4136;
+}
+.swagger-ui .bg-light-red {
+ background-color: #ff725c;
+}
+.swagger-ui .bg-orange {
+ background-color: #ff6300;
+}
+.swagger-ui .bg-gold {
+ background-color: #ffb700;
+}
+.swagger-ui .bg-yellow {
+ background-color: gold;
+}
+.swagger-ui .bg-light-yellow {
+ background-color: #fbf1a9;
+}
+.swagger-ui .bg-purple {
+ background-color: #5e2ca5;
+}
+.swagger-ui .bg-light-purple {
+ background-color: #a463f2;
+}
+.swagger-ui .bg-dark-pink {
+ background-color: #d5008f;
+}
+.swagger-ui .bg-hot-pink {
+ background-color: #ff41b4;
+}
+.swagger-ui .bg-pink {
+ background-color: #ff80cc;
+}
+.swagger-ui .bg-light-pink {
+ background-color: #ffa3d7;
+}
+.swagger-ui .bg-dark-green {
+ background-color: #137752;
+}
+.swagger-ui .bg-green {
+ background-color: #19a974;
+}
+.swagger-ui .bg-light-green {
+ background-color: #9eebcf;
+}
+.swagger-ui .bg-navy {
+ background-color: #001b44;
+}
+.swagger-ui .bg-dark-blue {
+ background-color: #00449e;
+}
+.swagger-ui .bg-blue {
+ background-color: #357edd;
+}
+.swagger-ui .bg-light-blue {
+ background-color: #96ccff;
+}
+.swagger-ui .bg-lightest-blue {
+ background-color: #cdecff;
+}
+.swagger-ui .bg-washed-blue {
+ background-color: #f6fffe;
+}
+.swagger-ui .bg-washed-green {
+ background-color: #e8fdf5;
+}
+.swagger-ui .bg-washed-yellow {
+ background-color: #fffceb;
+}
+.swagger-ui .bg-washed-red {
+ background-color: #ffdfdf;
+}
+.swagger-ui .bg-inherit {
+ background-color: inherit;
+}
+.swagger-ui .hover-black:focus,
+.swagger-ui .hover-black:hover {
+ color: #000;
+}
+.swagger-ui .hover-near-black:focus,
+.swagger-ui .hover-near-black:hover {
+ color: #111;
+}
+.swagger-ui .hover-dark-gray:focus,
+.swagger-ui .hover-dark-gray:hover {
+ color: #333;
+}
+.swagger-ui .hover-mid-gray:focus,
+.swagger-ui .hover-mid-gray:hover {
+ color: #555;
+}
+.swagger-ui .hover-gray:focus,
+.swagger-ui .hover-gray:hover {
+ color: #777;
+}
+.swagger-ui .hover-silver:focus,
+.swagger-ui .hover-silver:hover {
+ color: #999;
+}
+.swagger-ui .hover-light-silver:focus,
+.swagger-ui .hover-light-silver:hover {
+ color: #aaa;
+}
+.swagger-ui .hover-moon-gray:focus,
+.swagger-ui .hover-moon-gray:hover {
+ color: #ccc;
+}
+.swagger-ui .hover-light-gray:focus,
+.swagger-ui .hover-light-gray:hover {
+ color: #eee;
+}
+.swagger-ui .hover-near-white:focus,
+.swagger-ui .hover-near-white:hover {
+ color: #f4f4f4;
+}
+.swagger-ui .hover-white:focus,
+.swagger-ui .hover-white:hover {
+ color: #fff;
+}
+.swagger-ui .hover-black-90:focus,
+.swagger-ui .hover-black-90:hover {
+ color: rgba(0, 0, 0, 0.9);
+}
+.swagger-ui .hover-black-80:focus,
+.swagger-ui .hover-black-80:hover {
+ color: rgba(0, 0, 0, 0.8);
+}
+.swagger-ui .hover-black-70:focus,
+.swagger-ui .hover-black-70:hover {
+ color: rgba(0, 0, 0, 0.7);
+}
+.swagger-ui .hover-black-60:focus,
+.swagger-ui .hover-black-60:hover {
+ color: rgba(0, 0, 0, 0.6);
+}
+.swagger-ui .hover-black-50:focus,
+.swagger-ui .hover-black-50:hover {
+ color: rgba(0, 0, 0, 0.5);
+}
+.swagger-ui .hover-black-40:focus,
+.swagger-ui .hover-black-40:hover {
+ color: rgba(0, 0, 0, 0.4);
+}
+.swagger-ui .hover-black-30:focus,
+.swagger-ui .hover-black-30:hover {
+ color: rgba(0, 0, 0, 0.3);
+}
+.swagger-ui .hover-black-20:focus,
+.swagger-ui .hover-black-20:hover {
+ color: rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .hover-black-10:focus,
+.swagger-ui .hover-black-10:hover {
+ color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .hover-white-90:focus,
+.swagger-ui .hover-white-90:hover {
+ color: hsla(0, 0%, 100%, 0.9);
+}
+.swagger-ui .hover-white-80:focus,
+.swagger-ui .hover-white-80:hover {
+ color: hsla(0, 0%, 100%, 0.8);
+}
+.swagger-ui .hover-white-70:focus,
+.swagger-ui .hover-white-70:hover {
+ color: hsla(0, 0%, 100%, 0.7);
+}
+.swagger-ui .hover-white-60:focus,
+.swagger-ui .hover-white-60:hover {
+ color: hsla(0, 0%, 100%, 0.6);
+}
+.swagger-ui .hover-white-50:focus,
+.swagger-ui .hover-white-50:hover {
+ color: hsla(0, 0%, 100%, 0.5);
+}
+.swagger-ui .hover-white-40:focus,
+.swagger-ui .hover-white-40:hover {
+ color: hsla(0, 0%, 100%, 0.4);
+}
+.swagger-ui .hover-white-30:focus,
+.swagger-ui .hover-white-30:hover {
+ color: hsla(0, 0%, 100%, 0.3);
+}
+.swagger-ui .hover-white-20:focus,
+.swagger-ui .hover-white-20:hover {
+ color: hsla(0, 0%, 100%, 0.2);
+}
+.swagger-ui .hover-white-10:focus,
+.swagger-ui .hover-white-10:hover {
+ color: hsla(0, 0%, 100%, 0.1);
+}
+.swagger-ui .hover-inherit:focus,
+.swagger-ui .hover-inherit:hover {
+ color: inherit;
+}
+.swagger-ui .hover-bg-black:focus,
+.swagger-ui .hover-bg-black:hover {
+ background-color: #000;
+}
+.swagger-ui .hover-bg-near-black:focus,
+.swagger-ui .hover-bg-near-black:hover {
+ background-color: #111;
+}
+.swagger-ui .hover-bg-dark-gray:focus,
+.swagger-ui .hover-bg-dark-gray:hover {
+ background-color: #333;
+}
+.swagger-ui .hover-bg-mid-gray:focus,
+.swagger-ui .hover-bg-mid-gray:hover {
+ background-color: #555;
+}
+.swagger-ui .hover-bg-gray:focus,
+.swagger-ui .hover-bg-gray:hover {
+ background-color: #777;
+}
+.swagger-ui .hover-bg-silver:focus,
+.swagger-ui .hover-bg-silver:hover {
+ background-color: #999;
+}
+.swagger-ui .hover-bg-light-silver:focus,
+.swagger-ui .hover-bg-light-silver:hover {
+ background-color: #aaa;
+}
+.swagger-ui .hover-bg-moon-gray:focus,
+.swagger-ui .hover-bg-moon-gray:hover {
+ background-color: #ccc;
+}
+.swagger-ui .hover-bg-light-gray:focus,
+.swagger-ui .hover-bg-light-gray:hover {
+ background-color: #eee;
+}
+.swagger-ui .hover-bg-near-white:focus,
+.swagger-ui .hover-bg-near-white:hover {
+ background-color: #f4f4f4;
+}
+.swagger-ui .hover-bg-white:focus,
+.swagger-ui .hover-bg-white:hover {
+ background-color: #fff;
+}
+.swagger-ui .hover-bg-transparent:focus,
+.swagger-ui .hover-bg-transparent:hover {
+ background-color: transparent;
+}
+.swagger-ui .hover-bg-black-90:focus,
+.swagger-ui .hover-bg-black-90:hover {
+ background-color: rgba(0, 0, 0, 0.9);
+}
+.swagger-ui .hover-bg-black-80:focus,
+.swagger-ui .hover-bg-black-80:hover {
+ background-color: rgba(0, 0, 0, 0.8);
+}
+.swagger-ui .hover-bg-black-70:focus,
+.swagger-ui .hover-bg-black-70:hover {
+ background-color: rgba(0, 0, 0, 0.7);
+}
+.swagger-ui .hover-bg-black-60:focus,
+.swagger-ui .hover-bg-black-60:hover {
+ background-color: rgba(0, 0, 0, 0.6);
+}
+.swagger-ui .hover-bg-black-50:focus,
+.swagger-ui .hover-bg-black-50:hover {
+ background-color: rgba(0, 0, 0, 0.5);
+}
+.swagger-ui .hover-bg-black-40:focus,
+.swagger-ui .hover-bg-black-40:hover {
+ background-color: rgba(0, 0, 0, 0.4);
+}
+.swagger-ui .hover-bg-black-30:focus,
+.swagger-ui .hover-bg-black-30:hover {
+ background-color: rgba(0, 0, 0, 0.3);
+}
+.swagger-ui .hover-bg-black-20:focus,
+.swagger-ui .hover-bg-black-20:hover {
+ background-color: rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .hover-bg-black-10:focus,
+.swagger-ui .hover-bg-black-10:hover {
+ background-color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .hover-bg-white-90:focus,
+.swagger-ui .hover-bg-white-90:hover {
+ background-color: hsla(0, 0%, 100%, 0.9);
+}
+.swagger-ui .hover-bg-white-80:focus,
+.swagger-ui .hover-bg-white-80:hover {
+ background-color: hsla(0, 0%, 100%, 0.8);
+}
+.swagger-ui .hover-bg-white-70:focus,
+.swagger-ui .hover-bg-white-70:hover {
+ background-color: hsla(0, 0%, 100%, 0.7);
+}
+.swagger-ui .hover-bg-white-60:focus,
+.swagger-ui .hover-bg-white-60:hover {
+ background-color: hsla(0, 0%, 100%, 0.6);
+}
+.swagger-ui .hover-bg-white-50:focus,
+.swagger-ui .hover-bg-white-50:hover {
+ background-color: hsla(0, 0%, 100%, 0.5);
+}
+.swagger-ui .hover-bg-white-40:focus,
+.swagger-ui .hover-bg-white-40:hover {
+ background-color: hsla(0, 0%, 100%, 0.4);
+}
+.swagger-ui .hover-bg-white-30:focus,
+.swagger-ui .hover-bg-white-30:hover {
+ background-color: hsla(0, 0%, 100%, 0.3);
+}
+.swagger-ui .hover-bg-white-20:focus,
+.swagger-ui .hover-bg-white-20:hover {
+ background-color: hsla(0, 0%, 100%, 0.2);
+}
+.swagger-ui .hover-bg-white-10:focus,
+.swagger-ui .hover-bg-white-10:hover {
+ background-color: hsla(0, 0%, 100%, 0.1);
+}
+.swagger-ui .hover-dark-red:focus,
+.swagger-ui .hover-dark-red:hover {
+ color: #e7040f;
+}
+.swagger-ui .hover-red:focus,
+.swagger-ui .hover-red:hover {
+ color: #ff4136;
+}
+.swagger-ui .hover-light-red:focus,
+.swagger-ui .hover-light-red:hover {
+ color: #ff725c;
+}
+.swagger-ui .hover-orange:focus,
+.swagger-ui .hover-orange:hover {
+ color: #ff6300;
+}
+.swagger-ui .hover-gold:focus,
+.swagger-ui .hover-gold:hover {
+ color: #ffb700;
+}
+.swagger-ui .hover-yellow:focus,
+.swagger-ui .hover-yellow:hover {
+ color: gold;
+}
+.swagger-ui .hover-light-yellow:focus,
+.swagger-ui .hover-light-yellow:hover {
+ color: #fbf1a9;
+}
+.swagger-ui .hover-purple:focus,
+.swagger-ui .hover-purple:hover {
+ color: #5e2ca5;
+}
+.swagger-ui .hover-light-purple:focus,
+.swagger-ui .hover-light-purple:hover {
+ color: #a463f2;
+}
+.swagger-ui .hover-dark-pink:focus,
+.swagger-ui .hover-dark-pink:hover {
+ color: #d5008f;
+}
+.swagger-ui .hover-hot-pink:focus,
+.swagger-ui .hover-hot-pink:hover {
+ color: #ff41b4;
+}
+.swagger-ui .hover-pink:focus,
+.swagger-ui .hover-pink:hover {
+ color: #ff80cc;
+}
+.swagger-ui .hover-light-pink:focus,
+.swagger-ui .hover-light-pink:hover {
+ color: #ffa3d7;
+}
+.swagger-ui .hover-dark-green:focus,
+.swagger-ui .hover-dark-green:hover {
+ color: #137752;
+}
+.swagger-ui .hover-green:focus,
+.swagger-ui .hover-green:hover {
+ color: #19a974;
+}
+.swagger-ui .hover-light-green:focus,
+.swagger-ui .hover-light-green:hover {
+ color: #9eebcf;
+}
+.swagger-ui .hover-navy:focus,
+.swagger-ui .hover-navy:hover {
+ color: #001b44;
+}
+.swagger-ui .hover-dark-blue:focus,
+.swagger-ui .hover-dark-blue:hover {
+ color: #00449e;
+}
+.swagger-ui .hover-blue:focus,
+.swagger-ui .hover-blue:hover {
+ color: #357edd;
+}
+.swagger-ui .hover-light-blue:focus,
+.swagger-ui .hover-light-blue:hover {
+ color: #96ccff;
+}
+.swagger-ui .hover-lightest-blue:focus,
+.swagger-ui .hover-lightest-blue:hover {
+ color: #cdecff;
+}
+.swagger-ui .hover-washed-blue:focus,
+.swagger-ui .hover-washed-blue:hover {
+ color: #f6fffe;
+}
+.swagger-ui .hover-washed-green:focus,
+.swagger-ui .hover-washed-green:hover {
+ color: #e8fdf5;
+}
+.swagger-ui .hover-washed-yellow:focus,
+.swagger-ui .hover-washed-yellow:hover {
+ color: #fffceb;
+}
+.swagger-ui .hover-washed-red:focus,
+.swagger-ui .hover-washed-red:hover {
+ color: #ffdfdf;
+}
+.swagger-ui .hover-bg-dark-red:focus,
+.swagger-ui .hover-bg-dark-red:hover {
+ background-color: #e7040f;
+}
+.swagger-ui .hover-bg-red:focus,
+.swagger-ui .hover-bg-red:hover {
+ background-color: #ff4136;
+}
+.swagger-ui .hover-bg-light-red:focus,
+.swagger-ui .hover-bg-light-red:hover {
+ background-color: #ff725c;
+}
+.swagger-ui .hover-bg-orange:focus,
+.swagger-ui .hover-bg-orange:hover {
+ background-color: #ff6300;
+}
+.swagger-ui .hover-bg-gold:focus,
+.swagger-ui .hover-bg-gold:hover {
+ background-color: #ffb700;
+}
+.swagger-ui .hover-bg-yellow:focus,
+.swagger-ui .hover-bg-yellow:hover {
+ background-color: gold;
+}
+.swagger-ui .hover-bg-light-yellow:focus,
+.swagger-ui .hover-bg-light-yellow:hover {
+ background-color: #fbf1a9;
+}
+.swagger-ui .hover-bg-purple:focus,
+.swagger-ui .hover-bg-purple:hover {
+ background-color: #5e2ca5;
+}
+.swagger-ui .hover-bg-light-purple:focus,
+.swagger-ui .hover-bg-light-purple:hover {
+ background-color: #a463f2;
+}
+.swagger-ui .hover-bg-dark-pink:focus,
+.swagger-ui .hover-bg-dark-pink:hover {
+ background-color: #d5008f;
+}
+.swagger-ui .hover-bg-hot-pink:focus,
+.swagger-ui .hover-bg-hot-pink:hover {
+ background-color: #ff41b4;
+}
+.swagger-ui .hover-bg-pink:focus,
+.swagger-ui .hover-bg-pink:hover {
+ background-color: #ff80cc;
+}
+.swagger-ui .hover-bg-light-pink:focus,
+.swagger-ui .hover-bg-light-pink:hover {
+ background-color: #ffa3d7;
+}
+.swagger-ui .hover-bg-dark-green:focus,
+.swagger-ui .hover-bg-dark-green:hover {
+ background-color: #137752;
+}
+.swagger-ui .hover-bg-green:focus,
+.swagger-ui .hover-bg-green:hover {
+ background-color: #19a974;
+}
+.swagger-ui .hover-bg-light-green:focus,
+.swagger-ui .hover-bg-light-green:hover {
+ background-color: #9eebcf;
+}
+.swagger-ui .hover-bg-navy:focus,
+.swagger-ui .hover-bg-navy:hover {
+ background-color: #001b44;
+}
+.swagger-ui .hover-bg-dark-blue:focus,
+.swagger-ui .hover-bg-dark-blue:hover {
+ background-color: #00449e;
+}
+.swagger-ui .hover-bg-blue:focus,
+.swagger-ui .hover-bg-blue:hover {
+ background-color: #357edd;
+}
+.swagger-ui .hover-bg-light-blue:focus,
+.swagger-ui .hover-bg-light-blue:hover {
+ background-color: #96ccff;
+}
+.swagger-ui .hover-bg-lightest-blue:focus,
+.swagger-ui .hover-bg-lightest-blue:hover {
+ background-color: #cdecff;
+}
+.swagger-ui .hover-bg-washed-blue:focus,
+.swagger-ui .hover-bg-washed-blue:hover {
+ background-color: #f6fffe;
+}
+.swagger-ui .hover-bg-washed-green:focus,
+.swagger-ui .hover-bg-washed-green:hover {
+ background-color: #e8fdf5;
+}
+.swagger-ui .hover-bg-washed-yellow:focus,
+.swagger-ui .hover-bg-washed-yellow:hover {
+ background-color: #fffceb;
+}
+.swagger-ui .hover-bg-washed-red:focus,
+.swagger-ui .hover-bg-washed-red:hover {
+ background-color: #ffdfdf;
+}
+.swagger-ui .hover-bg-inherit:focus,
+.swagger-ui .hover-bg-inherit:hover {
+ background-color: inherit;
+}
+.swagger-ui .pa0 {
+ padding: 0;
+}
+.swagger-ui .pa1 {
+ padding: 0.25rem;
+}
+.swagger-ui .pa2 {
+ padding: 0.5rem;
+}
+.swagger-ui .pa3 {
+ padding: 1rem;
+}
+.swagger-ui .pa4 {
+ padding: 2rem;
+}
+.swagger-ui .pa5 {
+ padding: 4rem;
+}
+.swagger-ui .pa6 {
+ padding: 8rem;
+}
+.swagger-ui .pa7 {
+ padding: 16rem;
+}
+.swagger-ui .pl0 {
+ padding-left: 0;
+}
+.swagger-ui .pl1 {
+ padding-left: 0.25rem;
+}
+.swagger-ui .pl2 {
+ padding-left: 0.5rem;
+}
+.swagger-ui .pl3 {
+ padding-left: 1rem;
+}
+.swagger-ui .pl4 {
+ padding-left: 2rem;
+}
+.swagger-ui .pl5 {
+ padding-left: 4rem;
+}
+.swagger-ui .pl6 {
+ padding-left: 8rem;
+}
+.swagger-ui .pl7 {
+ padding-left: 16rem;
+}
+.swagger-ui .pr0 {
+ padding-right: 0;
+}
+.swagger-ui .pr1 {
+ padding-right: 0.25rem;
+}
+.swagger-ui .pr2 {
+ padding-right: 0.5rem;
+}
+.swagger-ui .pr3 {
+ padding-right: 1rem;
+}
+.swagger-ui .pr4 {
+ padding-right: 2rem;
+}
+.swagger-ui .pr5 {
+ padding-right: 4rem;
+}
+.swagger-ui .pr6 {
+ padding-right: 8rem;
+}
+.swagger-ui .pr7 {
+ padding-right: 16rem;
+}
+.swagger-ui .pb0 {
+ padding-bottom: 0;
+}
+.swagger-ui .pb1 {
+ padding-bottom: 0.25rem;
+}
+.swagger-ui .pb2 {
+ padding-bottom: 0.5rem;
+}
+.swagger-ui .pb3 {
+ padding-bottom: 1rem;
+}
+.swagger-ui .pb4 {
+ padding-bottom: 2rem;
+}
+.swagger-ui .pb5 {
+ padding-bottom: 4rem;
+}
+.swagger-ui .pb6 {
+ padding-bottom: 8rem;
+}
+.swagger-ui .pb7 {
+ padding-bottom: 16rem;
+}
+.swagger-ui .pt0 {
+ padding-top: 0;
+}
+.swagger-ui .pt1 {
+ padding-top: 0.25rem;
+}
+.swagger-ui .pt2 {
+ padding-top: 0.5rem;
+}
+.swagger-ui .pt3 {
+ padding-top: 1rem;
+}
+.swagger-ui .pt4 {
+ padding-top: 2rem;
+}
+.swagger-ui .pt5 {
+ padding-top: 4rem;
+}
+.swagger-ui .pt6 {
+ padding-top: 8rem;
+}
+.swagger-ui .pt7 {
+ padding-top: 16rem;
+}
+.swagger-ui .pv0 {
+ padding-bottom: 0;
+ padding-top: 0;
+}
+.swagger-ui .pv1 {
+ padding-bottom: 0.25rem;
+ padding-top: 0.25rem;
+}
+.swagger-ui .pv2 {
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem;
+}
+.swagger-ui .pv3 {
+ padding-bottom: 1rem;
+ padding-top: 1rem;
+}
+.swagger-ui .pv4 {
+ padding-bottom: 2rem;
+ padding-top: 2rem;
+}
+.swagger-ui .pv5 {
+ padding-bottom: 4rem;
+ padding-top: 4rem;
+}
+.swagger-ui .pv6 {
+ padding-bottom: 8rem;
+ padding-top: 8rem;
+}
+.swagger-ui .pv7 {
+ padding-bottom: 16rem;
+ padding-top: 16rem;
+}
+.swagger-ui .ph0 {
+ padding-left: 0;
+ padding-right: 0;
+}
+.swagger-ui .ph1 {
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+}
+.swagger-ui .ph2 {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+}
+.swagger-ui .ph3 {
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+.swagger-ui .ph4 {
+ padding-left: 2rem;
+ padding-right: 2rem;
+}
+.swagger-ui .ph5 {
+ padding-left: 4rem;
+ padding-right: 4rem;
+}
+.swagger-ui .ph6 {
+ padding-left: 8rem;
+ padding-right: 8rem;
+}
+.swagger-ui .ph7 {
+ padding-left: 16rem;
+ padding-right: 16rem;
+}
+.swagger-ui .ma0 {
+ margin: 0;
+}
+.swagger-ui .ma1 {
+ margin: 0.25rem;
+}
+.swagger-ui .ma2 {
+ margin: 0.5rem;
+}
+.swagger-ui .ma3 {
+ margin: 1rem;
+}
+.swagger-ui .ma4 {
+ margin: 2rem;
+}
+.swagger-ui .ma5 {
+ margin: 4rem;
+}
+.swagger-ui .ma6 {
+ margin: 8rem;
+}
+.swagger-ui .ma7 {
+ margin: 16rem;
+}
+.swagger-ui .ml0 {
+ margin-left: 0;
+}
+.swagger-ui .ml1 {
+ margin-left: 0.25rem;
+}
+.swagger-ui .ml2 {
+ margin-left: 0.5rem;
+}
+.swagger-ui .ml3 {
+ margin-left: 1rem;
+}
+.swagger-ui .ml4 {
+ margin-left: 2rem;
+}
+.swagger-ui .ml5 {
+ margin-left: 4rem;
+}
+.swagger-ui .ml6 {
+ margin-left: 8rem;
+}
+.swagger-ui .ml7 {
+ margin-left: 16rem;
+}
+.swagger-ui .mr0 {
+ margin-right: 0;
+}
+.swagger-ui .mr1 {
+ margin-right: 0.25rem;
+}
+.swagger-ui .mr2 {
+ margin-right: 0.5rem;
+}
+.swagger-ui .mr3 {
+ margin-right: 1rem;
+}
+.swagger-ui .mr4 {
+ margin-right: 2rem;
+}
+.swagger-ui .mr5 {
+ margin-right: 4rem;
+}
+.swagger-ui .mr6 {
+ margin-right: 8rem;
+}
+.swagger-ui .mr7 {
+ margin-right: 16rem;
+}
+.swagger-ui .mb0 {
+ margin-bottom: 0;
+}
+.swagger-ui .mb1 {
+ margin-bottom: 0.25rem;
+}
+.swagger-ui .mb2 {
+ margin-bottom: 0.5rem;
+}
+.swagger-ui .mb3 {
+ margin-bottom: 1rem;
+}
+.swagger-ui .mb4 {
+ margin-bottom: 2rem;
+}
+.swagger-ui .mb5 {
+ margin-bottom: 4rem;
+}
+.swagger-ui .mb6 {
+ margin-bottom: 8rem;
+}
+.swagger-ui .mb7 {
+ margin-bottom: 16rem;
+}
+.swagger-ui .mt0 {
+ margin-top: 0;
+}
+.swagger-ui .mt1 {
+ margin-top: 0.25rem;
+}
+.swagger-ui .mt2 {
+ margin-top: 0.5rem;
+}
+.swagger-ui .mt3 {
+ margin-top: 1rem;
+}
+.swagger-ui .mt4 {
+ margin-top: 2rem;
+}
+.swagger-ui .mt5 {
+ margin-top: 4rem;
+}
+.swagger-ui .mt6 {
+ margin-top: 8rem;
+}
+.swagger-ui .mt7 {
+ margin-top: 16rem;
+}
+.swagger-ui .mv0 {
+ margin-bottom: 0;
+ margin-top: 0;
+}
+.swagger-ui .mv1 {
+ margin-bottom: 0.25rem;
+ margin-top: 0.25rem;
+}
+.swagger-ui .mv2 {
+ margin-bottom: 0.5rem;
+ margin-top: 0.5rem;
+}
+.swagger-ui .mv3 {
+ margin-bottom: 1rem;
+ margin-top: 1rem;
+}
+.swagger-ui .mv4 {
+ margin-bottom: 2rem;
+ margin-top: 2rem;
+}
+.swagger-ui .mv5 {
+ margin-bottom: 4rem;
+ margin-top: 4rem;
+}
+.swagger-ui .mv6 {
+ margin-bottom: 8rem;
+ margin-top: 8rem;
+}
+.swagger-ui .mv7 {
+ margin-bottom: 16rem;
+ margin-top: 16rem;
+}
+.swagger-ui .mh0 {
+ margin-left: 0;
+ margin-right: 0;
+}
+.swagger-ui .mh1 {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem;
+}
+.swagger-ui .mh2 {
+ margin-left: 0.5rem;
+ margin-right: 0.5rem;
+}
+.swagger-ui .mh3 {
+ margin-left: 1rem;
+ margin-right: 1rem;
+}
+.swagger-ui .mh4 {
+ margin-left: 2rem;
+ margin-right: 2rem;
+}
+.swagger-ui .mh5 {
+ margin-left: 4rem;
+ margin-right: 4rem;
+}
+.swagger-ui .mh6 {
+ margin-left: 8rem;
+ margin-right: 8rem;
+}
+.swagger-ui .mh7 {
+ margin-left: 16rem;
+ margin-right: 16rem;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .pa0-ns {
+ padding: 0;
+ }
+ .swagger-ui .pa1-ns {
+ padding: 0.25rem;
+ }
+ .swagger-ui .pa2-ns {
+ padding: 0.5rem;
+ }
+ .swagger-ui .pa3-ns {
+ padding: 1rem;
+ }
+ .swagger-ui .pa4-ns {
+ padding: 2rem;
+ }
+ .swagger-ui .pa5-ns {
+ padding: 4rem;
+ }
+ .swagger-ui .pa6-ns {
+ padding: 8rem;
+ }
+ .swagger-ui .pa7-ns {
+ padding: 16rem;
+ }
+ .swagger-ui .pl0-ns {
+ padding-left: 0;
+ }
+ .swagger-ui .pl1-ns {
+ padding-left: 0.25rem;
+ }
+ .swagger-ui .pl2-ns {
+ padding-left: 0.5rem;
+ }
+ .swagger-ui .pl3-ns {
+ padding-left: 1rem;
+ }
+ .swagger-ui .pl4-ns {
+ padding-left: 2rem;
+ }
+ .swagger-ui .pl5-ns {
+ padding-left: 4rem;
+ }
+ .swagger-ui .pl6-ns {
+ padding-left: 8rem;
+ }
+ .swagger-ui .pl7-ns {
+ padding-left: 16rem;
+ }
+ .swagger-ui .pr0-ns {
+ padding-right: 0;
+ }
+ .swagger-ui .pr1-ns {
+ padding-right: 0.25rem;
+ }
+ .swagger-ui .pr2-ns {
+ padding-right: 0.5rem;
+ }
+ .swagger-ui .pr3-ns {
+ padding-right: 1rem;
+ }
+ .swagger-ui .pr4-ns {
+ padding-right: 2rem;
+ }
+ .swagger-ui .pr5-ns {
+ padding-right: 4rem;
+ }
+ .swagger-ui .pr6-ns {
+ padding-right: 8rem;
+ }
+ .swagger-ui .pr7-ns {
+ padding-right: 16rem;
+ }
+ .swagger-ui .pb0-ns {
+ padding-bottom: 0;
+ }
+ .swagger-ui .pb1-ns {
+ padding-bottom: 0.25rem;
+ }
+ .swagger-ui .pb2-ns {
+ padding-bottom: 0.5rem;
+ }
+ .swagger-ui .pb3-ns {
+ padding-bottom: 1rem;
+ }
+ .swagger-ui .pb4-ns {
+ padding-bottom: 2rem;
+ }
+ .swagger-ui .pb5-ns {
+ padding-bottom: 4rem;
+ }
+ .swagger-ui .pb6-ns {
+ padding-bottom: 8rem;
+ }
+ .swagger-ui .pb7-ns {
+ padding-bottom: 16rem;
+ }
+ .swagger-ui .pt0-ns {
+ padding-top: 0;
+ }
+ .swagger-ui .pt1-ns {
+ padding-top: 0.25rem;
+ }
+ .swagger-ui .pt2-ns {
+ padding-top: 0.5rem;
+ }
+ .swagger-ui .pt3-ns {
+ padding-top: 1rem;
+ }
+ .swagger-ui .pt4-ns {
+ padding-top: 2rem;
+ }
+ .swagger-ui .pt5-ns {
+ padding-top: 4rem;
+ }
+ .swagger-ui .pt6-ns {
+ padding-top: 8rem;
+ }
+ .swagger-ui .pt7-ns {
+ padding-top: 16rem;
+ }
+ .swagger-ui .pv0-ns {
+ padding-bottom: 0;
+ padding-top: 0;
+ }
+ .swagger-ui .pv1-ns {
+ padding-bottom: 0.25rem;
+ padding-top: 0.25rem;
+ }
+ .swagger-ui .pv2-ns {
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem;
+ }
+ .swagger-ui .pv3-ns {
+ padding-bottom: 1rem;
+ padding-top: 1rem;
+ }
+ .swagger-ui .pv4-ns {
+ padding-bottom: 2rem;
+ padding-top: 2rem;
+ }
+ .swagger-ui .pv5-ns {
+ padding-bottom: 4rem;
+ padding-top: 4rem;
+ }
+ .swagger-ui .pv6-ns {
+ padding-bottom: 8rem;
+ padding-top: 8rem;
+ }
+ .swagger-ui .pv7-ns {
+ padding-bottom: 16rem;
+ padding-top: 16rem;
+ }
+ .swagger-ui .ph0-ns {
+ padding-left: 0;
+ padding-right: 0;
+ }
+ .swagger-ui .ph1-ns {
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+ }
+ .swagger-ui .ph2-ns {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+ }
+ .swagger-ui .ph3-ns {
+ padding-left: 1rem;
+ padding-right: 1rem;
+ }
+ .swagger-ui .ph4-ns {
+ padding-left: 2rem;
+ padding-right: 2rem;
+ }
+ .swagger-ui .ph5-ns {
+ padding-left: 4rem;
+ padding-right: 4rem;
+ }
+ .swagger-ui .ph6-ns {
+ padding-left: 8rem;
+ padding-right: 8rem;
+ }
+ .swagger-ui .ph7-ns {
+ padding-left: 16rem;
+ padding-right: 16rem;
+ }
+ .swagger-ui .ma0-ns {
+ margin: 0;
+ }
+ .swagger-ui .ma1-ns {
+ margin: 0.25rem;
+ }
+ .swagger-ui .ma2-ns {
+ margin: 0.5rem;
+ }
+ .swagger-ui .ma3-ns {
+ margin: 1rem;
+ }
+ .swagger-ui .ma4-ns {
+ margin: 2rem;
+ }
+ .swagger-ui .ma5-ns {
+ margin: 4rem;
+ }
+ .swagger-ui .ma6-ns {
+ margin: 8rem;
+ }
+ .swagger-ui .ma7-ns {
+ margin: 16rem;
+ }
+ .swagger-ui .ml0-ns {
+ margin-left: 0;
+ }
+ .swagger-ui .ml1-ns {
+ margin-left: 0.25rem;
+ }
+ .swagger-ui .ml2-ns {
+ margin-left: 0.5rem;
+ }
+ .swagger-ui .ml3-ns {
+ margin-left: 1rem;
+ }
+ .swagger-ui .ml4-ns {
+ margin-left: 2rem;
+ }
+ .swagger-ui .ml5-ns {
+ margin-left: 4rem;
+ }
+ .swagger-ui .ml6-ns {
+ margin-left: 8rem;
+ }
+ .swagger-ui .ml7-ns {
+ margin-left: 16rem;
+ }
+ .swagger-ui .mr0-ns {
+ margin-right: 0;
+ }
+ .swagger-ui .mr1-ns {
+ margin-right: 0.25rem;
+ }
+ .swagger-ui .mr2-ns {
+ margin-right: 0.5rem;
+ }
+ .swagger-ui .mr3-ns {
+ margin-right: 1rem;
+ }
+ .swagger-ui .mr4-ns {
+ margin-right: 2rem;
+ }
+ .swagger-ui .mr5-ns {
+ margin-right: 4rem;
+ }
+ .swagger-ui .mr6-ns {
+ margin-right: 8rem;
+ }
+ .swagger-ui .mr7-ns {
+ margin-right: 16rem;
+ }
+ .swagger-ui .mb0-ns {
+ margin-bottom: 0;
+ }
+ .swagger-ui .mb1-ns {
+ margin-bottom: 0.25rem;
+ }
+ .swagger-ui .mb2-ns {
+ margin-bottom: 0.5rem;
+ }
+ .swagger-ui .mb3-ns {
+ margin-bottom: 1rem;
+ }
+ .swagger-ui .mb4-ns {
+ margin-bottom: 2rem;
+ }
+ .swagger-ui .mb5-ns {
+ margin-bottom: 4rem;
+ }
+ .swagger-ui .mb6-ns {
+ margin-bottom: 8rem;
+ }
+ .swagger-ui .mb7-ns {
+ margin-bottom: 16rem;
+ }
+ .swagger-ui .mt0-ns {
+ margin-top: 0;
+ }
+ .swagger-ui .mt1-ns {
+ margin-top: 0.25rem;
+ }
+ .swagger-ui .mt2-ns {
+ margin-top: 0.5rem;
+ }
+ .swagger-ui .mt3-ns {
+ margin-top: 1rem;
+ }
+ .swagger-ui .mt4-ns {
+ margin-top: 2rem;
+ }
+ .swagger-ui .mt5-ns {
+ margin-top: 4rem;
+ }
+ .swagger-ui .mt6-ns {
+ margin-top: 8rem;
+ }
+ .swagger-ui .mt7-ns {
+ margin-top: 16rem;
+ }
+ .swagger-ui .mv0-ns {
+ margin-bottom: 0;
+ margin-top: 0;
+ }
+ .swagger-ui .mv1-ns {
+ margin-bottom: 0.25rem;
+ margin-top: 0.25rem;
+ }
+ .swagger-ui .mv2-ns {
+ margin-bottom: 0.5rem;
+ margin-top: 0.5rem;
+ }
+ .swagger-ui .mv3-ns {
+ margin-bottom: 1rem;
+ margin-top: 1rem;
+ }
+ .swagger-ui .mv4-ns {
+ margin-bottom: 2rem;
+ margin-top: 2rem;
+ }
+ .swagger-ui .mv5-ns {
+ margin-bottom: 4rem;
+ margin-top: 4rem;
+ }
+ .swagger-ui .mv6-ns {
+ margin-bottom: 8rem;
+ margin-top: 8rem;
+ }
+ .swagger-ui .mv7-ns {
+ margin-bottom: 16rem;
+ margin-top: 16rem;
+ }
+ .swagger-ui .mh0-ns {
+ margin-left: 0;
+ margin-right: 0;
+ }
+ .swagger-ui .mh1-ns {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem;
+ }
+ .swagger-ui .mh2-ns {
+ margin-left: 0.5rem;
+ margin-right: 0.5rem;
+ }
+ .swagger-ui .mh3-ns {
+ margin-left: 1rem;
+ margin-right: 1rem;
+ }
+ .swagger-ui .mh4-ns {
+ margin-left: 2rem;
+ margin-right: 2rem;
+ }
+ .swagger-ui .mh5-ns {
+ margin-left: 4rem;
+ margin-right: 4rem;
+ }
+ .swagger-ui .mh6-ns {
+ margin-left: 8rem;
+ margin-right: 8rem;
+ }
+ .swagger-ui .mh7-ns {
+ margin-left: 16rem;
+ margin-right: 16rem;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .pa0-m {
+ padding: 0;
+ }
+ .swagger-ui .pa1-m {
+ padding: 0.25rem;
+ }
+ .swagger-ui .pa2-m {
+ padding: 0.5rem;
+ }
+ .swagger-ui .pa3-m {
+ padding: 1rem;
+ }
+ .swagger-ui .pa4-m {
+ padding: 2rem;
+ }
+ .swagger-ui .pa5-m {
+ padding: 4rem;
+ }
+ .swagger-ui .pa6-m {
+ padding: 8rem;
+ }
+ .swagger-ui .pa7-m {
+ padding: 16rem;
+ }
+ .swagger-ui .pl0-m {
+ padding-left: 0;
+ }
+ .swagger-ui .pl1-m {
+ padding-left: 0.25rem;
+ }
+ .swagger-ui .pl2-m {
+ padding-left: 0.5rem;
+ }
+ .swagger-ui .pl3-m {
+ padding-left: 1rem;
+ }
+ .swagger-ui .pl4-m {
+ padding-left: 2rem;
+ }
+ .swagger-ui .pl5-m {
+ padding-left: 4rem;
+ }
+ .swagger-ui .pl6-m {
+ padding-left: 8rem;
+ }
+ .swagger-ui .pl7-m {
+ padding-left: 16rem;
+ }
+ .swagger-ui .pr0-m {
+ padding-right: 0;
+ }
+ .swagger-ui .pr1-m {
+ padding-right: 0.25rem;
+ }
+ .swagger-ui .pr2-m {
+ padding-right: 0.5rem;
+ }
+ .swagger-ui .pr3-m {
+ padding-right: 1rem;
+ }
+ .swagger-ui .pr4-m {
+ padding-right: 2rem;
+ }
+ .swagger-ui .pr5-m {
+ padding-right: 4rem;
+ }
+ .swagger-ui .pr6-m {
+ padding-right: 8rem;
+ }
+ .swagger-ui .pr7-m {
+ padding-right: 16rem;
+ }
+ .swagger-ui .pb0-m {
+ padding-bottom: 0;
+ }
+ .swagger-ui .pb1-m {
+ padding-bottom: 0.25rem;
+ }
+ .swagger-ui .pb2-m {
+ padding-bottom: 0.5rem;
+ }
+ .swagger-ui .pb3-m {
+ padding-bottom: 1rem;
+ }
+ .swagger-ui .pb4-m {
+ padding-bottom: 2rem;
+ }
+ .swagger-ui .pb5-m {
+ padding-bottom: 4rem;
+ }
+ .swagger-ui .pb6-m {
+ padding-bottom: 8rem;
+ }
+ .swagger-ui .pb7-m {
+ padding-bottom: 16rem;
+ }
+ .swagger-ui .pt0-m {
+ padding-top: 0;
+ }
+ .swagger-ui .pt1-m {
+ padding-top: 0.25rem;
+ }
+ .swagger-ui .pt2-m {
+ padding-top: 0.5rem;
+ }
+ .swagger-ui .pt3-m {
+ padding-top: 1rem;
+ }
+ .swagger-ui .pt4-m {
+ padding-top: 2rem;
+ }
+ .swagger-ui .pt5-m {
+ padding-top: 4rem;
+ }
+ .swagger-ui .pt6-m {
+ padding-top: 8rem;
+ }
+ .swagger-ui .pt7-m {
+ padding-top: 16rem;
+ }
+ .swagger-ui .pv0-m {
+ padding-bottom: 0;
+ padding-top: 0;
+ }
+ .swagger-ui .pv1-m {
+ padding-bottom: 0.25rem;
+ padding-top: 0.25rem;
+ }
+ .swagger-ui .pv2-m {
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem;
+ }
+ .swagger-ui .pv3-m {
+ padding-bottom: 1rem;
+ padding-top: 1rem;
+ }
+ .swagger-ui .pv4-m {
+ padding-bottom: 2rem;
+ padding-top: 2rem;
+ }
+ .swagger-ui .pv5-m {
+ padding-bottom: 4rem;
+ padding-top: 4rem;
+ }
+ .swagger-ui .pv6-m {
+ padding-bottom: 8rem;
+ padding-top: 8rem;
+ }
+ .swagger-ui .pv7-m {
+ padding-bottom: 16rem;
+ padding-top: 16rem;
+ }
+ .swagger-ui .ph0-m {
+ padding-left: 0;
+ padding-right: 0;
+ }
+ .swagger-ui .ph1-m {
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+ }
+ .swagger-ui .ph2-m {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+ }
+ .swagger-ui .ph3-m {
+ padding-left: 1rem;
+ padding-right: 1rem;
+ }
+ .swagger-ui .ph4-m {
+ padding-left: 2rem;
+ padding-right: 2rem;
+ }
+ .swagger-ui .ph5-m {
+ padding-left: 4rem;
+ padding-right: 4rem;
+ }
+ .swagger-ui .ph6-m {
+ padding-left: 8rem;
+ padding-right: 8rem;
+ }
+ .swagger-ui .ph7-m {
+ padding-left: 16rem;
+ padding-right: 16rem;
+ }
+ .swagger-ui .ma0-m {
+ margin: 0;
+ }
+ .swagger-ui .ma1-m {
+ margin: 0.25rem;
+ }
+ .swagger-ui .ma2-m {
+ margin: 0.5rem;
+ }
+ .swagger-ui .ma3-m {
+ margin: 1rem;
+ }
+ .swagger-ui .ma4-m {
+ margin: 2rem;
+ }
+ .swagger-ui .ma5-m {
+ margin: 4rem;
+ }
+ .swagger-ui .ma6-m {
+ margin: 8rem;
+ }
+ .swagger-ui .ma7-m {
+ margin: 16rem;
+ }
+ .swagger-ui .ml0-m {
+ margin-left: 0;
+ }
+ .swagger-ui .ml1-m {
+ margin-left: 0.25rem;
+ }
+ .swagger-ui .ml2-m {
+ margin-left: 0.5rem;
+ }
+ .swagger-ui .ml3-m {
+ margin-left: 1rem;
+ }
+ .swagger-ui .ml4-m {
+ margin-left: 2rem;
+ }
+ .swagger-ui .ml5-m {
+ margin-left: 4rem;
+ }
+ .swagger-ui .ml6-m {
+ margin-left: 8rem;
+ }
+ .swagger-ui .ml7-m {
+ margin-left: 16rem;
+ }
+ .swagger-ui .mr0-m {
+ margin-right: 0;
+ }
+ .swagger-ui .mr1-m {
+ margin-right: 0.25rem;
+ }
+ .swagger-ui .mr2-m {
+ margin-right: 0.5rem;
+ }
+ .swagger-ui .mr3-m {
+ margin-right: 1rem;
+ }
+ .swagger-ui .mr4-m {
+ margin-right: 2rem;
+ }
+ .swagger-ui .mr5-m {
+ margin-right: 4rem;
+ }
+ .swagger-ui .mr6-m {
+ margin-right: 8rem;
+ }
+ .swagger-ui .mr7-m {
+ margin-right: 16rem;
+ }
+ .swagger-ui .mb0-m {
+ margin-bottom: 0;
+ }
+ .swagger-ui .mb1-m {
+ margin-bottom: 0.25rem;
+ }
+ .swagger-ui .mb2-m {
+ margin-bottom: 0.5rem;
+ }
+ .swagger-ui .mb3-m {
+ margin-bottom: 1rem;
+ }
+ .swagger-ui .mb4-m {
+ margin-bottom: 2rem;
+ }
+ .swagger-ui .mb5-m {
+ margin-bottom: 4rem;
+ }
+ .swagger-ui .mb6-m {
+ margin-bottom: 8rem;
+ }
+ .swagger-ui .mb7-m {
+ margin-bottom: 16rem;
+ }
+ .swagger-ui .mt0-m {
+ margin-top: 0;
+ }
+ .swagger-ui .mt1-m {
+ margin-top: 0.25rem;
+ }
+ .swagger-ui .mt2-m {
+ margin-top: 0.5rem;
+ }
+ .swagger-ui .mt3-m {
+ margin-top: 1rem;
+ }
+ .swagger-ui .mt4-m {
+ margin-top: 2rem;
+ }
+ .swagger-ui .mt5-m {
+ margin-top: 4rem;
+ }
+ .swagger-ui .mt6-m {
+ margin-top: 8rem;
+ }
+ .swagger-ui .mt7-m {
+ margin-top: 16rem;
+ }
+ .swagger-ui .mv0-m {
+ margin-bottom: 0;
+ margin-top: 0;
+ }
+ .swagger-ui .mv1-m {
+ margin-bottom: 0.25rem;
+ margin-top: 0.25rem;
+ }
+ .swagger-ui .mv2-m {
+ margin-bottom: 0.5rem;
+ margin-top: 0.5rem;
+ }
+ .swagger-ui .mv3-m {
+ margin-bottom: 1rem;
+ margin-top: 1rem;
+ }
+ .swagger-ui .mv4-m {
+ margin-bottom: 2rem;
+ margin-top: 2rem;
+ }
+ .swagger-ui .mv5-m {
+ margin-bottom: 4rem;
+ margin-top: 4rem;
+ }
+ .swagger-ui .mv6-m {
+ margin-bottom: 8rem;
+ margin-top: 8rem;
+ }
+ .swagger-ui .mv7-m {
+ margin-bottom: 16rem;
+ margin-top: 16rem;
+ }
+ .swagger-ui .mh0-m {
+ margin-left: 0;
+ margin-right: 0;
+ }
+ .swagger-ui .mh1-m {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem;
+ }
+ .swagger-ui .mh2-m {
+ margin-left: 0.5rem;
+ margin-right: 0.5rem;
+ }
+ .swagger-ui .mh3-m {
+ margin-left: 1rem;
+ margin-right: 1rem;
+ }
+ .swagger-ui .mh4-m {
+ margin-left: 2rem;
+ margin-right: 2rem;
+ }
+ .swagger-ui .mh5-m {
+ margin-left: 4rem;
+ margin-right: 4rem;
+ }
+ .swagger-ui .mh6-m {
+ margin-left: 8rem;
+ margin-right: 8rem;
+ }
+ .swagger-ui .mh7-m {
+ margin-left: 16rem;
+ margin-right: 16rem;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .pa0-l {
+ padding: 0;
+ }
+ .swagger-ui .pa1-l {
+ padding: 0.25rem;
+ }
+ .swagger-ui .pa2-l {
+ padding: 0.5rem;
+ }
+ .swagger-ui .pa3-l {
+ padding: 1rem;
+ }
+ .swagger-ui .pa4-l {
+ padding: 2rem;
+ }
+ .swagger-ui .pa5-l {
+ padding: 4rem;
+ }
+ .swagger-ui .pa6-l {
+ padding: 8rem;
+ }
+ .swagger-ui .pa7-l {
+ padding: 16rem;
+ }
+ .swagger-ui .pl0-l {
+ padding-left: 0;
+ }
+ .swagger-ui .pl1-l {
+ padding-left: 0.25rem;
+ }
+ .swagger-ui .pl2-l {
+ padding-left: 0.5rem;
+ }
+ .swagger-ui .pl3-l {
+ padding-left: 1rem;
+ }
+ .swagger-ui .pl4-l {
+ padding-left: 2rem;
+ }
+ .swagger-ui .pl5-l {
+ padding-left: 4rem;
+ }
+ .swagger-ui .pl6-l {
+ padding-left: 8rem;
+ }
+ .swagger-ui .pl7-l {
+ padding-left: 16rem;
+ }
+ .swagger-ui .pr0-l {
+ padding-right: 0;
+ }
+ .swagger-ui .pr1-l {
+ padding-right: 0.25rem;
+ }
+ .swagger-ui .pr2-l {
+ padding-right: 0.5rem;
+ }
+ .swagger-ui .pr3-l {
+ padding-right: 1rem;
+ }
+ .swagger-ui .pr4-l {
+ padding-right: 2rem;
+ }
+ .swagger-ui .pr5-l {
+ padding-right: 4rem;
+ }
+ .swagger-ui .pr6-l {
+ padding-right: 8rem;
+ }
+ .swagger-ui .pr7-l {
+ padding-right: 16rem;
+ }
+ .swagger-ui .pb0-l {
+ padding-bottom: 0;
+ }
+ .swagger-ui .pb1-l {
+ padding-bottom: 0.25rem;
+ }
+ .swagger-ui .pb2-l {
+ padding-bottom: 0.5rem;
+ }
+ .swagger-ui .pb3-l {
+ padding-bottom: 1rem;
+ }
+ .swagger-ui .pb4-l {
+ padding-bottom: 2rem;
+ }
+ .swagger-ui .pb5-l {
+ padding-bottom: 4rem;
+ }
+ .swagger-ui .pb6-l {
+ padding-bottom: 8rem;
+ }
+ .swagger-ui .pb7-l {
+ padding-bottom: 16rem;
+ }
+ .swagger-ui .pt0-l {
+ padding-top: 0;
+ }
+ .swagger-ui .pt1-l {
+ padding-top: 0.25rem;
+ }
+ .swagger-ui .pt2-l {
+ padding-top: 0.5rem;
+ }
+ .swagger-ui .pt3-l {
+ padding-top: 1rem;
+ }
+ .swagger-ui .pt4-l {
+ padding-top: 2rem;
+ }
+ .swagger-ui .pt5-l {
+ padding-top: 4rem;
+ }
+ .swagger-ui .pt6-l {
+ padding-top: 8rem;
+ }
+ .swagger-ui .pt7-l {
+ padding-top: 16rem;
+ }
+ .swagger-ui .pv0-l {
+ padding-bottom: 0;
+ padding-top: 0;
+ }
+ .swagger-ui .pv1-l {
+ padding-bottom: 0.25rem;
+ padding-top: 0.25rem;
+ }
+ .swagger-ui .pv2-l {
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem;
+ }
+ .swagger-ui .pv3-l {
+ padding-bottom: 1rem;
+ padding-top: 1rem;
+ }
+ .swagger-ui .pv4-l {
+ padding-bottom: 2rem;
+ padding-top: 2rem;
+ }
+ .swagger-ui .pv5-l {
+ padding-bottom: 4rem;
+ padding-top: 4rem;
+ }
+ .swagger-ui .pv6-l {
+ padding-bottom: 8rem;
+ padding-top: 8rem;
+ }
+ .swagger-ui .pv7-l {
+ padding-bottom: 16rem;
+ padding-top: 16rem;
+ }
+ .swagger-ui .ph0-l {
+ padding-left: 0;
+ padding-right: 0;
+ }
+ .swagger-ui .ph1-l {
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+ }
+ .swagger-ui .ph2-l {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+ }
+ .swagger-ui .ph3-l {
+ padding-left: 1rem;
+ padding-right: 1rem;
+ }
+ .swagger-ui .ph4-l {
+ padding-left: 2rem;
+ padding-right: 2rem;
+ }
+ .swagger-ui .ph5-l {
+ padding-left: 4rem;
+ padding-right: 4rem;
+ }
+ .swagger-ui .ph6-l {
+ padding-left: 8rem;
+ padding-right: 8rem;
+ }
+ .swagger-ui .ph7-l {
+ padding-left: 16rem;
+ padding-right: 16rem;
+ }
+ .swagger-ui .ma0-l {
+ margin: 0;
+ }
+ .swagger-ui .ma1-l {
+ margin: 0.25rem;
+ }
+ .swagger-ui .ma2-l {
+ margin: 0.5rem;
+ }
+ .swagger-ui .ma3-l {
+ margin: 1rem;
+ }
+ .swagger-ui .ma4-l {
+ margin: 2rem;
+ }
+ .swagger-ui .ma5-l {
+ margin: 4rem;
+ }
+ .swagger-ui .ma6-l {
+ margin: 8rem;
+ }
+ .swagger-ui .ma7-l {
+ margin: 16rem;
+ }
+ .swagger-ui .ml0-l {
+ margin-left: 0;
+ }
+ .swagger-ui .ml1-l {
+ margin-left: 0.25rem;
+ }
+ .swagger-ui .ml2-l {
+ margin-left: 0.5rem;
+ }
+ .swagger-ui .ml3-l {
+ margin-left: 1rem;
+ }
+ .swagger-ui .ml4-l {
+ margin-left: 2rem;
+ }
+ .swagger-ui .ml5-l {
+ margin-left: 4rem;
+ }
+ .swagger-ui .ml6-l {
+ margin-left: 8rem;
+ }
+ .swagger-ui .ml7-l {
+ margin-left: 16rem;
+ }
+ .swagger-ui .mr0-l {
+ margin-right: 0;
+ }
+ .swagger-ui .mr1-l {
+ margin-right: 0.25rem;
+ }
+ .swagger-ui .mr2-l {
+ margin-right: 0.5rem;
+ }
+ .swagger-ui .mr3-l {
+ margin-right: 1rem;
+ }
+ .swagger-ui .mr4-l {
+ margin-right: 2rem;
+ }
+ .swagger-ui .mr5-l {
+ margin-right: 4rem;
+ }
+ .swagger-ui .mr6-l {
+ margin-right: 8rem;
+ }
+ .swagger-ui .mr7-l {
+ margin-right: 16rem;
+ }
+ .swagger-ui .mb0-l {
+ margin-bottom: 0;
+ }
+ .swagger-ui .mb1-l {
+ margin-bottom: 0.25rem;
+ }
+ .swagger-ui .mb2-l {
+ margin-bottom: 0.5rem;
+ }
+ .swagger-ui .mb3-l {
+ margin-bottom: 1rem;
+ }
+ .swagger-ui .mb4-l {
+ margin-bottom: 2rem;
+ }
+ .swagger-ui .mb5-l {
+ margin-bottom: 4rem;
+ }
+ .swagger-ui .mb6-l {
+ margin-bottom: 8rem;
+ }
+ .swagger-ui .mb7-l {
+ margin-bottom: 16rem;
+ }
+ .swagger-ui .mt0-l {
+ margin-top: 0;
+ }
+ .swagger-ui .mt1-l {
+ margin-top: 0.25rem;
+ }
+ .swagger-ui .mt2-l {
+ margin-top: 0.5rem;
+ }
+ .swagger-ui .mt3-l {
+ margin-top: 1rem;
+ }
+ .swagger-ui .mt4-l {
+ margin-top: 2rem;
+ }
+ .swagger-ui .mt5-l {
+ margin-top: 4rem;
+ }
+ .swagger-ui .mt6-l {
+ margin-top: 8rem;
+ }
+ .swagger-ui .mt7-l {
+ margin-top: 16rem;
+ }
+ .swagger-ui .mv0-l {
+ margin-bottom: 0;
+ margin-top: 0;
+ }
+ .swagger-ui .mv1-l {
+ margin-bottom: 0.25rem;
+ margin-top: 0.25rem;
+ }
+ .swagger-ui .mv2-l {
+ margin-bottom: 0.5rem;
+ margin-top: 0.5rem;
+ }
+ .swagger-ui .mv3-l {
+ margin-bottom: 1rem;
+ margin-top: 1rem;
+ }
+ .swagger-ui .mv4-l {
+ margin-bottom: 2rem;
+ margin-top: 2rem;
+ }
+ .swagger-ui .mv5-l {
+ margin-bottom: 4rem;
+ margin-top: 4rem;
+ }
+ .swagger-ui .mv6-l {
+ margin-bottom: 8rem;
+ margin-top: 8rem;
+ }
+ .swagger-ui .mv7-l {
+ margin-bottom: 16rem;
+ margin-top: 16rem;
+ }
+ .swagger-ui .mh0-l {
+ margin-left: 0;
+ margin-right: 0;
+ }
+ .swagger-ui .mh1-l {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem;
+ }
+ .swagger-ui .mh2-l {
+ margin-left: 0.5rem;
+ margin-right: 0.5rem;
+ }
+ .swagger-ui .mh3-l {
+ margin-left: 1rem;
+ margin-right: 1rem;
+ }
+ .swagger-ui .mh4-l {
+ margin-left: 2rem;
+ margin-right: 2rem;
+ }
+ .swagger-ui .mh5-l {
+ margin-left: 4rem;
+ margin-right: 4rem;
+ }
+ .swagger-ui .mh6-l {
+ margin-left: 8rem;
+ margin-right: 8rem;
+ }
+ .swagger-ui .mh7-l {
+ margin-left: 16rem;
+ margin-right: 16rem;
+ }
+}
+.swagger-ui .na1 {
+ margin: -0.25rem;
+}
+.swagger-ui .na2 {
+ margin: -0.5rem;
+}
+.swagger-ui .na3 {
+ margin: -1rem;
+}
+.swagger-ui .na4 {
+ margin: -2rem;
+}
+.swagger-ui .na5 {
+ margin: -4rem;
+}
+.swagger-ui .na6 {
+ margin: -8rem;
+}
+.swagger-ui .na7 {
+ margin: -16rem;
+}
+.swagger-ui .nl1 {
+ margin-left: -0.25rem;
+}
+.swagger-ui .nl2 {
+ margin-left: -0.5rem;
+}
+.swagger-ui .nl3 {
+ margin-left: -1rem;
+}
+.swagger-ui .nl4 {
+ margin-left: -2rem;
+}
+.swagger-ui .nl5 {
+ margin-left: -4rem;
+}
+.swagger-ui .nl6 {
+ margin-left: -8rem;
+}
+.swagger-ui .nl7 {
+ margin-left: -16rem;
+}
+.swagger-ui .nr1 {
+ margin-right: -0.25rem;
+}
+.swagger-ui .nr2 {
+ margin-right: -0.5rem;
+}
+.swagger-ui .nr3 {
+ margin-right: -1rem;
+}
+.swagger-ui .nr4 {
+ margin-right: -2rem;
+}
+.swagger-ui .nr5 {
+ margin-right: -4rem;
+}
+.swagger-ui .nr6 {
+ margin-right: -8rem;
+}
+.swagger-ui .nr7 {
+ margin-right: -16rem;
+}
+.swagger-ui .nb1 {
+ margin-bottom: -0.25rem;
+}
+.swagger-ui .nb2 {
+ margin-bottom: -0.5rem;
+}
+.swagger-ui .nb3 {
+ margin-bottom: -1rem;
+}
+.swagger-ui .nb4 {
+ margin-bottom: -2rem;
+}
+.swagger-ui .nb5 {
+ margin-bottom: -4rem;
+}
+.swagger-ui .nb6 {
+ margin-bottom: -8rem;
+}
+.swagger-ui .nb7 {
+ margin-bottom: -16rem;
+}
+.swagger-ui .nt1 {
+ margin-top: -0.25rem;
+}
+.swagger-ui .nt2 {
+ margin-top: -0.5rem;
+}
+.swagger-ui .nt3 {
+ margin-top: -1rem;
+}
+.swagger-ui .nt4 {
+ margin-top: -2rem;
+}
+.swagger-ui .nt5 {
+ margin-top: -4rem;
+}
+.swagger-ui .nt6 {
+ margin-top: -8rem;
+}
+.swagger-ui .nt7 {
+ margin-top: -16rem;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .na1-ns {
+ margin: -0.25rem;
+ }
+ .swagger-ui .na2-ns {
+ margin: -0.5rem;
+ }
+ .swagger-ui .na3-ns {
+ margin: -1rem;
+ }
+ .swagger-ui .na4-ns {
+ margin: -2rem;
+ }
+ .swagger-ui .na5-ns {
+ margin: -4rem;
+ }
+ .swagger-ui .na6-ns {
+ margin: -8rem;
+ }
+ .swagger-ui .na7-ns {
+ margin: -16rem;
+ }
+ .swagger-ui .nl1-ns {
+ margin-left: -0.25rem;
+ }
+ .swagger-ui .nl2-ns {
+ margin-left: -0.5rem;
+ }
+ .swagger-ui .nl3-ns {
+ margin-left: -1rem;
+ }
+ .swagger-ui .nl4-ns {
+ margin-left: -2rem;
+ }
+ .swagger-ui .nl5-ns {
+ margin-left: -4rem;
+ }
+ .swagger-ui .nl6-ns {
+ margin-left: -8rem;
+ }
+ .swagger-ui .nl7-ns {
+ margin-left: -16rem;
+ }
+ .swagger-ui .nr1-ns {
+ margin-right: -0.25rem;
+ }
+ .swagger-ui .nr2-ns {
+ margin-right: -0.5rem;
+ }
+ .swagger-ui .nr3-ns {
+ margin-right: -1rem;
+ }
+ .swagger-ui .nr4-ns {
+ margin-right: -2rem;
+ }
+ .swagger-ui .nr5-ns {
+ margin-right: -4rem;
+ }
+ .swagger-ui .nr6-ns {
+ margin-right: -8rem;
+ }
+ .swagger-ui .nr7-ns {
+ margin-right: -16rem;
+ }
+ .swagger-ui .nb1-ns {
+ margin-bottom: -0.25rem;
+ }
+ .swagger-ui .nb2-ns {
+ margin-bottom: -0.5rem;
+ }
+ .swagger-ui .nb3-ns {
+ margin-bottom: -1rem;
+ }
+ .swagger-ui .nb4-ns {
+ margin-bottom: -2rem;
+ }
+ .swagger-ui .nb5-ns {
+ margin-bottom: -4rem;
+ }
+ .swagger-ui .nb6-ns {
+ margin-bottom: -8rem;
+ }
+ .swagger-ui .nb7-ns {
+ margin-bottom: -16rem;
+ }
+ .swagger-ui .nt1-ns {
+ margin-top: -0.25rem;
+ }
+ .swagger-ui .nt2-ns {
+ margin-top: -0.5rem;
+ }
+ .swagger-ui .nt3-ns {
+ margin-top: -1rem;
+ }
+ .swagger-ui .nt4-ns {
+ margin-top: -2rem;
+ }
+ .swagger-ui .nt5-ns {
+ margin-top: -4rem;
+ }
+ .swagger-ui .nt6-ns {
+ margin-top: -8rem;
+ }
+ .swagger-ui .nt7-ns {
+ margin-top: -16rem;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .na1-m {
+ margin: -0.25rem;
+ }
+ .swagger-ui .na2-m {
+ margin: -0.5rem;
+ }
+ .swagger-ui .na3-m {
+ margin: -1rem;
+ }
+ .swagger-ui .na4-m {
+ margin: -2rem;
+ }
+ .swagger-ui .na5-m {
+ margin: -4rem;
+ }
+ .swagger-ui .na6-m {
+ margin: -8rem;
+ }
+ .swagger-ui .na7-m {
+ margin: -16rem;
+ }
+ .swagger-ui .nl1-m {
+ margin-left: -0.25rem;
+ }
+ .swagger-ui .nl2-m {
+ margin-left: -0.5rem;
+ }
+ .swagger-ui .nl3-m {
+ margin-left: -1rem;
+ }
+ .swagger-ui .nl4-m {
+ margin-left: -2rem;
+ }
+ .swagger-ui .nl5-m {
+ margin-left: -4rem;
+ }
+ .swagger-ui .nl6-m {
+ margin-left: -8rem;
+ }
+ .swagger-ui .nl7-m {
+ margin-left: -16rem;
+ }
+ .swagger-ui .nr1-m {
+ margin-right: -0.25rem;
+ }
+ .swagger-ui .nr2-m {
+ margin-right: -0.5rem;
+ }
+ .swagger-ui .nr3-m {
+ margin-right: -1rem;
+ }
+ .swagger-ui .nr4-m {
+ margin-right: -2rem;
+ }
+ .swagger-ui .nr5-m {
+ margin-right: -4rem;
+ }
+ .swagger-ui .nr6-m {
+ margin-right: -8rem;
+ }
+ .swagger-ui .nr7-m {
+ margin-right: -16rem;
+ }
+ .swagger-ui .nb1-m {
+ margin-bottom: -0.25rem;
+ }
+ .swagger-ui .nb2-m {
+ margin-bottom: -0.5rem;
+ }
+ .swagger-ui .nb3-m {
+ margin-bottom: -1rem;
+ }
+ .swagger-ui .nb4-m {
+ margin-bottom: -2rem;
+ }
+ .swagger-ui .nb5-m {
+ margin-bottom: -4rem;
+ }
+ .swagger-ui .nb6-m {
+ margin-bottom: -8rem;
+ }
+ .swagger-ui .nb7-m {
+ margin-bottom: -16rem;
+ }
+ .swagger-ui .nt1-m {
+ margin-top: -0.25rem;
+ }
+ .swagger-ui .nt2-m {
+ margin-top: -0.5rem;
+ }
+ .swagger-ui .nt3-m {
+ margin-top: -1rem;
+ }
+ .swagger-ui .nt4-m {
+ margin-top: -2rem;
+ }
+ .swagger-ui .nt5-m {
+ margin-top: -4rem;
+ }
+ .swagger-ui .nt6-m {
+ margin-top: -8rem;
+ }
+ .swagger-ui .nt7-m {
+ margin-top: -16rem;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .na1-l {
+ margin: -0.25rem;
+ }
+ .swagger-ui .na2-l {
+ margin: -0.5rem;
+ }
+ .swagger-ui .na3-l {
+ margin: -1rem;
+ }
+ .swagger-ui .na4-l {
+ margin: -2rem;
+ }
+ .swagger-ui .na5-l {
+ margin: -4rem;
+ }
+ .swagger-ui .na6-l {
+ margin: -8rem;
+ }
+ .swagger-ui .na7-l {
+ margin: -16rem;
+ }
+ .swagger-ui .nl1-l {
+ margin-left: -0.25rem;
+ }
+ .swagger-ui .nl2-l {
+ margin-left: -0.5rem;
+ }
+ .swagger-ui .nl3-l {
+ margin-left: -1rem;
+ }
+ .swagger-ui .nl4-l {
+ margin-left: -2rem;
+ }
+ .swagger-ui .nl5-l {
+ margin-left: -4rem;
+ }
+ .swagger-ui .nl6-l {
+ margin-left: -8rem;
+ }
+ .swagger-ui .nl7-l {
+ margin-left: -16rem;
+ }
+ .swagger-ui .nr1-l {
+ margin-right: -0.25rem;
+ }
+ .swagger-ui .nr2-l {
+ margin-right: -0.5rem;
+ }
+ .swagger-ui .nr3-l {
+ margin-right: -1rem;
+ }
+ .swagger-ui .nr4-l {
+ margin-right: -2rem;
+ }
+ .swagger-ui .nr5-l {
+ margin-right: -4rem;
+ }
+ .swagger-ui .nr6-l {
+ margin-right: -8rem;
+ }
+ .swagger-ui .nr7-l {
+ margin-right: -16rem;
+ }
+ .swagger-ui .nb1-l {
+ margin-bottom: -0.25rem;
+ }
+ .swagger-ui .nb2-l {
+ margin-bottom: -0.5rem;
+ }
+ .swagger-ui .nb3-l {
+ margin-bottom: -1rem;
+ }
+ .swagger-ui .nb4-l {
+ margin-bottom: -2rem;
+ }
+ .swagger-ui .nb5-l {
+ margin-bottom: -4rem;
+ }
+ .swagger-ui .nb6-l {
+ margin-bottom: -8rem;
+ }
+ .swagger-ui .nb7-l {
+ margin-bottom: -16rem;
+ }
+ .swagger-ui .nt1-l {
+ margin-top: -0.25rem;
+ }
+ .swagger-ui .nt2-l {
+ margin-top: -0.5rem;
+ }
+ .swagger-ui .nt3-l {
+ margin-top: -1rem;
+ }
+ .swagger-ui .nt4-l {
+ margin-top: -2rem;
+ }
+ .swagger-ui .nt5-l {
+ margin-top: -4rem;
+ }
+ .swagger-ui .nt6-l {
+ margin-top: -8rem;
+ }
+ .swagger-ui .nt7-l {
+ margin-top: -16rem;
+ }
+}
+.swagger-ui .collapse {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+.swagger-ui .striped--light-silver:nth-child(odd) {
+ background-color: #aaa;
+}
+.swagger-ui .striped--moon-gray:nth-child(odd) {
+ background-color: #ccc;
+}
+.swagger-ui .striped--light-gray:nth-child(odd) {
+ background-color: #eee;
+}
+.swagger-ui .striped--near-white:nth-child(odd) {
+ background-color: #f4f4f4;
+}
+.swagger-ui .stripe-light:nth-child(odd) {
+ background-color: hsla(0, 0%, 100%, 0.1);
+}
+.swagger-ui .stripe-dark:nth-child(odd) {
+ background-color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .strike {
+ -webkit-text-decoration: line-through;
+ text-decoration: line-through;
+}
+.swagger-ui .underline {
+ -webkit-text-decoration: underline;
+ text-decoration: underline;
+}
+.swagger-ui .no-underline {
+ -webkit-text-decoration: none;
+ text-decoration: none;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .strike-ns {
+ -webkit-text-decoration: line-through;
+ text-decoration: line-through;
+ }
+ .swagger-ui .underline-ns {
+ -webkit-text-decoration: underline;
+ text-decoration: underline;
+ }
+ .swagger-ui .no-underline-ns {
+ -webkit-text-decoration: none;
+ text-decoration: none;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .strike-m {
+ -webkit-text-decoration: line-through;
+ text-decoration: line-through;
+ }
+ .swagger-ui .underline-m {
+ -webkit-text-decoration: underline;
+ text-decoration: underline;
+ }
+ .swagger-ui .no-underline-m {
+ -webkit-text-decoration: none;
+ text-decoration: none;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .strike-l {
+ -webkit-text-decoration: line-through;
+ text-decoration: line-through;
+ }
+ .swagger-ui .underline-l {
+ -webkit-text-decoration: underline;
+ text-decoration: underline;
+ }
+ .swagger-ui .no-underline-l {
+ -webkit-text-decoration: none;
+ text-decoration: none;
+ }
+}
+.swagger-ui .tl {
+ text-align: left;
+}
+.swagger-ui .tr {
+ text-align: right;
+}
+.swagger-ui .tc {
+ text-align: center;
+}
+.swagger-ui .tj {
+ text-align: justify;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .tl-ns {
+ text-align: left;
+ }
+ .swagger-ui .tr-ns {
+ text-align: right;
+ }
+ .swagger-ui .tc-ns {
+ text-align: center;
+ }
+ .swagger-ui .tj-ns {
+ text-align: justify;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .tl-m {
+ text-align: left;
+ }
+ .swagger-ui .tr-m {
+ text-align: right;
+ }
+ .swagger-ui .tc-m {
+ text-align: center;
+ }
+ .swagger-ui .tj-m {
+ text-align: justify;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .tl-l {
+ text-align: left;
+ }
+ .swagger-ui .tr-l {
+ text-align: right;
+ }
+ .swagger-ui .tc-l {
+ text-align: center;
+ }
+ .swagger-ui .tj-l {
+ text-align: justify;
+ }
+}
+.swagger-ui .ttc {
+ text-transform: capitalize;
+}
+.swagger-ui .ttl {
+ text-transform: lowercase;
+}
+.swagger-ui .ttu {
+ text-transform: uppercase;
+}
+.swagger-ui .ttn {
+ text-transform: none;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .ttc-ns {
+ text-transform: capitalize;
+ }
+ .swagger-ui .ttl-ns {
+ text-transform: lowercase;
+ }
+ .swagger-ui .ttu-ns {
+ text-transform: uppercase;
+ }
+ .swagger-ui .ttn-ns {
+ text-transform: none;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .ttc-m {
+ text-transform: capitalize;
+ }
+ .swagger-ui .ttl-m {
+ text-transform: lowercase;
+ }
+ .swagger-ui .ttu-m {
+ text-transform: uppercase;
+ }
+ .swagger-ui .ttn-m {
+ text-transform: none;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .ttc-l {
+ text-transform: capitalize;
+ }
+ .swagger-ui .ttl-l {
+ text-transform: lowercase;
+ }
+ .swagger-ui .ttu-l {
+ text-transform: uppercase;
+ }
+ .swagger-ui .ttn-l {
+ text-transform: none;
+ }
+}
+.swagger-ui .f-6,
+.swagger-ui .f-headline {
+ font-size: 6rem;
+}
+.swagger-ui .f-5,
+.swagger-ui .f-subheadline {
+ font-size: 5rem;
+}
+.swagger-ui .f1 {
+ font-size: 3rem;
+}
+.swagger-ui .f2 {
+ font-size: 2.25rem;
+}
+.swagger-ui .f3 {
+ font-size: 1.5rem;
+}
+.swagger-ui .f4 {
+ font-size: 1.25rem;
+}
+.swagger-ui .f5 {
+ font-size: 1rem;
+}
+.swagger-ui .f6 {
+ font-size: 0.875rem;
+}
+.swagger-ui .f7 {
+ font-size: 0.75rem;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .f-6-ns,
+ .swagger-ui .f-headline-ns {
+ font-size: 6rem;
+ }
+ .swagger-ui .f-5-ns,
+ .swagger-ui .f-subheadline-ns {
+ font-size: 5rem;
+ }
+ .swagger-ui .f1-ns {
+ font-size: 3rem;
+ }
+ .swagger-ui .f2-ns {
+ font-size: 2.25rem;
+ }
+ .swagger-ui .f3-ns {
+ font-size: 1.5rem;
+ }
+ .swagger-ui .f4-ns {
+ font-size: 1.25rem;
+ }
+ .swagger-ui .f5-ns {
+ font-size: 1rem;
+ }
+ .swagger-ui .f6-ns {
+ font-size: 0.875rem;
+ }
+ .swagger-ui .f7-ns {
+ font-size: 0.75rem;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .f-6-m,
+ .swagger-ui .f-headline-m {
+ font-size: 6rem;
+ }
+ .swagger-ui .f-5-m,
+ .swagger-ui .f-subheadline-m {
+ font-size: 5rem;
+ }
+ .swagger-ui .f1-m {
+ font-size: 3rem;
+ }
+ .swagger-ui .f2-m {
+ font-size: 2.25rem;
+ }
+ .swagger-ui .f3-m {
+ font-size: 1.5rem;
+ }
+ .swagger-ui .f4-m {
+ font-size: 1.25rem;
+ }
+ .swagger-ui .f5-m {
+ font-size: 1rem;
+ }
+ .swagger-ui .f6-m {
+ font-size: 0.875rem;
+ }
+ .swagger-ui .f7-m {
+ font-size: 0.75rem;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .f-6-l,
+ .swagger-ui .f-headline-l {
+ font-size: 6rem;
+ }
+ .swagger-ui .f-5-l,
+ .swagger-ui .f-subheadline-l {
+ font-size: 5rem;
+ }
+ .swagger-ui .f1-l {
+ font-size: 3rem;
+ }
+ .swagger-ui .f2-l {
+ font-size: 2.25rem;
+ }
+ .swagger-ui .f3-l {
+ font-size: 1.5rem;
+ }
+ .swagger-ui .f4-l {
+ font-size: 1.25rem;
+ }
+ .swagger-ui .f5-l {
+ font-size: 1rem;
+ }
+ .swagger-ui .f6-l {
+ font-size: 0.875rem;
+ }
+ .swagger-ui .f7-l {
+ font-size: 0.75rem;
+ }
+}
+.swagger-ui .measure {
+ max-width: 30em;
+}
+.swagger-ui .measure-wide {
+ max-width: 34em;
+}
+.swagger-ui .measure-narrow {
+ max-width: 20em;
+}
+.swagger-ui .indent {
+ margin-bottom: 0;
+ margin-top: 0;
+ text-indent: 1em;
+}
+.swagger-ui .small-caps {
+ font-feature-settings: 'smcp';
+ font-variant: small-caps;
+}
+.swagger-ui .truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .measure-ns {
+ max-width: 30em;
+ }
+ .swagger-ui .measure-wide-ns {
+ max-width: 34em;
+ }
+ .swagger-ui .measure-narrow-ns {
+ max-width: 20em;
+ }
+ .swagger-ui .indent-ns {
+ margin-bottom: 0;
+ margin-top: 0;
+ text-indent: 1em;
+ }
+ .swagger-ui .small-caps-ns {
+ font-feature-settings: 'smcp';
+ font-variant: small-caps;
+ }
+ .swagger-ui .truncate-ns {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .measure-m {
+ max-width: 30em;
+ }
+ .swagger-ui .measure-wide-m {
+ max-width: 34em;
+ }
+ .swagger-ui .measure-narrow-m {
+ max-width: 20em;
+ }
+ .swagger-ui .indent-m {
+ margin-bottom: 0;
+ margin-top: 0;
+ text-indent: 1em;
+ }
+ .swagger-ui .small-caps-m {
+ font-feature-settings: 'smcp';
+ font-variant: small-caps;
+ }
+ .swagger-ui .truncate-m {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .measure-l {
+ max-width: 30em;
+ }
+ .swagger-ui .measure-wide-l {
+ max-width: 34em;
+ }
+ .swagger-ui .measure-narrow-l {
+ max-width: 20em;
+ }
+ .swagger-ui .indent-l {
+ margin-bottom: 0;
+ margin-top: 0;
+ text-indent: 1em;
+ }
+ .swagger-ui .small-caps-l {
+ font-feature-settings: 'smcp';
+ font-variant: small-caps;
+ }
+ .swagger-ui .truncate-l {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+}
+.swagger-ui .overflow-container {
+ overflow-y: scroll;
+}
+.swagger-ui .center {
+ margin-left: auto;
+ margin-right: auto;
+}
+.swagger-ui .mr-auto {
+ margin-right: auto;
+}
+.swagger-ui .ml-auto {
+ margin-left: auto;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .center-ns {
+ margin-left: auto;
+ margin-right: auto;
+ }
+ .swagger-ui .mr-auto-ns {
+ margin-right: auto;
+ }
+ .swagger-ui .ml-auto-ns {
+ margin-left: auto;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .center-m {
+ margin-left: auto;
+ margin-right: auto;
+ }
+ .swagger-ui .mr-auto-m {
+ margin-right: auto;
+ }
+ .swagger-ui .ml-auto-m {
+ margin-left: auto;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .center-l {
+ margin-left: auto;
+ margin-right: auto;
+ }
+ .swagger-ui .mr-auto-l {
+ margin-right: auto;
+ }
+ .swagger-ui .ml-auto-l {
+ margin-left: auto;
+ }
+}
+.swagger-ui .clip {
+ position: fixed !important;
+ _position: absolute !important;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .clip-ns {
+ position: fixed !important;
+ _position: absolute !important;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .clip-m {
+ position: fixed !important;
+ _position: absolute !important;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .clip-l {
+ position: fixed !important;
+ _position: absolute !important;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ }
+}
+.swagger-ui .ws-normal {
+ white-space: normal;
+}
+.swagger-ui .nowrap {
+ white-space: nowrap;
+}
+.swagger-ui .pre {
+ white-space: pre;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .ws-normal-ns {
+ white-space: normal;
+ }
+ .swagger-ui .nowrap-ns {
+ white-space: nowrap;
+ }
+ .swagger-ui .pre-ns {
+ white-space: pre;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .ws-normal-m {
+ white-space: normal;
+ }
+ .swagger-ui .nowrap-m {
+ white-space: nowrap;
+ }
+ .swagger-ui .pre-m {
+ white-space: pre;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .ws-normal-l {
+ white-space: normal;
+ }
+ .swagger-ui .nowrap-l {
+ white-space: nowrap;
+ }
+ .swagger-ui .pre-l {
+ white-space: pre;
+ }
+}
+.swagger-ui .v-base {
+ vertical-align: baseline;
+}
+.swagger-ui .v-mid {
+ vertical-align: middle;
+}
+.swagger-ui .v-top {
+ vertical-align: top;
+}
+.swagger-ui .v-btm {
+ vertical-align: bottom;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .v-base-ns {
+ vertical-align: baseline;
+ }
+ .swagger-ui .v-mid-ns {
+ vertical-align: middle;
+ }
+ .swagger-ui .v-top-ns {
+ vertical-align: top;
+ }
+ .swagger-ui .v-btm-ns {
+ vertical-align: bottom;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .v-base-m {
+ vertical-align: baseline;
+ }
+ .swagger-ui .v-mid-m {
+ vertical-align: middle;
+ }
+ .swagger-ui .v-top-m {
+ vertical-align: top;
+ }
+ .swagger-ui .v-btm-m {
+ vertical-align: bottom;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .v-base-l {
+ vertical-align: baseline;
+ }
+ .swagger-ui .v-mid-l {
+ vertical-align: middle;
+ }
+ .swagger-ui .v-top-l {
+ vertical-align: top;
+ }
+ .swagger-ui .v-btm-l {
+ vertical-align: bottom;
+ }
+}
+.swagger-ui .dim {
+ opacity: 1;
+ transition: opacity 0.15s ease-in;
+}
+.swagger-ui .dim:focus,
+.swagger-ui .dim:hover {
+ opacity: 0.5;
+ transition: opacity 0.15s ease-in;
+}
+.swagger-ui .dim:active {
+ opacity: 0.8;
+ transition: opacity 0.15s ease-out;
+}
+.swagger-ui .glow {
+ transition: opacity 0.15s ease-in;
+}
+.swagger-ui .glow:focus,
+.swagger-ui .glow:hover {
+ opacity: 1;
+ transition: opacity 0.15s ease-in;
+}
+.swagger-ui .hide-child .child {
+ opacity: 0;
+ transition: opacity 0.15s ease-in;
+}
+.swagger-ui .hide-child:active .child,
+.swagger-ui .hide-child:focus .child,
+.swagger-ui .hide-child:hover .child {
+ opacity: 1;
+ transition: opacity 0.15s ease-in;
+}
+.swagger-ui .underline-hover:focus,
+.swagger-ui .underline-hover:hover {
+ -webkit-text-decoration: underline;
+ text-decoration: underline;
+}
+.swagger-ui .grow {
+ -moz-osx-font-smoothing: grayscale;
+ backface-visibility: hidden;
+ transform: translateZ(0);
+ transition: transform 0.25s ease-out;
+}
+.swagger-ui .grow:focus,
+.swagger-ui .grow:hover {
+ transform: scale(1.05);
+}
+.swagger-ui .grow:active {
+ transform: scale(0.9);
+}
+.swagger-ui .grow-large {
+ -moz-osx-font-smoothing: grayscale;
+ backface-visibility: hidden;
+ transform: translateZ(0);
+ transition: transform 0.25s ease-in-out;
+}
+.swagger-ui .grow-large:focus,
+.swagger-ui .grow-large:hover {
+ transform: scale(1.2);
+}
+.swagger-ui .grow-large:active {
+ transform: scale(0.95);
+}
+.swagger-ui .pointer:hover {
+ cursor: pointer;
+}
+.swagger-ui .shadow-hover {
+ cursor: pointer;
+ position: relative;
+ transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
+}
+.swagger-ui .shadow-hover:after {
+ border-radius: inherit;
+ box-shadow: 0 0 16px 2px rgba(0, 0, 0, 0.2);
+ content: '';
+ height: 100%;
+ left: 0;
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
+ width: 100%;
+ z-index: -1;
+}
+.swagger-ui .shadow-hover:focus:after,
+.swagger-ui .shadow-hover:hover:after {
+ opacity: 1;
+}
+.swagger-ui .bg-animate,
+.swagger-ui .bg-animate:focus,
+.swagger-ui .bg-animate:hover {
+ transition: background-color 0.15s ease-in-out;
+}
+.swagger-ui .z-0 {
+ z-index: 0;
+}
+.swagger-ui .z-1 {
+ z-index: 1;
+}
+.swagger-ui .z-2 {
+ z-index: 2;
+}
+.swagger-ui .z-3 {
+ z-index: 3;
+}
+.swagger-ui .z-4 {
+ z-index: 4;
+}
+.swagger-ui .z-5 {
+ z-index: 5;
+}
+.swagger-ui .z-999 {
+ z-index: 999;
+}
+.swagger-ui .z-9999 {
+ z-index: 9999;
+}
+.swagger-ui .z-max {
+ z-index: 2147483647;
+}
+.swagger-ui .z-inherit {
+ z-index: inherit;
+}
+.swagger-ui .z-initial,
+.swagger-ui .z-unset {
+ z-index: auto;
+}
+.swagger-ui .nested-copy-line-height ol,
+.swagger-ui .nested-copy-line-height p,
+.swagger-ui .nested-copy-line-height ul {
+ line-height: 1.5;
+}
+.swagger-ui .nested-headline-line-height h1,
+.swagger-ui .nested-headline-line-height h2,
+.swagger-ui .nested-headline-line-height h3,
+.swagger-ui .nested-headline-line-height h4,
+.swagger-ui .nested-headline-line-height h5,
+.swagger-ui .nested-headline-line-height h6 {
+ line-height: 1.25;
+}
+.swagger-ui .nested-list-reset ol,
+.swagger-ui .nested-list-reset ul {
+ list-style-type: none;
+ margin-left: 0;
+ padding-left: 0;
+}
+.swagger-ui .nested-copy-indent p + p {
+ margin-bottom: 0;
+ margin-top: 0;
+ text-indent: 0.1em;
+}
+.swagger-ui .nested-copy-seperator p + p {
+ margin-top: 1.5em;
+}
+.swagger-ui .nested-img img {
+ display: block;
+ max-width: 100%;
+ width: 100%;
+}
+.swagger-ui .nested-links a {
+ color: #357edd;
+ transition: color 0.15s ease-in;
+}
+.swagger-ui .nested-links a:focus,
+.swagger-ui .nested-links a:hover {
+ color: #96ccff;
+ transition: color 0.15s ease-in;
+}
+.swagger-ui .wrapper {
+ box-sizing: border-box;
+ margin: 0 auto;
+ max-width: 1460px;
+ padding: 0 20px;
+ width: 100%;
+}
+.swagger-ui .opblock-tag-section {
+ display: flex;
+ flex-direction: column;
+}
+.swagger-ui .try-out.btn-group {
+ display: flex;
+ flex: 0.1 2 auto;
+ padding: 0;
+}
+.swagger-ui .try-out__btn {
+ margin-left: 1.25rem;
+}
+.swagger-ui .opblock-tag {
+ align-items: center;
+ border-bottom: 1px solid rgba(59, 65, 81, 0.3);
+ cursor: pointer;
+ display: flex;
+ padding: 10px 20px 10px 10px;
+ transition: all 0.2s;
+}
+.swagger-ui .opblock-tag:hover {
+ background: rgba(0, 0, 0, 0.02);
+}
+.swagger-ui .opblock-tag {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 24px;
+ margin: 0 0 5px;
+}
+.swagger-ui .opblock-tag.no-desc span {
+ flex: 1;
+}
+.swagger-ui .opblock-tag svg {
+ transition: all 0.4s;
+}
+.swagger-ui .opblock-tag small {
+ color: #3b4151;
+ flex: 2;
+ font-family: sans-serif;
+ font-size: 14px;
+ font-weight: 400;
+ padding: 0 10px;
+}
+.swagger-ui .opblock-tag > div {
+ flex: 1 1 150px;
+ font-weight: 400;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+@media (max-width: 640px) {
+ .swagger-ui .opblock-tag small,
+ .swagger-ui .opblock-tag > div {
+ flex: 1;
+ }
+}
+.swagger-ui .opblock-tag .info__externaldocs {
+ text-align: right;
+}
+.swagger-ui .parameter__type {
+ color: #3b4151;
+ font-family: monospace;
+ font-size: 12px;
+ font-weight: 600;
+ padding: 5px 0;
+}
+.swagger-ui .parameter-controls {
+ margin-top: 0.75em;
+}
+.swagger-ui .examples__title {
+ display: block;
+ font-size: 1.1em;
+ font-weight: 700;
+ margin-bottom: 0.75em;
+}
+.swagger-ui .examples__section {
+ margin-top: 1.5em;
+}
+.swagger-ui .examples__section-header {
+ font-size: 0.9rem;
+ font-weight: 700;
+ margin-bottom: 0.5rem;
+}
+.swagger-ui .examples-select {
+ display: inline-block;
+ margin-bottom: 0.75em;
+}
+.swagger-ui .examples-select .examples-select-element {
+ width: 100%;
+}
+.swagger-ui .examples-select__section-label {
+ font-size: 0.9rem;
+ font-weight: 700;
+ margin-right: 0.5rem;
+}
+.swagger-ui .example__section {
+ margin-top: 1.5em;
+}
+.swagger-ui .example__section-header {
+ font-size: 0.9rem;
+ font-weight: 700;
+ margin-bottom: 0.5rem;
+}
+.swagger-ui .view-line-link {
+ cursor: pointer;
+ margin: 0 5px;
+ position: relative;
+ top: 3px;
+ transition: all 0.5s;
+ width: 20px;
+}
+.swagger-ui .opblock {
+ border: 1px solid #000;
+ border-radius: 4px;
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.19);
+ margin: 0 0 15px;
+}
+.swagger-ui .opblock .tab-header {
+ display: flex;
+ flex: 1;
+}
+.swagger-ui .opblock .tab-header .tab-item {
+ cursor: pointer;
+ padding: 0 40px;
+}
+.swagger-ui .opblock .tab-header .tab-item:first-of-type {
+ padding: 0 40px 0 0;
+}
+.swagger-ui .opblock .tab-header .tab-item.active h4 span {
+ position: relative;
+}
+.swagger-ui .opblock .tab-header .tab-item.active h4 span:after {
+ background: grey;
+ bottom: -15px;
+ content: '';
+ height: 4px;
+ left: 50%;
+ position: absolute;
+ transform: translateX(-50%);
+ width: 120%;
+}
+.swagger-ui .opblock.is-open .opblock-summary {
+ border-bottom: 1px solid #000;
+}
+.swagger-ui .opblock .opblock-section-header {
+ align-items: center;
+ background: hsla(0, 0%, 100%, 0.8);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+ display: flex;
+ min-height: 50px;
+ padding: 8px 20px;
+}
+.swagger-ui .opblock .opblock-section-header > label {
+ align-items: center;
+ color: #3b4151;
+ display: flex;
+ font-family: sans-serif;
+ font-size: 12px;
+ font-weight: 700;
+ margin: 0 0 0 auto;
+}
+.swagger-ui .opblock .opblock-section-header > label > span {
+ padding: 0 10px 0 0;
+}
+.swagger-ui .opblock .opblock-section-header h4 {
+ color: #3b4151;
+ flex: 1;
+ font-family: sans-serif;
+ font-size: 14px;
+ margin: 0;
+}
+.swagger-ui .opblock .opblock-summary-method {
+ background: #000;
+ border-radius: 3px;
+ color: #fff;
+ font-family: sans-serif;
+ font-size: 14px;
+ font-weight: 700;
+ min-width: 80px;
+ padding: 6px 0;
+ text-align: center;
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
+}
+@media (max-width: 768px) {
+ .swagger-ui .opblock .opblock-summary-method {
+ font-size: 12px;
+ }
+}
+.swagger-ui .opblock .opblock-summary-operation-id,
+.swagger-ui .opblock .opblock-summary-path,
+.swagger-ui .opblock .opblock-summary-path__deprecated {
+ align-items: center;
+ color: #3b4151;
+ display: flex;
+ font-family: monospace;
+ font-size: 16px;
+ font-weight: 600;
+ word-break: break-word;
+}
+@media (max-width: 768px) {
+ .swagger-ui .opblock .opblock-summary-operation-id,
+ .swagger-ui .opblock .opblock-summary-path,
+ .swagger-ui .opblock .opblock-summary-path__deprecated {
+ font-size: 12px;
+ }
+}
+.swagger-ui .opblock .opblock-summary-path {
+ flex-shrink: 1;
+}
+@media (max-width: 640px) {
+ .swagger-ui .opblock .opblock-summary-path {
+ max-width: 100%;
+ }
+}
+.swagger-ui .opblock .opblock-summary-path__deprecated {
+ -webkit-text-decoration: line-through;
+ text-decoration: line-through;
+}
+.swagger-ui .opblock .opblock-summary-operation-id {
+ font-size: 14px;
+}
+.swagger-ui .opblock .opblock-summary-description {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 13px;
+ word-break: break-word;
+}
+.swagger-ui .opblock .opblock-summary-path-description-wrapper {
+ align-items: center;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ gap: 0 10px;
+ padding: 0 10px;
+ width: 100%;
+}
+@media (max-width: 550px) {
+ .swagger-ui .opblock .opblock-summary-path-description-wrapper {
+ align-items: flex-start;
+ flex-direction: column;
+ }
+}
+.swagger-ui .opblock .opblock-summary {
+ align-items: center;
+ cursor: pointer;
+ display: flex;
+ padding: 5px;
+}
+.swagger-ui .opblock .opblock-summary .view-line-link {
+ cursor: pointer;
+ margin: 0;
+ position: relative;
+ top: 2px;
+ transition: all 0.5s;
+ width: 0;
+}
+.swagger-ui .opblock .opblock-summary:hover .view-line-link {
+ margin: 0 5px;
+ width: 18px;
+}
+.swagger-ui .opblock .opblock-summary:hover .view-line-link.copy-to-clipboard {
+ width: 24px;
+}
+.swagger-ui .opblock.opblock-post {
+ background: rgba(73, 204, 144, 0.1);
+ border-color: #49cc90;
+}
+.swagger-ui .opblock.opblock-post .opblock-summary-method {
+ background: #49cc90;
+}
+.swagger-ui .opblock.opblock-post .opblock-summary {
+ border-color: #49cc90;
+}
+.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after {
+ background: #49cc90;
+}
+.swagger-ui .opblock.opblock-put {
+ background: rgba(252, 161, 48, 0.1);
+ border-color: #fca130;
+}
+.swagger-ui .opblock.opblock-put .opblock-summary-method {
+ background: #fca130;
+}
+.swagger-ui .opblock.opblock-put .opblock-summary {
+ border-color: #fca130;
+}
+.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after {
+ background: #fca130;
+}
+.swagger-ui .opblock.opblock-delete {
+ background: rgba(249, 62, 62, 0.1);
+ border-color: #f93e3e;
+}
+.swagger-ui .opblock.opblock-delete .opblock-summary-method {
+ background: #f93e3e;
+}
+.swagger-ui .opblock.opblock-delete .opblock-summary {
+ border-color: #f93e3e;
+}
+.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after {
+ background: #f93e3e;
+}
+.swagger-ui .opblock.opblock-get {
+ background: rgba(97, 175, 254, 0.1);
+ border-color: #61affe;
+}
+.swagger-ui .opblock.opblock-get .opblock-summary-method {
+ background: #61affe;
+}
+.swagger-ui .opblock.opblock-get .opblock-summary {
+ border-color: #61affe;
+}
+.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after {
+ background: #61affe;
+}
+.swagger-ui .opblock.opblock-patch {
+ background: rgba(80, 227, 194, 0.1);
+ border-color: #50e3c2;
+}
+.swagger-ui .opblock.opblock-patch .opblock-summary-method {
+ background: #50e3c2;
+}
+.swagger-ui .opblock.opblock-patch .opblock-summary {
+ border-color: #50e3c2;
+}
+.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after {
+ background: #50e3c2;
+}
+.swagger-ui .opblock.opblock-head {
+ background: rgba(144, 18, 254, 0.1);
+ border-color: #9012fe;
+}
+.swagger-ui .opblock.opblock-head .opblock-summary-method {
+ background: #9012fe;
+}
+.swagger-ui .opblock.opblock-head .opblock-summary {
+ border-color: #9012fe;
+}
+.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after {
+ background: #9012fe;
+}
+.swagger-ui .opblock.opblock-options {
+ background: rgba(13, 90, 167, 0.1);
+ border-color: #0d5aa7;
+}
+.swagger-ui .opblock.opblock-options .opblock-summary-method {
+ background: #0d5aa7;
+}
+.swagger-ui .opblock.opblock-options .opblock-summary {
+ border-color: #0d5aa7;
+}
+.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after {
+ background: #0d5aa7;
+}
+.swagger-ui .opblock.opblock-deprecated {
+ background: hsla(0, 0%, 92%, 0.1);
+ border-color: #ebebeb;
+ opacity: 0.6;
+}
+.swagger-ui .opblock.opblock-deprecated .opblock-summary-method {
+ background: #ebebeb;
+}
+.swagger-ui .opblock.opblock-deprecated .opblock-summary {
+ border-color: #ebebeb;
+}
+.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after {
+ background: #ebebeb;
+}
+.swagger-ui .opblock .opblock-schemes {
+ padding: 8px 20px;
+}
+.swagger-ui .opblock .opblock-schemes .schemes-title {
+ padding: 0 10px 0 0;
+}
+.swagger-ui .filter .operation-filter-input {
+ border: 2px solid #d8dde7;
+ margin: 20px 0;
+ padding: 10px;
+ width: 100%;
+}
+.swagger-ui .download-url-wrapper .failed,
+.swagger-ui .filter .failed {
+ color: red;
+}
+.swagger-ui .download-url-wrapper .loading,
+.swagger-ui .filter .loading {
+ color: #aaa;
+}
+.swagger-ui .model-example {
+ margin-top: 1em;
+}
+.swagger-ui .tab {
+ display: flex;
+ list-style: none;
+ padding: 0;
+}
+.swagger-ui .tab li {
+ color: #3b4151;
+ cursor: pointer;
+ font-family: sans-serif;
+ font-size: 12px;
+ min-width: 60px;
+ padding: 0;
+}
+.swagger-ui .tab li:first-of-type {
+ padding-left: 0;
+ padding-right: 12px;
+ position: relative;
+}
+.swagger-ui .tab li:first-of-type:after {
+ background: rgba(0, 0, 0, 0.2);
+ content: '';
+ height: 100%;
+ position: absolute;
+ right: 6px;
+ top: 0;
+ width: 1px;
+}
+.swagger-ui .tab li.active {
+ font-weight: 700;
+}
+.swagger-ui .tab li button.tablinks {
+ background: none;
+ border: 0;
+ color: inherit;
+ font-family: inherit;
+ font-weight: inherit;
+ padding: 0;
+}
+.swagger-ui .opblock-description-wrapper,
+.swagger-ui .opblock-external-docs-wrapper,
+.swagger-ui .opblock-title_normal {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 12px;
+ margin: 0 0 5px;
+ padding: 15px 20px;
+}
+.swagger-ui .opblock-description-wrapper h4,
+.swagger-ui .opblock-external-docs-wrapper h4,
+.swagger-ui .opblock-title_normal h4 {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 12px;
+ margin: 0 0 5px;
+}
+.swagger-ui .opblock-description-wrapper p,
+.swagger-ui .opblock-external-docs-wrapper p,
+.swagger-ui .opblock-title_normal p {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 14px;
+ margin: 0;
+}
+.swagger-ui .opblock-external-docs-wrapper h4 {
+ padding-left: 0;
+}
+.swagger-ui .execute-wrapper {
+ padding: 20px;
+ text-align: right;
+}
+.swagger-ui .execute-wrapper .btn {
+ padding: 8px 40px;
+ width: 100%;
+}
+.swagger-ui .body-param-options {
+ display: flex;
+ flex-direction: column;
+}
+.swagger-ui .body-param-options .body-param-edit {
+ padding: 10px 0;
+}
+.swagger-ui .body-param-options label {
+ padding: 8px 0;
+}
+.swagger-ui .body-param-options label select {
+ margin: 3px 0 0;
+}
+.swagger-ui .responses-inner {
+ padding: 20px;
+}
+.swagger-ui .responses-inner h4,
+.swagger-ui .responses-inner h5 {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 12px;
+ margin: 10px 0 5px;
+}
+.swagger-ui .responses-inner .curl {
+ max-height: 400px;
+ min-height: 6em;
+ overflow-y: auto;
+}
+.swagger-ui .response-col_status {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 14px;
+}
+.swagger-ui .response-col_status .response-undocumented {
+ color: #909090;
+ font-family: monospace;
+ font-size: 11px;
+ font-weight: 600;
+}
+.swagger-ui .response-col_links {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 14px;
+ max-width: 40em;
+ padding-left: 2em;
+}
+.swagger-ui .response-col_links .response-undocumented {
+ color: #909090;
+ font-family: monospace;
+ font-size: 11px;
+ font-weight: 600;
+}
+.swagger-ui .response-col_links .operation-link {
+ margin-bottom: 1.5em;
+}
+.swagger-ui .response-col_links .operation-link .description {
+ margin-bottom: 0.5em;
+}
+.swagger-ui .opblock-body .opblock-loading-animation {
+ display: block;
+ margin: 3em auto;
+}
+.swagger-ui .opblock-body pre.microlight {
+ background: #333;
+ border-radius: 4px;
+ font-size: 12px;
+ hyphens: auto;
+ margin: 0;
+ padding: 10px;
+ white-space: pre-wrap;
+ word-break: break-all;
+ word-break: break-word;
+ word-wrap: break-word;
+ color: #fff;
+ font-family: monospace;
+ font-weight: 600;
+}
+.swagger-ui .opblock-body pre.microlight .headerline {
+ display: block;
+}
+.swagger-ui .highlight-code {
+ position: relative;
+}
+.swagger-ui .highlight-code > .microlight {
+ max-height: 400px;
+ min-height: 6em;
+ overflow-y: auto;
+}
+.swagger-ui .highlight-code > .microlight code {
+ white-space: pre-wrap !important;
+ word-break: break-all;
+}
+.swagger-ui .curl-command {
+ position: relative;
+}
+.swagger-ui .download-contents {
+ align-items: center;
+ background: #7d8293;
+ border: none;
+ border-radius: 4px;
+ bottom: 10px;
+ color: #fff;
+ display: flex;
+ font-family: sans-serif;
+ font-size: 14px;
+ font-weight: 600;
+ height: 30px;
+ justify-content: center;
+ padding: 5px;
+ position: absolute;
+ right: 10px;
+ text-align: center;
+}
+.swagger-ui .scheme-container {
+ background: #fff;
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
+ margin: 0 0 20px;
+ padding: 30px 0;
+}
+.swagger-ui .scheme-container .schemes {
+ align-items: flex-end;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 10px;
+ justify-content: space-between;
+}
+.swagger-ui .scheme-container .schemes > .schemes-server-container {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 10px;
+}
+.swagger-ui .scheme-container .schemes > .schemes-server-container > label {
+ color: #3b4151;
+ display: flex;
+ flex-direction: column;
+ font-family: sans-serif;
+ font-size: 12px;
+ font-weight: 700;
+ margin: -20px 15px 0 0;
+}
+.swagger-ui .scheme-container .schemes > .schemes-server-container > label select {
+ min-width: 130px;
+ text-transform: uppercase;
+}
+.swagger-ui .scheme-container .schemes:not(:has(.schemes-server-container)) {
+ justify-content: flex-end;
+}
+.swagger-ui .scheme-container .schemes .auth-wrapper {
+ flex: none;
+ justify-content: start;
+}
+.swagger-ui .scheme-container .schemes .auth-wrapper .authorize {
+ display: flex;
+ flex-wrap: nowrap;
+ margin: 0;
+ padding-right: 20px;
+}
+.swagger-ui .loading-container {
+ align-items: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ margin-top: 1em;
+ min-height: 1px;
+ padding: 40px 0 60px;
+}
+.swagger-ui .loading-container .loading {
+ position: relative;
+}
+.swagger-ui .loading-container .loading:after {
+ color: #3b4151;
+ content: 'loading';
+ font-family: sans-serif;
+ font-size: 10px;
+ font-weight: 700;
+ left: 50%;
+ position: absolute;
+ text-transform: uppercase;
+ top: 50%;
+ transform: translate(-50%, -50%);
+}
+.swagger-ui .loading-container .loading:before {
+ animation:
+ rotation 1s linear infinite,
+ opacity 0.5s;
+ backface-visibility: hidden;
+ border: 2px solid rgba(85, 85, 85, 0.1);
+ border-radius: 100%;
+ border-top-color: rgba(0, 0, 0, 0.6);
+ content: '';
+ display: block;
+ height: 60px;
+ left: 50%;
+ margin: -30px;
+ opacity: 1;
+ position: absolute;
+ top: 50%;
+ width: 60px;
+}
+@keyframes rotation {
+ to {
+ transform: rotate(1turn);
+ }
+}
+.swagger-ui .response-controls {
+ display: flex;
+ padding-top: 1em;
+}
+.swagger-ui .response-control-media-type {
+ margin-right: 1em;
+}
+.swagger-ui .response-control-media-type--accept-controller select {
+ border-color: green;
+}
+.swagger-ui .response-control-media-type__accept-message {
+ color: green;
+ font-size: 0.7em;
+}
+.swagger-ui .response-control-examples__title,
+.swagger-ui .response-control-media-type__title {
+ display: block;
+ font-size: 0.7em;
+ margin-bottom: 0.2em;
+}
+@keyframes blinker {
+ 50% {
+ opacity: 0;
+ }
+}
+.swagger-ui .hidden {
+ display: none;
+}
+.swagger-ui .no-margin {
+ border: none;
+ height: auto;
+ margin: 0;
+ padding: 0;
+}
+.swagger-ui .float-right {
+ float: right;
+}
+.swagger-ui .svg-assets {
+ height: 0;
+ position: absolute;
+ width: 0;
+}
+.swagger-ui section h3 {
+ color: #3b4151;
+ font-family: sans-serif;
+}
+.swagger-ui a.nostyle {
+ display: inline;
+}
+.swagger-ui a.nostyle,
+.swagger-ui a.nostyle:visited {
+ color: inherit;
+ cursor: pointer;
+ text-decoration: inherit;
+}
+.swagger-ui .fallback {
+ color: #aaa;
+ padding: 1em;
+}
+.swagger-ui .version-pragma {
+ height: 100%;
+ padding: 5em 0;
+}
+.swagger-ui .version-pragma__message {
+ display: flex;
+ font-size: 1.2em;
+ height: 100%;
+ justify-content: center;
+ line-height: 1.5em;
+ padding: 0 0.6em;
+ text-align: center;
+}
+.swagger-ui .version-pragma__message > div {
+ flex: 1;
+ max-width: 55ch;
+}
+.swagger-ui .version-pragma__message code {
+ background-color: #dedede;
+ padding: 4px 4px 2px;
+ white-space: pre;
+}
+.swagger-ui .opblock-link {
+ font-weight: 400;
+}
+.swagger-ui .opblock-link.shown {
+ font-weight: 700;
+}
+.swagger-ui span.token-string {
+ color: #555;
+}
+.swagger-ui span.token-not-formatted {
+ color: #555;
+ font-weight: 700;
+}
+.swagger-ui .btn {
+ background: transparent;
+ border: 2px solid grey;
+ border-radius: 4px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 14px;
+ font-weight: 700;
+ padding: 5px 23px;
+ transition: all 0.3s;
+}
+.swagger-ui .btn.btn-sm {
+ font-size: 12px;
+ padding: 4px 23px;
+}
+.swagger-ui .btn[disabled] {
+ cursor: not-allowed;
+ opacity: 0.3;
+}
+.swagger-ui .btn:hover {
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
+}
+.swagger-ui .btn.cancel {
+ background-color: transparent;
+ border-color: #ff6060;
+ color: #ff6060;
+ font-family: sans-serif;
+}
+.swagger-ui .btn.authorize {
+ background-color: transparent;
+ border-color: #49cc90;
+ color: #49cc90;
+ display: inline;
+ line-height: 1;
+}
+.swagger-ui .btn.authorize span {
+ float: left;
+ padding: 4px 20px 0 0;
+}
+.swagger-ui .btn.authorize svg {
+ fill: #49cc90;
+}
+.swagger-ui .btn.execute {
+ background-color: #4990e2;
+ border-color: #4990e2;
+ color: #fff;
+}
+.swagger-ui .btn-group {
+ display: flex;
+ padding: 30px;
+}
+.swagger-ui .btn-group .btn {
+ flex: 1;
+}
+.swagger-ui .btn-group .btn:first-child {
+ border-radius: 4px 0 0 4px;
+}
+.swagger-ui .btn-group .btn:last-child {
+ border-radius: 0 4px 4px 0;
+}
+.swagger-ui .authorization__btn {
+ background: none;
+ border: none;
+ padding: 0 0 0 10px;
+}
+.swagger-ui .authorization__btn .locked {
+ opacity: 1;
+}
+.swagger-ui .authorization__btn .unlocked {
+ opacity: 0.4;
+}
+.swagger-ui .model-box-control,
+.swagger-ui .models-control,
+.swagger-ui .opblock-summary-control {
+ all: inherit;
+ border-bottom: 0;
+ cursor: pointer;
+ flex: 1;
+ padding: 0;
+}
+.swagger-ui .model-box-control:focus,
+.swagger-ui .models-control:focus,
+.swagger-ui .opblock-summary-control:focus {
+ outline: auto;
+}
+.swagger-ui .expand-methods,
+.swagger-ui .expand-operation {
+ background: none;
+ border: none;
+}
+.swagger-ui .expand-methods svg,
+.swagger-ui .expand-operation svg {
+ height: 20px;
+ width: 20px;
+}
+.swagger-ui .expand-methods {
+ padding: 0 10px;
+}
+.swagger-ui .expand-methods:hover svg {
+ fill: #404040;
+}
+.swagger-ui .expand-methods svg {
+ transition: all 0.3s;
+ fill: #707070;
+}
+.swagger-ui button {
+ cursor: pointer;
+}
+.swagger-ui button.invalid {
+ animation: shake 0.4s 1;
+ background: #feebeb;
+ border-color: #f93e3e;
+}
+.swagger-ui .copy-to-clipboard {
+ align-items: center;
+ background: #7d8293;
+ border: none;
+ border-radius: 4px;
+ bottom: 10px;
+ display: flex;
+ height: 30px;
+ justify-content: center;
+ position: absolute;
+ right: 100px;
+ width: 30px;
+}
+.swagger-ui .copy-to-clipboard button {
+ background: url('data:image/svg+xml;charset=utf-8, ')
+ 50% no-repeat;
+ border: none;
+ flex-grow: 1;
+ flex-shrink: 1;
+ height: 25px;
+}
+.swagger-ui .copy-to-clipboard:active {
+ background: #5e626f;
+}
+.swagger-ui .opblock-control-arrow {
+ background: none;
+ border: none;
+ text-align: center;
+}
+.swagger-ui .curl-command .copy-to-clipboard {
+ bottom: 5px;
+ height: 20px;
+ right: 10px;
+ width: 20px;
+}
+.swagger-ui .curl-command .copy-to-clipboard button {
+ height: 18px;
+}
+.swagger-ui .opblock .opblock-summary .view-line-link.copy-to-clipboard {
+ height: 26px;
+ position: static;
+}
+.swagger-ui select {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background: #f7f7f7
+ url('data:image/svg+xml;charset=utf-8, ')
+ right 10px center no-repeat;
+ background-size: 20px;
+ border: 2px solid #41444e;
+ border-radius: 4px;
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 14px;
+ font-weight: 700;
+ padding: 5px 40px 5px 10px;
+}
+.swagger-ui select[multiple] {
+ background: #f7f7f7;
+ margin: 5px 0;
+ padding: 5px;
+}
+.swagger-ui select.invalid {
+ animation: shake 0.4s 1;
+ background: #feebeb;
+ border-color: #f93e3e;
+}
+.swagger-ui .opblock-body select {
+ min-width: 230px;
+}
+@media (max-width: 768px) {
+ .swagger-ui .opblock-body select {
+ min-width: 180px;
+ }
+}
+@media (max-width: 640px) {
+ .swagger-ui .opblock-body select {
+ min-width: 100%;
+ width: 100%;
+ }
+}
+.swagger-ui label {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 12px;
+ font-weight: 700;
+ margin: 0 0 5px;
+}
+.swagger-ui input[type='email'],
+.swagger-ui input[type='file'],
+.swagger-ui input[type='password'],
+.swagger-ui input[type='search'],
+.swagger-ui input[type='text'] {
+ line-height: 1;
+}
+@media (max-width: 768px) {
+ .swagger-ui input[type='email'],
+ .swagger-ui input[type='file'],
+ .swagger-ui input[type='password'],
+ .swagger-ui input[type='search'],
+ .swagger-ui input[type='text'] {
+ max-width: 175px;
+ }
+}
+.swagger-ui input[type='email'],
+.swagger-ui input[type='file'],
+.swagger-ui input[type='password'],
+.swagger-ui input[type='search'],
+.swagger-ui input[type='text'],
+.swagger-ui textarea {
+ background: #fff;
+ border: 1px solid #d9d9d9;
+ border-radius: 4px;
+ margin: 5px 0;
+ min-width: 100px;
+ padding: 8px 10px;
+}
+.swagger-ui input[type='email'].invalid,
+.swagger-ui input[type='file'].invalid,
+.swagger-ui input[type='password'].invalid,
+.swagger-ui input[type='search'].invalid,
+.swagger-ui input[type='text'].invalid,
+.swagger-ui textarea.invalid {
+ animation: shake 0.4s 1;
+ background: #feebeb;
+ border-color: #f93e3e;
+}
+.swagger-ui input[disabled],
+.swagger-ui select[disabled],
+.swagger-ui textarea[disabled] {
+ background-color: #fafafa;
+ color: #888;
+ cursor: not-allowed;
+}
+.swagger-ui select[disabled] {
+ border-color: #888;
+}
+.swagger-ui textarea[disabled] {
+ background-color: #41444e;
+ color: #fff;
+}
+@keyframes shake {
+ 10%,
+ 90% {
+ transform: translate3d(-1px, 0, 0);
+ }
+ 20%,
+ 80% {
+ transform: translate3d(2px, 0, 0);
+ }
+ 30%,
+ 50%,
+ 70% {
+ transform: translate3d(-4px, 0, 0);
+ }
+ 40%,
+ 60% {
+ transform: translate3d(4px, 0, 0);
+ }
+}
+.swagger-ui textarea {
+ background: hsla(0, 0%, 100%, 0.8);
+ border: none;
+ border-radius: 4px;
+ color: #3b4151;
+ font-family: monospace;
+ font-size: 12px;
+ font-weight: 600;
+ min-height: 280px;
+ outline: none;
+ padding: 10px;
+ width: 100%;
+}
+.swagger-ui textarea:focus {
+ border: 2px solid #61affe;
+}
+.swagger-ui textarea.curl {
+ background: #41444e;
+ border-radius: 4px;
+ color: #fff;
+ font-family: monospace;
+ font-size: 12px;
+ font-weight: 600;
+ margin: 0;
+ min-height: 100px;
+ padding: 10px;
+ resize: none;
+}
+.swagger-ui .checkbox {
+ color: #303030;
+ padding: 5px 0 10px;
+ transition: opacity 0.5s;
+}
+.swagger-ui .checkbox label {
+ display: flex;
+}
+.swagger-ui .checkbox p {
+ color: #3b4151;
+ font-family: monospace;
+ font-style: italic;
+ font-weight: 400 !important;
+ font-weight: 600;
+ margin: 0 !important;
+}
+.swagger-ui .checkbox input[type='checkbox'] {
+ display: none;
+}
+.swagger-ui .checkbox input[type='checkbox'] + label > .item {
+ background: #e8e8e8;
+ border-radius: 1px;
+ box-shadow: 0 0 0 2px #e8e8e8;
+ cursor: pointer;
+ display: inline-block;
+ flex: none;
+ height: 16px;
+ margin: 0 8px 0 0;
+ padding: 5px;
+ position: relative;
+ top: 3px;
+ width: 16px;
+}
+.swagger-ui .checkbox input[type='checkbox'] + label > .item:active {
+ transform: scale(0.9);
+}
+.swagger-ui .checkbox input[type='checkbox']:checked + label > .item {
+ background: #e8e8e8
+ url('data:image/svg+xml;charset=utf-8, ')
+ 50% no-repeat;
+}
+.swagger-ui .dialog-ux {
+ bottom: 0;
+ left: 0;
+ position: fixed;
+ right: 0;
+ top: 0;
+ z-index: 9999;
+}
+.swagger-ui .dialog-ux .backdrop-ux {
+ background: rgba(0, 0, 0, 0.8);
+ bottom: 0;
+ left: 0;
+ position: fixed;
+ right: 0;
+ top: 0;
+}
+.swagger-ui .dialog-ux .modal-ux {
+ background: #fff;
+ border: 1px solid #ebebeb;
+ border-radius: 4px;
+ box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.2);
+ left: 50%;
+ max-width: 650px;
+ min-width: 300px;
+ position: absolute;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ width: 100%;
+ z-index: 9999;
+}
+.swagger-ui .dialog-ux .modal-ux-content {
+ max-height: 540px;
+ overflow-y: auto;
+ padding: 20px;
+}
+.swagger-ui .dialog-ux .modal-ux-content p {
+ color: #41444e;
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 12px;
+ margin: 0 0 5px;
+}
+.swagger-ui .dialog-ux .modal-ux-content h4 {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 18px;
+ font-weight: 600;
+ margin: 15px 0 0;
+}
+.swagger-ui .dialog-ux .modal-ux-header {
+ align-items: center;
+ border-bottom: 1px solid #ebebeb;
+ display: flex;
+ padding: 12px 0;
+}
+.swagger-ui .dialog-ux .modal-ux-header .close-modal {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background: none;
+ border: none;
+ padding: 0 10px;
+}
+.swagger-ui .dialog-ux .modal-ux-header h3 {
+ color: #3b4151;
+ flex: 1;
+ font-family: sans-serif;
+ font-size: 20px;
+ font-weight: 600;
+ margin: 0;
+ padding: 0 20px;
+}
+.swagger-ui .model {
+ color: #3b4151;
+ font-family: monospace;
+ font-size: 12px;
+ font-weight: 300;
+ font-weight: 600;
+}
+.swagger-ui .model .deprecated span,
+.swagger-ui .model .deprecated td {
+ color: #a0a0a0 !important;
+}
+.swagger-ui .model .deprecated > td:first-of-type {
+ -webkit-text-decoration: line-through;
+ text-decoration: line-through;
+}
+.swagger-ui .model-toggle {
+ cursor: pointer;
+ display: inline-block;
+ font-size: 10px;
+ margin: auto 0.3em;
+ position: relative;
+ top: 6px;
+ transform: rotate(90deg);
+ transform-origin: 50% 50%;
+ transition: transform 0.15s ease-in;
+}
+.swagger-ui .model-toggle.collapsed {
+ transform: rotate(0deg);
+}
+.swagger-ui .model-toggle:after {
+ background: url('data:image/svg+xml;charset=utf-8, ')
+ 50% no-repeat;
+ background-size: 100%;
+ content: '';
+ display: block;
+ height: 20px;
+ width: 20px;
+}
+.swagger-ui .model-jump-to-path {
+ cursor: pointer;
+ position: relative;
+}
+.swagger-ui .model-jump-to-path .view-line-link {
+ cursor: pointer;
+ position: absolute;
+ top: -0.4em;
+}
+.swagger-ui .model-title {
+ position: relative;
+}
+.swagger-ui .model-title:hover .model-hint {
+ visibility: visible;
+}
+.swagger-ui .model-hint {
+ background: rgba(0, 0, 0, 0.7);
+ border-radius: 4px;
+ color: #ebebeb;
+ padding: 0.1em 0.5em;
+ position: absolute;
+ top: -1.8em;
+ visibility: hidden;
+ white-space: nowrap;
+}
+.swagger-ui .model p {
+ margin: 0 0 1em;
+}
+.swagger-ui .model .property {
+ color: #999;
+ font-style: italic;
+}
+.swagger-ui .model .property.primitive {
+ color: #6b6b6b;
+}
+.swagger-ui .model .external-docs,
+.swagger-ui table.model tr.description {
+ color: #666;
+ font-weight: 400;
+}
+.swagger-ui table.model tr.description td:first-child,
+.swagger-ui table.model tr.property-row.required td:first-child {
+ font-weight: 700;
+}
+.swagger-ui table.model tr.property-row td {
+ vertical-align: top;
+}
+.swagger-ui table.model tr.property-row td:first-child {
+ padding-right: 0.2em;
+}
+.swagger-ui table.model tr.property-row .star {
+ color: red;
+}
+.swagger-ui table.model tr.extension {
+ color: #777;
+}
+.swagger-ui table.model tr.extension td:last-child {
+ vertical-align: top;
+}
+.swagger-ui table.model tr.external-docs td:first-child {
+ font-weight: 700;
+}
+.swagger-ui table.model tr .renderedMarkdown p:first-child {
+ margin-top: 0;
+}
+.swagger-ui section.models {
+ border: 1px solid rgba(59, 65, 81, 0.3);
+ border-radius: 4px;
+ margin: 30px 0;
+}
+.swagger-ui section.models .pointer {
+ cursor: pointer;
+}
+.swagger-ui section.models.is-open {
+ padding: 0 0 20px;
+}
+.swagger-ui section.models.is-open h4 {
+ border-bottom: 1px solid rgba(59, 65, 81, 0.3);
+ margin: 0 0 5px;
+}
+.swagger-ui section.models h4 {
+ align-items: center;
+ color: #606060;
+ cursor: pointer;
+ display: flex;
+ font-family: sans-serif;
+ font-size: 16px;
+ margin: 0;
+ padding: 10px 20px 10px 10px;
+ transition: all 0.2s;
+}
+.swagger-ui section.models h4 svg {
+ transition: all 0.4s;
+}
+.swagger-ui section.models h4 span {
+ flex: 1;
+}
+.swagger-ui section.models h4:hover {
+ background: rgba(0, 0, 0, 0.02);
+}
+.swagger-ui section.models h5 {
+ color: #707070;
+ font-family: sans-serif;
+ font-size: 16px;
+ margin: 0 0 10px;
+}
+.swagger-ui section.models .model-jump-to-path {
+ position: relative;
+ top: 5px;
+}
+.swagger-ui section.models .model-container {
+ background: rgba(0, 0, 0, 0.05);
+ border-radius: 4px;
+ margin: 0 20px 15px;
+ position: relative;
+ transition: all 0.5s;
+}
+.swagger-ui section.models .model-container:hover {
+ background: rgba(0, 0, 0, 0.07);
+}
+.swagger-ui section.models .model-container:first-of-type {
+ margin: 20px;
+}
+.swagger-ui section.models .model-container:last-of-type {
+ margin: 0 20px;
+}
+.swagger-ui section.models .model-container .models-jump-to-path {
+ opacity: 0.65;
+ position: absolute;
+ right: 5px;
+ top: 8px;
+}
+.swagger-ui section.models .model-box {
+ background: none;
+}
+.swagger-ui .model-box {
+ background: rgba(0, 0, 0, 0.1);
+ border-radius: 4px;
+ display: inline-block;
+ padding: 10px;
+}
+.swagger-ui .model-box .model-jump-to-path {
+ position: relative;
+ top: 4px;
+}
+.swagger-ui .model-box.deprecated {
+ opacity: 0.5;
+}
+.swagger-ui .model-title {
+ color: #505050;
+ font-family: sans-serif;
+ font-size: 16px;
+}
+.swagger-ui .model-title img {
+ bottom: 0;
+ margin-left: 1em;
+ position: relative;
+}
+.swagger-ui .model-deprecated-warning {
+ color: #f93e3e;
+ font-family: sans-serif;
+ font-size: 16px;
+ font-weight: 600;
+ margin-right: 1em;
+}
+.swagger-ui span > span.model .brace-close {
+ padding: 0 0 0 10px;
+}
+.swagger-ui .prop-name {
+ display: inline-block;
+ margin-right: 1em;
+}
+.swagger-ui .prop-type {
+ color: #55a;
+}
+.swagger-ui .prop-enum {
+ display: block;
+}
+.swagger-ui .prop-format {
+ color: #606060;
+}
+.swagger-ui .servers > label {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 12px;
+ margin: -20px 15px 0 0;
+}
+.swagger-ui .servers > label select {
+ max-width: 100%;
+ min-width: 130px;
+ width: 100%;
+}
+.swagger-ui .servers h4.message {
+ padding-bottom: 2em;
+}
+.swagger-ui .servers table tr {
+ width: 30em;
+}
+.swagger-ui .servers table td {
+ display: inline-block;
+ max-width: 15em;
+ padding-bottom: 10px;
+ padding-top: 10px;
+ vertical-align: middle;
+}
+.swagger-ui .servers table td:first-of-type {
+ padding-right: 1em;
+}
+.swagger-ui .servers table td input {
+ height: 100%;
+ width: 100%;
+}
+.swagger-ui .servers .computed-url {
+ margin: 2em 0;
+}
+.swagger-ui .servers .computed-url code {
+ display: inline-block;
+ font-size: 16px;
+ margin: 0 1em;
+ padding: 4px;
+}
+.swagger-ui .servers-title {
+ font-size: 12px;
+ font-weight: 700;
+}
+.swagger-ui .operation-servers h4.message {
+ margin-bottom: 2em;
+}
+.swagger-ui table {
+ border-collapse: collapse;
+ padding: 0 10px;
+ width: 100%;
+}
+.swagger-ui table.model tbody tr td {
+ padding: 0;
+ vertical-align: top;
+}
+.swagger-ui table.model tbody tr td:first-of-type {
+ padding: 0 0 0 2em;
+ width: 174px;
+}
+.swagger-ui table.headers td {
+ color: #3b4151;
+ font-family: monospace;
+ font-size: 12px;
+ font-weight: 300;
+ font-weight: 600;
+ vertical-align: middle;
+}
+.swagger-ui table.headers .header-example {
+ color: #999;
+ font-style: italic;
+}
+.swagger-ui table tbody tr td {
+ padding: 10px 0 0;
+ vertical-align: top;
+}
+.swagger-ui table tbody tr td:first-of-type {
+ min-width: 6em;
+ padding: 10px 0;
+}
+.swagger-ui table thead tr td,
+.swagger-ui table thead tr th {
+ border-bottom: 1px solid rgba(59, 65, 81, 0.2);
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 12px;
+ font-weight: 700;
+ padding: 12px 0;
+ text-align: left;
+}
+.swagger-ui .parameters-col_description {
+ margin-bottom: 2em;
+ width: 99%;
+}
+.swagger-ui .parameters-col_description input {
+ max-width: 340px;
+ width: 100%;
+}
+.swagger-ui .parameters-col_description select {
+ border-width: 1px;
+}
+.swagger-ui .parameters-col_description .markdown p,
+.swagger-ui .parameters-col_description .renderedMarkdown p {
+ margin: 0;
+}
+.swagger-ui .parameter__name {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 16px;
+ font-weight: 400;
+ margin-right: 0.75em;
+}
+.swagger-ui .parameter__name.required {
+ font-weight: 700;
+}
+.swagger-ui .parameter__name.required span {
+ color: red;
+}
+.swagger-ui .parameter__name.required:after {
+ color: rgba(255, 0, 0, 0.6);
+ content: 'required';
+ font-size: 10px;
+ padding: 5px;
+ position: relative;
+ top: -6px;
+}
+.swagger-ui .parameter__extension,
+.swagger-ui .parameter__in {
+ color: grey;
+ font-family: monospace;
+ font-size: 12px;
+ font-style: italic;
+ font-weight: 600;
+}
+.swagger-ui .parameter__deprecated {
+ color: red;
+ font-family: monospace;
+ font-size: 12px;
+ font-style: italic;
+ font-weight: 600;
+}
+.swagger-ui .parameter__empty_value_toggle {
+ display: block;
+ font-size: 13px;
+ padding-bottom: 12px;
+ padding-top: 5px;
+}
+.swagger-ui .parameter__empty_value_toggle input {
+ margin-right: 7px;
+ width: auto;
+}
+.swagger-ui .parameter__empty_value_toggle.disabled {
+ opacity: 0.7;
+}
+.swagger-ui .table-container {
+ padding: 20px;
+}
+.swagger-ui .response-col_description {
+ width: 99%;
+}
+.swagger-ui .response-col_description .markdown p,
+.swagger-ui .response-col_description .renderedMarkdown p {
+ margin: 0;
+}
+.swagger-ui .response-col_links {
+ min-width: 6em;
+}
+.swagger-ui .response__extension {
+ color: grey;
+ font-family: monospace;
+ font-size: 12px;
+ font-style: italic;
+ font-weight: 600;
+}
+.swagger-ui .topbar {
+ background-color: #1b1b1b;
+ padding: 10px 0;
+}
+.swagger-ui .topbar .topbar-wrapper {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 10px;
+}
+@media (max-width: 550px) {
+ .swagger-ui .topbar .topbar-wrapper {
+ align-items: start;
+ flex-direction: column;
+ }
+}
+.swagger-ui .topbar a {
+ align-items: center;
+ color: #fff;
+ display: flex;
+ flex: 1;
+ font-family: sans-serif;
+ font-size: 1.5em;
+ font-weight: 700;
+ max-width: 300px;
+ -webkit-text-decoration: none;
+ text-decoration: none;
+}
+.swagger-ui .topbar a span {
+ margin: 0;
+ padding: 0 10px;
+}
+.swagger-ui .topbar .download-url-wrapper {
+ display: flex;
+ flex: 3;
+ justify-content: flex-end;
+}
+.swagger-ui .topbar .download-url-wrapper input[type='text'] {
+ border: 2px solid #62a03f;
+ border-radius: 4px 0 0 4px;
+ margin: 0;
+ max-width: 100%;
+ outline: none;
+ width: 100%;
+}
+.swagger-ui .topbar .download-url-wrapper .select-label {
+ align-items: center;
+ color: #f0f0f0;
+ display: flex;
+ margin: 0;
+ max-width: 600px;
+ width: 100%;
+}
+.swagger-ui .topbar .download-url-wrapper .select-label span {
+ flex: 1;
+ font-size: 16px;
+ padding: 0 10px 0 0;
+ text-align: right;
+}
+.swagger-ui .topbar .download-url-wrapper .select-label select {
+ border: 2px solid #62a03f;
+ box-shadow: none;
+ flex: 2;
+ outline: none;
+ width: 100%;
+}
+.swagger-ui .topbar .download-url-wrapper .download-url-button {
+ background: #62a03f;
+ border: none;
+ border-radius: 0 4px 4px 0;
+ color: #fff;
+ font-family: sans-serif;
+ font-size: 16px;
+ font-weight: 700;
+ padding: 4px 30px;
+}
+@media (max-width: 550px) {
+ .swagger-ui .topbar .download-url-wrapper {
+ width: 100%;
+ }
+}
+.swagger-ui .info {
+ margin: 50px 0;
+}
+.swagger-ui .info.failed-config {
+ margin-left: auto;
+ margin-right: auto;
+ max-width: 880px;
+ text-align: center;
+}
+.swagger-ui .info hgroup.main {
+ margin: 0 0 20px;
+}
+.swagger-ui .info hgroup.main a {
+ font-size: 12px;
+}
+.swagger-ui .info pre {
+ font-size: 14px;
+}
+.swagger-ui .info li,
+.swagger-ui .info p,
+.swagger-ui .info table {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 14px;
+}
+.swagger-ui .info h1,
+.swagger-ui .info h2,
+.swagger-ui .info h3,
+.swagger-ui .info h4,
+.swagger-ui .info h5 {
+ color: #3b4151;
+ font-family: sans-serif;
+}
+.swagger-ui .info a {
+ color: #4990e2;
+ font-family: sans-serif;
+ font-size: 14px;
+ transition: all 0.4s;
+}
+.swagger-ui .info a:hover {
+ color: #1f69c0;
+}
+.swagger-ui .info > div {
+ margin: 0 0 5px;
+}
+.swagger-ui .info .base-url {
+ color: #3b4151;
+ font-family: monospace;
+ font-size: 12px;
+ font-weight: 300 !important;
+ font-weight: 600;
+ margin: 0;
+}
+.swagger-ui .info .title {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 36px;
+ margin: 0;
+}
+.swagger-ui .info .title small {
+ background: #7d8492;
+ border-radius: 57px;
+ display: inline-block;
+ font-size: 10px;
+ margin: 0 0 0 5px;
+ padding: 2px 4px;
+ position: relative;
+ top: -5px;
+ vertical-align: super;
+}
+.swagger-ui .info .title small.version-stamp {
+ background-color: #89bf04;
+}
+.swagger-ui .info .title small pre {
+ color: #fff;
+ font-family: sans-serif;
+ margin: 0;
+ padding: 0;
+}
+.swagger-ui .auth-btn-wrapper {
+ display: flex;
+ justify-content: center;
+ padding: 10px 0;
+}
+.swagger-ui .auth-btn-wrapper .btn-done {
+ margin-right: 1em;
+}
+.swagger-ui .auth-wrapper {
+ display: flex;
+ flex: 1;
+ justify-content: flex-end;
+}
+.swagger-ui .auth-wrapper .authorize {
+ margin-left: 10px;
+ margin-right: 10px;
+ padding-right: 20px;
+}
+.swagger-ui .auth-container {
+ border-bottom: 1px solid #ebebeb;
+ margin: 0 0 10px;
+ padding: 10px 20px;
+}
+.swagger-ui .auth-container:last-of-type {
+ border: 0;
+ margin: 0;
+ padding: 10px 20px;
+}
+.swagger-ui .auth-container h4 {
+ margin: 5px 0 15px !important;
+}
+.swagger-ui .auth-container .wrapper {
+ margin: 0;
+ padding: 0;
+}
+.swagger-ui .auth-container input[type='password'],
+.swagger-ui .auth-container input[type='text'] {
+ min-width: 230px;
+}
+.swagger-ui .auth-container .errors {
+ background-color: #fee;
+ border-radius: 4px;
+ color: red;
+ color: #3b4151;
+ font-family: monospace;
+ font-size: 12px;
+ font-weight: 600;
+ margin: 1em;
+ padding: 10px;
+}
+.swagger-ui .auth-container .errors b {
+ margin-right: 1em;
+ text-transform: capitalize;
+}
+.swagger-ui .scopes h2 {
+ color: #3b4151;
+ font-family: sans-serif;
+ font-size: 14px;
+}
+.swagger-ui .scopes h2 a {
+ color: #4990e2;
+ cursor: pointer;
+ font-size: 12px;
+ padding-left: 10px;
+ -webkit-text-decoration: underline;
+ text-decoration: underline;
+}
+.swagger-ui .scope-def {
+ padding: 0 0 20px;
+}
+.swagger-ui .errors-wrapper {
+ animation: scaleUp 0.5s;
+ background: rgba(249, 62, 62, 0.1);
+ border: 2px solid #f93e3e;
+ border-radius: 4px;
+ margin: 20px;
+ padding: 10px 20px;
+}
+.swagger-ui .errors-wrapper .error-wrapper {
+ margin: 0 0 10px;
+}
+.swagger-ui .errors-wrapper .errors h4 {
+ color: #3b4151;
+ font-family: monospace;
+ font-size: 14px;
+ font-weight: 600;
+ margin: 0;
+}
+.swagger-ui .errors-wrapper .errors small {
+ color: #606060;
+}
+.swagger-ui .errors-wrapper .errors .message {
+ white-space: pre-line;
+}
+.swagger-ui .errors-wrapper .errors .message.thrown {
+ max-width: 100%;
+}
+.swagger-ui .errors-wrapper .errors .error-line {
+ cursor: pointer;
+ -webkit-text-decoration: underline;
+ text-decoration: underline;
+}
+.swagger-ui .errors-wrapper hgroup {
+ align-items: center;
+ display: flex;
+}
+.swagger-ui .errors-wrapper hgroup h4 {
+ color: #3b4151;
+ flex: 1;
+ font-family: sans-serif;
+ font-size: 20px;
+ margin: 0;
+}
+@keyframes scaleUp {
+ 0% {
+ opacity: 0;
+ transform: scale(0.8);
+ }
+ to {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+.swagger-ui .Resizer.vertical.disabled {
+ display: none;
+}
+.swagger-ui .markdown p,
+.swagger-ui .markdown pre,
+.swagger-ui .renderedMarkdown p,
+.swagger-ui .renderedMarkdown pre {
+ margin: 1em auto;
+ word-break: break-all;
+ word-break: break-word;
+}
+.swagger-ui .markdown pre,
+.swagger-ui .renderedMarkdown pre {
+ background: none;
+ color: #000;
+ font-weight: 400;
+ padding: 0;
+ white-space: pre-wrap;
+}
+.swagger-ui .markdown code,
+.swagger-ui .renderedMarkdown code {
+ background: rgba(0, 0, 0, 0.05);
+ border-radius: 4px;
+ color: #9012fe;
+ font-family: monospace;
+ font-size: 14px;
+ font-weight: 600;
+ padding: 5px 7px;
+}
+.swagger-ui .markdown pre > code,
+.swagger-ui .renderedMarkdown pre > code {
+ display: block;
+}
+.swagger-ui .json-schema-2020-12 {
+ background-color: rgba(0, 0, 0, 0.05);
+ border-radius: 4px;
+ margin: 0 20px 15px;
+ padding: 12px 0 12px 20px;
+}
+.swagger-ui .json-schema-2020-12:first-of-type {
+ margin: 20px;
+}
+.swagger-ui .json-schema-2020-12:last-of-type {
+ margin: 0 20px;
+}
+.swagger-ui .json-schema-2020-12--embedded {
+ background-color: inherit;
+ padding-bottom: 0;
+ padding-left: inherit;
+ padding-right: inherit;
+ padding-top: 0;
+}
+.swagger-ui .json-schema-2020-12-body {
+ border-left: 1px dashed rgba(0, 0, 0, 0.1);
+ margin: 2px 0;
+}
+.swagger-ui .json-schema-2020-12-body--collapsed {
+ display: none;
+}
+.swagger-ui .json-schema-2020-12-accordion {
+ border: none;
+ outline: none;
+ padding-left: 0;
+}
+.swagger-ui .json-schema-2020-12-accordion__children {
+ display: inline-block;
+}
+.swagger-ui .json-schema-2020-12-accordion__icon {
+ display: inline-block;
+ height: 18px;
+ vertical-align: bottom;
+ width: 18px;
+}
+.swagger-ui .json-schema-2020-12-accordion__icon--expanded {
+ transform: rotate(-90deg);
+ transform-origin: 50% 50%;
+ transition: transform 0.15s ease-in;
+}
+.swagger-ui .json-schema-2020-12-accordion__icon--collapsed {
+ transform: rotate(0deg);
+ transform-origin: 50% 50%;
+ transition: transform 0.15s ease-in;
+}
+.swagger-ui .json-schema-2020-12-accordion__icon svg {
+ height: 20px;
+ width: 20px;
+}
+.swagger-ui .json-schema-2020-12-expand-deep-button {
+ border: none;
+ color: #505050;
+ color: #afaeae;
+ font-family: sans-serif;
+ font-size: 12px;
+ padding-right: 0;
+}
+.swagger-ui .json-schema-2020-12-keyword {
+ margin: 5px 0;
+}
+.swagger-ui .json-schema-2020-12-keyword__children {
+ border-left: 1px dashed rgba(0, 0, 0, 0.1);
+ margin: 0 0 0 20px;
+ padding: 0;
+}
+.swagger-ui .json-schema-2020-12-keyword__children--collapsed {
+ display: none;
+}
+.swagger-ui .json-schema-2020-12-keyword__name {
+ font-size: 12px;
+ font-weight: 700;
+ margin-left: 20px;
+}
+.swagger-ui .json-schema-2020-12-keyword__name--primary {
+ color: #3b4151;
+ font-style: normal;
+}
+.swagger-ui .json-schema-2020-12-keyword__name--secondary {
+ color: #6b6b6b;
+ font-style: italic;
+}
+.swagger-ui .json-schema-2020-12-keyword__value {
+ color: #6b6b6b;
+ font-size: 12px;
+ font-style: italic;
+ font-weight: 400;
+}
+.swagger-ui .json-schema-2020-12-keyword__value--primary {
+ color: #3b4151;
+ font-style: normal;
+}
+.swagger-ui .json-schema-2020-12-keyword__value--secondary {
+ color: #6b6b6b;
+ font-style: italic;
+}
+.swagger-ui .json-schema-2020-12-keyword__value--const,
+.swagger-ui .json-schema-2020-12-keyword__value--warning {
+ border: 1px dashed #6b6b6b;
+ border-radius: 4px;
+ color: #3b4151;
+ color: #6b6b6b;
+ display: inline-block;
+ font-family: monospace;
+ font-style: normal;
+ font-weight: 600;
+ line-height: 1.5;
+ margin-left: 10px;
+ padding: 1px 4px;
+}
+.swagger-ui .json-schema-2020-12-keyword__value--warning {
+ border: 1px dashed red;
+ color: red;
+}
+.swagger-ui
+ .json-schema-2020-12-keyword__name--secondary
+ + .json-schema-2020-12-keyword__value--secondary:before {
+ content: '=';
+}
+.swagger-ui .json-schema-2020-12__attribute {
+ color: #3b4151;
+ font-family: monospace;
+ font-size: 12px;
+ padding-left: 10px;
+ text-transform: lowercase;
+}
+.swagger-ui .json-schema-2020-12__attribute--primary {
+ color: #55a;
+}
+.swagger-ui .json-schema-2020-12__attribute--muted {
+ color: gray;
+}
+.swagger-ui .json-schema-2020-12__attribute--warning {
+ color: red;
+}
+.swagger-ui .json-schema-2020-12-keyword--\$vocabulary ul {
+ border-left: 1px dashed rgba(0, 0, 0, 0.1);
+ margin: 0 0 0 20px;
+}
+.swagger-ui .json-schema-2020-12-\$vocabulary-uri {
+ margin-left: 35px;
+}
+.swagger-ui .json-schema-2020-12-\$vocabulary-uri--disabled {
+ -webkit-text-decoration: line-through;
+ text-decoration: line-through;
+}
+.swagger-ui .json-schema-2020-12-keyword--description {
+ color: #6b6b6b;
+ font-size: 12px;
+ margin-left: 20px;
+}
+.swagger-ui .json-schema-2020-12-keyword--description p {
+ margin: 0;
+}
+.swagger-ui .json-schema-2020-12__title {
+ color: #505050;
+ display: inline-block;
+ font-family: sans-serif;
+ font-size: 12px;
+ font-weight: 700;
+ line-height: normal;
+}
+.swagger-ui .json-schema-2020-12__title .json-schema-2020-12-keyword__name {
+ margin: 0;
+}
+.swagger-ui .json-schema-2020-12-property {
+ margin: 7px 0;
+}
+.swagger-ui .json-schema-2020-12-property .json-schema-2020-12__title {
+ color: #3b4151;
+ font-family: monospace;
+ font-size: 12px;
+ font-weight: 600;
+ vertical-align: middle;
+}
+.swagger-ui .json-schema-2020-12-keyword--properties > ul {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+.swagger-ui .json-schema-2020-12-property {
+ list-style-type: none;
+}
+.swagger-ui
+ .json-schema-2020-12-property--required
+ > .json-schema-2020-12:first-of-type
+ > .json-schema-2020-12-head
+ .json-schema-2020-12__title:after {
+ color: red;
+ content: '*';
+ font-weight: 700;
+}
+.swagger-ui .json-schema-2020-12-keyword--patternProperties ul {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+.swagger-ui
+ .json-schema-2020-12-keyword--patternProperties
+ .json-schema-2020-12__title:first-of-type:after,
+.swagger-ui
+ .json-schema-2020-12-keyword--patternProperties
+ .json-schema-2020-12__title:first-of-type:before {
+ color: #55a;
+ content: '/';
+}
+.swagger-ui .json-schema-2020-12-keyword--enum > ul {
+ display: inline-block;
+ margin: 0;
+ padding: 0;
+}
+.swagger-ui .json-schema-2020-12-keyword--enum > ul li {
+ display: inline;
+ list-style-type: none;
+}
+.swagger-ui .json-schema-2020-12__constraint {
+ background-color: #805ad5;
+ border-radius: 4px;
+ color: #3b4151;
+ color: #fff;
+ font-family: monospace;
+ font-weight: 600;
+ line-height: 1.5;
+ margin-left: 10px;
+ padding: 1px 3px;
+}
+.swagger-ui .json-schema-2020-12__constraint--string {
+ background-color: #d69e2e;
+ color: #fff;
+}
+.swagger-ui .json-schema-2020-12-keyword--dependentRequired > ul {
+ display: inline-block;
+ margin: 0;
+ padding: 0;
+}
+.swagger-ui .json-schema-2020-12-keyword--dependentRequired > ul li {
+ display: inline;
+ list-style-type: none;
+}
+.swagger-ui
+ .model-box
+ .json-schema-2020-12:not(.json-schema-2020-12--embedded)
+ > .json-schema-2020-12-head
+ .json-schema-2020-12__title:first-of-type {
+ font-size: 16px;
+}
+.swagger-ui .model-box > .json-schema-2020-12 {
+ margin: 0;
+}
+.swagger-ui .model-box .json-schema-2020-12 {
+ background-color: transparent;
+ padding: 0;
+}
+.swagger-ui .model-box .json-schema-2020-12-accordion,
+.swagger-ui .model-box .json-schema-2020-12-expand-deep-button {
+ background-color: transparent;
+}
+.swagger-ui
+ .models
+ .json-schema-2020-12:not(.json-schema-2020-12--embedded)
+ > .json-schema-2020-12-head
+ .json-schema-2020-12__title:first-of-type {
+ font-size: 16px;
+}
-/*# sourceMappingURL=swagger-ui.css.map*/
\ No newline at end of file
+/*# sourceMappingURL=swagger-ui.css.map*/
diff --git a/backend/open_webui/utils/images/comfyui.py b/backend/open_webui/utils/images/comfyui.py
index 745d79635d..679fff9f64 100644
--- a/backend/open_webui/utils/images/comfyui.py
+++ b/backend/open_webui/utils/images/comfyui.py
@@ -16,14 +16,16 @@ log.setLevel(SRC_LOG_LEVELS["COMFYUI"])
default_headers = {"User-Agent": "Mozilla/5.0"}
-def queue_prompt(prompt, client_id, base_url,api_key):
+def queue_prompt(prompt, client_id, base_url, api_key):
log.info("queue_prompt")
p = {"prompt": prompt, "client_id": client_id}
data = json.dumps(p).encode("utf-8")
log.debug(f"queue_prompt data: {data}")
try:
req = urllib.request.Request(
- f"{base_url}/prompt", data=data, headers={**default_headers, "Authorization": f"Bearer {api_key}"}
+ f"{base_url}/prompt",
+ data=data,
+ headers={**default_headers, "Authorization": f"Bearer {api_key}"},
)
response = urllib.request.urlopen(req).read()
return json.loads(response)
@@ -37,7 +39,8 @@ def get_image(filename, subfolder, folder_type, base_url, api_key):
data = {"filename": filename, "subfolder": subfolder, "type": folder_type}
url_values = urllib.parse.urlencode(data)
req = urllib.request.Request(
- f"{base_url}/view?{url_values}", headers={**default_headers, "Authorization": f"Bearer {api_key}"}
+ f"{base_url}/view?{url_values}",
+ headers={**default_headers, "Authorization": f"Bearer {api_key}"},
)
with urllib.request.urlopen(req) as response:
return response.read()
@@ -54,7 +57,8 @@ def get_history(prompt_id, base_url, api_key):
log.info("get_history")
req = urllib.request.Request(
- f"{base_url}/history/{prompt_id}", headers={**default_headers, "Authorization": f"Bearer {api_key}"}
+ f"{base_url}/history/{prompt_id}",
+ headers={**default_headers, "Authorization": f"Bearer {api_key}"},
)
with urllib.request.urlopen(req) as response:
return json.loads(response.read())
@@ -177,7 +181,9 @@ async def comfyui_generate_image(
try:
log.info("Sending workflow to WebSocket server.")
log.info(f"Workflow: {workflow}")
- images = await asyncio.to_thread(get_images, ws, workflow, client_id, base_url, api_key)
+ images = await asyncio.to_thread(
+ get_images, ws, workflow, client_id, base_url, api_key
+ )
except Exception as e:
log.exception(f"Error while receiving images: {e}")
images = None
diff --git a/backend/open_webui/utils/oauth.py b/backend/open_webui/utils/oauth.py
index 1e4c06f9e9..c76a1453b3 100644
--- a/backend/open_webui/utils/oauth.py
+++ b/backend/open_webui/utils/oauth.py
@@ -123,7 +123,7 @@ class OAuthManager:
role = user.role
return role
-
+
def update_user_groups(self, user, user_data, default_permissions):
oauth_claim = auth_manager_config.OAUTH_GROUPS_CLAIM
@@ -144,15 +144,21 @@ class OAuthManager:
if not group_permissions:
group_permissions = default_permissions
- update_form = GroupUpdateForm(name=group_model.name, description=group_model.description,
- permissions=group_permissions,
- user_ids=user_ids)
- Groups.update_group_by_id(id=group_model.id, form_data=update_form, overwrite=False)
-
+ update_form = GroupUpdateForm(
+ name=group_model.name,
+ description=group_model.description,
+ permissions=group_permissions,
+ user_ids=user_ids,
+ )
+ Groups.update_group_by_id(
+ id=group_model.id, form_data=update_form, overwrite=False
+ )
# Add user to new groups
for group_model in all_available_groups:
- if group_model.name in user_oauth_groups and not any(gm.name == group_model.name for gm in user_current_groups):
+ if group_model.name in user_oauth_groups and not any(
+ gm.name == group_model.name for gm in user_current_groups
+ ):
# Add user to group
user_ids = group_model.user_ids
@@ -163,10 +169,15 @@ class OAuthManager:
if not group_permissions:
group_permissions = default_permissions
- update_form = GroupUpdateForm(name=group_model.name, description=group_model.description,
- permissions=group_permissions,
- user_ids=user_ids)
- Groups.update_group_by_id(id=group_model.id, form_data=update_form, overwrite=False)
+ update_form = GroupUpdateForm(
+ name=group_model.name,
+ description=group_model.description,
+ permissions=group_permissions,
+ user_ids=user_ids,
+ )
+ Groups.update_group_by_id(
+ id=group_model.id, form_data=update_form, overwrite=False
+ )
async def handle_login(self, provider, request):
if provider not in OAUTH_PROVIDERS:
@@ -304,8 +315,11 @@ class OAuthManager:
)
if auth_manager_config.ENABLE_OAUTH_GROUP_MANAGEMENT:
- self.update_user_groups(user=user, user_data=user_data,
- default_permissions=request.app.state.config.USER_PERMISSIONS)
+ self.update_user_groups(
+ user=user,
+ user_data=user_data,
+ default_permissions=request.app.state.config.USER_PERMISSIONS,
+ )
# Set the cookie token
response.set_cookie(
diff --git a/src/lib/apis/streaming/index.ts b/src/lib/apis/streaming/index.ts
index 5617ce36c4..6f3677aaf9 100644
--- a/src/lib/apis/streaming/index.ts
+++ b/src/lib/apis/streaming/index.ts
@@ -84,7 +84,7 @@ async function* openAIStreamToIterator(
yield {
done: false,
- value: parsedData.choices?.[0]?.delta?.content ?? '',
+ value: parsedData.choices?.[0]?.delta?.content ?? ''
};
} catch (e) {
console.error('Error extracting delta from SSE event:', e);
@@ -120,8 +120,6 @@ async function* streamLargeDeltasAsRandomChunks(
continue;
}
-
-
let content = textStreamUpdate.value;
if (content.length < 5) {
yield { done: false, value: content };
diff --git a/src/lib/components/admin/Settings/Images.svelte b/src/lib/components/admin/Settings/Images.svelte
index 02ff49bacb..ecfb126b3a 100644
--- a/src/lib/components/admin/Settings/Images.svelte
+++ b/src/lib/components/admin/Settings/Images.svelte
@@ -478,12 +478,11 @@
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-none"
placeholder={$i18n.t('sk-1234')}
bind:value={config.comfyui.COMFYUI_API_KEY}
-
/>
-
+
{$i18n.t('ComfyUI Workflow')}
diff --git a/src/lib/i18n/locales/fi-FI/translation.json b/src/lib/i18n/locales/fi-FI/translation.json
index 771904c7e5..744b8c06e0 100644
--- a/src/lib/i18n/locales/fi-FI/translation.json
+++ b/src/lib/i18n/locales/fi-FI/translation.json
@@ -17,7 +17,7 @@
"Accessible to all users": "Käytettävissä kaikille käyttäjille",
"Account": "Tili",
"Account Activation Pending": "Tilin aktivointi odottaa",
- "Accurate information": "Tarkkaa tietoa",
+ "Accurate information": "Tarkkaa tietoa",
"Actions": "Toiminnot",
"Activate this command by typing \"/{{COMMAND}}\" to chat input.": "Aktivoi tämä komento kirjoittamalla \"/{{COMMAND}}\" chat-syötteeseen.",
"Active Users": "Aktiiviset käyttäjät",
@@ -521,7 +521,7 @@
"LLMs can make mistakes. Verify important information.": "Kielimallit voivat tehdä virheitä. Tarkista tärkeät tiedot.",
"Local": "Paikallinen",
"Local Models": "Paikalliset mallit",
- "Lost": "Mennyt",
+ "Lost": "Mennyt",
"LTR": "LTR",
"Made by OpenWebUI Community": "Tehnyt OpenWebUI-yhteisö",
"Make sure to enclose them with": "Varmista, että suljet ne",
From 5bdb1c99bb6102dbf10886b80e95b7f3da3332a6 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Tue, 17 Dec 2024 13:52:57 -0800
Subject: [PATCH 084/385] refac
---
backend/open_webui/main.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py
index 48cb8c5b36..e7f6023110 100644
--- a/backend/open_webui/main.py
+++ b/backend/open_webui/main.py
@@ -18,6 +18,8 @@ from typing import Optional
from aiocache import cached
import aiohttp
import requests
+
+
from fastapi import (
Depends,
FastAPI,
@@ -29,8 +31,9 @@ from fastapi import (
status,
applications,
)
-from fastapi.middleware.cors import CORSMiddleware
from fastapi.openapi.docs import get_swagger_ui_html
+
+from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse, RedirectResponse
from fastapi.staticfiles import StaticFiles
@@ -1109,7 +1112,7 @@ app.mount("/static", StaticFiles(directory=STATIC_DIR), name="static")
app.mount("/cache", StaticFiles(directory=CACHE_DIR), name="cache")
-def swagger_monkey_patch(*args, **kwargs):
+def swagger_ui_html(*args, **kwargs):
return get_swagger_ui_html(
*args,
**kwargs,
@@ -1119,7 +1122,7 @@ def swagger_monkey_patch(*args, **kwargs):
)
-applications.get_swagger_ui_html = swagger_monkey_patch
+applications.get_swagger_ui_html = swagger_ui_html
if os.path.exists(FRONTEND_BUILD_DIR):
mimetypes.add_type("text/javascript", ".js")
From e500461dc0dba17d6dcbcdc474cfb70c35e78fcf Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Tue, 17 Dec 2024 18:40:50 -0800
Subject: [PATCH 085/385] refac
---
backend/open_webui/retrieval/web/utils.py | 6 +--
backend/open_webui/routers/retrieval.py | 49 ++++++++++-------------
2 files changed, 24 insertions(+), 31 deletions(-)
diff --git a/backend/open_webui/retrieval/web/utils.py b/backend/open_webui/retrieval/web/utils.py
index 2df98b33c8..a322bbbfcd 100644
--- a/backend/open_webui/retrieval/web/utils.py
+++ b/backend/open_webui/retrieval/web/utils.py
@@ -82,15 +82,15 @@ class SafeWebBaseLoader(WebBaseLoader):
def get_web_loader(
- url: Union[str, Sequence[str]],
+ urls: Union[str, Sequence[str]],
verify_ssl: bool = True,
requests_per_second: int = 2,
):
# Check if the URL is valid
- if not validate_url(url):
+ if not validate_url(urls):
raise ValueError(ERROR_MESSAGES.INVALID_URL)
return SafeWebBaseLoader(
- url,
+ urls,
verify_ssl=verify_ssl,
requests_per_second=requests_per_second,
continue_on_failure=True,
diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py
index 1898bfe49f..c6a3a0cca9 100644
--- a/backend/open_webui/routers/retrieval.py
+++ b/backend/open_webui/routers/retrieval.py
@@ -1256,7 +1256,7 @@ def process_web_search(
urls = [result.link for result in web_results]
loader = get_web_loader(
- urls=urls,
+ urls,
verify_ssl=request.app.state.config.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION,
requests_per_second=request.app.state.config.RAG_WEB_SEARCH_CONCURRENT_REQUESTS,
)
@@ -1429,19 +1429,23 @@ if ENV == "dev":
async def get_embeddings(request: Request, text: Optional[str] = "Hello World!"):
return {"result": request.app.state.EMBEDDING_FUNCTION(text)}
+
class BatchProcessFilesForm(BaseModel):
files: List[FileModel]
collection_name: str
+
class BatchProcessFilesResult(BaseModel):
file_id: str
status: str
error: Optional[str] = None
+
class BatchProcessFilesResponse(BaseModel):
results: List[BatchProcessFilesResult]
errors: List[BatchProcessFilesResult]
+
@router.post("/process/files/batch")
def process_files_batch(
form_data: BatchProcessFilesForm,
@@ -1459,7 +1463,7 @@ def process_files_batch(
for file in form_data.files:
try:
text_content = file.data.get("content", "")
-
+
docs: List[Document] = [
Document(
page_content=text_content.replace(" ", "\n"),
@@ -1476,49 +1480,38 @@ def process_files_batch(
hash = calculate_sha256_string(text_content)
Files.update_file_hash_by_id(file.id, hash)
Files.update_file_data_by_id(file.id, {"content": text_content})
-
+
all_docs.extend(docs)
- results.append(BatchProcessFilesResult(
- file_id=file.id,
- status="prepared"
- ))
+ results.append(BatchProcessFilesResult(file_id=file.id, status="prepared"))
except Exception as e:
log.error(f"process_files_batch: Error processing file {file.id}: {str(e)}")
- errors.append(BatchProcessFilesResult(
- file_id=file.id,
- status="failed",
- error=str(e)
- ))
+ errors.append(
+ BatchProcessFilesResult(file_id=file.id, status="failed", error=str(e))
+ )
# Save all documents in one batch
if all_docs:
try:
save_docs_to_vector_db(
- docs=all_docs,
- collection_name=collection_name,
- add=True
+ docs=all_docs, collection_name=collection_name, add=True
)
-
+
# Update all files with collection name
for result in results:
Files.update_file_metadata_by_id(
- result.file_id,
- {"collection_name": collection_name}
+ result.file_id, {"collection_name": collection_name}
)
result.status = "completed"
except Exception as e:
- log.error(f"process_files_batch: Error saving documents to vector DB: {str(e)}")
+ log.error(
+ f"process_files_batch: Error saving documents to vector DB: {str(e)}"
+ )
for result in results:
result.status = "failed"
- errors.append(BatchProcessFilesResult(
- file_id=result.file_id,
- error=str(e)
- ))
-
- return BatchProcessFilesResponse(
- results=results,
- errors=errors
- )
+ errors.append(
+ BatchProcessFilesResult(file_id=result.file_id, error=str(e))
+ )
+ return BatchProcessFilesResponse(results=results, errors=errors)
From a38934bd23cbd2d245ba307cf22253cd7a9e00b5 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Wed, 18 Dec 2024 01:27:32 -0800
Subject: [PATCH 086/385] feat: screen capture
---
src/lib/components/chat/MessageInput.svelte | 43 ++++++++++++++++++-
.../chat/MessageInput/InputMenu.svelte | 16 ++++++-
src/lib/components/icons/CameraSolid.svelte | 12 ++++++
3 files changed, 68 insertions(+), 3 deletions(-)
create mode 100644 src/lib/components/icons/CameraSolid.svelte
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 8000590555..349946a435 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -36,6 +36,7 @@
import RichTextInput from '../common/RichTextInput.svelte';
import { generateAutoCompletion } from '$lib/apis';
import { error, text } from '@sveltejs/kit';
+ import Image from '../common/Image.svelte';
const i18n = getContext('i18n');
@@ -88,6 +89,43 @@
});
};
+ const screenCaptureHandler = async () => {
+ try {
+ // Request screen media
+ const mediaStream = await navigator.mediaDevices.getDisplayMedia({
+ video: { cursor: 'never' },
+ audio: false
+ });
+ // Once the user selects a screen, temporarily create a video element
+ const video = document.createElement('video');
+ video.srcObject = mediaStream;
+ // Ensure the video loads without affecting user experience or tab switching
+ await video.play();
+ // Set up the canvas to match the video dimensions
+ const canvas = document.createElement('canvas');
+ canvas.width = video.videoWidth;
+ canvas.height = video.videoHeight;
+ // Grab a single frame from the video stream using the canvas
+ const context = canvas.getContext('2d');
+ context.drawImage(video, 0, 0, canvas.width, canvas.height);
+ // Stop all video tracks (stop screen sharing) after capturing the image
+ mediaStream.getTracks().forEach((track) => track.stop());
+
+ // bring back focus to this current tab, so that the user can see the screen capture
+ window.focus();
+
+ // Convert the canvas to a Base64 image URL
+ const imageUrl = canvas.toDataURL('image/png');
+ // Add the captured image to the files array to render it
+ files = [...files, { type: 'image', url: imageUrl }];
+ // Clean memory: Clear video srcObject
+ video.srcObject = null;
+ } catch (error) {
+ // Handle any errors (e.g., user cancels screen sharing)
+ console.error('Error capturing screen:', error);
+ }
+ };
+
const uploadFileHandler = async (file, fullContext: boolean = false) => {
if ($_user?.role !== 'admin' && !($_user?.permissions?.chat?.file_upload ?? true)) {
toast.error($i18n.t('You do not have permission to upload files.'));
@@ -471,10 +509,10 @@
{#if file.type === 'image'}
-
{#if atSelectedModel ? visionCapableModels.length === 0 : selectedModels.length !== visionCapableModels.length}
{
filesInputElement.click();
}}
diff --git a/src/lib/components/chat/MessageInput/InputMenu.svelte b/src/lib/components/chat/MessageInput/InputMenu.svelte
index ffdb5897d3..3159c61455 100644
--- a/src/lib/components/chat/MessageInput/InputMenu.svelte
+++ b/src/lib/components/chat/MessageInput/InputMenu.svelte
@@ -3,7 +3,7 @@
import { flyAndScale } from '$lib/utils/transitions';
import { getContext, onMount, tick } from 'svelte';
- import { config, user, tools as _tools } from '$lib/stores';
+ import { config, user, tools as _tools, mobile } from '$lib/stores';
import { getTools } from '$lib/apis/tools';
import Dropdown from '$lib/components/common/Dropdown.svelte';
@@ -12,9 +12,11 @@
import Switch from '$lib/components/common/Switch.svelte';
import GlobeAltSolid from '$lib/components/icons/GlobeAltSolid.svelte';
import WrenchSolid from '$lib/components/icons/WrenchSolid.svelte';
+ import CameraSolid from '$lib/components/icons/CameraSolid.svelte';
const i18n = getContext('i18n');
+ export let screenCaptureHandler: Function;
export let uploadFilesHandler: Function;
export let selectedToolIds: string[] = [];
@@ -127,6 +129,18 @@
{/if}
+ {#if !$mobile}
+ {
+ screenCaptureHandler();
+ }}
+ >
+
+ {$i18n.t('Capture')}
+
+ {/if}
+
{
diff --git a/src/lib/components/icons/CameraSolid.svelte b/src/lib/components/icons/CameraSolid.svelte
new file mode 100644
index 0000000000..f74edb73ec
--- /dev/null
+++ b/src/lib/components/icons/CameraSolid.svelte
@@ -0,0 +1,12 @@
+
+
+
+
+
+
From 8f51681801cc2a29efabdc86520c2219ef203b52 Mon Sep 17 00:00:00 2001
From: Jason Kidd
Date: Fri, 6 Dec 2024 13:03:01 -0800
Subject: [PATCH 087/385] feat: Make ENABLE_WEBSOCKET_SUPPORT disable polling
entirely to allow multiple replicas without sticky sessions.
See https://socket.io/docs/v4/using-multiple-nodes/ for details why this was done.
Also create a redis key to track which replica is running the cleanup job
---
backend/open_webui/main.py | 2 +
backend/open_webui/socket/main.py | 82 +++++++++++++++++++-----------
backend/open_webui/socket/utils.py | 28 ++++++++++
src/routes/+layout.svelte | 7 ++-
4 files changed, 87 insertions(+), 32 deletions(-)
diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py
index e7f6023110..ea6babd59c 100644
--- a/backend/open_webui/main.py
+++ b/backend/open_webui/main.py
@@ -264,6 +264,7 @@ from open_webui.env import (
WEBUI_SESSION_COOKIE_SECURE,
WEBUI_AUTH_TRUSTED_EMAIL_HEADER,
WEBUI_AUTH_TRUSTED_NAME_HEADER,
+ ENABLE_WEBSOCKET_SUPPORT,
BYPASS_MODEL_ACCESS_CONTROL,
RESET_CONFIG_ON_START,
OFFLINE_MODE,
@@ -932,6 +933,7 @@ async def get_app_config(request: Request):
"enable_api_key": app.state.config.ENABLE_API_KEY,
"enable_signup": app.state.config.ENABLE_SIGNUP,
"enable_login_form": app.state.config.ENABLE_LOGIN_FORM,
+ "disable_websocket_polling": ENABLE_WEBSOCKET_SUPPORT,
**(
{
"enable_web_search": app.state.config.ENABLE_RAG_WEB_SEARCH,
diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py
index 8343be6665..d043ce066e 100644
--- a/backend/open_webui/socket/main.py
+++ b/backend/open_webui/socket/main.py
@@ -11,7 +11,7 @@ from open_webui.env import (
WEBSOCKET_REDIS_URL,
)
from open_webui.utils.auth import decode_token
-from open_webui.socket.utils import RedisDict
+from open_webui.socket.utils import RedisDict, RedisLock
from open_webui.env import (
GLOBAL_LOG_LEVEL,
@@ -29,9 +29,7 @@ if WEBSOCKET_MANAGER == "redis":
sio = socketio.AsyncServer(
cors_allowed_origins=[],
async_mode="asgi",
- transports=(
- ["polling", "websocket"] if ENABLE_WEBSOCKET_SUPPORT else ["polling"]
- ),
+ transports=(["websocket"] if ENABLE_WEBSOCKET_SUPPORT else ["polling"]),
allow_upgrades=ENABLE_WEBSOCKET_SUPPORT,
always_connect=True,
client_manager=mgr,
@@ -40,54 +38,78 @@ else:
sio = socketio.AsyncServer(
cors_allowed_origins=[],
async_mode="asgi",
- transports=(
- ["polling", "websocket"] if ENABLE_WEBSOCKET_SUPPORT else ["polling"]
- ),
+ transports=(["websocket"] if ENABLE_WEBSOCKET_SUPPORT else ["polling"]),
allow_upgrades=ENABLE_WEBSOCKET_SUPPORT,
always_connect=True,
)
+# Timeout duration in seconds
+TIMEOUT_DURATION = 3
+
# Dictionary to maintain the user pool
+run_cleanup = True
if WEBSOCKET_MANAGER == "redis":
+ log.debug("Using Redis to manage websockets.")
SESSION_POOL = RedisDict("open-webui:session_pool", redis_url=WEBSOCKET_REDIS_URL)
USER_POOL = RedisDict("open-webui:user_pool", redis_url=WEBSOCKET_REDIS_URL)
USAGE_POOL = RedisDict("open-webui:usage_pool", redis_url=WEBSOCKET_REDIS_URL)
+
+ clean_up_lock = RedisLock(
+ redis_url=WEBSOCKET_REDIS_URL,
+ lock_name="usage_cleanup_lock",
+ timeout_secs=TIMEOUT_DURATION * 2,
+ )
+ run_cleanup = clean_up_lock.aquire_lock()
+ renew_func = clean_up_lock.renew_lock
+ release_func = clean_up_lock.release_lock
else:
SESSION_POOL = {}
USER_POOL = {}
USAGE_POOL = {}
-
-
-# Timeout duration in seconds
-TIMEOUT_DURATION = 3
+ release_func = renew_func = lambda: True
async def periodic_usage_pool_cleanup():
- while True:
- now = int(time.time())
- for model_id, connections in list(USAGE_POOL.items()):
- # Creating a list of sids to remove if they have timed out
- expired_sids = [
- sid
- for sid, details in connections.items()
- if now - details["updated_at"] > TIMEOUT_DURATION
- ]
+ if not run_cleanup:
+ log.debug("Usage pool cleanup lock already exists. Not running it.")
+ return
+ log.debug("Running periodic_usage_pool_cleanup")
+ try:
+ while True:
+ if not renew_func():
+ log.error(f"Unable to renew cleanup lock. Exiting usage pool cleanup.")
+ raise Exception("Unable to renew usage pool cleanup lock.")
- for sid in expired_sids:
- del connections[sid]
+ now = int(time.time())
+ send_usage = False
+ for model_id, connections in list(USAGE_POOL.items()):
+ # Creating a list of sids to remove if they have timed out
+ expired_sids = [
+ sid
+ for sid, details in connections.items()
+ if now - details["updated_at"] > TIMEOUT_DURATION
+ ]
- if not connections:
- log.debug(f"Cleaning up model {model_id} from usage pool")
- del USAGE_POOL[model_id]
- else:
- USAGE_POOL[model_id] = connections
+ for sid in expired_sids:
+ del connections[sid]
- # Emit updated usage information after cleaning
- await sio.emit("usage", {"models": get_models_in_use()})
+ if not connections:
+ log.debug(f"Cleaning up model {model_id} from usage pool")
+ del USAGE_POOL[model_id]
+ else:
+ USAGE_POOL[model_id] = connections
- await asyncio.sleep(TIMEOUT_DURATION)
+ send_usage = True
+
+ if send_usage:
+ # Emit updated usage information after cleaning
+ await sio.emit("usage", {"models": get_models_in_use()})
+
+ await asyncio.sleep(TIMEOUT_DURATION)
+ finally:
+ release_func()
app = socketio.ASGIApp(
diff --git a/backend/open_webui/socket/utils.py b/backend/open_webui/socket/utils.py
index 1862ff439e..d3de87b05c 100644
--- a/backend/open_webui/socket/utils.py
+++ b/backend/open_webui/socket/utils.py
@@ -1,5 +1,33 @@
import json
import redis
+import uuid
+
+
+class RedisLock:
+ def __init__(self, redis_url, lock_name, timeout_secs):
+ self.lock_name = lock_name
+ self.lock_id = str(uuid.uuid4())
+ self.timeout_secs = timeout_secs
+ self.lock_obtained = False
+ self.redis = redis.Redis.from_url(redis_url, decode_responses=True)
+
+ def aquire_lock(self):
+ # nx=True will only set this key if it _hasn't_ already been set
+ self.lock_obtained = self.redis.set(
+ self.lock_name, self.lock_id, nx=True, ex=self.timeout_secs
+ )
+ return self.lock_obtained
+
+ def renew_lock(self):
+ # xx=True will only set this key if it _has_ already been set
+ return self.redis.set(
+ self.lock_name, self.lock_id, xx=True, ex=self.timeout_secs
+ )
+
+ def release_lock(self):
+ lock_value = self.redis.get(self.lock_name)
+ if lock_value and lock_value.decode("utf-8") == self.lock_id:
+ self.redis.delete(self.lock_name)
class RedisDict:
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index d1c30a96b6..71ee2dc8ba 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -38,13 +38,15 @@
let loaded = false;
const BREAKPOINT = 768;
- const setupSocket = () => {
+ const setupSocket = (disableWebSocketPolling) => {
+ console.log('Disabled websocket polling', disableWebSocketPolling);
const _socket = io(`${WEBUI_BASE_URL}` || undefined, {
reconnection: true,
reconnectionDelay: 1000,
reconnectionDelayMax: 5000,
randomizationFactor: 0.5,
path: '/ws/socket.io',
+ transports: disableWebSocketPolling ? ['websocket'] : ['polling', 'websocket'],
auth: { token: localStorage.token }
});
@@ -125,8 +127,9 @@
await config.set(backendConfig);
await WEBUI_NAME.set(backendConfig.name);
+ const disableWebSocketPolling = backendConfig.features.disable_websocket_polling === true;
if ($config) {
- setupSocket();
+ setupSocket(disableWebSocketPolling);
if (localStorage.token) {
// Get Session User Info
From 89e86f5e2e1d6df90b871999bebf89852e3be030 Mon Sep 17 00:00:00 2001
From: Taylor Wilsdon
Date: Wed, 18 Dec 2024 12:15:23 -0500
Subject: [PATCH 088/385] functional
---
src/lib/components/chat/MessageInput.svelte | 105 +++++++++-----------
1 file changed, 45 insertions(+), 60 deletions(-)
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 0cbd18b8b5..36430ed44d 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -90,14 +90,49 @@
});
};
+ const screenCaptureHandler = async () => {
+ try {
+ // Request screen media
+ const mediaStream = await navigator.mediaDevices.getDisplayMedia({
+ video: { cursor: 'never' },
+ audio: false
+ });
+ // Once the user selects a screen, temporarily create a video element
+ const video = document.createElement('video');
+ video.srcObject = mediaStream;
+ // Ensure the video loads without affecting user experience or tab switching
+ await video.play();
+ // Set up the canvas to match the video dimensions
+ const canvas = document.createElement('canvas');
+ canvas.width = video.videoWidth;
+ canvas.height = video.videoHeight;
+ // Grab a single frame from the video stream using the canvas
+ const context = canvas.getContext('2d');
+ context.drawImage(video, 0, 0, canvas.width, canvas.height);
+ // Stop all video tracks (stop screen sharing) after capturing the image
+ mediaStream.getTracks().forEach((track) => track.stop());
+
+ // bring back focus to this current tab, so that the user can see the screen capture
+ window.focus();
+
+ // Convert the canvas to a Base64 image URL
+ const imageUrl = canvas.toDataURL('image/png');
+ // Add the captured image to the files array to render it
+ files = [...files, { type: 'image', url: imageUrl }];
+ // Clean memory: Clear video srcObject
+ video.srcObject = null;
+ } catch (error) {
+ // Handle any errors (e.g., user cancels screen sharing)
+ console.error('Error capturing screen:', error);
+ }
+ };
+
const uploadFileHandler = async (file, fullContext: boolean = false) => {
if ($_user?.role !== 'admin' && !($_user?.permissions?.chat?.file_upload ?? true)) {
toast.error($i18n.t('You do not have permission to upload files.'));
return null;
}
- console.log(file);
-
const tempItemId = uuidv4();
const fileItem = {
type: 'file',
@@ -359,64 +394,13 @@
{/if}
-
-
-
{
- if (availableToolIds.includes(e.id) || ($_user?.role ?? 'user') === 'admin') {
- a[e.id] = {
- name: e.name,
- description: e.meta.description,
- enabled: false
- };
- }
- return a;
- }, {})}
- uploadFilesHandler={() => {
- filesInputElement.click();
- }}
- uploadGoogleDriveHandler={async () => {
- try {
- const fileData = await createPicker();
- if (fileData) {
- const file = new File([fileData.blob], fileData.name, {
- type: fileData.blob.type
- });
- await uploadFileHandler(file);
- } else {
- console.log('No file was selected from Google Drive');
- }
- } catch (error) {
- console.error('Google Drive Error:', error);
- toast.error(
- $i18n.t('Error accessing Google Drive: {{error}}', {
- error: error.message
- })
- );
- }
- }}
- onClose={async () => {
- await tick();
-
- const chatInput = document.getElementById('chat-input');
- chatInput?.focus();
- }}
- >
-
-
-
+
+
+
+
@@ -646,6 +630,7 @@
);
}
}}
+
onClose={async () => {
await tick();
From 366158ff04567d15670480895abe20e9cbfeae36 Mon Sep 17 00:00:00 2001
From: Taylor Wilsdon
Date: Wed, 18 Dec 2024 12:18:31 -0500
Subject: [PATCH 089/385] npm run format
---
backend/open_webui/main.py | 2 +-
backend/open_webui/routers/knowledge.py | 37 ++++++-----
.../static/swagger-ui/swagger-ui-bundle.js | 62 +++++++++----------
src/lib/components/chat/MessageInput.svelte | 1 -
.../chat/MessageInput/InputMenu.svelte | 30 +++++++--
src/lib/utils/index.ts | 52 ++++++++--------
6 files changed, 100 insertions(+), 84 deletions(-)
diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py
index f350b80a82..48e6268b5f 100644
--- a/backend/open_webui/main.py
+++ b/backend/open_webui/main.py
@@ -951,7 +951,7 @@ async def get_app_config(request: Request):
},
"google_drive": {
"client_id": GOOGLE_DRIVE_CLIENT_ID.value,
- "api_key": GOOGLE_DRIVE_API_KEY.value
+ "api_key": GOOGLE_DRIVE_API_KEY.value,
},
**(
{
diff --git a/backend/open_webui/routers/knowledge.py b/backend/open_webui/routers/knowledge.py
index 0dff2bc020..04ebcf507b 100644
--- a/backend/open_webui/routers/knowledge.py
+++ b/backend/open_webui/routers/knowledge.py
@@ -11,7 +11,12 @@ from open_webui.models.knowledge import (
)
from open_webui.models.files import Files, FileModel
from open_webui.retrieval.vector.connector import VECTOR_DB_CLIENT
-from open_webui.routers.retrieval import process_file, ProcessFileForm, process_files_batch, BatchProcessFilesForm
+from open_webui.routers.retrieval import (
+ process_file,
+ ProcessFileForm,
+ process_files_batch,
+ BatchProcessFilesForm,
+)
from open_webui.constants import ERROR_MESSAGES
@@ -519,6 +524,7 @@ async def reset_knowledge_by_id(id: str, user=Depends(get_verified_user)):
# AddFilesToKnowledge
############################
+
@router.post("/{id}/files/batch/add", response_model=Optional[KnowledgeFilesResponse])
def add_files_to_knowledge_batch(
id: str,
@@ -555,27 +561,25 @@ def add_files_to_knowledge_batch(
# Process files
try:
- result = process_files_batch(BatchProcessFilesForm(
- files=files,
- collection_name=id
- ))
- except Exception as e:
- log.error(f"add_files_to_knowledge_batch: Exception occurred: {e}", exc_info=True)
- raise HTTPException(
- status_code=status.HTTP_400_BAD_REQUEST,
- detail=str(e)
+ result = process_files_batch(
+ BatchProcessFilesForm(files=files, collection_name=id)
)
-
+ except Exception as e:
+ log.error(
+ f"add_files_to_knowledge_batch: Exception occurred: {e}", exc_info=True
+ )
+ raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail=str(e))
+
# Add successful files to knowledge base
data = knowledge.data or {}
existing_file_ids = data.get("file_ids", [])
-
+
# Only add files that were successfully processed
successful_file_ids = [r.file_id for r in result.results if r.status == "completed"]
for file_id in successful_file_ids:
if file_id not in existing_file_ids:
existing_file_ids.append(file_id)
-
+
data["file_ids"] = existing_file_ids
knowledge = Knowledges.update_knowledge_data_by_id(id=id, data=data)
@@ -587,11 +591,10 @@ def add_files_to_knowledge_batch(
files=Files.get_files_by_ids(existing_file_ids),
warnings={
"message": "Some files failed to process",
- "errors": error_details
- }
+ "errors": error_details,
+ },
)
return KnowledgeFilesResponse(
- **knowledge.model_dump(),
- files=Files.get_files_by_ids(existing_file_ids)
+ **knowledge.model_dump(), files=Files.get_files_by_ids(existing_file_ids)
)
diff --git a/backend/open_webui/static/swagger-ui/swagger-ui-bundle.js b/backend/open_webui/static/swagger-ui/swagger-ui-bundle.js
index b2e982f1dd..dcd1c5313d 100644
--- a/backend/open_webui/static/swagger-ui/swagger-ui-bundle.js
+++ b/backend/open_webui/static/swagger-ui/swagger-ui-bundle.js
@@ -37007,16 +37007,14 @@
Pe.createElement('span', { className: 'brace-close' }, '}')
),
pe.size
- ? pe
- .entrySeq()
- .map(([s, o]) =>
- Pe.createElement(xe, {
- key: `${s}-${o}`,
- propKey: s,
- propVal: o,
- propClass: 'property'
- })
- )
+ ? pe.entrySeq().map(([s, o]) =>
+ Pe.createElement(xe, {
+ key: `${s}-${o}`,
+ propKey: s,
+ propVal: o,
+ propClass: 'property'
+ })
+ )
: null
);
}
@@ -37167,16 +37165,14 @@
)
: null,
C && z.size
- ? z
- .entrySeq()
- .map(([s, o]) =>
- Pe.createElement(le, {
- key: `${s}-${o}`,
- propKey: s,
- propVal: o,
- propClass: rs
- })
- )
+ ? z.entrySeq().map(([s, o]) =>
+ Pe.createElement(le, {
+ key: `${s}-${o}`,
+ propKey: s,
+ propVal: o,
+ propClass: rs
+ })
+ )
: null,
U ? Pe.createElement(ie, { source: U }) : null,
Z &&
@@ -57290,20 +57286,18 @@
Pe.createElement(
'div',
{ className: 'modal-ux-content' },
- x
- .valueSeq()
- .map((x, j) =>
- Pe.createElement(C, {
- key: j,
- AST: w,
- definitions: x,
- getComponent: i,
- errSelectors: u,
- authSelectors: s,
- authActions: o,
- specSelectors: _
- })
- )
+ x.valueSeq().map((x, j) =>
+ Pe.createElement(C, {
+ key: j,
+ AST: w,
+ definitions: x,
+ getComponent: i,
+ errSelectors: u,
+ authSelectors: s,
+ authActions: o,
+ specSelectors: _
+ })
+ )
)
)
)
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 36430ed44d..51fbf58049 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -630,7 +630,6 @@
);
}
}}
-
onClose={async () => {
await tick();
diff --git a/src/lib/components/chat/MessageInput/InputMenu.svelte b/src/lib/components/chat/MessageInput/InputMenu.svelte
index ce72cf24f3..299ebb6e3d 100644
--- a/src/lib/components/chat/MessageInput/InputMenu.svelte
+++ b/src/lib/components/chat/MessageInput/InputMenu.svelte
@@ -161,12 +161,30 @@
}}
>
-
-
-
-
-
-
+
+
+
+
+
+
{$i18n.t('Google Drive')}
diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts
index 6dbd90bb97..6621db8a4a 100644
--- a/src/lib/utils/index.ts
+++ b/src/lib/utils/index.ts
@@ -552,31 +552,33 @@ export const removeEmojis = (str: string) => {
};
export const removeFormattings = (str: string) => {
- return str
- // Block elements (remove completely)
- .replace(/(```[\s\S]*?```)/g, '') // Code blocks
- .replace(/^\|.*\|$/gm, '') // Tables
- // Inline elements (preserve content)
- .replace(/(?:\*\*|__)(.*?)(?:\*\*|__)/g, '$1') // Bold
- .replace(/(?:[*_])(.*?)(?:[*_])/g, '$1') // Italic
- .replace(/~~(.*?)~~/g, '$1') // Strikethrough
- .replace(/`([^`]+)`/g, '$1') // Inline code
-
- // Links and images
- .replace(/!?\[([^\]]*)\](?:\([^)]+\)|\[[^\]]*\])/g, '$1') // Links & images
- .replace(/^\[[^\]]+\]:\s*.*$/gm, '') // Reference definitions
-
- // Block formatting
- .replace(/^#{1,6}\s+/gm, '') // Headers
- .replace(/^\s*[-*+]\s+/gm, '') // Lists
- .replace(/^\s*(?:\d+\.)\s+/gm, '') // Numbered lists
- .replace(/^\s*>[> ]*/gm, '') // Blockquotes
- .replace(/^\s*:\s+/gm, '') // Definition lists
-
- // Cleanup
- .replace(/\[\^[^\]]*\]/g, '') // Footnotes
- .replace(/[-*_~]/g, '') // Remaining markers
- .replace(/\n{2,}/g, '\n') // Multiple newlines
+ return (
+ str
+ // Block elements (remove completely)
+ .replace(/(```[\s\S]*?```)/g, '') // Code blocks
+ .replace(/^\|.*\|$/gm, '') // Tables
+ // Inline elements (preserve content)
+ .replace(/(?:\*\*|__)(.*?)(?:\*\*|__)/g, '$1') // Bold
+ .replace(/(?:[*_])(.*?)(?:[*_])/g, '$1') // Italic
+ .replace(/~~(.*?)~~/g, '$1') // Strikethrough
+ .replace(/`([^`]+)`/g, '$1') // Inline code
+
+ // Links and images
+ .replace(/!?\[([^\]]*)\](?:\([^)]+\)|\[[^\]]*\])/g, '$1') // Links & images
+ .replace(/^\[[^\]]+\]:\s*.*$/gm, '') // Reference definitions
+
+ // Block formatting
+ .replace(/^#{1,6}\s+/gm, '') // Headers
+ .replace(/^\s*[-*+]\s+/gm, '') // Lists
+ .replace(/^\s*(?:\d+\.)\s+/gm, '') // Numbered lists
+ .replace(/^\s*>[> ]*/gm, '') // Blockquotes
+ .replace(/^\s*:\s+/gm, '') // Definition lists
+
+ // Cleanup
+ .replace(/\[\^[^\]]*\]/g, '') // Footnotes
+ .replace(/[-*_~]/g, '') // Remaining markers
+ .replace(/\n{2,}/g, '\n')
+ ); // Multiple newlines
};
export const cleanText = (content: string) => {
From d43ca803ca9328d5195c121eebace2c7f8227df9 Mon Sep 17 00:00:00 2001
From: Taylor Wilsdon
Date: Wed, 18 Dec 2024 13:24:11 -0500
Subject: [PATCH 090/385] feat: Add Google Drive integration toggle to document
settings
---
.../admin/Settings/Documents.svelte | 26 +++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/src/lib/components/admin/Settings/Documents.svelte b/src/lib/components/admin/Settings/Documents.svelte
index a596c293c6..71bf5a80ee 100644
--- a/src/lib/components/admin/Settings/Documents.svelte
+++ b/src/lib/components/admin/Settings/Documents.svelte
@@ -56,6 +56,8 @@
let chunkOverlap = 0;
let pdfExtractImages = true;
+ let enableGoogleDrive = false;
+
let OpenAIUrl = '';
let OpenAIKey = '';
@@ -175,6 +177,7 @@
}
const res = await updateRAGConfig(localStorage.token, {
pdf_extract_images: pdfExtractImages,
+ enable_google_drive: enableGoogleDrive,
file: {
max_size: fileMaxSize === '' ? null : fileMaxSize,
max_count: fileMaxCount === '' ? null : fileMaxCount
@@ -187,7 +190,7 @@
content_extraction: {
engine: contentExtractionEngine,
tika_server_url: tikaServerUrl
- }
+ },
});
await updateQuerySettings(localStorage.token, querySettings);
@@ -245,6 +248,8 @@
fileMaxSize = res?.file.max_size ?? '';
fileMaxCount = res?.file.max_count ?? '';
+
+ enableGoogleDrive = res.enable_google_drive;
}
});
@@ -571,7 +576,9 @@
- {#if showTikaServerUrl}
+
+
+ {#if showTikaServerUrl}
{/if}
+
+
+
From 5c149c3aa23ab15e219fdf7d1aecf0cf0fe3b354 Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)"
Date: Wed, 18 Dec 2024 13:24:13 -0500
Subject: [PATCH 091/385] style: Align Google Drive switch to the right side of
text
---
src/lib/components/admin/Settings/Documents.svelte | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/lib/components/admin/Settings/Documents.svelte b/src/lib/components/admin/Settings/Documents.svelte
index 71bf5a80ee..f802d4b7fe 100644
--- a/src/lib/components/admin/Settings/Documents.svelte
+++ b/src/lib/components/admin/Settings/Documents.svelte
@@ -596,13 +596,13 @@
{$i18n.t('Google Drive')}
-
-
-
{$i18n.t('Enable Google Drive')}
-
-
-
+
+
+
{$i18n.t('Enable Google Drive')}
+
+
+
From 0dc75363aa98c1f44781cc86e652a6534533ae5c Mon Sep 17 00:00:00 2001
From: Taylor Wilsdon
Date: Wed, 18 Dec 2024 13:25:57 -0500
Subject: [PATCH 092/385] Add configurable Google Drive toggle in the Documents
admin section along with necessary config scaffolding
---
backend/open_webui/config.py | 7 +++++++
backend/open_webui/main.py | 5 +++--
backend/open_webui/routers/retrieval.py | 9 +++++++++
src/lib/apis/retrieval/index.ts | 1 +
src/lib/components/admin/Settings/Documents.svelte | 2 --
src/lib/components/chat/MessageInput/InputMenu.svelte | 2 ++
src/lib/stores/index.ts | 1 +
7 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/backend/open_webui/config.py b/backend/open_webui/config.py
index a69af97bad..76b211fb14 100644
--- a/backend/open_webui/config.py
+++ b/backend/open_webui/config.py
@@ -1438,6 +1438,13 @@ RAG_WEB_SEARCH_DOMAIN_FILTER_LIST = PersistentConfig(
],
)
+# If configured, Google Drive will be available as an upload option.
+ENABLE_GOOGLE_DRIVE = PersistentConfig(
+ "ENABLE_GOOGLE_DRIVE",
+ "rag.drive.enable",
+ os.getenv("ENABLE_GOOGLE_DRIVE", "False").lower() == "true",
+)
+
SEARXNG_QUERY_URL = PersistentConfig(
"SEARXNG_QUERY_URL",
"rag.web.search.searxng_query_url",
diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py
index 48e6268b5f..3a47702f2b 100644
--- a/backend/open_webui/main.py
+++ b/backend/open_webui/main.py
@@ -183,6 +183,7 @@ from open_webui.config import (
ENABLE_RAG_LOCAL_WEB_FETCH,
ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION,
ENABLE_RAG_WEB_SEARCH,
+ ENABLE_GOOGLE_DRIVE,
UPLOAD_DIR,
# WebUI
WEBUI_AUTH,
@@ -234,8 +235,6 @@ from open_webui.config import (
CORS_ALLOW_ORIGIN,
DEFAULT_LOCALE,
OAUTH_PROVIDERS,
- GOOGLE_DRIVE_CLIENT_ID,
- GOOGLE_DRIVE_API_KEY,
# Admin
ENABLE_ADMIN_CHAT_ACCESS,
ENABLE_ADMIN_EXPORT,
@@ -487,6 +486,7 @@ app.state.config.ENABLE_RAG_WEB_SEARCH = ENABLE_RAG_WEB_SEARCH
app.state.config.RAG_WEB_SEARCH_ENGINE = RAG_WEB_SEARCH_ENGINE
app.state.config.RAG_WEB_SEARCH_DOMAIN_FILTER_LIST = RAG_WEB_SEARCH_DOMAIN_FILTER_LIST
+app.state.config.ENABLE_GOOGLE_DRIVE = ENABLE_GOOGLE_DRIVE
app.state.config.SEARXNG_QUERY_URL = SEARXNG_QUERY_URL
app.state.config.GOOGLE_PSE_API_KEY = GOOGLE_PSE_API_KEY
app.state.config.GOOGLE_PSE_ENGINE_ID = GOOGLE_PSE_ENGINE_ID
@@ -939,6 +939,7 @@ async def get_app_config(request: Request):
**(
{
"enable_web_search": app.state.config.ENABLE_RAG_WEB_SEARCH,
+ "enable_google_drive": app.state.config.ENABLE_GOOGLE_DRIVE,
"enable_image_generation": app.state.config.ENABLE_IMAGE_GENERATION,
"enable_community_sharing": app.state.config.ENABLE_COMMUNITY_SHARING,
"enable_message_rating": app.state.config.ENABLE_MESSAGE_RATING,
diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py
index c6a3a0cca9..d19940197a 100644
--- a/backend/open_webui/routers/retrieval.py
+++ b/backend/open_webui/routers/retrieval.py
@@ -347,6 +347,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
return {
"status": True,
"pdf_extract_images": request.app.state.config.PDF_EXTRACT_IMAGES,
+ "enable_google_drive": request.app.state.config.ENABLE_GOOGLE_DRIVE,
"content_extraction": {
"engine": request.app.state.config.CONTENT_EXTRACTION_ENGINE,
"tika_server_url": request.app.state.config.TIKA_SERVER_URL,
@@ -369,6 +370,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
"web_loader_ssl_verification": request.app.state.config.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION,
"search": {
"enabled": request.app.state.config.ENABLE_RAG_WEB_SEARCH,
+ "drive": request.app.state.config.ENABLE_GOOGLE_DRIVE,
"engine": request.app.state.config.RAG_WEB_SEARCH_ENGINE,
"searxng_query_url": request.app.state.config.SEARXNG_QUERY_URL,
"google_pse_api_key": request.app.state.config.GOOGLE_PSE_API_KEY,
@@ -445,6 +447,7 @@ class WebConfig(BaseModel):
class ConfigUpdateForm(BaseModel):
pdf_extract_images: Optional[bool] = None
+ enable_google_drive: Optional[bool] = None
file: Optional[FileConfig] = None
content_extraction: Optional[ContentExtractionConfig] = None
chunk: Optional[ChunkParamUpdateForm] = None
@@ -462,6 +465,12 @@ async def update_rag_config(
else request.app.state.config.PDF_EXTRACT_IMAGES
)
+ request.app.state.config.ENABLE_GOOGLE_DRIVE = (
+ form_data.enable_google_drive
+ if form_data.enable_google_drive is not None
+ else request.app.state.config.ENABLE_GOOGLE_DRIVE
+ )
+
if form_data.file is not None:
request.app.state.config.FILE_MAX_SIZE = form_data.file.max_size
request.app.state.config.FILE_MAX_COUNT = form_data.file.max_count
diff --git a/src/lib/apis/retrieval/index.ts b/src/lib/apis/retrieval/index.ts
index 21ae792fa5..7b8d836ceb 100644
--- a/src/lib/apis/retrieval/index.ts
+++ b/src/lib/apis/retrieval/index.ts
@@ -45,6 +45,7 @@ type YoutubeConfigForm = {
type RAGConfigForm = {
pdf_extract_images?: boolean;
+ enable_google_drive?: boolean;
chunk?: ChunkConfigForm;
content_extraction?: ContentExtractConfigForm;
web_loader_ssl_verification?: boolean;
diff --git a/src/lib/components/admin/Settings/Documents.svelte b/src/lib/components/admin/Settings/Documents.svelte
index f802d4b7fe..5ff48900aa 100644
--- a/src/lib/components/admin/Settings/Documents.svelte
+++ b/src/lib/components/admin/Settings/Documents.svelte
@@ -592,7 +592,6 @@
-
diff --git a/src/lib/components/chat/MessageInput/InputMenu.svelte b/src/lib/components/chat/MessageInput/InputMenu.svelte
index 299ebb6e3d..9f861ec78b 100644
--- a/src/lib/components/chat/MessageInput/InputMenu.svelte
+++ b/src/lib/components/chat/MessageInput/InputMenu.svelte
@@ -154,6 +154,7 @@
{$i18n.t('Upload Files')}
+ {#if $config?.features?.enable_google_drive}
{
@@ -188,6 +189,7 @@
{$i18n.t('Google Drive')}
+ {/if}
diff --git a/src/lib/stores/index.ts b/src/lib/stores/index.ts
index 2e3976bf90..4e82ba966c 100644
--- a/src/lib/stores/index.ts
+++ b/src/lib/stores/index.ts
@@ -176,6 +176,7 @@ type Config = {
enable_signup: boolean;
enable_login_form: boolean;
enable_web_search?: boolean;
+ enable_google_drive: boolean;
enable_image_generation: boolean;
enable_admin_export: boolean;
enable_admin_chat_access: boolean;
From 1120f4d09ab33ba57e996f4225634bcbd6595cb4 Mon Sep 17 00:00:00 2001
From: Taylor Wilsdon
Date: Wed, 18 Dec 2024 13:32:46 -0500
Subject: [PATCH 093/385] npm run format
---
.../admin/Settings/Documents.svelte | 438 +++++++++---------
.../chat/MessageInput/InputMenu.svelte | 68 +--
2 files changed, 255 insertions(+), 251 deletions(-)
diff --git a/src/lib/components/admin/Settings/Documents.svelte b/src/lib/components/admin/Settings/Documents.svelte
index 5ff48900aa..ff580a972a 100644
--- a/src/lib/components/admin/Settings/Documents.svelte
+++ b/src/lib/components/admin/Settings/Documents.svelte
@@ -190,7 +190,7 @@
content_extraction: {
engine: contentExtractionEngine,
tika_server_url: tikaServerUrl
- },
+ }
});
await updateQuerySettings(localStorage.token, querySettings);
@@ -578,7 +578,7 @@
- {#if showTikaServerUrl}
+ {#if showTikaServerUrl}
{/if}
-
-
+
{$i18n.t('Google Drive')}
@@ -604,251 +603,256 @@
-
+
-
-
{$i18n.t('Query Params')}
+
+
{$i18n.t('Query Params')}
-
-
-
{$i18n.t('Top K')}
-
-
-
-
-
-
- {#if querySettings.hybrid === true}
-
-
- {$i18n.t('Minimum Score')}
-
+
+
+
+ {#if querySettings.hybrid === true}
+
+
+ {$i18n.t('Minimum Score')}
+
+
+
+
+
+
+ {/if}
+
+
+ {#if querySettings.hybrid === true}
+
+ {$i18n.t(
+ 'Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.'
+ )}
+
{/if}
-
- {#if querySettings.hybrid === true}
-
- {$i18n.t(
- 'Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.'
- )}
-
- {/if}
-
-
-
{$i18n.t('RAG Template')}
-
-
-
-
-
-
-
-
-
-
{$i18n.t('Chunk Params')}
-
-
-
{$i18n.t('Text Splitter')}
-
-
+ {$i18n.t('RAG Template')}
+
- {$i18n.t('Default')} ({$i18n.t('Character')})
- {$i18n.t('Token')} ({$i18n.t('Tiktoken')})
-
-
-
-
-
-
-
{$i18n.t('Chunk Size')}
-
-
-
-
-
-
-
- {$i18n.t('Chunk Overlap')}
-
-
-
-
-
-
-
-
-
-
-
{$i18n.t('PDF Extract Images (OCR)')}
-
-
-
-
-
-
-
-
-
-
-
-
{$i18n.t('Files')}
-
-
-
-
- {$i18n.t('Max Upload Size')}
-
-
-
-
+
+
+
+
+
+
+
+
{$i18n.t('Chunk Params')}
+
+
+
{$i18n.t('Text Splitter')}
+
+
-
-
+ {$i18n.t('Default')} ({$i18n.t('Character')})
+ {$i18n.t('Token')} ({$i18n.t('Tiktoken')})
+
-
-
- {$i18n.t('Max Upload Count')}
-
-
-
+
+
+
+ {$i18n.t('Chunk Size')}
+
+
-
+
+
+
+
+
+ {$i18n.t('Chunk Overlap')}
+
+
+
+
+
+
+
+
+
+
+
{$i18n.t('PDF Extract Images (OCR)')}
+
+
+
+
+
+
+
+
+
{$i18n.t('Files')}
+
+
+
+
+ {$i18n.t('Max Upload Size')}
+
+
+
+
+
+
+
+
+
+
+
+ {$i18n.t('Max Upload Count')}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{
+ showResetUploadDirConfirm = true;
+ }}
+ type="button"
+ >
+
+ {$i18n.t('Reset Upload Directory')}
+
+
+
{
+ showResetConfirm = true;
+ }}
+ type="button"
+ >
+
+
+ {$i18n.t('Reset Vector Storage/Knowledge')}
+
+
+
-
-
-
-
+
{
- showResetUploadDirConfirm = true;
- }}
- type="button"
+ class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
+ type="submit"
>
-
- {$i18n.t('Reset Upload Directory')}
-
-
-
{
- showResetConfirm = true;
- }}
- type="button"
- >
-
-
- {$i18n.t('Reset Vector Storage/Knowledge')}
-
+ {$i18n.t('Save')}
-
-
- {$i18n.t('Save')}
-
-
diff --git a/src/lib/components/chat/MessageInput/InputMenu.svelte b/src/lib/components/chat/MessageInput/InputMenu.svelte
index 9f861ec78b..7bded7c151 100644
--- a/src/lib/components/chat/MessageInput/InputMenu.svelte
+++ b/src/lib/components/chat/MessageInput/InputMenu.svelte
@@ -155,40 +155,40 @@
{#if $config?.features?.enable_google_drive}
-
{
- uploadGoogleDriveHandler();
- }}
- >
-
-
-
-
-
-
-
-
- {$i18n.t('Google Drive')}
-
+
{
+ uploadGoogleDriveHandler();
+ }}
+ >
+
+
+
+
+
+
+
+
+ {$i18n.t('Google Drive')}
+
{/if}
From f3454a8bbaa640d87978fe6e913d3c260df092f1 Mon Sep 17 00:00:00 2001
From: Taylor Wilsdon
Date: Wed, 18 Dec 2024 13:35:37 -0500
Subject: [PATCH 094/385] Add google drive requirements to requirements.txt
---
backend/requirements.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/backend/requirements.txt b/backend/requirements.txt
index 79e898c6a2..e386248798 100644
--- a/backend/requirements.txt
+++ b/backend/requirements.txt
@@ -90,6 +90,11 @@ extract_msg
pydub
duckduckgo-search~=6.3.5
+## Google Drive
+google-api-python-client
+google-auth-httplib2
+google-auth-oauthlib
+
## Tests
docker~=7.1.0
pytest~=8.3.2
From 0f6d302760506e695328381641bead397b6fd020 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Wed, 18 Dec 2024 18:04:56 -0800
Subject: [PATCH 095/385] refac
---
backend/open_webui/config.py | 15 +++++++------
backend/open_webui/main.py | 21 ++++++++++++++-----
backend/open_webui/routers/retrieval.py | 14 ++++++-------
backend/open_webui/utils/middleware.py | 13 ++----------
src/lib/apis/retrieval/index.ts | 2 +-
.../admin/Settings/Documents.svelte | 8 +++----
.../chat/MessageInput/InputMenu.svelte | 2 +-
src/lib/stores/index.ts | 2 +-
8 files changed, 41 insertions(+), 36 deletions(-)
diff --git a/backend/open_webui/config.py b/backend/open_webui/config.py
index 76b211fb14..8e922dff7b 100644
--- a/backend/open_webui/config.py
+++ b/backend/open_webui/config.py
@@ -1203,6 +1203,15 @@ if VECTOR_DB == "pgvector" and not PGVECTOR_DB_URL.startswith("postgres"):
# Information Retrieval (RAG)
####################################
+
+# If configured, Google Drive will be available as an upload option.
+ENABLE_GOOGLE_DRIVE_INTEGRATION = PersistentConfig(
+ "ENABLE_GOOGLE_DRIVE_INTEGRATION",
+ "google_drive.enable",
+ os.getenv("ENABLE_GOOGLE_DRIVE_INTEGRATION", "False").lower() == "true",
+)
+
+
# RAG Content Extraction
CONTENT_EXTRACTION_ENGINE = PersistentConfig(
"CONTENT_EXTRACTION_ENGINE",
@@ -1438,12 +1447,6 @@ RAG_WEB_SEARCH_DOMAIN_FILTER_LIST = PersistentConfig(
],
)
-# If configured, Google Drive will be available as an upload option.
-ENABLE_GOOGLE_DRIVE = PersistentConfig(
- "ENABLE_GOOGLE_DRIVE",
- "rag.drive.enable",
- os.getenv("ENABLE_GOOGLE_DRIVE", "False").lower() == "true",
-)
SEARXNG_QUERY_URL = PersistentConfig(
"SEARXNG_QUERY_URL",
diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py
index 3a47702f2b..f30ca2676b 100644
--- a/backend/open_webui/main.py
+++ b/backend/open_webui/main.py
@@ -183,7 +183,7 @@ from open_webui.config import (
ENABLE_RAG_LOCAL_WEB_FETCH,
ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION,
ENABLE_RAG_WEB_SEARCH,
- ENABLE_GOOGLE_DRIVE,
+ ENABLE_GOOGLE_DRIVE_INTEGRATION,
UPLOAD_DIR,
# WebUI
WEBUI_AUTH,
@@ -486,7 +486,7 @@ app.state.config.ENABLE_RAG_WEB_SEARCH = ENABLE_RAG_WEB_SEARCH
app.state.config.RAG_WEB_SEARCH_ENGINE = RAG_WEB_SEARCH_ENGINE
app.state.config.RAG_WEB_SEARCH_DOMAIN_FILTER_LIST = RAG_WEB_SEARCH_DOMAIN_FILTER_LIST
-app.state.config.ENABLE_GOOGLE_DRIVE = ENABLE_GOOGLE_DRIVE
+app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION = ENABLE_GOOGLE_DRIVE_INTEGRATION
app.state.config.SEARXNG_QUERY_URL = SEARXNG_QUERY_URL
app.state.config.GOOGLE_PSE_API_KEY = GOOGLE_PSE_API_KEY
app.state.config.GOOGLE_PSE_ENGINE_ID = GOOGLE_PSE_ENGINE_ID
@@ -839,7 +839,18 @@ async def chat_completion(
except Exception as e:
raise e
- form_data, events = await process_chat_payload(request, form_data, user, model)
+ metadata = {
+ "chat_id": form_data.pop("chat_id", None),
+ "message_id": form_data.pop("id", None),
+ "session_id": form_data.pop("session_id", None),
+ "tool_ids": form_data.get("tool_ids", None),
+ "files": form_data.get("files", None),
+ }
+ form_data["metadata"] = metadata
+
+ form_data, events = await process_chat_payload(
+ request, form_data, metadata, user, model
+ )
except Exception as e:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
@@ -850,7 +861,7 @@ async def chat_completion(
response = await chat_completion_handler(
request, form_data, user, bypass_filter
)
- return await process_chat_response(response, events)
+ return await process_chat_response(response, events, metadata)
except Exception as e:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
@@ -939,7 +950,7 @@ async def get_app_config(request: Request):
**(
{
"enable_web_search": app.state.config.ENABLE_RAG_WEB_SEARCH,
- "enable_google_drive": app.state.config.ENABLE_GOOGLE_DRIVE,
+ "enable_google_drive_integration": app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION,
"enable_image_generation": app.state.config.ENABLE_IMAGE_GENERATION,
"enable_community_sharing": app.state.config.ENABLE_COMMUNITY_SHARING,
"enable_message_rating": app.state.config.ENABLE_MESSAGE_RATING,
diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py
index d19940197a..02ab3ca594 100644
--- a/backend/open_webui/routers/retrieval.py
+++ b/backend/open_webui/routers/retrieval.py
@@ -347,7 +347,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
return {
"status": True,
"pdf_extract_images": request.app.state.config.PDF_EXTRACT_IMAGES,
- "enable_google_drive": request.app.state.config.ENABLE_GOOGLE_DRIVE,
+ "ENABLE_GOOGLE_DRIVE_INTEGRATION": request.app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION,
"content_extraction": {
"engine": request.app.state.config.CONTENT_EXTRACTION_ENGINE,
"tika_server_url": request.app.state.config.TIKA_SERVER_URL,
@@ -370,7 +370,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
"web_loader_ssl_verification": request.app.state.config.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION,
"search": {
"enabled": request.app.state.config.ENABLE_RAG_WEB_SEARCH,
- "drive": request.app.state.config.ENABLE_GOOGLE_DRIVE,
+ "drive": request.app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION,
"engine": request.app.state.config.RAG_WEB_SEARCH_ENGINE,
"searxng_query_url": request.app.state.config.SEARXNG_QUERY_URL,
"google_pse_api_key": request.app.state.config.GOOGLE_PSE_API_KEY,
@@ -447,7 +447,7 @@ class WebConfig(BaseModel):
class ConfigUpdateForm(BaseModel):
pdf_extract_images: Optional[bool] = None
- enable_google_drive: Optional[bool] = None
+ enable_google_drive_integration: Optional[bool] = None
file: Optional[FileConfig] = None
content_extraction: Optional[ContentExtractionConfig] = None
chunk: Optional[ChunkParamUpdateForm] = None
@@ -465,10 +465,10 @@ async def update_rag_config(
else request.app.state.config.PDF_EXTRACT_IMAGES
)
- request.app.state.config.ENABLE_GOOGLE_DRIVE = (
- form_data.enable_google_drive
- if form_data.enable_google_drive is not None
- else request.app.state.config.ENABLE_GOOGLE_DRIVE
+ request.app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION = (
+ form_data.ENABLE_GOOGLE_DRIVE_INTEGRATION
+ if form_data.ENABLE_GOOGLE_DRIVE_INTEGRATION is not None
+ else request.app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION
)
if form_data.file is not None:
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index f697339db3..4115c7c2b7 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -391,19 +391,10 @@ def apply_params_to_form_data(form_data, model):
return form_data
-async def process_chat_payload(request, form_data, user, model):
+async def process_chat_payload(request, form_data, metadata, user, model):
form_data = apply_params_to_form_data(form_data, model)
log.debug(f"form_data: {form_data}")
- metadata = {
- "chat_id": form_data.pop("chat_id", None),
- "message_id": form_data.pop("id", None),
- "session_id": form_data.pop("session_id", None),
- "tool_ids": form_data.get("tool_ids", None),
- "files": form_data.get("files", None),
- }
- form_data["metadata"] = metadata
-
extra_params = {
"__event_emitter__": get_event_emitter(metadata),
"__event_call__": get_event_call(metadata),
@@ -513,7 +504,7 @@ async def process_chat_payload(request, form_data, user, model):
return form_data, events
-async def process_chat_response(response, events):
+async def process_chat_response(response, events, metadata):
if not isinstance(response, StreamingResponse):
return response
diff --git a/src/lib/apis/retrieval/index.ts b/src/lib/apis/retrieval/index.ts
index 7b8d836ceb..c35c37847b 100644
--- a/src/lib/apis/retrieval/index.ts
+++ b/src/lib/apis/retrieval/index.ts
@@ -45,7 +45,7 @@ type YoutubeConfigForm = {
type RAGConfigForm = {
pdf_extract_images?: boolean;
- enable_google_drive?: boolean;
+ enable_google_drive_integration?: boolean;
chunk?: ChunkConfigForm;
content_extraction?: ContentExtractConfigForm;
web_loader_ssl_verification?: boolean;
diff --git a/src/lib/components/admin/Settings/Documents.svelte b/src/lib/components/admin/Settings/Documents.svelte
index ff580a972a..eca6513ddb 100644
--- a/src/lib/components/admin/Settings/Documents.svelte
+++ b/src/lib/components/admin/Settings/Documents.svelte
@@ -56,7 +56,7 @@
let chunkOverlap = 0;
let pdfExtractImages = true;
- let enableGoogleDrive = false;
+ let enableGoogleDriveIntegration = false;
let OpenAIUrl = '';
let OpenAIKey = '';
@@ -177,7 +177,7 @@
}
const res = await updateRAGConfig(localStorage.token, {
pdf_extract_images: pdfExtractImages,
- enable_google_drive: enableGoogleDrive,
+ enable_google_drive_integration: enableGoogleDriveIntegration,
file: {
max_size: fileMaxSize === '' ? null : fileMaxSize,
max_count: fileMaxCount === '' ? null : fileMaxCount
@@ -249,7 +249,7 @@
fileMaxSize = res?.file.max_size ?? '';
fileMaxCount = res?.file.max_count ?? '';
- enableGoogleDrive = res.enable_google_drive;
+ enableGoogleDrive = res.enable_google_drive_integration;
}
});
@@ -598,7 +598,7 @@
{$i18n.t('Enable Google Drive')}
-
+
diff --git a/src/lib/components/chat/MessageInput/InputMenu.svelte b/src/lib/components/chat/MessageInput/InputMenu.svelte
index 7bded7c151..03280b0f6d 100644
--- a/src/lib/components/chat/MessageInput/InputMenu.svelte
+++ b/src/lib/components/chat/MessageInput/InputMenu.svelte
@@ -154,7 +154,7 @@
{$i18n.t('Upload Files')}
- {#if $config?.features?.enable_google_drive}
+ {#if $config?.features?.enable_google_drive_integration}
{
diff --git a/src/lib/stores/index.ts b/src/lib/stores/index.ts
index 4e82ba966c..0319a5b25f 100644
--- a/src/lib/stores/index.ts
+++ b/src/lib/stores/index.ts
@@ -176,7 +176,7 @@ type Config = {
enable_signup: boolean;
enable_login_form: boolean;
enable_web_search?: boolean;
- enable_google_drive: boolean;
+ enable_google_drive_integration: boolean;
enable_image_generation: boolean;
enable_admin_export: boolean;
enable_admin_chat_access: boolean;
From 2875326015329e47393a779d80dc8a50e3334c73 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Wed, 18 Dec 2024 18:11:01 -0800
Subject: [PATCH 096/385] fix: table export
---
.../Messages/Markdown/MarkdownTokens.svelte | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte
index d4486d7e77..26ecbce1d5 100644
--- a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte
+++ b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte
@@ -34,16 +34,27 @@
const exportTableToCSVHandler = (token, tokenIdx = 0) => {
console.log('Exporting table to CSV');
+ // Extract header row text and escape for CSV.
+ const header = token.header.map((headerCell) => `"${headerCell.text.replace(/"/g, '""')}"`);
+
// Create an array for rows that will hold the mapped cell text.
const rows = token.rows.map((row) =>
- row.map((cell) => cell.tokens.map((token) => token.text).join(''))
+ row.map((cell) => {
+ // Map tokens into a single text
+ const cellContent = cell.tokens.map((token) => token.text).join('');
+ // Escape double quotes and wrap the content in double quotes
+ return `"${cellContent.replace(/"/g, '""')}"`;
+ })
);
+ // Combine header and rows
+ const csvData = [header, ...rows];
+
// Join the rows using commas (,) as the separator and rows using newline (\n).
- const csvContent = rows.map((row) => row.join(',')).join('\n');
+ const csvContent = csvData.map((row) => row.join(',')).join('\n');
// Log rows and CSV content to ensure everything is correct.
- console.log(rows);
+ console.log(csvData);
console.log(csvContent);
// To handle Unicode characters, you need to prefix the data with a BOM:
@@ -100,7 +111,7 @@
{#each token.header as header, headerIdx}
From ddac34f769baf015e9bc2bf975d7fe2ed742df9d Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Wed, 18 Dec 2024 18:15:58 -0800
Subject: [PATCH 097/385] refac
---
backend/open_webui/routers/files.py | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/backend/open_webui/routers/files.py b/backend/open_webui/routers/files.py
index fa36a03eaa..3b1ba29457 100644
--- a/backend/open_webui/routers/files.py
+++ b/backend/open_webui/routers/files.py
@@ -226,9 +226,16 @@ async def get_file_content_by_id(id: str, user=Depends(get_verified_user)):
# Handle Unicode filenames
filename = file.meta.get("name", file.filename)
encoded_filename = quote(filename) # RFC5987 encoding
- headers = {
- "Content-Disposition": f"attachment; filename*=UTF-8''{encoded_filename}"
- }
+
+ headers = {}
+ if file.meta.get("content_type") not in [
+ "application/pdf",
+ "text/plain",
+ ]:
+ headers = {
+ **headers,
+ "Content-Disposition": f"attachment; filename*=UTF-8''{encoded_filename}",
+ }
return FileResponse(file_path, headers=headers)
From e4573d0b6c023cedc6173cd96c9fc7b5ab75d520 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Wed, 18 Dec 2024 18:32:19 -0800
Subject: [PATCH 098/385] refac
---
backend/open_webui/main.py | 2 +-
src/routes/+layout.svelte | 8 +++-----
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py
index ea6babd59c..e3e3cde4d2 100644
--- a/backend/open_webui/main.py
+++ b/backend/open_webui/main.py
@@ -933,7 +933,7 @@ async def get_app_config(request: Request):
"enable_api_key": app.state.config.ENABLE_API_KEY,
"enable_signup": app.state.config.ENABLE_SIGNUP,
"enable_login_form": app.state.config.ENABLE_LOGIN_FORM,
- "disable_websocket_polling": ENABLE_WEBSOCKET_SUPPORT,
+ "enable_websocket": ENABLE_WEBSOCKET_SUPPORT,
**(
{
"enable_web_search": app.state.config.ENABLE_RAG_WEB_SEARCH,
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 71ee2dc8ba..d92e8c2ab5 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -38,15 +38,14 @@
let loaded = false;
const BREAKPOINT = 768;
- const setupSocket = (disableWebSocketPolling) => {
- console.log('Disabled websocket polling', disableWebSocketPolling);
+ const setupSocket = (enableWebsocket) => {
const _socket = io(`${WEBUI_BASE_URL}` || undefined, {
reconnection: true,
reconnectionDelay: 1000,
reconnectionDelayMax: 5000,
randomizationFactor: 0.5,
path: '/ws/socket.io',
- transports: disableWebSocketPolling ? ['websocket'] : ['polling', 'websocket'],
+ transports: enableWebsocket ? ['websocket'] : ['polling', 'websocket'],
auth: { token: localStorage.token }
});
@@ -127,9 +126,8 @@
await config.set(backendConfig);
await WEBUI_NAME.set(backendConfig.name);
- const disableWebSocketPolling = backendConfig.features.disable_websocket_polling === true;
if ($config) {
- setupSocket(disableWebSocketPolling);
+ setupSocket($config.features?.enable_websocket ?? true);
if (localStorage.token) {
// Get Session User Info
From ea0d507e233ae9b46b995d7e878eae7f85524f05 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Wed, 18 Dec 2024 18:33:41 -0800
Subject: [PATCH 099/385] chore: format
---
src/lib/i18n/locales/ar-BH/translation.json | 11 ++++++++++-
src/lib/i18n/locales/bg-BG/translation.json | 11 ++++++++++-
src/lib/i18n/locales/bn-BD/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ca-ES/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ceb-PH/translation.json | 11 ++++++++++-
src/lib/i18n/locales/cs-CZ/translation.json | 11 ++++++++++-
src/lib/i18n/locales/da-DK/translation.json | 11 ++++++++++-
src/lib/i18n/locales/de-DE/translation.json | 11 ++++++++++-
src/lib/i18n/locales/dg-DG/translation.json | 11 ++++++++++-
src/lib/i18n/locales/el-GR/translation.json | 11 ++++++++++-
src/lib/i18n/locales/en-GB/translation.json | 11 ++++++++++-
src/lib/i18n/locales/en-US/translation.json | 11 ++++++++++-
src/lib/i18n/locales/es-ES/translation.json | 11 ++++++++++-
src/lib/i18n/locales/eu-ES/translation.json | 11 ++++++++++-
src/lib/i18n/locales/fa-IR/translation.json | 11 ++++++++++-
src/lib/i18n/locales/fi-FI/translation.json | 14 ++++++++++++--
src/lib/i18n/locales/fr-CA/translation.json | 11 ++++++++++-
src/lib/i18n/locales/fr-FR/translation.json | 11 ++++++++++-
src/lib/i18n/locales/he-IL/translation.json | 11 ++++++++++-
src/lib/i18n/locales/hi-IN/translation.json | 11 ++++++++++-
src/lib/i18n/locales/hr-HR/translation.json | 11 ++++++++++-
src/lib/i18n/locales/hu-HU/translation.json | 11 ++++++++++-
src/lib/i18n/locales/id-ID/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ie-GA/translation.json | 11 ++++++++++-
src/lib/i18n/locales/it-IT/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ja-JP/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ka-GE/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ko-KR/translation.json | 11 ++++++++++-
src/lib/i18n/locales/lt-LT/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ms-MY/translation.json | 11 ++++++++++-
src/lib/i18n/locales/nb-NO/translation.json | 13 ++++++++++++-
src/lib/i18n/locales/nl-NL/translation.json | 11 ++++++++++-
src/lib/i18n/locales/pa-IN/translation.json | 11 ++++++++++-
src/lib/i18n/locales/pl-PL/translation.json | 11 ++++++++++-
src/lib/i18n/locales/pt-BR/translation.json | 11 ++++++++++-
src/lib/i18n/locales/pt-PT/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ro-RO/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ru-RU/translation.json | 11 ++++++++++-
src/lib/i18n/locales/sk-SK/translation.json | 11 ++++++++++-
src/lib/i18n/locales/sr-RS/translation.json | 11 ++++++++++-
src/lib/i18n/locales/sv-SE/translation.json | 11 ++++++++++-
src/lib/i18n/locales/th-TH/translation.json | 11 ++++++++++-
src/lib/i18n/locales/tk-TW/translation.json | 11 ++++++++++-
src/lib/i18n/locales/tr-TR/translation.json | 11 ++++++++++-
src/lib/i18n/locales/uk-UA/translation.json | 11 ++++++++++-
src/lib/i18n/locales/ur-PK/translation.json | 11 ++++++++++-
src/lib/i18n/locales/vi-VN/translation.json | 11 ++++++++++-
src/lib/i18n/locales/zh-CN/translation.json | 11 ++++++++++-
src/lib/i18n/locales/zh-TW/translation.json | 11 ++++++++++-
49 files changed, 494 insertions(+), 50 deletions(-)
diff --git a/src/lib/i18n/locales/ar-BH/translation.json b/src/lib/i18n/locales/ar-BH/translation.json
index 1f43be7eff..c94067aa30 100644
--- a/src/lib/i18n/locales/ar-BH/translation.json
+++ b/src/lib/i18n/locales/ar-BH/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "اللغاء",
"Capabilities": "قدرات",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "تغير الباسورد",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "مجموعة",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI الرابط الافتراضي",
"ComfyUI Base URL is required.": "ComfyUI الرابط مطلوب",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "تمكين مشاركة المجتمع",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "أدخل معرف محرك PSE من Google",
"Enter Image Size (e.g. 512x512)": "(e.g. 512x512) أدخل حجم الصورة ",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "أدخل كود اللغة",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "(e.g. {{modelTag}}) أدخل الموديل تاق",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "خطأ",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "لم يتم العثور على الملف.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "الاعدادات العامة",
"Generate Image": "",
"Generating search query": "إنشاء استعلام بحث",
- "Generation Info": "معلومات الجيل",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "استجابة جيدة",
+ "Google Drive": "",
"Google PSE API Key": "مفتاح واجهة برمجة تطبيقات PSE من Google",
"Google PSE Engine Id": "معرف محرك PSE من Google",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "يونيو",
"JWT Expiration": "JWT تجريبي",
"JWT Token": "JWT Token",
+ "Kagi Search API Key": "",
"Keep Alive": "Keep Alive",
"Key": "",
"Keyboard shortcuts": "اختصارات لوحة المفاتيح",
@@ -829,6 +837,7 @@
"Sign up": "تسجيل",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "المصدر",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "{{error}} خطأ في التعرف على الكلام",
diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json
index c0bd91f9f9..04f92ec465 100644
--- a/src/lib/i18n/locales/bg-BG/translation.json
+++ b/src/lib/i18n/locales/bg-BG/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "Отказ",
"Capabilities": "Възможности",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Промяна на Парола",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Колекция",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI Base URL",
"ComfyUI Base URL is required.": "ComfyUI Base URL е задължително.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Разрешаване на споделяне в общност",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Въведете идентификатор на двигателя на Google PSE",
"Enter Image Size (e.g. 512x512)": "Въведете размер на изображението (напр. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Въведете кодове на езика",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Въведете таг на модел (напр. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Грешка",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Файл не е намерен.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "Основни Настройки",
"Generate Image": "",
"Generating search query": "Генериране на заявка за търсене",
- "Generation Info": "Информация за Генерация",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "Добра отговор",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API ключ",
"Google PSE Engine Id": "Идентификатор на двигателя на Google PSE",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Июн",
"JWT Expiration": "JWT Expiration",
"JWT Token": "JWT Token",
+ "Kagi Search API Key": "",
"Keep Alive": "Keep Alive",
"Key": "",
"Keyboard shortcuts": "Клавиши за бърз достъп",
@@ -825,6 +833,7 @@
"Sign up": "Регистрация",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Източник",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Speech recognition error: {{error}}",
diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json
index ad42df5f3f..3e1c497b61 100644
--- a/src/lib/i18n/locales/bn-BD/translation.json
+++ b/src/lib/i18n/locales/bn-BD/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "বাতিল",
"Capabilities": "সক্ষমতা",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "পাসওয়ার্ড পরিবর্তন করুন",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "সংগ্রহ",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI Base URL",
"ComfyUI Base URL is required.": "ComfyUI Base URL আবশ্যক।",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "সম্প্রদায় শেয়ারকরণ সক্ষম করুন",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "গুগল পিএসই ইঞ্জিন আইডি লিখুন",
"Enter Image Size (e.g. 512x512)": "ছবির মাপ লিখুন (যেমন 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "ল্যাঙ্গুয়েজ কোড লিখুন",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "মডেল ট্যাগ লিখুন (e.g. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "ত্রুটি",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "ফাইল পাওয়া যায়নি",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "সাধারণ সেটিংসমূহ",
"Generate Image": "",
"Generating search query": "অনুসন্ধান ক্যোয়ারী তৈরি করা হচ্ছে",
- "Generation Info": "জেনারেশন ইনফো",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "ভালো সাড়া",
+ "Google Drive": "",
"Google PSE API Key": "গুগল পিএসই এপিআই কী",
"Google PSE Engine Id": "গুগল পিএসই ইঞ্জিন আইডি",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "জুন",
"JWT Expiration": "JWT-র মেয়াদ",
"JWT Token": "JWT টোকেন",
+ "Kagi Search API Key": "",
"Keep Alive": "সচল রাখুন",
"Key": "",
"Keyboard shortcuts": "কিবোর্ড শর্টকাটসমূহ",
@@ -825,6 +833,7 @@
"Sign up": "সাইন আপ",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "উৎস",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "স্পিচ রিকগনিশনে সমস্যা: {{error}}",
diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json
index 276d33cfb7..dbb5070aac 100644
--- a/src/lib/i18n/locales/ca-ES/translation.json
+++ b/src/lib/i18n/locales/ca-ES/translation.json
@@ -119,6 +119,7 @@
"Camera": "Càmera",
"Cancel": "Cancel·lar",
"Capabilities": "Capacitats",
+ "Capture": "",
"Certificate Path": "Camí del certificat",
"Change Password": "Canviar la contrasenya",
"Character": "Personatge",
@@ -163,6 +164,7 @@
"Collection": "Col·lecció",
"Color": "Color",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL base de ComfyUI",
"ComfyUI Base URL is required.": "L'URL base de ComfyUI és obligatòria.",
"ComfyUI Workflow": "Flux de treball de ComfyUI",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Activar l'autenticació amb clau API",
"Enable autocomplete generation for chat messages": "Activar la generació automàtica per als missatges del xat",
"Enable Community Sharing": "Activar l'ús compartit amb la comunitat",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Activar el bloqueig de memòria (mlock) per evitar que les dades del model s'intercanviïn fora de la memòria RAM. Aquesta opció bloqueja el conjunt de pàgines de treball del model a la memòria RAM, assegurant-se que no s'intercanviaran al disc. Això pot ajudar a mantenir el rendiment evitant errors de pàgina i garantint un accés ràpid a les dades.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Activar l'assignació de memòria (mmap) per carregar les dades del model. Aquesta opció permet que el sistema utilitzi l'emmagatzematge en disc com a extensió de la memòria RAM tractant els fitxers de disc com si estiguessin a la memòria RAM. Això pot millorar el rendiment del model permetent un accés més ràpid a les dades. Tanmateix, és possible que no funcioni correctament amb tots els sistemes i pot consumir una quantitat important d'espai en disc.",
"Enable Message Rating": "Permetre la qualificació de missatges",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Introdueix l'identificador del motor PSE de Google",
"Enter Image Size (e.g. 512x512)": "Introdueix la mida de la imatge (p. ex. 512x512)",
"Enter Jina API Key": "Introdueix la clau API de Jina",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Introdueix els codis de llenguatge",
"Enter Model ID": "Introdueix l'identificador del model",
"Enter model tag (e.g. {{modelTag}})": "Introdueix l'etiqueta del model (p. ex. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "Introdueix el teu nom d'usuari",
"Error": "Error",
"ERROR": "ERROR",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Avaluacions",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Exemple: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Exemple: TOTS",
@@ -402,6 +408,7 @@
"File not found.": "No s'ha trobat l'arxiu.",
"File removed successfully.": "Arxiu eliminat correctament.",
"File size should not exceed {{maxSize}} MB.": "La mida del fitxer no ha de superar els {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Arxius",
"Filter is now globally disabled": "El filtre ha estat desactivat globalment",
"Filter is now globally enabled": "El filtre ha estat activat globalment",
@@ -435,11 +442,11 @@
"General Settings": "Preferències generals",
"Generate Image": "Generar imatge",
"Generating search query": "Generant consulta",
- "Generation Info": "Informació sobre la generació",
"Get started": "Començar",
"Get started with {{WEBUI_NAME}}": "Començar amb {{WEBUI_NAME}}",
"Global": "Global",
"Good Response": "Bona resposta",
+ "Google Drive": "",
"Google PSE API Key": "Clau API PSE de Google",
"Google PSE Engine Id": "Identificador del motor PSE de Google",
"Group created successfully": "El grup s'ha creat correctament",
@@ -495,6 +502,7 @@
"June": "Juny",
"JWT Expiration": "Caducitat del JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Manté actiu",
"Key": "Clau",
"Keyboard shortcuts": "Dreceres de teclat",
@@ -826,6 +834,7 @@
"Sign up": "Registrar-se",
"Sign up to {{WEBUI_NAME}}": "Registrar-se a {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Iniciant sessió a {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Font",
"Speech Playback Speed": "Velocitat de la parla",
"Speech recognition error: {{error}}": "Error de reconeixement de veu: {{error}}",
diff --git a/src/lib/i18n/locales/ceb-PH/translation.json b/src/lib/i18n/locales/ceb-PH/translation.json
index fe9f67ad51..e5d0610df5 100644
--- a/src/lib/i18n/locales/ceb-PH/translation.json
+++ b/src/lib/i18n/locales/ceb-PH/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "Pagkanselar",
"Capabilities": "",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Usba ang password",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Koleksyon",
"Color": "",
"ComfyUI": "",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "",
"ComfyUI Base URL is required.": "",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "",
"Enter Image Size (e.g. 512x512)": "Pagsulod sa gidak-on sa hulagway (pananglitan 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Pagsulod sa template tag (e.g. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Wala makit-an ang file.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "kinatibuk-ang mga setting",
"Generate Image": "",
"Generating search query": "",
- "Generation Info": "",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "",
+ "Google Drive": "",
"Google PSE API Key": "",
"Google PSE Engine Id": "",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "",
"JWT Expiration": "Pag-expire sa JWT",
"JWT Token": "JWT token",
+ "Kagi Search API Key": "",
"Keep Alive": "Padayon nga aktibo",
"Key": "",
"Keyboard shortcuts": "Mga shortcut sa keyboard",
@@ -825,6 +833,7 @@
"Sign up": "Pagrehistro",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Tinubdan",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Sayop sa pag-ila sa tingog: {{error}}",
diff --git a/src/lib/i18n/locales/cs-CZ/translation.json b/src/lib/i18n/locales/cs-CZ/translation.json
index 90623afa85..a8505dc779 100644
--- a/src/lib/i18n/locales/cs-CZ/translation.json
+++ b/src/lib/i18n/locales/cs-CZ/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Zrušit",
"Capabilities": "Schopnosti",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Změnit heslo",
"Character": "Znak",
@@ -163,6 +164,7 @@
"Collection": "",
"Color": "Barva",
"ComfyUI": "ComfyUI.",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "Základní URL ComfyUI",
"ComfyUI Base URL is required.": "Je vyžadována základní URL pro ComfyUI.",
"ComfyUI Workflow": "Pracovní postup ComfyUI",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Povolit sdílení komunity",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "Povolit hodnocení zpráv",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Zadejte ID vyhledávacího mechanismu Google PSE",
"Enter Image Size (e.g. 512x512)": "Zadejte velikost obrázku (např. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Zadejte kódy jazyků",
"Enter Model ID": "Zadejte ID modelu",
"Enter model tag (e.g. {{modelTag}})": "Zadejte označení modelu (např. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Chyba",
"ERROR": "Chyba",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Hodnocení",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Soubor nenalezen.",
"File removed successfully.": "Soubor byl úspěšně odstraněn.",
"File size should not exceed {{maxSize}} MB.": "Velikost souboru by neměla překročit {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Soubory",
"Filter is now globally disabled": "Filtr je nyní globálně zakázán",
"Filter is now globally enabled": "Filtr je nyní globálně povolen.",
@@ -435,11 +442,11 @@
"General Settings": "Obecná nastavení",
"Generate Image": "Vygenerovat obrázek",
"Generating search query": "Generování vyhledávacího dotazu",
- "Generation Info": "Informace o generaci",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Globální",
"Good Response": "Dobrý Odezva",
+ "Google Drive": "",
"Google PSE API Key": "Klíč API pro Google PSE (Programmatically Search Engine)",
"Google PSE Engine Id": "Google PSE Engine Id (Identifikátor vyhledávacího modulu Google PSE)",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "červen",
"JWT Expiration": "Vypršení JWT",
"JWT Token": "JWT Token (JSON Web Token)",
+ "Kagi Search API Key": "",
"Keep Alive": "Udržovat spojení",
"Key": "",
"Keyboard shortcuts": "Klávesové zkratky",
@@ -827,6 +835,7 @@
"Sign up": "Zaregistrovat se",
"Sign up to {{WEBUI_NAME}}": "Zaregistrujte se na {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Přihlašování do {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Zdroj",
"Speech Playback Speed": "Rychlost přehrávání řeči",
"Speech recognition error: {{error}}": "Chyba rozpoznávání řeči: {{error}}",
diff --git a/src/lib/i18n/locales/da-DK/translation.json b/src/lib/i18n/locales/da-DK/translation.json
index 5775250f4b..bec781dac5 100644
--- a/src/lib/i18n/locales/da-DK/translation.json
+++ b/src/lib/i18n/locales/da-DK/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Afbryd",
"Capabilities": "Funktioner",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Skift password",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Samling",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI Base URL",
"ComfyUI Base URL is required.": "ComfyUI Base URL er påkrævet.",
"ComfyUI Workflow": "ComfyUI Workflow",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Aktiver deling til Community",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "Aktiver rating af besked",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Indtast Google PSE Engine ID",
"Enter Image Size (e.g. 512x512)": "Indtast billedstørrelse (f.eks. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Indtast sprogkoder",
"Enter Model ID": "Indtast model-ID",
"Enter model tag (e.g. {{modelTag}})": "Indtast modelmærke (f.eks. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Fejl",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Filen blev ikke fundet.",
"File removed successfully.": "Fil fjernet.",
"File size should not exceed {{maxSize}} MB.": "Filstørrelsen må ikke overstige {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Filer",
"Filter is now globally disabled": "Filter er nu globalt deaktiveret",
"Filter is now globally enabled": "Filter er nu globalt aktiveret",
@@ -435,11 +442,11 @@
"General Settings": "Generelle indstillinger",
"Generate Image": "Generer billede",
"Generating search query": "Genererer søgeforespørgsel",
- "Generation Info": "Genereringsinfo",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Global",
"Good Response": "Godt svar",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API-nøgle",
"Google PSE Engine Id": "Google PSE Engine-ID",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Juni",
"JWT Expiration": "JWT-udløb",
"JWT Token": "JWT-token",
+ "Kagi Search API Key": "",
"Keep Alive": "Hold i live",
"Key": "",
"Keyboard shortcuts": "Tastaturgenveje",
@@ -825,6 +833,7 @@
"Sign up": "Tilmeld dig",
"Sign up to {{WEBUI_NAME}}": "Tilmeld dig {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Logger ind på {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Kilde",
"Speech Playback Speed": "Talehastighed",
"Speech recognition error: {{error}}": "Talegenkendelsesfejl: {{error}}",
diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json
index ac65bce847..54ce1ec374 100644
--- a/src/lib/i18n/locales/de-DE/translation.json
+++ b/src/lib/i18n/locales/de-DE/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Abbrechen",
"Capabilities": "Fähigkeiten",
+ "Capture": "",
"Certificate Path": "Zertifikatpfad",
"Change Password": "Passwort ändern",
"Character": "Zeichen",
@@ -163,6 +164,7 @@
"Collection": "Kollektion",
"Color": "Farbe",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI-Basis-URL",
"ComfyUI Base URL is required.": "ComfyUI-Basis-URL wird benötigt.",
"ComfyUI Workflow": "ComfyUI-Workflow",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "API-Schlüssel-Authentifizierung aktivieren",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Community-Freigabe aktivieren",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Aktiviere Memory Locking (mlock), um zu verhindern, dass Modelldaten aus dem RAM ausgelagert werden. Diese Option sperrt die Arbeitsseiten des Modells im RAM, um sicherzustellen, dass sie nicht auf die Festplatte ausgelagert werden. Dies kann die Leistung verbessern, indem Page Faults vermieden und ein schneller Datenzugriff sichergestellt werden.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Aktiviere Memory Mapping (mmap), um Modelldaten zu laden. Diese Option ermöglicht es dem System, den Festplattenspeicher als Erweiterung des RAM zu verwenden, indem Festplattendateien so behandelt werden, als ob sie im RAM wären. Dies kann die Modellleistung verbessern, indem ein schnellerer Datenzugriff ermöglicht wird. Es kann jedoch nicht auf allen Systemen korrekt funktionieren und einen erheblichen Teil des Festplattenspeichers beanspruchen.",
"Enable Message Rating": "Nachrichtenbewertung aktivieren",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Geben Sie die Google PSE-Engine-ID ein",
"Enter Image Size (e.g. 512x512)": "Geben Sie die Bildgröße ein (z. B. 512x512)",
"Enter Jina API Key": "Geben Sie den Jina-API-Schlüssel ein",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Geben Sie die Sprachcodes ein",
"Enter Model ID": "Geben Sie die Modell-ID ein",
"Enter model tag (e.g. {{modelTag}})": "Geben Sie den Model-Tag ein",
@@ -364,6 +368,8 @@
"Enter Your Username": "Geben Sie Ihren Benutzernamen ein",
"Error": "Fehler",
"ERROR": "FEHLER",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Evaluationen",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Beispiel: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Beispiel: ALL",
@@ -402,6 +408,7 @@
"File not found.": "Datei nicht gefunden.",
"File removed successfully.": "Datei erfolgreich entfernt.",
"File size should not exceed {{maxSize}} MB.": "Datei darf nicht größer als {{maxSize}} MB sein.",
+ "File uploaded successfully": "",
"Files": "Dateien",
"Filter is now globally disabled": "Filter ist jetzt global deaktiviert",
"Filter is now globally enabled": "Filter ist jetzt global aktiviert",
@@ -435,11 +442,11 @@
"General Settings": "Allgemeine Einstellungen",
"Generate Image": "Bild erzeugen",
"Generating search query": "Suchanfrage wird erstellt",
- "Generation Info": "Generierungsinformationen",
"Get started": "Loslegen",
"Get started with {{WEBUI_NAME}}": "Loslegen mit {{WEBUI_NAME}}",
"Global": "Global",
"Good Response": "Gute Antwort",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE-API-Schlüssel",
"Google PSE Engine Id": "Google PSE-Engine-ID",
"Group created successfully": "Gruppe erfolgreich erstellt",
@@ -495,6 +502,7 @@
"June": "Juni",
"JWT Expiration": "JWT-Ablauf",
"JWT Token": "JWT-Token",
+ "Kagi Search API Key": "",
"Keep Alive": "Verbindung aufrechterhalten",
"Key": "Schlüssel",
"Keyboard shortcuts": "Tastenkombinationen",
@@ -825,6 +833,7 @@
"Sign up": "Registrieren",
"Sign up to {{WEBUI_NAME}}": "Bei {{WEBUI_NAME}} registrieren",
"Signing in to {{WEBUI_NAME}}": "Wird bei {{WEBUI_NAME}} angemeldet",
+ "sk-1234": "",
"Source": "Quelle",
"Speech Playback Speed": "Sprachwiedergabegeschwindigkeit",
"Speech recognition error: {{error}}": "Spracherkennungsfehler: {{error}}",
diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json
index 4bb7613a8b..d929230e91 100644
--- a/src/lib/i18n/locales/dg-DG/translation.json
+++ b/src/lib/i18n/locales/dg-DG/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "Cancel",
"Capabilities": "",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Change Password",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Collection",
"Color": "",
"ComfyUI": "",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "",
"ComfyUI Base URL is required.": "",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "",
"Enter Image Size (e.g. 512x512)": "Enter Size of Wow (e.g. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Enter model doge tag (e.g. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Bark not found.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "General Doge Settings",
"Generate Image": "",
"Generating search query": "",
- "Generation Info": "",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "",
+ "Google Drive": "",
"Google PSE API Key": "",
"Google PSE Engine Id": "",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "",
"JWT Expiration": "JWT Expire",
"JWT Token": "JWT Borken",
+ "Kagi Search API Key": "",
"Keep Alive": "Keep Wow",
"Key": "",
"Keyboard shortcuts": "Keyboard Barkcuts",
@@ -827,6 +835,7 @@
"Sign up": "Sign up much join",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Source",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Speech recognition error: {{error}} so error",
diff --git a/src/lib/i18n/locales/el-GR/translation.json b/src/lib/i18n/locales/el-GR/translation.json
index 69e44b5cd1..b9aebd0cd3 100644
--- a/src/lib/i18n/locales/el-GR/translation.json
+++ b/src/lib/i18n/locales/el-GR/translation.json
@@ -119,6 +119,7 @@
"Camera": "Κάμερα",
"Cancel": "Ακύρωση",
"Capabilities": "Δυνατότητες",
+ "Capture": "",
"Certificate Path": "Διαδρομή Πιστοποιητικού",
"Change Password": "Αλλαγή Κωδικού",
"Character": "Χαρακτήρας",
@@ -163,6 +164,7 @@
"Collection": "Συλλογή",
"Color": "Χρώμα",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "Βασικό URL ComfyUI",
"ComfyUI Base URL is required.": "Απαιτείται το Βασικό URL ComfyUI.",
"ComfyUI Workflow": "Ροές Εργασίας ComfyUI",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Ενεργοποίηση Επαλήθευσης Κλειδιού API",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Ενεργοποίηση Κοινοτικής Κοινής Χρήσης",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Ενεργοποίηση Κλείδωσης Μνήμης (mlock) για την αποτροπή της ανταλλαγής δεδομένων του μοντέλου από τη μνήμη RAM. Αυτή η επιλογή κλειδώνει το σύνολο εργασίας των σελίδων του μοντέλου στη μνήμη RAM, διασφαλίζοντας ότι δεν θα ανταλλαχθούν στο δίσκο. Αυτό μπορεί να βοηθήσει στη διατήρηση της απόδοσης αποφεύγοντας σφάλματα σελίδων και διασφαλίζοντας γρήγορη πρόσβαση στα δεδομένα.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Ενεργοποίηση Χαρτογράφησης Μνήμης (mmap) για φόρτωση δεδομένων μοντέλου. Αυτή η επιλογή επιτρέπει στο σύστημα να χρησιμοποιεί αποθήκευση δίσκου ως επέκταση της μνήμης RAM, αντιμετωπίζοντας αρχεία δίσκου σαν να ήταν στη μνήμη RAM. Αυτό μπορεί να βελτιώσει την απόδοση του μοντέλου επιτρέποντας γρηγορότερη πρόσβαση στα δεδομένα. Ωστόσο, μπορεί να μην λειτουργεί σωστά με όλα τα συστήματα και να καταναλώνει σημαντικό χώρο στο δίσκο.",
"Enable Message Rating": "Ενεργοποίηση Αξιολόγησης Μηνυμάτων",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Εισάγετε το Αναγνωριστικό Μηχανής Google PSE",
"Enter Image Size (e.g. 512x512)": "Εισάγετε το Μέγεθος Εικόνας (π.χ. 512x512)",
"Enter Jina API Key": "Εισάγετε το Κλειδί API Jina",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Εισάγετε κωδικούς γλώσσας",
"Enter Model ID": "Εισάγετε το ID Μοντέλου",
"Enter model tag (e.g. {{modelTag}})": "Εισάγετε την ετικέτα μοντέλου (π.χ. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "Εισάγετε το Όνομα Χρήστη σας",
"Error": "Σφάλμα",
"ERROR": "ΣΦΑΛΜΑ",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Αξιολογήσεις",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Παράδειγμα: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Παράδειγμα: ALL",
@@ -402,6 +408,7 @@
"File not found.": "Αρχείο δεν βρέθηκε.",
"File removed successfully.": "Το αρχείο αφαιρέθηκε με επιτυχία.",
"File size should not exceed {{maxSize}} MB.": "Το μέγεθος του αρχείου δεν πρέπει να υπερβαίνει τα {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Αρχεία",
"Filter is now globally disabled": "Το φίλτρο είναι τώρα καθολικά απενεργοποιημένο",
"Filter is now globally enabled": "Το φίλτρο είναι τώρα καθολικά ενεργοποιημένο",
@@ -435,11 +442,11 @@
"General Settings": "Γενικές Ρυθμίσεις",
"Generate Image": "Δημιουργία Εικόνας",
"Generating search query": "Γενιά αναζήτησης ερώτησης",
- "Generation Info": "Πληροφορίες Γενιάς",
"Get started": "Ξεκινήστε",
"Get started with {{WEBUI_NAME}}": "Ξεκινήστε με {{WEBUI_NAME}}",
"Global": "Καθολικό",
"Good Response": "Καλή Απάντηση",
+ "Google Drive": "",
"Google PSE API Key": "Κλειδί API Google PSE",
"Google PSE Engine Id": "Αναγνωριστικό Μηχανής Google PSE",
"Group created successfully": "Η ομάδα δημιουργήθηκε με επιτυχία",
@@ -495,6 +502,7 @@
"June": "Ιούνιος",
"JWT Expiration": "Λήξη JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Διατήρηση Ζωντανής Σύνδεσης",
"Key": "Κλειδί",
"Keyboard shortcuts": "Συντομεύσεις Πληκτρολογίου",
@@ -825,6 +833,7 @@
"Sign up": "Εγγραφή",
"Sign up to {{WEBUI_NAME}}": "Εγγραφή στο {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Σύνδεση στο {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Πηγή",
"Speech Playback Speed": "Ταχύτητα Αναπαραγωγής Ομιλίας",
"Speech recognition error: {{error}}": "Σφάλμα αναγνώρισης ομιλίας: {{error}}",
diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json
index 99575141a3..78a0608381 100644
--- a/src/lib/i18n/locales/en-GB/translation.json
+++ b/src/lib/i18n/locales/en-GB/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "",
"Capabilities": "",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "",
"Color": "",
"ComfyUI": "",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "",
"ComfyUI Base URL is required.": "",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "",
"Enter Image Size (e.g. 512x512)": "",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "",
"Generate Image": "",
"Generating search query": "",
- "Generation Info": "",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "",
+ "Google Drive": "",
"Google PSE API Key": "",
"Google PSE Engine Id": "",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "",
"JWT Expiration": "",
"JWT Token": "",
+ "Kagi Search API Key": "",
"Keep Alive": "",
"Key": "",
"Keyboard shortcuts": "",
@@ -825,6 +833,7 @@
"Sign up": "",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "",
diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json
index 99575141a3..78a0608381 100644
--- a/src/lib/i18n/locales/en-US/translation.json
+++ b/src/lib/i18n/locales/en-US/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "",
"Capabilities": "",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "",
"Color": "",
"ComfyUI": "",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "",
"ComfyUI Base URL is required.": "",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "",
"Enter Image Size (e.g. 512x512)": "",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "",
"Generate Image": "",
"Generating search query": "",
- "Generation Info": "",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "",
+ "Google Drive": "",
"Google PSE API Key": "",
"Google PSE Engine Id": "",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "",
"JWT Expiration": "",
"JWT Token": "",
+ "Kagi Search API Key": "",
"Keep Alive": "",
"Key": "",
"Keyboard shortcuts": "",
@@ -825,6 +833,7 @@
"Sign up": "",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "",
diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json
index 4f5ea44681..aa077343f6 100644
--- a/src/lib/i18n/locales/es-ES/translation.json
+++ b/src/lib/i18n/locales/es-ES/translation.json
@@ -119,6 +119,7 @@
"Camera": "Cámara",
"Cancel": "Cancelar",
"Capabilities": "Capacidades",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Cambia la Contraseña",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Colección",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI Base URL",
"ComfyUI Base URL is required.": "ComfyUI Base URL es requerido.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Habilitar el uso compartido de la comunidad",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "Habilitar la calificación de los mensajes",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Introduzca el ID del motor PSE de Google",
"Enter Image Size (e.g. 512x512)": "Ingrese el tamaño de la imagen (p.ej. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Ingrese códigos de idioma",
"Enter Model ID": "Ingresa el ID del modelo",
"Enter model tag (e.g. {{modelTag}})": "Ingrese la etiqueta del modelo (p.ej. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Error",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Archivo no encontrado.",
"File removed successfully.": "Archivo eliminado correctamente.",
"File size should not exceed {{maxSize}} MB.": "Tamaño del archivo no debe exceder {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Archivos",
"Filter is now globally disabled": "El filtro ahora está desactivado globalmente",
"Filter is now globally enabled": "El filtro ahora está habilitado globalmente",
@@ -435,11 +442,11 @@
"General Settings": "Opciones Generales",
"Generate Image": "Generar imagen",
"Generating search query": "Generación de consultas de búsqueda",
- "Generation Info": "Información de Generación",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Global",
"Good Response": "Buena Respuesta",
+ "Google Drive": "",
"Google PSE API Key": "Clave API de Google PSE",
"Google PSE Engine Id": "ID del motor PSE de Google",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Junio",
"JWT Expiration": "Expiración del JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Mantener Vivo",
"Key": "",
"Keyboard shortcuts": "Atajos de teclado",
@@ -826,6 +834,7 @@
"Sign up": "Crear una cuenta",
"Sign up to {{WEBUI_NAME}}": "Crear una cuenta en {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Iniciando sesión en {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Fuente",
"Speech Playback Speed": "Velocidad de reproducción de voz",
"Speech recognition error: {{error}}": "Error de reconocimiento de voz: {{error}}",
diff --git a/src/lib/i18n/locales/eu-ES/translation.json b/src/lib/i18n/locales/eu-ES/translation.json
index 73fb56a400..b16719c72c 100644
--- a/src/lib/i18n/locales/eu-ES/translation.json
+++ b/src/lib/i18n/locales/eu-ES/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Utzi",
"Capabilities": "Gaitasunak",
+ "Capture": "",
"Certificate Path": "Ziurtagiriaren Bidea",
"Change Password": "Aldatu Pasahitza",
"Character": "Karakterea",
@@ -163,6 +164,7 @@
"Collection": "Bilduma",
"Color": "Kolorea",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI Oinarri URLa",
"ComfyUI Base URL is required.": "ComfyUI Oinarri URLa beharrezkoa da.",
"ComfyUI Workflow": "ComfyUI Lan-fluxua",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Gaitu API Gako Autentikazioa",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Gaitu Komunitatearen Partekatzea",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Gaitu Memoria Blokeatzea (mlock) ereduaren datuak RAM memoriatik kanpo ez trukatzeko. Aukera honek ereduaren lan-orri multzoa RAMean blokatzen du, diskora ez direla trukatuko ziurtatuz. Honek errendimendua mantentzen lagun dezake, orri-hutsegiteak saihestuz eta datuen sarbide azkarra bermatuz.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Gaitu Memoria Mapaketa (mmap) ereduaren datuak kargatzeko. Aukera honek sistemari disko-biltegiratzea RAM memoriaren luzapen gisa erabiltzea ahalbidetzen dio, diskoko fitxategiak RAMean baleude bezala tratatuz. Honek ereduaren errendimendua hobe dezake, datuen sarbide azkarragoa ahalbidetuz. Hala ere, baliteke sistema guztietan behar bezala ez funtzionatzea eta disko-espazio handia kontsumitu dezake.",
"Enable Message Rating": "Gaitu Mezuen Balorazioa",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Sartu Google PSE Motor IDa",
"Enter Image Size (e.g. 512x512)": "Sartu Irudi Tamaina (adib. 512x512)",
"Enter Jina API Key": "Sartu Jina API Gakoa",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Sartu hizkuntza kodeak",
"Enter Model ID": "Sartu Eredu IDa",
"Enter model tag (e.g. {{modelTag}})": "Sartu eredu etiketa (adib. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "Sartu Zure Erabiltzaile-izena",
"Error": "Errorea",
"ERROR": "ERROREA",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Ebaluazioak",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Adibidea: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Adibidea: GUZTIAK",
@@ -402,6 +408,7 @@
"File not found.": "Ez da fitxategia aurkitu.",
"File removed successfully.": "Fitxategia ongi ezabatu da.",
"File size should not exceed {{maxSize}} MB.": "Fitxategiaren tamainak ez luke {{maxSize}} MB gainditu behar.",
+ "File uploaded successfully": "",
"Files": "Fitxategiak",
"Filter is now globally disabled": "Iragazkia orain globalki desgaituta dago",
"Filter is now globally enabled": "Iragazkia orain globalki gaituta dago",
@@ -435,11 +442,11 @@
"General Settings": "Ezarpen Orokorrak",
"Generate Image": "Sortu Irudia",
"Generating search query": "Bilaketa kontsulta sortzen",
- "Generation Info": "Sorkuntzaren Informazioa",
"Get started": "Hasi",
"Get started with {{WEBUI_NAME}}": "Hasi {{WEBUI_NAME}}-rekin",
"Global": "Globala",
"Good Response": "Erantzun Ona",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API Gakoa",
"Google PSE Engine Id": "Google PSE Motor IDa",
"Group created successfully": "Taldea ongi sortu da",
@@ -495,6 +502,7 @@
"June": "Ekaina",
"JWT Expiration": "JWT Iraungitzea",
"JWT Token": "JWT Tokena",
+ "Kagi Search API Key": "",
"Keep Alive": "Mantendu Aktibo",
"Key": "Gakoa",
"Keyboard shortcuts": "Teklatuko lasterbideak",
@@ -825,6 +833,7 @@
"Sign up": "Erregistratu",
"Sign up to {{WEBUI_NAME}}": "Erregistratu {{WEBUI_NAME}}-n",
"Signing in to {{WEBUI_NAME}}": "{{WEBUI_NAME}}-n saioa hasten",
+ "sk-1234": "",
"Source": "Iturria",
"Speech Playback Speed": "Ahots erreprodukzio abiadura",
"Speech recognition error: {{error}}": "Ahots ezagutze errorea: {{error}}",
diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json
index 526e7e00c5..a73a7eeeed 100644
--- a/src/lib/i18n/locales/fa-IR/translation.json
+++ b/src/lib/i18n/locales/fa-IR/translation.json
@@ -119,6 +119,7 @@
"Camera": "دوربین",
"Cancel": "لغو",
"Capabilities": "قابلیت",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "تغییر رمز عبور",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "مجموعه",
"Color": "",
"ComfyUI": "کومیوآی",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL پایه کومیوآی",
"ComfyUI Base URL is required.": "URL پایه کومیوآی الزامی است.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "فعالسازی اشتراک انجمن",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "شناسه موتور PSE گوگل را وارد کنید",
"Enter Image Size (e.g. 512x512)": "اندازه تصویر را وارد کنید (مثال: 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "کد زبان را وارد کنید",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "تگ مدل را وارد کنید (مثلا {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "خطا",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "پرونده یافت نشد.",
"File removed successfully.": "پرونده با موفقیت حذف شد.",
"File size should not exceed {{maxSize}} MB.": "حجم پرونده نبایستی از {{maxSize}} MB بیشتر باشد.",
+ "File uploaded successfully": "",
"Files": "پرونده\u200cها",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "تنظیمات عمومی",
"Generate Image": "",
"Generating search query": "در حال تولید پرسوجوی جستجو",
- "Generation Info": "اطلاعات تولید",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "پاسخ خوب",
+ "Google Drive": "",
"Google PSE API Key": "گوگل PSE API کلید",
"Google PSE Engine Id": "شناسه موتور PSE گوگل",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "جولای",
"JWT Expiration": "JWT انقضای",
"JWT Token": "JWT توکن",
+ "Kagi Search API Key": "",
"Keep Alive": "Keep Alive",
"Key": "",
"Keyboard shortcuts": "میانبرهای صفحه کلید",
@@ -825,6 +833,7 @@
"Sign up": "ثبت نام",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "منبع",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "خطای تشخیص گفتار: {{error}}",
diff --git a/src/lib/i18n/locales/fi-FI/translation.json b/src/lib/i18n/locales/fi-FI/translation.json
index 744b8c06e0..3d8a6be81f 100644
--- a/src/lib/i18n/locales/fi-FI/translation.json
+++ b/src/lib/i18n/locales/fi-FI/translation.json
@@ -28,6 +28,7 @@
"Add Arena Model": "Lisää Arena-malli",
"Add Connection": "Lisää yhteys",
"Add Content": "Lisää sisältöä",
+ "Add content here": "",
"Add custom prompt": "Lisää mukautettu kehote",
"Add Files": "Lisää tiedostoja",
"Add Group": "Lisää ryhmä",
@@ -118,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Peruuta",
"Capabilities": "Ominaisuuksia",
+ "Capture": "",
"Certificate Path": "Varmennepolku",
"Change Password": "Vaihda salasana",
"Character": "Hahmo",
@@ -162,6 +164,7 @@
"Collection": "Kokoelma",
"Color": "Väri",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI-perus-URL",
"ComfyUI Base URL is required.": "ComfyUI-perus-URL vaaditaan.",
"ComfyUI Workflow": "ComfyUI-työnkulku",
@@ -302,6 +305,7 @@
"Enable API Key Auth": "Ota API-avaimen todentaminen käyttöön",
"Enable autocomplete generation for chat messages": "Ota automaattinen täydennys käyttöön keskusteluviesteissä",
"Enable Community Sharing": "Ota yhteisön jakaminen käyttöön",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Ota Memory Locking (mlock) käyttöön estääksesi mallidatan vaihtamisen pois RAM-muistista. Tämä lukitsee mallin työsivut RAM-muistiin, varmistaen että niitä ei vaihdeta levylle. Tämä voi parantaa suorituskykyä välttämällä sivuvikoja ja varmistamalla nopean tietojen käytön.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Ota Memory Mapping (mmap) käyttöön ladataksesi mallidataa. Tämä vaihtoehto sallii järjestelmän käyttää levytilaa RAM-laajennuksena käsittelemällä levytiedostoja kuin ne olisivat RAM-muistissa. Tämä voi parantaa mallin suorituskykyä sallimalla nopeamman tietojen käytön. Kuitenkin se ei välttämättä toimi oikein kaikissa järjestelmissä ja voi kuluttaa huomattavasti levytilaa.",
"Enable Message Rating": "Ota viestiarviointi käyttöön",
@@ -329,6 +333,7 @@
"Enter Google PSE Engine Id": "Kirjoita Google PSE -moottorin tunnus",
"Enter Image Size (e.g. 512x512)": "Kirjoita kuvan koko (esim. 512x512)",
"Enter Jina API Key": "Kirjoita Jina API -avain",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Kirjoita kielikoodit",
"Enter Model ID": "Kirjoita mallitunnus",
"Enter model tag (e.g. {{modelTag}})": "Kirjoita mallitagi (esim. {{modelTag}})",
@@ -363,6 +368,8 @@
"Enter Your Username": "Kirjoita käyttäjätunnuksesi",
"Error": "Virhe",
"ERROR": "VIRHE",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Arvioinnit",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Esimerkki: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Esimerkki: KAIKKI",
@@ -401,6 +408,7 @@
"File not found.": "Tiedostoa ei löytynyt.",
"File removed successfully.": "Tiedosto poistettu onnistuneesti.",
"File size should not exceed {{maxSize}} MB.": "Tiedoston koko ei saa ylittää {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Tiedostot",
"Filter is now globally disabled": "Suodatin on nyt poistettu käytöstä globaalisti",
"Filter is now globally enabled": "Suodatin on nyt otettu käyttöön globaalisti",
@@ -434,11 +442,11 @@
"General Settings": "Yleiset asetukset",
"Generate Image": "Luo kuva",
"Generating search query": "Luodaan hakukyselyä",
- "Generation Info": "Generointitiedot",
"Get started": "Aloita",
"Get started with {{WEBUI_NAME}}": "Aloita käyttämään {{WEBUI_NAME}}:iä",
"Global": "Yleinen",
"Good Response": "Hyvä vastaus",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API -avain",
"Google PSE Engine Id": "Google PSE -moottorin tunnus",
"Group created successfully": "Ryhmä luotu onnistuneesti",
@@ -494,6 +502,7 @@
"June": "kesäkuu",
"JWT Expiration": "JWT-vanheneminen",
"JWT Token": "JWT-token",
+ "Kagi Search API Key": "",
"Keep Alive": "Pysy aktiivisena",
"Key": "Avain",
"Keyboard shortcuts": "Pikanäppäimet",
@@ -824,6 +833,7 @@
"Sign up": "Rekisteröidy",
"Sign up to {{WEBUI_NAME}}": "Rekisteröidy palveluun {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Kirjaudutaan sisään palveluun {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Lähde",
"Speech Playback Speed": "Puhetoiston nopeus",
"Speech recognition error: {{error}}": "Puheentunnistusvirhe: {{error}}",
@@ -993,7 +1003,7 @@
"WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI lähettää pyyntöjä osoitteeseen \"{{url}}/chat/completions\"",
"What are you trying to achieve?": "Mitä yrität saavuttaa?",
"What are you working on?": "Mihin olet työskentelemässä?",
- "What's New in": "Mitä uutta",
+ "What’s New in": "",
"When enabled, the model will respond to each chat message in real-time, generating a response as soon as the user sends a message. This mode is useful for live chat applications, but may impact performance on slower hardware.": "Kun käytössä, malli vastaa jokaiseen chatviestiin reaaliajassa, tuottaen vastauksen heti kun käyttäjä lähettää viestin. Tämä tila on hyödyllinen reaaliaikaisissa chat-sovelluksissa, mutta voi vaikuttaa suorituskykyyn hitaammilla laitteistoilla.",
"wherever you are": "missä tahansa oletkin",
"Whisper (Local)": "Whisper (paikallinen)",
diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json
index 8661bb9530..992fdb5b57 100644
--- a/src/lib/i18n/locales/fr-CA/translation.json
+++ b/src/lib/i18n/locales/fr-CA/translation.json
@@ -119,6 +119,7 @@
"Camera": "Appareil photo",
"Cancel": "Annuler",
"Capabilities": "Capacités",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Changer le mot de passe",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Collection",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL de base ComfyUI",
"ComfyUI Base URL is required.": "L'URL de base ComfyUI est requise.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Activer le partage communautaire",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Entrez l'identifiant du moteur Google PSE",
"Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (par ex. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Entrez les codes de langue",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Entrez l'étiquette du modèle (par ex. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Erreur",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Fichier introuvable.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "Le filtre est maintenant désactivé globalement",
"Filter is now globally enabled": "Le filtre est désormais activé globalement",
@@ -435,11 +442,11 @@
"General Settings": "Paramètres Généraux",
"Generate Image": "Générer une image",
"Generating search query": "Génération d'une requête de recherche",
- "Generation Info": "Informations sur la génération",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Mondial",
"Good Response": "Bonne réponse",
+ "Google Drive": "",
"Google PSE API Key": "Clé API Google PSE",
"Google PSE Engine Id": "ID du moteur de recherche personnalisé de Google",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Juin",
"JWT Expiration": "Expiration du jeton JWT",
"JWT Token": "Jeton JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Rester connecté",
"Key": "",
"Keyboard shortcuts": "Raccourcis clavier",
@@ -826,6 +834,7 @@
"Sign up": "Inscrivez-vous",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Source",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Erreur de reconnaissance vocale\u00a0: {{error}}",
diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json
index 14722805bb..a46ab08f78 100644
--- a/src/lib/i18n/locales/fr-FR/translation.json
+++ b/src/lib/i18n/locales/fr-FR/translation.json
@@ -119,6 +119,7 @@
"Camera": "Appareil photo",
"Cancel": "Annuler",
"Capabilities": "Capacités",
+ "Capture": "",
"Certificate Path": "Chemin du certificat",
"Change Password": "Changer le mot de passe",
"Character": "Caractère",
@@ -163,6 +164,7 @@
"Collection": "Collection",
"Color": "Couleur",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL de base ComfyUI",
"ComfyUI Base URL is required.": "L'URL de base ComfyUI est requise.",
"ComfyUI Workflow": "Flux de travaux de ComfyUI",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Activer l'authentification par clé API",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Activer le partage communautaire",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Activer le verrouillage de la mémoire (mlock) pour empêcher les données du modèle d'être échangées de la RAM. Cette option verrouille l'ensemble de pages de travail du modèle en RAM, garantissant qu'elles ne seront pas échangées vers le disque. Cela peut aider à maintenir les performances en évitant les défauts de page et en assurant un accès rapide aux données.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Activer le mappage de la mémoire (mmap) pour charger les données du modèle. Cette option permet au système d'utiliser le stockage disque comme une extension de la RAM en traitant les fichiers disque comme s'ils étaient en RAM. Cela peut améliorer les performances du modèle en permettant un accès plus rapide aux données. Cependant, cela peut ne pas fonctionner correctement avec tous les systèmes et peut consommer une quantité significative d'espace disque.",
"Enable Message Rating": "Activer l'évaluation des messages",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Entrez l'identifiant du moteur Google PSE",
"Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (par ex. 512x512)",
"Enter Jina API Key": "Entrez la clé API Jina",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Entrez les codes de langue",
"Enter Model ID": "Entrez l'ID du modèle",
"Enter model tag (e.g. {{modelTag}})": "Entrez le tag du modèle (par ex. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "Entrez votre nom d'utilisateur",
"Error": "Erreur",
"ERROR": "ERREUR",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Évaluations",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Exemple: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Exemple: TOUS",
@@ -402,6 +408,7 @@
"File not found.": "Fichier introuvable.",
"File removed successfully.": "Fichier supprimé avec succès.",
"File size should not exceed {{maxSize}} MB.": "La taille du fichier ne doit pas dépasser {{maxSize}} Mo.",
+ "File uploaded successfully": "",
"Files": "Fichiers",
"Filter is now globally disabled": "Le filtre est maintenant désactivé globalement",
"Filter is now globally enabled": "Le filtre est désormais activé globalement",
@@ -435,11 +442,11 @@
"General Settings": "Paramètres généraux",
"Generate Image": "Générer une image",
"Generating search query": "Génération d'une requête de recherche",
- "Generation Info": "Informations sur la génération",
"Get started": "Commencer",
"Get started with {{WEBUI_NAME}}": "Commencez avec {{WEBUI_NAME}}",
"Global": "Mondial",
"Good Response": "Bonne réponse",
+ "Google Drive": "",
"Google PSE API Key": "Clé API Google PSE",
"Google PSE Engine Id": "ID du moteur de recherche PSE de Google",
"Group created successfully": "Groupe créé avec succès",
@@ -495,6 +502,7 @@
"June": "Juin",
"JWT Expiration": "Expiration du token JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Temps de maintien connecté",
"Key": "Clé",
"Keyboard shortcuts": "Raccourcis clavier",
@@ -826,6 +834,7 @@
"Sign up": "Inscrivez-vous",
"Sign up to {{WEBUI_NAME}}": "Inscrivez-vous à {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Connexion à {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Source",
"Speech Playback Speed": "Vitesse de lecture de la parole",
"Speech recognition error: {{error}}": "Erreur de reconnaissance vocale\u00a0: {{error}}",
diff --git a/src/lib/i18n/locales/he-IL/translation.json b/src/lib/i18n/locales/he-IL/translation.json
index e049b32adf..9441a85fc7 100644
--- a/src/lib/i18n/locales/he-IL/translation.json
+++ b/src/lib/i18n/locales/he-IL/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "בטל",
"Capabilities": "יכולות",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "שנה סיסמה",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "אוסף",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "כתובת URL בסיסית של ComfyUI",
"ComfyUI Base URL is required.": "נדרשת כתובת URL בסיסית של ComfyUI",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "הפיכת שיתוף קהילה לזמין",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "הזן את מזהה מנוע PSE של Google",
"Enter Image Size (e.g. 512x512)": "הזן גודל תמונה (למשל 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "הזן קודי שפה",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "הזן תג מודל (למשל {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "שגיאה",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "הקובץ לא נמצא.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "הגדרות כלליות",
"Generate Image": "",
"Generating search query": "יצירת שאילתת חיפוש",
- "Generation Info": "מידע על היצירה",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "תגובה טובה",
+ "Google Drive": "",
"Google PSE API Key": "מפתח API של Google PSE",
"Google PSE Engine Id": "מזהה מנוע PSE של Google",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "יוני",
"JWT Expiration": "תפוגת JWT",
"JWT Token": "אסימון JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "השאר פעיל",
"Key": "",
"Keyboard shortcuts": "קיצורי מקלדת",
@@ -826,6 +834,7 @@
"Sign up": "הרשמה",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "מקור",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "שגיאת תחקור שמע: {{error}}",
diff --git a/src/lib/i18n/locales/hi-IN/translation.json b/src/lib/i18n/locales/hi-IN/translation.json
index a9124b7915..de156fe16e 100644
--- a/src/lib/i18n/locales/hi-IN/translation.json
+++ b/src/lib/i18n/locales/hi-IN/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "रद्द करें",
"Capabilities": "क्षमताओं",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "पासवर्ड बदलें",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "संग्रह",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI बेस यूआरएल",
"ComfyUI Base URL is required.": "ComfyUI का बेस यूआरएल आवश्यक है",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "समुदाय साझाकरण सक्षम करें",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Google PSE इंजन आईडी दर्ज करें",
"Enter Image Size (e.g. 512x512)": "छवि का आकार दर्ज करें (उदा. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "भाषा कोड दर्ज करें",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Model tag दर्ज करें (उदा. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "चूक",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "फ़ाइल प्राप्त नहीं हुई।",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "सामान्य सेटिंग्स",
"Generate Image": "",
"Generating search query": "खोज क्वेरी जनरेट करना",
- "Generation Info": "जनरेशन की जानकारी",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "अच्छी प्रतिक्रिया",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API कुंजी",
"Google PSE Engine Id": "Google PSE इंजन आईडी",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "जुन",
"JWT Expiration": "JWT समाप्ति",
"JWT Token": "जट टोकन",
+ "Kagi Search API Key": "",
"Keep Alive": "क्रियाशील रहो",
"Key": "",
"Keyboard shortcuts": "कीबोर्ड शॉर्टकट",
@@ -825,6 +833,7 @@
"Sign up": "साइन अप",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "स्रोत",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "वाक् पहचान त्रुटि: {{error}}",
diff --git a/src/lib/i18n/locales/hr-HR/translation.json b/src/lib/i18n/locales/hr-HR/translation.json
index d0680cedf4..286807d0dc 100644
--- a/src/lib/i18n/locales/hr-HR/translation.json
+++ b/src/lib/i18n/locales/hr-HR/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Otkaži",
"Capabilities": "Mogućnosti",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Promijeni lozinku",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Kolekcija",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI osnovni URL",
"ComfyUI Base URL is required.": "Potreban je ComfyUI osnovni URL.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Omogući zajedničko korištenje zajednice",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Unesite ID Google PSE motora",
"Enter Image Size (e.g. 512x512)": "Unesite veličinu slike (npr. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Unesite kodove jezika",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Unesite oznaku modela (npr. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Greška",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Datoteka nije pronađena.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "Opće postavke",
"Generate Image": "Gneriraj sliku",
"Generating search query": "Generiranje upita za pretraživanje",
- "Generation Info": "Informacije o generaciji",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "Dobar odgovor",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API ključ",
"Google PSE Engine Id": "ID Google PSE modula",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Lipanj",
"JWT Expiration": "Isticanje JWT-a",
"JWT Token": "JWT token",
+ "Kagi Search API Key": "",
"Keep Alive": "Održavanje živim",
"Key": "",
"Keyboard shortcuts": "Tipkovnički prečaci",
@@ -826,6 +834,7 @@
"Sign up": "Registracija",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Izvor",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Pogreška prepoznavanja govora: {{error}}",
diff --git a/src/lib/i18n/locales/hu-HU/translation.json b/src/lib/i18n/locales/hu-HU/translation.json
index b5872c9542..daa2fecfba 100644
--- a/src/lib/i18n/locales/hu-HU/translation.json
+++ b/src/lib/i18n/locales/hu-HU/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Mégse",
"Capabilities": "Képességek",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Jelszó módosítása",
"Character": "Karakter",
@@ -163,6 +164,7 @@
"Collection": "Gyűjtemény",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI alap URL",
"ComfyUI Base URL is required.": "ComfyUI alap URL szükséges.",
"ComfyUI Workflow": "ComfyUI munkafolyamat",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Közösségi megosztás engedélyezése",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "Üzenet értékelés engedélyezése",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Add meg a Google PSE motor azonosítót",
"Enter Image Size (e.g. 512x512)": "Add meg a kép méretet (pl. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Add meg a nyelvi kódokat",
"Enter Model ID": "Add meg a modell azonosítót",
"Enter model tag (e.g. {{modelTag}})": "Add meg a modell címkét (pl. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Hiba",
"ERROR": "HIBA",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Értékelések",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Fájl nem található.",
"File removed successfully.": "Fájl sikeresen eltávolítva.",
"File size should not exceed {{maxSize}} MB.": "A fájl mérete nem haladhatja meg a {{maxSize}} MB-ot.",
+ "File uploaded successfully": "",
"Files": "Fájlok",
"Filter is now globally disabled": "A szűrő globálisan letiltva",
"Filter is now globally enabled": "A szűrő globálisan engedélyezve",
@@ -435,11 +442,11 @@
"General Settings": "Általános beállítások",
"Generate Image": "Kép generálása",
"Generating search query": "Keresési lekérdezés generálása",
- "Generation Info": "Generálási információ",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Globális",
"Good Response": "Jó válasz",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API kulcs",
"Google PSE Engine Id": "Google PSE motor azonosító",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Június",
"JWT Expiration": "JWT lejárat",
"JWT Token": "JWT token",
+ "Kagi Search API Key": "",
"Keep Alive": "Kapcsolat fenntartása",
"Key": "",
"Keyboard shortcuts": "Billentyűparancsok",
@@ -825,6 +833,7 @@
"Sign up": "Regisztráció",
"Sign up to {{WEBUI_NAME}}": "Regisztráció ide: {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Bejelentkezés ide: {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Forrás",
"Speech Playback Speed": "Beszéd lejátszási sebesség",
"Speech recognition error: {{error}}": "Beszédfelismerési hiba: {{error}}",
diff --git a/src/lib/i18n/locales/id-ID/translation.json b/src/lib/i18n/locales/id-ID/translation.json
index 88dd99421f..3f97a9e333 100644
--- a/src/lib/i18n/locales/id-ID/translation.json
+++ b/src/lib/i18n/locales/id-ID/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Batal",
"Capabilities": "Kemampuan",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Ubah Kata Sandi",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Koleksi",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL Dasar ComfyUI",
"ComfyUI Base URL is required.": "URL Dasar ComfyUI diperlukan.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Aktifkan Berbagi Komunitas",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Masukkan Id Mesin Google PSE",
"Enter Image Size (e.g. 512x512)": "Masukkan Ukuran Gambar (mis. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Masukkan kode bahasa",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Masukkan tag model (misalnya {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Kesalahan",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "File tidak ditemukan.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "Filter sekarang dinonaktifkan secara global",
"Filter is now globally enabled": "Filter sekarang diaktifkan secara global",
@@ -435,11 +442,11 @@
"General Settings": "Pengaturan Umum",
"Generate Image": "Menghasilkan Gambar",
"Generating search query": "Membuat kueri penelusuran",
- "Generation Info": "Info Pembuatan",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Global",
"Good Response": "Respons yang Baik",
+ "Google Drive": "",
"Google PSE API Key": "Kunci API Google PSE",
"Google PSE Engine Id": "Id Mesin Google PSE",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Juni",
"JWT Expiration": "Kedaluwarsa JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Tetap Hidup",
"Key": "",
"Keyboard shortcuts": "Pintasan keyboard",
@@ -825,6 +833,7 @@
"Sign up": "Daftar",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Sumber",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Kesalahan pengenalan suara: {{error}}",
diff --git a/src/lib/i18n/locales/ie-GA/translation.json b/src/lib/i18n/locales/ie-GA/translation.json
index bdfea9ccc8..b574c99dc1 100644
--- a/src/lib/i18n/locales/ie-GA/translation.json
+++ b/src/lib/i18n/locales/ie-GA/translation.json
@@ -119,6 +119,7 @@
"Camera": "Ceamara",
"Cancel": "Cealaigh",
"Capabilities": "Cumais",
+ "Capture": "",
"Certificate Path": "Cosán Teastais",
"Change Password": "Athraigh Pasfhocal",
"Character": "Carachtar",
@@ -163,6 +164,7 @@
"Collection": "Bailiúchán",
"Color": "Dath",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL Bonn ComfyUI",
"ComfyUI Base URL is required.": "Teastaíonn URL ComfyUI Base.",
"ComfyUI Workflow": "Sreabhadh Oibre ComfyUI",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Cumasaigh Fíordheimhniú Eochracha API",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Cumasaigh Comhroinnt Pobail",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Cumasaigh Glasáil Cuimhne (mlock) chun sonraí samhaltaithe a chosc ó RAM. Glasálann an rogha seo sraith oibre leathanaigh an mhúnla isteach i RAM, ag cinntiú nach ndéanfar iad a mhalartú go diosca. Is féidir leis seo cabhrú le feidhmíocht a choinneáil trí lochtanna leathanaigh a sheachaint agus rochtain tapa ar shonraí a chinntiú.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Cumasaigh Mapáil Cuimhne (mmap) chun sonraí samhla a lódáil. Ligeann an rogha seo don chóras stóráil diosca a úsáid mar leathnú ar RAM trí chomhaid diosca a chóireáil amhail is dá mba i RAM iad. Is féidir leis seo feidhmíocht na samhla a fheabhsú trí rochtain níos tapúla ar shonraí a cheadú. Mar sin féin, d'fhéadfadh sé nach n-oibreoidh sé i gceart le gach córas agus féadfaidh sé méid suntasach spáis diosca a ithe.",
"Enable Message Rating": "Cumasaigh Rátáil Teachtai",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Cuir isteach ID Inneall Google PSE",
"Enter Image Size (e.g. 512x512)": "Iontráil Méid Íomhá (m.sh. 512x512)",
"Enter Jina API Key": "Cuir isteach Eochair API Jina",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Cuir isteach cóid teanga",
"Enter Model ID": "Iontráil ID Mhúnla",
"Enter model tag (e.g. {{modelTag}})": "Cuir isteach chlib samhail (m.sh. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "Cuir isteach D'Ainm Úsáideora",
"Error": "Earráid",
"ERROR": "EARRÁID",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Meastóireachtaí",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Sampla: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Sampla: GACH",
@@ -402,6 +408,7 @@
"File not found.": "Níor aimsíodh an comhad.",
"File removed successfully.": "D'éirigh le baint an chomhaid.",
"File size should not exceed {{maxSize}} MB.": "Níor chóir go mbeadh méid an chomhaid níos mó ná {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Comhaid",
"Filter is now globally disabled": "Tá an scagaire faoi mhíchumas go domhanda",
"Filter is now globally enabled": "Tá an scagaire cumasaithe go domhanda anois",
@@ -435,11 +442,11 @@
"General Settings": "Socruithe Ginearálta",
"Generate Image": "Ginigh Íomhá",
"Generating search query": "Giniúint ceist cuardaigh",
- "Generation Info": "Eolas Giniúin",
"Get started": "Cuir tús leis",
"Get started with {{WEBUI_NAME}}": "Cuir tús le {{WEBUI_NAME}}",
"Global": "Domhanda",
"Good Response": "Freagra Mhaith",
+ "Google Drive": "",
"Google PSE API Key": "Eochair API Google PSE",
"Google PSE Engine Id": "ID Inneall Google PSE",
"Group created successfully": "Grúpa cruthaithe go rathúil",
@@ -495,6 +502,7 @@
"June": "Meitheamh",
"JWT Expiration": "Éag JWT",
"JWT Token": "Comhartha JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Coinnigh Beo",
"Key": "Eochair",
"Keyboard shortcuts": "Aicearraí méarchlár",
@@ -825,6 +833,7 @@
"Sign up": "Cláraigh",
"Sign up to {{WEBUI_NAME}}": "Cláraigh le {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Ag síniú isteach ar {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Foinse",
"Speech Playback Speed": "Luas Athsheinm Urlabhra",
"Speech recognition error: {{error}}": "Earráid aitheantais cainte: {{error}}",
diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json
index 0d57aecbf5..b8314bfcfa 100644
--- a/src/lib/i18n/locales/it-IT/translation.json
+++ b/src/lib/i18n/locales/it-IT/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "Annulla",
"Capabilities": "Funzionalità",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Cambia password",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Collezione",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL base ComfyUI",
"ComfyUI Base URL is required.": "L'URL base ComfyUI è obbligatorio.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Abilita la condivisione della community",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Inserisci l'ID motore PSE di Google",
"Enter Image Size (e.g. 512x512)": "Inserisci la dimensione dell'immagine (ad esempio 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Inserisci i codici lingua",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Inserisci il tag del modello (ad esempio {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Errore",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "File non trovato.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "Impostazioni generali",
"Generate Image": "",
"Generating search query": "Generazione di query di ricerca",
- "Generation Info": "Informazioni generazione",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "Buona risposta",
+ "Google Drive": "",
"Google PSE API Key": "Chiave API PSE di Google",
"Google PSE Engine Id": "ID motore PSE di Google",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Giugno",
"JWT Expiration": "Scadenza JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Mantieni attivo",
"Key": "",
"Keyboard shortcuts": "Scorciatoie da tastiera",
@@ -826,6 +834,7 @@
"Sign up": "Registrati",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Fonte",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Errore di riconoscimento vocale: {{error}}",
diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json
index e1ed3d08f8..020cdfe005 100644
--- a/src/lib/i18n/locales/ja-JP/translation.json
+++ b/src/lib/i18n/locales/ja-JP/translation.json
@@ -119,6 +119,7 @@
"Camera": "カメラ",
"Cancel": "キャンセル",
"Capabilities": "資格",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "パスワードを変更",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "コレクション",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUIベースURL",
"ComfyUI Base URL is required.": "ComfyUIベースURLが必要です。",
"ComfyUI Workflow": "ComfyUIワークフロー",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "コミュニティ共有を有効にする",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "メッセージ評価を有効にする",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Google PSE エンジン ID を入力します。",
"Enter Image Size (e.g. 512x512)": "画像サイズを入力してください (例: 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "言語コードを入力してください",
"Enter Model ID": "モデルIDを入力してください。",
"Enter model tag (e.g. {{modelTag}})": "モデルタグを入力してください (例: {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "エラー",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "ファイルが見つかりません。",
"File removed successfully.": "ファイル削除が成功しました。",
"File size should not exceed {{maxSize}} MB.": "ファイルサイズ最大値{{maxSize}} MB",
+ "File uploaded successfully": "",
"Files": "ファイル",
"Filter is now globally disabled": "グローバルフィルタが無効です。",
"Filter is now globally enabled": "グローバルフィルタが有効です。",
@@ -435,11 +442,11 @@
"General Settings": "一般設定",
"Generate Image": "",
"Generating search query": "検索クエリの生成",
- "Generation Info": "生成情報",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "グローバル",
"Good Response": "良い応答",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE APIキー",
"Google PSE Engine Id": "Google PSE エンジン ID",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "6月",
"JWT Expiration": "JWT 有効期限",
"JWT Token": "JWT トークン",
+ "Kagi Search API Key": "",
"Keep Alive": "キープアライブ",
"Key": "",
"Keyboard shortcuts": "キーボードショートカット",
@@ -824,6 +832,7 @@
"Sign up": "サインアップ",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "ソース",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "音声認識エラー: {{error}}",
diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json
index c752e07f41..897f7a15a1 100644
--- a/src/lib/i18n/locales/ka-GE/translation.json
+++ b/src/lib/i18n/locales/ka-GE/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "გაუქმება",
"Capabilities": "შესაძლებლობები",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "პაროლის შეცვლა",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "ნაკრები",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI საბაზისო URL",
"ComfyUI Base URL is required.": "ComfyUI საბაზისო URL აუცილებელია.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "საზოგადოების გაზიარების ჩართვა",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "შეიყვანეთ Google PSE ძრავის ID",
"Enter Image Size (e.g. 512x512)": "შეიყვანეთ სურათის ზომა (მაგ. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "შეიყვანეთ ენის კოდი",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "შეიყვანეთ მოდელის ტეგი (მაგ. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "შეცდომა",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "ფაილი ვერ მოიძებნა",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "ზოგადი პარამეტრები",
"Generate Image": "",
"Generating search query": "საძიებო მოთხოვნის გენერირება",
- "Generation Info": "გენერაციის ინფორმაცია",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "დიდი პასუხი",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API გასაღები",
"Google PSE Engine Id": "Google PSE ძრავის Id",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "ივლა",
"JWT Expiration": "JWT-ის ვადა",
"JWT Token": "JWT ტოკენი",
+ "Kagi Search API Key": "",
"Keep Alive": "აქტიურად დატოვება",
"Key": "",
"Keyboard shortcuts": "კლავიატურის მალსახმობები",
@@ -825,6 +833,7 @@
"Sign up": "რეგისტრაცია",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "წყარო",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "მეტყველების ამოცნობის შეცდომა: {{error}}",
diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json
index a9540e5840..e9ac699dfe 100644
--- a/src/lib/i18n/locales/ko-KR/translation.json
+++ b/src/lib/i18n/locales/ko-KR/translation.json
@@ -119,6 +119,7 @@
"Camera": "카메라",
"Cancel": "취소",
"Capabilities": "기능",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "비밀번호 변경",
"Character": "캐릭터",
@@ -163,6 +164,7 @@
"Collection": "컬렉션",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI 기본 URL",
"ComfyUI Base URL is required.": "ComfyUI 기본 URL이 필요합니다.",
"ComfyUI Workflow": "ComfyUI 워크플로",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "커뮤니티 공유 활성화",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "메시지 평가 활성화",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Google PSE 엔진 ID 입력",
"Enter Image Size (e.g. 512x512)": "이미지 크기 입력(예: 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "언어 코드 입력",
"Enter Model ID": "모델 ID 입력",
"Enter model tag (e.g. {{modelTag}})": "모델 태그 입력(예: {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "오류",
"ERROR": "오류",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "평가",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "파일을 찾을 수 없습니다.",
"File removed successfully.": "성공적으로 파일이 제거되었습니다",
"File size should not exceed {{maxSize}} MB.": "파일 사이즈가 {{maxSize}} MB를 초과하면 안됩니다.",
+ "File uploaded successfully": "",
"Files": "파일",
"Filter is now globally disabled": "전반적으로 필터 비활성화됨",
"Filter is now globally enabled": "전반적으로 필터 활성화됨",
@@ -435,11 +442,11 @@
"General Settings": "일반 설정",
"Generate Image": "이미지 생성",
"Generating search query": "검색 쿼리 생성",
- "Generation Info": "생성 정보",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "글로벌",
"Good Response": "좋은 응답",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API 키",
"Google PSE Engine Id": "Google PSE 엔진 ID",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "6월",
"JWT Expiration": "JWT 만료",
"JWT Token": "JWT 토큰",
+ "Kagi Search API Key": "",
"Keep Alive": "계속 유지하기",
"Key": "",
"Keyboard shortcuts": "키보드 단축키",
@@ -825,6 +833,7 @@
"Sign up": "가입",
"Sign up to {{WEBUI_NAME}}": "{{WEBUI_NAME}}로 가입",
"Signing in to {{WEBUI_NAME}}": "{{WEBUI_NAME}}로 가입중",
+ "sk-1234": "",
"Source": "출처",
"Speech Playback Speed": "음성 재생 속도",
"Speech recognition error: {{error}}": "음성 인식 오류: {{error}}",
diff --git a/src/lib/i18n/locales/lt-LT/translation.json b/src/lib/i18n/locales/lt-LT/translation.json
index 9b7640a08c..bd709047a7 100644
--- a/src/lib/i18n/locales/lt-LT/translation.json
+++ b/src/lib/i18n/locales/lt-LT/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Atšaukti",
"Capabilities": "Gebėjimai",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Keisti slaptažodį",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Kolekcija",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI bazės nuoroda",
"ComfyUI Base URL is required.": "ComfyUI bazės nuoroda privaloma",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Leisti dalinimąsi su bendruomene",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Įveskite Google PSE variklio ID",
"Enter Image Size (e.g. 512x512)": "Įveskite paveiksliuko dydį (pvz. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Įveskite kalbos kodus",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Įveskite modelio žymą (pvz. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Klaida",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Failas nerastas.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "Rinkmenos",
"Filter is now globally disabled": "Filtrai nėra leidžiami globaliai",
"Filter is now globally enabled": "Filtrai globaliai leidžiami",
@@ -435,11 +442,11 @@
"General Settings": "Bendri nustatymai",
"Generate Image": "Generuoti paveikslėlį",
"Generating search query": "Generuoti paieškos užklausą",
- "Generation Info": "Generavimo informacija",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Globalu",
"Good Response": "Geras atsakymas",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API raktas",
"Google PSE Engine Id": "Google PSE variklio ID",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "birželis",
"JWT Expiration": "JWT išėjimas iš galiojimo",
"JWT Token": "JWT žetonas",
+ "Kagi Search API Key": "",
"Keep Alive": "Išlaikyti aktyviu",
"Key": "",
"Keyboard shortcuts": "Klaviatūros trumpiniai",
@@ -827,6 +835,7 @@
"Sign up": "Sukurti paskyrą",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Šaltinis",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Balso atpažinimo problema: {{error}}",
diff --git a/src/lib/i18n/locales/ms-MY/translation.json b/src/lib/i18n/locales/ms-MY/translation.json
index 5a8c18d62f..c2463b5000 100644
--- a/src/lib/i18n/locales/ms-MY/translation.json
+++ b/src/lib/i18n/locales/ms-MY/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Batal",
"Capabilities": "Keupayaan",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Tukar Kata Laluan",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Koleksi",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL asas ComfyUI",
"ComfyUI Base URL is required.": "URL asas ComfyUI diperlukan",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Benarkan Perkongsian Komuniti",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Masukkan Id Enjin Google PSE",
"Enter Image Size (e.g. 512x512)": "Masukkan Saiz Imej (cth 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Masukkan kod bahasa",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Masukkan tag model (cth {{ modelTag }})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Ralat",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Fail tidak dijumpai",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "Fail-Fail",
"Filter is now globally disabled": "Tapisan kini dilumpuhkan secara global",
"Filter is now globally enabled": "Tapisan kini dibenarkan secara global",
@@ -435,11 +442,11 @@
"General Settings": "Tetapan Umum",
"Generate Image": "Jana Imej",
"Generating search query": "Jana pertanyaan carian",
- "Generation Info": "Maklumat Penjanaan",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Global",
"Good Response": "Respons Baik",
+ "Google Drive": "",
"Google PSE API Key": "Kunci API Google PSE",
"Google PSE Engine Id": "ID Enjin Google PSE",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Jun",
"JWT Expiration": "Tempoh Tamat JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Kekalkan Hidup",
"Key": "",
"Keyboard shortcuts": "Pintasan papan kekunci",
@@ -825,6 +833,7 @@
"Sign up": "Daftar",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Sumber",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Ralat pengecaman pertuturan: {{error}}",
diff --git a/src/lib/i18n/locales/nb-NO/translation.json b/src/lib/i18n/locales/nb-NO/translation.json
index 93ed4449f8..9f8e0c650b 100644
--- a/src/lib/i18n/locales/nb-NO/translation.json
+++ b/src/lib/i18n/locales/nb-NO/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Avbryt",
"Capabilities": "Muligheter",
+ "Capture": "",
"Certificate Path": "Sertifikatbane",
"Change Password": "Endre passord",
"Character": "Karakter",
@@ -163,6 +164,7 @@
"Collection": "Samling",
"Color": "Farge",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "Absolutt URL for ComfyUI",
"ComfyUI Base URL is required.": "Absolutt URL for ComfyUI kreves.",
"ComfyUI Workflow": "ComfyUI-arbeidsflyt",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Aktiver godkjenning med API-nøkkel",
"Enable autocomplete generation for chat messages": "Aktiver automatisk utfylling av chatmeldinger",
"Enable Community Sharing": "Aktiver deling i fellesskap",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Aktiver Memory Locking (mlock) for å forhindre at modelldata byttes ut av RAM. Dette alternativet låser modellens arbeidssett med sider i RAM-minnet, slik at de ikke byttes ut til disk. Dette kan bidra til å opprettholde ytelsen ved å unngå sidefeil og sikre rask datatilgang.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Aktiver Memory Mapping (mmap) for å laste inn modelldata. Med dette alternativet kan systemet bruke disklagring som en utvidelse av RAM ved å behandle diskfiler som om de befant seg i RAM. Dette kan forbedre modellens ytelse ved å gi raskere datatilgang. Det er imidlertid ikke sikkert at det fungerer som det skal på alle systemer, og det kan kreve mye diskplass.",
"Enable Message Rating": "Aktivert vurdering av meldinger",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Angi motor-ID for Google PSE",
"Enter Image Size (e.g. 512x512)": "Angi bildestørrelse (f.eks. 512x512)",
"Enter Jina API Key": "Angi API-nøkkel for Jina",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Angi språkkoder",
"Enter Model ID": "Angi modellens ID",
"Enter model tag (e.g. {{modelTag}})": "Angi modellens etikett (f.eks. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "Skriv inn brukernavnet ditt",
"Error": "Feil",
"ERROR": "FEIL",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Vurderinger",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Eksempel: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Eksempel: ALL",
@@ -402,6 +408,7 @@
"File not found.": "Finner ikke filen.",
"File removed successfully.": "Filen er fjernet.",
"File size should not exceed {{maxSize}} MB.": "Filstørrelser kan ikke være på mer enn {{maxSize} MB",
+ "File uploaded successfully": "",
"Files": "Filer",
"Filter is now globally disabled": "Filteret er nå globalt deaktivert",
"Filter is now globally enabled": "Filteret er nå globalt aktivert",
@@ -435,11 +442,11 @@
"General Settings": "Generelle innstillinger",
"Generate Image": "Generer bilde",
"Generating search query": "Genererer søkespørring",
- "Generation Info": "Info om generering",
"Get started": "Kom i gang",
"Get started with {{WEBUI_NAME}}": "Kom i gang med {{WEBUI_NAME}}",
"Global": "Globalt",
"Good Response": "Godt svar",
+ "Google Drive": "",
"Google PSE API Key": "API-nøkkel for Google PSE",
"Google PSE Engine Id": "Motor-ID for Google PSE",
"Group created successfully": "Gruppe opprettet",
@@ -495,6 +502,7 @@
"June": "juni",
"JWT Expiration": "JWT-utløp",
"JWT Token": "JWT-token",
+ "Kagi Search API Key": "",
"Keep Alive": "Hold i live",
"Key": "Nøkkel",
"Keyboard shortcuts": "Hurtigtaster",
@@ -576,6 +584,8 @@
"Modelfile Content": "Modellfilinnhold",
"Models": "Modeller",
"Models Access": "Tilgang til modeller",
+ "Models configuration saved successfully": "",
+ "Mojeek Search API Key": "",
"more": "mer",
"More": "Mer",
"Name": "Navn",
@@ -823,6 +833,7 @@
"Sign up": "Registrer deg",
"Sign up to {{WEBUI_NAME}}": "Registrer deg for {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Logger på {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Kilde",
"Speech Playback Speed": "Hastighet på avspilling av tale",
"Speech recognition error: {{error}}": "Feil ved talegjenkjenning: {{error}}",
diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json
index e8147b6014..b2316b6a0f 100644
--- a/src/lib/i18n/locales/nl-NL/translation.json
+++ b/src/lib/i18n/locales/nl-NL/translation.json
@@ -119,6 +119,7 @@
"Camera": "Camera",
"Cancel": "Annuleren",
"Capabilities": "Mogelijkheden",
+ "Capture": "",
"Certificate Path": "Certificaatpad",
"Change Password": "Wijzig Wachtwoord",
"Character": "Karakter",
@@ -163,6 +164,7 @@
"Collection": "Verzameling",
"Color": "Kleur",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI Base URL",
"ComfyUI Base URL is required.": "ComfyUI Base URL is required.",
"ComfyUI Workflow": "ComfyUI workflow",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Schakel API-sleutel authenticatie in",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Delen via de community inschakelen",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Schakel Memory Locking (mlock) in om te voorkomen dat modelgegevens uit het RAM worden verwisseld. Deze optie vergrendelt de werkset pagina's van het model in het RAM, zodat ze niet naar de schijf worden uitgewisseld. Dit kan helpen om de prestaties op peil te houden door paginafouten te voorkomen en snelle gegevenstoegang te garanderen.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Schakel Memory Mapping (mmap) in om modelgegevens te laden. Deze optie laat het systeem schijfopslag gebruiken als een uitbreiding van RAM door schijfbestanden te behandelen alsof ze in RAM zitten. Dit kan de prestaties van het model verbeteren door snellere gegevenstoegang mogelijk te maken. Het is echter mogelijk dat deze optie niet op alle systemen correct werkt en een aanzienlijke hoeveelheid schijfruimte in beslag kan nemen.",
"Enable Message Rating": "Schakel berichtbeoordeling in",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Voer Google PSE Engine-ID in",
"Enter Image Size (e.g. 512x512)": "Voeg afbeelding formaat toe (Bijv. 512x512)",
"Enter Jina API Key": "Voer Jina API-sleutel in",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Voeg taal codes toe",
"Enter Model ID": "Voer model-ID in",
"Enter model tag (e.g. {{modelTag}})": "Voeg model-tag toe (Bijv. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "Voer je gebruikersnaam in",
"Error": "Fout",
"ERROR": "ERROR",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Beoordelingen",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Voorbeeld: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Voorbeeld: ALL",
@@ -402,6 +408,7 @@
"File not found.": "Bestand niet gevonden.",
"File removed successfully.": "Bestand succesvol verwijderd.",
"File size should not exceed {{maxSize}} MB.": "Bestandsgrootte mag niet groter zijn dan {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Bestanden",
"Filter is now globally disabled": "Filter is nu globaal uitgeschakeld",
"Filter is now globally enabled": "Filter is nu globaal ingeschakeld",
@@ -435,11 +442,11 @@
"General Settings": "Algemene instellingen",
"Generate Image": "Genereer afbeelding",
"Generating search query": "Zoekopdracht genereren",
- "Generation Info": "Generatie Info",
"Get started": "Begin",
"Get started with {{WEBUI_NAME}}": "Begin met {{WEBUI_NAME}}",
"Global": "Globaal",
"Good Response": "Goed antwoord",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API-sleutel",
"Google PSE Engine Id": "Google PSE-engine-ID",
"Group created successfully": "Groep succesvol aangemaakt",
@@ -495,6 +502,7 @@
"June": "Juni",
"JWT Expiration": "JWT Expiration",
"JWT Token": "JWT Token",
+ "Kagi Search API Key": "",
"Keep Alive": "Houd Actief",
"Key": "Sleutel",
"Keyboard shortcuts": "Toetsenbord snelkoppelingen",
@@ -825,6 +833,7 @@
"Sign up": "Registreren",
"Sign up to {{WEBUI_NAME}}": "Meld je aan bij {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Aan het inloggen bij {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Bron",
"Speech Playback Speed": "Afspeelsnelheid spraak",
"Speech recognition error: {{error}}": "Spraakherkenning fout: {{error}}",
diff --git a/src/lib/i18n/locales/pa-IN/translation.json b/src/lib/i18n/locales/pa-IN/translation.json
index 99e420c8a0..4244d96c49 100644
--- a/src/lib/i18n/locales/pa-IN/translation.json
+++ b/src/lib/i18n/locales/pa-IN/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "ਰੱਦ ਕਰੋ",
"Capabilities": "ਸਮਰੱਥਾਵਾਂ",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "ਪਾਸਵਰਡ ਬਦਲੋ",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "ਸੰਗ੍ਰਹਿ",
"Color": "",
"ComfyUI": "ਕੰਫੀਯੂਆਈ",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ਕੰਫੀਯੂਆਈ ਬੇਸ URL",
"ComfyUI Base URL is required.": "ਕੰਫੀਯੂਆਈ ਬੇਸ URL ਦੀ ਲੋੜ ਹੈ।",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "ਕਮਿਊਨਿਟੀ ਸ਼ੇਅਰਿੰਗ ਨੂੰ ਸਮਰੱਥ ਕਰੋ",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Google PSE ਇੰਜਣ ID ਦਾਖਲ ਕਰੋ",
"Enter Image Size (e.g. 512x512)": "ਚਿੱਤਰ ਆਕਾਰ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "ਭਾਸ਼ਾ ਕੋਡ ਦਰਜ ਕਰੋ",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "ਮਾਡਲ ਟੈਗ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "ਗਲਤੀ",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "ਫਾਈਲ ਨਹੀਂ ਮਿਲੀ।",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "ਆਮ ਸੈਟਿੰਗਾਂ",
"Generate Image": "",
"Generating search query": "ਖੋਜ ਪੁੱਛਗਿੱਛ ਤਿਆਰ ਕਰਨਾ",
- "Generation Info": "ਜਨਰੇਸ਼ਨ ਜਾਣਕਾਰੀ",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "ਵਧੀਆ ਜਵਾਬ",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API ਕੁੰਜੀ",
"Google PSE Engine Id": "ਗੂਗਲ PSE ਇੰਜਣ ID",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "ਜੂਨ",
"JWT Expiration": "JWT ਮਿਆਦ ਖਤਮ",
"JWT Token": "JWT ਟੋਕਨ",
+ "Kagi Search API Key": "",
"Keep Alive": "ਜੀਵਿਤ ਰੱਖੋ",
"Key": "",
"Keyboard shortcuts": "ਕੀਬੋਰਡ ਸ਼ਾਰਟਕਟ",
@@ -825,6 +833,7 @@
"Sign up": "ਰਜਿਸਟਰ ਕਰੋ",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "ਸਰੋਤ",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "ਬੋਲ ਪਛਾਣ ਗਲਤੀ: {{error}}",
diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json
index 756b9460a9..f219fafb60 100644
--- a/src/lib/i18n/locales/pl-PL/translation.json
+++ b/src/lib/i18n/locales/pl-PL/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "Anuluj",
"Capabilities": "Możliwości",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Zmień hasło",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Kolekcja",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "Bazowy URL ComfyUI",
"ComfyUI Base URL is required.": "Bazowy URL ComfyUI jest wymagany.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Włączanie udostępniania społecznościowego",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Wprowadź identyfikator aparatu Google PSE",
"Enter Image Size (e.g. 512x512)": "Wprowadź rozmiar obrazu (np. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Wprowadź kody języków",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Wprowadź tag modelu (np. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Błąd",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Plik nie został znaleziony.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "Ogólne ustawienia",
"Generate Image": "",
"Generating search query": "Generowanie zapytania",
- "Generation Info": "Informacja o generacji",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "Dobra odpowiedź",
+ "Google Drive": "",
"Google PSE API Key": "Klucz API Google PSE",
"Google PSE Engine Id": "Identyfikator silnika Google PSE",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Czerwiec",
"JWT Expiration": "Wygaśnięcie JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Zachowaj łączność",
"Key": "",
"Keyboard shortcuts": "Skróty klawiszowe",
@@ -827,6 +835,7 @@
"Sign up": "Zarejestruj się",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Źródło",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Błąd rozpoznawania mowy: {{error}}",
diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json
index 1c26471a1b..26754ff8d4 100644
--- a/src/lib/i18n/locales/pt-BR/translation.json
+++ b/src/lib/i18n/locales/pt-BR/translation.json
@@ -119,6 +119,7 @@
"Camera": "Câmera",
"Cancel": "Cancelar",
"Capabilities": "Capacidades",
+ "Capture": "",
"Certificate Path": "Caminho do Certificado",
"Change Password": "Mudar Senha",
"Character": "Caracter",
@@ -163,6 +164,7 @@
"Collection": "Coleção",
"Color": "Cor",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL Base do ComfyUI",
"ComfyUI Base URL is required.": "URL Base do ComfyUI é necessária.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Ativar Autenticação por API Key",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Ativar Compartilhamento com a Comunidade",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Habilite o bloqueio de memória (mlock) para evitar que os dados do modelo sejam transferidos da RAM para a área de troca (swap). Essa opção bloqueia o conjunto de páginas em uso pelo modelo na RAM, garantindo que elas não sejam transferidas para o disco. Isso pode ajudar a manter o desempenho, evitando falhas de página e garantindo acesso rápido aos dados.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Habilite o mapeamento de memória (mmap) para carregar dados do modelo. Esta opção permite que o sistema use o armazenamento em disco como uma extensão da RAM, tratando os arquivos do disco como se estivessem na RAM. Isso pode melhorar o desempenho do modelo, permitindo acesso mais rápido aos dados. No entanto, pode não funcionar corretamente com todos os sistemas e consumir uma quantidade significativa de espaço em disco.",
"Enable Message Rating": "Ativar Avaliação de Mensagens",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Digite o ID do Motor do Google PSE",
"Enter Image Size (e.g. 512x512)": "Digite o Tamanho da Imagem (por exemplo, 512x512)",
"Enter Jina API Key": "Digite a Chave API Jina",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Digite os códigos de idioma",
"Enter Model ID": "Digite o ID do modelo",
"Enter model tag (e.g. {{modelTag}})": "Digite a tag do modelo (por exemplo, {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "Digite seu usuário",
"Error": "Erro",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Avaliações",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Exemplo: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Exemplo: ALL",
@@ -402,6 +408,7 @@
"File not found.": "Arquivo não encontrado.",
"File removed successfully.": "Arquivo removido com sucesso.",
"File size should not exceed {{maxSize}} MB.": "Arquivo não pode exceder {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Arquivos",
"Filter is now globally disabled": "O filtro está agora desativado globalmente",
"Filter is now globally enabled": "O filtro está agora ativado globalmente",
@@ -435,11 +442,11 @@
"General Settings": "Configurações Gerais",
"Generate Image": "Gerar Imagem",
"Generating search query": "Gerando consulta de pesquisa",
- "Generation Info": "Informações de Geração",
"Get started": "Iniciar",
"Get started with {{WEBUI_NAME}}": "Iniciar com {{WEBUI_NAME}}",
"Global": "Global",
"Good Response": "Boa Resposta",
+ "Google Drive": "",
"Google PSE API Key": "Chave API do Google PSE",
"Google PSE Engine Id": "ID do Motor do Google PSE",
"Group created successfully": "Grupo criado com sucesso",
@@ -495,6 +502,7 @@
"June": "Junho",
"JWT Expiration": "Expiração do JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Manter Vivo",
"Key": "Chave",
"Keyboard shortcuts": "Atalhos de Teclado",
@@ -826,6 +834,7 @@
"Sign up": "Inscrever-se",
"Sign up to {{WEBUI_NAME}}": "Inscreva-se em {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Fazendo login em {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Fonte",
"Speech Playback Speed": "Velocidade de reprodução de fala",
"Speech recognition error: {{error}}": "Erro de reconhecimento de fala: {{error}}",
diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json
index ff2ccae36d..b1f050931f 100644
--- a/src/lib/i18n/locales/pt-PT/translation.json
+++ b/src/lib/i18n/locales/pt-PT/translation.json
@@ -119,6 +119,7 @@
"Camera": "Camera",
"Cancel": "Cancelar",
"Capabilities": "Capacidades",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Alterar Senha",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Coleção",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL Base do ComfyUI",
"ComfyUI Base URL is required.": "O URL Base do ComfyUI é obrigatório.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Active a Partilha da Comunidade",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Escreva o ID do mecanismo PSE do Google",
"Enter Image Size (e.g. 512x512)": "Escreva o Tamanho da Imagem (por exemplo, 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Escreva os códigos de idioma",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Escreva a tag do modelo (por exemplo, {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Erro",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Ficheiro não encontrado.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "Configurações Gerais",
"Generate Image": "Gerar imagem",
"Generating search query": "A gerar a consulta da pesquisa",
- "Generation Info": "Informações de Geração",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "Boa Resposta",
+ "Google Drive": "",
"Google PSE API Key": "Chave da API PSE do Google",
"Google PSE Engine Id": "ID do mecanismo PSE do Google",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Junho",
"JWT Expiration": "Expiração JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Manter Vivo",
"Key": "",
"Keyboard shortcuts": "Atalhos de teclado",
@@ -826,6 +834,7 @@
"Sign up": "Inscrever-se",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Fonte",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Erro de reconhecimento de fala: {{error}}",
diff --git a/src/lib/i18n/locales/ro-RO/translation.json b/src/lib/i18n/locales/ro-RO/translation.json
index e9d5267f6f..ac155e7596 100644
--- a/src/lib/i18n/locales/ro-RO/translation.json
+++ b/src/lib/i18n/locales/ro-RO/translation.json
@@ -119,6 +119,7 @@
"Camera": "Cameră",
"Cancel": "Anulează",
"Capabilities": "Capabilități",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Schimbă Parola",
"Character": "Caracter",
@@ -163,6 +164,7 @@
"Collection": "Colecție",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL De Bază ComfyUI",
"ComfyUI Base URL is required.": "Este necesar URL-ul De Bază ComfyUI.",
"ComfyUI Workflow": "Flux de lucru ComfyUI",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Activează Partajarea Comunitară",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "Activează Evaluarea Mesajelor",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Introduceți ID-ul Motorului Google PSE",
"Enter Image Size (e.g. 512x512)": "Introduceți Dimensiunea Imaginii (de ex. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Introduceți codurile limbilor",
"Enter Model ID": "Introdu codul modelului",
"Enter model tag (e.g. {{modelTag}})": "Introduceți eticheta modelului (de ex. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Eroare",
"ERROR": "EROARE",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Evaluări",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Fișierul nu a fost găsit.",
"File removed successfully.": "Fișierul a fost eliminat cu succes.",
"File size should not exceed {{maxSize}} MB.": "Dimensiunea fișierului nu ar trebui să depășească {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Fișiere",
"Filter is now globally disabled": "Filtrul este acum dezactivat global",
"Filter is now globally enabled": "Filtrul este acum activat global",
@@ -435,11 +442,11 @@
"General Settings": "Setări Generale",
"Generate Image": "Generează Imagine",
"Generating search query": "Se generează interogarea de căutare",
- "Generation Info": "Informații Generare",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Global",
"Good Response": "Răspuns Bun",
+ "Google Drive": "",
"Google PSE API Key": "Cheie API Google PSE",
"Google PSE Engine Id": "ID Motor Google PSE",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Iunie",
"JWT Expiration": "Expirarea JWT",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Menține Activ",
"Key": "",
"Keyboard shortcuts": "Scurtături de la Tastatură",
@@ -826,6 +834,7 @@
"Sign up": "Înregistrare",
"Sign up to {{WEBUI_NAME}}": "Înregistrează-te la {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Autentificare în {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Sursă",
"Speech Playback Speed": "Viteza de redare a vorbirii",
"Speech recognition error: {{error}}": "Eroare de recunoaștere vocală: {{error}}",
diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json
index 6e12bd2516..3e1284c1b2 100644
--- a/src/lib/i18n/locales/ru-RU/translation.json
+++ b/src/lib/i18n/locales/ru-RU/translation.json
@@ -119,6 +119,7 @@
"Camera": "Камера",
"Cancel": "Отменить",
"Capabilities": "Возможности",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Изменить пароль",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Коллекция",
"Color": "Цвет",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "Базовый адрес URL ComfyUI",
"ComfyUI Base URL is required.": "Необходим базовый адрес URL ComfyUI.",
"ComfyUI Workflow": "ComfyUI Workflow",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Включить аутентификацию по API Ключу",
"Enable autocomplete generation for chat messages": "Включить генерацию автозаполнения для сообщений чата",
"Enable Community Sharing": "Включить совместное использование",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Включите блокировку памяти (mlock), чтобы предотвратить выгрузку данных модели из ОЗУ. Эта опция блокирует рабочий набор страниц модели в оперативной памяти, гарантируя, что они не будут выгружены на диск. Это может помочь поддерживать производительность, избегая ошибок страниц и обеспечивая быстрый доступ к данным.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Включите отображение памяти (mmap), чтобы загрузить данные модели. Эта опция позволяет системе использовать дисковое хранилище в качестве расширения оперативной памяти, обрабатывая дисковые файлы так, как если бы они находились в оперативной памяти. Это может улучшить производительность модели за счет более быстрого доступа к данным. Однако он может работать некорректно со всеми системами и занимать значительный объем дискового пространства.",
"Enable Message Rating": "Разрешить оценку ответов",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Введите Id движка Google PSE",
"Enter Image Size (e.g. 512x512)": "Введите размер изображения (например, 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Введите коды языков",
"Enter Model ID": "Введите ID модели",
"Enter model tag (e.g. {{modelTag}})": "Введите тег модели (например, {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Ошибка",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Оценки",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Файл не найден.",
"File removed successfully.": "Файл успешно удален.",
"File size should not exceed {{maxSize}} MB.": "Размер файла не должен превышать {{maxSize}} МБ.",
+ "File uploaded successfully": "",
"Files": "Файлы",
"Filter is now globally disabled": "Фильтр теперь отключен глобально",
"Filter is now globally enabled": "Фильтр теперь включен глобально",
@@ -435,11 +442,11 @@
"General Settings": "Общие настройки",
"Generate Image": "Сгенерировать изображение",
"Generating search query": "Генерация поискового запроса",
- "Generation Info": "Информация о генерации",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Глобально",
"Good Response": "Хороший ответ",
+ "Google Drive": "",
"Google PSE API Key": "Ключ API Google PSE",
"Google PSE Engine Id": "Id движка Google PSE",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Июнь",
"JWT Expiration": "Истечение срока JWT",
"JWT Token": "Токен JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Поддерживать активность",
"Key": "",
"Keyboard shortcuts": "Горячие клавиши",
@@ -827,6 +835,7 @@
"Sign up": "Зарегистрироваться",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Источник",
"Speech Playback Speed": "Скорость воспроизведения речи",
"Speech recognition error: {{error}}": "Ошибка распознавания речи: {{error}}",
diff --git a/src/lib/i18n/locales/sk-SK/translation.json b/src/lib/i18n/locales/sk-SK/translation.json
index 0e9e3bc781..1829c54ffc 100644
--- a/src/lib/i18n/locales/sk-SK/translation.json
+++ b/src/lib/i18n/locales/sk-SK/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Zrušiť",
"Capabilities": "Schopnosti",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Zmeniť heslo",
"Character": "Znak",
@@ -163,6 +164,7 @@
"Collection": "",
"Color": "Farba",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "Základná URL ComfyUI",
"ComfyUI Base URL is required.": "Je vyžadovaná základná URL pre ComfyUI.",
"ComfyUI Workflow": "Pracovný postup ComfyUI",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Povoliť zdieľanie komunity",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "Povoliť hodnotenie správ",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Zadajte ID vyhľadávacieho mechanizmu Google PSE",
"Enter Image Size (e.g. 512x512)": "Zadajte veľkosť obrázka (napr. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Zadajte kódy jazykov",
"Enter Model ID": "Zadajte ID modelu",
"Enter model tag (e.g. {{modelTag}})": "Zadajte označenie modelu (napr. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Chyba",
"ERROR": "Chyba",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Hodnotenia",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Súbor nenájdený.",
"File removed successfully.": "Súbor bol úspešne odstránený.",
"File size should not exceed {{maxSize}} MB.": "Veľkosť súboru by nemala presiahnuť {{maxSize}} MB.",
+ "File uploaded successfully": "",
"Files": "Súbory",
"Filter is now globally disabled": "Filter je teraz globálne zakázaný",
"Filter is now globally enabled": "Filter je teraz globálne povolený.",
@@ -435,11 +442,11 @@
"General Settings": "Všeobecné nastavenia",
"Generate Image": "Vygenerovať obrázok",
"Generating search query": "Generovanie vyhľadávacieho dotazu",
- "Generation Info": "Informácie o generácii",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Globálne",
"Good Response": "Dobrá odozva",
+ "Google Drive": "",
"Google PSE API Key": "Kľúč API pre Google PSE (Programmatically Search Engine)",
"Google PSE Engine Id": "Google PSE Engine Id (Identifikátor vyhľadávacieho modulu Google PSE)",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Jún",
"JWT Expiration": "Vypršanie platnosti JWT (JSON Web Token)",
"JWT Token": "JWT Token (JSON Web Token)",
+ "Kagi Search API Key": "",
"Keep Alive": "Udržiavať spojenie",
"Key": "",
"Keyboard shortcuts": "Klávesové skratky",
@@ -827,6 +835,7 @@
"Sign up": "Zaregistrovať sa",
"Sign up to {{WEBUI_NAME}}": "Zaregistrujte sa na {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Prihlasovanie do {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Zdroj",
"Speech Playback Speed": "Rýchlosť prehrávania reči",
"Speech recognition error: {{error}}": "Chyba rozpoznávania reči: {{error}}",
diff --git a/src/lib/i18n/locales/sr-RS/translation.json b/src/lib/i18n/locales/sr-RS/translation.json
index 3baa948eb1..62058348af 100644
--- a/src/lib/i18n/locales/sr-RS/translation.json
+++ b/src/lib/i18n/locales/sr-RS/translation.json
@@ -119,6 +119,7 @@
"Camera": "Камера",
"Cancel": "Откажи",
"Capabilities": "Могућности",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Промени лозинку",
"Character": "Знак",
@@ -163,6 +164,7 @@
"Collection": "Колекција",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "Основна адреса за ComfyUI",
"ComfyUI Base URL is required.": "Потребна је основна адреса за ComfyUI.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Омогући дељење заједнице",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Унесите Гоогле ПСЕ ИД машине",
"Enter Image Size (e.g. 512x512)": "Унесите величину слике (нпр. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Унесите кодове језика",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Унесите ознаку модела (нпр. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Грешка",
"ERROR": "ГРЕШКА",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Процењивања",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Датотека није пронађена.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "Датотеке",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "Општа подешавања",
"Generate Image": "",
"Generating search query": "Генерисање упита претраге",
- "Generation Info": "Информације о стварању",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "Добар одговор",
+ "Google Drive": "",
"Google PSE API Key": "Гоогле ПСЕ АПИ кључ",
"Google PSE Engine Id": "Гоогле ПСЕ ИД мотора",
"Group created successfully": "Група направљена успешно",
@@ -495,6 +502,7 @@
"June": "Јун",
"JWT Expiration": "Истек JWT-а",
"JWT Token": "JWT жетон",
+ "Kagi Search API Key": "",
"Keep Alive": "Одржи трајање",
"Key": "",
"Keyboard shortcuts": "Пречице на тастатури",
@@ -826,6 +834,7 @@
"Sign up": "Региструј се",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Извор",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Грешка у препознавању говора: {{error}}",
diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json
index d05040f1dc..2bc3e46705 100644
--- a/src/lib/i18n/locales/sv-SE/translation.json
+++ b/src/lib/i18n/locales/sv-SE/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "Avbryt",
"Capabilities": "Kapaciteter",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Ändra lösenord",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Samling",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI Base URL",
"ComfyUI Base URL is required.": "ComfyUI Base URL krävs.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Aktivera community-delning",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Ange Google PSE Engine Id",
"Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Skriv språkkoder",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Ange modelltagg (t.ex. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Fel",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Fil hittades inte.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "Allmänna inställningar",
"Generate Image": "Generera bild",
"Generating search query": "Genererar sökfråga",
- "Generation Info": "Info om generation",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "Bra svar",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API-nyckel",
"Google PSE Engine Id": "Google PSE Engine Id",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "juni",
"JWT Expiration": "JWT-utgångsdatum",
"JWT Token": "JWT-token",
+ "Kagi Search API Key": "",
"Keep Alive": "Keep Alive",
"Key": "",
"Keyboard shortcuts": "Tangentbordsgenvägar",
@@ -825,6 +833,7 @@
"Sign up": "Registrera dig",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Källa",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Fel vid taligenkänning: {{error}}",
diff --git a/src/lib/i18n/locales/th-TH/translation.json b/src/lib/i18n/locales/th-TH/translation.json
index e1fa1e2856..16ba9d189a 100644
--- a/src/lib/i18n/locales/th-TH/translation.json
+++ b/src/lib/i18n/locales/th-TH/translation.json
@@ -119,6 +119,7 @@
"Camera": "กล้อง",
"Cancel": "ยกเลิก",
"Capabilities": "ความสามารถ",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "เปลี่ยนรหัสผ่าน",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "คอลเลคชัน",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL ฐานของ ComfyUI",
"ComfyUI Base URL is required.": "ต้องการ URL ฐานของ ComfyUI",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "เปิดใช้งานการแชร์ในชุมชน",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "ใส่รหัสเครื่องยนต์ของ Google PSE",
"Enter Image Size (e.g. 512x512)": "ใส่ขนาดภาพ (เช่น 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "ใส่รหัสภาษา",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "ใส่แท็กโมเดล (เช่น {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "ข้อผิดพลาด",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "ไม่พบไฟล์",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "ไฟล์",
"Filter is now globally disabled": "การกรองถูกปิดใช้งานทั่วโลกแล้ว",
"Filter is now globally enabled": "การกรองถูกเปิดใช้งานทั่วโลกแล้ว",
@@ -435,11 +442,11 @@
"General Settings": "การตั้งค่าทั่วไป",
"Generate Image": "สร้างภาพ",
"Generating search query": "สร้างคำค้นหา",
- "Generation Info": "ข้อมูลการสร้าง",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "ทั่วโลก",
"Good Response": "การตอบสนองที่ดี",
+ "Google Drive": "",
"Google PSE API Key": "คีย์ API ของ Google PSE",
"Google PSE Engine Id": "รหัสเครื่องยนต์ของ Google PSE",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "มิถุนายน",
"JWT Expiration": "การหมดอายุของ JWT",
"JWT Token": "โทเค็น JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "คงอยู่",
"Key": "",
"Keyboard shortcuts": "ทางลัดแป้นพิมพ์",
@@ -825,6 +833,7 @@
"Sign up": "สมัครสมาชิก",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "แหล่งที่มา",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "ข้อผิดพลาดในการรู้จำเสียง: {{error}}",
diff --git a/src/lib/i18n/locales/tk-TW/translation.json b/src/lib/i18n/locales/tk-TW/translation.json
index 99575141a3..78a0608381 100644
--- a/src/lib/i18n/locales/tk-TW/translation.json
+++ b/src/lib/i18n/locales/tk-TW/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "",
"Capabilities": "",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "",
"Color": "",
"ComfyUI": "",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "",
"ComfyUI Base URL is required.": "",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "",
"Enter Image Size (e.g. 512x512)": "",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "",
"Filter is now globally disabled": "",
"Filter is now globally enabled": "",
@@ -435,11 +442,11 @@
"General Settings": "",
"Generate Image": "",
"Generating search query": "",
- "Generation Info": "",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "",
"Good Response": "",
+ "Google Drive": "",
"Google PSE API Key": "",
"Google PSE Engine Id": "",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "",
"JWT Expiration": "",
"JWT Token": "",
+ "Kagi Search API Key": "",
"Keep Alive": "",
"Key": "",
"Keyboard shortcuts": "",
@@ -825,6 +833,7 @@
"Sign up": "",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "",
diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json
index 6bf981999c..2d864ffc76 100644
--- a/src/lib/i18n/locales/tr-TR/translation.json
+++ b/src/lib/i18n/locales/tr-TR/translation.json
@@ -119,6 +119,7 @@
"Camera": "Kamera",
"Cancel": "İptal",
"Capabilities": "Yetenekler",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Parola Değiştir",
"Character": "Karakter",
@@ -163,6 +164,7 @@
"Collection": "Koleksiyon",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI Temel URL",
"ComfyUI Base URL is required.": "ComfyUI Temel URL gerekli.",
"ComfyUI Workflow": "ComfyUI İş Akışı",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Topluluk Paylaşımını Etkinleştir",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "Mesaj Değerlendirmeyi Etkinleştir",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Google PSE Engine Id'sini Girin",
"Enter Image Size (e.g. 512x512)": "Görüntü Boyutunu Girin (örn. 512x512)",
"Enter Jina API Key": "Jina API Anahtarını Girin",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Dil kodlarını girin",
"Enter Model ID": "Model ID'sini Girin",
"Enter model tag (e.g. {{modelTag}})": "Model etiketini girin (örn. {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Hata",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Değerlendirmeler",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Dosya bulunamadı.",
"File removed successfully.": "Dosya başarıyla kaldırıldı.",
"File size should not exceed {{maxSize}} MB.": "Dosya boyutu {{maxSize}} MB'yi aşmamalıdır.",
+ "File uploaded successfully": "",
"Files": "Dosyalar",
"Filter is now globally disabled": "Filtre artık global olarak devre dışı",
"Filter is now globally enabled": "Filtre artık global olarak devrede",
@@ -435,11 +442,11 @@
"General Settings": "Genel Ayarlar",
"Generate Image": "Görsel Üret",
"Generating search query": "Arama sorgusu oluşturma",
- "Generation Info": "Üretim Bilgisi",
"Get started": "Başlayın",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Evrensel",
"Good Response": "İyi Yanıt",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API Anahtarı",
"Google PSE Engine Id": "Google PSE Engine Id",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Haziran",
"JWT Expiration": "JWT Bitişi",
"JWT Token": "JWT Token",
+ "Kagi Search API Key": "",
"Keep Alive": "Canlı Tut",
"Key": "",
"Keyboard shortcuts": "Klavye kısayolları",
@@ -825,6 +833,7 @@
"Sign up": "Kaydol",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Kaynak",
"Speech Playback Speed": "Konuşma Oynatma Hızı",
"Speech recognition error: {{error}}": "Konuşma tanıma hatası: {{error}}",
diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json
index 02ce5780cc..820143c0a1 100644
--- a/src/lib/i18n/locales/uk-UA/translation.json
+++ b/src/lib/i18n/locales/uk-UA/translation.json
@@ -119,6 +119,7 @@
"Camera": "Камера",
"Cancel": "Скасувати",
"Capabilities": "Можливості",
+ "Capture": "",
"Certificate Path": "Шлях до сертифіката",
"Change Password": "Змінити пароль",
"Character": "Персонаж",
@@ -163,6 +164,7 @@
"Collection": "Колекція",
"Color": "Колір",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "URL-адреса ComfyUI",
"ComfyUI Base URL is required.": "Необхідно вказати URL-адресу ComfyUI.",
"ComfyUI Workflow": "ComfyUI Workflow",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "Увімкнути автентифікацію за допомогою API ключа",
"Enable autocomplete generation for chat messages": "Увімкнути генерацію автозаповнення для повідомлень чату",
"Enable Community Sharing": "Увімкнути спільний доступ",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Увімкнути блокування пам'яті (mlock), щоб запобігти виведенню даних моделі з оперативної пам'яті. Цей параметр блокує робочий набір сторінок моделі в оперативній пам'яті, гарантуючи, що вони не будуть виведені на диск. Це може допомогти підтримувати продуктивність, уникати помилок сторінок та забезпечувати швидкий доступ до даних.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Увімкнути відображення пам'яті (mmap) для завантаження даних моделі. Цей параметр дозволяє системі використовувати дискове сховище як розширення оперативної пам'яті, трактуючи файли на диску, як ніби вони знаходяться в RAM. Це може покращити продуктивність моделі, дозволяючи швидший доступ до даних. Однак, він може не працювати коректно на всіх системах і може споживати значну кількість дискового простору.",
"Enable Message Rating": "Увімкнути оцінку повідомлень",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Введіть Google PSE Engine Id",
"Enter Image Size (e.g. 512x512)": "Введіть розмір зображення (напр., 512x512)",
"Enter Jina API Key": "Введіть ключ API для Jina",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Введіть мовні коди",
"Enter Model ID": "Введіть ID моделі",
"Enter model tag (e.g. {{modelTag}})": "Введіть тег моделі (напр., {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "Введіть своє ім'я користувача",
"Error": "Помилка",
"ERROR": "ПОМИЛКА",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "Оцінювання",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Приклад: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Приклад: ВСІ",
@@ -402,6 +408,7 @@
"File not found.": "Файл не знайдено.",
"File removed successfully.": "Файл успішно видалено.",
"File size should not exceed {{maxSize}} MB.": "Розмір файлу не повинен перевищувати {{maxSize}} МБ.",
+ "File uploaded successfully": "",
"Files": "Файли",
"Filter is now globally disabled": "Фільтр глобально вимкнено",
"Filter is now globally enabled": "Фільтр увімкнено глобально",
@@ -435,11 +442,11 @@
"General Settings": "Загальні налаштування",
"Generate Image": "Створити зображення",
"Generating search query": "Сформувати пошуковий запит",
- "Generation Info": "Інформація про генерацію",
"Get started": "Почати",
"Get started with {{WEBUI_NAME}}": "Почати з {{WEBUI_NAME}}",
"Global": "Глоб.",
"Good Response": "Гарна відповідь",
+ "Google Drive": "",
"Google PSE API Key": "Ключ API Google PSE",
"Google PSE Engine Id": "Id рушія Google PSE",
"Group created successfully": "Групу успішно створено",
@@ -495,6 +502,7 @@
"June": "Червень",
"JWT Expiration": "Термін дії JWT",
"JWT Token": "Токен JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Зберегти активність",
"Key": "Ключ",
"Keyboard shortcuts": "Клавіатурні скорочення",
@@ -827,6 +835,7 @@
"Sign up": "Зареєструватися",
"Sign up to {{WEBUI_NAME}}": "Зареєструватися в {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Увійти в {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "Джерело",
"Speech Playback Speed": "Швидкість відтворення мовлення",
"Speech recognition error: {{error}}": "Помилка розпізнавання мови: {{error}}",
diff --git a/src/lib/i18n/locales/ur-PK/translation.json b/src/lib/i18n/locales/ur-PK/translation.json
index af78b7c60d..2d75711c2b 100644
--- a/src/lib/i18n/locales/ur-PK/translation.json
+++ b/src/lib/i18n/locales/ur-PK/translation.json
@@ -119,6 +119,7 @@
"Camera": "کیمرہ",
"Cancel": "منسوخ کریں",
"Capabilities": "صلاحیتیں",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "پاس ورڈ تبدیل کریں",
"Character": "کردار",
@@ -163,6 +164,7 @@
"Collection": "کلیکشن",
"Color": "",
"ComfyUI": "کومفی یو آئی",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "کمفی یو آئی بیس یو آر ایل",
"ComfyUI Base URL is required.": "ComfyUI بیس یو آر ایل ضروری ہے",
"ComfyUI Workflow": "کومفی یو آئی ورک فلو",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "کمیونٹی شیئرنگ فعال کریں",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "پیغام کی درجہ بندی فعال کریں",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "گوگل پی ایس ای انجن آئی ڈی درج کریں",
"Enter Image Size (e.g. 512x512)": "تصویر کا سائز درج کریں (مثال: 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "زبان کے کوڈ درج کریں",
"Enter Model ID": "ماڈل آئی ڈی درج کریں",
"Enter model tag (e.g. {{modelTag}})": "ماڈل ٹیگ داخل کریں (مثال کے طور پر {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "غلطی",
"ERROR": "غلطی",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "تشخیصات",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "فائل نہیں ملی",
"File removed successfully.": "فائل کامیابی سے ہٹا دی گئی",
"File size should not exceed {{maxSize}} MB.": "فائل کا سائز {{maxSize}} ایم بی سے زیادہ نہیں ہونا چاہیے",
+ "File uploaded successfully": "",
"Files": "فائلز",
"Filter is now globally disabled": "فلٹر اب عالمی طور پر غیر فعال ہے",
"Filter is now globally enabled": "فلٹر اب عالمی طور پر فعال ہے",
@@ -435,11 +442,11 @@
"General Settings": "عمومی ترتیبات",
"Generate Image": "تصویر بنائیں",
"Generating search query": "تلاش کے لیے سوالیہ عبارت تیار کی جا رہی ہے",
- "Generation Info": "جنریشن کی معلومات",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "عالمی",
"Good Response": "اچھا جواب",
+ "Google Drive": "",
"Google PSE API Key": "گوگل پی ایس ای API کی کلید",
"Google PSE Engine Id": "گوگل پی ایس ای انجن آئی ڈی",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "جون",
"JWT Expiration": "JWT کی میعاد ختم ہونا",
"JWT Token": "JWT ٹوکن",
+ "Kagi Search API Key": "",
"Keep Alive": "زندہ رکھیں",
"Key": "",
"Keyboard shortcuts": "کی بورڈ شارٹ کٹس",
@@ -825,6 +833,7 @@
"Sign up": "سائن اپ کریں",
"Sign up to {{WEBUI_NAME}}": "{{WEBUI_NAME}} میں سائن اپ کریں",
"Signing in to {{WEBUI_NAME}}": "{{WEBUI_NAME}} میں سائن اِن کر رہے ہیں",
+ "sk-1234": "",
"Source": "ماخذ",
"Speech Playback Speed": "تقریر پلے بیک کی رفتار",
"Speech recognition error: {{error}}": "تقریر کی پہچان کی خرابی: {{error}}",
diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json
index adc070a5c3..63e0326afd 100644
--- a/src/lib/i18n/locales/vi-VN/translation.json
+++ b/src/lib/i18n/locales/vi-VN/translation.json
@@ -119,6 +119,7 @@
"Camera": "",
"Cancel": "Hủy bỏ",
"Capabilities": "Năng lực",
+ "Capture": "",
"Certificate Path": "",
"Change Password": "Đổi Mật khẩu",
"Character": "",
@@ -163,6 +164,7 @@
"Collection": "Tổng hợp mọi tài liệu",
"Color": "",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI Base URL",
"ComfyUI Base URL is required.": "Base URL của ComfyUI là bắt buộc.",
"ComfyUI Workflow": "",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "",
"Enable autocomplete generation for chat messages": "",
"Enable Community Sharing": "Cho phép Chia sẻ Cộng đồng",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "",
"Enable Message Rating": "Cho phép phản hồi, đánh giá",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "Nhập Google PSE Engine Id",
"Enter Image Size (e.g. 512x512)": "Nhập Kích thước ảnh (vd: 512x512)",
"Enter Jina API Key": "",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "Nhập mã ngôn ngữ",
"Enter Model ID": "",
"Enter model tag (e.g. {{modelTag}})": "Nhập thẻ mô hình (vd: {{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "",
"Error": "Lỗi",
"ERROR": "",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "",
"Example: ALL": "",
@@ -402,6 +408,7 @@
"File not found.": "Không tìm thấy tệp.",
"File removed successfully.": "",
"File size should not exceed {{maxSize}} MB.": "",
+ "File uploaded successfully": "",
"Files": "Tệp",
"Filter is now globally disabled": "Bộ lọc hiện đã bị vô hiệu hóa trên toàn hệ thống",
"Filter is now globally enabled": "Bộ lọc hiện được kích hoạt trên toàn hệ thống",
@@ -435,11 +442,11 @@
"General Settings": "Cấu hình chung",
"Generate Image": "Sinh ảnh",
"Generating search query": "Tạo truy vấn tìm kiếm",
- "Generation Info": "Thông tin chung",
"Get started": "",
"Get started with {{WEBUI_NAME}}": "",
"Global": "Toàn hệ thống",
"Good Response": "Trả lời tốt",
+ "Google Drive": "",
"Google PSE API Key": "Khóa API Google PSE",
"Google PSE Engine Id": "ID công cụ Google PSE",
"Group created successfully": "",
@@ -495,6 +502,7 @@
"June": "Tháng 6",
"JWT Expiration": "JWT Hết hạn",
"JWT Token": "Token JWT",
+ "Kagi Search API Key": "",
"Keep Alive": "Giữ kết nối",
"Key": "",
"Keyboard shortcuts": "Phím tắt",
@@ -824,6 +832,7 @@
"Sign up": "Đăng ký",
"Sign up to {{WEBUI_NAME}}": "",
"Signing in to {{WEBUI_NAME}}": "",
+ "sk-1234": "",
"Source": "Nguồn",
"Speech Playback Speed": "",
"Speech recognition error: {{error}}": "Lỗi nhận dạng giọng nói: {{error}}",
diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json
index 1e80d5d79e..405c858d1f 100644
--- a/src/lib/i18n/locales/zh-CN/translation.json
+++ b/src/lib/i18n/locales/zh-CN/translation.json
@@ -119,6 +119,7 @@
"Camera": "摄像头",
"Cancel": "取消",
"Capabilities": "能力",
+ "Capture": "",
"Certificate Path": "证书路径",
"Change Password": "更改密码",
"Character": "字符",
@@ -163,6 +164,7 @@
"Collection": "文件集",
"Color": "颜色",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI 基础地址",
"ComfyUI Base URL is required.": "ComfyUI 基础地址为必需填写。",
"ComfyUI Workflow": "ComfyUI Workflow",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "启用 API 密钥鉴权",
"Enable autocomplete generation for chat messages": "启用聊天消息的自动完成生成",
"Enable Community Sharing": "启用分享至社区",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "启用内存锁定(mlock)以防止模型数据被交换出RAM。此选项将模型的工作集页面锁定在RAM中,确保它们不会被交换到磁盘。这可以通过避免页面错误和确保快速数据访问来帮助维持性能。",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "启用内存映射(mmap)以加载模型数据。此选项允许系统通过将磁盘文件视为在RAM中来使用磁盘存储作为RAM的扩展。这可以通过更快的数据访问来提高模型性能。然而,它可能无法在所有系统上正常工作,并且可能会消耗大量磁盘空间。",
"Enable Message Rating": "启用回复评价",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "输入 Google PSE 引擎 ID",
"Enter Image Size (e.g. 512x512)": "输入图像分辨率 (例如:512x512)",
"Enter Jina API Key": "输入 Jina API 密钥",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "输入语言代码",
"Enter Model ID": "输入模型 ID",
"Enter model tag (e.g. {{modelTag}})": "输入模型标签 (例如:{{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "输入您的用户名",
"Error": "错误",
"ERROR": "错误",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "竞技场评估",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "例如:(&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "例如:ALL",
@@ -402,6 +408,7 @@
"File not found.": "文件未找到。",
"File removed successfully.": "文件成功删除",
"File size should not exceed {{maxSize}} MB.": "文件大小不应超过 {{maxSize}} MB。",
+ "File uploaded successfully": "",
"Files": "文件",
"Filter is now globally disabled": "过滤器已全局禁用",
"Filter is now globally enabled": "过滤器已全局启用",
@@ -435,11 +442,11 @@
"General Settings": "通用设置",
"Generate Image": "生成图像",
"Generating search query": "生成搜索查询",
- "Generation Info": "生成信息",
"Get started": "开始使用",
"Get started with {{WEBUI_NAME}}": "开始使用 {{WEBUI_NAME}}",
"Global": "全局",
"Good Response": "点赞此回答",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API 密钥",
"Google PSE Engine Id": "Google PSE 引擎 ID",
"Group created successfully": "权限组创建成功",
@@ -495,6 +502,7 @@
"June": "六月",
"JWT Expiration": "JWT 过期",
"JWT Token": "JWT 令牌",
+ "Kagi Search API Key": "",
"Keep Alive": "保持活动",
"Key": "密匙",
"Keyboard shortcuts": "键盘快捷键",
@@ -824,6 +832,7 @@
"Sign up": "注册",
"Sign up to {{WEBUI_NAME}}": "注册 {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "正在登录 {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "来源",
"Speech Playback Speed": "语音播放速度",
"Speech recognition error: {{error}}": "语音识别错误:{{error}}",
diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json
index dbc9a9adeb..5b6a6b2477 100644
--- a/src/lib/i18n/locales/zh-TW/translation.json
+++ b/src/lib/i18n/locales/zh-TW/translation.json
@@ -119,6 +119,7 @@
"Camera": "相機",
"Cancel": "取消",
"Capabilities": "功能",
+ "Capture": "",
"Certificate Path": "憑證路徑",
"Change Password": "修改密碼",
"Character": "角色",
@@ -163,6 +164,7 @@
"Collection": "收藏",
"Color": "顏色",
"ComfyUI": "ComfyUI",
+ "ComfyUI API Key": "",
"ComfyUI Base URL": "ComfyUI 基礎 URL",
"ComfyUI Base URL is required.": "需要 ComfyUI 基礎 URL。",
"ComfyUI Workflow": "ComfyUI 工作流程",
@@ -303,6 +305,7 @@
"Enable API Key Auth": "啟用 API 金鑰驗證",
"Enable autocomplete generation for chat messages": "啟用聊天訊息的自動完成生成",
"Enable Community Sharing": "啟用社群分享",
+ "Enable Google Drive": "",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "啟用記憶體鎖定(mlock)以防止模型資料被換出 RAM。此選項會將模型的工作頁面集鎖定在 RAM 中,確保它們不會被換出到磁碟。這可以透過避免頁面錯誤和確保快速資料存取來維持效能。",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "啟用記憶體映射(mmap)以載入模型資料。此選項允許系統使用磁碟儲存作為 RAM 的延伸,透過將磁碟檔案視為在 RAM 中來處理。這可以透過允許更快的資料存取來改善模型效能。然而,它可能無法在所有系統上正常運作,並且可能會消耗大量磁碟空間。",
"Enable Message Rating": "啟用訊息評分",
@@ -330,6 +333,7 @@
"Enter Google PSE Engine Id": "輸入 Google PSE 引擎 ID",
"Enter Image Size (e.g. 512x512)": "輸入圖片大小(例如:512x512)",
"Enter Jina API Key": "輸入 Jina API 金鑰",
+ "Enter Kagi Search API Key": "",
"Enter language codes": "輸入語言代碼",
"Enter Model ID": "輸入模型 ID",
"Enter model tag (e.g. {{modelTag}})": "輸入模型標籤(例如:{{modelTag}})",
@@ -364,6 +368,8 @@
"Enter Your Username": "輸入您的使用者名稱",
"Error": "錯誤",
"ERROR": "錯誤",
+ "Error accessing Google Drive: {{error}}": "",
+ "Error uploading file: {{error}}": "",
"Evaluations": "評估",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "範例:(&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "範例:ALL",
@@ -402,6 +408,7 @@
"File not found.": "找不到檔案。",
"File removed successfully.": "成功移除檔案。",
"File size should not exceed {{maxSize}} MB.": "檔案大小不應超過 {{maxSize}} MB。",
+ "File uploaded successfully": "",
"Files": "檔案",
"Filter is now globally disabled": "篩選器現在已全域停用",
"Filter is now globally enabled": "篩選器現在已全域啟用",
@@ -435,11 +442,11 @@
"General Settings": "一般設定",
"Generate Image": "產生圖片",
"Generating search query": "正在產生搜尋查詢",
- "Generation Info": "生成資訊",
"Get started": "開始使用",
"Get started with {{WEBUI_NAME}}": "開始使用 {{WEBUI_NAME}}",
"Global": "全域",
"Good Response": "良好回應",
+ "Google Drive": "",
"Google PSE API Key": "Google PSE API 金鑰",
"Google PSE Engine Id": "Google PSE 引擎 ID",
"Group created successfully": "群組建立成功",
@@ -495,6 +502,7 @@
"June": "6 月",
"JWT Expiration": "JWT 過期時間",
"JWT Token": "JWT Token",
+ "Kagi Search API Key": "",
"Keep Alive": "保持連線",
"Key": "金鑰",
"Keyboard shortcuts": "鍵盤快捷鍵",
@@ -825,6 +833,7 @@
"Sign up": "註冊",
"Sign up to {{WEBUI_NAME}}": "註冊 {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "正在登入 {{WEBUI_NAME}}",
+ "sk-1234": "",
"Source": "來源",
"Speech Playback Speed": "語音播放速度",
"Speech recognition error: {{error}}": "語音辨識錯誤:{{error}}",
From 2be9e555454676847085e13979edcaa85bc6ae71 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 01:00:32 -0800
Subject: [PATCH 100/385] refac: chat requests
---
backend/open_webui/main.py | 28 +-
backend/open_webui/models/chats.py | 60 +++
backend/open_webui/routers/ollama.py | 18 +-
backend/open_webui/socket/main.py | 22 +-
backend/open_webui/tasks.py | 61 +++
backend/open_webui/utils/chat.py | 5 +-
backend/open_webui/utils/middleware.py | 199 ++++++-
backend/open_webui/utils/misc.py | 28 +
src/lib/apis/index.ts | 36 ++
src/lib/apis/openai/index.ts | 17 +-
src/lib/components/chat/Chat.svelte | 702 ++++++++++++-------------
11 files changed, 752 insertions(+), 424 deletions(-)
create mode 100644 backend/open_webui/tasks.py
diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py
index 7d3a847223..807c87dcc2 100644
--- a/backend/open_webui/main.py
+++ b/backend/open_webui/main.py
@@ -30,7 +30,9 @@ from fastapi import (
UploadFile,
status,
applications,
+ BackgroundTasks,
)
+
from fastapi.openapi.docs import get_swagger_ui_html
from fastapi.middleware.cors import CORSMiddleware
@@ -295,6 +297,7 @@ from open_webui.utils.auth import (
from open_webui.utils.oauth import oauth_manager
from open_webui.utils.security_headers import SecurityHeadersMiddleware
+from open_webui.tasks import stop_task, list_tasks # Import from tasks.py
if SAFE_MODE:
print("SAFE MODE ENABLED")
@@ -822,11 +825,11 @@ async def chat_completion(
request: Request,
form_data: dict,
user=Depends(get_verified_user),
- bypass_filter: bool = False,
):
if not request.app.state.MODELS:
await get_all_models(request)
+ tasks = form_data.pop("background_tasks", None)
try:
model_id = form_data.get("model", None)
if model_id not in request.app.state.MODELS:
@@ -834,13 +837,14 @@ async def chat_completion(
model = request.app.state.MODELS[model_id]
# Check if user has access to the model
- if not bypass_filter and user.role == "user":
+ if not BYPASS_MODEL_ACCESS_CONTROL and user.role == "user":
try:
check_model_access(user, model)
except Exception as e:
raise e
metadata = {
+ "user_id": user.id,
"chat_id": form_data.pop("chat_id", None),
"message_id": form_data.pop("id", None),
"session_id": form_data.pop("session_id", None),
@@ -859,10 +863,10 @@ async def chat_completion(
)
try:
- response = await chat_completion_handler(
- request, form_data, user, bypass_filter
+ response = await chat_completion_handler(request, form_data, user)
+ return await process_chat_response(
+ request, response, user, events, metadata, tasks
)
- return await process_chat_response(response, events, metadata)
except Exception as e:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
@@ -901,6 +905,20 @@ async def chat_action(
)
+@app.post("/api/tasks/stop/{task_id}")
+async def stop_task_endpoint(task_id: str, user=Depends(get_verified_user)):
+ try:
+ result = await stop_task(task_id) # Use the function from tasks.py
+ return result
+ except ValueError as e:
+ raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=str(e))
+
+
+@app.get("/api/tasks")
+async def list_tasks_endpoint(user=Depends(get_verified_user)):
+ return {"tasks": list_tasks()} # Use the function from tasks.py
+
+
##################################
#
# Config Endpoints
diff --git a/backend/open_webui/models/chats.py b/backend/open_webui/models/chats.py
index 3e621a1504..75e5114b84 100644
--- a/backend/open_webui/models/chats.py
+++ b/backend/open_webui/models/chats.py
@@ -168,6 +168,66 @@ class ChatTable:
except Exception:
return None
+ def update_chat_title_by_id(self, id: str, title: str) -> Optional[ChatModel]:
+ chat = self.get_chat_by_id(id)
+ if chat is None:
+ return None
+
+ chat = chat.chat
+ chat["title"] = title
+
+ return self.update_chat_by_id(id, chat)
+
+ def update_chat_tags_by_id(
+ self, id: str, tags: list[str], user
+ ) -> Optional[ChatModel]:
+ chat = self.get_chat_by_id(id)
+ if chat is None:
+ return None
+
+ self.delete_all_tags_by_id_and_user_id(id, user.id)
+
+ for tag in chat.meta.get("tags", []):
+ if self.count_chats_by_tag_name_and_user_id(tag, user.id) == 0:
+ Tags.delete_tag_by_name_and_user_id(tag, user.id)
+
+ for tag_name in tags:
+ if tag_name.lower() == "none":
+ continue
+
+ self.add_chat_tag_by_id_and_user_id_and_tag_name(id, user.id, tag_name)
+ return self.get_chat_by_id(id)
+
+ def get_messages_by_chat_id(self, id: str) -> Optional[dict]:
+ chat = self.get_chat_by_id(id)
+ if chat is None:
+ return None
+
+ return chat.chat.get("history", {}).get("messages", {}) or {}
+
+ def upsert_message_to_chat_by_id_and_message_id(
+ self, id: str, message_id: str, message: dict
+ ) -> Optional[ChatModel]:
+ chat = self.get_chat_by_id(id)
+ if chat is None:
+ return None
+
+ chat = chat.chat
+ history = chat.get("history", {})
+
+ if message_id in history.get("messages", {}):
+ history["messages"][message_id] = {
+ **history["messages"][message_id],
+ **message,
+ }
+ else:
+ history["messages"][message_id] = message
+
+ history["currentId"] = message_id
+
+ chat["history"] = history
+ return self.update_chat_by_id(id, chat)
+
def insert_shared_chat_by_chat_id(self, chat_id: str) -> Optional[ChatModel]:
with get_db() as db:
# Get the existing chat to share
diff --git a/backend/open_webui/routers/ollama.py b/backend/open_webui/routers/ollama.py
index 0c152c1f08..275146c720 100644
--- a/backend/open_webui/routers/ollama.py
+++ b/backend/open_webui/routers/ollama.py
@@ -82,6 +82,16 @@ async def send_get_request(url, key=None):
return None
+async def cleanup_response(
+ response: Optional[aiohttp.ClientResponse],
+ session: Optional[aiohttp.ClientSession],
+):
+ if response:
+ response.close()
+ if session:
+ await session.close()
+
+
async def send_post_request(
url: str,
payload: Union[str, bytes],
@@ -89,14 +99,6 @@ async def send_post_request(
key: Optional[str] = None,
content_type: Optional[str] = None,
):
- async def cleanup_response(
- response: Optional[aiohttp.ClientResponse],
- session: Optional[aiohttp.ClientSession],
- ):
- if response:
- response.close()
- if session:
- await session.close()
r = None
try:
diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py
index d043ce066e..4bdcbabed6 100644
--- a/backend/open_webui/socket/main.py
+++ b/backend/open_webui/socket/main.py
@@ -217,15 +217,19 @@ async def disconnect(sid):
def get_event_emitter(request_info):
async def __event_emitter__(event_data):
- await sio.emit(
- "chat-events",
- {
- "chat_id": request_info["chat_id"],
- "message_id": request_info["message_id"],
- "data": event_data,
- },
- to=request_info["session_id"],
- )
+ user_id = request_info["user_id"]
+ session_ids = USER_POOL.get(user_id, [])
+
+ for session_id in session_ids:
+ await sio.emit(
+ "chat-events",
+ {
+ "chat_id": request_info["chat_id"],
+ "message_id": request_info["message_id"],
+ "data": event_data,
+ },
+ to=session_id,
+ )
return __event_emitter__
diff --git a/backend/open_webui/tasks.py b/backend/open_webui/tasks.py
new file mode 100644
index 0000000000..2740ecb5aa
--- /dev/null
+++ b/backend/open_webui/tasks.py
@@ -0,0 +1,61 @@
+# tasks.py
+import asyncio
+from typing import Dict
+from uuid import uuid4
+
+# A dictionary to keep track of active tasks
+tasks: Dict[str, asyncio.Task] = {}
+
+
+def cleanup_task(task_id: str):
+ """
+ Remove a completed or canceled task from the global `tasks` dictionary.
+ """
+ tasks.pop(task_id, None) # Remove the task if it exists
+
+
+def create_task(coroutine):
+ """
+ Create a new asyncio task and add it to the global task dictionary.
+ """
+ task_id = str(uuid4()) # Generate a unique ID for the task
+ task = asyncio.create_task(coroutine) # Create the task
+
+ # Add a done callback for cleanup
+ task.add_done_callback(lambda t: cleanup_task(task_id))
+
+ tasks[task_id] = task
+ return task_id, task
+
+
+def get_task(task_id: str):
+ """
+ Retrieve a task by its task ID.
+ """
+ return tasks.get(task_id)
+
+
+def list_tasks():
+ """
+ List all currently active task IDs.
+ """
+ return list(tasks.keys())
+
+
+async def stop_task(task_id: str):
+ """
+ Cancel a running task and remove it from the global task list.
+ """
+ task = tasks.get(task_id)
+ if not task:
+ raise ValueError(f"Task with ID {task_id} not found.")
+
+ task.cancel() # Request task cancellation
+ try:
+ await task # Wait for the task to handle the cancellation
+ except asyncio.CancelledError:
+ # Task successfully canceled
+ tasks.pop(task_id, None) # Remove it from the dictionary
+ return {"status": True, "message": f"Task {task_id} successfully stopped."}
+
+ return {"status": False, "message": f"Failed to stop task {task_id}."}
diff --git a/backend/open_webui/utils/chat.py b/backend/open_webui/utils/chat.py
index 56904d1d84..c81e56afbe 100644
--- a/backend/open_webui/utils/chat.py
+++ b/backend/open_webui/utils/chat.py
@@ -117,7 +117,9 @@ async def generate_chat_completion(
form_data, user, bypass_filter=True
)
return StreamingResponse(
- stream_wrapper(response.body_iterator), media_type="text/event-stream"
+ stream_wrapper(response.body_iterator),
+ media_type="text/event-stream",
+ background=response.background,
)
else:
return {
@@ -141,6 +143,7 @@ async def generate_chat_completion(
return StreamingResponse(
convert_streaming_response_ollama_to_openai(response),
headers=dict(response.headers),
+ background=response.background,
)
else:
return convert_response_ollama_to_openai(response)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 4115c7c2b7..9ed493401a 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -2,21 +2,31 @@ import time
import logging
import sys
+import asyncio
from aiocache import cached
from typing import Any, Optional
import random
import json
import inspect
+from uuid import uuid4
+
from fastapi import Request
+from fastapi import BackgroundTasks
+
from starlette.responses import Response, StreamingResponse
+from open_webui.models.chats import Chats
from open_webui.socket.main import (
get_event_call,
get_event_emitter,
)
-from open_webui.routers.tasks import generate_queries
+from open_webui.routers.tasks import (
+ generate_queries,
+ generate_title,
+ generate_chat_tags,
+)
from open_webui.models.users import UserModel
@@ -33,6 +43,7 @@ from open_webui.utils.task import (
tools_function_calling_generation_template,
)
from open_webui.utils.misc import (
+ get_message_list,
add_or_update_system_message,
get_last_user_message,
prepend_to_first_user_message_content,
@@ -41,6 +52,8 @@ from open_webui.utils.tools import get_tools
from open_webui.utils.plugin import load_function_module_by_id
+from open_webui.tasks import create_task
+
from open_webui.config import DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE
from open_webui.env import SRC_LOG_LEVELS, GLOBAL_LOG_LEVEL, BYPASS_MODEL_ACCESS_CONTROL
from open_webui.constants import TASKS
@@ -504,28 +517,178 @@ async def process_chat_payload(request, form_data, metadata, user, model):
return form_data, events
-async def process_chat_response(response, events, metadata):
+async def process_chat_response(request, response, user, events, metadata, tasks):
if not isinstance(response, StreamingResponse):
return response
- content_type = response.headers["Content-Type"]
- is_openai = "text/event-stream" in content_type
- is_ollama = "application/x-ndjson" in content_type
-
- if not is_openai and not is_ollama:
+ if not any(
+ content_type in response.headers["Content-Type"]
+ for content_type in ["text/event-stream", "application/x-ndjson"]
+ ):
return response
- async def stream_wrapper(original_generator, events):
- def wrap_item(item):
- return f"data: {item}\n\n" if is_openai else f"{item}\n"
+ event_emitter = None
+ if "session_id" in metadata:
+ event_emitter = get_event_emitter(metadata)
- for event in events:
- yield wrap_item(json.dumps(event))
+ if event_emitter:
- async for data in original_generator:
- yield data
+ task_id = str(uuid4()) # Create a unique task ID.
- return StreamingResponse(
- stream_wrapper(response.body_iterator, events),
- headers=dict(response.headers),
- )
+ # Handle as a background task
+ async def post_response_handler(response, events):
+ try:
+ for event in events:
+ await event_emitter(
+ {
+ "type": "chat-completion",
+ "data": event,
+ }
+ )
+
+ content = ""
+ async for line in response.body_iterator:
+ line = line.decode("utf-8") if isinstance(line, bytes) else line
+ data = line
+
+ # Skip empty lines
+ if not data.strip():
+ continue
+
+ # "data: " is the prefix for each event
+ if not data.startswith("data: "):
+ continue
+
+ # Remove the prefix
+ data = data[len("data: ") :]
+
+ try:
+ data = json.loads(data)
+ value = (
+ data.get("choices", [])[0].get("delta", {}).get("content")
+ )
+
+ if value:
+ content = f"{content}{value}"
+
+ # Save message in the database
+ Chats.upsert_message_to_chat_by_id_and_message_id(
+ metadata["chat_id"],
+ metadata["message_id"],
+ {
+ "content": content,
+ },
+ )
+
+ except Exception as e:
+ done = "data: [DONE]" in line
+
+ if done:
+ data = {"done": True}
+ else:
+ continue
+
+ await event_emitter(
+ {
+ "type": "chat-completion",
+ "data": data,
+ }
+ )
+
+ message_map = Chats.get_messages_by_chat_id(metadata["chat_id"])
+ message = message_map.get(metadata["message_id"])
+
+ if message:
+ messages = get_message_list(message_map, message.get("id"))
+
+ if TASKS.TITLE_GENERATION in tasks:
+ res = await generate_title(
+ request,
+ {
+ "model": message["model"],
+ "messages": messages,
+ "chat_id": metadata["chat_id"],
+ },
+ user,
+ )
+
+ if res:
+ title = (
+ res.get("choices", [])[0]
+ .get("message", {})
+ .get("content", message.get("content", "New Chat"))
+ )
+
+ Chats.update_chat_title_by_id(metadata["chat_id"], title)
+
+ await event_emitter(
+ {
+ "type": "chat-title",
+ "data": title,
+ }
+ )
+
+ if TASKS.TAGS_GENERATION in tasks:
+ res = await generate_chat_tags(
+ request,
+ {
+ "model": message["model"],
+ "messages": messages,
+ "chat_id": metadata["chat_id"],
+ },
+ user,
+ )
+
+ if res:
+ tags_string = (
+ res.get("choices", [])[0]
+ .get("message", {})
+ .get("content", "")
+ )
+
+ tags_string = tags_string[
+ tags_string.find("{") : tags_string.rfind("}") + 1
+ ]
+
+ try:
+ tags = json.loads(tags_string).get("tags", [])
+ Chats.update_chat_tags_by_id(
+ metadata["chat_id"], tags, user
+ )
+
+ await event_emitter(
+ {
+ "type": "chat-tags",
+ "data": tags,
+ }
+ )
+ except Exception as e:
+ print(f"Error: {e}")
+
+ except asyncio.CancelledError:
+ print("Task was cancelled!")
+ await event_emitter({"type": "task-cancelled"})
+
+ if response.background is not None:
+ await response.background()
+
+ # background_tasks.add_task(post_response_handler, response, events)
+ task_id, _ = create_task(post_response_handler(response, events))
+ return {"status": True, "task_id": task_id}
+
+ else:
+ # Fallback to the original response
+ async def stream_wrapper(original_generator, events):
+ def wrap_item(item):
+ return f"data: {item}\n\n"
+
+ for event in events:
+ yield wrap_item(json.dumps(event))
+
+ async for data in original_generator:
+ yield data
+
+ return StreamingResponse(
+ stream_wrapper(response.body_iterator, events),
+ headers=dict(response.headers),
+ )
diff --git a/backend/open_webui/utils/misc.py b/backend/open_webui/utils/misc.py
index aba696f601..08abde0cc2 100644
--- a/backend/open_webui/utils/misc.py
+++ b/backend/open_webui/utils/misc.py
@@ -7,6 +7,34 @@ from pathlib import Path
from typing import Callable, Optional
+def get_message_list(messages, message_id):
+ """
+ Reconstructs a list of messages in order up to the specified message_id.
+
+ :param message_id: ID of the message to reconstruct the chain
+ :param messages: Message history dict containing all messages
+ :return: List of ordered messages starting from the root to the given message
+ """
+
+ # Find the message by its id
+ current_message = messages.get(message_id)
+
+ if not current_message:
+ return f"Message ID {message_id} not found in the history."
+
+ # Reconstruct the chain by following the parentId links
+ message_list = []
+
+ while current_message:
+ message_list.insert(
+ 0, current_message
+ ) # Insert the message at the beginning of the list
+ parent_id = current_message["parentId"]
+ current_message = messages.get(parent_id) if parent_id else None
+
+ return message_list
+
+
def get_messages_content(messages: list[dict]) -> str:
return "\n".join(
[
diff --git a/src/lib/apis/index.ts b/src/lib/apis/index.ts
index d06fbf3d76..26cfe3bef0 100644
--- a/src/lib/apis/index.ts
+++ b/src/lib/apis/index.ts
@@ -107,6 +107,42 @@ export const chatAction = async (token: string, action_id: string, body: ChatAct
return res;
};
+
+
+export const stopTask = async (token: string, id: string) => {
+ let error = null;
+
+ const res = await fetch(`${WEBUI_BASE_URL}/api/tasks/stop/${id}`, {
+ method: 'POST',
+ headers: {
+ Accept: 'application/json',
+ 'Content-Type': 'application/json',
+ ...(token && { authorization: `Bearer ${token}` })
+ }
+ })
+ .then(async (res) => {
+ if (!res.ok) throw await res.json();
+ return res.json();
+ })
+ .catch((err) => {
+ console.log(err);
+ if ('detail' in err) {
+ error = err.detail;
+ } else {
+ error = err;
+ }
+ return null;
+ });
+
+ if (error) {
+ throw error;
+ }
+
+ return res;
+};
+
+
+
export const getTaskConfig = async (token: string = '') => {
let error = null;
diff --git a/src/lib/apis/openai/index.ts b/src/lib/apis/openai/index.ts
index 1988dc0c36..b9b116d6db 100644
--- a/src/lib/apis/openai/index.ts
+++ b/src/lib/apis/openai/index.ts
@@ -277,29 +277,30 @@ export const generateOpenAIChatCompletion = async (
token: string = '',
body: object,
url: string = OPENAI_API_BASE_URL
-): Promise<[Response | null, AbortController]> => {
- const controller = new AbortController();
+) => {
let error = null;
const res = await fetch(`${url}/chat/completions`, {
- signal: controller.signal,
method: 'POST',
headers: {
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(body)
- }).catch((err) => {
- console.log(err);
- error = err;
- return null;
+ }).then(async (res) => {
+ if (!res.ok) throw await res.json();
+ return res.json();
+ })
+ .catch((err) => {
+ error = `OpenAI: ${err?.detail ?? 'Network Problem'}`;
+ return null;
});
if (error) {
throw error;
}
- return [res, controller];
+ return res;
};
export const synthesizeOpenAISpeech = async (
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index ebe3c6f30e..6cceae496a 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -69,7 +69,8 @@
generateQueries,
chatAction,
generateMoACompletion,
- generateTags
+ generateTags,
+ stopTask
} from '$lib/apis';
import Banner from '../common/Banner.svelte';
@@ -88,7 +89,6 @@
let controlPane;
let controlPaneComponent;
- let stopResponseFlag = false;
let autoScroll = true;
let processing = '';
let messagesContainerElement: HTMLDivElement;
@@ -121,6 +121,8 @@
currentId: null
};
+ let taskId = null;
+
// Chat Input
let prompt = '';
let chatFiles = [];
@@ -202,95 +204,107 @@
};
const chatEventHandler = async (event, cb) => {
+ console.log(event);
+
if (event.chat_id === $chatId) {
await tick();
- console.log(event);
let message = history.messages[event.message_id];
- const type = event?.data?.type ?? null;
- const data = event?.data?.data ?? null;
+ if (message) {
+ const type = event?.data?.type ?? null;
+ const data = event?.data?.data ?? null;
- if (type === 'status') {
- if (message?.statusHistory) {
- message.statusHistory.push(data);
- } else {
- message.statusHistory = [data];
- }
- } else if (type === 'source' || type === 'citation') {
- if (data?.type === 'code_execution') {
- // Code execution; update existing code execution by ID, or add new one.
- if (!message?.code_executions) {
- message.code_executions = [];
- }
-
- const existingCodeExecutionIndex = message.code_executions.findIndex(
- (execution) => execution.id === data.id
- );
-
- if (existingCodeExecutionIndex !== -1) {
- message.code_executions[existingCodeExecutionIndex] = data;
+ if (type === 'status') {
+ if (message?.statusHistory) {
+ message.statusHistory.push(data);
} else {
- message.code_executions.push(data);
+ message.statusHistory = [data];
}
+ } else if (type === 'source' || type === 'citation') {
+ if (data?.type === 'code_execution') {
+ // Code execution; update existing code execution by ID, or add new one.
+ if (!message?.code_executions) {
+ message.code_executions = [];
+ }
- message.code_executions = message.code_executions;
- } else {
- // Regular source.
- if (message?.sources) {
- message.sources.push(data);
+ const existingCodeExecutionIndex = message.code_executions.findIndex(
+ (execution) => execution.id === data.id
+ );
+
+ if (existingCodeExecutionIndex !== -1) {
+ message.code_executions[existingCodeExecutionIndex] = data;
+ } else {
+ message.code_executions.push(data);
+ }
+
+ message.code_executions = message.code_executions;
} else {
- message.sources = [data];
+ // Regular source.
+ if (message?.sources) {
+ message.sources.push(data);
+ } else {
+ message.sources = [data];
+ }
}
- }
- } else if (type === 'message') {
- message.content += data.content;
- } else if (type === 'replace') {
- message.content = data.content;
- } else if (type === 'action') {
- if (data.action === 'continue') {
- const continueButton = document.getElementById('continue-response-button');
+ } else if (type === 'chat-completion') {
+ chatCompletionEventHandler(data, message, event.chat_id);
+ } else if (type === 'chat-title') {
+ chatTitle.set(data);
+ currentChatPage.set(1);
+ await chats.set(await getChatList(localStorage.token, $currentChatPage));
+ } else if (type === 'chat-tags') {
+ chat = await getChatById(localStorage.token, $chatId);
+ allTags.set(await getAllTags(localStorage.token));
+ } else if (type === 'message') {
+ message.content += data.content;
+ } else if (type === 'replace') {
+ message.content = data.content;
+ } else if (type === 'action') {
+ if (data.action === 'continue') {
+ const continueButton = document.getElementById('continue-response-button');
- if (continueButton) {
- continueButton.click();
+ if (continueButton) {
+ continueButton.click();
+ }
}
- }
- } else if (type === 'confirmation') {
- eventCallback = cb;
+ } else if (type === 'confirmation') {
+ eventCallback = cb;
- eventConfirmationInput = false;
- showEventConfirmation = true;
+ eventConfirmationInput = false;
+ showEventConfirmation = true;
- eventConfirmationTitle = data.title;
- eventConfirmationMessage = data.message;
- } else if (type === 'execute') {
- eventCallback = cb;
+ eventConfirmationTitle = data.title;
+ eventConfirmationMessage = data.message;
+ } else if (type === 'execute') {
+ eventCallback = cb;
- try {
- // Use Function constructor to evaluate code in a safer way
- const asyncFunction = new Function(`return (async () => { ${data.code} })()`);
- const result = await asyncFunction(); // Await the result of the async function
+ try {
+ // Use Function constructor to evaluate code in a safer way
+ const asyncFunction = new Function(`return (async () => { ${data.code} })()`);
+ const result = await asyncFunction(); // Await the result of the async function
- if (cb) {
- cb(result);
+ if (cb) {
+ cb(result);
+ }
+ } catch (error) {
+ console.error('Error executing code:', error);
}
- } catch (error) {
- console.error('Error executing code:', error);
+ } else if (type === 'input') {
+ eventCallback = cb;
+
+ eventConfirmationInput = true;
+ showEventConfirmation = true;
+
+ eventConfirmationTitle = data.title;
+ eventConfirmationMessage = data.message;
+ eventConfirmationInputPlaceholder = data.placeholder;
+ eventConfirmationInputValue = data?.value ?? '';
+ } else {
+ console.log('Unknown message type', data);
}
- } else if (type === 'input') {
- eventCallback = cb;
- eventConfirmationInput = true;
- showEventConfirmation = true;
-
- eventConfirmationTitle = data.title;
- eventConfirmationMessage = data.message;
- eventConfirmationInputPlaceholder = data.placeholder;
- eventConfirmationInputValue = data?.value ?? '';
- } else {
- console.log('Unknown message type', data);
+ history.messages[event.message_id] = message;
}
-
- history.messages[event.message_id] = message;
}
};
@@ -956,6 +970,119 @@
}
};
+ const chatCompletionEventHandler = async (data, message, chatId) => {
+ const { id, done, choices, sources, selectedModelId, error, usage } = data;
+
+ if (error) {
+ await handleOpenAIError(error, message);
+ }
+
+ if (sources) {
+ message.sources = sources;
+ // Only remove status if it was initially set
+ if (model?.info?.meta?.knowledge ?? false) {
+ message.statusHistory = message.statusHistory.filter(
+ (status) => status.action !== 'knowledge_search'
+ );
+ }
+ }
+
+ if (choices) {
+ const value = choices[0]?.delta?.content ?? '';
+ if (message.content == '' && value == '\n') {
+ console.log('Empty response');
+ } else {
+ message.content += value;
+
+ if (navigator.vibrate && ($settings?.hapticFeedback ?? false)) {
+ navigator.vibrate(5);
+ }
+
+ // Emit chat event for TTS
+ const messageContentParts = getMessageContentParts(
+ message.content,
+ $config?.audio?.tts?.split_on ?? 'punctuation'
+ );
+ messageContentParts.pop();
+ // dispatch only last sentence and make sure it hasn't been dispatched before
+ if (
+ messageContentParts.length > 0 &&
+ messageContentParts[messageContentParts.length - 1] !== message.lastSentence
+ ) {
+ message.lastSentence = messageContentParts[messageContentParts.length - 1];
+ eventTarget.dispatchEvent(
+ new CustomEvent('chat', {
+ detail: {
+ id: message.id,
+ content: messageContentParts[messageContentParts.length - 1]
+ }
+ })
+ );
+ }
+ }
+ }
+
+ if (selectedModelId) {
+ message.selectedModelId = selectedModelId;
+ message.arena = true;
+ }
+
+ if (usage) {
+ message.usage = usage;
+ }
+
+ if (done) {
+ message.done = true;
+
+ if ($settings.notificationEnabled && !document.hasFocus()) {
+ new Notification(`${message.model}`, {
+ body: message.content,
+ icon: `${WEBUI_BASE_URL}/static/favicon.png`
+ });
+ }
+
+ if ($settings.responseAutoCopy) {
+ copyToClipboard(message.content);
+ }
+
+ if ($settings.responseAutoPlayback && !$showCallOverlay) {
+ await tick();
+ document.getElementById(`speak-button-${message.id}`)?.click();
+ }
+
+ // Emit chat event for TTS
+ let lastMessageContentPart =
+ getMessageContentParts(message.content, $config?.audio?.tts?.split_on ?? 'punctuation')?.at(
+ -1
+ ) ?? '';
+ if (lastMessageContentPart) {
+ eventTarget.dispatchEvent(
+ new CustomEvent('chat', {
+ detail: { id: message.id, content: lastMessageContentPart }
+ })
+ );
+ }
+ eventTarget.dispatchEvent(
+ new CustomEvent('chat:finish', {
+ detail: {
+ id: message.id,
+ content: message.content
+ }
+ })
+ );
+
+ history.messages[message.id] = message;
+ await chatCompletedHandler(chatId, message.model, message.id, createMessagesList(message.id));
+ }
+
+ history.messages[message.id] = message;
+
+ console.log(data);
+ if (autoScroll) {
+ scrollToBottom();
+ }
+ };
+
//////////////////////////
// Chat functions
//////////////////////////
@@ -1061,6 +1188,7 @@
chatInput?.focus();
saveSessionSelectedModels();
+
await sendPrompt(userPrompt, userMessageId, { newChat: true });
};
@@ -1076,6 +1204,8 @@
history.messages[history.currentId].role === 'user'
) {
await initChatHandler();
+ } else {
+ await saveChatHandler($chatId);
}
// If modelId is provided, use it, else use selected model
@@ -1122,6 +1252,9 @@
}
await tick();
+ // Save chat after all messages have been created
+ await saveChatHandler($chatId);
+
const _chatId = JSON.parse(JSON.stringify($chatId));
await Promise.all(
selectedModelIds.map(async (modelId, _modelIdx) => {
@@ -1178,7 +1311,7 @@
await getWebSearchResults(model.id, parentId, responseMessageId);
}
- await sendPromptOpenAI(model, prompt, responseMessageId, _chatId);
+ await sendPromptSocket(model, responseMessageId, _chatId);
if (chatEventEmitter) clearInterval(chatEventEmitter);
} else {
toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
@@ -1190,9 +1323,7 @@
chats.set(await getChatList(localStorage.token, $currentChatPage));
};
- const sendPromptOpenAI = async (model, userPrompt, responseMessageId, _chatId) => {
- let _response = null;
-
+ const sendPromptSocket = async (model, responseMessageId, _chatId) => {
const responseMessage = history.messages[responseMessageId];
const userMessage = history.messages[responseMessage.parentId];
@@ -1243,7 +1374,6 @@
);
scrollToBottom();
-
eventTarget.dispatchEvent(
new CustomEvent('chat:start', {
detail: {
@@ -1253,278 +1383,133 @@
);
await tick();
- try {
- const stream =
- model?.info?.params?.stream_response ??
- $settings?.params?.stream_response ??
- params?.stream_response ??
- true;
+ const stream =
+ model?.info?.params?.stream_response ??
+ $settings?.params?.stream_response ??
+ params?.stream_response ??
+ true;
- const [res, controller] = await generateOpenAIChatCompletion(
- localStorage.token,
- {
- stream: stream,
- model: model.id,
- messages: [
- params?.system || $settings.system || (responseMessage?.userContext ?? null)
- ? {
- role: 'system',
- content: `${promptTemplate(
- params?.system ?? $settings?.system ?? '',
- $user.name,
- $settings?.userLocation
- ? await getAndUpdateUserLocation(localStorage.token)
- : undefined
- )}${
- (responseMessage?.userContext ?? null)
- ? `\n\nUser Context:\n${responseMessage?.userContext ?? ''}`
- : ''
- }`
- }
- : undefined,
- ...createMessagesList(responseMessageId)
- ]
- .filter((message) => message?.content?.trim())
- .map((message, idx, arr) => ({
- role: message.role,
- ...((message.files?.filter((file) => file.type === 'image').length > 0 ?? false) &&
- message.role === 'user'
- ? {
- content: [
- {
- type: 'text',
- text: message?.merged?.content ?? message.content
- },
- ...message.files
- .filter((file) => file.type === 'image')
- .map((file) => ({
- type: 'image_url',
- image_url: {
- url: file.url
- }
- }))
- ]
- }
- : {
- content: message?.merged?.content ?? message.content
- })
- })),
-
- params: {
- ...$settings?.params,
- ...params,
-
- format: $settings.requestFormat ?? undefined,
- keep_alive: $settings.keepAlive ?? undefined,
- stop:
- (params?.stop ?? $settings?.params?.stop ?? undefined)
- ? (
- params?.stop.split(',').map((token) => token.trim()) ?? $settings.params.stop
- ).map((str) =>
- decodeURIComponent(JSON.parse('"' + str.replace(/\"/g, '\\"') + '"'))
- )
+ const messages = [
+ params?.system || $settings.system || (responseMessage?.userContext ?? null)
+ ? {
+ role: 'system',
+ content: `${promptTemplate(
+ params?.system ?? $settings?.system ?? '',
+ $user.name,
+ $settings?.userLocation
+ ? await getAndUpdateUserLocation(localStorage.token)
: undefined
- },
-
- tool_ids: selectedToolIds.length > 0 ? selectedToolIds : undefined,
- files: files.length > 0 ? files : undefined,
- session_id: $socket?.id,
- chat_id: $chatId,
- id: responseMessageId,
-
- ...(stream && (model.info?.meta?.capabilities?.usage ?? false)
- ? {
- stream_options: {
- include_usage: true
- }
- }
- : {})
- },
- `${WEBUI_BASE_URL}/api`
- );
-
- // Wait until history/message have been updated
- await tick();
-
- scrollToBottom();
-
- if (res && res.ok && res.body) {
- if (!stream) {
- const response = await res.json();
- console.log(response);
-
- responseMessage.content = response.choices[0].message.content;
- responseMessage.info = { ...response.usage, openai: true };
- responseMessage.done = true;
- } else {
- const textStream = await createOpenAITextStream(res.body, $settings.splitLargeChunks);
-
- for await (const update of textStream) {
- const { value, done, sources, selectedModelId, error, usage } = update;
- if (error) {
- await handleOpenAIError(error, null, model, responseMessage);
- break;
- }
-
- if (done || stopResponseFlag || _chatId !== $chatId) {
- responseMessage.done = true;
- history.messages[responseMessageId] = responseMessage;
-
- if (stopResponseFlag) {
- controller.abort('User: Stop Response');
- }
- _response = responseMessage.content;
- break;
- }
-
- if (usage) {
- responseMessage.usage = usage;
- }
-
- if (selectedModelId) {
- responseMessage.selectedModelId = selectedModelId;
- responseMessage.arena = true;
- continue;
- }
-
- if (sources) {
- responseMessage.sources = sources;
- // Only remove status if it was initially set
- if (model?.info?.meta?.knowledge ?? false) {
- responseMessage.statusHistory = responseMessage.statusHistory.filter(
- (status) => status.action !== 'knowledge_search'
- );
- }
- continue;
- }
-
- if (responseMessage.content == '' && value == '\n') {
- continue;
- } else {
- responseMessage.content += value;
-
- if (navigator.vibrate && ($settings?.hapticFeedback ?? false)) {
- navigator.vibrate(5);
- }
-
- const messageContentParts = getMessageContentParts(
- responseMessage.content,
- $config?.audio?.tts?.split_on ?? 'punctuation'
- );
- messageContentParts.pop();
-
- // dispatch only last sentence and make sure it hasn't been dispatched before
- if (
- messageContentParts.length > 0 &&
- messageContentParts[messageContentParts.length - 1] !== responseMessage.lastSentence
- ) {
- responseMessage.lastSentence = messageContentParts[messageContentParts.length - 1];
- eventTarget.dispatchEvent(
- new CustomEvent('chat', {
- detail: {
- id: responseMessageId,
- content: messageContentParts[messageContentParts.length - 1]
- }
- })
- );
- }
-
- history.messages[responseMessageId] = responseMessage;
- }
-
- if (autoScroll) {
- scrollToBottom();
- }
+ )}${
+ (responseMessage?.userContext ?? null)
+ ? `\n\nUser Context:\n${responseMessage?.userContext ?? ''}`
+ : ''
+ }`
}
- }
+ : undefined,
+ ...createMessagesList(responseMessageId)
+ ]
+ .filter((message) => message?.content?.trim())
+ .map((message, idx, arr) => ({
+ role: message.role,
+ ...((message.files?.filter((file) => file.type === 'image').length > 0 ?? false) &&
+ message.role === 'user'
+ ? {
+ content: [
+ {
+ type: 'text',
+ text: message?.merged?.content ?? message.content
+ },
+ ...message.files
+ .filter((file) => file.type === 'image')
+ .map((file) => ({
+ type: 'image_url',
+ image_url: {
+ url: file.url
+ }
+ }))
+ ]
+ }
+ : {
+ content: message?.merged?.content ?? message.content
+ })
+ }));
- if ($settings.notificationEnabled && !document.hasFocus()) {
- const notification = new Notification(`${model.id}`, {
- body: responseMessage.content,
- icon: `${WEBUI_BASE_URL}/static/favicon.png`
- });
- }
+ const res = await generateOpenAIChatCompletion(
+ localStorage.token,
+ {
+ stream: stream,
+ model: model.id,
+ messages: messages,
+ params: {
+ ...$settings?.params,
+ ...params,
- if ($settings.responseAutoCopy) {
- copyToClipboard(responseMessage.content);
- }
+ format: $settings.requestFormat ?? undefined,
+ keep_alive: $settings.keepAlive ?? undefined,
+ stop:
+ (params?.stop ?? $settings?.params?.stop ?? undefined)
+ ? (params?.stop.split(',').map((token) => token.trim()) ?? $settings.params.stop).map(
+ (str) => decodeURIComponent(JSON.parse('"' + str.replace(/\"/g, '\\"') + '"'))
+ )
+ : undefined
+ },
- if ($settings.responseAutoPlayback && !$showCallOverlay) {
- await tick();
+ tool_ids: selectedToolIds.length > 0 ? selectedToolIds : undefined,
+ files: files.length > 0 ? files : undefined,
+ session_id: $socket?.id,
+ chat_id: $chatId,
+ id: responseMessageId,
- document.getElementById(`speak-button-${responseMessage.id}`)?.click();
- }
- } else {
- await handleOpenAIError(null, res, model, responseMessage);
- }
- } catch (error) {
- await handleOpenAIError(error, null, model, responseMessage);
+ ...(!$temporaryChatEnabled && messages.length == 1 && selectedModels[0] === model.id
+ ? {
+ background_tasks: {
+ title_generation: $settings?.title?.auto ?? true,
+ tags_generation: $settings?.autoTags ?? true
+ }
+ }
+ : {}),
+
+ ...(stream && (model.info?.meta?.capabilities?.usage ?? false)
+ ? {
+ stream_options: {
+ include_usage: true
+ }
+ }
+ : {})
+ },
+ `${WEBUI_BASE_URL}/api`
+ ).catch((error) => {
+ responseMessage.error = {
+ content: error
+ };
+ responseMessage.done = true;
+ return null;
+ });
+
+ console.log(res);
+
+ if (res) {
+ taskId = res.task_id;
}
- await saveChatHandler(_chatId);
-
- history.messages[responseMessageId] = responseMessage;
-
- await chatCompletedHandler(
- _chatId,
- model.id,
- responseMessageId,
- createMessagesList(responseMessageId)
- );
-
- stopResponseFlag = false;
+ // Wait until history/message have been updated
await tick();
+ scrollToBottom();
- let lastMessageContentPart =
- getMessageContentParts(
- responseMessage.content,
- $config?.audio?.tts?.split_on ?? 'punctuation'
- )?.at(-1) ?? '';
- if (lastMessageContentPart) {
- eventTarget.dispatchEvent(
- new CustomEvent('chat', {
- detail: { id: responseMessageId, content: lastMessageContentPart }
- })
- );
- }
-
- eventTarget.dispatchEvent(
- new CustomEvent('chat:finish', {
- detail: {
- id: responseMessageId,
- content: responseMessage.content
- }
- })
- );
-
- if (autoScroll) {
- scrollToBottom();
- }
-
- const messages = createMessagesList(responseMessageId);
- if (messages.length == 2 && selectedModels[0] === model.id) {
- window.history.replaceState(history.state, '', `/c/${_chatId}`);
-
- const title = await generateChatTitle(messages);
- await setChatTitle(_chatId, title);
-
- if ($settings?.autoTags ?? true) {
- await setChatTags(messages);
- }
- }
-
- return _response;
+ // if ($settings?.autoTags ?? true) {
+ // await setChatTags(messages);
+ // }
+ // }
};
- const handleOpenAIError = async (error, res: Response | null, model, responseMessage) => {
+ const handleOpenAIError = async (error, responseMessage) => {
let errorMessage = '';
let innerError;
if (error) {
innerError = error;
- } else if (res !== null) {
- innerError = await res.json();
}
+
console.error(innerError);
if ('detail' in innerError) {
toast.error(innerError.detail);
@@ -1543,12 +1528,7 @@
}
responseMessage.error = {
- content:
- $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
- provider: model.name ?? model.id
- }) +
- '\n' +
- errorMessage
+ content: $i18n.t(`Uh-oh! There was an issue with the response.`) + '\n' + errorMessage
};
responseMessage.done = true;
@@ -1562,8 +1542,15 @@
};
const stopResponse = () => {
- stopResponseFlag = true;
- console.log('stopResponse');
+ if (taskId) {
+ const res = stopTask(localStorage.token, taskId).catch((error) => {
+ return null;
+ });
+
+ if (res) {
+ taskId = null;
+ }
+ }
};
const submitMessage = async (parentId, prompt) => {
@@ -1628,12 +1615,7 @@
.at(0);
if (model) {
- await sendPromptOpenAI(
- model,
- history.messages[responseMessage.parentId].content,
- responseMessage.id,
- _chatId
- );
+ await sendPromptSocket(model, responseMessage.id, _chatId);
}
}
};
@@ -1685,38 +1667,6 @@
}
};
- const generateChatTitle = async (messages) => {
- const lastUserMessage = messages.filter((message) => message.role === 'user').at(-1);
-
- if ($settings?.title?.auto ?? true) {
- const modelId = selectedModels[0];
-
- const title = await generateTitle(localStorage.token, modelId, messages, $chatId).catch(
- (error) => {
- console.error(error);
- return lastUserMessage?.content ?? 'New Chat';
- }
- );
-
- return title ? title : (lastUserMessage?.content ?? 'New Chat');
- } else {
- return lastUserMessage?.content ?? 'New Chat';
- }
- };
-
- const setChatTitle = async (_chatId, title) => {
- if (_chatId === $chatId) {
- chatTitle.set(title);
- }
-
- if (!$temporaryChatEnabled) {
- chat = await updateChatById(localStorage.token, _chatId, { title: title });
-
- currentChatPage.set(1);
- await chats.set(await getChatList(localStorage.token, $currentChatPage));
- }
- };
-
const setChatTags = async (messages) => {
if (!$temporaryChatEnabled) {
const currentTags = await getTagsById(localStorage.token, $chatId);
@@ -1856,6 +1806,8 @@
currentChatPage.set(1);
await chats.set(await getChatList(localStorage.token, $currentChatPage));
await chatId.set(chat.id);
+
+ window.history.replaceState(history.state, '', `/c/${chat.id}`);
} else {
await chatId.set('local');
}
From 64fe2de96282ee7b78083e03947d2a3c7e6ac71e Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 01:02:05 -0800
Subject: [PATCH 101/385] refac
---
src/lib/components/chat/Chat.svelte | 42 -----------------------------
1 file changed, 42 deletions(-)
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index 6cceae496a..d5cf55fc2d 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -65,11 +65,9 @@
import { getAndUpdateUserLocation, getUserSettings } from '$lib/apis/users';
import {
chatCompleted,
- generateTitle,
generateQueries,
chatAction,
generateMoACompletion,
- generateTags,
stopTask
} from '$lib/apis';
@@ -1492,14 +1490,8 @@
taskId = res.task_id;
}
- // Wait until history/message have been updated
await tick();
scrollToBottom();
-
- // if ($settings?.autoTags ?? true) {
- // await setChatTags(messages);
- // }
- // }
};
const handleOpenAIError = async (error, responseMessage) => {
@@ -1667,40 +1659,6 @@
}
};
- const setChatTags = async (messages) => {
- if (!$temporaryChatEnabled) {
- const currentTags = await getTagsById(localStorage.token, $chatId);
- if (currentTags.length > 0) {
- const res = await deleteTagsById(localStorage.token, $chatId);
- if (res) {
- allTags.set(await getAllTags(localStorage.token));
- }
- }
-
- const lastMessage = messages.at(-1);
- const modelId = selectedModels[0];
-
- let generatedTags = await generateTags(localStorage.token, modelId, messages, $chatId).catch(
- (error) => {
- console.error(error);
- return [];
- }
- );
-
- generatedTags = generatedTags.filter(
- (tag) => !currentTags.find((t) => t.id === tag.replaceAll(' ', '_').toLowerCase())
- );
- console.log(generatedTags);
-
- for (const tag of generatedTags) {
- await addTagById(localStorage.token, $chatId, tag);
- }
-
- chat = await getChatById(localStorage.token, $chatId);
- allTags.set(await getAllTags(localStorage.token));
- }
- };
-
const getWebSearchResults = async (
model: string,
parentId: string,
From 0d5ce2388505b84e2b76e04927fa5f4a7bc5a9e6 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 01:05:47 -0800
Subject: [PATCH 102/385] refac
---
backend/open_webui/utils/middleware.py | 8 ++++----
src/lib/components/chat/Chat.svelte | 17 ++++++++++++++---
2 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 9ed493401a..a35432566b 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -541,7 +541,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
for event in events:
await event_emitter(
{
- "type": "chat-completion",
+ "type": "chat:completion",
"data": event,
}
)
@@ -590,7 +590,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
await event_emitter(
{
- "type": "chat-completion",
+ "type": "chat:completion",
"data": data,
}
)
@@ -623,7 +623,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
await event_emitter(
{
- "type": "chat-title",
+ "type": "chat:title",
"data": title,
}
)
@@ -658,7 +658,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
await event_emitter(
{
- "type": "chat-tags",
+ "type": "chat:tags",
"data": tags,
}
)
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index d5cf55fc2d..be2bd3566c 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -244,13 +244,13 @@
message.sources = [data];
}
}
- } else if (type === 'chat-completion') {
+ } else if (type === 'chat:completion') {
chatCompletionEventHandler(data, message, event.chat_id);
- } else if (type === 'chat-title') {
+ } else if (type === 'chat:title') {
chatTitle.set(data);
currentChatPage.set(1);
await chats.set(await getChatList(localStorage.token, $currentChatPage));
- } else if (type === 'chat-tags') {
+ } else if (type === 'chat:tags') {
chat = await getChatById(localStorage.token, $chatId);
allTags.set(await getAllTags(localStorage.token));
} else if (type === 'message') {
@@ -303,6 +303,17 @@
history.messages[event.message_id] = message;
}
+ } else {
+ await tick();
+ const type = event?.data?.type ?? null;
+ const data = event?.data?.data ?? null;
+
+ if (type === 'chat:title') {
+ currentChatPage.set(1);
+ await chats.set(await getChatList(localStorage.token, $currentChatPage));
+ } else if (type === 'chat:tags') {
+ allTags.set(await getAllTags(localStorage.token));
+ }
}
};
From c3e8cd03b28fdf03c56ea4b55ae04f69c812de25 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 01:07:50 -0800
Subject: [PATCH 103/385] chore: format
---
src/lib/apis/index.ts | 4 ----
src/lib/apis/openai/index.ts | 15 ++++++++-------
src/lib/i18n/locales/ar-BH/translation.json | 2 +-
src/lib/i18n/locales/bg-BG/translation.json | 2 +-
src/lib/i18n/locales/bn-BD/translation.json | 2 +-
src/lib/i18n/locales/ca-ES/translation.json | 2 +-
src/lib/i18n/locales/ceb-PH/translation.json | 2 +-
src/lib/i18n/locales/cs-CZ/translation.json | 2 +-
src/lib/i18n/locales/da-DK/translation.json | 2 +-
src/lib/i18n/locales/de-DE/translation.json | 2 +-
src/lib/i18n/locales/dg-DG/translation.json | 2 +-
src/lib/i18n/locales/el-GR/translation.json | 2 +-
src/lib/i18n/locales/en-GB/translation.json | 2 +-
src/lib/i18n/locales/en-US/translation.json | 2 +-
src/lib/i18n/locales/es-ES/translation.json | 2 +-
src/lib/i18n/locales/eu-ES/translation.json | 2 +-
src/lib/i18n/locales/fa-IR/translation.json | 2 +-
src/lib/i18n/locales/fi-FI/translation.json | 2 +-
src/lib/i18n/locales/fr-CA/translation.json | 2 +-
src/lib/i18n/locales/fr-FR/translation.json | 2 +-
src/lib/i18n/locales/he-IL/translation.json | 2 +-
src/lib/i18n/locales/hi-IN/translation.json | 2 +-
src/lib/i18n/locales/hr-HR/translation.json | 2 +-
src/lib/i18n/locales/hu-HU/translation.json | 2 +-
src/lib/i18n/locales/id-ID/translation.json | 2 +-
src/lib/i18n/locales/ie-GA/translation.json | 2 +-
src/lib/i18n/locales/it-IT/translation.json | 2 +-
src/lib/i18n/locales/ja-JP/translation.json | 2 +-
src/lib/i18n/locales/ka-GE/translation.json | 2 +-
src/lib/i18n/locales/ko-KR/translation.json | 2 +-
src/lib/i18n/locales/lt-LT/translation.json | 2 +-
src/lib/i18n/locales/ms-MY/translation.json | 2 +-
src/lib/i18n/locales/nb-NO/translation.json | 2 +-
src/lib/i18n/locales/nl-NL/translation.json | 2 +-
src/lib/i18n/locales/pa-IN/translation.json | 2 +-
src/lib/i18n/locales/pl-PL/translation.json | 2 +-
src/lib/i18n/locales/pt-BR/translation.json | 2 +-
src/lib/i18n/locales/pt-PT/translation.json | 2 +-
src/lib/i18n/locales/ro-RO/translation.json | 2 +-
src/lib/i18n/locales/ru-RU/translation.json | 2 +-
src/lib/i18n/locales/sk-SK/translation.json | 2 +-
src/lib/i18n/locales/sr-RS/translation.json | 2 +-
src/lib/i18n/locales/sv-SE/translation.json | 2 +-
src/lib/i18n/locales/th-TH/translation.json | 2 +-
src/lib/i18n/locales/tk-TW/translation.json | 2 +-
src/lib/i18n/locales/tr-TR/translation.json | 2 +-
src/lib/i18n/locales/uk-UA/translation.json | 2 +-
src/lib/i18n/locales/ur-PK/translation.json | 2 +-
src/lib/i18n/locales/vi-VN/translation.json | 2 +-
src/lib/i18n/locales/zh-CN/translation.json | 2 +-
src/lib/i18n/locales/zh-TW/translation.json | 2 +-
51 files changed, 57 insertions(+), 60 deletions(-)
diff --git a/src/lib/apis/index.ts b/src/lib/apis/index.ts
index 26cfe3bef0..30604eb22f 100644
--- a/src/lib/apis/index.ts
+++ b/src/lib/apis/index.ts
@@ -107,8 +107,6 @@ export const chatAction = async (token: string, action_id: string, body: ChatAct
return res;
};
-
-
export const stopTask = async (token: string, id: string) => {
let error = null;
@@ -141,8 +139,6 @@ export const stopTask = async (token: string, id: string) => {
return res;
};
-
-
export const getTaskConfig = async (token: string = '') => {
let error = null;
diff --git a/src/lib/apis/openai/index.ts b/src/lib/apis/openai/index.ts
index b9b116d6db..f6d05babf7 100644
--- a/src/lib/apis/openai/index.ts
+++ b/src/lib/apis/openai/index.ts
@@ -287,14 +287,15 @@ export const generateOpenAIChatCompletion = async (
'Content-Type': 'application/json'
},
body: JSON.stringify(body)
- }).then(async (res) => {
- if (!res.ok) throw await res.json();
- return res.json();
})
- .catch((err) => {
- error = `OpenAI: ${err?.detail ?? 'Network Problem'}`;
- return null;
- });
+ .then(async (res) => {
+ if (!res.ok) throw await res.json();
+ return res.json();
+ })
+ .catch((err) => {
+ error = `OpenAI: ${err?.detail ?? 'Network Problem'}`;
+ return null;
+ });
if (error) {
throw error;
diff --git a/src/lib/i18n/locales/ar-BH/translation.json b/src/lib/i18n/locales/ar-BH/translation.json
index c94067aa30..c64ea7fa8c 100644
--- a/src/lib/i18n/locales/ar-BH/translation.json
+++ b/src/lib/i18n/locales/ar-BH/translation.json
@@ -942,7 +942,7 @@
"TTS Voice": "",
"Type": "نوع",
"Type Hugging Face Resolve (Download) URL": "اكتب عنوان URL لحل مشكلة الوجه (تنزيل).",
- "Uh-oh! There was an issue connecting to {{provider}}.": "{{provider}}خطاء أوه! حدثت مشكلة في الاتصال بـ ",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json
index 04f92ec465..5bdf8c5f12 100644
--- a/src/lib/i18n/locales/bg-BG/translation.json
+++ b/src/lib/i18n/locales/bg-BG/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "Вид",
"Type Hugging Face Resolve (Download) URL": "Въведете Hugging Face Resolve (Download) URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "О, не! Възникна проблем при свързването с {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json
index 3e1c497b61..1aa749d37d 100644
--- a/src/lib/i18n/locales/bn-BD/translation.json
+++ b/src/lib/i18n/locales/bn-BD/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "টাইপ",
"Type Hugging Face Resolve (Download) URL": "Hugging Face থেকে ডাউনলোড করার ইউআরএল টাইপ করুন",
- "Uh-oh! There was an issue connecting to {{provider}}.": "ওহ-হো! {{provider}} এর সাথে কানেকশনে সমস্যা হয়েছে।",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json
index dbb5070aac..e9bc63f6a8 100644
--- a/src/lib/i18n/locales/ca-ES/translation.json
+++ b/src/lib/i18n/locales/ca-ES/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "Veu TTS",
"Type": "Tipus",
"Type Hugging Face Resolve (Download) URL": "Escriu l'URL de Resolució (Descàrrega) de Hugging Face",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Oh! Hi ha hagut un problema connectant a {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "Desarxivar tot",
"Unarchive All Archived Chats": "Desarxivar tots els xats arxivats",
diff --git a/src/lib/i18n/locales/ceb-PH/translation.json b/src/lib/i18n/locales/ceb-PH/translation.json
index e5d0610df5..79b1dfa027 100644
--- a/src/lib/i18n/locales/ceb-PH/translation.json
+++ b/src/lib/i18n/locales/ceb-PH/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "",
"Type Hugging Face Resolve (Download) URL": "Pagsulod sa resolusyon (pag-download) URL Hugging Face",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/cs-CZ/translation.json b/src/lib/i18n/locales/cs-CZ/translation.json
index a8505dc779..6975e78ce6 100644
--- a/src/lib/i18n/locales/cs-CZ/translation.json
+++ b/src/lib/i18n/locales/cs-CZ/translation.json
@@ -940,7 +940,7 @@
"TTS Voice": "TTS hlas",
"Type": "Napište",
"Type Hugging Face Resolve (Download) URL": "Zadejte URL pro úspěšné stažení z Hugging Face.",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Jejda! Došlo k problému s připojením k poskytovateli {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "Odarchivovat všechny",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/da-DK/translation.json b/src/lib/i18n/locales/da-DK/translation.json
index bec781dac5..bb11f3a0f4 100644
--- a/src/lib/i18n/locales/da-DK/translation.json
+++ b/src/lib/i18n/locales/da-DK/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "TTS-stemme",
"Type": "Type",
"Type Hugging Face Resolve (Download) URL": "Indtast Hugging Face Resolve (Download) URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Ups! Der opstod et problem med at oprette forbindelse til {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json
index 54ce1ec374..a2112b04bc 100644
--- a/src/lib/i18n/locales/de-DE/translation.json
+++ b/src/lib/i18n/locales/de-DE/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "TTS-Stimme",
"Type": "Art",
"Type Hugging Face Resolve (Download) URL": "Geben Sie die Hugging Face Resolve-URL ein",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Ups! Es gab ein Problem bei der Verbindung mit {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Oberfläche",
"Unarchive All": "Alle wiederherstellen",
"Unarchive All Archived Chats": "Alle archivierten Unterhaltungen wiederherstellen",
diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json
index d929230e91..74c8c62fc9 100644
--- a/src/lib/i18n/locales/dg-DG/translation.json
+++ b/src/lib/i18n/locales/dg-DG/translation.json
@@ -940,7 +940,7 @@
"TTS Voice": "",
"Type": "",
"Type Hugging Face Resolve (Download) URL": "Type Hugging Face Resolve (Download) URL much download",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! There was an issue connecting to {{provider}}. Much uh-oh!",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/el-GR/translation.json b/src/lib/i18n/locales/el-GR/translation.json
index b9aebd0cd3..290373bef0 100644
--- a/src/lib/i18n/locales/el-GR/translation.json
+++ b/src/lib/i18n/locales/el-GR/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "Φωνή TTS",
"Type": "Τύπος",
"Type Hugging Face Resolve (Download) URL": "Τύπος URL Ανάλυσης Hugging Face Resolve (Λήψη)",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Ωχ! Υπήρξε πρόβλημα στη σύνδεση με το {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Διεπαφή Χρήστη (UI)",
"Unarchive All": "Απο-αρχειοθέτηση Όλων",
"Unarchive All Archived Chats": "Απο-αρχειοθέτηση Όλων των Αρχειοθετημένων Συνομιλιών",
diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json
index 78a0608381..bf5cbf41e0 100644
--- a/src/lib/i18n/locales/en-GB/translation.json
+++ b/src/lib/i18n/locales/en-GB/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "",
"Type Hugging Face Resolve (Download) URL": "",
- "Uh-oh! There was an issue connecting to {{provider}}.": "",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json
index 78a0608381..bf5cbf41e0 100644
--- a/src/lib/i18n/locales/en-US/translation.json
+++ b/src/lib/i18n/locales/en-US/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "",
"Type Hugging Face Resolve (Download) URL": "",
- "Uh-oh! There was an issue connecting to {{provider}}.": "",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json
index aa077343f6..9341ecb1ff 100644
--- a/src/lib/i18n/locales/es-ES/translation.json
+++ b/src/lib/i18n/locales/es-ES/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "Voz del TTS",
"Type": "Tipo",
"Type Hugging Face Resolve (Download) URL": "Escriba la URL (Descarga) de Hugging Face Resolve",
- "Uh-oh! There was an issue connecting to {{provider}}.": "¡Uh oh! Hubo un problema al conectarse a {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/eu-ES/translation.json b/src/lib/i18n/locales/eu-ES/translation.json
index b16719c72c..00cb2fe878 100644
--- a/src/lib/i18n/locales/eu-ES/translation.json
+++ b/src/lib/i18n/locales/eu-ES/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "TTS ahotsa",
"Type": "Mota",
"Type Hugging Face Resolve (Download) URL": "Idatzi Hugging Face Resolve (Deskarga) URLa",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Ui! Arazoa egon da {{provider}}-era konektatzean.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Erabiltzaile interfazea",
"Unarchive All": "Desartxibatu guztiak",
"Unarchive All Archived Chats": "Desartxibatu artxibatutako txat guztiak",
diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json
index a73a7eeeed..a7b3bb2648 100644
--- a/src/lib/i18n/locales/fa-IR/translation.json
+++ b/src/lib/i18n/locales/fa-IR/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "نوع",
"Type Hugging Face Resolve (Download) URL": "مقدار URL دانلود (Resolve) Hugging Face را وارد کنید",
- "Uh-oh! There was an issue connecting to {{provider}}.": "اوه اوه! مشکلی در اتصال به {{provider}} وجود داشت.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/fi-FI/translation.json b/src/lib/i18n/locales/fi-FI/translation.json
index 3d8a6be81f..c33e82a076 100644
--- a/src/lib/i18n/locales/fi-FI/translation.json
+++ b/src/lib/i18n/locales/fi-FI/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "Puhesynteesiääni",
"Type": "Tyyppi",
"Type Hugging Face Resolve (Download) URL": "Kirjoita Hugging Face -resolve-latausosoite",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Voi ei! Yhteysongelma {{provider}}:n kanssa.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Käyttöliittymä",
"Unarchive All": "Pura kaikkien arkistointi",
"Unarchive All Archived Chats": "Pura kaikkien arkistoitujen keskustelujen arkistointi",
diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json
index 992fdb5b57..919fe21000 100644
--- a/src/lib/i18n/locales/fr-CA/translation.json
+++ b/src/lib/i18n/locales/fr-CA/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "Voix TTS",
"Type": "Type",
"Type Hugging Face Resolve (Download) URL": "Entrez l'URL de Téléchargement Hugging Face Resolve",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Oh non ! Un problème est survenu lors de la connexion à {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Interface utilisateur",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json
index a46ab08f78..1178959435 100644
--- a/src/lib/i18n/locales/fr-FR/translation.json
+++ b/src/lib/i18n/locales/fr-FR/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "Voix de Text-to-Speech",
"Type": "Type",
"Type Hugging Face Resolve (Download) URL": "Entrez l'URL de Téléchargement Hugging Face Resolve",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Oh non ! Un problème est survenu lors de la connexion à {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "Désarchiver tout",
"Unarchive All Archived Chats": "Désarchiver toutes les conversations archivées",
diff --git a/src/lib/i18n/locales/he-IL/translation.json b/src/lib/i18n/locales/he-IL/translation.json
index 9441a85fc7..15c4c69eca 100644
--- a/src/lib/i18n/locales/he-IL/translation.json
+++ b/src/lib/i18n/locales/he-IL/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "",
"Type": "סוג",
"Type Hugging Face Resolve (Download) URL": "הקלד כתובת URL של פתרון פנים מחבק (הורד)",
- "Uh-oh! There was an issue connecting to {{provider}}.": "או-הו! אירעה בעיה בהתחברות ל- {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/hi-IN/translation.json b/src/lib/i18n/locales/hi-IN/translation.json
index de156fe16e..ec9f322c92 100644
--- a/src/lib/i18n/locales/hi-IN/translation.json
+++ b/src/lib/i18n/locales/hi-IN/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "प्रकार",
"Type Hugging Face Resolve (Download) URL": "हगिंग फेस रिज़ॉल्व (डाउनलोड) यूआरएल टाइप करें",
- "Uh-oh! There was an issue connecting to {{provider}}.": "उह ओह! {{provider}} से कनेक्ट करने में एक समस्या थी।",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/hr-HR/translation.json b/src/lib/i18n/locales/hr-HR/translation.json
index 286807d0dc..fc90e8696f 100644
--- a/src/lib/i18n/locales/hr-HR/translation.json
+++ b/src/lib/i18n/locales/hr-HR/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "TTS glas",
"Type": "Tip",
"Type Hugging Face Resolve (Download) URL": "Upišite Hugging Face Resolve (Download) URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Pojavio se problem s povezivanjem na {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/hu-HU/translation.json b/src/lib/i18n/locales/hu-HU/translation.json
index daa2fecfba..4fd627ebb5 100644
--- a/src/lib/i18n/locales/hu-HU/translation.json
+++ b/src/lib/i18n/locales/hu-HU/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "TTS hang",
"Type": "Típus",
"Type Hugging Face Resolve (Download) URL": "Adja meg a Hugging Face Resolve (Letöltési) URL-t",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Hoppá! Probléma merült fel a {{provider}} kapcsolódás során.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Felhasználói felület",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/id-ID/translation.json b/src/lib/i18n/locales/id-ID/translation.json
index 3f97a9e333..986fc68bf3 100644
--- a/src/lib/i18n/locales/id-ID/translation.json
+++ b/src/lib/i18n/locales/id-ID/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "Suara TTS",
"Type": "Ketik",
"Type Hugging Face Resolve (Download) URL": "Ketik Hugging Face Resolve (Unduh) URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Ada masalah saat menyambung ke {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/ie-GA/translation.json b/src/lib/i18n/locales/ie-GA/translation.json
index b574c99dc1..e51e71add1 100644
--- a/src/lib/i18n/locales/ie-GA/translation.json
+++ b/src/lib/i18n/locales/ie-GA/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "Guth TTS",
"Type": "Cineál",
"Type Hugging Face Resolve (Download) URL": "Cineál Hugging Face Resolve (Íoslódáil) URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Bhí ceist ann ag nascadh le {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "Díchartlannaigh Uile",
"Unarchive All Archived Chats": "Díchartlannaigh Gach Comhrá Cartlainne",
diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json
index b8314bfcfa..21374def4b 100644
--- a/src/lib/i18n/locales/it-IT/translation.json
+++ b/src/lib/i18n/locales/it-IT/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "",
"Type": "Digitare",
"Type Hugging Face Resolve (Download) URL": "Digita l'URL di Hugging Face Resolve (Download)",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Si è verificato un problema durante la connessione a {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json
index 020cdfe005..1698b9e58c 100644
--- a/src/lib/i18n/locales/ja-JP/translation.json
+++ b/src/lib/i18n/locales/ja-JP/translation.json
@@ -937,7 +937,7 @@
"TTS Voice": "TTSボイス",
"Type": "種類",
"Type Hugging Face Resolve (Download) URL": "Hugging Face Resolve (ダウンロード) URL を入力してください",
- "Uh-oh! There was an issue connecting to {{provider}}.": "おっと! {{provider}} への接続に問題が発生しました。",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json
index 897f7a15a1..36226a39a1 100644
--- a/src/lib/i18n/locales/ka-GE/translation.json
+++ b/src/lib/i18n/locales/ka-GE/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "ტიპი",
"Type Hugging Face Resolve (Download) URL": "სცადე გადმოწერო Hugging Face Resolve URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "{{provider}}-თან დაკავშირების პრობლემა წარმოიშვა.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json
index e9ac699dfe..bee767235f 100644
--- a/src/lib/i18n/locales/ko-KR/translation.json
+++ b/src/lib/i18n/locales/ko-KR/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "TTS 음성",
"Type": "입력",
"Type Hugging Face Resolve (Download) URL": "Hugging Face Resolve (다운로드) URL 입력",
- "Uh-oh! There was an issue connecting to {{provider}}.": "앗! {{provider}}에 연결하는 데 문제가 있었습니다.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/lt-LT/translation.json b/src/lib/i18n/locales/lt-LT/translation.json
index bd709047a7..42d30d720c 100644
--- a/src/lib/i18n/locales/lt-LT/translation.json
+++ b/src/lib/i18n/locales/lt-LT/translation.json
@@ -940,7 +940,7 @@
"TTS Voice": "TTS balsas",
"Type": "Tipas",
"Type Hugging Face Resolve (Download) URL": "Įveskite Hugging Face Resolve nuorodą",
- "Uh-oh! There was an issue connecting to {{provider}}.": "O ne! Prisijungiant prie {{provider}} kilo problema.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "sąsaja",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/ms-MY/translation.json b/src/lib/i18n/locales/ms-MY/translation.json
index c2463b5000..3d2a28f116 100644
--- a/src/lib/i18n/locales/ms-MY/translation.json
+++ b/src/lib/i18n/locales/ms-MY/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "Suara TTS",
"Type": "jenis",
"Type Hugging Face Resolve (Download) URL": "Taip URL 'Hugging Face Resolve (Download)'",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Maaf! Terdapat masalah menyambung ke {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/nb-NO/translation.json b/src/lib/i18n/locales/nb-NO/translation.json
index 9f8e0c650b..309658ce2d 100644
--- a/src/lib/i18n/locales/nb-NO/translation.json
+++ b/src/lib/i18n/locales/nb-NO/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "TTS-stemme",
"Type": "Type",
"Type Hugging Face Resolve (Download) URL": "Angi nedlastings-Resolve-URL for Hugging Face",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Oi! Det oppsto et problem med tilkobling til {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "Opphev arkiveringen av alle",
"Unarchive All Archived Chats": "Opphev arkiveringen av alle arkiverte chatter",
diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json
index b2316b6a0f..152d6c8620 100644
--- a/src/lib/i18n/locales/nl-NL/translation.json
+++ b/src/lib/i18n/locales/nl-NL/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "TTS Stem",
"Type": "Type",
"Type Hugging Face Resolve (Download) URL": "Type Hugging Face Resolve (Download) URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Er was een probleem met verbinden met {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "Onarchiveer alles",
"Unarchive All Archived Chats": "Onarchiveer alle gearchiveerde chats",
diff --git a/src/lib/i18n/locales/pa-IN/translation.json b/src/lib/i18n/locales/pa-IN/translation.json
index 4244d96c49..0e464b440f 100644
--- a/src/lib/i18n/locales/pa-IN/translation.json
+++ b/src/lib/i18n/locales/pa-IN/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "ਕਿਸਮ",
"Type Hugging Face Resolve (Download) URL": "Hugging Face Resolve (ਡਾਊਨਲੋਡ) URL ਟਾਈਪ ਕਰੋ",
- "Uh-oh! There was an issue connecting to {{provider}}.": "ਓਹੋ! {{provider}} ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਵਿੱਚ ਸਮੱਸਿਆ ਆਈ।",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json
index f219fafb60..19140a7661 100644
--- a/src/lib/i18n/locales/pl-PL/translation.json
+++ b/src/lib/i18n/locales/pl-PL/translation.json
@@ -940,7 +940,7 @@
"TTS Voice": "",
"Type": "Typ",
"Type Hugging Face Resolve (Download) URL": "Wprowadź adres URL do pobrania z Hugging Face",
- "Uh-oh! There was an issue connecting to {{provider}}.": "O nie! Wystąpił problem z połączeniem z {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json
index 26754ff8d4..f286d4cde8 100644
--- a/src/lib/i18n/locales/pt-BR/translation.json
+++ b/src/lib/i18n/locales/pt-BR/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "Voz TTS",
"Type": "Tipo",
"Type Hugging Face Resolve (Download) URL": "Digite o URL de download do Hugging Face",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Ops! Houve um problema ao conectar-se ao {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Interface",
"Unarchive All": "Desarquivar tudo",
"Unarchive All Archived Chats": "Desarquivar Todos os Chats Arquivados",
diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json
index b1f050931f..d41e9f02de 100644
--- a/src/lib/i18n/locales/pt-PT/translation.json
+++ b/src/lib/i18n/locales/pt-PT/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "Voz TTS",
"Type": "Tipo",
"Type Hugging Face Resolve (Download) URL": "Escreva o URL do Hugging Face Resolve (Descarregar)",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Houve um problema ao conectar a {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/ro-RO/translation.json b/src/lib/i18n/locales/ro-RO/translation.json
index ac155e7596..3090427986 100644
--- a/src/lib/i18n/locales/ro-RO/translation.json
+++ b/src/lib/i18n/locales/ro-RO/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "Voce TTS",
"Type": "Tip",
"Type Hugging Face Resolve (Download) URL": "Introduceți URL-ul de Rezolvare (Descărcare) Hugging Face",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! A apărut o problemă la conectarea la {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Interfață Utilizator",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json
index 3e1284c1b2..152da63447 100644
--- a/src/lib/i18n/locales/ru-RU/translation.json
+++ b/src/lib/i18n/locales/ru-RU/translation.json
@@ -940,7 +940,7 @@
"TTS Voice": "Голос TTS",
"Type": "Тип",
"Type Hugging Face Resolve (Download) URL": "Введите URL-адрес Hugging Face Resolve (загрузки)",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Упс! Возникла проблема подключения к {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Пользовательский интерфейс",
"Unarchive All": "Разархивировать ВСЁ",
"Unarchive All Archived Chats": "Разархивировать ВСЕ Заархивированные Чаты",
diff --git a/src/lib/i18n/locales/sk-SK/translation.json b/src/lib/i18n/locales/sk-SK/translation.json
index 1829c54ffc..fa4c569ba0 100644
--- a/src/lib/i18n/locales/sk-SK/translation.json
+++ b/src/lib/i18n/locales/sk-SK/translation.json
@@ -940,7 +940,7 @@
"TTS Voice": "TTS hlas",
"Type": "Napíšte",
"Type Hugging Face Resolve (Download) URL": "Zadajte URL na úspešné stiahnutie z Hugging Face.",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Ups! Vyskytol sa problém s pripojením k poskytovateľovi {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "UI",
"Unarchive All": "Odzálohovať všetky",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/sr-RS/translation.json b/src/lib/i18n/locales/sr-RS/translation.json
index 62058348af..2e0ebd8c6f 100644
--- a/src/lib/i18n/locales/sr-RS/translation.json
+++ b/src/lib/i18n/locales/sr-RS/translation.json
@@ -939,7 +939,7 @@
"TTS Voice": "",
"Type": "Тип",
"Type Hugging Face Resolve (Download) URL": "Унесите Hugging Face Resolve (Download) адресу",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Упс! Дошло је до проблема при повезивању са {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json
index 2bc3e46705..36e1832ee9 100644
--- a/src/lib/i18n/locales/sv-SE/translation.json
+++ b/src/lib/i18n/locales/sv-SE/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "Text-till-tal-röst",
"Type": "Typ",
"Type Hugging Face Resolve (Download) URL": "Skriv Hugging Face Resolve (nedladdning) URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Oj då! Det uppstod ett problem med anslutningen till {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/th-TH/translation.json b/src/lib/i18n/locales/th-TH/translation.json
index 16ba9d189a..261232bec0 100644
--- a/src/lib/i18n/locales/th-TH/translation.json
+++ b/src/lib/i18n/locales/th-TH/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "เสียงแปลงข้อความเป็นเสียง",
"Type": "ประเภท",
"Type Hugging Face Resolve (Download) URL": "พิมพ์ URL ของ Hugging Face Resolve (Download)",
- "Uh-oh! There was an issue connecting to {{provider}}.": "อุ๊ย! มีปัญหาในการเชื่อมต่อกับ {{provider}}",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "ส่วนติดต่อผู้ใช้",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/tk-TW/translation.json b/src/lib/i18n/locales/tk-TW/translation.json
index 78a0608381..bf5cbf41e0 100644
--- a/src/lib/i18n/locales/tk-TW/translation.json
+++ b/src/lib/i18n/locales/tk-TW/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "",
"Type": "",
"Type Hugging Face Resolve (Download) URL": "",
- "Uh-oh! There was an issue connecting to {{provider}}.": "",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json
index 2d864ffc76..6908ef4473 100644
--- a/src/lib/i18n/locales/tr-TR/translation.json
+++ b/src/lib/i18n/locales/tr-TR/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "TTS Sesi",
"Type": "Tür",
"Type Hugging Face Resolve (Download) URL": "HuggingFace Çözümleme (İndirme) URL'sini Yazın",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Ah! {{provider}}'a bağlanırken bir sorun oluştu.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Arayüz",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json
index 820143c0a1..3cc4e19124 100644
--- a/src/lib/i18n/locales/uk-UA/translation.json
+++ b/src/lib/i18n/locales/uk-UA/translation.json
@@ -940,7 +940,7 @@
"TTS Voice": "Голос TTS",
"Type": "Тип",
"Type Hugging Face Resolve (Download) URL": "Введіть URL ресурсу Hugging Face Resolve (завантаження)",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Ой! Виникла проблема при підключенні до {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Користувацький інтерфейс",
"Unarchive All": "Розархівувати все",
"Unarchive All Archived Chats": "Розархівувати всі архівовані чати",
diff --git a/src/lib/i18n/locales/ur-PK/translation.json b/src/lib/i18n/locales/ur-PK/translation.json
index 2d75711c2b..87ec362f47 100644
--- a/src/lib/i18n/locales/ur-PK/translation.json
+++ b/src/lib/i18n/locales/ur-PK/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "ٹی ٹی ایس آواز",
"Type": "ٹائپ کریں",
"Type Hugging Face Resolve (Download) URL": "قسم ہگنگ فیس ری زولو (ڈاؤن لوڈ) یو آر ایل",
- "Uh-oh! There was an issue connecting to {{provider}}.": "اوہ-اوہ! {{provider}} سے جڑنے میں مسئلہ پیش آیا",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "صارف انٹرفیس",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json
index 63e0326afd..8aeb42988c 100644
--- a/src/lib/i18n/locales/vi-VN/translation.json
+++ b/src/lib/i18n/locales/vi-VN/translation.json
@@ -937,7 +937,7 @@
"TTS Voice": "",
"Type": "Kiểu",
"Type Hugging Face Resolve (Download) URL": "Nhập URL Hugging Face Resolve (Tải xuống)",
- "Uh-oh! There was an issue connecting to {{provider}}.": "Ồ! Đã xảy ra sự cố khi kết nối với {{provider}}.",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "Giao diện",
"Unarchive All": "",
"Unarchive All Archived Chats": "",
diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json
index 405c858d1f..49dc44624a 100644
--- a/src/lib/i18n/locales/zh-CN/translation.json
+++ b/src/lib/i18n/locales/zh-CN/translation.json
@@ -937,7 +937,7 @@
"TTS Voice": "文本转语音音色",
"Type": "类型",
"Type Hugging Face Resolve (Download) URL": "输入 Hugging Face 解析(下载)URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "糟糕!连接到 {{provider}} 时出现问题。",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "界面",
"Unarchive All": "取消所有存档",
"Unarchive All Archived Chats": "取消所有已存档的对话",
diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json
index 5b6a6b2477..771ee73a96 100644
--- a/src/lib/i18n/locales/zh-TW/translation.json
+++ b/src/lib/i18n/locales/zh-TW/translation.json
@@ -938,7 +938,7 @@
"TTS Voice": "文字轉語音 (TTS) 聲音",
"Type": "類型",
"Type Hugging Face Resolve (Download) URL": "輸入 Hugging Face 的解析(下載)URL",
- "Uh-oh! There was an issue connecting to {{provider}}.": "哎呀!連線到 {{provider}} 時出現問題。",
+ "Uh-oh! There was an issue with the response.": "",
"UI": "使用者介面",
"Unarchive All": "解除封存全部",
"Unarchive All Archived Chats": "解除封存全部已封存對話",
From 0b9c6466ce54ac465ccb3e8550c993e008a14acb Mon Sep 17 00:00:00 2001
From: Matthew
Date: Thu, 19 Dec 2024 10:48:02 -0600
Subject: [PATCH 104/385] Hide community share button when community sharing is
disabled.
Only show the share button on the workspaces model menu when Community sharing is enabled.
---
.../workspace/Models/ModelMenu.svelte | 22 +++++++++++--------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/src/lib/components/workspace/Models/ModelMenu.svelte b/src/lib/components/workspace/Models/ModelMenu.svelte
index 8cd9130a03..968bfad87c 100644
--- a/src/lib/components/workspace/Models/ModelMenu.svelte
+++ b/src/lib/components/workspace/Models/ModelMenu.svelte
@@ -14,6 +14,8 @@
import ArrowDownTray from '$lib/components/icons/ArrowDownTray.svelte';
import ArrowUpCircle from '$lib/components/icons/ArrowUpCircle.svelte';
+ import { config } from '$lib/stores';
+
const i18n = getContext('i18n');
export let user;
@@ -50,15 +52,17 @@
align="start"
transition={flyAndScale}
>
- {
- shareHandler();
- }}
- >
-
- {$i18n.t('Share')}
-
+ {#if $config?.features.enable_community_sharing}
+ {
+ shareHandler();
+ }}
+ >
+
+ {$i18n.t('Share')}
+
+ {/if}
Date: Thu, 19 Dec 2024 11:07:02 -0800
Subject: [PATCH 105/385] refac
---
backend/open_webui/utils/middleware.py | 115 +++++++++++++------------
1 file changed, 62 insertions(+), 53 deletions(-)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index a35432566b..4ef4796529 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -601,69 +601,78 @@ async def process_chat_response(request, response, user, events, metadata, tasks
if message:
messages = get_message_list(message_map, message.get("id"))
- if TASKS.TITLE_GENERATION in tasks:
- res = await generate_title(
- request,
- {
- "model": message["model"],
- "messages": messages,
- "chat_id": metadata["chat_id"],
- },
- user,
- )
-
- if res:
- title = (
- res.get("choices", [])[0]
- .get("message", {})
- .get("content", message.get("content", "New Chat"))
- )
-
- Chats.update_chat_title_by_id(metadata["chat_id"], title)
-
- await event_emitter(
+ if tasks:
+ if (
+ TASKS.TITLE_GENERATION in tasks
+ and tasks[TASKS.TITLE_GENERATION]
+ ):
+ res = await generate_title(
+ request,
{
- "type": "chat:title",
- "data": title,
- }
+ "model": message["model"],
+ "messages": messages,
+ "chat_id": metadata["chat_id"],
+ },
+ user,
)
- if TASKS.TAGS_GENERATION in tasks:
- res = await generate_chat_tags(
- request,
- {
- "model": message["model"],
- "messages": messages,
- "chat_id": metadata["chat_id"],
- },
- user,
- )
+ if res:
+ title = (
+ res.get("choices", [])[0]
+ .get("message", {})
+ .get("content", message.get("content", "New Chat"))
+ )
- if res:
- tags_string = (
- res.get("choices", [])[0]
- .get("message", {})
- .get("content", "")
- )
-
- tags_string = tags_string[
- tags_string.find("{") : tags_string.rfind("}") + 1
- ]
-
- try:
- tags = json.loads(tags_string).get("tags", [])
- Chats.update_chat_tags_by_id(
- metadata["chat_id"], tags, user
+ Chats.update_chat_title_by_id(
+ metadata["chat_id"], title
)
await event_emitter(
{
- "type": "chat:tags",
- "data": tags,
+ "type": "chat:title",
+ "data": title,
}
)
- except Exception as e:
- print(f"Error: {e}")
+
+ if (
+ TASKS.TAGS_GENERATION in tasks
+ and tasks[TASKS.TAGS_GENERATION]
+ ):
+ res = await generate_chat_tags(
+ request,
+ {
+ "model": message["model"],
+ "messages": messages,
+ "chat_id": metadata["chat_id"],
+ },
+ user,
+ )
+
+ if res:
+ tags_string = (
+ res.get("choices", [])[0]
+ .get("message", {})
+ .get("content", "")
+ )
+
+ tags_string = tags_string[
+ tags_string.find("{") : tags_string.rfind("}") + 1
+ ]
+
+ try:
+ tags = json.loads(tags_string).get("tags", [])
+ Chats.update_chat_tags_by_id(
+ metadata["chat_id"], tags, user
+ )
+
+ await event_emitter(
+ {
+ "type": "chat:tags",
+ "data": tags,
+ }
+ )
+ except Exception as e:
+ print(f"Error: {e}")
except asyncio.CancelledError:
print("Task was cancelled!")
From 1ea00a58f942c5b24bff4db4bbdb386482da9bf5 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 12:16:47 -0800
Subject: [PATCH 106/385] refac
---
backend/open_webui/utils/middleware.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 4ef4796529..f187bd8663 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -616,7 +616,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
user,
)
- if res:
+ if res and isinstance(res, dict):
title = (
res.get("choices", [])[0]
.get("message", {})
@@ -648,7 +648,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
user,
)
- if res:
+ if res and isinstance(res, dict):
tags_string = (
res.get("choices", [])[0]
.get("message", {})
From 0db0b8ce2cc4a8f9f723ee63818fb9b27a94a78d Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 12:19:06 -0800
Subject: [PATCH 107/385] fix
---
src/lib/components/chat/MessageInput.svelte | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 51fbf58049..1c0b31c1ef 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -727,14 +727,14 @@
...document.getElementsByClassName('user-message')
]?.at(-1);
- const editButton = [
- ...document.getElementsByClassName('edit-user-message-button')
- ]?.at(-1);
+ if (userMessageElement) {
+ userMessageElement.scrollIntoView({ block: 'center' });
+ const editButton = [
+ ...document.getElementsByClassName('edit-user-message-button')
+ ]?.at(-1);
- console.log(userMessageElement);
-
- userMessageElement.scrollIntoView({ block: 'center' });
- editButton?.click();
+ editButton?.click();
+ }
}
if (commandsContainerElement) {
From 16504b88f5cf726b042544829180f0a14e197dc1 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 13:11:44 -0800
Subject: [PATCH 108/385] fix
---
backend/open_webui/socket/main.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py
index 4bdcbabed6..add952331f 100644
--- a/backend/open_webui/socket/main.py
+++ b/backend/open_webui/socket/main.py
@@ -218,7 +218,9 @@ async def disconnect(sid):
def get_event_emitter(request_info):
async def __event_emitter__(event_data):
user_id = request_info["user_id"]
- session_ids = USER_POOL.get(user_id, [])
+ session_ids = list(
+ set(USER_POOL.get(user_id, []) + [request_info["session_id"]])
+ )
for session_id in session_ids:
await sio.emit(
From 8455396249e4a31225b3693017c77edec736abe1 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 13:46:30 -0800
Subject: [PATCH 109/385] fix: websocket redis
---
backend/open_webui/socket/main.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py
index add952331f..702da418cb 100644
--- a/backend/open_webui/socket/main.py
+++ b/backend/open_webui/socket/main.py
@@ -152,7 +152,7 @@ async def connect(sid, environ, auth):
if user:
SESSION_POOL[sid] = user.id
if user.id in USER_POOL:
- USER_POOL[user.id].append(sid)
+ USER_POOL[user.id] = USER_POOL[user.id] + [sid]
else:
USER_POOL[user.id] = [sid]
@@ -179,7 +179,7 @@ async def user_join(sid, data):
SESSION_POOL[sid] = user.id
if user.id in USER_POOL:
- USER_POOL[user.id].append(sid)
+ USER_POOL[user.id] = USER_POOL[user.id] + [sid]
else:
USER_POOL[user.id] = [sid]
From 03e48de1a950c804f7fe5eab1587b38a0e272649 Mon Sep 17 00:00:00 2001
From: Jason Kidd
Date: Thu, 19 Dec 2024 14:15:02 -0800
Subject: [PATCH 110/385] fix: Issue in some environments running in dev mode
with redis where periodic cleanup takes longer than TIMEOUT_DURATION*2
seconds to be called and the lock expires.
---
backend/open_webui/socket/main.py | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py
index add952331f..dbc4d66f4b 100644
--- a/backend/open_webui/socket/main.py
+++ b/backend/open_webui/socket/main.py
@@ -49,7 +49,6 @@ TIMEOUT_DURATION = 3
# Dictionary to maintain the user pool
-run_cleanup = True
if WEBSOCKET_MANAGER == "redis":
log.debug("Using Redis to manage websockets.")
SESSION_POOL = RedisDict("open-webui:session_pool", redis_url=WEBSOCKET_REDIS_URL)
@@ -61,18 +60,18 @@ if WEBSOCKET_MANAGER == "redis":
lock_name="usage_cleanup_lock",
timeout_secs=TIMEOUT_DURATION * 2,
)
- run_cleanup = clean_up_lock.aquire_lock()
+ aquire_func = clean_up_lock.aquire_lock
renew_func = clean_up_lock.renew_lock
release_func = clean_up_lock.release_lock
else:
SESSION_POOL = {}
USER_POOL = {}
USAGE_POOL = {}
- release_func = renew_func = lambda: True
+ aquire_func = release_func = renew_func = lambda: True
async def periodic_usage_pool_cleanup():
- if not run_cleanup:
+ if not aquire_func():
log.debug("Usage pool cleanup lock already exists. Not running it.")
return
log.debug("Running periodic_usage_pool_cleanup")
From 7268ea7abd0e9422f999e8515a931fa6a2915c55 Mon Sep 17 00:00:00 2001
From: Panda
Date: Thu, 19 Dec 2024 23:17:46 +0100
Subject: [PATCH 111/385] Update translation.json
---
src/lib/i18n/locales/zh-CN/translation.json | 22 ++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json
index 49dc44624a..e99908920b 100644
--- a/src/lib/i18n/locales/zh-CN/translation.json
+++ b/src/lib/i18n/locales/zh-CN/translation.json
@@ -119,7 +119,7 @@
"Camera": "摄像头",
"Cancel": "取消",
"Capabilities": "能力",
- "Capture": "",
+ "Capture": "捕获",
"Certificate Path": "证书路径",
"Change Password": "更改密码",
"Character": "字符",
@@ -164,7 +164,7 @@
"Collection": "文件集",
"Color": "颜色",
"ComfyUI": "ComfyUI",
- "ComfyUI API Key": "",
+ "ComfyUI API Key": "ComfyUI API 密钥",
"ComfyUI Base URL": "ComfyUI 基础地址",
"ComfyUI Base URL is required.": "ComfyUI 基础地址为必需填写。",
"ComfyUI Workflow": "ComfyUI Workflow",
@@ -305,7 +305,7 @@
"Enable API Key Auth": "启用 API 密钥鉴权",
"Enable autocomplete generation for chat messages": "启用聊天消息的自动完成生成",
"Enable Community Sharing": "启用分享至社区",
- "Enable Google Drive": "",
+ "Enable Google Drive": "启用 Google 云端硬盘",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "启用内存锁定(mlock)以防止模型数据被交换出RAM。此选项将模型的工作集页面锁定在RAM中,确保它们不会被交换到磁盘。这可以通过避免页面错误和确保快速数据访问来帮助维持性能。",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "启用内存映射(mmap)以加载模型数据。此选项允许系统通过将磁盘文件视为在RAM中来使用磁盘存储作为RAM的扩展。这可以通过更快的数据访问来提高模型性能。然而,它可能无法在所有系统上正常工作,并且可能会消耗大量磁盘空间。",
"Enable Message Rating": "启用回复评价",
@@ -333,7 +333,7 @@
"Enter Google PSE Engine Id": "输入 Google PSE 引擎 ID",
"Enter Image Size (e.g. 512x512)": "输入图像分辨率 (例如:512x512)",
"Enter Jina API Key": "输入 Jina API 密钥",
- "Enter Kagi Search API Key": "",
+ "Enter Kagi Search API Key": "输入 Kagi Search API 密钥",
"Enter language codes": "输入语言代码",
"Enter Model ID": "输入模型 ID",
"Enter model tag (e.g. {{modelTag}})": "输入模型标签 (例如:{{modelTag}})",
@@ -368,8 +368,8 @@
"Enter Your Username": "输入您的用户名",
"Error": "错误",
"ERROR": "错误",
- "Error accessing Google Drive: {{error}}": "",
- "Error uploading file: {{error}}": "",
+ "Error accessing Google Drive: {{error}}": "访问 Google 云端硬盘 出错: {{error}}",
+ "Error uploading file: {{error}}": "上传文件时出错: {{error}}",
"Evaluations": "竞技场评估",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "例如:(&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "例如:ALL",
@@ -408,7 +408,7 @@
"File not found.": "文件未找到。",
"File removed successfully.": "文件成功删除",
"File size should not exceed {{maxSize}} MB.": "文件大小不应超过 {{maxSize}} MB。",
- "File uploaded successfully": "",
+ "File uploaded successfully": "文件上传成功。",
"Files": "文件",
"Filter is now globally disabled": "过滤器已全局禁用",
"Filter is now globally enabled": "过滤器已全局启用",
@@ -446,7 +446,7 @@
"Get started with {{WEBUI_NAME}}": "开始使用 {{WEBUI_NAME}}",
"Global": "全局",
"Good Response": "点赞此回答",
- "Google Drive": "",
+ "Google Drive": "Google 云端硬盘",
"Google PSE API Key": "Google PSE API 密钥",
"Google PSE Engine Id": "Google PSE 引擎 ID",
"Group created successfully": "权限组创建成功",
@@ -502,7 +502,7 @@
"June": "六月",
"JWT Expiration": "JWT 过期",
"JWT Token": "JWT 令牌",
- "Kagi Search API Key": "",
+ "Kagi Search API Key": "Kagi 搜索 API 密钥",
"Keep Alive": "保持活动",
"Key": "密匙",
"Keyboard shortcuts": "键盘快捷键",
@@ -832,7 +832,7 @@
"Sign up": "注册",
"Sign up to {{WEBUI_NAME}}": "注册 {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "正在登录 {{WEBUI_NAME}}",
- "sk-1234": "",
+ "sk-1234": "sk-1234",
"Source": "来源",
"Speech Playback Speed": "语音播放速度",
"Speech recognition error: {{error}}": "语音识别错误:{{error}}",
@@ -937,7 +937,7 @@
"TTS Voice": "文本转语音音色",
"Type": "类型",
"Type Hugging Face Resolve (Download) URL": "输入 Hugging Face 解析(下载)URL",
- "Uh-oh! There was an issue with the response.": "",
+ "Uh-oh! There was an issue with the response.": "啊哦!回复有问题。",
"UI": "界面",
"Unarchive All": "取消所有存档",
"Unarchive All Archived Chats": "取消所有已存档的对话",
From d9573befffd1acdcb87c700a9f566cecdc1f2e05 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 15:14:09 -0800
Subject: [PATCH 112/385] feat: chat completion notification
---
backend/open_webui/models/chats.py | 7 +++
backend/open_webui/utils/middleware.py | 57 +++++++++++++--------
src/lib/components/NotificationToast.svelte | 34 ++++++++++++
src/lib/components/chat/Chat.svelte | 19 ++++++-
src/routes/+layout.svelte | 2 +-
5 files changed, 96 insertions(+), 23 deletions(-)
create mode 100644 src/lib/components/NotificationToast.svelte
diff --git a/backend/open_webui/models/chats.py b/backend/open_webui/models/chats.py
index 75e5114b84..8b2766a1f8 100644
--- a/backend/open_webui/models/chats.py
+++ b/backend/open_webui/models/chats.py
@@ -198,6 +198,13 @@ class ChatTable:
self.add_chat_tag_by_id_and_user_id_and_tag_name(id, user.id, tag_name)
return self.get_chat_by_id(id)
+ def get_chat_title_by_id(self, id: str) -> Optional[str]:
+ chat = self.get_chat_by_id(id)
+ if chat is None:
+ return None
+
+ return chat.chat.get("title", "New Chat")
+
def get_messages_by_chat_id(self, id: str) -> Optional[dict]:
chat = self.get_chat_by_id(id)
if chat is None:
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index f187bd8663..6d46b738d9 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -582,9 +582,10 @@ async def process_chat_response(request, response, user, events, metadata, tasks
except Exception as e:
done = "data: [DONE]" in line
+ title = Chats.get_chat_title_by_id(metadata["chat_id"])
if done:
- data = {"done": True}
+ data = {"done": True, "content": content, "title": title}
else:
continue
@@ -602,27 +603,41 @@ async def process_chat_response(request, response, user, events, metadata, tasks
messages = get_message_list(message_map, message.get("id"))
if tasks:
- if (
- TASKS.TITLE_GENERATION in tasks
- and tasks[TASKS.TITLE_GENERATION]
- ):
- res = await generate_title(
- request,
- {
- "model": message["model"],
- "messages": messages,
- "chat_id": metadata["chat_id"],
- },
- user,
- )
-
- if res and isinstance(res, dict):
- title = (
- res.get("choices", [])[0]
- .get("message", {})
- .get("content", message.get("content", "New Chat"))
+ if TASKS.TITLE_GENERATION in tasks:
+ if tasks[TASKS.TITLE_GENERATION]:
+ res = await generate_title(
+ request,
+ {
+ "model": message["model"],
+ "messages": messages,
+ "chat_id": metadata["chat_id"],
+ },
+ user,
)
+ if res and isinstance(res, dict):
+ title = (
+ res.get("choices", [])[0]
+ .get("message", {})
+ .get(
+ "content",
+ message.get("content", "New Chat"),
+ )
+ )
+
+ Chats.update_chat_title_by_id(
+ metadata["chat_id"], title
+ )
+
+ await event_emitter(
+ {
+ "type": "chat:title",
+ "data": title,
+ }
+ )
+ elif len(messages) == 2:
+ title = messages[0].get("content", "New Chat")
+
Chats.update_chat_title_by_id(
metadata["chat_id"], title
)
@@ -630,7 +645,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
await event_emitter(
{
"type": "chat:title",
- "data": title,
+ "data": message.get("content", "New Chat"),
}
)
diff --git a/src/lib/components/NotificationToast.svelte b/src/lib/components/NotificationToast.svelte
new file mode 100644
index 0000000000..0cc9511290
--- /dev/null
+++ b/src/lib/components/NotificationToast.svelte
@@ -0,0 +1,34 @@
+
+
+ {
+ onClick();
+ dispatch('closeToast');
+ }}
+>
+
+
+
+
+
+ {#if title}
+
{title}
+ {/if}
+
+
+ {@html DOMPurify.sanitize(marked(content))}
+
+
+
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index be2bd3566c..8d64ecbad1 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -79,6 +79,7 @@
import EventConfirmDialog from '../common/ConfirmDialog.svelte';
import Placeholder from './Placeholder.svelte';
import { getTools } from '$lib/apis/tools';
+ import NotificationToast from '../NotificationToast.svelte';
export let chatIdProp = '';
@@ -308,7 +309,23 @@
const type = event?.data?.type ?? null;
const data = event?.data?.data ?? null;
- if (type === 'chat:title') {
+ if (type === 'chat:completion') {
+ const { done, content, title } = data;
+
+ if (done) {
+ toast.custom(NotificationToast, {
+ componentProps: {
+ onClick: () => {
+ goto(`/c/${event.chat_id}`);
+ },
+ content: content,
+ title: title
+ },
+ duration: 15000,
+ unstyled: true
+ });
+ }
+ } else if (type === 'chat:title') {
currentChatPage.set(1);
await chats.set(await getChatList(localStorage.token, $currentChatPage));
} else if (type === 'chat:tags') {
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index d92e8c2ab5..1066cb675e 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -219,5 +219,5 @@
: 'light'
: 'light'}
richColors
- position="top-center"
+ position="top-right"
/>
From 8535974ea393022a76c78ca2960d7b97d56865c0 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 15:16:51 -0800
Subject: [PATCH 113/385] refac: styling
---
src/lib/components/NotificationToast.svelte | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/lib/components/NotificationToast.svelte b/src/lib/components/NotificationToast.svelte
index 0cc9511290..355b3e6bb1 100644
--- a/src/lib/components/NotificationToast.svelte
+++ b/src/lib/components/NotificationToast.svelte
@@ -12,14 +12,14 @@
{
onClick();
dispatch('closeToast');
}}
>
-
-
+
+
From 49b36937adf3783ba48eded70b8d8b775e3f7db4 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 15:45:31 -0800
Subject: [PATCH 114/385] refac
---
src/lib/components/chat/Chat.svelte | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index 8d64ecbad1..fab6f3c687 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -1569,6 +1569,15 @@
if (res) {
taskId = null;
+
+ const responseMessage = history.messages[history.currentId];
+ responseMessage.done = true;
+
+ history.messages[history.currentId] = responseMessage;
+
+ if (autoScroll) {
+ scrollToBottom();
+ }
}
}
};
From 455b38dcc108f1f23b9c5773e89c73e59d84aada Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 15:59:03 -0800
Subject: [PATCH 115/385] Fix code scanning alert no. 150: Information exposure
through an exception
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
---
backend/open_webui/routers/tasks.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/backend/open_webui/routers/tasks.py b/backend/open_webui/routers/tasks.py
index 4990b4e081..107b99b09f 100644
--- a/backend/open_webui/routers/tasks.py
+++ b/backend/open_webui/routers/tasks.py
@@ -395,9 +395,10 @@ async def generate_autocompletion(
try:
return await generate_chat_completion(request, form_data=payload, user=user)
except Exception as e:
+ log.error(f"Error generating chat completion: {e}")
return JSONResponse(
- status_code=status.HTTP_400_BAD_REQUEST,
- content={"detail": str(e)},
+ status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
+ content={"detail": "An internal error has occurred."},
)
From 70de5cf7b8997e63e64a0372f4c7e36888912af5 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 16:18:54 -0800
Subject: [PATCH 116/385] fix: audio
---
backend/open_webui/routers/audio.py | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/backend/open_webui/routers/audio.py b/backend/open_webui/routers/audio.py
index a263559458..46ee8beab8 100644
--- a/backend/open_webui/routers/audio.py
+++ b/backend/open_webui/routers/audio.py
@@ -218,7 +218,7 @@ async def update_audio_config(
}
-def load_speech_pipeline():
+def load_speech_pipeline(request):
from transformers import pipeline
from datasets import load_dataset
@@ -236,7 +236,11 @@ def load_speech_pipeline():
@router.post("/speech")
async def speech(request: Request, user=Depends(get_verified_user)):
body = await request.body()
- name = hashlib.sha256(body).hexdigest()
+ name = hashlib.sha256(
+ body
+ + str(request.app.state.config.TTS_ENGINE).encode("utf-8")
+ + str(request.app.state.config.TTS_MODEL).encode("utf-8")
+ ).hexdigest()
file_path = SPEECH_CACHE_DIR.joinpath(f"{name}.mp3")
file_body_path = SPEECH_CACHE_DIR.joinpath(f"{name}.json")
@@ -256,10 +260,11 @@ async def speech(request: Request, user=Depends(get_verified_user)):
payload["model"] = request.app.state.config.TTS_MODEL
try:
+ # print(payload)
async with aiohttp.ClientSession() as session:
async with session.post(
url=f"{request.app.state.config.TTS_OPENAI_API_BASE_URL}/audio/speech",
- data=payload,
+ json=payload,
headers={
"Content-Type": "application/json",
"Authorization": f"Bearer {request.app.state.config.TTS_OPENAI_API_KEY}",
@@ -281,7 +286,7 @@ async def speech(request: Request, user=Depends(get_verified_user)):
await f.write(await r.read())
async with aiofiles.open(file_body_path, "w") as f:
- await f.write(json.dumps(json.loads(body.decode("utf-8"))))
+ await f.write(json.dumps(payload))
return FileResponse(file_path)
@@ -292,6 +297,7 @@ async def speech(request: Request, user=Depends(get_verified_user)):
try:
if r.status != 200:
res = await r.json()
+
if "error" in res:
detail = f"External: {res['error'].get('message', '')}"
except Exception:
@@ -332,7 +338,7 @@ async def speech(request: Request, user=Depends(get_verified_user)):
await f.write(await r.read())
async with aiofiles.open(file_body_path, "w") as f:
- await f.write(json.dumps(json.loads(body.decode("utf-8"))))
+ await f.write(json.dumps(payload))
return FileResponse(file_path)
@@ -384,6 +390,9 @@ async def speech(request: Request, user=Depends(get_verified_user)):
async with aiofiles.open(file_path, "wb") as f:
await f.write(await r.read())
+ async with aiofiles.open(file_body_path, "w") as f:
+ await f.write(json.dumps(payload))
+
return FileResponse(file_path)
except Exception as e:
@@ -414,7 +423,7 @@ async def speech(request: Request, user=Depends(get_verified_user)):
import torch
import soundfile as sf
- load_speech_pipeline()
+ load_speech_pipeline(request)
embeddings_dataset = request.app.state.speech_speaker_embeddings_dataset
@@ -436,8 +445,9 @@ async def speech(request: Request, user=Depends(get_verified_user)):
)
sf.write(file_path, speech["audio"], samplerate=speech["sampling_rate"])
- with open(file_body_path, "w") as f:
- json.dump(json.loads(body.decode("utf-8")), f)
+
+ async with aiofiles.open(file_body_path, "w") as f:
+ await f.write(json.dumps(payload))
return FileResponse(file_path)
From db9aef0eaf07fe66ebd328f58a52af3052c6f9e6 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 19:05:20 -0800
Subject: [PATCH 117/385] refac
---
backend/open_webui/routers/openai.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/backend/open_webui/routers/openai.py b/backend/open_webui/routers/openai.py
index f7f78be85d..3705132555 100644
--- a/backend/open_webui/routers/openai.py
+++ b/backend/open_webui/routers/openai.py
@@ -604,10 +604,10 @@ async def generate_chat_completion(
if is_o1:
payload = openai_o1_handler(payload)
elif "api.openai.com" not in url:
- # Remove "max_tokens" from the payload for backward compatibility
- if "max_tokens" in payload:
- payload["max_completion_tokens"] = payload["max_tokens"]
- del payload["max_tokens"]
+ # Remove "max_completion_tokens" from the payload for backward compatibility
+ if "max_completion_tokens" in payload:
+ payload["max_tokens"] = payload["max_completion_tokens"]
+ del payload["max_completion_tokens"]
# TODO: check if below is needed
# if "max_tokens" in payload and "max_completion_tokens" in payload:
From 38208866b93fd1c512dc50f0648c3b1c1536d608 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 20:01:18 -0800
Subject: [PATCH 118/385] fix
---
backend/open_webui/internal/db.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/open_webui/internal/db.py b/backend/open_webui/internal/db.py
index ba078822e0..5f19e695df 100644
--- a/backend/open_webui/internal/db.py
+++ b/backend/open_webui/internal/db.py
@@ -54,7 +54,7 @@ def handle_peewee_migration(DATABASE_URL):
try:
# Replace the postgresql:// with postgres:// to handle the peewee migration
db = register_connection(DATABASE_URL.replace("postgresql://", "postgres://"))
- migrate_dir = OPEN_WEBUI_DIR / "apps" / "webui" / "internal" / "migrations"
+ migrate_dir = OPEN_WEBUI_DIR / "internal" / "migrations"
router = Router(db, logger=log, migrate_dir=migrate_dir)
router.run()
db.close()
From eabd9192f3e9204e0b80fcd67e0e91b4d9d38630 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 20:11:13 -0800
Subject: [PATCH 119/385] refac
---
src/lib/components/NotificationToast.svelte | 2 +-
src/lib/components/chat/Chat.svelte | 11 -----------
2 files changed, 1 insertion(+), 12 deletions(-)
diff --git a/src/lib/components/NotificationToast.svelte b/src/lib/components/NotificationToast.svelte
index 355b3e6bb1..6adcd01a8f 100644
--- a/src/lib/components/NotificationToast.svelte
+++ b/src/lib/components/NotificationToast.svelte
@@ -12,7 +12,7 @@
{
onClick();
dispatch('closeToast');
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index fab6f3c687..1b8e1e3ea9 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -538,17 +538,6 @@
}
};
- const handleGoogleDrivePicker = async () => {
- try {
- const fileData = await createPicker();
- if (fileData) {
- await uploadGoogleDriveFile(fileData);
- }
- } catch (error) {
- toast.error('Error accessing Google Drive: ' + error.message);
- }
- };
-
const uploadWeb = async (url) => {
console.log(url);
From ef5a5be60d9b88f77fda851ed6f6cbef4a518b3b Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 20:16:24 -0800
Subject: [PATCH 120/385] fix
---
backend/open_webui/routers/retrieval.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py
index 02ab3ca594..6d9cd0758f 100644
--- a/backend/open_webui/routers/retrieval.py
+++ b/backend/open_webui/routers/retrieval.py
@@ -466,8 +466,8 @@ async def update_rag_config(
)
request.app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION = (
- form_data.ENABLE_GOOGLE_DRIVE_INTEGRATION
- if form_data.ENABLE_GOOGLE_DRIVE_INTEGRATION is not None
+ form_data.enable_google_drive_integration
+ if form_data.enable_google_drive_integration is not None
else request.app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION
)
From 50f36a5262aa6842496259d889de1cfe0b365445 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 20:56:16 -0800
Subject: [PATCH 121/385] refac: styling
---
backend/open_webui/retrieval/utils.py | 4 +-
.../admin/Settings/Documents.svelte | 434 +++++++++---------
2 files changed, 218 insertions(+), 220 deletions(-)
diff --git a/backend/open_webui/retrieval/utils.py b/backend/open_webui/retrieval/utils.py
index 9444ade95b..17f1438da1 100644
--- a/backend/open_webui/retrieval/utils.py
+++ b/backend/open_webui/retrieval/utils.py
@@ -70,7 +70,9 @@ def query_doc(
limit=k,
)
- log.info(f"query_doc:result {result.ids} {result.metadatas}")
+ if result:
+ log.info(f"query_doc:result {result.ids} {result.metadatas}")
+
return result
except Exception as e:
print(e)
diff --git a/src/lib/components/admin/Settings/Documents.svelte b/src/lib/components/admin/Settings/Documents.svelte
index eca6513ddb..2a4fe38f51 100644
--- a/src/lib/components/admin/Settings/Documents.svelte
+++ b/src/lib/components/admin/Settings/Documents.svelte
@@ -576,8 +576,6 @@
-
-
{#if showTikaServerUrl}
@@ -591,268 +589,266 @@
{/if}
-
-
{$i18n.t('Google Drive')}
+
-
-
-
{$i18n.t('Enable Google Drive')}
-
-
-
+
{$i18n.t('Google Drive')}
+
+
+
+
{$i18n.t('Enable Google Drive')}
+
+
+
-
+
-
-
{$i18n.t('Query Params')}
+
+
{$i18n.t('Query Params')}
-
-
-
{$i18n.t('Top K')}
+
+
+
{$i18n.t('Top K')}
+
+
+
+
+
+
+ {#if querySettings.hybrid === true}
+
+
+ {$i18n.t('Minimum Score')}
+
-
- {#if querySettings.hybrid === true}
-
-
- {$i18n.t('Minimum Score')}
-
-
-
-
-
-
- {/if}
-
-
- {#if querySettings.hybrid === true}
-
- {$i18n.t(
- 'Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.'
- )}
-
{/if}
+
-
-
{$i18n.t('RAG Template')}
-
+ {$i18n.t(
+ 'Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.'
+ )}
+
+ {/if}
+
+
+
{$i18n.t('RAG Template')}
+
+
+
+
+
+
+
+
+
+
{$i18n.t('Chunk Params')}
+
+
+
{$i18n.t('Text Splitter')}
+
+
-
-
+ {$i18n.t('Default')} ({$i18n.t('Character')})
+ {$i18n.t('Token')} ({$i18n.t('Tiktoken')})
+
-
-
-
-
{$i18n.t('Chunk Params')}
-
-
-
{$i18n.t('Text Splitter')}
-
-
- {$i18n.t('Default')} ({$i18n.t('Character')})
- {$i18n.t('Token')} ({$i18n.t('Tiktoken')})
-
+
+
+
+ {$i18n.t('Chunk Size')}
+
+
+
-
-
-
- {$i18n.t('Chunk Size')}
-
-
-
-
+
+
+ {$i18n.t('Chunk Overlap')}
-
-
- {$i18n.t('Chunk Overlap')}
-
+
+
+
+
+
-
+
+
+
{$i18n.t('PDF Extract Images (OCR)')}
+
+
+
+
+
+
+
+
+
+
+
+
{$i18n.t('Files')}
+
+
+
+
+ {$i18n.t('Max Upload Size')}
+
+
+
+
-
+
-
-
-
{$i18n.t('PDF Extract Images (OCR)')}
-
-
-
-
+
+
+ {$i18n.t('Max Upload Count')}
-
-
-
-
-
-
-
{$i18n.t('Files')}
-
-
-
-
- {$i18n.t('Max Upload Size')}
-
-
-
-
-
-
-
-
-
-
-
- {$i18n.t('Max Upload Count')}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{
- showResetUploadDirConfirm = true;
- }}
- type="button"
- >
-
- {$i18n.t('Reset Upload Directory')}
-
-
-
{
- showResetConfirm = true;
- }}
- type="button"
- >
-
-
- {$i18n.t('Reset Vector Storage/Knowledge')}
-
-
+
-
+
+
+
+
{
+ showResetUploadDirConfirm = true;
+ }}
+ type="button"
>
- {$i18n.t('Save')}
+
+ {$i18n.t('Reset Upload Directory')}
+
+
+
{
+ showResetConfirm = true;
+ }}
+ type="button"
+ >
+
+
+ {$i18n.t('Reset Vector Storage/Knowledge')}
+
+
+
+ {$i18n.t('Save')}
+
+
From bf4f71879fc2e19a0ed4700d0a8ea34d4fc75fdb Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Thu, 19 Dec 2024 20:59:45 -0800
Subject: [PATCH 122/385] refac
---
src/lib/components/admin/Settings/Images.svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/components/admin/Settings/Images.svelte b/src/lib/components/admin/Settings/Images.svelte
index ecfb126b3a..62d9d0dc4f 100644
--- a/src/lib/components/admin/Settings/Images.svelte
+++ b/src/lib/components/admin/Settings/Images.svelte
@@ -475,9 +475,9 @@
From 2cd75ceb5390d0f5cc705b018df68378c2aab4ee Mon Sep 17 00:00:00 2001
From: Aleix Dorca
Date: Fri, 20 Dec 2024 09:10:57 +0100
Subject: [PATCH 123/385] Update catalan translation.json
---
src/lib/i18n/locales/ca-ES/translation.json | 22 ++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json
index e9bc63f6a8..686cc472ee 100644
--- a/src/lib/i18n/locales/ca-ES/translation.json
+++ b/src/lib/i18n/locales/ca-ES/translation.json
@@ -119,7 +119,7 @@
"Camera": "Càmera",
"Cancel": "Cancel·lar",
"Capabilities": "Capacitats",
- "Capture": "",
+ "Capture": "Captura",
"Certificate Path": "Camí del certificat",
"Change Password": "Canviar la contrasenya",
"Character": "Personatge",
@@ -164,7 +164,7 @@
"Collection": "Col·lecció",
"Color": "Color",
"ComfyUI": "ComfyUI",
- "ComfyUI API Key": "",
+ "ComfyUI API Key": "Configurar la clau API de ComfyUI",
"ComfyUI Base URL": "URL base de ComfyUI",
"ComfyUI Base URL is required.": "L'URL base de ComfyUI és obligatòria.",
"ComfyUI Workflow": "Flux de treball de ComfyUI",
@@ -305,7 +305,7 @@
"Enable API Key Auth": "Activar l'autenticació amb clau API",
"Enable autocomplete generation for chat messages": "Activar la generació automàtica per als missatges del xat",
"Enable Community Sharing": "Activar l'ús compartit amb la comunitat",
- "Enable Google Drive": "",
+ "Enable Google Drive": "Activar Google Drive",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Activar el bloqueig de memòria (mlock) per evitar que les dades del model s'intercanviïn fora de la memòria RAM. Aquesta opció bloqueja el conjunt de pàgines de treball del model a la memòria RAM, assegurant-se que no s'intercanviaran al disc. Això pot ajudar a mantenir el rendiment evitant errors de pàgina i garantint un accés ràpid a les dades.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Activar l'assignació de memòria (mmap) per carregar les dades del model. Aquesta opció permet que el sistema utilitzi l'emmagatzematge en disc com a extensió de la memòria RAM tractant els fitxers de disc com si estiguessin a la memòria RAM. Això pot millorar el rendiment del model permetent un accés més ràpid a les dades. Tanmateix, és possible que no funcioni correctament amb tots els sistemes i pot consumir una quantitat important d'espai en disc.",
"Enable Message Rating": "Permetre la qualificació de missatges",
@@ -333,7 +333,7 @@
"Enter Google PSE Engine Id": "Introdueix l'identificador del motor PSE de Google",
"Enter Image Size (e.g. 512x512)": "Introdueix la mida de la imatge (p. ex. 512x512)",
"Enter Jina API Key": "Introdueix la clau API de Jina",
- "Enter Kagi Search API Key": "",
+ "Enter Kagi Search API Key": "Introdueix la clau API de Kagi Search",
"Enter language codes": "Introdueix els codis de llenguatge",
"Enter Model ID": "Introdueix l'identificador del model",
"Enter model tag (e.g. {{modelTag}})": "Introdueix l'etiqueta del model (p. ex. {{modelTag}})",
@@ -368,8 +368,8 @@
"Enter Your Username": "Introdueix el teu nom d'usuari",
"Error": "Error",
"ERROR": "ERROR",
- "Error accessing Google Drive: {{error}}": "",
- "Error uploading file: {{error}}": "",
+ "Error accessing Google Drive: {{error}}": "Error en accedir a Google Drive: {{error}}",
+ "Error uploading file: {{error}}": "Error en pujar l'arxiu: {{error}}",
"Evaluations": "Avaluacions",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Exemple: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Exemple: TOTS",
@@ -408,7 +408,7 @@
"File not found.": "No s'ha trobat l'arxiu.",
"File removed successfully.": "Arxiu eliminat correctament.",
"File size should not exceed {{maxSize}} MB.": "La mida del fitxer no ha de superar els {{maxSize}} MB.",
- "File uploaded successfully": "",
+ "File uploaded successfully": "arxiu pujat satisfactòriament",
"Files": "Arxius",
"Filter is now globally disabled": "El filtre ha estat desactivat globalment",
"Filter is now globally enabled": "El filtre ha estat activat globalment",
@@ -446,7 +446,7 @@
"Get started with {{WEBUI_NAME}}": "Començar amb {{WEBUI_NAME}}",
"Global": "Global",
"Good Response": "Bona resposta",
- "Google Drive": "",
+ "Google Drive": "Google Drive",
"Google PSE API Key": "Clau API PSE de Google",
"Google PSE Engine Id": "Identificador del motor PSE de Google",
"Group created successfully": "El grup s'ha creat correctament",
@@ -502,7 +502,7 @@
"June": "Juny",
"JWT Expiration": "Caducitat del JWT",
"JWT Token": "Token JWT",
- "Kagi Search API Key": "",
+ "Kagi Search API Key": "Clau API de Kagi Search",
"Keep Alive": "Manté actiu",
"Key": "Clau",
"Keyboard shortcuts": "Dreceres de teclat",
@@ -834,7 +834,7 @@
"Sign up": "Registrar-se",
"Sign up to {{WEBUI_NAME}}": "Registrar-se a {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Iniciant sessió a {{WEBUI_NAME}}",
- "sk-1234": "",
+ "sk-1234": "sk-1234",
"Source": "Font",
"Speech Playback Speed": "Velocitat de la parla",
"Speech recognition error: {{error}}": "Error de reconeixement de veu: {{error}}",
@@ -939,7 +939,7 @@
"TTS Voice": "Veu TTS",
"Type": "Tipus",
"Type Hugging Face Resolve (Download) URL": "Escriu l'URL de Resolució (Descàrrega) de Hugging Face",
- "Uh-oh! There was an issue with the response.": "",
+ "Uh-oh! There was an issue with the response.": "Vaja! Hi ha hagut una incidència amb la resposta.",
"UI": "UI",
"Unarchive All": "Desarxivar tot",
"Unarchive All Archived Chats": "Desarxivar tots els xats arxivats",
From 544f5161045c896890dc8b4c00a2fab0abe18e05 Mon Sep 17 00:00:00 2001
From: Simon
Date: Fri, 20 Dec 2024 17:28:04 +0100
Subject: [PATCH 124/385] Update translation.json
---
src/lib/i18n/locales/uk-UA/translation.json | 22 ++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json
index 3cc4e19124..fdf0971df8 100644
--- a/src/lib/i18n/locales/uk-UA/translation.json
+++ b/src/lib/i18n/locales/uk-UA/translation.json
@@ -119,7 +119,7 @@
"Camera": "Камера",
"Cancel": "Скасувати",
"Capabilities": "Можливості",
- "Capture": "",
+ "Capture": "Захоплення",
"Certificate Path": "Шлях до сертифіката",
"Change Password": "Змінити пароль",
"Character": "Персонаж",
@@ -164,7 +164,7 @@
"Collection": "Колекція",
"Color": "Колір",
"ComfyUI": "ComfyUI",
- "ComfyUI API Key": "",
+ "ComfyUI API Key": "ComfyUI API ключ",
"ComfyUI Base URL": "URL-адреса ComfyUI",
"ComfyUI Base URL is required.": "Необхідно вказати URL-адресу ComfyUI.",
"ComfyUI Workflow": "ComfyUI Workflow",
@@ -305,7 +305,7 @@
"Enable API Key Auth": "Увімкнути автентифікацію за допомогою API ключа",
"Enable autocomplete generation for chat messages": "Увімкнути генерацію автозаповнення для повідомлень чату",
"Enable Community Sharing": "Увімкнути спільний доступ",
- "Enable Google Drive": "",
+ "Enable Google Drive": "Увімкнути Google Drive",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Увімкнути блокування пам'яті (mlock), щоб запобігти виведенню даних моделі з оперативної пам'яті. Цей параметр блокує робочий набір сторінок моделі в оперативній пам'яті, гарантуючи, що вони не будуть виведені на диск. Це може допомогти підтримувати продуктивність, уникати помилок сторінок та забезпечувати швидкий доступ до даних.",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Увімкнути відображення пам'яті (mmap) для завантаження даних моделі. Цей параметр дозволяє системі використовувати дискове сховище як розширення оперативної пам'яті, трактуючи файли на диску, як ніби вони знаходяться в RAM. Це може покращити продуктивність моделі, дозволяючи швидший доступ до даних. Однак, він може не працювати коректно на всіх системах і може споживати значну кількість дискового простору.",
"Enable Message Rating": "Увімкнути оцінку повідомлень",
@@ -333,7 +333,7 @@
"Enter Google PSE Engine Id": "Введіть Google PSE Engine Id",
"Enter Image Size (e.g. 512x512)": "Введіть розмір зображення (напр., 512x512)",
"Enter Jina API Key": "Введіть ключ API для Jina",
- "Enter Kagi Search API Key": "",
+ "Enter Kagi Search API Key": "Введіть ключ API Kagi Search",
"Enter language codes": "Введіть мовні коди",
"Enter Model ID": "Введіть ID моделі",
"Enter model tag (e.g. {{modelTag}})": "Введіть тег моделі (напр., {{modelTag}})",
@@ -368,8 +368,8 @@
"Enter Your Username": "Введіть своє ім'я користувача",
"Error": "Помилка",
"ERROR": "ПОМИЛКА",
- "Error accessing Google Drive: {{error}}": "",
- "Error uploading file: {{error}}": "",
+ "Error accessing Google Drive: {{error}}": "Помилка доступу до Google Drive: {{error}}",
+ "Error uploading file: {{error}}": "Помилка завантаження файлу: {{error}}",
"Evaluations": "Оцінювання",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Приклад: (&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "Приклад: ВСІ",
@@ -408,7 +408,7 @@
"File not found.": "Файл не знайдено.",
"File removed successfully.": "Файл успішно видалено.",
"File size should not exceed {{maxSize}} MB.": "Розмір файлу не повинен перевищувати {{maxSize}} МБ.",
- "File uploaded successfully": "",
+ "File uploaded successfully": "Файл успішно завантажено",
"Files": "Файли",
"Filter is now globally disabled": "Фільтр глобально вимкнено",
"Filter is now globally enabled": "Фільтр увімкнено глобально",
@@ -446,7 +446,7 @@
"Get started with {{WEBUI_NAME}}": "Почати з {{WEBUI_NAME}}",
"Global": "Глоб.",
"Good Response": "Гарна відповідь",
- "Google Drive": "",
+ "Google Drive": "Google Drive",
"Google PSE API Key": "Ключ API Google PSE",
"Google PSE Engine Id": "Id рушія Google PSE",
"Group created successfully": "Групу успішно створено",
@@ -502,7 +502,7 @@
"June": "Червень",
"JWT Expiration": "Термін дії JWT",
"JWT Token": "Токен JWT",
- "Kagi Search API Key": "",
+ "Kagi Search API Key": "Kagi Search API ключ",
"Keep Alive": "Зберегти активність",
"Key": "Ключ",
"Keyboard shortcuts": "Клавіатурні скорочення",
@@ -835,7 +835,7 @@
"Sign up": "Зареєструватися",
"Sign up to {{WEBUI_NAME}}": "Зареєструватися в {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "Увійти в {{WEBUI_NAME}}",
- "sk-1234": "",
+ "sk-1234": "sk-1234",
"Source": "Джерело",
"Speech Playback Speed": "Швидкість відтворення мовлення",
"Speech recognition error: {{error}}": "Помилка розпізнавання мови: {{error}}",
@@ -940,7 +940,7 @@
"TTS Voice": "Голос TTS",
"Type": "Тип",
"Type Hugging Face Resolve (Download) URL": "Введіть URL ресурсу Hugging Face Resolve (завантаження)",
- "Uh-oh! There was an issue with the response.": "",
+ "Uh-oh! There was an issue with the response.": "Ой-ой! Сталася проблема з відповіддю.",
"UI": "Користувацький інтерфейс",
"Unarchive All": "Розархівувати все",
"Unarchive All Archived Chats": "Розархівувати всі архівовані чати",
From 37ce88e74475555bb411a9fe6b3085264785822a Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 14:38:15 -0800
Subject: [PATCH 125/385] refac: floating buttons
---
src/app.css | 4 +
src/lib/apis/openai/index.ts | 32 ++
.../ContentRenderer/FloatingButtons.svelte | 303 ++++++++++++++++++
.../chat/Messages/ContentRenderer.svelte | 135 ++------
.../chat/Messages/ResponseMessage.svelte | 1 +
.../components/chat/Messages/Skeleton.svelte | 32 +-
6 files changed, 386 insertions(+), 121 deletions(-)
create mode 100644 src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
diff --git a/src/app.css b/src/app.css
index cf0afea4f9..334cae1a75 100644
--- a/src/app.css
+++ b/src/app.css
@@ -56,6 +56,10 @@ math {
@apply prose dark:prose-invert prose-headings:font-semibold prose-hr:my-4 prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line;
}
+.markdown-prose-xs {
+ @apply text-xs prose dark:prose-invert prose-headings:font-semibold prose-hr:my-0 prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line;
+}
+
.markdown a {
@apply underline;
}
diff --git a/src/lib/apis/openai/index.ts b/src/lib/apis/openai/index.ts
index f6d05babf7..ce55f359aa 100644
--- a/src/lib/apis/openai/index.ts
+++ b/src/lib/apis/openai/index.ts
@@ -273,6 +273,38 @@ export const verifyOpenAIConnection = async (
return res;
};
+
+export const chatCompletion = async (
+ token: string = '',
+ body: object,
+ url: string = OPENAI_API_BASE_URL
+): Promise<[Response | null, AbortController]> => {
+ const controller = new AbortController();
+ let error = null;
+
+ const res = await fetch(`${url}/chat/completions`, {
+ signal: controller.signal,
+ method: 'POST',
+ headers: {
+ Authorization: `Bearer ${token}`,
+ 'Content-Type': 'application/json'
+ },
+ body: JSON.stringify(body)
+ }).catch((err) => {
+ console.log(err);
+ error = err;
+ return null;
+ });
+
+ if (error) {
+ throw error;
+ }
+
+ return [res, controller];
+};
+
+
+
export const generateOpenAIChatCompletion = async (
token: string = '',
body: object,
diff --git a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
new file mode 100644
index 0000000000..62458f8896
--- /dev/null
+++ b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
@@ -0,0 +1,303 @@
+
+
+
+ {#if responseContent === null}
+ {#if !floatingInput}
+
+
{
+ selectedText = window.getSelection().toString();
+ floatingInput = true;
+
+ await tick();
+ setTimeout(() => {
+ const input = document.getElementById('floating-message-input');
+ if (input) {
+ input.focus();
+ }
+ }, 0);
+ }}
+ >
+
+
+ Ask
+
+
{
+ selectedText = window.getSelection().toString();
+ explainHandler();
+ }}
+ >
+
+
+ Explain
+
+
+ {:else}
+
+
{
+ if (e.key === 'Enter') {
+ askHandler();
+ }
+ }}
+ />
+
+
+
{
+ askHandler();
+ }}
+ >
+
+
+
+
+
+
+ {/if}
+ {:else}
+
+
+
+
+
+ {#if responseContent.trim() === ''}
+
+ {:else}
+
+ {/if}
+
+
+
+ {/if}
+
diff --git a/src/lib/components/chat/Messages/ContentRenderer.svelte b/src/lib/components/chat/Messages/ContentRenderer.svelte
index d77a9b6efb..cb3fe6db28 100644
--- a/src/lib/components/chat/Messages/ContentRenderer.svelte
+++ b/src/lib/components/chat/Messages/ContentRenderer.svelte
@@ -4,13 +4,13 @@
const dispatch = createEventDispatcher();
import Markdown from './Markdown.svelte';
- import LightBlub from '$lib/components/icons/LightBlub.svelte';
import { chatId, mobile, showArtifacts, showControls, showOverview } from '$lib/stores';
- import ChatBubble from '$lib/components/icons/ChatBubble.svelte';
- import { stringify } from 'postcss';
+ import FloatingButtons from '../ContentRenderer/FloatingButtons.svelte';
+ import { createMessagesList } from '$lib/utils';
export let id;
export let content;
+ export let history;
export let model = null;
export let sources = null;
@@ -19,13 +19,11 @@
export let onSourceClick = () => {};
let contentContainerElement;
- let buttonsContainerElement;
- let selectedText = '';
- let floatingInput = false;
- let floatingInputValue = '';
+ let floatingButtonsElement;
const updateButtonPosition = (event) => {
+ const buttonsContainerElement = document.getElementById(`floating-buttons-${id}`);
if (
!contentContainerElement?.contains(event.target) &&
!buttonsContainerElement?.contains(event.target)
@@ -42,7 +40,6 @@
let selection = window.getSelection();
if (selection.toString().trim().length > 0) {
- floatingInput = false;
const range = selection.getRangeAt(0);
const rect = range.getBoundingClientRect();
@@ -56,11 +53,10 @@
buttonsContainerElement.style.display = 'block';
// Calculate space available on the right
- const spaceOnRight = parentRect.width - (left + buttonsContainerElement.offsetWidth);
+ const spaceOnRight = parentRect.width - left;
+ let halfScreenWidth = window.innerWidth / 2;
- let thirdScreenWidth = window.innerWidth / 3;
-
- if (spaceOnRight < thirdScreenWidth) {
+ if (spaceOnRight < halfScreenWidth) {
const right = parentRect.right - rect.right;
buttonsContainerElement.style.right = `${right}px`;
buttonsContainerElement.style.left = 'auto'; // Reset left
@@ -69,7 +65,6 @@
buttonsContainerElement.style.left = `${left}px`;
buttonsContainerElement.style.right = 'auto'; // Reset right
}
-
buttonsContainerElement.style.top = `${top + 5}px`; // +5 to add some spacing
}
} else {
@@ -79,28 +74,14 @@
};
const closeFloatingButtons = () => {
+ const buttonsContainerElement = document.getElementById(`floating-buttons-${id}`);
if (buttonsContainerElement) {
buttonsContainerElement.style.display = 'none';
- selectedText = '';
- floatingInput = false;
- floatingInputValue = '';
}
- };
- const selectAskHandler = () => {
- dispatch('select', {
- type: 'ask',
- content: selectedText,
- input: floatingInputValue
- });
-
- floatingInput = false;
- floatingInputValue = '';
- selectedText = '';
-
- // Clear selection
- window.getSelection().removeAllRanges();
- buttonsContainerElement.style.display = 'none';
+ if (floatingButtonsElement) {
+ floatingButtonsElement.closeHandler();
+ }
};
const keydownHandler = (e) => {
@@ -176,86 +157,14 @@
/>
-{#if floatingButtons}
-
- {#if !floatingInput}
-
-
{
- selectedText = window.getSelection().toString();
- floatingInput = true;
- }}
- >
-
-
- Ask
-
-
{
- const selection = window.getSelection();
- dispatch('select', {
- type: 'explain',
- content: selection.toString()
- });
-
- // Clear selection
- selection.removeAllRanges();
- buttonsContainerElement.style.display = 'none';
- }}
- >
-
-
- Explain
-
-
- {:else}
-
-
{
- if (e.key === 'Enter') {
- selectAskHandler();
- }
- }}
- />
-
-
-
{
- selectAskHandler();
- }}
- >
-
-
-
-
-
-
- {/if}
-
+{#if floatingButtons && model}
+
{
+ closeFloatingButtons();
+ }}
+ />
{/if}
diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte
index 76210f68c8..79092bc238 100644
--- a/src/lib/components/chat/Messages/ResponseMessage.svelte
+++ b/src/lib/components/chat/Messages/ResponseMessage.svelte
@@ -620,6 +620,7 @@
+ export let size = 'md';
+
+
From ad5cc9d79e42a880a6440391f404b66bf7a0e721 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 14:44:12 -0800
Subject: [PATCH 126/385] refac
---
src/app.css | 4 ++--
.../chat/ContentRenderer/FloatingButtons.svelte | 16 +++++++++++++---
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/app.css b/src/app.css
index 334cae1a75..fcc438bea4 100644
--- a/src/app.css
+++ b/src/app.css
@@ -53,11 +53,11 @@ math {
}
.markdown-prose {
- @apply prose dark:prose-invert prose-headings:font-semibold prose-hr:my-4 prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line;
+ @apply prose dark:prose-invert prose-headings:font-semibold prose-hr:my-4 prose-hr:border-gray-100 prose-hr:dark:border-gray-800 prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line;
}
.markdown-prose-xs {
- @apply text-xs prose dark:prose-invert prose-headings:font-semibold prose-hr:my-0 prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line;
+ @apply text-xs prose dark:prose-invert prose-headings:font-semibold prose-hr:my-0 prose-hr:border-gray-100 prose-hr:dark:border-gray-800 prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line;
}
.markdown a {
diff --git a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
index 62458f8896..97b01e05d1 100644
--- a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
+++ b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
@@ -79,9 +79,14 @@
if (data.choices && data.choices[0]?.delta?.content) {
responseContent += data.choices[0].delta.content;
- // Scroll to bottom
+ // Scroll to bottom only if the scroll is at the bottom give 50px buffer
const responseContainer = document.getElementById('response-container');
- responseContainer.scrollTop = responseContainer.scrollHeight;
+ if (
+ responseContainer.scrollHeight - responseContainer.clientHeight <=
+ responseContainer.scrollTop + 50
+ ) {
+ responseContainer.scrollTop = responseContainer.scrollHeight;
+ }
}
} catch (e) {
console.error(e);
@@ -152,7 +157,12 @@
// Scroll to bottom
const responseContainer = document.getElementById('response-container');
- responseContainer.scrollTop = responseContainer.scrollHeight;
+ if (
+ responseContainer.scrollHeight - responseContainer.clientHeight <=
+ responseContainer.scrollTop + 50
+ ) {
+ responseContainer.scrollTop = responseContainer.scrollHeight;
+ }
}
} catch (e) {
console.error(e);
From 47318daef094a7346d96cc448a0e10c26ee4520c Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 15:09:17 -0800
Subject: [PATCH 127/385] enh: add to conversation
---
src/lib/components/chat/Chat.svelte | 65 +++++++++++++++++++
.../ContentRenderer/FloatingButtons.svelte | 24 +++++--
src/lib/components/chat/Messages.svelte | 2 +
.../chat/Messages/ContentRenderer.svelte | 6 +-
.../components/chat/Messages/Message.svelte | 3 +
.../Messages/MultiResponseMessages.svelte | 3 +
.../chat/Messages/ResponseMessage.svelte | 5 ++
7 files changed, 103 insertions(+), 5 deletions(-)
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index 1b8e1e3ea9..4b4fab6e16 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -985,6 +985,70 @@
}
};
+ const addMessages = async ({ modelId, messages }) => {
+ const model = $models.filter((m) => m.id === modelId).at(0);
+ const messageList = createMessagesList(history.currentId);
+
+ let parentMessage = messageList.length !== 0 ? messageList.at(-1) : null;
+ let parentId = parentMessage ? parentMessage.id : null;
+ for (const message of messages) {
+ let messageId = uuidv4();
+
+ if (message.role === 'user') {
+ const userMessage = {
+ id: messageId,
+ parentId: parentId,
+ childrenIds: [],
+ timestamp: Math.floor(Date.now() / 1000),
+ ...message
+ };
+
+ if (parentMessage) {
+ parentMessage.childrenIds.push(messageId);
+ history.messages[parentMessage.id] = parentMessage;
+ }
+
+ history.messages[messageId] = userMessage;
+ parentMessage = userMessage;
+ parentId = messageId;
+ } else {
+ const responseMessage = {
+ id: messageId,
+ parentId: parentId,
+ childrenIds: [],
+ done: true,
+ model: model.id,
+ modelName: model.name ?? model.id,
+ modelIdx: 0,
+ timestamp: Math.floor(Date.now() / 1000),
+ ...message
+ };
+
+ if (parentMessage) {
+ parentMessage.childrenIds.push(messageId);
+ history.messages[parentMessage.id] = parentMessage;
+ }
+
+ history.messages[messageId] = responseMessage;
+ parentMessage = responseMessage;
+ parentId = messageId;
+ }
+ }
+
+ history.currentId = parentId;
+ await tick();
+
+ if (autoScroll) {
+ scrollToBottom();
+ }
+
+ if (messages.length === 0) {
+ await initChatHandler();
+ } else {
+ await saveChatHandler($chatId);
+ }
+ };
+
const chatCompletionEventHandler = async (data, message, chatId) => {
const { id, done, choices, sources, selectedModelId, error, usage } = data;
@@ -1937,6 +2001,7 @@
{regenerateResponse}
{mergeResponses}
{chatActionHandler}
+ {addMessages}
bottomPadding={files.length > 0}
/>
diff --git a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
index 97b01e05d1..a6ac48ce91 100644
--- a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
+++ b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
@@ -26,6 +26,7 @@
let prompt = '';
let responseContent = null;
+ let responseDone = false;
const askHandler = async () => {
if (!model) {
@@ -69,6 +70,7 @@
for (const line of lines) {
if (line.startsWith('data: ')) {
if (line.startsWith('data: [DONE]')) {
+ responseDone = true;
continue;
} else {
// Parse the JSON chunk
@@ -145,6 +147,7 @@
for (const line of lines) {
if (line.startsWith('data: ')) {
if (line.startsWith('data: [DONE]')) {
+ responseDone = true;
continue;
} else {
// Parse the JSON chunk
@@ -181,7 +184,7 @@
};
const addHandler = async () => {
- newMessages = [
+ const messages = [
{
role: 'user',
content: prompt
@@ -192,13 +195,15 @@
}
];
- responseContent = null;
-
- onAdd();
+ onAdd({
+ modelId: model,
+ messages: messages
+ });
};
export const closeHandler = () => {
responseContent = null;
+ responseDone = false;
floatingInput = false;
floatingInputValue = '';
};
@@ -306,6 +311,17 @@
{:else}
{/if}
+
+ {#if responseDone}
+
+
+ {$i18n.t('Add')}
+
+
+ {/if}
diff --git a/src/lib/components/chat/Messages.svelte b/src/lib/components/chat/Messages.svelte
index 923532cc7a..2b0748dc7e 100644
--- a/src/lib/components/chat/Messages.svelte
+++ b/src/lib/components/chat/Messages.svelte
@@ -33,6 +33,7 @@
export let chatActionHandler: Function;
export let showMessage: Function = () => {};
export let submitMessage: Function = () => {};
+ export let addMessages: Function = () => {};
export let readOnly = false;
@@ -404,6 +405,7 @@
{regenerateResponse}
{continueResponse}
{mergeResponses}
+ {addMessages}
{triggerScroll}
{readOnly}
/>
diff --git a/src/lib/components/chat/Messages/ContentRenderer.svelte b/src/lib/components/chat/Messages/ContentRenderer.svelte
index cb3fe6db28..e71df06363 100644
--- a/src/lib/components/chat/Messages/ContentRenderer.svelte
+++ b/src/lib/components/chat/Messages/ContentRenderer.svelte
@@ -16,7 +16,9 @@
export let save = false;
export let floatingButtons = true;
+
export let onSourceClick = () => {};
+ export let onAddMessages = () => {};
let contentContainerElement;
@@ -163,7 +165,9 @@
{id}
model={model?.id}
messages={createMessagesList(history, id)}
- onSave={() => {
+ onAdd={({ modelId, messages }) => {
+ console.log(modelId, messages);
+ onAddMessages({ modelId, messages });
closeFloatingButtons();
}}
/>
diff --git a/src/lib/components/chat/Messages/Message.svelte b/src/lib/components/chat/Messages/Message.svelte
index aeee99612e..8c14fda0fa 100644
--- a/src/lib/components/chat/Messages/Message.svelte
+++ b/src/lib/components/chat/Messages/Message.svelte
@@ -35,6 +35,7 @@
export let continueResponse;
export let mergeResponses;
+ export let addMessages;
export let triggerScroll;
export let readOnly = false;
@@ -79,6 +80,7 @@
{submitMessage}
{continueResponse}
{regenerateResponse}
+ {addMessages}
{readOnly}
/>
{:else}
@@ -97,6 +99,7 @@
{regenerateResponse}
{mergeResponses}
{triggerScroll}
+ {addMessages}
{readOnly}
/>
{/if}
diff --git a/src/lib/components/chat/Messages/MultiResponseMessages.svelte b/src/lib/components/chat/Messages/MultiResponseMessages.svelte
index 11497a70e0..e7874df638 100644
--- a/src/lib/components/chat/Messages/MultiResponseMessages.svelte
+++ b/src/lib/components/chat/Messages/MultiResponseMessages.svelte
@@ -36,6 +36,8 @@
export let regenerateResponse: Function;
export let mergeResponses: Function;
+ export let addMessages: Function;
+
export let triggerScroll: Function;
const dispatch = createEventDispatcher();
@@ -233,6 +235,7 @@
groupedMessageIdsIdx[modelIdx] =
groupedMessageIds[modelIdx].messageIds.length - 1;
}}
+ {addMessages}
{readOnly}
/>
{/if}
diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte
index 79092bc238..33068880d6 100644
--- a/src/lib/components/chat/Messages/ResponseMessage.svelte
+++ b/src/lib/components/chat/Messages/ResponseMessage.svelte
@@ -118,6 +118,8 @@
export let continueResponse: Function;
export let regenerateResponse: Function;
+ export let addMessages: Function;
+
export let isLastMessage = true;
export let readOnly = false;
@@ -634,6 +636,9 @@
sourceButton.click();
}
}}
+ onAddMessages={({ modelId, messages }) => {
+ addMessages({ modelId, messages });
+ }}
on:update={(e) => {
const { raw, oldContent, newContent } = e.detail;
From 6524cae407e112a7a04cb822270c5a1df6455e53 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 15:19:54 -0800
Subject: [PATCH 128/385] refac
---
src/lib/components/chat/Chat.svelte | 17 ++++++++---------
.../chat/ContentRenderer/FloatingButtons.svelte | 1 +
.../chat/Messages/ContentRenderer.svelte | 6 +++---
.../chat/Messages/ResponseMessage.svelte | 4 ++--
4 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index 4b4fab6e16..242c016c1f 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -985,19 +985,18 @@
}
};
- const addMessages = async ({ modelId, messages }) => {
+ const addMessages = async ({ modelId, parentId, messages }) => {
const model = $models.filter((m) => m.id === modelId).at(0);
- const messageList = createMessagesList(history.currentId);
- let parentMessage = messageList.length !== 0 ? messageList.at(-1) : null;
- let parentId = parentMessage ? parentMessage.id : null;
+ let parentMessage = history.messages[parentId];
+ let currentParentId = parentMessage ? parentMessage.id : null;
for (const message of messages) {
let messageId = uuidv4();
if (message.role === 'user') {
const userMessage = {
id: messageId,
- parentId: parentId,
+ parentId: currentParentId,
childrenIds: [],
timestamp: Math.floor(Date.now() / 1000),
...message
@@ -1010,11 +1009,11 @@
history.messages[messageId] = userMessage;
parentMessage = userMessage;
- parentId = messageId;
+ currentParentId = messageId;
} else {
const responseMessage = {
id: messageId,
- parentId: parentId,
+ parentId: currentParentId,
childrenIds: [],
done: true,
model: model.id,
@@ -1031,11 +1030,11 @@
history.messages[messageId] = responseMessage;
parentMessage = responseMessage;
- parentId = messageId;
+ currentParentId = messageId;
}
}
- history.currentId = parentId;
+ history.currentId = currentParentId;
await tick();
if (autoScroll) {
diff --git a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
index a6ac48ce91..6b1c7b146d 100644
--- a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
+++ b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
@@ -197,6 +197,7 @@
onAdd({
modelId: model,
+ parentId: id,
messages: messages
});
};
diff --git a/src/lib/components/chat/Messages/ContentRenderer.svelte b/src/lib/components/chat/Messages/ContentRenderer.svelte
index e71df06363..40cf0352f8 100644
--- a/src/lib/components/chat/Messages/ContentRenderer.svelte
+++ b/src/lib/components/chat/Messages/ContentRenderer.svelte
@@ -165,9 +165,9 @@
{id}
model={model?.id}
messages={createMessagesList(history, id)}
- onAdd={({ modelId, messages }) => {
- console.log(modelId, messages);
- onAddMessages({ modelId, messages });
+ onAdd={({ modelId, parentId, messages }) => {
+ console.log(modelId, parentId, messages);
+ onAddMessages({ modelId, parentId, messages });
closeFloatingButtons();
}}
/>
diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte
index 33068880d6..ae056531fb 100644
--- a/src/lib/components/chat/Messages/ResponseMessage.svelte
+++ b/src/lib/components/chat/Messages/ResponseMessage.svelte
@@ -636,8 +636,8 @@
sourceButton.click();
}
}}
- onAddMessages={({ modelId, messages }) => {
- addMessages({ modelId, messages });
+ onAddMessages={({ modelId, parentId, messages }) => {
+ addMessages({ modelId, parentId, messages });
}}
on:update={(e) => {
const { raw, oldContent, newContent } = e.detail;
From 8cc834901f54f8ebc50597c18f25f75582850c3d Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 15:21:27 -0800
Subject: [PATCH 129/385] refac
---
.../ContentRenderer/FloatingButtons.svelte | 35 ++++++++++---------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
index 6b1c7b146d..9642108347 100644
--- a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
+++ b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
@@ -28,6 +28,17 @@
let responseContent = null;
let responseDone = false;
+ const autoScroll = async () => {
+ // Scroll to bottom only if the scroll is at the bottom give 50px buffer
+ const responseContainer = document.getElementById('response-container');
+ if (
+ responseContainer.scrollHeight - responseContainer.clientHeight <=
+ responseContainer.scrollTop + 50
+ ) {
+ responseContainer.scrollTop = responseContainer.scrollHeight;
+ }
+ };
+
const askHandler = async () => {
if (!model) {
toast.error('Model not selected');
@@ -71,6 +82,9 @@
if (line.startsWith('data: ')) {
if (line.startsWith('data: [DONE]')) {
responseDone = true;
+
+ await tick();
+ autoScroll();
continue;
} else {
// Parse the JSON chunk
@@ -81,14 +95,7 @@
if (data.choices && data.choices[0]?.delta?.content) {
responseContent += data.choices[0].delta.content;
- // Scroll to bottom only if the scroll is at the bottom give 50px buffer
- const responseContainer = document.getElementById('response-container');
- if (
- responseContainer.scrollHeight - responseContainer.clientHeight <=
- responseContainer.scrollTop + 50
- ) {
- responseContainer.scrollTop = responseContainer.scrollHeight;
- }
+ autoScroll();
}
} catch (e) {
console.error(e);
@@ -148,6 +155,9 @@
if (line.startsWith('data: ')) {
if (line.startsWith('data: [DONE]')) {
responseDone = true;
+
+ await tick();
+ autoScroll();
continue;
} else {
// Parse the JSON chunk
@@ -158,14 +168,7 @@
if (data.choices && data.choices[0]?.delta?.content) {
responseContent += data.choices[0].delta.content;
- // Scroll to bottom
- const responseContainer = document.getElementById('response-container');
- if (
- responseContainer.scrollHeight - responseContainer.clientHeight <=
- responseContainer.scrollTop + 50
- ) {
- responseContainer.scrollTop = responseContainer.scrollHeight;
- }
+ autoScroll();
}
} catch (e) {
console.error(e);
From e9cb6e4714bb9a9d2b38bace8302d910fb2e4527 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 18:29:57 -0800
Subject: [PATCH 130/385] fix
---
src/lib/apis/openai/index.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/lib/apis/openai/index.ts b/src/lib/apis/openai/index.ts
index ce55f359aa..7dd5105111 100644
--- a/src/lib/apis/openai/index.ts
+++ b/src/lib/apis/openai/index.ts
@@ -1,4 +1,4 @@
-import { OPENAI_API_BASE_URL } from '$lib/constants';
+import { OPENAI_API_BASE_URL, WEBUI_API_BASE_URL, WEBUI_BASE_URL } from '$lib/constants';
export const getOpenAIConfig = async (token: string = '') => {
let error = null;
@@ -308,7 +308,7 @@ export const chatCompletion = async (
export const generateOpenAIChatCompletion = async (
token: string = '',
body: object,
- url: string = OPENAI_API_BASE_URL
+ url: string = `${WEBUI_BASE_URL}/api`
) => {
let error = null;
From b1b2a6d78c0e14fcdc74994437c4be7d6396e855 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 18:31:20 -0800
Subject: [PATCH 131/385] refac
---
src/lib/apis/openai/index.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/apis/openai/index.ts b/src/lib/apis/openai/index.ts
index 7dd5105111..a67db582b8 100644
--- a/src/lib/apis/openai/index.ts
+++ b/src/lib/apis/openai/index.ts
@@ -277,7 +277,7 @@ export const verifyOpenAIConnection = async (
export const chatCompletion = async (
token: string = '',
body: object,
- url: string = OPENAI_API_BASE_URL
+ url: string = `${WEBUI_BASE_URL}/api`
): Promise<[Response | null, AbortController]> => {
const controller = new AbortController();
let error = null;
From cf0aca1487fd423c6ac17ce586b6caaf178836e1 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 18:37:25 -0800
Subject: [PATCH 132/385] fix
---
backend/open_webui/utils/middleware.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 6d46b738d9..472f4ecf0b 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -528,7 +528,14 @@ async def process_chat_response(request, response, user, events, metadata, tasks
return response
event_emitter = None
- if "session_id" in metadata:
+ if (
+ "session_id" in metadata
+ and metadata["session_id"]
+ and "chat_id" in metadata
+ and metadata["chat_id"]
+ and "message_id" in metadata
+ and metadata["message_id"]
+ ):
event_emitter = get_event_emitter(metadata)
if event_emitter:
@@ -701,6 +708,7 @@ async def process_chat_response(request, response, user, events, metadata, tasks
return {"status": True, "task_id": task_id}
else:
+
# Fallback to the original response
async def stream_wrapper(original_generator, events):
def wrap_item(item):
From da0438f08c8fde9eb68cb69cbbf364a4b59073c9 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 19:13:17 -0800
Subject: [PATCH 133/385] fix
---
.../chat/ContentRenderer/FloatingButtons.svelte | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
index 9642108347..d3bd28631c 100644
--- a/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
+++ b/src/lib/components/chat/ContentRenderer/FloatingButtons.svelte
@@ -56,7 +56,10 @@
role: 'user',
content: prompt
}
- ],
+ ].map((message) => ({
+ role: message.role,
+ content: message.content
+ })),
stream: true // Enable streaming
});
@@ -129,7 +132,10 @@
role: 'user',
content: prompt
}
- ],
+ ].map((message) => ({
+ role: message.role,
+ content: message.content
+ })),
stream: true // Enable streaming
});
From 03cfac185f2aab60c6186ac09a091b1f993beab7 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 19:57:26 -0800
Subject: [PATCH 134/385] chore: bump
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 7f0f368fb8..aa5974d017 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "open-webui",
- "version": "0.4.8",
+ "version": "0.5.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "open-webui",
- "version": "0.4.8",
+ "version": "0.5.0",
"dependencies": {
"@codemirror/lang-javascript": "^6.2.2",
"@codemirror/lang-python": "^6.1.6",
diff --git a/package.json b/package.json
index 3b5911791d..c0cc297107 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "open-webui",
- "version": "0.4.8",
+ "version": "0.5.0",
"private": true,
"scripts": {
"dev": "npm run pyodide:fetch && vite dev --host",
From 4820ecc3713ab8ef2a784ff14792b834d985541b Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 22:54:43 -0800
Subject: [PATCH 135/385] enh: webhook notification
---
backend/open_webui/models/users.py | 12 ++++++++
backend/open_webui/socket/main.py | 6 ++++
backend/open_webui/utils/middleware.py | 29 +++++++++++++++++-
backend/open_webui/utils/webhook.py | 1 +
.../components/chat/Settings/Account.svelte | 30 ++++++++++++++++++-
.../Settings/Account/UpdatePassword.svelte | 11 ++++---
src/lib/components/chat/SettingsModal.svelte | 1 +
7 files changed, 84 insertions(+), 6 deletions(-)
diff --git a/backend/open_webui/models/users.py b/backend/open_webui/models/users.py
index 5b6c272142..bceb725729 100644
--- a/backend/open_webui/models/users.py
+++ b/backend/open_webui/models/users.py
@@ -168,6 +168,18 @@ class UsersTable:
except Exception:
return None
+ def get_user_webhook_url_by_id(self, id: str) -> Optional[str]:
+ try:
+ with get_db() as db:
+ user = db.query(User).filter_by(id=id).first()
+ return (
+ user.settings.get("ui", {})
+ .get("notifications", {})
+ .get("webhook_url", None)
+ )
+ except Exception:
+ return None
+
def update_user_role_by_id(self, id: str, role: str) -> Optional[UserModel]:
try:
with get_db() as db:
diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py
index f336030d3e..aaf44e2cb8 100644
--- a/backend/open_webui/socket/main.py
+++ b/backend/open_webui/socket/main.py
@@ -249,3 +249,9 @@ def get_event_call(request_info):
return response
return __event_call__
+
+
+def get_user_id_from_session_pool(sid):
+ print("get_user_id_from_session_pool", sid)
+ print(SESSION_POOL.get(sid))
+ return SESSION_POOL.get(sid)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 472f4ecf0b..0ea10ebf5f 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -18,15 +18,18 @@ from starlette.responses import Response, StreamingResponse
from open_webui.models.chats import Chats
+from open_webui.models.users import Users
from open_webui.socket.main import (
get_event_call,
get_event_emitter,
+ get_user_id_from_session_pool,
)
from open_webui.routers.tasks import (
generate_queries,
generate_title,
generate_chat_tags,
)
+from open_webui.utils.webhook import post_webhook
from open_webui.models.users import UserModel
@@ -55,7 +58,12 @@ from open_webui.utils.plugin import load_function_module_by_id
from open_webui.tasks import create_task
from open_webui.config import DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE
-from open_webui.env import SRC_LOG_LEVELS, GLOBAL_LOG_LEVEL, BYPASS_MODEL_ACCESS_CONTROL
+from open_webui.env import (
+ SRC_LOG_LEVELS,
+ GLOBAL_LOG_LEVEL,
+ BYPASS_MODEL_ACCESS_CONTROL,
+ WEBUI_URL,
+)
from open_webui.constants import TASKS
@@ -593,6 +601,25 @@ async def process_chat_response(request, response, user, events, metadata, tasks
if done:
data = {"done": True, "content": content, "title": title}
+
+ if (
+ get_user_id_from_session_pool(metadata["session_id"])
+ is None
+ ):
+ webhook_url = Users.get_user_webhook_url_by_id(user.id)
+ print(f"webhook_url: {webhook_url}")
+ if webhook_url:
+ post_webhook(
+ webhook_url,
+ f"{title} - {WEBUI_URL}/{metadata['chat_id']}\n\n{content}",
+ {
+ "action": "chat",
+ "message": content,
+ "title": title,
+ "url": f"{WEBUI_URL}/{metadata['chat_id']}",
+ },
+ )
+
else:
continue
diff --git a/backend/open_webui/utils/webhook.py b/backend/open_webui/utils/webhook.py
index 234209884f..e6e10884a2 100644
--- a/backend/open_webui/utils/webhook.py
+++ b/backend/open_webui/utils/webhook.py
@@ -11,6 +11,7 @@ log.setLevel(SRC_LOG_LEVELS["WEBHOOK"])
def post_webhook(url: str, message: str, event_data: dict) -> bool:
try:
+ log.debug(f"post_webhook: {url}, {message}, {event_data}")
payload = {}
# Slack and Google Chat Webhooks
diff --git a/src/lib/components/chat/Settings/Account.svelte b/src/lib/components/chat/Settings/Account.svelte
index 70c53977ef..fd14e696ab 100644
--- a/src/lib/components/chat/Settings/Account.svelte
+++ b/src/lib/components/chat/Settings/Account.svelte
@@ -2,7 +2,7 @@
import { toast } from 'svelte-sonner';
import { onMount, getContext } from 'svelte';
- import { user, config } from '$lib/stores';
+ import { user, config, settings } from '$lib/stores';
import { updateUserProfile, createAPIKey, getAPIKey } from '$lib/apis/auths';
import UpdatePassword from './Account/UpdatePassword.svelte';
@@ -16,10 +16,12 @@
const i18n = getContext('i18n');
export let saveHandler: Function;
+ export let saveSettings: Function;
let profileImageUrl = '';
let name = '';
+ let webhookUrl = '';
let showAPIKeys = false;
let JWTTokenCopied = false;
@@ -35,6 +37,15 @@
}
}
+ if (webhookUrl !== $settings?.notifications?.webhook_url) {
+ saveSettings({
+ notifications: {
+ ...$settings.notifications,
+ webhook_url: webhookUrl
+ }
+ });
+ }
+
const updatedUser = await updateUserProfile(localStorage.token, name, profileImageUrl).catch(
(error) => {
toast.error(error);
@@ -60,6 +71,7 @@
onMount(async () => {
name = $user.name;
profileImageUrl = $user.profile_image_url;
+ webhookUrl = $settings?.notifications?.webhook_url ?? '';
APIKey = await getAPIKey(localStorage.token).catch((error) => {
console.log(error);
@@ -226,6 +238,22 @@
+
+
+
+
{$i18n.t('Notification Webhook')}
+
+
+
+
+
+
diff --git a/src/lib/components/chat/Settings/Account/UpdatePassword.svelte b/src/lib/components/chat/Settings/Account/UpdatePassword.svelte
index 175ee61ebb..eec899002e 100644
--- a/src/lib/components/chat/Settings/Account/UpdatePassword.svelte
+++ b/src/lib/components/chat/Settings/Account/UpdatePassword.svelte
@@ -60,9 +60,10 @@
@@ -74,9 +75,10 @@
@@ -88,9 +90,10 @@
@@ -100,7 +103,7 @@
{$i18n.t('Update password')}
diff --git a/src/lib/components/chat/SettingsModal.svelte b/src/lib/components/chat/SettingsModal.svelte
index 2c381a62fe..62f6d016f5 100644
--- a/src/lib/components/chat/SettingsModal.svelte
+++ b/src/lib/components/chat/SettingsModal.svelte
@@ -637,6 +637,7 @@
{:else if selectedTab === 'account'}
{
toast.success($i18n.t('Settings saved successfully!'));
}}
From 50db2514dc0175c3410509915816879bc4e87d50 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 22:55:46 -0800
Subject: [PATCH 136/385] refac
---
backend/open_webui/utils/middleware.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 0ea10ebf5f..00434a9a92 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -611,12 +611,12 @@ async def process_chat_response(request, response, user, events, metadata, tasks
if webhook_url:
post_webhook(
webhook_url,
- f"{title} - {WEBUI_URL}/{metadata['chat_id']}\n\n{content}",
+ f"{title} - {WEBUI_URL}/c/{metadata['chat_id']}\n\n{content}",
{
"action": "chat",
"message": content,
"title": title,
- "url": f"{WEBUI_URL}/{metadata['chat_id']}",
+ "url": f"{WEBUI_URL}/c/{metadata['chat_id']}",
},
)
From 2fd7bbc2595d2c8f51ae6ffcd3290bb1862e59e0 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 22:56:37 -0800
Subject: [PATCH 137/385] refac
---
backend/open_webui/socket/main.py | 2 --
backend/open_webui/utils/middleware.py | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py
index aaf44e2cb8..965fb93969 100644
--- a/backend/open_webui/socket/main.py
+++ b/backend/open_webui/socket/main.py
@@ -252,6 +252,4 @@ def get_event_call(request_info):
def get_user_id_from_session_pool(sid):
- print("get_user_id_from_session_pool", sid)
- print(SESSION_POOL.get(sid))
return SESSION_POOL.get(sid)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 00434a9a92..d876539de1 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -602,12 +602,12 @@ async def process_chat_response(request, response, user, events, metadata, tasks
if done:
data = {"done": True, "content": content, "title": title}
+ # Send a webhook notification if the user is not active
if (
get_user_id_from_session_pool(metadata["session_id"])
is None
):
webhook_url = Users.get_user_webhook_url_by_id(user.id)
- print(f"webhook_url: {webhook_url}")
if webhook_url:
post_webhook(
webhook_url,
From 423fee347a9b15e8cf00e929c1c29ae2353b7f43 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 23:05:22 -0800
Subject: [PATCH 138/385] refac: discord webhook
---
backend/open_webui/utils/webhook.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/backend/open_webui/utils/webhook.py b/backend/open_webui/utils/webhook.py
index e6e10884a2..d4bdbdb4fc 100644
--- a/backend/open_webui/utils/webhook.py
+++ b/backend/open_webui/utils/webhook.py
@@ -19,7 +19,11 @@ def post_webhook(url: str, message: str, event_data: dict) -> bool:
payload["text"] = message
# Discord Webhooks
elif "https://discord.com/api/webhooks" in url:
- payload["content"] = message
+ payload["content"] = (
+ message
+ if len(message) > 2000
+ else f"{message[: 2000 - 14]}... (truncated)"
+ )
# Microsoft Teams Webhooks
elif "webhook.office.com" in url:
action = event_data.get("action", "undefined")
From de2825bb89d9fdd0586950e9c93eb7dae872b6a0 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Fri, 20 Dec 2024 23:09:40 -0800
Subject: [PATCH 139/385] refac
---
backend/open_webui/utils/middleware.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index d876539de1..9261c26b35 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -608,15 +608,16 @@ async def process_chat_response(request, response, user, events, metadata, tasks
is None
):
webhook_url = Users.get_user_webhook_url_by_id(user.id)
+ webui_url = f"{request.headers.get('x-forwarded-proto', request.url.scheme)}://{request.headers.get('x-forwarded-host', f'{request.client.host}:{request.url.port}')}"
if webhook_url:
post_webhook(
webhook_url,
- f"{title} - {WEBUI_URL}/c/{metadata['chat_id']}\n\n{content}",
+ f"{title} - {webui_url}/c/{metadata['chat_id']}\n\n{content}",
{
"action": "chat",
"message": content,
"title": title,
- "url": f"{WEBUI_URL}/c/{metadata['chat_id']}",
+ "url": f"{webui_url}/c/{metadata['chat_id']}",
},
)
From 2b7213f04a084d60da30151af12f834d6856ec5b Mon Sep 17 00:00:00 2001
From: Tiancong Li
Date: Sat, 21 Dec 2024 15:47:02 +0800
Subject: [PATCH 140/385] i18n: update zh-TW
---
src/lib/i18n/locales/zh-TW/translation.json | 22 ++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json
index 771ee73a96..994c13c37b 100644
--- a/src/lib/i18n/locales/zh-TW/translation.json
+++ b/src/lib/i18n/locales/zh-TW/translation.json
@@ -119,7 +119,7 @@
"Camera": "相機",
"Cancel": "取消",
"Capabilities": "功能",
- "Capture": "",
+ "Capture": "擷取",
"Certificate Path": "憑證路徑",
"Change Password": "修改密碼",
"Character": "角色",
@@ -164,7 +164,7 @@
"Collection": "收藏",
"Color": "顏色",
"ComfyUI": "ComfyUI",
- "ComfyUI API Key": "",
+ "ComfyUI API Key": "ComfyUI API 金鑰",
"ComfyUI Base URL": "ComfyUI 基礎 URL",
"ComfyUI Base URL is required.": "需要 ComfyUI 基礎 URL。",
"ComfyUI Workflow": "ComfyUI 工作流程",
@@ -305,7 +305,7 @@
"Enable API Key Auth": "啟用 API 金鑰驗證",
"Enable autocomplete generation for chat messages": "啟用聊天訊息的自動完成生成",
"Enable Community Sharing": "啟用社群分享",
- "Enable Google Drive": "",
+ "Enable Google Drive": "啟用 Google Drive",
"Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "啟用記憶體鎖定(mlock)以防止模型資料被換出 RAM。此選項會將模型的工作頁面集鎖定在 RAM 中,確保它們不會被換出到磁碟。這可以透過避免頁面錯誤和確保快速資料存取來維持效能。",
"Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "啟用記憶體映射(mmap)以載入模型資料。此選項允許系統使用磁碟儲存作為 RAM 的延伸,透過將磁碟檔案視為在 RAM 中來處理。這可以透過允許更快的資料存取來改善模型效能。然而,它可能無法在所有系統上正常運作,並且可能會消耗大量磁碟空間。",
"Enable Message Rating": "啟用訊息評分",
@@ -333,7 +333,7 @@
"Enter Google PSE Engine Id": "輸入 Google PSE 引擎 ID",
"Enter Image Size (e.g. 512x512)": "輸入圖片大小(例如:512x512)",
"Enter Jina API Key": "輸入 Jina API 金鑰",
- "Enter Kagi Search API Key": "",
+ "Enter Kagi Search API Key": "輸入 Kagi 搜尋 API 金鑰",
"Enter language codes": "輸入語言代碼",
"Enter Model ID": "輸入模型 ID",
"Enter model tag (e.g. {{modelTag}})": "輸入模型標籤(例如:{{modelTag}})",
@@ -368,8 +368,8 @@
"Enter Your Username": "輸入您的使用者名稱",
"Error": "錯誤",
"ERROR": "錯誤",
- "Error accessing Google Drive: {{error}}": "",
- "Error uploading file: {{error}}": "",
+ "Error accessing Google Drive: {{error}}": "存取 Google Drive 時發生錯誤:{{error}}",
+ "Error uploading file: {{error}}": "上傳檔案時發生錯誤:{{error}}",
"Evaluations": "評估",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "範例:(&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "範例:ALL",
@@ -408,7 +408,7 @@
"File not found.": "找不到檔案。",
"File removed successfully.": "成功移除檔案。",
"File size should not exceed {{maxSize}} MB.": "檔案大小不應超過 {{maxSize}} MB。",
- "File uploaded successfully": "",
+ "File uploaded successfully": "檔案上傳成功",
"Files": "檔案",
"Filter is now globally disabled": "篩選器現在已全域停用",
"Filter is now globally enabled": "篩選器現在已全域啟用",
@@ -446,7 +446,7 @@
"Get started with {{WEBUI_NAME}}": "開始使用 {{WEBUI_NAME}}",
"Global": "全域",
"Good Response": "良好回應",
- "Google Drive": "",
+ "Google Drive": "Google Drive",
"Google PSE API Key": "Google PSE API 金鑰",
"Google PSE Engine Id": "Google PSE 引擎 ID",
"Group created successfully": "群組建立成功",
@@ -502,7 +502,7 @@
"June": "6 月",
"JWT Expiration": "JWT 過期時間",
"JWT Token": "JWT Token",
- "Kagi Search API Key": "",
+ "Kagi Search API Key": "Kagi 搜尋 API 金鑰",
"Keep Alive": "保持連線",
"Key": "金鑰",
"Keyboard shortcuts": "鍵盤快捷鍵",
@@ -833,7 +833,7 @@
"Sign up": "註冊",
"Sign up to {{WEBUI_NAME}}": "註冊 {{WEBUI_NAME}}",
"Signing in to {{WEBUI_NAME}}": "正在登入 {{WEBUI_NAME}}",
- "sk-1234": "",
+ "sk-1234": "sk-1234",
"Source": "來源",
"Speech Playback Speed": "語音播放速度",
"Speech recognition error: {{error}}": "語音辨識錯誤:{{error}}",
@@ -938,7 +938,7 @@
"TTS Voice": "文字轉語音 (TTS) 聲音",
"Type": "類型",
"Type Hugging Face Resolve (Download) URL": "輸入 Hugging Face 的解析(下載)URL",
- "Uh-oh! There was an issue with the response.": "",
+ "Uh-oh! There was an issue with the response.": "哎呀!回應出了點問題。",
"UI": "使用者介面",
"Unarchive All": "解除封存全部",
"Unarchive All Archived Chats": "解除封存全部已封存對話",
From 6981e1e467f30da3c9f3fd244d302711e1ea0642 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sat, 21 Dec 2024 09:16:29 -0700
Subject: [PATCH 141/385] enh: preserve input
---
src/lib/components/chat/Chat.svelte | 41 +++++++++++++++++++++
src/lib/components/chat/MessageInput.svelte | 8 ++++
2 files changed, 49 insertions(+)
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index 242c016c1f..92691e6d96 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -131,10 +131,29 @@
$: if (chatIdProp) {
(async () => {
console.log(chatIdProp);
+
+ prompt = '';
+ files = [];
+ selectedToolIds = [];
+ webSearchEnabled = false;
+
+ loaded = false;
+
if (chatIdProp && (await loadChat())) {
await tick();
loaded = true;
+ if (localStorage.getItem(`chat-input-${chatIdProp}`)) {
+ try {
+ const input = JSON.parse(localStorage.getItem(`chat-input-${chatIdProp}`));
+
+ prompt = input.prompt;
+ files = input.files;
+ selectedToolIds = input.selectedToolIds;
+ webSearchEnabled = input.webSearchEnabled;
+ } catch (e) {}
+ }
+
window.setTimeout(() => scrollToBottom(), 0);
const chatInput = document.getElementById('chat-input');
chatInput?.focus();
@@ -390,6 +409,21 @@
}
}
+ if (localStorage.getItem(`chat-input-${chatIdProp}`)) {
+ try {
+ const input = JSON.parse(localStorage.getItem(`chat-input-${chatIdProp}`));
+ prompt = input.prompt;
+ files = input.files;
+ selectedToolIds = input.selectedToolIds;
+ webSearchEnabled = input.webSearchEnabled;
+ } catch (e) {
+ prompt = '';
+ files = [];
+ selectedToolIds = [];
+ webSearchEnabled = false;
+ }
+ }
+
showControls.subscribe(async (value) => {
if (controlPane && !$mobile) {
try {
@@ -2019,6 +2053,13 @@
transparentBackground={$settings?.backgroundImageUrl ?? false}
{stopResponse}
{createMessagePair}
+ onChange={(input) => {
+ if (input.prompt) {
+ localStorage.setItem(`chat-input-${$chatId}`, JSON.stringify(input));
+ } else {
+ localStorage.removeItem(`chat-input-${$chatId}`);
+ }
+ }}
on:upload={async (e) => {
const { type, data } = e.detail;
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 1c0b31c1ef..08cc1881b4 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -43,6 +43,7 @@
export let transparentBackground = false;
+ export let onChange: Function = () => {};
export let createMessagePair: Function;
export let stopResponse: Function;
@@ -62,6 +63,13 @@
export let selectedToolIds = [];
export let webSearchEnabled = false;
+ $: onChange({
+ prompt,
+ files,
+ selectedToolIds,
+ webSearchEnabled
+ });
+
let loaded = false;
let recording = false;
From 41cabf5a2c204ff0cd3a3ea31408864e7e480f50 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sat, 21 Dec 2024 09:20:20 -0700
Subject: [PATCH 142/385] chore: format
---
src/lib/apis/openai/index.ts | 3 ---
src/lib/i18n/locales/ar-BH/translation.json | 5 +++++
src/lib/i18n/locales/bg-BG/translation.json | 5 +++++
src/lib/i18n/locales/bn-BD/translation.json | 5 +++++
src/lib/i18n/locales/ca-ES/translation.json | 5 +++++
src/lib/i18n/locales/ceb-PH/translation.json | 5 +++++
src/lib/i18n/locales/cs-CZ/translation.json | 5 +++++
src/lib/i18n/locales/da-DK/translation.json | 5 +++++
src/lib/i18n/locales/de-DE/translation.json | 5 +++++
src/lib/i18n/locales/dg-DG/translation.json | 5 +++++
src/lib/i18n/locales/el-GR/translation.json | 5 +++++
src/lib/i18n/locales/en-GB/translation.json | 5 +++++
src/lib/i18n/locales/en-US/translation.json | 5 +++++
src/lib/i18n/locales/es-ES/translation.json | 5 +++++
src/lib/i18n/locales/eu-ES/translation.json | 5 +++++
src/lib/i18n/locales/fa-IR/translation.json | 5 +++++
src/lib/i18n/locales/fi-FI/translation.json | 5 +++++
src/lib/i18n/locales/fr-CA/translation.json | 5 +++++
src/lib/i18n/locales/fr-FR/translation.json | 5 +++++
src/lib/i18n/locales/he-IL/translation.json | 5 +++++
src/lib/i18n/locales/hi-IN/translation.json | 5 +++++
src/lib/i18n/locales/hr-HR/translation.json | 5 +++++
src/lib/i18n/locales/hu-HU/translation.json | 5 +++++
src/lib/i18n/locales/id-ID/translation.json | 5 +++++
src/lib/i18n/locales/ie-GA/translation.json | 5 +++++
src/lib/i18n/locales/it-IT/translation.json | 5 +++++
src/lib/i18n/locales/ja-JP/translation.json | 5 +++++
src/lib/i18n/locales/ka-GE/translation.json | 5 +++++
src/lib/i18n/locales/ko-KR/translation.json | 5 +++++
src/lib/i18n/locales/lt-LT/translation.json | 5 +++++
src/lib/i18n/locales/ms-MY/translation.json | 5 +++++
src/lib/i18n/locales/nb-NO/translation.json | 5 +++++
src/lib/i18n/locales/nl-NL/translation.json | 5 +++++
src/lib/i18n/locales/pa-IN/translation.json | 5 +++++
src/lib/i18n/locales/pl-PL/translation.json | 5 +++++
src/lib/i18n/locales/pt-BR/translation.json | 5 +++++
src/lib/i18n/locales/pt-PT/translation.json | 5 +++++
src/lib/i18n/locales/ro-RO/translation.json | 5 +++++
src/lib/i18n/locales/ru-RU/translation.json | 5 +++++
src/lib/i18n/locales/sk-SK/translation.json | 5 +++++
src/lib/i18n/locales/sr-RS/translation.json | 5 +++++
src/lib/i18n/locales/sv-SE/translation.json | 5 +++++
src/lib/i18n/locales/th-TH/translation.json | 5 +++++
src/lib/i18n/locales/tk-TW/translation.json | 5 +++++
src/lib/i18n/locales/tr-TR/translation.json | 5 +++++
src/lib/i18n/locales/uk-UA/translation.json | 5 +++++
src/lib/i18n/locales/ur-PK/translation.json | 5 +++++
src/lib/i18n/locales/vi-VN/translation.json | 5 +++++
src/lib/i18n/locales/zh-CN/translation.json | 5 +++++
src/lib/i18n/locales/zh-TW/translation.json | 5 +++++
50 files changed, 245 insertions(+), 3 deletions(-)
diff --git a/src/lib/apis/openai/index.ts b/src/lib/apis/openai/index.ts
index a67db582b8..4c558feb56 100644
--- a/src/lib/apis/openai/index.ts
+++ b/src/lib/apis/openai/index.ts
@@ -273,7 +273,6 @@ export const verifyOpenAIConnection = async (
return res;
};
-
export const chatCompletion = async (
token: string = '',
body: object,
@@ -303,8 +302,6 @@ export const chatCompletion = async (
return [res, controller];
};
-
-
export const generateOpenAIChatCompletion = async (
token: string = '',
body: object,
diff --git a/src/lib/i18n/locales/ar-BH/translation.json b/src/lib/i18n/locales/ar-BH/translation.json
index c64ea7fa8c..4ab535e58a 100644
--- a/src/lib/i18n/locales/ar-BH/translation.json
+++ b/src/lib/i18n/locales/ar-BH/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "تأكيد كلمة المرور",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "اتصالات",
"Contact Admin for WebUI Access": "",
"Content": "الاتصال",
@@ -360,12 +361,15 @@
"Enter Top K": "أدخل Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "الرابط (e.g. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "URL (e.g. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "أدخل البريد الاكتروني",
"Enter Your Full Name": "أدخل الاسم كامل",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "ادخل كلمة المرور",
"Enter Your Role": "أدخل الصلاحيات",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "خطأ",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "ملاحظة: إذا قمت بتعيين الحد الأدنى من النقاط، فلن يؤدي البحث إلا إلى إرجاع المستندات التي لها نقاط أكبر من أو تساوي الحد الأدنى من النقاط.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "إشعارات",
"November": "نوفمبر",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json
index 5bdf8c5f12..d966f3e9e4 100644
--- a/src/lib/i18n/locales/bg-BG/translation.json
+++ b/src/lib/i18n/locales/bg-BG/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "Потвърди Парола",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "Връзки",
"Contact Admin for WebUI Access": "",
"Content": "Съдържание",
@@ -360,12 +361,15 @@
"Enter Top K": "Въведете Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Въведете URL (напр. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Въведете URL (напр. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Въведете имейл",
"Enter Your Full Name": "Въведете вашето пълно име",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Въведете вашата парола",
"Enter Your Role": "Въведете вашата роля",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Грешка",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Забележка: Ако зададете минимален резултат, търсенето ще върне само документи с резултат, по-голям или равен на минималния резултат.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Десктоп Известия",
"November": "Ноември",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json
index 1aa749d37d..a648a98ea9 100644
--- a/src/lib/i18n/locales/bn-BD/translation.json
+++ b/src/lib/i18n/locales/bn-BD/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "পাসওয়ার্ড নিশ্চিত করুন",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "কানেকশনগুলো",
"Contact Admin for WebUI Access": "",
"Content": "বিষয়বস্তু",
@@ -360,12 +361,15 @@
"Enter Top K": "Top K লিখুন",
"Enter URL (e.g. http://127.0.0.1:7860/)": "ইউআরএল দিন (যেমন http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "ইউআরএল দিন (যেমন http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "আপনার ইমেইল লিখুন",
"Enter Your Full Name": "আপনার পূর্ণ নাম লিখুন",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "আপনার পাসওয়ার্ড লিখুন",
"Enter Your Role": "আপনার রোল লিখুন",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "ত্রুটি",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "দ্রষ্টব্য: আপনি যদি ন্যূনতম স্কোর সেট করেন তবে অনুসন্ধানটি কেবলমাত্র ন্যূনতম স্কোরের চেয়ে বেশি বা সমান স্কোর সহ নথিগুলি ফেরত দেবে।",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "নোটিফিকেশনসমূহ",
"November": "নভেম্বর",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json
index 686cc472ee..2392d2045b 100644
--- a/src/lib/i18n/locales/ca-ES/translation.json
+++ b/src/lib/i18n/locales/ca-ES/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Confirmar",
"Confirm Password": "Confirmar la contrasenya",
"Confirm your action": "Confirma la teva acció",
+ "Confirm your new password": "",
"Connections": "Connexions",
"Contact Admin for WebUI Access": "Posat en contacte amb l'administrador per accedir a WebUI",
"Content": "Contingut",
@@ -360,12 +361,15 @@
"Enter Top K": "Introdueix Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Introdueix l'URL (p. ex. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Introdueix l'URL (p. ex. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Introdueix el teu correu electrònic",
"Enter Your Full Name": "Introdueix el teu nom complet",
"Enter your message": "Introdueix el teu missatge",
+ "Enter your new password": "",
"Enter Your Password": "Introdueix la teva contrasenya",
"Enter Your Role": "Introdueix el teu rol",
"Enter Your Username": "Introdueix el teu nom d'usuari",
+ "Enter your webhook URL": "",
"Error": "Error",
"ERROR": "ERROR",
"Error accessing Google Drive: {{error}}": "Error en accedir a Google Drive: {{error}}",
@@ -615,6 +619,7 @@
"Not helpful": "No ajuda",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Si s'estableix una puntuació mínima, la cerca només retornarà documents amb una puntuació major o igual a la puntuació mínima.",
"Notes": "Notes",
+ "Notification Webhook": "",
"Notifications": "Notificacions",
"November": "Novembre",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/ceb-PH/translation.json b/src/lib/i18n/locales/ceb-PH/translation.json
index 79b1dfa027..e025d52583 100644
--- a/src/lib/i18n/locales/ceb-PH/translation.json
+++ b/src/lib/i18n/locales/ceb-PH/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "Kumpirma ang password",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "Mga koneksyon",
"Contact Admin for WebUI Access": "",
"Content": "Kontento",
@@ -360,12 +361,15 @@
"Enter Top K": "Pagsulod sa Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Pagsulod sa URL (e.g. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "",
+ "Enter your current password": "",
"Enter Your Email": "Pagsulod sa imong e-mail address",
"Enter Your Full Name": "Ibutang ang imong tibuok nga ngalan",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Ibutang ang imong password",
"Enter Your Role": "",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Mga pahibalo sa desktop",
"November": "",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/cs-CZ/translation.json b/src/lib/i18n/locales/cs-CZ/translation.json
index 6975e78ce6..df9dfe7023 100644
--- a/src/lib/i18n/locales/cs-CZ/translation.json
+++ b/src/lib/i18n/locales/cs-CZ/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Potvrdit",
"Confirm Password": "Potvrzení hesla",
"Confirm your action": "Potvrďte svoji akci",
+ "Confirm your new password": "",
"Connections": "Připojení",
"Contact Admin for WebUI Access": "Kontaktujte administrátora pro přístup k webovému rozhraní.",
"Content": "Obsah",
@@ -360,12 +361,15 @@
"Enter Top K": "Zadejte horní K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Zadejte URL (např. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Zadejte URL (např. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Zadejte svůj email",
"Enter Your Full Name": "Zadejte své plné jméno",
"Enter your message": "Zadejte svou zprávu",
+ "Enter your new password": "",
"Enter Your Password": "Zadejte své heslo",
"Enter Your Role": "Zadejte svou roli",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Chyba",
"ERROR": "Chyba",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Nepomocné",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Poznámka: Pokud nastavíte minimální skóre, vyhledávání vrátí pouze dokumenty s hodnocením, které je větší nebo rovno zadanému minimálnímu skóre.",
"Notes": "Poznámky",
+ "Notification Webhook": "",
"Notifications": "Oznámení",
"November": "Listopad",
"num_gpu (Ollama)": "Počet GPU (Ollama)",
diff --git a/src/lib/i18n/locales/da-DK/translation.json b/src/lib/i18n/locales/da-DK/translation.json
index bb11f3a0f4..123b792baf 100644
--- a/src/lib/i18n/locales/da-DK/translation.json
+++ b/src/lib/i18n/locales/da-DK/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Bekræft",
"Confirm Password": "Bekræft password",
"Confirm your action": "Bekræft din handling",
+ "Confirm your new password": "",
"Connections": "Forbindelser",
"Contact Admin for WebUI Access": "Kontakt din administrator for adgang til WebUI",
"Content": "Indhold",
@@ -360,12 +361,15 @@
"Enter Top K": "Indtast Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Indtast URL (f.eks. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Indtast URL (f.eks. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Indtast din e-mail",
"Enter Your Full Name": "Indtast dit fulde navn",
"Enter your message": "Indtast din besked",
+ "Enter your new password": "",
"Enter Your Password": "Indtast din adgangskode",
"Enter Your Role": "Indtast din rolle",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Fejl",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Bemærk: Hvis du angiver en minimumscore, returnerer søgningen kun dokumenter med en score, der er større end eller lig med minimumscoren.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Notifikationer",
"November": "November",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json
index a2112b04bc..bffb0f9727 100644
--- a/src/lib/i18n/locales/de-DE/translation.json
+++ b/src/lib/i18n/locales/de-DE/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Bestätigen",
"Confirm Password": "Passwort bestätigen",
"Confirm your action": "Bestätigen Sie Ihre Aktion.",
+ "Confirm your new password": "",
"Connections": "Verbindungen",
"Contact Admin for WebUI Access": "Kontaktieren Sie den Administrator für den Zugriff auf die Weboberfläche",
"Content": "Info",
@@ -360,12 +361,15 @@
"Enter Top K": "Geben Sie Top K ein",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Geben Sie die URL ein (z. B. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Geben Sie die URL ein (z. B. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Geben Sie Ihre E-Mail-Adresse ein",
"Enter Your Full Name": "Geben Sie Ihren vollständigen Namen ein",
"Enter your message": "Geben Sie Ihre Nachricht ein",
+ "Enter your new password": "",
"Enter Your Password": "Geben Sie Ihr Passwort ein",
"Enter Your Role": "Geben Sie Ihre Rolle ein",
"Enter Your Username": "Geben Sie Ihren Benutzernamen ein",
+ "Enter your webhook URL": "",
"Error": "Fehler",
"ERROR": "FEHLER",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Nich hilfreich",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Hinweis: Wenn Sie eine Mindestpunktzahl festlegen, werden in der Suche nur Dokumente mit einer Punktzahl größer oder gleich der Mindestpunktzahl zurückgegeben.",
"Notes": "Notizen",
+ "Notification Webhook": "",
"Notifications": "Benachrichtigungen",
"November": "November",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json
index 74c8c62fc9..66e1c9add9 100644
--- a/src/lib/i18n/locales/dg-DG/translation.json
+++ b/src/lib/i18n/locales/dg-DG/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "Confirm Password",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "Connections",
"Contact Admin for WebUI Access": "",
"Content": "Content",
@@ -360,12 +361,15 @@
"Enter Top K": "Enter Top Wow",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Enter URL (e.g. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "",
+ "Enter your current password": "",
"Enter Your Email": "Enter Your Dogemail",
"Enter Your Full Name": "Enter Your Full Wow",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Enter Your Barkword",
"Enter Your Role": "",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Notifications",
"November": "",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/el-GR/translation.json b/src/lib/i18n/locales/el-GR/translation.json
index 290373bef0..9657cb2994 100644
--- a/src/lib/i18n/locales/el-GR/translation.json
+++ b/src/lib/i18n/locales/el-GR/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Επιβεβαίωση",
"Confirm Password": "Επιβεβαίωση Κωδικού",
"Confirm your action": "Επιβεβαιώστε την ενέργειά σας",
+ "Confirm your new password": "",
"Connections": "Συνδέσεις",
"Contact Admin for WebUI Access": "Επικοινωνήστε με τον Διαχειριστή για Πρόσβαση στο WebUI",
"Content": "Περιεχόμενο",
@@ -360,12 +361,15 @@
"Enter Top K": "Εισάγετε το Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Εισάγετε το URL (π.χ. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Εισάγετε το URL (π.χ. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Εισάγετε το Email σας",
"Enter Your Full Name": "Εισάγετε το Πλήρες Όνομά σας",
"Enter your message": "Εισάγετε το μήνυμά σας",
+ "Enter your new password": "",
"Enter Your Password": "Εισάγετε τον Κωδικό σας",
"Enter Your Role": "Εισάγετε τον Ρόλο σας",
"Enter Your Username": "Εισάγετε το Όνομα Χρήστη σας",
+ "Enter your webhook URL": "",
"Error": "Σφάλμα",
"ERROR": "ΣΦΑΛΜΑ",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Δεν είναι χρήσιμο",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Σημείωση: Αν ορίσετε ένα ελάχιστο score, η αναζήτηση θα επιστρέψει μόνο έγγραφα με score μεγαλύτερο ή ίσο με το ελάχιστο score.",
"Notes": "Σημειώσεις",
+ "Notification Webhook": "",
"Notifications": "Ειδοποιήσεις",
"November": "Νοέμβριος",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json
index bf5cbf41e0..6d31961067 100644
--- a/src/lib/i18n/locales/en-GB/translation.json
+++ b/src/lib/i18n/locales/en-GB/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "",
"Contact Admin for WebUI Access": "",
"Content": "",
@@ -360,12 +361,15 @@
"Enter Top K": "",
"Enter URL (e.g. http://127.0.0.1:7860/)": "",
"Enter URL (e.g. http://localhost:11434)": "",
+ "Enter your current password": "",
"Enter Your Email": "",
"Enter Your Full Name": "",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "",
"Enter Your Role": "",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "",
"November": "",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json
index bf5cbf41e0..6d31961067 100644
--- a/src/lib/i18n/locales/en-US/translation.json
+++ b/src/lib/i18n/locales/en-US/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "",
"Contact Admin for WebUI Access": "",
"Content": "",
@@ -360,12 +361,15 @@
"Enter Top K": "",
"Enter URL (e.g. http://127.0.0.1:7860/)": "",
"Enter URL (e.g. http://localhost:11434)": "",
+ "Enter your current password": "",
"Enter Your Email": "",
"Enter Your Full Name": "",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "",
"Enter Your Role": "",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "",
"November": "",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json
index 9341ecb1ff..6b5a180a67 100644
--- a/src/lib/i18n/locales/es-ES/translation.json
+++ b/src/lib/i18n/locales/es-ES/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Confirmar",
"Confirm Password": "Confirmar Contraseña",
"Confirm your action": "Confirma tu acción",
+ "Confirm your new password": "",
"Connections": "Conexiones",
"Contact Admin for WebUI Access": "Contacta el administrador para obtener acceso al WebUI",
"Content": "Contenido",
@@ -360,12 +361,15 @@
"Enter Top K": "Ingrese el Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Ingrese la URL (p.ej., http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Ingrese la URL (p.ej., http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Ingrese su correo electrónico",
"Enter Your Full Name": "Ingrese su nombre completo",
"Enter your message": "Ingrese su mensaje",
+ "Enter your new password": "",
"Enter Your Password": "Ingrese su contraseña",
"Enter Your Role": "Ingrese su rol",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Error",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Si estableces una puntuación mínima, la búsqueda sólo devolverá documentos con una puntuación mayor o igual a la puntuación mínima.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Notificaciones",
"November": "Noviembre",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/eu-ES/translation.json b/src/lib/i18n/locales/eu-ES/translation.json
index 00cb2fe878..230775425f 100644
--- a/src/lib/i18n/locales/eu-ES/translation.json
+++ b/src/lib/i18n/locales/eu-ES/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Berretsi",
"Confirm Password": "Berretsi Pasahitza",
"Confirm your action": "Berretsi zure ekintza",
+ "Confirm your new password": "",
"Connections": "Konexioak",
"Contact Admin for WebUI Access": "Jarri harremanetan Administratzailearekin WebUI Sarbiderako",
"Content": "Edukia",
@@ -360,12 +361,15 @@
"Enter Top K": "Sartu Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Sartu URLa (adib. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Sartu URLa (adib. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Sartu Zure Posta Elektronikoa",
"Enter Your Full Name": "Sartu Zure Izen-abizenak",
"Enter your message": "Sartu zure mezua",
+ "Enter your new password": "",
"Enter Your Password": "Sartu Zure Pasahitza",
"Enter Your Role": "Sartu Zure Rola",
"Enter Your Username": "Sartu Zure Erabiltzaile-izena",
+ "Enter your webhook URL": "",
"Error": "Errorea",
"ERROR": "ERROREA",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Ez da lagungarria",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Oharra: Gutxieneko puntuazio bat ezartzen baduzu, bilaketak gutxieneko puntuazioa baino handiagoa edo berdina duten dokumentuak soilik itzuliko ditu.",
"Notes": "Oharrak",
+ "Notification Webhook": "",
"Notifications": "Jakinarazpenak",
"November": "Azaroa",
"num_gpu (Ollama)": "GPU kopurua (Ollama)",
diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json
index a7b3bb2648..16487bd117 100644
--- a/src/lib/i18n/locales/fa-IR/translation.json
+++ b/src/lib/i18n/locales/fa-IR/translation.json
@@ -177,6 +177,7 @@
"Confirm": "تایید",
"Confirm Password": "تایید رمز عبور",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "ارتباطات",
"Contact Admin for WebUI Access": "برای دسترسی به WebUI با مدیر تماس بگیرید",
"Content": "محتوا",
@@ -360,12 +361,15 @@
"Enter Top K": "مقدار Top K را وارد کنید",
"Enter URL (e.g. http://127.0.0.1:7860/)": "مقدار URL را وارد کنید (مثال http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "مقدار URL را وارد کنید (مثال http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "ایمیل خود را وارد کنید",
"Enter Your Full Name": "نام کامل خود را وارد کنید",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "رمز عبور خود را وارد کنید",
"Enter Your Role": "نقش خود را وارد کنید",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "خطا",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "توجه: اگر حداقل نمره را تعیین کنید، جستجو تنها اسنادی را با نمره بیشتر یا برابر با حداقل نمره باز می گرداند.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "اعلان",
"November": "نوامبر",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/fi-FI/translation.json b/src/lib/i18n/locales/fi-FI/translation.json
index c33e82a076..048c001048 100644
--- a/src/lib/i18n/locales/fi-FI/translation.json
+++ b/src/lib/i18n/locales/fi-FI/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Vahvista",
"Confirm Password": "Vahvista salasana",
"Confirm your action": "Vahvista toimintasi",
+ "Confirm your new password": "",
"Connections": "Yhteydet",
"Contact Admin for WebUI Access": "Ota yhteyttä ylläpitäjään WebUI-käyttöä varten",
"Content": "Sisältö",
@@ -360,12 +361,15 @@
"Enter Top K": "Kirjoita Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Kirjoita URL-osoite (esim. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Kirjoita URL-osoite (esim. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Kirjoita sähköpostiosoitteesi",
"Enter Your Full Name": "Kirjoita koko nimesi",
"Enter your message": "Kirjoita viestisi",
+ "Enter your new password": "",
"Enter Your Password": "Kirjoita salasanasi",
"Enter Your Role": "Kirjoita roolisi",
"Enter Your Username": "Kirjoita käyttäjätunnuksesi",
+ "Enter your webhook URL": "",
"Error": "Virhe",
"ERROR": "VIRHE",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Ei hyödyllinen",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Huomautus: Jos asetat vähimmäispistemäärän, haku palauttaa vain sellaiset asiakirjat, joiden pistemäärä on vähintään vähimmäismäärä.",
"Notes": "Muistiinpanot",
+ "Notification Webhook": "",
"Notifications": "Ilmoitukset",
"November": "marraskuu",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json
index 919fe21000..c9224144ab 100644
--- a/src/lib/i18n/locales/fr-CA/translation.json
+++ b/src/lib/i18n/locales/fr-CA/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Confirmer",
"Confirm Password": "Confirmer le mot de passe",
"Confirm your action": "Confirmez votre action",
+ "Confirm your new password": "",
"Connections": "Connexions",
"Contact Admin for WebUI Access": "Contacter l'administrateur pour l'accès à l'interface Web",
"Content": "Contenu",
@@ -360,12 +361,15 @@
"Enter Top K": "Entrez les Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Entrez l'URL (par ex. {http://127.0.0.1:7860/})",
"Enter URL (e.g. http://localhost:11434)": "Entrez l'URL (par ex. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Entrez votre adresse e-mail",
"Enter Your Full Name": "Entrez votre nom complet",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Entrez votre mot de passe",
"Enter Your Role": "Entrez votre rôle",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Erreur",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Note : Si vous définissez un score minimum, seuls les documents ayant un score supérieur ou égal à ce score minimum seront retournés par la recherche.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Notifications",
"November": "Novembre",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json
index 1178959435..b3c5df5469 100644
--- a/src/lib/i18n/locales/fr-FR/translation.json
+++ b/src/lib/i18n/locales/fr-FR/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Confirmer",
"Confirm Password": "Confirmer le mot de passe",
"Confirm your action": "Confirmer votre action",
+ "Confirm your new password": "",
"Connections": "Connexions",
"Contact Admin for WebUI Access": "Contacter l'administrateur pour obtenir l'accès à WebUI",
"Content": "Contenu",
@@ -360,12 +361,15 @@
"Enter Top K": "Entrez les Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Entrez l'URL (par ex. {http://127.0.0.1:7860/})",
"Enter URL (e.g. http://localhost:11434)": "Entrez l'URL (par ex. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Entrez votre adresse e-mail",
"Enter Your Full Name": "Entrez votre nom complet",
"Enter your message": "Entrez votre message",
+ "Enter your new password": "",
"Enter Your Password": "Entrez votre mot de passe",
"Enter Your Role": "Entrez votre rôle",
"Enter Your Username": "Entrez votre nom d'utilisateur",
+ "Enter your webhook URL": "",
"Error": "Erreur",
"ERROR": "ERREUR",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Pas utile",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Note : Si vous définissez un score minimum, seuls les documents ayant un score supérieur ou égal à ce score minimum seront retournés par la recherche.",
"Notes": "Notes",
+ "Notification Webhook": "",
"Notifications": "Notifications",
"November": "Novembre",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/he-IL/translation.json b/src/lib/i18n/locales/he-IL/translation.json
index 15c4c69eca..22d1e42d90 100644
--- a/src/lib/i18n/locales/he-IL/translation.json
+++ b/src/lib/i18n/locales/he-IL/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "אשר סיסמה",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "חיבורים",
"Contact Admin for WebUI Access": "",
"Content": "תוכן",
@@ -360,12 +361,15 @@
"Enter Top K": "הזן Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "הזן כתובת URL (למשל http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "הזן כתובת URL (למשל http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "הזן את דוא\"ל שלך",
"Enter Your Full Name": "הזן את שמך המלא",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "הזן את הסיסמה שלך",
"Enter Your Role": "הזן את התפקיד שלך",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "שגיאה",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "הערה: אם תקבע ציון מינימלי, החיפוש יחזיר רק מסמכים עם ציון שגבוה או שווה לציון המינימלי.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "התראות",
"November": "נובמבר",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/hi-IN/translation.json b/src/lib/i18n/locales/hi-IN/translation.json
index ec9f322c92..0dce863a20 100644
--- a/src/lib/i18n/locales/hi-IN/translation.json
+++ b/src/lib/i18n/locales/hi-IN/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "पासवर्ड की पुष्टि कीजिये",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "सम्बन्ध",
"Contact Admin for WebUI Access": "",
"Content": "सामग्री",
@@ -360,12 +361,15 @@
"Enter Top K": "शीर्ष K दर्ज करें",
"Enter URL (e.g. http://127.0.0.1:7860/)": "यूआरएल दर्ज करें (उदा. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "यूआरएल दर्ज करें (उदा. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "अपना ईमेल दर्ज करें",
"Enter Your Full Name": "अपना पूरा नाम भरें",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "अपना पासवर्ड भरें",
"Enter Your Role": "अपनी भूमिका दर्ज करें",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "चूक",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "ध्यान दें: यदि आप न्यूनतम स्कोर निर्धारित करते हैं, तो खोज केवल न्यूनतम स्कोर से अधिक या उसके बराबर स्कोर वाले दस्तावेज़ वापस लाएगी।",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "सूचनाएं",
"November": "नवंबर",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/hr-HR/translation.json b/src/lib/i18n/locales/hr-HR/translation.json
index fc90e8696f..4c64e016bc 100644
--- a/src/lib/i18n/locales/hr-HR/translation.json
+++ b/src/lib/i18n/locales/hr-HR/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "Potvrdite lozinku",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "Povezivanja",
"Contact Admin for WebUI Access": "Kontaktirajte admina za WebUI pristup",
"Content": "Sadržaj",
@@ -360,12 +361,15 @@
"Enter Top K": "Unesite Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Unesite URL (npr. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Unesite URL (npr. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Unesite svoj email",
"Enter Your Full Name": "Unesite svoje puno ime",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Unesite svoju lozinku",
"Enter Your Role": "Unesite svoju ulogu",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Greška",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Napomena: Ako postavite minimalnu ocjenu, pretraga će vratiti samo dokumente s ocjenom većom ili jednakom minimalnoj ocjeni.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Obavijesti",
"November": "Studeni",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/hu-HU/translation.json b/src/lib/i18n/locales/hu-HU/translation.json
index 4fd627ebb5..a3f4afa948 100644
--- a/src/lib/i18n/locales/hu-HU/translation.json
+++ b/src/lib/i18n/locales/hu-HU/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Megerősítés",
"Confirm Password": "Jelszó megerősítése",
"Confirm your action": "Erősítsd meg a műveletet",
+ "Confirm your new password": "",
"Connections": "Kapcsolatok",
"Contact Admin for WebUI Access": "Lépj kapcsolatba az adminnal a WebUI hozzáférésért",
"Content": "Tartalom",
@@ -360,12 +361,15 @@
"Enter Top K": "Add meg a Top K értéket",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Add meg az URL-t (pl. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Add meg az URL-t (pl. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Add meg az email címed",
"Enter Your Full Name": "Add meg a teljes neved",
"Enter your message": "Írd be az üzeneted",
+ "Enter your new password": "",
"Enter Your Password": "Add meg a jelszavad",
"Enter Your Role": "Add meg a szereped",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Hiba",
"ERROR": "HIBA",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Nem segítőkész",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Megjegyzés: Ha minimum pontszámot állít be, a keresés csak olyan dokumentumokat ad vissza, amelyek pontszáma nagyobb vagy egyenlő a minimum pontszámmal.",
"Notes": "Jegyzetek",
+ "Notification Webhook": "",
"Notifications": "Értesítések",
"November": "November",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/id-ID/translation.json b/src/lib/i18n/locales/id-ID/translation.json
index 986fc68bf3..e66c404c1f 100644
--- a/src/lib/i18n/locales/id-ID/translation.json
+++ b/src/lib/i18n/locales/id-ID/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Konfirmasi",
"Confirm Password": "Konfirmasi Kata Sandi",
"Confirm your action": "Konfirmasi tindakan Anda",
+ "Confirm your new password": "",
"Connections": "Koneksi",
"Contact Admin for WebUI Access": "Hubungi Admin untuk Akses WebUI",
"Content": "Konten",
@@ -360,12 +361,15 @@
"Enter Top K": "Masukkan Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Masukkan URL (mis. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Masukkan URL (mis. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Masukkan Email Anda",
"Enter Your Full Name": "Masukkan Nama Lengkap Anda",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Masukkan Kata Sandi Anda",
"Enter Your Role": "Masukkan Peran Anda",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Kesalahan",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Catatan: Jika Anda menetapkan skor minimum, pencarian hanya akan mengembalikan dokumen dengan skor yang lebih besar atau sama dengan skor minimum.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Pemberitahuan",
"November": "November",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/ie-GA/translation.json b/src/lib/i18n/locales/ie-GA/translation.json
index e51e71add1..883c90bae2 100644
--- a/src/lib/i18n/locales/ie-GA/translation.json
+++ b/src/lib/i18n/locales/ie-GA/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Deimhnigh",
"Confirm Password": "Deimhnigh Pasfhocal",
"Confirm your action": "Deimhnigh do ghníomh",
+ "Confirm your new password": "",
"Connections": "Naisc",
"Contact Admin for WebUI Access": "Déan teagmháil le Riarachán le haghaidh Rochtana WebUI",
"Content": "Ábhar",
@@ -360,12 +361,15 @@
"Enter Top K": "Cuir isteach Barr K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Iontráil URL (m.sh. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Iontráil URL (m.sh. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Cuir isteach do Ríomhphost",
"Enter Your Full Name": "Cuir isteach d'Ainm Iomlán",
"Enter your message": "Cuir isteach do theachtaireacht",
+ "Enter your new password": "",
"Enter Your Password": "Cuir isteach do phasfhocal",
"Enter Your Role": "Cuir isteach do Ról",
"Enter Your Username": "Cuir isteach D'Ainm Úsáideora",
+ "Enter your webhook URL": "",
"Error": "Earráid",
"ERROR": "EARRÁID",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Gan a bheith cabhrach",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nóta: Má shocraíonn tú íosscór, ní thabharfaidh an cuardach ach doiciméid a bhfuil scór níos mó ná nó cothrom leis an scór íosta ar ais.",
"Notes": "Nótaí",
+ "Notification Webhook": "",
"Notifications": "Fógraí",
"November": "Samhain",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json
index 21374def4b..3e26cd2d8f 100644
--- a/src/lib/i18n/locales/it-IT/translation.json
+++ b/src/lib/i18n/locales/it-IT/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "Conferma password",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "Connessioni",
"Contact Admin for WebUI Access": "",
"Content": "Contenuto",
@@ -360,12 +361,15 @@
"Enter Top K": "Inserisci Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Inserisci URL (ad esempio http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Inserisci URL (ad esempio http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Inserisci la tua email",
"Enter Your Full Name": "Inserisci il tuo nome completo",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Inserisci la tua password",
"Enter Your Role": "Inserisci il tuo ruolo",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Errore",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: se imposti un punteggio minimo, la ricerca restituirà solo i documenti con un punteggio maggiore o uguale al punteggio minimo.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Notifiche desktop",
"November": "Novembre",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json
index 1698b9e58c..3a1a412d23 100644
--- a/src/lib/i18n/locales/ja-JP/translation.json
+++ b/src/lib/i18n/locales/ja-JP/translation.json
@@ -177,6 +177,7 @@
"Confirm": "確認",
"Confirm Password": "パスワードを確認",
"Confirm your action": "あなたのアクションの確認",
+ "Confirm your new password": "",
"Connections": "接続",
"Contact Admin for WebUI Access": "WEBUIへの接続について管理者に問い合わせ下さい。",
"Content": "コンテンツ",
@@ -360,12 +361,15 @@
"Enter Top K": "トップ K を入力してください",
"Enter URL (e.g. http://127.0.0.1:7860/)": "URL を入力してください (例: http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "URL を入力してください (例: http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "メールアドレスを入力してください",
"Enter Your Full Name": "フルネームを入力してください",
"Enter your message": "メッセージを入力してください",
+ "Enter your new password": "",
"Enter Your Password": "パスワードを入力してください",
"Enter Your Role": "ロールを入力してください",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "エラー",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "注意:最小スコアを設定した場合、検索は最小スコア以上のスコアを持つドキュメントのみを返します。",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "デスクトップ通知",
"November": "11月",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json
index 36226a39a1..f1845c547a 100644
--- a/src/lib/i18n/locales/ka-GE/translation.json
+++ b/src/lib/i18n/locales/ka-GE/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "პაროლის დამოწმება",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "კავშირები",
"Contact Admin for WebUI Access": "",
"Content": "კონტენტი",
@@ -360,12 +361,15 @@
"Enter Top K": "შეიყვანეთ Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "შეიყვანეთ მისამართი (მაგალითად http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "შეიყვანეთ მისამართი (მაგალითად http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "შეიყვანეთ თქვენი ელ-ფოსტა",
"Enter Your Full Name": "შეიყვანეთ თქვენი სრული სახელი",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "შეიყვანეთ თქვენი პაროლი",
"Enter Your Role": "შეიყვანეთ თქვენი როლი",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "შეცდომა",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "შენიშვნა: თუ თქვენ დააყენებთ მინიმალურ ქულას, ძებნა დააბრუნებს მხოლოდ დოკუმენტებს მინიმალური ქულის მეტი ან ტოლი ქულით.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "შეტყობინება",
"November": "ნოემბერი",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json
index bee767235f..e770f5c39b 100644
--- a/src/lib/i18n/locales/ko-KR/translation.json
+++ b/src/lib/i18n/locales/ko-KR/translation.json
@@ -177,6 +177,7 @@
"Confirm": "확인",
"Confirm Password": "비밀번호 확인",
"Confirm your action": "액션 확인",
+ "Confirm your new password": "",
"Connections": "연결",
"Contact Admin for WebUI Access": "WebUI 접속을 위해서는 관리자에게 연락에 연락하십시오",
"Content": "내용",
@@ -360,12 +361,15 @@
"Enter Top K": "Top K 입력",
"Enter URL (e.g. http://127.0.0.1:7860/)": "URL 입력(예: http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "URL 입력(예: http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "이메일 입력",
"Enter Your Full Name": "이름 입력",
"Enter your message": "메세지 입력",
+ "Enter your new password": "",
"Enter Your Password": "비밀번호 입력",
"Enter Your Role": "역할 입력",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "오류",
"ERROR": "오류",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "도움이 되지않음",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "참고: 최소 점수를 설정하면, 검색 결과로 최소 점수 이상의 점수를 가진 문서만 반환합니다.",
"Notes": "노트",
+ "Notification Webhook": "",
"Notifications": "알림",
"November": "11월",
"num_gpu (Ollama)": "num_gpu (올라마(Ollama))",
diff --git a/src/lib/i18n/locales/lt-LT/translation.json b/src/lib/i18n/locales/lt-LT/translation.json
index 42d30d720c..ceaa092972 100644
--- a/src/lib/i18n/locales/lt-LT/translation.json
+++ b/src/lib/i18n/locales/lt-LT/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Patvrtinti",
"Confirm Password": "Patvirtinkite slaptažodį",
"Confirm your action": "Patvirtinkite veiksmą",
+ "Confirm your new password": "",
"Connections": "Ryšiai",
"Contact Admin for WebUI Access": "Susisiekite su administratoriumi dėl prieigos",
"Content": "Turinys",
@@ -360,12 +361,15 @@
"Enter Top K": "Įveskite Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Įveskite nuorodą (pvz. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Įveskite nuorododą (pvz. http://localhost:11434",
+ "Enter your current password": "",
"Enter Your Email": "Įveskite el. pašto adresą",
"Enter Your Full Name": "Įveskite vardą bei pavardę",
"Enter your message": "Įveskite žinutę",
+ "Enter your new password": "",
"Enter Your Password": "Įveskite slaptažodį",
"Enter Your Role": "Įveskite savo rolę",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Klaida",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Jei turite minimalų įvertį, paieška gražins tik tą informaciją, kuri viršyje šį įvertį",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Pranešimai",
"November": "lapkritis",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/ms-MY/translation.json b/src/lib/i18n/locales/ms-MY/translation.json
index 3d2a28f116..9e0c995208 100644
--- a/src/lib/i18n/locales/ms-MY/translation.json
+++ b/src/lib/i18n/locales/ms-MY/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Sahkan",
"Confirm Password": "Sahkan kata laluan",
"Confirm your action": "Sahkan tindakan anda",
+ "Confirm your new password": "",
"Connections": "Sambungan",
"Contact Admin for WebUI Access": "Hubungi admin untuk akses WebUI",
"Content": "Kandungan",
@@ -360,12 +361,15 @@
"Enter Top K": "Masukkan 'Top K'",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Masukkan URL (cth http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Masukkan URL (cth http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Masukkan E-mel Anda",
"Enter Your Full Name": "Masukkan Nama Penuh Anda",
"Enter your message": "Masukkan mesej anda",
+ "Enter your new password": "",
"Enter Your Password": "Masukkan Kata Laluan Anda",
"Enter Your Role": "Masukkan Peranan Anda",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Ralat",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Jika anda menetapkan skor minimum, carian hanya akan mengembalikan dokumen dengan skor lebih besar daripada atau sama dengan skor minimum.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Pemberitahuan",
"November": "November",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/nb-NO/translation.json b/src/lib/i18n/locales/nb-NO/translation.json
index 309658ce2d..fd74a7a9c1 100644
--- a/src/lib/i18n/locales/nb-NO/translation.json
+++ b/src/lib/i18n/locales/nb-NO/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Bekreft",
"Confirm Password": "Bekreft passordet",
"Confirm your action": "Bekreft handlingen",
+ "Confirm your new password": "",
"Connections": "Tilkoblinger",
"Contact Admin for WebUI Access": "Kontakt administrator for å få tilgang til WebUI",
"Content": "Innhold",
@@ -360,12 +361,15 @@
"Enter Top K": "Angi Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Angi URL (f.eks. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Angi URL (f.eks. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Skriv inn e-postadressen din",
"Enter Your Full Name": "Skriv inn det fulle navnet ditt",
"Enter your message": "Skriv inn din melding",
+ "Enter your new password": "",
"Enter Your Password": "Skriv inn passordet ditt",
"Enter Your Role": "Skriv inn rollen din",
"Enter Your Username": "Skriv inn brukernavnet ditt",
+ "Enter your webhook URL": "",
"Error": "Feil",
"ERROR": "FEIL",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Ikke nyttig",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Merk: Hvis du setter en minimumspoengsum, returnerer søket kun dokumenter med en poengsum som er større enn eller lik minimumspoengsummen.",
"Notes": "Notater",
+ "Notification Webhook": "",
"Notifications": "Varsler",
"November": "november",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json
index 152d6c8620..bc9ad68a6b 100644
--- a/src/lib/i18n/locales/nl-NL/translation.json
+++ b/src/lib/i18n/locales/nl-NL/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Bevestigen",
"Confirm Password": "Bevestig wachtwoord",
"Confirm your action": "Bevestig uw actie",
+ "Confirm your new password": "",
"Connections": "Verbindingen",
"Contact Admin for WebUI Access": "Neem contact op met de beheerder voor WebUI-toegang",
"Content": "Inhoud",
@@ -360,12 +361,15 @@
"Enter Top K": "Voeg Top K toe",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Voer URL in (Bijv. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Voer URL in (Bijv. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Voer je Email in",
"Enter Your Full Name": "Voer je Volledige Naam in",
"Enter your message": "Voer je bericht in",
+ "Enter your new password": "",
"Enter Your Password": "Voer je Wachtwoord in",
"Enter Your Role": "Voer je Rol in",
"Enter Your Username": "Voer je gebruikersnaam in",
+ "Enter your webhook URL": "",
"Error": "Fout",
"ERROR": "ERROR",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Niet nuttig",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Opmerking: Als je een minimumscore instelt, levert de zoekopdracht alleen documenten op met een score groter dan of gelijk aan de minimumscore.",
"Notes": "Aantekeningen",
+ "Notification Webhook": "",
"Notifications": "Notificaties",
"November": "November",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/pa-IN/translation.json b/src/lib/i18n/locales/pa-IN/translation.json
index 0e464b440f..20c395be88 100644
--- a/src/lib/i18n/locales/pa-IN/translation.json
+++ b/src/lib/i18n/locales/pa-IN/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "ਕਨੈਕਸ਼ਨ",
"Contact Admin for WebUI Access": "",
"Content": "ਸਮੱਗਰੀ",
@@ -360,12 +361,15 @@
"Enter Top K": "ਸਿਖਰ K ਦਰਜ ਕਰੋ",
"Enter URL (e.g. http://127.0.0.1:7860/)": "URL ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "URL ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "ਆਪਣੀ ਈਮੇਲ ਦਰਜ ਕਰੋ",
"Enter Your Full Name": "ਆਪਣਾ ਪੂਰਾ ਨਾਮ ਦਰਜ ਕਰੋ",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "ਆਪਣਾ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ",
"Enter Your Role": "ਆਪਣੀ ਭੂਮਿਕਾ ਦਰਜ ਕਰੋ",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "ਗਲਤੀ",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "ਨੋਟ: ਜੇ ਤੁਸੀਂ ਘੱਟੋ-ਘੱਟ ਸਕੋਰ ਸੈੱਟ ਕਰਦੇ ਹੋ, ਤਾਂ ਖੋਜ ਸਿਰਫ਼ ਉਹੀ ਡਾਕੂਮੈਂਟ ਵਾਪਸ ਕਰੇਗੀ ਜਿਨ੍ਹਾਂ ਦਾ ਸਕੋਰ ਘੱਟੋ-ਘੱਟ ਸਕੋਰ ਦੇ ਬਰਾਬਰ ਜਾਂ ਵੱਧ ਹੋਵੇ।",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "ਸੂਚਨਾਵਾਂ",
"November": "ਨਵੰਬਰ",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json
index 19140a7661..f211e51b2c 100644
--- a/src/lib/i18n/locales/pl-PL/translation.json
+++ b/src/lib/i18n/locales/pl-PL/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "Potwierdź hasło",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "Połączenia",
"Contact Admin for WebUI Access": "",
"Content": "Zawartość",
@@ -360,12 +361,15 @@
"Enter Top K": "Wprowadź Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Wprowadź adres URL (np. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Wprowadź adres URL (np. http://localhost:11434/)",
+ "Enter your current password": "",
"Enter Your Email": "Wprowadź swój adres email",
"Enter Your Full Name": "Wprowadź swoje imię i nazwisko",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Wprowadź swoje hasło",
"Enter Your Role": "Wprowadź swoją rolę",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Błąd",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Uwaga: Jeśli ustawisz minimalny wynik, szukanie zwróci jedynie dokumenty z wynikiem większym lub równym minimalnemu.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Powiadomienia",
"November": "Listopad",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json
index f286d4cde8..26700e0eb5 100644
--- a/src/lib/i18n/locales/pt-BR/translation.json
+++ b/src/lib/i18n/locales/pt-BR/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Confirmar",
"Confirm Password": "Confirmar Senha",
"Confirm your action": "Confirme sua ação",
+ "Confirm your new password": "",
"Connections": "Conexões",
"Contact Admin for WebUI Access": "Contate o Admin para Acesso ao WebUI",
"Content": "Conteúdo",
@@ -360,12 +361,15 @@
"Enter Top K": "Digite o Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Digite a URL (por exemplo, http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Digite a URL (por exemplo, http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Digite Seu Email",
"Enter Your Full Name": "Digite Seu Nome Completo",
"Enter your message": "Digite sua mensagem",
+ "Enter your new password": "",
"Enter Your Password": "Digite Sua Senha",
"Enter Your Role": "Digite Sua Função",
"Enter Your Username": "Digite seu usuário",
+ "Enter your webhook URL": "",
"Error": "Erro",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Não é útil",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Se você definir uma pontuação mínima, a pesquisa retornará apenas documentos com pontuação igual ou superior à pontuação mínima.",
"Notes": "Notas",
+ "Notification Webhook": "",
"Notifications": "Notificações",
"November": "Novembro",
"num_gpu (Ollama)": "Número de GPUs (Ollama)",
diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json
index d41e9f02de..dc278057bf 100644
--- a/src/lib/i18n/locales/pt-PT/translation.json
+++ b/src/lib/i18n/locales/pt-PT/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "Confirmar Senha",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "Conexões",
"Contact Admin for WebUI Access": "Contatar Admin para acesso ao WebUI",
"Content": "Conteúdo",
@@ -360,12 +361,15 @@
"Enter Top K": "Escreva o Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Escreva o URL (por exemplo, http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Escreva o URL (por exemplo, http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Escreva o seu E-mail",
"Enter Your Full Name": "Escreva o seu Nome Completo",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Escreva a sua Senha",
"Enter Your Role": "Escreva a sua Função",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Erro",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Se você definir uma pontuação mínima, a pesquisa só retornará documentos com uma pontuação maior ou igual à pontuação mínima.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Notificações da Área de Trabalho",
"November": "Novembro",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/ro-RO/translation.json b/src/lib/i18n/locales/ro-RO/translation.json
index 3090427986..9500871e3b 100644
--- a/src/lib/i18n/locales/ro-RO/translation.json
+++ b/src/lib/i18n/locales/ro-RO/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Confirmă",
"Confirm Password": "Confirmă Parola",
"Confirm your action": "Confirmă acțiunea ta",
+ "Confirm your new password": "",
"Connections": "Conexiuni",
"Contact Admin for WebUI Access": "Contactează administratorul pentru acces WebUI",
"Content": "Conținut",
@@ -360,12 +361,15 @@
"Enter Top K": "Introduceți Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Introduceți URL-ul (de ex. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Introduceți URL-ul (de ex. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Introduceți Email-ul Dvs.",
"Enter Your Full Name": "Introduceți Numele Dvs. Complet",
"Enter your message": "Introduceți mesajul dvs.",
+ "Enter your new password": "",
"Enter Your Password": "Introduceți Parola Dvs.",
"Enter Your Role": "Introduceți Rolul Dvs.",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Eroare",
"ERROR": "EROARE",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Nu este de ajutor",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Notă: Dacă setați un scor minim, căutarea va returna doar documente cu un scor mai mare sau egal cu scorul minim.",
"Notes": "Note",
+ "Notification Webhook": "",
"Notifications": "Notificări",
"November": "Noiembrie",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json
index 152da63447..8fbf984bda 100644
--- a/src/lib/i18n/locales/ru-RU/translation.json
+++ b/src/lib/i18n/locales/ru-RU/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Подтвердить",
"Confirm Password": "Подтвердите пароль",
"Confirm your action": "Подтвердите свое действие",
+ "Confirm your new password": "",
"Connections": "Соединение",
"Contact Admin for WebUI Access": "Обратитесь к администратору для получения доступа к WebUI",
"Content": "Содержание",
@@ -360,12 +361,15 @@
"Enter Top K": "Введите Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Введите URL-адрес (например, http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Введите URL-адрес (например, http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Введите вашу электронную почту",
"Enter Your Full Name": "Введите ваше полное имя",
"Enter your message": "Введите ваше сообщение",
+ "Enter your new password": "",
"Enter Your Password": "Введите ваш пароль",
"Enter Your Role": "Введите вашу роль",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Ошибка",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Бесполезно",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Обратите внимание: Если вы установите минимальный балл, поиск будет возвращать только документы с баллом больше или равным минимальному баллу.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Уведомления",
"November": "Ноябрь",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/sk-SK/translation.json b/src/lib/i18n/locales/sk-SK/translation.json
index fa4c569ba0..027bb5c7d7 100644
--- a/src/lib/i18n/locales/sk-SK/translation.json
+++ b/src/lib/i18n/locales/sk-SK/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Potvrdiť",
"Confirm Password": "Potvrdenie hesla",
"Confirm your action": "Potvrďte svoju akciu",
+ "Confirm your new password": "",
"Connections": "Pripojenia",
"Contact Admin for WebUI Access": "Kontaktujte administrátora pre prístup k webovému rozhraniu.",
"Content": "Obsah",
@@ -360,12 +361,15 @@
"Enter Top K": "Zadajte horné K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Zadajte URL (napr. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Zadajte URL (napr. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Zadajte svoj email",
"Enter Your Full Name": "Zadajte svoje celé meno",
"Enter your message": "Zadajte svoju správu",
+ "Enter your new password": "",
"Enter Your Password": "Zadajte svoje heslo",
"Enter Your Role": "Zadajte svoju rolu",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Chyba",
"ERROR": "Chyba",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "Nepomocné",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Poznámka: Ak nastavíte minimálne skóre, vyhľadávanie vráti iba dokumenty s hodnotením, ktoré je väčšie alebo rovné zadanému minimálnemu skóre.",
"Notes": "Poznámky",
+ "Notification Webhook": "",
"Notifications": "Oznámenia",
"November": "November",
"num_gpu (Ollama)": "Počet GPU (Ollama)",
diff --git a/src/lib/i18n/locales/sr-RS/translation.json b/src/lib/i18n/locales/sr-RS/translation.json
index 2e0ebd8c6f..a0b6d82236 100644
--- a/src/lib/i18n/locales/sr-RS/translation.json
+++ b/src/lib/i18n/locales/sr-RS/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "Потврди лозинку",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "Везе",
"Contact Admin for WebUI Access": "",
"Content": "Садржај",
@@ -360,12 +361,15 @@
"Enter Top K": "Унесите Топ К",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Унесите адресу (нпр. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Унесите адресу (нпр. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Унесите вашу е-пошту",
"Enter Your Full Name": "Унесите ваше име и презиме",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Унесите вашу лозинку",
"Enter Your Role": "Унесите вашу улогу",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Грешка",
"ERROR": "ГРЕШКА",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Напомена: ако подесите најмањи резултат, претрага ће вратити само документе са резултатом већим или једнаким најмањем резултату.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Обавештења",
"November": "Новембар",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json
index 36e1832ee9..de9ec50057 100644
--- a/src/lib/i18n/locales/sv-SE/translation.json
+++ b/src/lib/i18n/locales/sv-SE/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "Bekräfta lösenord",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "Anslutningar",
"Contact Admin for WebUI Access": "Kontakta administratören för att få åtkomst till WebUI",
"Content": "Innehåll",
@@ -360,12 +361,15 @@
"Enter Top K": "Ange Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Ange URL (t.ex. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Ange URL (t.ex. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Ange din e-post",
"Enter Your Full Name": "Ange ditt fullständiga namn",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "Ange ditt lösenord",
"Enter Your Role": "Ange din roll",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Fel",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Obs: Om du anger en tröskel kommer sökningen endast att returnera dokument med ett betyg som är större än eller lika med tröskeln.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Notifikationer",
"November": "november",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/th-TH/translation.json b/src/lib/i18n/locales/th-TH/translation.json
index 261232bec0..81b950dfc6 100644
--- a/src/lib/i18n/locales/th-TH/translation.json
+++ b/src/lib/i18n/locales/th-TH/translation.json
@@ -177,6 +177,7 @@
"Confirm": "ยืนยัน",
"Confirm Password": "ยืนยันรหัสผ่าน",
"Confirm your action": "ยืนยันการดำเนินการของคุณ",
+ "Confirm your new password": "",
"Connections": "การเชื่อมต่อ",
"Contact Admin for WebUI Access": "ติดต่อผู้ดูแลระบบสำหรับการเข้าถึง WebUI",
"Content": "เนื้อหา",
@@ -360,12 +361,15 @@
"Enter Top K": "ใส่ Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "ใส่ URL (เช่น http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "ใส่ URL (เช่น http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "ใส่อีเมลของคุณ",
"Enter Your Full Name": "ใส่ชื่อเต็มของคุณ",
"Enter your message": "ใส่ข้อความของคุณ",
+ "Enter your new password": "",
"Enter Your Password": "ใส่รหัสผ่านของคุณ",
"Enter Your Role": "ใส่บทบาทของคุณ",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "ข้อผิดพลาด",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "หมายเหตุ: หากคุณตั้งค่าคะแนนขั้นต่ำ การค้นหาจะคืนเอกสารที่มีคะแนนมากกว่าหรือเท่ากับคะแนนขั้นต่ำเท่านั้น",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "การแจ้งเตือน",
"November": "พฤศจิกายน",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/tk-TW/translation.json b/src/lib/i18n/locales/tk-TW/translation.json
index bf5cbf41e0..6d31961067 100644
--- a/src/lib/i18n/locales/tk-TW/translation.json
+++ b/src/lib/i18n/locales/tk-TW/translation.json
@@ -177,6 +177,7 @@
"Confirm": "",
"Confirm Password": "",
"Confirm your action": "",
+ "Confirm your new password": "",
"Connections": "",
"Contact Admin for WebUI Access": "",
"Content": "",
@@ -360,12 +361,15 @@
"Enter Top K": "",
"Enter URL (e.g. http://127.0.0.1:7860/)": "",
"Enter URL (e.g. http://localhost:11434)": "",
+ "Enter your current password": "",
"Enter Your Email": "",
"Enter Your Full Name": "",
"Enter your message": "",
+ "Enter your new password": "",
"Enter Your Password": "",
"Enter Your Role": "",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "",
"November": "",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json
index 6908ef4473..73cb334405 100644
--- a/src/lib/i18n/locales/tr-TR/translation.json
+++ b/src/lib/i18n/locales/tr-TR/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Onayla",
"Confirm Password": "Parolayı Onayla",
"Confirm your action": "İşleminizi onaylayın",
+ "Confirm your new password": "",
"Connections": "Bağlantılar",
"Contact Admin for WebUI Access": "WebUI Erişimi için Yöneticiyle İletişime Geçin",
"Content": "İçerik",
@@ -360,12 +361,15 @@
"Enter Top K": "Top K'yı girin",
"Enter URL (e.g. http://127.0.0.1:7860/)": "URL'yi Girin (örn. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "URL'yi Girin (e.g. http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "E-postanızı Girin",
"Enter Your Full Name": "Tam Adınızı Girin",
"Enter your message": "Mesajınızı girin",
+ "Enter your new password": "",
"Enter Your Password": "Parolanızı Girin",
"Enter Your Role": "Rolünüzü Girin",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Hata",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Not: Minimum bir skor belirlerseniz, arama yalnızca minimum skora eşit veya daha yüksek bir skora sahip belgeleri getirecektir.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Bildirimler",
"November": "Kasım",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json
index fdf0971df8..0d15eb1561 100644
--- a/src/lib/i18n/locales/uk-UA/translation.json
+++ b/src/lib/i18n/locales/uk-UA/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Підтвердити",
"Confirm Password": "Підтвердіть пароль",
"Confirm your action": "Підтвердіть свою дію",
+ "Confirm your new password": "",
"Connections": "З'єднання",
"Contact Admin for WebUI Access": "Зверніться до адміна для отримання доступу до WebUI",
"Content": "Зміст",
@@ -360,12 +361,15 @@
"Enter Top K": "Введіть Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Введіть URL-адресу (напр., http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Введіть URL-адресу (напр., http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Введіть вашу ел. пошту",
"Enter Your Full Name": "Введіть ваше ім'я",
"Enter your message": "Введіть повідомлення ",
+ "Enter your new password": "",
"Enter Your Password": "Введіть ваш пароль",
"Enter Your Role": "Введіть вашу роль",
"Enter Your Username": "Введіть своє ім'я користувача",
+ "Enter your webhook URL": "",
"Error": "Помилка",
"ERROR": "ПОМИЛКА",
"Error accessing Google Drive: {{error}}": "Помилка доступу до Google Drive: {{error}}",
@@ -615,6 +619,7 @@
"Not helpful": "Не корисно",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Примітка: Якщо ви встановите мінімальну кількість балів, пошук поверне лише документи з кількістю балів, більшою або рівною мінімальній кількості балів.",
"Notes": "Примітки",
+ "Notification Webhook": "",
"Notifications": "Сповіщення",
"November": "Листопад",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/ur-PK/translation.json b/src/lib/i18n/locales/ur-PK/translation.json
index 87ec362f47..9947303644 100644
--- a/src/lib/i18n/locales/ur-PK/translation.json
+++ b/src/lib/i18n/locales/ur-PK/translation.json
@@ -177,6 +177,7 @@
"Confirm": "تصدیق کریں",
"Confirm Password": "پاس ورڈ کی توثیق کریں",
"Confirm your action": "اپنی کارروائی کی تصدیق کریں",
+ "Confirm your new password": "",
"Connections": "کنکشنز",
"Contact Admin for WebUI Access": "ویب یو آئی رسائی کے لیے ایڈمن سے رابطہ کریں",
"Content": "مواد",
@@ -360,12 +361,15 @@
"Enter Top K": "اوپر کے K درج کریں",
"Enter URL (e.g. http://127.0.0.1:7860/)": "یو آر ایل درج کریں (جیسے کہ http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "یو آر ایل درج کریں (مثلاً http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "اپنا ای میل درج کریں",
"Enter Your Full Name": "اپنا مکمل نام درج کریں",
"Enter your message": "اپنا پیغام درج کریں",
+ "Enter your new password": "",
"Enter Your Password": "اپنا پاس ورڈ درج کریں",
"Enter Your Role": "اپنا کردار درج کریں",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "غلطی",
"ERROR": "غلطی",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "مددگار نہیں ہے",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "نوٹ: اگر آپ کم از کم سکور سیٹ کرتے ہیں، تو تلاش صرف ان دستاویزات کو واپس کرے گی جن کا سکور کم از کم سکور کے برابر یا اس سے زیادہ ہوگا",
"Notes": "نوٹس",
+ "Notification Webhook": "",
"Notifications": "اطلاعات",
"November": "نومبر",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json
index 8aeb42988c..82a4702fea 100644
--- a/src/lib/i18n/locales/vi-VN/translation.json
+++ b/src/lib/i18n/locales/vi-VN/translation.json
@@ -177,6 +177,7 @@
"Confirm": "Xác nhận",
"Confirm Password": "Xác nhận Mật khẩu",
"Confirm your action": "Xác nhận hành động của bạn",
+ "Confirm your new password": "",
"Connections": "Kết nối",
"Contact Admin for WebUI Access": "Liên hệ với Quản trị viên để được cấp quyền truy cập",
"Content": "Nội dung",
@@ -360,12 +361,15 @@
"Enter Top K": "Nhập Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Nhập URL (vd: http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Nhập URL (vd: http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "Nhập Email của bạn",
"Enter Your Full Name": "Nhập Họ và Tên của bạn",
"Enter your message": "Nhập tin nhắn của bạn",
+ "Enter your new password": "",
"Enter Your Password": "Nhập Mật khẩu của bạn",
"Enter Your Role": "Nhập vai trò của bạn",
"Enter Your Username": "",
+ "Enter your webhook URL": "",
"Error": "Lỗi",
"ERROR": "",
"Error accessing Google Drive: {{error}}": "",
@@ -615,6 +619,7 @@
"Not helpful": "",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Lưu ý: Nếu bạn đặt điểm (Score) tối thiểu thì tìm kiếm sẽ chỉ trả về những tài liệu có điểm lớn hơn hoặc bằng điểm tối thiểu.",
"Notes": "",
+ "Notification Webhook": "",
"Notifications": "Thông báo trên máy tính (Notification)",
"November": "Tháng 11",
"num_gpu (Ollama)": "",
diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json
index e99908920b..5b72bccaf6 100644
--- a/src/lib/i18n/locales/zh-CN/translation.json
+++ b/src/lib/i18n/locales/zh-CN/translation.json
@@ -177,6 +177,7 @@
"Confirm": "确认",
"Confirm Password": "确认密码",
"Confirm your action": "确定吗?",
+ "Confirm your new password": "",
"Connections": "外部连接",
"Contact Admin for WebUI Access": "请联系管理员以获取访问权限",
"Content": "内容",
@@ -360,12 +361,15 @@
"Enter Top K": "输入 Top K",
"Enter URL (e.g. http://127.0.0.1:7860/)": "输入地址 (例如:http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "输入地址 (例如:http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "输入您的电子邮箱",
"Enter Your Full Name": "输入您的名称",
"Enter your message": "输入您的消息",
+ "Enter your new password": "",
"Enter Your Password": "输入您的密码",
"Enter Your Role": "输入您的权限组",
"Enter Your Username": "输入您的用户名",
+ "Enter your webhook URL": "",
"Error": "错误",
"ERROR": "错误",
"Error accessing Google Drive: {{error}}": "访问 Google 云端硬盘 出错: {{error}}",
@@ -615,6 +619,7 @@
"Not helpful": "无帮助",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "注意:如果设置了最低分数,搜索只会返回分数大于或等于最低分数的文档。",
"Notes": "笔记",
+ "Notification Webhook": "",
"Notifications": "桌面通知",
"November": "十一月",
"num_gpu (Ollama)": "num_gpu (Ollama)",
diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json
index 994c13c37b..0a61840322 100644
--- a/src/lib/i18n/locales/zh-TW/translation.json
+++ b/src/lib/i18n/locales/zh-TW/translation.json
@@ -177,6 +177,7 @@
"Confirm": "確認",
"Confirm Password": "確認密碼",
"Confirm your action": "確認您的操作",
+ "Confirm your new password": "",
"Connections": "連線",
"Contact Admin for WebUI Access": "請聯絡管理員以取得 WebUI 存取權限",
"Content": "內容",
@@ -360,12 +361,15 @@
"Enter Top K": "輸入 Top K 值",
"Enter URL (e.g. http://127.0.0.1:7860/)": "輸入 URL(例如:http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "輸入 URL(例如:http://localhost:11434)",
+ "Enter your current password": "",
"Enter Your Email": "輸入您的電子郵件",
"Enter Your Full Name": "輸入您的全名",
"Enter your message": "輸入您的訊息",
+ "Enter your new password": "",
"Enter Your Password": "輸入您的密碼",
"Enter Your Role": "輸入您的角色",
"Enter Your Username": "輸入您的使用者名稱",
+ "Enter your webhook URL": "",
"Error": "錯誤",
"ERROR": "錯誤",
"Error accessing Google Drive: {{error}}": "存取 Google Drive 時發生錯誤:{{error}}",
@@ -615,6 +619,7 @@
"Not helpful": "沒有幫助",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "注意:如果您設定了最低分數,則搜尋只會回傳分數大於或等於最低分數的文件。",
"Notes": "注意",
+ "Notification Webhook": "",
"Notifications": "通知",
"November": "11 月",
"num_gpu (Ollama)": "num_gpu (Ollama)",
From c6117340883fb961fffe9d4b8707654662d8e5e0 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sat, 21 Dec 2024 09:41:49 -0700
Subject: [PATCH 143/385] refac: styling
---
src/lib/components/chat/Messages/ContentRenderer.svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/components/chat/Messages/ContentRenderer.svelte b/src/lib/components/chat/Messages/ContentRenderer.svelte
index 40cf0352f8..04634ba2e5 100644
--- a/src/lib/components/chat/Messages/ContentRenderer.svelte
+++ b/src/lib/components/chat/Messages/ContentRenderer.svelte
@@ -56,7 +56,7 @@
// Calculate space available on the right
const spaceOnRight = parentRect.width - left;
- let halfScreenWidth = window.innerWidth / 2;
+ let halfScreenWidth = $mobile ? window.innerWidth / 2 : window.innerWidth / 3;
if (spaceOnRight < halfScreenWidth) {
const right = parentRect.right - rect.right;
From 271acb2e67baec77645197c2c8bbe248724a0c92 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sat, 21 Dec 2024 09:45:52 -0700
Subject: [PATCH 144/385] refac
---
backend/open_webui/utils/middleware.py | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 9261c26b35..a33b348145 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -561,6 +561,15 @@ async def process_chat_response(request, response, user, events, metadata, tasks
}
)
+ # Save message in the database
+ Chats.upsert_message_to_chat_by_id_and_message_id(
+ metadata["chat_id"],
+ metadata["message_id"],
+ {
+ **event,
+ },
+ )
+
content = ""
async for line in response.body_iterator:
line = line.decode("utf-8") if isinstance(line, bytes) else line
From 556c75e8761f3e810150dc2072aa3893692f62c2 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sat, 21 Dec 2024 09:59:12 -0700
Subject: [PATCH 145/385] refac
---
backend/open_webui/utils/chat.py | 10 ++++++----
backend/open_webui/utils/models.py | 1 -
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/backend/open_webui/utils/chat.py b/backend/open_webui/utils/chat.py
index c81e56afbe..262e2b75d3 100644
--- a/backend/open_webui/utils/chat.py
+++ b/backend/open_webui/utils/chat.py
@@ -89,7 +89,7 @@ async def generate_chat_completion(
if model_ids and filter_mode == "exclude":
model_ids = [
model["id"]
- for model in await get_all_models(request)
+ for model in list(request.app.state.MODELS.values())
if model.get("owned_by") != "arena" and model["id"] not in model_ids
]
@@ -99,7 +99,7 @@ async def generate_chat_completion(
else:
model_ids = [
model["id"]
- for model in await get_all_models(request)
+ for model in list(request.app.state.MODELS.values())
if model.get("owned_by") != "arena"
]
selected_model_id = random.choice(model_ids)
@@ -154,7 +154,8 @@ async def generate_chat_completion(
async def chat_completed(request: Request, form_data: dict, user: Any):
- await get_all_models(request)
+ if not request.app.state.MODELS:
+ await get_all_models(request)
models = request.app.state.MODELS
data = form_data
@@ -289,7 +290,8 @@ async def chat_action(request: Request, action_id: str, form_data: dict, user: A
if not action:
raise Exception(f"Action not found: {action_id}")
- await get_all_models(request)
+ if not request.app.state.MODELS:
+ await get_all_models(request)
models = request.app.state.MODELS
data = form_data
diff --git a/backend/open_webui/utils/models.py b/backend/open_webui/utils/models.py
index b9a4f07a31..975f8cb095 100644
--- a/backend/open_webui/utils/models.py
+++ b/backend/open_webui/utils/models.py
@@ -58,7 +58,6 @@ async def get_all_base_models(request: Request):
return models
-@cached(ttl=3)
async def get_all_models(request):
models = await get_all_base_models(request)
From 06a692282bbdaa1b1477ba70ef07588332739393 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sat, 21 Dec 2024 16:08:20 -0700
Subject: [PATCH 146/385] refac
---
backend/open_webui/utils/middleware.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index a33b348145..19f732105e 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -617,16 +617,15 @@ async def process_chat_response(request, response, user, events, metadata, tasks
is None
):
webhook_url = Users.get_user_webhook_url_by_id(user.id)
- webui_url = f"{request.headers.get('x-forwarded-proto', request.url.scheme)}://{request.headers.get('x-forwarded-host', f'{request.client.host}:{request.url.port}')}"
if webhook_url:
post_webhook(
webhook_url,
- f"{title} - {webui_url}/c/{metadata['chat_id']}\n\n{content}",
+ f"{title} - {WEBUI_URL}/c/{metadata['chat_id']}\n\n{content}",
{
"action": "chat",
"message": content,
"title": title,
- "url": f"{webui_url}/c/{metadata['chat_id']}",
+ "url": f"{WEBUI_URL}/c/{metadata['chat_id']}",
},
)
From 24c3f7a664bb857d2f97b0e4fcb1aa9d4250d034 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sat, 21 Dec 2024 16:29:48 -0700
Subject: [PATCH 147/385] fix: custom model
---
backend/open_webui/routers/openai.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/backend/open_webui/routers/openai.py b/backend/open_webui/routers/openai.py
index 3705132555..96eac81fe1 100644
--- a/backend/open_webui/routers/openai.py
+++ b/backend/open_webui/routers/openai.py
@@ -533,6 +533,9 @@ async def generate_chat_completion(
user=Depends(get_verified_user),
bypass_filter: Optional[bool] = False,
):
+ if BYPASS_MODEL_ACCESS_CONTROL:
+ bypass_filter = True
+
idx = 0
payload = {**form_data}
if "metadata" in payload:
@@ -545,6 +548,7 @@ async def generate_chat_completion(
if model_info:
if model_info.base_model_id:
payload["model"] = model_info.base_model_id
+ model_id = model_info.base_model_id
params = model_info.params.model_dump()
payload = apply_model_params_to_body_openai(params, payload)
From 27d2fbbe33ea7137e85c88c8643b2c84e1851821 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sat, 21 Dec 2024 18:12:44 -0700
Subject: [PATCH 148/385] refac: sidebar styling
---
src/lib/components/common/Folder.svelte | 32 +-
src/lib/components/layout/Sidebar.svelte | 322 +++++++++---------
.../components/layout/Sidebar/Folders.svelte | 2 +-
3 files changed, 183 insertions(+), 173 deletions(-)
diff --git a/src/lib/components/common/Folder.svelte b/src/lib/components/common/Folder.svelte
index ab15075452..70d646136e 100644
--- a/src/lib/components/common/Folder.svelte
+++ b/src/lib/components/common/Folder.svelte
@@ -1,4 +1,4 @@
-
+
+
diff --git a/src/lib/components/layout/Sidebar/CreateChannelModal.svelte b/src/lib/components/layout/Sidebar/CreateChannelModal.svelte
new file mode 100644
index 0000000000..ca629efa70
--- /dev/null
+++ b/src/lib/components/layout/Sidebar/CreateChannelModal.svelte
@@ -0,0 +1,138 @@
+
+
+
+
+
+
{$i18n.t('Create Channel')}
+
{
+ show = false;
+ }}
+ >
+
+
+
+
+
+
+
+
+
diff --git a/src/lib/stores/index.ts b/src/lib/stores/index.ts
index 0319a5b25f..63d3ee29f3 100644
--- a/src/lib/stores/index.ts
+++ b/src/lib/stores/index.ts
@@ -23,6 +23,8 @@ export const theme = writable('system');
export const chatId = writable('');
export const chatTitle = writable('');
+
+export const channels = writable([]);
export const chats = writable([]);
export const pinnedChats = writable([]);
export const tags = writable([]);
From e444f769f607746b2b5767b11e0dadcb115051a9 Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sun, 22 Dec 2024 04:49:24 -0700
Subject: [PATCH 153/385] refac
---
src/lib/components/channel/Channel.svelte | 5 ++
src/lib/components/channel/Messages.svelte | 63 +++++++++++++++++++
.../channel/Messages/Message.svelte | 0
src/lib/components/layout/Sidebar.svelte | 34 +++++-----
.../layout/Sidebar/ChannelItem.svelte | 22 ++++---
.../components/layout/Sidebar/Folders.svelte | 1 -
src/routes/(app)/channels/[id]/+page.svelte | 7 +++
7 files changed, 106 insertions(+), 26 deletions(-)
create mode 100644 src/lib/components/channel/Channel.svelte
create mode 100644 src/lib/components/channel/Messages.svelte
create mode 100644 src/lib/components/channel/Messages/Message.svelte
create mode 100644 src/routes/(app)/channels/[id]/+page.svelte
diff --git a/src/lib/components/channel/Channel.svelte b/src/lib/components/channel/Channel.svelte
new file mode 100644
index 0000000000..01e35b8021
--- /dev/null
+++ b/src/lib/components/channel/Channel.svelte
@@ -0,0 +1,5 @@
+
+
+{id}
diff --git a/src/lib/components/channel/Messages.svelte b/src/lib/components/channel/Messages.svelte
new file mode 100644
index 0000000000..8b23c18c5d
--- /dev/null
+++ b/src/lib/components/channel/Messages.svelte
@@ -0,0 +1,63 @@
+
+
+
+
+ {#key channelId}
+
+ {#if messages.at(0)?.parentId !== null}
+
{
+ console.log('visible');
+ if (!messagesLoading) {
+ loadMoreMessages();
+ }
+ }}
+ >
+
+
+ {/if}
+
+ {#each messages as message, messageIdx (message.id)}
+
+ {/each}
+
+
+ {/key}
+
+
diff --git a/src/lib/components/channel/Messages/Message.svelte b/src/lib/components/channel/Messages/Message.svelte
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte
index e7a07f2f13..eb8f8f1111 100644
--- a/src/lib/components/layout/Sidebar.svelte
+++ b/src/lib/components/layout/Sidebar.svelte
@@ -544,20 +544,24 @@
? 'opacity-20'
: ''}"
>
- {
- showCreateChannel = true;
- }}
- onAddLabel={$i18n.t('Create Channel')}
- >
- {#each $channels as channel}
-
- {/each}
-
+ {#if $user.role === 'admin' || $channels.length > 0}
+ {
+ showCreateChannel = true;
+ }
+ : null}
+ onAddLabel={$i18n.t('Create Channel')}
+ >
+ {#each $channels as channel}
+
+ {/each}
+
+ {/if}
0}
{
localStorage.setItem('showPinnedChat', e.detail);
diff --git a/src/lib/components/layout/Sidebar/ChannelItem.svelte b/src/lib/components/layout/Sidebar/ChannelItem.svelte
index 2ca788012b..5f0ac85c98 100644
--- a/src/lib/components/layout/Sidebar/ChannelItem.svelte
+++ b/src/lib/components/layout/Sidebar/ChannelItem.svelte
@@ -5,7 +5,7 @@
const dispatch = createEventDispatcher();
- import { mobile, showSidebar } from '$lib/stores';
+ import { mobile, showSidebar, user } from '$lib/stores';
import EllipsisHorizontal from '$lib/components/icons/EllipsisHorizontal.svelte';
export let className = '';
@@ -50,14 +50,16 @@
- {
- e.stopPropagation();
- }}
- >
- {}}>
-
+ {#if $user?.role === 'admin'}
+ {
+ e.stopPropagation();
+ }}
+ >
+ {}}>
+
+
-
+ {/if}
diff --git a/src/lib/components/layout/Sidebar/Folders.svelte b/src/lib/components/layout/Sidebar/Folders.svelte
index fab7aee1f3..f3d4685899 100644
--- a/src/lib/components/layout/Sidebar/Folders.svelte
+++ b/src/lib/components/layout/Sidebar/Folders.svelte
@@ -19,7 +19,6 @@
{#each folderList as folderId (folderId)}
{
diff --git a/src/routes/(app)/channels/[id]/+page.svelte b/src/routes/(app)/channels/[id]/+page.svelte
new file mode 100644
index 0000000000..512fbeaff3
--- /dev/null
+++ b/src/routes/(app)/channels/[id]/+page.svelte
@@ -0,0 +1,7 @@
+
+
+
From 2914c29ab3adffdc3389ceb630b2f1570359677e Mon Sep 17 00:00:00 2001
From: Timothy Jaeryang Baek
Date: Sun, 22 Dec 2024 15:11:10 -0700
Subject: [PATCH 154/385] refac: styling
---
src/lib/components/layout/Sidebar.svelte | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte
index eb8f8f1111..cfa9e713d3 100644
--- a/src/lib/components/layout/Sidebar.svelte
+++ b/src/lib/components/layout/Sidebar.svelte
@@ -544,9 +544,8 @@
? 'opacity-20'
: ''}"
>
- {#if $user.role === 'admin' || $channels.length > 0}
+ {#if ($user.role === 'admin' || $channels.length > 0) && !search}
Date: Sun, 22 Dec 2024 17:16:14 -0700
Subject: [PATCH 155/385] refac
---
src/lib/components/layout/Sidebar.svelte | 253 +++++++++---------
.../components/layout/Sidebar/Folders.svelte | 1 +
2 files changed, 130 insertions(+), 124 deletions(-)
diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte
index cfa9e713d3..7799337495 100644
--- a/src/lib/components/layout/Sidebar.svelte
+++ b/src/lib/components/layout/Sidebar.svelte
@@ -53,6 +53,7 @@
import { getChannels, createNewChannel } from '$lib/apis/channels';
import CreateChannelModal from './Sidebar/CreateChannelModal.svelte';
import ChannelItem from './Sidebar/ChannelItem.svelte';
+ import PencilSquare from '../icons/PencilSquare.svelte';
const BREAKPOINT = 768;
@@ -433,36 +434,6 @@
: 'invisible'}"
>
-
-
{
@@ -486,6 +457,42 @@
+
+
{#if $user?.role === 'admin' || $user?.permissions?.workspace?.models || $user?.permissions?.workspace?.knowledge || $user?.permissions?.workspace?.prompts || $user?.permissions?.workspace?.tools}
@@ -544,6 +551,82 @@
? 'opacity-20'
: ''}"
>
+ {#if !search && $pinnedChats.length > 0}
+
+
{
+ localStorage.setItem('showPinnedChat', e.detail);
+ console.log(e.detail);
+ }}
+ on:import={(e) => {
+ importChatHandler(e.detail, true);
+ }}
+ on:drop={async (e) => {
+ const { type, id, item } = e.detail;
+
+ if (type === 'chat') {
+ let chat = await getChatById(localStorage.token, id).catch((error) => {
+ return null;
+ });
+ if (!chat && item) {
+ chat = await importChat(localStorage.token, item.chat, item?.meta ?? {});
+ }
+
+ if (chat) {
+ console.log(chat);
+ if (chat.folder_id) {
+ const res = await updateChatFolderIdById(
+ localStorage.token,
+ chat.id,
+ null
+ ).catch((error) => {
+ toast.error(error);
+ return null;
+ });
+ }
+
+ if (!chat.pinned) {
+ const res = await toggleChatPinnedStatusById(localStorage.token, chat.id);
+ }
+
+ initChatList();
+ }
+ }
+ }}
+ name={$i18n.t('Pinned')}
+ >
+
+ {#each $pinnedChats as chat, idx}
+ {
+ selectedChatId = chat.id;
+ }}
+ on:unselect={() => {
+ selectedChatId = null;
+ }}
+ on:change={async () => {
+ initChatList();
+ }}
+ on:tag={(e) => {
+ const { type, name } = e.detail;
+ tagEventHandler(type, name, chat.id);
+ }}
+ />
+ {/each}
+
+
+
+ {/if}
+
{#if ($user.role === 'admin' || $channels.length > 0) && !search}
{/if}
+ {#if !search && folders}
+ {
+ const { folderId, items } = e.detail;
+ importChatHandler(items, false, folderId);
+ }}
+ on:update={async (e) => {
+ initChatList();
+ }}
+ on:change={async () => {
+ initChatList();
+ }}
+ />
+ {/if}
+
{
importChatHandler(e.detail);
}}
@@ -621,99 +718,7 @@
{/if}
- {#if !search && $pinnedChats.length > 0}
-
-
{
- localStorage.setItem('showPinnedChat', e.detail);
- console.log(e.detail);
- }}
- on:import={(e) => {
- importChatHandler(e.detail, true);
- }}
- on:drop={async (e) => {
- const { type, id, item } = e.detail;
-
- if (type === 'chat') {
- let chat = await getChatById(localStorage.token, id).catch((error) => {
- return null;
- });
- if (!chat && item) {
- chat = await importChat(localStorage.token, item.chat, item?.meta ?? {});
- }
-
- if (chat) {
- console.log(chat);
- if (chat.folder_id) {
- const res = await updateChatFolderIdById(
- localStorage.token,
- chat.id,
- null
- ).catch((error) => {
- toast.error(error);
- return null;
- });
- }
-
- if (!chat.pinned) {
- const res = await toggleChatPinnedStatusById(localStorage.token, chat.id);
- }
-
- initChatList();
- }
- }
- }}
- name={$i18n.t('Pinned')}
- >
-
- {#each $pinnedChats as chat, idx}
- {
- selectedChatId = chat.id;
- }}
- on:unselect={() => {
- selectedChatId = null;
- }}
- on:change={async () => {
- initChatList();
- }}
- on:tag={(e) => {
- const { type, name } = e.detail;
- tagEventHandler(type, name, chat.id);
- }}
- />
- {/each}
-
-
-
- {/if}
-