Upload 1109 files
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +4 -0
- Image_topdf.py +23 -0
- VL_output_to_json.py +354 -0
- app.py +227 -0
- engine.py +149 -0
- frequency.py +187 -0
- json_to_pdf.py +128 -0
- main.py +154 -0
- my-vue-app/.gitignore +24 -0
- my-vue-app/.vscode/extensions.json +3 -0
- my-vue-app/README.md +5 -0
- my-vue-app/index.html +11 -0
- my-vue-app/node_modules/.bin/esbuild +3 -0
- my-vue-app/node_modules/.bin/esbuild.cmd +3 -0
- my-vue-app/node_modules/.bin/esbuild.ps1 +3 -0
- my-vue-app/node_modules/.bin/nanoid +3 -0
- my-vue-app/node_modules/.bin/nanoid.cmd +3 -0
- my-vue-app/node_modules/.bin/nanoid.ps1 +3 -0
- my-vue-app/node_modules/.bin/parser +3 -0
- my-vue-app/node_modules/.bin/parser.cmd +3 -0
- my-vue-app/node_modules/.bin/parser.ps1 +3 -0
- my-vue-app/node_modules/.bin/rollup +3 -0
- my-vue-app/node_modules/.bin/rollup.cmd +3 -0
- my-vue-app/node_modules/.bin/rollup.ps1 +3 -0
- my-vue-app/node_modules/.bin/vite +3 -0
- my-vue-app/node_modules/.bin/vite.cmd +3 -0
- my-vue-app/node_modules/.bin/vite.ps1 +3 -0
- my-vue-app/node_modules/.package-lock.json +764 -0
- my-vue-app/node_modules/.vite/deps/_metadata.json +25 -0
- my-vue-app/node_modules/.vite/deps/axios.js +2629 -0
- my-vue-app/node_modules/.vite/deps/axios.js.map +0 -0
- my-vue-app/node_modules/.vite/deps/chunk-PZ5AY32C.js +10 -0
- my-vue-app/node_modules/.vite/deps/chunk-PZ5AY32C.js.map +7 -0
- my-vue-app/node_modules/.vite/deps/package.json +3 -0
- my-vue-app/node_modules/.vite/deps/vue.js +0 -0
- my-vue-app/node_modules/.vite/deps/vue.js.map +0 -0
- my-vue-app/node_modules/@babel/helper-string-parser/LICENSE +22 -0
- my-vue-app/node_modules/@babel/helper-string-parser/README.md +19 -0
- my-vue-app/node_modules/@babel/helper-string-parser/lib/index.js +295 -0
- my-vue-app/node_modules/@babel/helper-string-parser/lib/index.js.map +1 -0
- my-vue-app/node_modules/@babel/helper-string-parser/package.json +31 -0
- my-vue-app/node_modules/@babel/helper-validator-identifier/LICENSE +22 -0
- my-vue-app/node_modules/@babel/helper-validator-identifier/README.md +19 -0
- my-vue-app/node_modules/@babel/helper-validator-identifier/lib/identifier.js +70 -0
- my-vue-app/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +1 -0
- my-vue-app/node_modules/@babel/helper-validator-identifier/lib/index.js +57 -0
- my-vue-app/node_modules/@babel/helper-validator-identifier/lib/index.js.map +1 -0
- my-vue-app/node_modules/@babel/helper-validator-identifier/lib/keyword.js +35 -0
- my-vue-app/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +1 -0
- my-vue-app/node_modules/@babel/helper-validator-identifier/package.json +31 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
my-vue-app/node_modules/@esbuild/win32-x64/esbuild.exe filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
my-vue-app/node_modules/@rollup/rollup-win32-x64-gnu/rollup.win32-x64-gnu.node filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
my-vue-app/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
my-vue-app/public/bg.mp4 filter=lfs diff=lfs merge=lfs -text
|
Image_topdf.py
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from PIL import Image
|
| 2 |
+
from io import BytesIO
|
| 3 |
+
from pathlib import Path
|
| 4 |
+
|
| 5 |
+
def images_to_pdf(files, output_pdf_path: Path):
|
| 6 |
+
images = []
|
| 7 |
+
|
| 8 |
+
for file in files:
|
| 9 |
+
# FastAPI UploadFile → bytes → PIL Image
|
| 10 |
+
file_bytes = file.file.read()
|
| 11 |
+
img = Image.open(BytesIO(file_bytes)).convert("RGB")
|
| 12 |
+
images.append(img)
|
| 13 |
+
|
| 14 |
+
if not images:
|
| 15 |
+
raise ValueError("No valid images provided")
|
| 16 |
+
|
| 17 |
+
images[0].save(
|
| 18 |
+
output_pdf_path,
|
| 19 |
+
save_all=True,
|
| 20 |
+
append_images=images[1:]
|
| 21 |
+
)
|
| 22 |
+
|
| 23 |
+
return str(output_pdf_path)
|
VL_output_to_json.py
ADDED
|
@@ -0,0 +1,354 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# import json
|
| 2 |
+
# from pathlib import Path
|
| 3 |
+
# from groq import Groq
|
| 4 |
+
|
| 5 |
+
# # Initialize Groq client (make sure env var GROQ_API_KEY is set)
|
| 6 |
+
# client = Groq(api_key="YOUR_GROQ_API_KEY_HERE")
|
| 7 |
+
|
| 8 |
+
# # Load your Markdown file
|
| 9 |
+
|
| 10 |
+
# md_file_path = Path(r"output1\final_document.md")
|
| 11 |
+
# exam_text = md_file_path.read_text(encoding="utf-8")
|
| 12 |
+
|
| 13 |
+
# def extract_questions_with_groq(text: str):
|
| 14 |
+
# prompt = f"""
|
| 15 |
+
# You are an expert assistant. Extract all exam questions from the following Markdown/HTML content.
|
| 16 |
+
|
| 17 |
+
# IMPORTANT:
|
| 18 |
+
# - ONLY return valid JSON. DO NOT write any explanations or extra text.
|
| 19 |
+
# - JSON structure:
|
| 20 |
+
|
| 21 |
+
# {{
|
| 22 |
+
# "subject": "...",
|
| 23 |
+
# "PART_A": [
|
| 24 |
+
# {{
|
| 25 |
+
# "qno": "...",
|
| 26 |
+
# "question": "...",
|
| 27 |
+
# "image": null
|
| 28 |
+
# }}
|
| 29 |
+
# ],
|
| 30 |
+
# "PART_B": [
|
| 31 |
+
# {{
|
| 32 |
+
# "qno": "...",
|
| 33 |
+
# "subquestions": [
|
| 34 |
+
# {{
|
| 35 |
+
# "subq": "...",
|
| 36 |
+
# "question": "...",
|
| 37 |
+
# "image": null
|
| 38 |
+
# }}
|
| 39 |
+
# ]
|
| 40 |
+
# }}
|
| 41 |
+
# ]
|
| 42 |
+
# }}
|
| 43 |
+
|
| 44 |
+
# Rules:
|
| 45 |
+
# - Extract subject name if present.
|
| 46 |
+
# - PART_A: exactly 10 items (1a–1j)
|
| 47 |
+
# - PART_B: 5 main questions with 4 subquestions each (a–d)
|
| 48 |
+
# - Attach <img src="..."> links to "image" if present, else null
|
| 49 |
+
# - RETURN ONLY JSON, no markdown, no explanations.
|
| 50 |
+
# CRITICAL CLEANING RULES:
|
| 51 |
+
# - REMOVE and DO NOT include ANY assessment or evaluation metadata in question text.
|
| 52 |
+
# - This includes (but is not limited to):
|
| 53 |
+
# - Course Outcomes (CO1, CO2, CO3, etc.)
|
| 54 |
+
# - Bloom levels (L1, L2, L3, etc.)
|
| 55 |
+
# - Marks / scores (2M, 5M, 10M, 5 Marks, etc.)
|
| 56 |
+
# - Any combinations like "CO2 L3 5M", "CO3-L2", "CO4/L3"
|
| 57 |
+
# - These are NOT part of the question.
|
| 58 |
+
# - Do NOT move them to another field.
|
| 59 |
+
# - Do NOT mention them anywhere in the output.
|
| 60 |
+
# - The question text must contain ONLY the academic question.
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
# Markdown/HTML content:
|
| 64 |
+
# {text}
|
| 65 |
+
# """
|
| 66 |
+
|
| 67 |
+
|
| 68 |
+
# response = client.chat.completions.create(
|
| 69 |
+
# messages=[{"role": "user", "content": prompt}],
|
| 70 |
+
# model="openai/gpt-oss-20b", # Groq-compatible chat model
|
| 71 |
+
# max_tokens=12000, # recommended instead of max_output_tokens
|
| 72 |
+
# temperature=0
|
| 73 |
+
# )
|
| 74 |
+
|
| 75 |
+
# # Extract JSON text from the response
|
| 76 |
+
# json_text = response.choices[0].message.content
|
| 77 |
+
|
| 78 |
+
# try:
|
| 79 |
+
# data = json.loads(json_text)
|
| 80 |
+
# except json.JSONDecodeError:
|
| 81 |
+
# print("❌ JSON parse error — raw output:")
|
| 82 |
+
# print(json_text)
|
| 83 |
+
# return None
|
| 84 |
+
|
| 85 |
+
# return data
|
| 86 |
+
|
| 87 |
+
|
| 88 |
+
# import re
|
| 89 |
+
# from bs4 import BeautifulSoup
|
| 90 |
+
|
| 91 |
+
# def normalize_exam_md(md_text: str):
|
| 92 |
+
# soup = BeautifulSoup(md_text, "html.parser")
|
| 93 |
+
# current_qno = None
|
| 94 |
+
|
| 95 |
+
# for tr in soup.find_all("tr"):
|
| 96 |
+
# tds = tr.find_all("td")
|
| 97 |
+
# texts = [td.get_text(strip=True) for td in tds]
|
| 98 |
+
|
| 99 |
+
# # Detect main question number like "3."
|
| 100 |
+
# for t in texts:
|
| 101 |
+
# if re.fullmatch(r"\d+\.", t):
|
| 102 |
+
# current_qno = t[:-1] # "3."
|
| 103 |
+
# break
|
| 104 |
+
|
| 105 |
+
# has_subq = any(re.fullmatch(r"[a-d]\)", t) for t in texts)
|
| 106 |
+
# has_main_q = any(re.fullmatch(r"\d+\.", t) for t in texts)
|
| 107 |
+
|
| 108 |
+
# if has_subq and not has_main_q and current_qno:
|
| 109 |
+
# new_td = soup.new_tag("td")
|
| 110 |
+
# new_td.string = f"{current_qno}."
|
| 111 |
+
# tr.insert(0, new_td)
|
| 112 |
+
|
| 113 |
+
# return str(soup), current_qno
|
| 114 |
+
|
| 115 |
+
|
| 116 |
+
# import re
|
| 117 |
+
|
| 118 |
+
# def inject_orphan_subquestions(md_text: str) -> str:
|
| 119 |
+
# """
|
| 120 |
+
# Attach orphaned c), d) style questions to the last seen main question.
|
| 121 |
+
# """
|
| 122 |
+
# lines = md_text.splitlines()
|
| 123 |
+
# output = []
|
| 124 |
+
# current_qno = None
|
| 125 |
+
|
| 126 |
+
# qno_pattern = re.compile(r"^\s*(\d+)\.\s*")
|
| 127 |
+
# subq_pattern = re.compile(r"^\s*([a-d])\)\s*(.+)")
|
| 128 |
+
|
| 129 |
+
# for line in lines:
|
| 130 |
+
# # Detect main question number
|
| 131 |
+
# qno_match = qno_pattern.match(line)
|
| 132 |
+
# if qno_match:
|
| 133 |
+
# current_qno = qno_match.group(1)
|
| 134 |
+
|
| 135 |
+
# subq_match = subq_pattern.match(line)
|
| 136 |
+
|
| 137 |
+
# if subq_match and current_qno:
|
| 138 |
+
# subq, text = subq_match.groups()
|
| 139 |
+
# # Convert to pseudo-table format so LLM understands
|
| 140 |
+
# line = f"{current_qno}. {subq}) {text}"
|
| 141 |
+
|
| 142 |
+
# output.append(line)
|
| 143 |
+
|
| 144 |
+
# return "\n".join(output)
|
| 145 |
+
|
| 146 |
+
# import re
|
| 147 |
+
|
| 148 |
+
# def inject_plain_text_subquestions(text: str, inherited_qno=None):
|
| 149 |
+
# lines = text.splitlines()
|
| 150 |
+
# output = []
|
| 151 |
+
|
| 152 |
+
# current_qno = inherited_qno
|
| 153 |
+
# qno_pattern = re.compile(r"^\s*(\d+)\.\s*")
|
| 154 |
+
# subq_pattern = re.compile(r"^\s*([a-d])\)\s*(.+)")
|
| 155 |
+
|
| 156 |
+
# for line in lines:
|
| 157 |
+
# q_match = qno_pattern.match(line)
|
| 158 |
+
# if q_match:
|
| 159 |
+
# current_qno = q_match.group(1)
|
| 160 |
+
# output.append(line)
|
| 161 |
+
# continue
|
| 162 |
+
|
| 163 |
+
# s_match = subq_pattern.match(line)
|
| 164 |
+
# if s_match and current_qno:
|
| 165 |
+
# subq, content = s_match.groups()
|
| 166 |
+
# line = f"{current_qno}. {subq}) {content}"
|
| 167 |
+
|
| 168 |
+
# output.append(line)
|
| 169 |
+
|
| 170 |
+
# return "\n".join(output)
|
| 171 |
+
|
| 172 |
+
|
| 173 |
+
|
| 174 |
+
# # Run extraction
|
| 175 |
+
# raw_text = md_file_path.read_text(encoding="utf-8")
|
| 176 |
+
# normalized_html, last_qno = normalize_exam_md(raw_text)
|
| 177 |
+
# final_text = inject_plain_text_subquestions(normalized_html, last_qno)
|
| 178 |
+
|
| 179 |
+
# questions_json = extract_questions_with_groq(final_text)
|
| 180 |
+
|
| 181 |
+
|
| 182 |
+
# # Save output
|
| 183 |
+
# if questions_json:
|
| 184 |
+
# out_file = Path(r"C:\Users\shiva\OneDrive\Desktop\mini 2.0\injection1.json")
|
| 185 |
+
# with out_file.open("w", encoding="utf-8") as f:
|
| 186 |
+
# json.dump(questions_json, f, indent=2)
|
| 187 |
+
# print(f"✅ Questions JSON saved: {out_file}")
|
| 188 |
+
# else:
|
| 189 |
+
# print("⚠ Extraction failed.")
|
| 190 |
+
|
| 191 |
+
|
| 192 |
+
|
| 193 |
+
import json
|
| 194 |
+
import re
|
| 195 |
+
from pathlib import Path
|
| 196 |
+
from groq import Groq
|
| 197 |
+
from bs4 import BeautifulSoup
|
| 198 |
+
|
| 199 |
+
|
| 200 |
+
# -------------------------------
|
| 201 |
+
# Groq Client Factory
|
| 202 |
+
# -------------------------------
|
| 203 |
+
def create_groq_client(api_key: str) -> Groq:
|
| 204 |
+
return Groq(api_key=api_key)
|
| 205 |
+
|
| 206 |
+
|
| 207 |
+
# -------------------------------
|
| 208 |
+
# Normalize HTML tables
|
| 209 |
+
# -------------------------------
|
| 210 |
+
def normalize_exam_md(md_text: str):
|
| 211 |
+
soup = BeautifulSoup(md_text, "html.parser")
|
| 212 |
+
current_qno = None
|
| 213 |
+
|
| 214 |
+
for tr in soup.find_all("tr"):
|
| 215 |
+
tds = tr.find_all("td")
|
| 216 |
+
texts = [td.get_text(strip=True) for td in tds]
|
| 217 |
+
|
| 218 |
+
for t in texts:
|
| 219 |
+
if re.fullmatch(r"\d+\.", t):
|
| 220 |
+
current_qno = t[:-1]
|
| 221 |
+
break
|
| 222 |
+
|
| 223 |
+
has_subq = any(re.fullmatch(r"[a-d]\)", t) for t in texts)
|
| 224 |
+
has_main_q = any(re.fullmatch(r"\d+\.", t) for t in texts)
|
| 225 |
+
|
| 226 |
+
if has_subq and not has_main_q and current_qno:
|
| 227 |
+
new_td = soup.new_tag("td")
|
| 228 |
+
new_td.string = f"{current_qno}."
|
| 229 |
+
tr.insert(0, new_td)
|
| 230 |
+
|
| 231 |
+
return str(soup), current_qno
|
| 232 |
+
|
| 233 |
+
|
| 234 |
+
# -------------------------------
|
| 235 |
+
# Inject orphan subquestions
|
| 236 |
+
# -------------------------------
|
| 237 |
+
def inject_plain_text_subquestions(text: str, inherited_qno=None):
|
| 238 |
+
lines = text.splitlines()
|
| 239 |
+
output = []
|
| 240 |
+
|
| 241 |
+
current_qno = inherited_qno
|
| 242 |
+
qno_pattern = re.compile(r"^\s*(\d+)\.\s*")
|
| 243 |
+
subq_pattern = re.compile(r"^\s*([a-d])\)\s*(.+)")
|
| 244 |
+
|
| 245 |
+
for line in lines:
|
| 246 |
+
q_match = qno_pattern.match(line)
|
| 247 |
+
if q_match:
|
| 248 |
+
current_qno = q_match.group(1)
|
| 249 |
+
output.append(line)
|
| 250 |
+
continue
|
| 251 |
+
|
| 252 |
+
s_match = subq_pattern.match(line)
|
| 253 |
+
if s_match and current_qno:
|
| 254 |
+
subq, content = s_match.groups()
|
| 255 |
+
line = f"{current_qno}. {subq}) {content}"
|
| 256 |
+
|
| 257 |
+
output.append(line)
|
| 258 |
+
|
| 259 |
+
return "\n".join(output)
|
| 260 |
+
|
| 261 |
+
|
| 262 |
+
# -------------------------------
|
| 263 |
+
# Groq Extraction
|
| 264 |
+
# -------------------------------
|
| 265 |
+
def extract_questions_with_groq(
|
| 266 |
+
client: Groq,
|
| 267 |
+
text: str,
|
| 268 |
+
model: str = "openai/gpt-oss-20b"
|
| 269 |
+
):
|
| 270 |
+
prompt = f"""
|
| 271 |
+
You are an expert assistant. Extract all exam questions from the following Markdown/HTML content.
|
| 272 |
+
|
| 273 |
+
IMPORTANT:
|
| 274 |
+
- ONLY return valid JSON. DO NOT write any explanations or extra text.
|
| 275 |
+
- JSON structure:
|
| 276 |
+
|
| 277 |
+
{{
|
| 278 |
+
"subject": "...",
|
| 279 |
+
"PART_A": [
|
| 280 |
+
{{
|
| 281 |
+
"qno": "...",
|
| 282 |
+
"question": "...",
|
| 283 |
+
"image": null
|
| 284 |
+
}}
|
| 285 |
+
],
|
| 286 |
+
"PART_B": [
|
| 287 |
+
{{
|
| 288 |
+
"qno": "...",
|
| 289 |
+
"subquestions": [
|
| 290 |
+
{{
|
| 291 |
+
"subq": "...",
|
| 292 |
+
"question": "...",
|
| 293 |
+
"image": null
|
| 294 |
+
}}
|
| 295 |
+
]
|
| 296 |
+
}}
|
| 297 |
+
]
|
| 298 |
+
}}
|
| 299 |
+
|
| 300 |
+
Rules:
|
| 301 |
+
- Extract subject name if present
|
| 302 |
+
- PART_A: exactly 10 items (1a–1j)
|
| 303 |
+
- PART_B: 5 main questions with 4 subquestions each (a–d)
|
| 304 |
+
- Attach <img src="..."> links to "image" if present, else null
|
| 305 |
+
- REMOVE CO, Bloom levels, Marks completely
|
| 306 |
+
|
| 307 |
+
Markdown/HTML content:
|
| 308 |
+
{text}
|
| 309 |
+
"""
|
| 310 |
+
|
| 311 |
+
response = client.chat.completions.create(
|
| 312 |
+
messages=[{"role": "user", "content": prompt}],
|
| 313 |
+
model=model,
|
| 314 |
+
temperature=0,
|
| 315 |
+
max_tokens=20000
|
| 316 |
+
)
|
| 317 |
+
|
| 318 |
+
raw = response.choices[0].message.content
|
| 319 |
+
|
| 320 |
+
try:
|
| 321 |
+
return json.loads(raw)
|
| 322 |
+
except json.JSONDecodeError:
|
| 323 |
+
print("❌ JSON parse failed")
|
| 324 |
+
print(raw)
|
| 325 |
+
return None
|
| 326 |
+
|
| 327 |
+
|
| 328 |
+
# -------------------------------
|
| 329 |
+
# 🚀 SINGLE ENTRY FUNCTION
|
| 330 |
+
# -------------------------------
|
| 331 |
+
def extract_exam_questions(
|
| 332 |
+
md_file_path: str,
|
| 333 |
+
api_key: str,
|
| 334 |
+
output_json_path: str = None
|
| 335 |
+
):
|
| 336 |
+
client = create_groq_client(api_key)
|
| 337 |
+
|
| 338 |
+
raw_text = Path(md_file_path).read_text(encoding="utf-8")
|
| 339 |
+
|
| 340 |
+
normalized_html, last_qno = normalize_exam_md(raw_text)
|
| 341 |
+
final_text = inject_plain_text_subquestions(normalized_html, last_qno)
|
| 342 |
+
|
| 343 |
+
result = extract_questions_with_groq(client, final_text)
|
| 344 |
+
|
| 345 |
+
if result and output_json_path:
|
| 346 |
+
with open(output_json_path, "w", encoding="utf-8") as f:
|
| 347 |
+
json.dump(result, f, indent=2)
|
| 348 |
+
|
| 349 |
+
return result
|
| 350 |
+
# extract_exam_questions(
|
| 351 |
+
# md_file_path=r"C:\\Users\\shiva\\OneDrive\\Desktop\\mini 2.0\\vl_output_bro\\query_1\\final_document.md",
|
| 352 |
+
# api_key="YOUR_GROQ_API_KEY_HERE",
|
| 353 |
+
# output_json_path=r"C:\\Users\\shiva\\OneDrive\\Desktop\\mini 2.0\\injection1.json"
|
| 354 |
+
# )
|
app.py
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import streamlit as st
|
| 2 |
+
from pathlib import Path
|
| 3 |
+
import requests
|
| 4 |
+
|
| 5 |
+
API_URL = "http://localhost:8000"
|
| 6 |
+
|
| 7 |
+
# ----------------------------------
|
| 8 |
+
# Setup folders (UI only)
|
| 9 |
+
# ----------------------------------
|
| 10 |
+
BASE_DIR = Path.cwd()
|
| 11 |
+
QUERY_DIR = BASE_DIR / "queries"
|
| 12 |
+
QUERY_DIR.mkdir(parents=True, exist_ok=True)
|
| 13 |
+
|
| 14 |
+
# ----------------------------------
|
| 15 |
+
# Session state init (CRITICAL FIX)
|
| 16 |
+
# ----------------------------------
|
| 17 |
+
if "saved_docs" not in st.session_state:
|
| 18 |
+
st.session_state.saved_docs = []
|
| 19 |
+
|
| 20 |
+
if "saved_once" not in st.session_state:
|
| 21 |
+
st.session_state.saved_once = set() # prevents duplicates
|
| 22 |
+
|
| 23 |
+
saved_docs = st.session_state.saved_docs
|
| 24 |
+
|
| 25 |
+
# ----------------------------------
|
| 26 |
+
# UI
|
| 27 |
+
# ----------------------------------
|
| 28 |
+
st.set_page_config(page_title="Exam Pipeline", layout="wide")
|
| 29 |
+
st.title("📘 Exam Question Processing Pipeline")
|
| 30 |
+
|
| 31 |
+
api_key = "your_groq_api_key_here" # Replace with your actual API key or use st.text_input to get from user
|
| 32 |
+
|
| 33 |
+
num_docs = st.number_input(
|
| 34 |
+
"Number of documents",
|
| 35 |
+
min_value=1,
|
| 36 |
+
step=1
|
| 37 |
+
)
|
| 38 |
+
|
| 39 |
+
# ----------------------------------
|
| 40 |
+
# Upload Section
|
| 41 |
+
# ----------------------------------
|
| 42 |
+
for i in range(num_docs):
|
| 43 |
+
st.subheader(f"Document {i+1}")
|
| 44 |
+
|
| 45 |
+
doc_type = st.radio(
|
| 46 |
+
"Input type",
|
| 47 |
+
["Images", "PDF"],
|
| 48 |
+
key=f"type_{i}"
|
| 49 |
+
)
|
| 50 |
+
|
| 51 |
+
# -------- Images --------
|
| 52 |
+
if doc_type == "Images":
|
| 53 |
+
uploaded_images = st.file_uploader(
|
| 54 |
+
"Upload images",
|
| 55 |
+
type=["png", "jpg", "jpeg"],
|
| 56 |
+
accept_multiple_files=True,
|
| 57 |
+
key=f"img_{i}"
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
if uploaded_images and st.button(f"Save Images as PDF (Doc {i+1})"):
|
| 61 |
+
unique_key = f"img_{i}_{','.join(img.name for img in uploaded_images)}"
|
| 62 |
+
|
| 63 |
+
if unique_key not in st.session_state.saved_once:
|
| 64 |
+
res = requests.post(
|
| 65 |
+
f"{API_URL}/images-to-pdf",
|
| 66 |
+
files=[
|
| 67 |
+
("files", (img.name, img.getvalue(), img.type))
|
| 68 |
+
for img in uploaded_images
|
| 69 |
+
]
|
| 70 |
+
)
|
| 71 |
+
|
| 72 |
+
if res.status_code != 200:
|
| 73 |
+
st.error(res.text)
|
| 74 |
+
st.stop()
|
| 75 |
+
|
| 76 |
+
data = res.json()
|
| 77 |
+
if "error" in data:
|
| 78 |
+
st.error(data["error"])
|
| 79 |
+
st.stop()
|
| 80 |
+
|
| 81 |
+
pdf_path = data["path"]
|
| 82 |
+
saved_docs.append(pdf_path)
|
| 83 |
+
st.session_state.saved_once.add(unique_key)
|
| 84 |
+
|
| 85 |
+
st.success(f"Saved → {pdf_path}")
|
| 86 |
+
else:
|
| 87 |
+
st.info("Images already saved for this document.")
|
| 88 |
+
|
| 89 |
+
# -------- PDF --------
|
| 90 |
+
else:
|
| 91 |
+
uploaded_pdf = st.file_uploader(
|
| 92 |
+
"Upload PDF",
|
| 93 |
+
type=["pdf"],
|
| 94 |
+
key=f"pdf_{i}"
|
| 95 |
+
)
|
| 96 |
+
|
| 97 |
+
if uploaded_pdf:
|
| 98 |
+
unique_key = f"pdf_{i}_{uploaded_pdf.name}"
|
| 99 |
+
|
| 100 |
+
if unique_key not in st.session_state.saved_once:
|
| 101 |
+
res = requests.post(
|
| 102 |
+
f"{API_URL}/save-pdf",
|
| 103 |
+
files={
|
| 104 |
+
"file": (
|
| 105 |
+
uploaded_pdf.name,
|
| 106 |
+
uploaded_pdf.getvalue(),
|
| 107 |
+
"application/pdf"
|
| 108 |
+
)
|
| 109 |
+
}
|
| 110 |
+
)
|
| 111 |
+
|
| 112 |
+
if res.status_code != 200:
|
| 113 |
+
st.error(res.text)
|
| 114 |
+
st.stop()
|
| 115 |
+
|
| 116 |
+
data = res.json()
|
| 117 |
+
if "error" in data:
|
| 118 |
+
st.error(data["error"])
|
| 119 |
+
st.stop()
|
| 120 |
+
|
| 121 |
+
pdf_path = data["path"]
|
| 122 |
+
saved_docs.append(pdf_path)
|
| 123 |
+
st.session_state.saved_once.add(unique_key)
|
| 124 |
+
|
| 125 |
+
st.success(f"Saved → {pdf_path}")
|
| 126 |
+
else:
|
| 127 |
+
st.info("PDF already saved for this document.")
|
| 128 |
+
|
| 129 |
+
# ----------------------------------
|
| 130 |
+
# Run Pipeline
|
| 131 |
+
# ----------------------------------
|
| 132 |
+
import time
|
| 133 |
+
import time
|
| 134 |
+
|
| 135 |
+
if st.button("🚀 Run Full Pipeline"):
|
| 136 |
+
|
| 137 |
+
if not api_key:
|
| 138 |
+
st.error("❌ API key required")
|
| 139 |
+
st.stop()
|
| 140 |
+
|
| 141 |
+
if not saved_docs:
|
| 142 |
+
st.error("❌ Please upload images or PDFs first")
|
| 143 |
+
st.stop()
|
| 144 |
+
|
| 145 |
+
# ---------------- START PIPELINE ----------------
|
| 146 |
+
start_res = requests.post(
|
| 147 |
+
f"{API_URL}/run-pipeline",
|
| 148 |
+
params={"api_key": api_key},
|
| 149 |
+
json=saved_docs
|
| 150 |
+
)
|
| 151 |
+
|
| 152 |
+
if start_res.status_code != 200:
|
| 153 |
+
st.error(start_res.text)
|
| 154 |
+
st.stop()
|
| 155 |
+
|
| 156 |
+
start_data = start_res.json()
|
| 157 |
+
job_id = start_data.get("job_id")
|
| 158 |
+
|
| 159 |
+
if not job_id:
|
| 160 |
+
st.error("❌ Failed to start pipeline")
|
| 161 |
+
st.stop()
|
| 162 |
+
|
| 163 |
+
# ---------------- STATUS POLLING ----------------
|
| 164 |
+
st.subheader("🚀 Pipeline Progress")
|
| 165 |
+
status_box = st.empty()
|
| 166 |
+
|
| 167 |
+
final_result = None
|
| 168 |
+
|
| 169 |
+
while True:
|
| 170 |
+
status_res = requests.get(f"{API_URL}/job-status/{job_id}")
|
| 171 |
+
|
| 172 |
+
if status_res.status_code != 200:
|
| 173 |
+
st.error(status_res.text)
|
| 174 |
+
st.stop()
|
| 175 |
+
|
| 176 |
+
status_data = status_res.json()
|
| 177 |
+
status_text = status_data.get("status", "Unknown status")
|
| 178 |
+
|
| 179 |
+
status_box.info(status_text)
|
| 180 |
+
|
| 181 |
+
# ❌ error case
|
| 182 |
+
if status_text.startswith("❌"):
|
| 183 |
+
st.error(status_text)
|
| 184 |
+
st.stop()
|
| 185 |
+
|
| 186 |
+
# ✅ completed
|
| 187 |
+
if status_text == "✅ Completed":
|
| 188 |
+
final_result = status_data.get("result")
|
| 189 |
+
break
|
| 190 |
+
|
| 191 |
+
time.sleep(1)
|
| 192 |
+
|
| 193 |
+
# ---------------- FINAL OUTPUT ----------------
|
| 194 |
+
if not final_result:
|
| 195 |
+
st.error("Pipeline finished but no result returned")
|
| 196 |
+
st.stop()
|
| 197 |
+
|
| 198 |
+
st.success("✅ Pipeline completed successfully!")
|
| 199 |
+
|
| 200 |
+
final_pdf = final_result["final_pdf"]
|
| 201 |
+
freq_json = final_result["frequency_json"]
|
| 202 |
+
|
| 203 |
+
with open(final_pdf, "rb") as f:
|
| 204 |
+
st.download_button(
|
| 205 |
+
"📥 Download Final PDF",
|
| 206 |
+
f,
|
| 207 |
+
file_name="Exam_Frequency_Report.pdf"
|
| 208 |
+
)
|
| 209 |
+
|
| 210 |
+
with open(freq_json, "rb") as f:
|
| 211 |
+
st.download_button(
|
| 212 |
+
"📥 Download Frequency JSON",
|
| 213 |
+
f,
|
| 214 |
+
file_name="output_frequency.json"
|
| 215 |
+
)
|
| 216 |
+
|
| 217 |
+
# ----------------------------------
|
| 218 |
+
# Debug view (UNCHANGED)
|
| 219 |
+
# ----------------------------------
|
| 220 |
+
st.subheader("📂 PDFs available in queries/")
|
| 221 |
+
st.write([str(p) for p in QUERY_DIR.glob("*.pdf")])
|
| 222 |
+
|
| 223 |
+
st.subheader("📂 Recently Uploaded PDFs (This Session Only)")
|
| 224 |
+
if saved_docs:
|
| 225 |
+
st.write(saved_docs)
|
| 226 |
+
else:
|
| 227 |
+
st.info("No documents uploaded in this session.")
|
engine.py
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# import base64
|
| 2 |
+
# import os
|
| 3 |
+
# import requests
|
| 4 |
+
|
| 5 |
+
# API_URL = "https://j103s9d2e4dccfoc.aistudio-app.com/layout-parsing"
|
| 6 |
+
# TOKEN = "3f77a7dbc0756fef96d9d6791f485b062106ef51"
|
| 7 |
+
|
| 8 |
+
# # file_path = r"C:\Users\shiva\OneDrive\Desktop\ip.pdf"
|
| 9 |
+
|
| 10 |
+
# # ---------- READ PDF ----------
|
| 11 |
+
# def VL_model(file_path: str):
|
| 12 |
+
# with open(file_path, "rb") as file:
|
| 13 |
+
# file_bytes = file.read()
|
| 14 |
+
# file_data = base64.b64encode(file_bytes).decode("ascii")
|
| 15 |
+
|
| 16 |
+
# headers = {
|
| 17 |
+
# "Authorization": f"token {TOKEN}",
|
| 18 |
+
# "Content-Type": "application/json"
|
| 19 |
+
# }
|
| 20 |
+
|
| 21 |
+
# payload = {
|
| 22 |
+
# "file": file_data,
|
| 23 |
+
# "fileType": 0,
|
| 24 |
+
# "useDocOrientationClassify": False,
|
| 25 |
+
# "useDocUnwarping": False,
|
| 26 |
+
# "useChartRecognition": False,
|
| 27 |
+
# }
|
| 28 |
+
|
| 29 |
+
# response = requests.post(API_URL, json=payload, headers=headers)
|
| 30 |
+
# assert response.status_code == 200
|
| 31 |
+
|
| 32 |
+
# result = response.json()["result"]
|
| 33 |
+
|
| 34 |
+
# # ---------- OUTPUT ----------
|
| 35 |
+
# output_dir = "img2"
|
| 36 |
+
# os.makedirs(output_dir, exist_ok=True)
|
| 37 |
+
|
| 38 |
+
# FINAL_MD_PATH = os.path.join(output_dir, "final_document.md")
|
| 39 |
+
|
| 40 |
+
# with open(FINAL_MD_PATH, "w", encoding="utf-8") as final_md:
|
| 41 |
+
|
| 42 |
+
# for i, res in enumerate(result["layoutParsingResults"]):
|
| 43 |
+
|
| 44 |
+
# # Page separator (VERY IMPORTANT for parsing later)
|
| 45 |
+
# final_md.write(f"\n\n---\n## PAGE {i+1}\n---\n\n")
|
| 46 |
+
|
| 47 |
+
# # Append markdown text
|
| 48 |
+
# final_md.write(res["markdown"]["text"])
|
| 49 |
+
# final_md.write("\n")
|
| 50 |
+
|
| 51 |
+
# # Save embedded images
|
| 52 |
+
# for img_path, img_url in res["markdown"]["images"].items():
|
| 53 |
+
# full_img_path = os.path.join(output_dir, img_path)
|
| 54 |
+
# os.makedirs(os.path.dirname(full_img_path), exist_ok=True)
|
| 55 |
+
|
| 56 |
+
# img_bytes = requests.get(img_url).content
|
| 57 |
+
# with open(full_img_path, "wb") as img_file:
|
| 58 |
+
# img_file.write(img_bytes)
|
| 59 |
+
|
| 60 |
+
# # Save detected layout images (figures, tables)
|
| 61 |
+
# for img_name, img_url in res["outputImages"].items():
|
| 62 |
+
# img_response = requests.get(img_url)
|
| 63 |
+
# if img_response.status_code == 200:
|
| 64 |
+
# filename = os.path.join(output_dir, f"{img_name}_page{i+1}.jpg")
|
| 65 |
+
# with open(filename, "wb") as f:
|
| 66 |
+
# f.write(img_response.content)
|
| 67 |
+
|
| 68 |
+
# print(f"✅ Single merged markdown saved at: {FINAL_MD_PATH}")
|
| 69 |
+
# return FINAL_MD_PATH
|
| 70 |
+
import base64
|
| 71 |
+
import os
|
| 72 |
+
import requests
|
| 73 |
+
|
| 74 |
+
API_URL = "https://j103s9d2e4dccfoc.aistudio-app.com/layout-parsing"
|
| 75 |
+
|
| 76 |
+
from dotenv import load_dotenv
|
| 77 |
+
load_dotenv()
|
| 78 |
+
TOKEN = os.getenv("TOKEN")
|
| 79 |
+
|
| 80 |
+
def VL_model(file_path: str, query_id: int):
|
| 81 |
+
# ---------- READ PDF ----------
|
| 82 |
+
with open(file_path, "rb") as file:
|
| 83 |
+
file_data = base64.b64encode(file.read()).decode("ascii")
|
| 84 |
+
|
| 85 |
+
headers = {
|
| 86 |
+
"Authorization": f"token {TOKEN}",
|
| 87 |
+
"Content-Type": "application/json"
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
payload = {
|
| 91 |
+
"file": file_data,
|
| 92 |
+
"fileType": 0,
|
| 93 |
+
"useDocOrientationClassify": False,
|
| 94 |
+
"useDocUnwarping": False,
|
| 95 |
+
"useChartRecognition": False,
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
response = requests.post(API_URL, json=payload, headers=headers)
|
| 99 |
+
response.raise_for_status()
|
| 100 |
+
result = response.json()["result"]
|
| 101 |
+
|
| 102 |
+
# ---------- OUTPUT STRUCTURE ----------
|
| 103 |
+
BASE_DIR = "vl_output_bro"
|
| 104 |
+
IMG_DIR = os.path.join(BASE_DIR, "imgs")
|
| 105 |
+
QUERY_DIR = os.path.join(BASE_DIR, f"query_{query_id}")
|
| 106 |
+
|
| 107 |
+
os.makedirs(IMG_DIR, exist_ok=True)
|
| 108 |
+
os.makedirs(QUERY_DIR, exist_ok=True)
|
| 109 |
+
|
| 110 |
+
FINAL_MD_PATH = os.path.join(QUERY_DIR, "final_document.md")
|
| 111 |
+
|
| 112 |
+
with open(FINAL_MD_PATH, "w", encoding="utf-8") as final_md:
|
| 113 |
+
|
| 114 |
+
for page_no, res in enumerate(result["layoutParsingResults"], start=1):
|
| 115 |
+
|
| 116 |
+
# ---------- PAGE HEADER ----------
|
| 117 |
+
final_md.write(f"\n\n---\n## PAGE {page_no}\n---\n\n")
|
| 118 |
+
final_md.write(res["markdown"]["text"])
|
| 119 |
+
final_md.write("\n")
|
| 120 |
+
|
| 121 |
+
# ---------- EMBEDDED MARKDOWN IMAGES ----------
|
| 122 |
+
for img_path, img_url in res["markdown"]["images"].items():
|
| 123 |
+
# ✅ USE EXACT SAME IMAGE NAME AS HTML
|
| 124 |
+
img_name = os.path.basename(img_path)
|
| 125 |
+
img_file_path = os.path.join(IMG_DIR, img_name)
|
| 126 |
+
|
| 127 |
+
if not os.path.exists(img_file_path):
|
| 128 |
+
img_bytes = requests.get(img_url).content
|
| 129 |
+
with open(img_file_path, "wb") as img_file:
|
| 130 |
+
img_file.write(img_bytes)
|
| 131 |
+
|
| 132 |
+
# ✅ RELATIVE PATH FROM query_X → imgs
|
| 133 |
+
final_md.write(f"\n\n")
|
| 134 |
+
|
| 135 |
+
# ---------- DETECTED LAYOUT IMAGES ----------
|
| 136 |
+
for img_name, img_url in res["outputImages"].items():
|
| 137 |
+
img_name = f"{img_name}.jpg"
|
| 138 |
+
img_file_path = os.path.join(IMG_DIR, img_name)
|
| 139 |
+
|
| 140 |
+
if not os.path.exists(img_file_path):
|
| 141 |
+
img_bytes = requests.get(img_url).content
|
| 142 |
+
with open(img_file_path, "wb") as f:
|
| 143 |
+
f.write(img_bytes)
|
| 144 |
+
|
| 145 |
+
print(f"✅ VL markdown saved at: {FINAL_MD_PATH}")
|
| 146 |
+
print(f"✅ Images saved in: {IMG_DIR}")
|
| 147 |
+
return FINAL_MD_PATH
|
| 148 |
+
# VL_model(file_path=r"C:\\Users\\shiva\\OneDrive\\Desktop\\mini 2.0\\queries\\1c835fef22ef433288d92f00f24f21aa_daa.pdf", query_id=1)
|
| 149 |
+
|
frequency.py
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
from pathlib import Path
|
| 3 |
+
from sentence_transformers import SentenceTransformer, util
|
| 4 |
+
import re
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
# -----------------------------
|
| 8 |
+
# normalize subject name (for better grouping)
|
| 9 |
+
# -----------------------------
|
| 10 |
+
|
| 11 |
+
def normalize_subject(subject: str) -> str:
|
| 12 |
+
if not subject:
|
| 13 |
+
return ""
|
| 14 |
+
subject = subject.strip().lower()
|
| 15 |
+
subject = re.sub(r"\s+", " ", subject) # collapse spaces
|
| 16 |
+
subject = re.sub(r"[^\w\s]", "", subject) # remove symbols
|
| 17 |
+
return subject
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
# -----------------------------
|
| 22 |
+
# Load all questions from multiple JSONs
|
| 23 |
+
# -----------------------------
|
| 24 |
+
def load_all_questions(json_files):
|
| 25 |
+
part_a = []
|
| 26 |
+
part_b = []
|
| 27 |
+
subject = None
|
| 28 |
+
print("from all loaded question papers spliting into 3 parts subject, part a and part b")
|
| 29 |
+
for file in json_files:
|
| 30 |
+
data = json.loads(Path(file).read_text(encoding="utf-8"))
|
| 31 |
+
# subject = subject or data.get("subject")
|
| 32 |
+
|
| 33 |
+
# 🔐 SUBJECT NORMALIZATION & CHECK (ADD HERE)
|
| 34 |
+
# current_subject_raw = data.get("subject") or ""
|
| 35 |
+
|
| 36 |
+
# current_subject = normalize_subject(current_subject_raw)
|
| 37 |
+
|
| 38 |
+
# if subject is None:
|
| 39 |
+
# subject = current_subject
|
| 40 |
+
# display_subject = current_subject_raw.strip()
|
| 41 |
+
# elif subject != current_subject:
|
| 42 |
+
# raise ValueError(
|
| 43 |
+
# f"❌ Mixed subjects detected: '{subject}' vs '{current_subject}'"
|
| 44 |
+
# )
|
| 45 |
+
current_subject_raw = data.get("subject") or ""
|
| 46 |
+
current_subject = normalize_subject(current_subject_raw)
|
| 47 |
+
|
| 48 |
+
# If current JSON has no subject, ignore it
|
| 49 |
+
if not current_subject:
|
| 50 |
+
pass
|
| 51 |
+
|
| 52 |
+
# First valid subject wins
|
| 53 |
+
elif subject is None:
|
| 54 |
+
subject = current_subject
|
| 55 |
+
display_subject = current_subject_raw.strip()
|
| 56 |
+
|
| 57 |
+
# Conflict only if BOTH are non-empty and different
|
| 58 |
+
elif subject != current_subject:
|
| 59 |
+
raise ValueError(
|
| 60 |
+
f"❌ Mixed subjects detected: '{subject}' vs '{current_subject}'"
|
| 61 |
+
)
|
| 62 |
+
# PART A
|
| 63 |
+
for sq in data.get("PART_A", []):
|
| 64 |
+
question = sq.get("question")
|
| 65 |
+
# ✅ skip if None, empty, or not string
|
| 66 |
+
if not isinstance(question, str):
|
| 67 |
+
continue
|
| 68 |
+
question = question.strip()
|
| 69 |
+
if not question:
|
| 70 |
+
continue
|
| 71 |
+
part_a.append({
|
| 72 |
+
"text": question,
|
| 73 |
+
"images": [sq.get("image")] if sq.get("image") else []
|
| 74 |
+
})
|
| 75 |
+
|
| 76 |
+
# for q in data["PART_A"]:
|
| 77 |
+
# if not q["question"].strip():
|
| 78 |
+
# continue
|
| 79 |
+
# part_a.append({
|
| 80 |
+
# "text": q["question"].strip(),
|
| 81 |
+
# "images": [q["image"]] if q["image"] else []
|
| 82 |
+
# })
|
| 83 |
+
|
| 84 |
+
# PART B
|
| 85 |
+
for block in data["PART_B"]:
|
| 86 |
+
# for sq in block["subquestions"]:
|
| 87 |
+
# if not sq["question"].strip():
|
| 88 |
+
# continue
|
| 89 |
+
# part_b.append({
|
| 90 |
+
# "text": sq["question"].strip(),
|
| 91 |
+
# "images": [sq["image"]] if sq["image"] else []
|
| 92 |
+
# })
|
| 93 |
+
for sq in block.get("subquestions", []):
|
| 94 |
+
question = sq.get("question")
|
| 95 |
+
# ✅ skip if None, empty, or not string
|
| 96 |
+
if not isinstance(question, str):
|
| 97 |
+
continue
|
| 98 |
+
question = question.strip()
|
| 99 |
+
if not question:
|
| 100 |
+
continue
|
| 101 |
+
part_b.append({
|
| 102 |
+
"text": question,
|
| 103 |
+
"images": [sq.get("image")] if sq.get("image") else []
|
| 104 |
+
})
|
| 105 |
+
|
| 106 |
+
print("data splited into 3 parts subject, part a and part b successfully")
|
| 107 |
+
return subject, part_a, part_b
|
| 108 |
+
|
| 109 |
+
|
| 110 |
+
# -----------------------------
|
| 111 |
+
# Semantic clustering + frequency
|
| 112 |
+
# -----------------------------
|
| 113 |
+
def semantic_frequency(questions, threshold=0.70):
|
| 114 |
+
print("clustring started for part using all-mpnet-base-v2 model")
|
| 115 |
+
model = SentenceTransformer("all-mpnet-base-v2") #SentenceTransformer("all-MiniLM-L6-v2")
|
| 116 |
+
texts = [q["text"] for q in questions]
|
| 117 |
+
embeddings = model.encode(texts, convert_to_tensor=True, normalize_embeddings=True)
|
| 118 |
+
|
| 119 |
+
visited = set()
|
| 120 |
+
results = []
|
| 121 |
+
|
| 122 |
+
for i in range(len(texts)):
|
| 123 |
+
if i in visited:
|
| 124 |
+
continue
|
| 125 |
+
|
| 126 |
+
cluster = [i]
|
| 127 |
+
visited.add(i)
|
| 128 |
+
|
| 129 |
+
sims = util.cos_sim(embeddings[i], embeddings)[0]
|
| 130 |
+
|
| 131 |
+
for j in range(len(texts)):
|
| 132 |
+
if j not in visited and sims[j] >= threshold:
|
| 133 |
+
cluster.append(j)
|
| 134 |
+
visited.add(j)
|
| 135 |
+
|
| 136 |
+
# Representative question (NO rewriting)
|
| 137 |
+
rep_question = texts[cluster[0]]
|
| 138 |
+
|
| 139 |
+
# Merge all images
|
| 140 |
+
images = set()
|
| 141 |
+
for idx in cluster:
|
| 142 |
+
images.update(questions[idx]["images"])
|
| 143 |
+
|
| 144 |
+
results.append({
|
| 145 |
+
"question": rep_question,
|
| 146 |
+
"frequency": len(cluster),
|
| 147 |
+
"images": list(images) if images else None
|
| 148 |
+
})
|
| 149 |
+
|
| 150 |
+
return results
|
| 151 |
+
|
| 152 |
+
|
| 153 |
+
# -----------------------------
|
| 154 |
+
# Main runner
|
| 155 |
+
# -----------------------------
|
| 156 |
+
def run_semantic_frequency_multiple(input_jsons, output_json):
|
| 157 |
+
print("in semantic frequency multiple function")
|
| 158 |
+
subject, part_a, part_b = load_all_questions(input_jsons)
|
| 159 |
+
|
| 160 |
+
output = {
|
| 161 |
+
"subject": subject,
|
| 162 |
+
"PART_A": semantic_frequency(part_a),
|
| 163 |
+
"PART_B": semantic_frequency(part_b)
|
| 164 |
+
}
|
| 165 |
+
print("✅ Questions clustered and frequency calculated")
|
| 166 |
+
Path(output_json).write_text(
|
| 167 |
+
json.dumps(output, indent=2),
|
| 168 |
+
encoding="utf-8"
|
| 169 |
+
)
|
| 170 |
+
|
| 171 |
+
print("✅ Semantic Frequency Analysis Completed")
|
| 172 |
+
print(f"📄 Output saved at: {output_json}")
|
| 173 |
+
return output
|
| 174 |
+
|
| 175 |
+
|
| 176 |
+
# -----------------------------
|
| 177 |
+
# Entry point
|
| 178 |
+
# -----------------------------
|
| 179 |
+
# if __name__ == "__main__":
|
| 180 |
+
# INPUT_JSONS = [
|
| 181 |
+
# "vl_output_bro\\query_3\\final_document.json",
|
| 182 |
+
# "vl_output_bro\\query_2\\final_document.json",
|
| 183 |
+
|
| 184 |
+
# ]
|
| 185 |
+
|
| 186 |
+
# OUTPUT_JSON = "frequency_output.json"
|
| 187 |
+
# run_semantic_frequency_multiple(INPUT_JSONS, OUTPUT_JSON)
|
json_to_pdf.py
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
import re
|
| 3 |
+
from pathlib import Path
|
| 4 |
+
from reportlab.lib.pagesizes import A4
|
| 5 |
+
from reportlab.platypus import (
|
| 6 |
+
SimpleDocTemplate,
|
| 7 |
+
Paragraph,
|
| 8 |
+
Spacer,
|
| 9 |
+
ListFlowable,
|
| 10 |
+
ListItem,
|
| 11 |
+
Image as RLImage
|
| 12 |
+
)
|
| 13 |
+
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
|
| 14 |
+
from reportlab.lib.enums import TA_CENTER
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
def json_to_pdf_with_images(data, image_base_dir):
|
| 18 |
+
# ---------- Load JSON ----------
|
| 19 |
+
print("loading json data for pdf generation........................")
|
| 20 |
+
subject = data.get("subject", "Unknown Subject")
|
| 21 |
+
|
| 22 |
+
# ---------- Clean subject for filename ----------
|
| 23 |
+
safe_subject = re.sub(r"[^\w]+", "_", subject).strip("_")
|
| 24 |
+
|
| 25 |
+
# ---------- Output directory ----------
|
| 26 |
+
BASE_DIR = Path(__file__).resolve().parent
|
| 27 |
+
|
| 28 |
+
output_dir = BASE_DIR / "results"
|
| 29 |
+
|
| 30 |
+
output_dir.mkdir(parents=True, exist_ok=True)
|
| 31 |
+
|
| 32 |
+
output_pdf = output_dir / f"{safe_subject}.pdf"
|
| 33 |
+
|
| 34 |
+
part_a = sorted(
|
| 35 |
+
data.get("PART_A", []),
|
| 36 |
+
key=lambda x: x.get("frequency", 0),
|
| 37 |
+
reverse=True
|
| 38 |
+
)
|
| 39 |
+
|
| 40 |
+
part_b = sorted(
|
| 41 |
+
data.get("PART_B", []),
|
| 42 |
+
key=lambda x: x.get("frequency", 0),
|
| 43 |
+
reverse=True
|
| 44 |
+
)
|
| 45 |
+
|
| 46 |
+
# ---------- PDF Setup ----------
|
| 47 |
+
doc = SimpleDocTemplate(
|
| 48 |
+
str(output_pdf),
|
| 49 |
+
pagesize=A4,
|
| 50 |
+
rightMargin=40,
|
| 51 |
+
leftMargin=40,
|
| 52 |
+
topMargin=40,
|
| 53 |
+
bottomMargin=40
|
| 54 |
+
)
|
| 55 |
+
|
| 56 |
+
styles = getSampleStyleSheet()
|
| 57 |
+
story = []
|
| 58 |
+
|
| 59 |
+
# ---------- Styles ----------
|
| 60 |
+
subject_style = ParagraphStyle(
|
| 61 |
+
"Subject",
|
| 62 |
+
parent=styles["Title"],
|
| 63 |
+
alignment=TA_CENTER
|
| 64 |
+
)
|
| 65 |
+
part_style = ParagraphStyle("Part", parent=styles["Heading2"])
|
| 66 |
+
question_style = ParagraphStyle("Question", parent=styles["Normal"])
|
| 67 |
+
|
| 68 |
+
# ---------- Subject ----------
|
| 69 |
+
story.append(Paragraph(subject, subject_style))
|
| 70 |
+
story.append(Spacer(1, 20))
|
| 71 |
+
|
| 72 |
+
image_base_dir = Path(image_base_dir).resolve()
|
| 73 |
+
|
| 74 |
+
# ---------- Helper ----------
|
| 75 |
+
def add_part(title, questions):
|
| 76 |
+
story.append(Paragraph(title, part_style))
|
| 77 |
+
story.append(Spacer(1, 10))
|
| 78 |
+
|
| 79 |
+
items = []
|
| 80 |
+
|
| 81 |
+
for q in questions:
|
| 82 |
+
block = []
|
| 83 |
+
|
| 84 |
+
q_text = f"{q['question']} <b>(Frequency: {q['frequency']})</b>"
|
| 85 |
+
block.append(Paragraph(q_text, question_style))
|
| 86 |
+
block.append(Spacer(1, 8))
|
| 87 |
+
|
| 88 |
+
images = q.get("images")
|
| 89 |
+
if images and isinstance(images, list):
|
| 90 |
+
for img in images:
|
| 91 |
+
img_path = (image_base_dir / img).resolve()
|
| 92 |
+
if img_path.exists():
|
| 93 |
+
block.append(
|
| 94 |
+
RLImage(
|
| 95 |
+
str(img_path),
|
| 96 |
+
width=350,
|
| 97 |
+
height=220,
|
| 98 |
+
kind="proportional"
|
| 99 |
+
)
|
| 100 |
+
)
|
| 101 |
+
block.append(Spacer(1, 12))
|
| 102 |
+
|
| 103 |
+
items.append(ListItem(block))
|
| 104 |
+
|
| 105 |
+
story.append(ListFlowable(items, bulletType="1"))
|
| 106 |
+
story.append(Spacer(1, 20))
|
| 107 |
+
|
| 108 |
+
# ---------- Parts ----------
|
| 109 |
+
add_part("PART A", part_a)
|
| 110 |
+
add_part("PART B", part_b)
|
| 111 |
+
|
| 112 |
+
# ---------- Build PDF ----------
|
| 113 |
+
final_style = ParagraphStyle(
|
| 114 |
+
"FinalNote",
|
| 115 |
+
parent=styles["Normal"],
|
| 116 |
+
alignment=TA_CENTER,
|
| 117 |
+
spaceBefore=30,
|
| 118 |
+
fontSize=20)
|
| 119 |
+
|
| 120 |
+
story.append(Spacer(1, 30))
|
| 121 |
+
story.append(Paragraph("<b>All the best for the exam!</b>", final_style))
|
| 122 |
+
|
| 123 |
+
doc.build(story)
|
| 124 |
+
print(f"✅ PDF generated at: {output_pdf}")
|
| 125 |
+
# ✅ RETURN FINAL PDF PATH
|
| 126 |
+
return str(output_pdf.resolve())
|
| 127 |
+
|
| 128 |
+
#json_to_pdf_with_images(data=json.load(open(r"frequency_output.json")), image_base_dir=r"vl_output_bro")
|
main.py
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from fastapi import FastAPI, UploadFile, File
|
| 2 |
+
from fastapi.middleware.cors import CORSMiddleware
|
| 3 |
+
from pathlib import Path
|
| 4 |
+
from typing import List
|
| 5 |
+
import uuid
|
| 6 |
+
import threading
|
| 7 |
+
import time
|
| 8 |
+
import os
|
| 9 |
+
from dotenv import load_dotenv
|
| 10 |
+
|
| 11 |
+
load_dotenv()
|
| 12 |
+
GROQ_API_KEY = os.getenv("GROQ_API_KEY")
|
| 13 |
+
if not GROQ_API_KEY:
|
| 14 |
+
raise RuntimeError("GROQ_API_KEY not set")
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
# ---------------- YOUR MODULES ----------------
|
| 18 |
+
import engine as vl_engine
|
| 19 |
+
import Image_topdf as img2pdf_engine
|
| 20 |
+
import frequency as freq_engine
|
| 21 |
+
from json_to_pdf import json_to_pdf_with_images
|
| 22 |
+
from VL_output_to_json import extract_exam_questions
|
| 23 |
+
|
| 24 |
+
# ---------------- APP ----------------
|
| 25 |
+
app = FastAPI(title="Exam Pipeline Backend", version="0.1.0")
|
| 26 |
+
|
| 27 |
+
# ---------------- CORS ----------------
|
| 28 |
+
app.add_middleware(
|
| 29 |
+
CORSMiddleware,
|
| 30 |
+
allow_origins=["*"],
|
| 31 |
+
allow_credentials=True,
|
| 32 |
+
allow_methods=["*"],
|
| 33 |
+
allow_headers=["*"],
|
| 34 |
+
)
|
| 35 |
+
|
| 36 |
+
# ---------------- PATHS ----------------
|
| 37 |
+
BASE_DIR = Path(__file__).resolve().parent
|
| 38 |
+
QUERY_DIR = BASE_DIR / "queries"
|
| 39 |
+
QUERY_DIR.mkdir(parents=True, exist_ok=True)
|
| 40 |
+
|
| 41 |
+
# ---------------- JOB STATUS STORE ----------------
|
| 42 |
+
job_status = {} # job_id → status
|
| 43 |
+
job_result = {} # job_id → result
|
| 44 |
+
|
| 45 |
+
# ======================================================
|
| 46 |
+
# SAVE PDF
|
| 47 |
+
# ======================================================
|
| 48 |
+
@app.post("/save-pdf")
|
| 49 |
+
async def save_pdf(file: UploadFile = File(...)):
|
| 50 |
+
pdf_name = f"{uuid.uuid4().hex}_{file.filename}"
|
| 51 |
+
pdf_path = QUERY_DIR / pdf_name
|
| 52 |
+
with open(pdf_path, "wb") as f:
|
| 53 |
+
f.write(await file.read())
|
| 54 |
+
return {"path": str(pdf_path)}
|
| 55 |
+
|
| 56 |
+
# ======================================================
|
| 57 |
+
# IMAGES → PDF
|
| 58 |
+
# ======================================================
|
| 59 |
+
@app.post("/images-to-pdf")
|
| 60 |
+
async def images_to_pdf(files: List[UploadFile] = File(...)):
|
| 61 |
+
pdf_path = QUERY_DIR / f"doc_{uuid.uuid4().hex}.pdf"
|
| 62 |
+
img2pdf_engine.images_to_pdf(files=files, output_pdf_path=pdf_path)
|
| 63 |
+
return {"path": str(pdf_path)}
|
| 64 |
+
|
| 65 |
+
# ======================================================
|
| 66 |
+
# BACKGROUND PIPELINE (DO NOT CHANGE LOGIC)
|
| 67 |
+
# ======================================================
|
| 68 |
+
def pipeline_worker(job_id: str, api_key: str, docs: List[str]):
|
| 69 |
+
try:
|
| 70 |
+
job_status[job_id] = "🔍 Running VL model..."
|
| 71 |
+
|
| 72 |
+
docs = [Path(p) for p in docs]
|
| 73 |
+
vl_results = []
|
| 74 |
+
for i, pdf in enumerate(docs, start=1):
|
| 75 |
+
md = vl_engine.VL_model(str(pdf), query_id=i)
|
| 76 |
+
vl_results.append(md)
|
| 77 |
+
|
| 78 |
+
job_status[job_id] = "🧠 Extracting JSON using LLM..."
|
| 79 |
+
|
| 80 |
+
json_files = []
|
| 81 |
+
for md in vl_results:
|
| 82 |
+
out_json = md.replace(".md", ".json")
|
| 83 |
+
extract_exam_questions(md, api_key, out_json)
|
| 84 |
+
json_files.append(out_json)
|
| 85 |
+
|
| 86 |
+
job_status[job_id] = "📊 Running semantic frequency..."
|
| 87 |
+
|
| 88 |
+
freq_out = freq_engine.run_semantic_frequency_multiple(
|
| 89 |
+
json_files, "output_frequency.json"
|
| 90 |
+
)
|
| 91 |
+
|
| 92 |
+
job_status[job_id] = "📄 Generating final PDF..."
|
| 93 |
+
|
| 94 |
+
final_pdf = json_to_pdf_with_images(
|
| 95 |
+
freq_out, image_base_dir="vl_output_bro"
|
| 96 |
+
)
|
| 97 |
+
|
| 98 |
+
job_result[job_id] = {
|
| 99 |
+
"final_pdf": final_pdf,
|
| 100 |
+
"frequency_json": "output_frequency.json"
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
job_status[job_id] = "✅ Completed"
|
| 104 |
+
|
| 105 |
+
except Exception as e:
|
| 106 |
+
job_status[job_id] = f"❌ Error: {e}"
|
| 107 |
+
|
| 108 |
+
# ======================================================
|
| 109 |
+
# START PIPELINE
|
| 110 |
+
# ======================================================
|
| 111 |
+
@app.post("/run-pipeline")
|
| 112 |
+
async def run_pipeline(docs: List[str]):
|
| 113 |
+
api_key = GROQ_API_KEY
|
| 114 |
+
job_id = uuid.uuid4().hex
|
| 115 |
+
job_status[job_id] = "🚀 Job started"
|
| 116 |
+
|
| 117 |
+
# thread = threading.Thread(
|
| 118 |
+
# target=pipeline_worker,
|
| 119 |
+
# args=(job_id, api_key, docs),
|
| 120 |
+
# daemon=True
|
| 121 |
+
# )
|
| 122 |
+
thread = threading.Thread(
|
| 123 |
+
target=pipeline_worker,
|
| 124 |
+
args=(job_id,api_key, docs),
|
| 125 |
+
daemon=True
|
| 126 |
+
)
|
| 127 |
+
thread.start()
|
| 128 |
+
|
| 129 |
+
return {"job_id": job_id}
|
| 130 |
+
|
| 131 |
+
# ======================================================
|
| 132 |
+
# GET JOB STATUS
|
| 133 |
+
# ======================================================
|
| 134 |
+
@app.get("/job-status/{job_id}")
|
| 135 |
+
async def get_job_status(job_id: str):
|
| 136 |
+
return {
|
| 137 |
+
"status": job_status.get(job_id, "Unknown job"),
|
| 138 |
+
"result": job_result.get(job_id)
|
| 139 |
+
}
|
| 140 |
+
import os
|
| 141 |
+
from fastapi.responses import FileResponse
|
| 142 |
+
# ======================================================
|
| 143 |
+
# DOWNLOAD FILE (FOR VUE FRONTEND)
|
| 144 |
+
# ======================================================
|
| 145 |
+
@app.get("/download")
|
| 146 |
+
async def download_file(path: str):
|
| 147 |
+
if not os.path.exists(path):
|
| 148 |
+
return {"error": "File not found"}
|
| 149 |
+
|
| 150 |
+
return FileResponse(
|
| 151 |
+
path,
|
| 152 |
+
filename=os.path.basename(path),
|
| 153 |
+
media_type="application/octet-stream"
|
| 154 |
+
)
|
my-vue-app/.gitignore
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Logs
|
| 2 |
+
logs
|
| 3 |
+
*.log
|
| 4 |
+
npm-debug.log*
|
| 5 |
+
yarn-debug.log*
|
| 6 |
+
yarn-error.log*
|
| 7 |
+
pnpm-debug.log*
|
| 8 |
+
lerna-debug.log*
|
| 9 |
+
|
| 10 |
+
node_modules
|
| 11 |
+
dist
|
| 12 |
+
dist-ssr
|
| 13 |
+
*.local
|
| 14 |
+
|
| 15 |
+
# Editor directories and files
|
| 16 |
+
.vscode/*
|
| 17 |
+
!.vscode/extensions.json
|
| 18 |
+
.idea
|
| 19 |
+
.DS_Store
|
| 20 |
+
*.suo
|
| 21 |
+
*.ntvs*
|
| 22 |
+
*.njsproj
|
| 23 |
+
*.sln
|
| 24 |
+
*.sw?
|
my-vue-app/.vscode/extensions.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"recommendations": ["Vue.volar"]
|
| 3 |
+
}
|
my-vue-app/README.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Vue 3 + Vite
|
| 2 |
+
|
| 3 |
+
This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
|
| 4 |
+
|
| 5 |
+
Learn more about IDE Support for Vue in the [Vue Docs Scaling up Guide](https://vuejs.org/guide/scaling-up/tooling.html#ide-support).
|
my-vue-app/index.html
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<title>Exam Pipeline</title>
|
| 6 |
+
</head>
|
| 7 |
+
<body>
|
| 8 |
+
<div id="app"></div>
|
| 9 |
+
<script type="module" src="/src/main.js"></script>
|
| 10 |
+
</body>
|
| 11 |
+
</html>
|
my-vue-app/node_modules/.bin/esbuild
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:020b954fd13a2c5ee8aabd5a73e24c10a4750099ed5e02f07dc7265c6758a054
|
| 3 |
+
size 387
|
my-vue-app/node_modules/.bin/esbuild.cmd
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b00afc3761267058834ab0968f58748f0422efe0eb0321540544770cafbf7a69
|
| 3 |
+
size 324
|
my-vue-app/node_modules/.bin/esbuild.ps1
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9a24efc13fb6ef9def6c5aaf7787e7203d0982e2ab8627b64a41eb033945b7f5
|
| 3 |
+
size 801
|
my-vue-app/node_modules/.bin/nanoid
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:49446fa7e9ea1b36b205bab243f2928f1230d8dbeb09881eef1d039149ad3238
|
| 3 |
+
size 391
|
my-vue-app/node_modules/.bin/nanoid.cmd
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:65f7afb9e8bf7fd4ff2087803c18e8818334768bfe92b9c1f28346050678c0ca
|
| 3 |
+
size 326
|
my-vue-app/node_modules/.bin/nanoid.ps1
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c2b48c0422548661c689493b3249b16f93599ca15fc3af5e821f9e6bccbe2aad
|
| 3 |
+
size 809
|
my-vue-app/node_modules/.bin/parser
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ed60a2b4f36fdf4d46331006ab1323a4c4098ce63a14b254e04dbbe92b579986
|
| 3 |
+
size 415
|
my-vue-app/node_modules/.bin/parser.cmd
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:18aa582d6ce7a028ddb85a01ef6f5caa997e62744f86a5d1dcf56672890ee2e8
|
| 3 |
+
size 338
|
my-vue-app/node_modules/.bin/parser.ps1
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:65bf583f795bc6f3458e7f332deab74b979d410645c65ec6b8d21894f9277413
|
| 3 |
+
size 857
|
my-vue-app/node_modules/.bin/rollup
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5cc55c2746b1a59c588127263b254384b08dd08de5b170c52796453f8a762b46
|
| 3 |
+
size 393
|
my-vue-app/node_modules/.bin/rollup.cmd
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f3a19226bedbf80c0cdfe75eeaadc21c74c7a58e04bff23a134f809f71ae2210
|
| 3 |
+
size 327
|
my-vue-app/node_modules/.bin/rollup.ps1
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:095ea547e7dba18c0f9679b21c8237d776916d61cc56967b34cef1cea7bc592b
|
| 3 |
+
size 813
|
my-vue-app/node_modules/.bin/vite
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fdf31cf5e7b6cbfa65c2111d4fec53a7484c038aeac028f3718ab565c171b7ed
|
| 3 |
+
size 381
|
my-vue-app/node_modules/.bin/vite.cmd
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e865893c8f57ff153c66cf80aac687f436b457922d9585495becee81c927e910
|
| 3 |
+
size 321
|
my-vue-app/node_modules/.bin/vite.ps1
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fb22a675c5bf414d459a8b07172d5cc073c7d51520bed1d7d6f1652e3fd1f3ea
|
| 3 |
+
size 789
|
my-vue-app/node_modules/.package-lock.json
ADDED
|
@@ -0,0 +1,764 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "exam-pipeline-frontend",
|
| 3 |
+
"version": "1.0.0",
|
| 4 |
+
"lockfileVersion": 3,
|
| 5 |
+
"requires": true,
|
| 6 |
+
"packages": {
|
| 7 |
+
"node_modules/@babel/helper-string-parser": {
|
| 8 |
+
"version": "7.27.1",
|
| 9 |
+
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
|
| 10 |
+
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
|
| 11 |
+
"license": "MIT",
|
| 12 |
+
"engines": {
|
| 13 |
+
"node": ">=6.9.0"
|
| 14 |
+
}
|
| 15 |
+
},
|
| 16 |
+
"node_modules/@babel/helper-validator-identifier": {
|
| 17 |
+
"version": "7.28.5",
|
| 18 |
+
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
|
| 19 |
+
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
|
| 20 |
+
"license": "MIT",
|
| 21 |
+
"engines": {
|
| 22 |
+
"node": ">=6.9.0"
|
| 23 |
+
}
|
| 24 |
+
},
|
| 25 |
+
"node_modules/@babel/parser": {
|
| 26 |
+
"version": "7.28.5",
|
| 27 |
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz",
|
| 28 |
+
"integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==",
|
| 29 |
+
"license": "MIT",
|
| 30 |
+
"dependencies": {
|
| 31 |
+
"@babel/types": "^7.28.5"
|
| 32 |
+
},
|
| 33 |
+
"bin": {
|
| 34 |
+
"parser": "bin/babel-parser.js"
|
| 35 |
+
},
|
| 36 |
+
"engines": {
|
| 37 |
+
"node": ">=6.0.0"
|
| 38 |
+
}
|
| 39 |
+
},
|
| 40 |
+
"node_modules/@babel/types": {
|
| 41 |
+
"version": "7.28.5",
|
| 42 |
+
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
|
| 43 |
+
"integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
|
| 44 |
+
"license": "MIT",
|
| 45 |
+
"dependencies": {
|
| 46 |
+
"@babel/helper-string-parser": "^7.27.1",
|
| 47 |
+
"@babel/helper-validator-identifier": "^7.28.5"
|
| 48 |
+
},
|
| 49 |
+
"engines": {
|
| 50 |
+
"node": ">=6.9.0"
|
| 51 |
+
}
|
| 52 |
+
},
|
| 53 |
+
"node_modules/@esbuild/win32-x64": {
|
| 54 |
+
"version": "0.21.5",
|
| 55 |
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
|
| 56 |
+
"integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
|
| 57 |
+
"cpu": [
|
| 58 |
+
"x64"
|
| 59 |
+
],
|
| 60 |
+
"dev": true,
|
| 61 |
+
"license": "MIT",
|
| 62 |
+
"optional": true,
|
| 63 |
+
"os": [
|
| 64 |
+
"win32"
|
| 65 |
+
],
|
| 66 |
+
"engines": {
|
| 67 |
+
"node": ">=12"
|
| 68 |
+
}
|
| 69 |
+
},
|
| 70 |
+
"node_modules/@jridgewell/sourcemap-codec": {
|
| 71 |
+
"version": "1.5.5",
|
| 72 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
|
| 73 |
+
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
|
| 74 |
+
"license": "MIT"
|
| 75 |
+
},
|
| 76 |
+
"node_modules/@rollup/rollup-win32-x64-gnu": {
|
| 77 |
+
"version": "4.55.1",
|
| 78 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz",
|
| 79 |
+
"integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==",
|
| 80 |
+
"cpu": [
|
| 81 |
+
"x64"
|
| 82 |
+
],
|
| 83 |
+
"dev": true,
|
| 84 |
+
"license": "MIT",
|
| 85 |
+
"optional": true,
|
| 86 |
+
"os": [
|
| 87 |
+
"win32"
|
| 88 |
+
]
|
| 89 |
+
},
|
| 90 |
+
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
| 91 |
+
"version": "4.55.1",
|
| 92 |
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz",
|
| 93 |
+
"integrity": "sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==",
|
| 94 |
+
"cpu": [
|
| 95 |
+
"x64"
|
| 96 |
+
],
|
| 97 |
+
"dev": true,
|
| 98 |
+
"license": "MIT",
|
| 99 |
+
"optional": true,
|
| 100 |
+
"os": [
|
| 101 |
+
"win32"
|
| 102 |
+
]
|
| 103 |
+
},
|
| 104 |
+
"node_modules/@types/estree": {
|
| 105 |
+
"version": "1.0.8",
|
| 106 |
+
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
| 107 |
+
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
| 108 |
+
"dev": true,
|
| 109 |
+
"license": "MIT"
|
| 110 |
+
},
|
| 111 |
+
"node_modules/@vitejs/plugin-vue": {
|
| 112 |
+
"version": "5.2.4",
|
| 113 |
+
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz",
|
| 114 |
+
"integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==",
|
| 115 |
+
"dev": true,
|
| 116 |
+
"license": "MIT",
|
| 117 |
+
"engines": {
|
| 118 |
+
"node": "^18.0.0 || >=20.0.0"
|
| 119 |
+
},
|
| 120 |
+
"peerDependencies": {
|
| 121 |
+
"vite": "^5.0.0 || ^6.0.0",
|
| 122 |
+
"vue": "^3.2.25"
|
| 123 |
+
}
|
| 124 |
+
},
|
| 125 |
+
"node_modules/@vue/compiler-core": {
|
| 126 |
+
"version": "3.5.26",
|
| 127 |
+
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.26.tgz",
|
| 128 |
+
"integrity": "sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==",
|
| 129 |
+
"license": "MIT",
|
| 130 |
+
"dependencies": {
|
| 131 |
+
"@babel/parser": "^7.28.5",
|
| 132 |
+
"@vue/shared": "3.5.26",
|
| 133 |
+
"entities": "^7.0.0",
|
| 134 |
+
"estree-walker": "^2.0.2",
|
| 135 |
+
"source-map-js": "^1.2.1"
|
| 136 |
+
}
|
| 137 |
+
},
|
| 138 |
+
"node_modules/@vue/compiler-dom": {
|
| 139 |
+
"version": "3.5.26",
|
| 140 |
+
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.26.tgz",
|
| 141 |
+
"integrity": "sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==",
|
| 142 |
+
"license": "MIT",
|
| 143 |
+
"dependencies": {
|
| 144 |
+
"@vue/compiler-core": "3.5.26",
|
| 145 |
+
"@vue/shared": "3.5.26"
|
| 146 |
+
}
|
| 147 |
+
},
|
| 148 |
+
"node_modules/@vue/compiler-sfc": {
|
| 149 |
+
"version": "3.5.26",
|
| 150 |
+
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.26.tgz",
|
| 151 |
+
"integrity": "sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==",
|
| 152 |
+
"license": "MIT",
|
| 153 |
+
"dependencies": {
|
| 154 |
+
"@babel/parser": "^7.28.5",
|
| 155 |
+
"@vue/compiler-core": "3.5.26",
|
| 156 |
+
"@vue/compiler-dom": "3.5.26",
|
| 157 |
+
"@vue/compiler-ssr": "3.5.26",
|
| 158 |
+
"@vue/shared": "3.5.26",
|
| 159 |
+
"estree-walker": "^2.0.2",
|
| 160 |
+
"magic-string": "^0.30.21",
|
| 161 |
+
"postcss": "^8.5.6",
|
| 162 |
+
"source-map-js": "^1.2.1"
|
| 163 |
+
}
|
| 164 |
+
},
|
| 165 |
+
"node_modules/@vue/compiler-ssr": {
|
| 166 |
+
"version": "3.5.26",
|
| 167 |
+
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.26.tgz",
|
| 168 |
+
"integrity": "sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==",
|
| 169 |
+
"license": "MIT",
|
| 170 |
+
"dependencies": {
|
| 171 |
+
"@vue/compiler-dom": "3.5.26",
|
| 172 |
+
"@vue/shared": "3.5.26"
|
| 173 |
+
}
|
| 174 |
+
},
|
| 175 |
+
"node_modules/@vue/reactivity": {
|
| 176 |
+
"version": "3.5.26",
|
| 177 |
+
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.26.tgz",
|
| 178 |
+
"integrity": "sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==",
|
| 179 |
+
"license": "MIT",
|
| 180 |
+
"dependencies": {
|
| 181 |
+
"@vue/shared": "3.5.26"
|
| 182 |
+
}
|
| 183 |
+
},
|
| 184 |
+
"node_modules/@vue/runtime-core": {
|
| 185 |
+
"version": "3.5.26",
|
| 186 |
+
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.26.tgz",
|
| 187 |
+
"integrity": "sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==",
|
| 188 |
+
"license": "MIT",
|
| 189 |
+
"dependencies": {
|
| 190 |
+
"@vue/reactivity": "3.5.26",
|
| 191 |
+
"@vue/shared": "3.5.26"
|
| 192 |
+
}
|
| 193 |
+
},
|
| 194 |
+
"node_modules/@vue/runtime-dom": {
|
| 195 |
+
"version": "3.5.26",
|
| 196 |
+
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.26.tgz",
|
| 197 |
+
"integrity": "sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==",
|
| 198 |
+
"license": "MIT",
|
| 199 |
+
"dependencies": {
|
| 200 |
+
"@vue/reactivity": "3.5.26",
|
| 201 |
+
"@vue/runtime-core": "3.5.26",
|
| 202 |
+
"@vue/shared": "3.5.26",
|
| 203 |
+
"csstype": "^3.2.3"
|
| 204 |
+
}
|
| 205 |
+
},
|
| 206 |
+
"node_modules/@vue/server-renderer": {
|
| 207 |
+
"version": "3.5.26",
|
| 208 |
+
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.26.tgz",
|
| 209 |
+
"integrity": "sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==",
|
| 210 |
+
"license": "MIT",
|
| 211 |
+
"dependencies": {
|
| 212 |
+
"@vue/compiler-ssr": "3.5.26",
|
| 213 |
+
"@vue/shared": "3.5.26"
|
| 214 |
+
},
|
| 215 |
+
"peerDependencies": {
|
| 216 |
+
"vue": "3.5.26"
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"node_modules/@vue/shared": {
|
| 220 |
+
"version": "3.5.26",
|
| 221 |
+
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.26.tgz",
|
| 222 |
+
"integrity": "sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==",
|
| 223 |
+
"license": "MIT"
|
| 224 |
+
},
|
| 225 |
+
"node_modules/asynckit": {
|
| 226 |
+
"version": "0.4.0",
|
| 227 |
+
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
| 228 |
+
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
| 229 |
+
"license": "MIT"
|
| 230 |
+
},
|
| 231 |
+
"node_modules/axios": {
|
| 232 |
+
"version": "1.13.2",
|
| 233 |
+
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
|
| 234 |
+
"integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
|
| 235 |
+
"license": "MIT",
|
| 236 |
+
"dependencies": {
|
| 237 |
+
"follow-redirects": "^1.15.6",
|
| 238 |
+
"form-data": "^4.0.4",
|
| 239 |
+
"proxy-from-env": "^1.1.0"
|
| 240 |
+
}
|
| 241 |
+
},
|
| 242 |
+
"node_modules/call-bind-apply-helpers": {
|
| 243 |
+
"version": "1.0.2",
|
| 244 |
+
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
| 245 |
+
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
| 246 |
+
"license": "MIT",
|
| 247 |
+
"dependencies": {
|
| 248 |
+
"es-errors": "^1.3.0",
|
| 249 |
+
"function-bind": "^1.1.2"
|
| 250 |
+
},
|
| 251 |
+
"engines": {
|
| 252 |
+
"node": ">= 0.4"
|
| 253 |
+
}
|
| 254 |
+
},
|
| 255 |
+
"node_modules/combined-stream": {
|
| 256 |
+
"version": "1.0.8",
|
| 257 |
+
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
| 258 |
+
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
| 259 |
+
"license": "MIT",
|
| 260 |
+
"dependencies": {
|
| 261 |
+
"delayed-stream": "~1.0.0"
|
| 262 |
+
},
|
| 263 |
+
"engines": {
|
| 264 |
+
"node": ">= 0.8"
|
| 265 |
+
}
|
| 266 |
+
},
|
| 267 |
+
"node_modules/csstype": {
|
| 268 |
+
"version": "3.2.3",
|
| 269 |
+
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
|
| 270 |
+
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
| 271 |
+
"license": "MIT"
|
| 272 |
+
},
|
| 273 |
+
"node_modules/delayed-stream": {
|
| 274 |
+
"version": "1.0.0",
|
| 275 |
+
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
| 276 |
+
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
| 277 |
+
"license": "MIT",
|
| 278 |
+
"engines": {
|
| 279 |
+
"node": ">=0.4.0"
|
| 280 |
+
}
|
| 281 |
+
},
|
| 282 |
+
"node_modules/dunder-proto": {
|
| 283 |
+
"version": "1.0.1",
|
| 284 |
+
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
| 285 |
+
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
| 286 |
+
"license": "MIT",
|
| 287 |
+
"dependencies": {
|
| 288 |
+
"call-bind-apply-helpers": "^1.0.1",
|
| 289 |
+
"es-errors": "^1.3.0",
|
| 290 |
+
"gopd": "^1.2.0"
|
| 291 |
+
},
|
| 292 |
+
"engines": {
|
| 293 |
+
"node": ">= 0.4"
|
| 294 |
+
}
|
| 295 |
+
},
|
| 296 |
+
"node_modules/entities": {
|
| 297 |
+
"version": "7.0.0",
|
| 298 |
+
"resolved": "https://registry.npmjs.org/entities/-/entities-7.0.0.tgz",
|
| 299 |
+
"integrity": "sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==",
|
| 300 |
+
"license": "BSD-2-Clause",
|
| 301 |
+
"engines": {
|
| 302 |
+
"node": ">=0.12"
|
| 303 |
+
},
|
| 304 |
+
"funding": {
|
| 305 |
+
"url": "https://github.com/fb55/entities?sponsor=1"
|
| 306 |
+
}
|
| 307 |
+
},
|
| 308 |
+
"node_modules/es-define-property": {
|
| 309 |
+
"version": "1.0.1",
|
| 310 |
+
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
| 311 |
+
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
| 312 |
+
"license": "MIT",
|
| 313 |
+
"engines": {
|
| 314 |
+
"node": ">= 0.4"
|
| 315 |
+
}
|
| 316 |
+
},
|
| 317 |
+
"node_modules/es-errors": {
|
| 318 |
+
"version": "1.3.0",
|
| 319 |
+
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
| 320 |
+
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
| 321 |
+
"license": "MIT",
|
| 322 |
+
"engines": {
|
| 323 |
+
"node": ">= 0.4"
|
| 324 |
+
}
|
| 325 |
+
},
|
| 326 |
+
"node_modules/es-object-atoms": {
|
| 327 |
+
"version": "1.1.1",
|
| 328 |
+
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
| 329 |
+
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
| 330 |
+
"license": "MIT",
|
| 331 |
+
"dependencies": {
|
| 332 |
+
"es-errors": "^1.3.0"
|
| 333 |
+
},
|
| 334 |
+
"engines": {
|
| 335 |
+
"node": ">= 0.4"
|
| 336 |
+
}
|
| 337 |
+
},
|
| 338 |
+
"node_modules/es-set-tostringtag": {
|
| 339 |
+
"version": "2.1.0",
|
| 340 |
+
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
|
| 341 |
+
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
| 342 |
+
"license": "MIT",
|
| 343 |
+
"dependencies": {
|
| 344 |
+
"es-errors": "^1.3.0",
|
| 345 |
+
"get-intrinsic": "^1.2.6",
|
| 346 |
+
"has-tostringtag": "^1.0.2",
|
| 347 |
+
"hasown": "^2.0.2"
|
| 348 |
+
},
|
| 349 |
+
"engines": {
|
| 350 |
+
"node": ">= 0.4"
|
| 351 |
+
}
|
| 352 |
+
},
|
| 353 |
+
"node_modules/esbuild": {
|
| 354 |
+
"version": "0.21.5",
|
| 355 |
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
|
| 356 |
+
"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
|
| 357 |
+
"dev": true,
|
| 358 |
+
"hasInstallScript": true,
|
| 359 |
+
"license": "MIT",
|
| 360 |
+
"bin": {
|
| 361 |
+
"esbuild": "bin/esbuild"
|
| 362 |
+
},
|
| 363 |
+
"engines": {
|
| 364 |
+
"node": ">=12"
|
| 365 |
+
},
|
| 366 |
+
"optionalDependencies": {
|
| 367 |
+
"@esbuild/aix-ppc64": "0.21.5",
|
| 368 |
+
"@esbuild/android-arm": "0.21.5",
|
| 369 |
+
"@esbuild/android-arm64": "0.21.5",
|
| 370 |
+
"@esbuild/android-x64": "0.21.5",
|
| 371 |
+
"@esbuild/darwin-arm64": "0.21.5",
|
| 372 |
+
"@esbuild/darwin-x64": "0.21.5",
|
| 373 |
+
"@esbuild/freebsd-arm64": "0.21.5",
|
| 374 |
+
"@esbuild/freebsd-x64": "0.21.5",
|
| 375 |
+
"@esbuild/linux-arm": "0.21.5",
|
| 376 |
+
"@esbuild/linux-arm64": "0.21.5",
|
| 377 |
+
"@esbuild/linux-ia32": "0.21.5",
|
| 378 |
+
"@esbuild/linux-loong64": "0.21.5",
|
| 379 |
+
"@esbuild/linux-mips64el": "0.21.5",
|
| 380 |
+
"@esbuild/linux-ppc64": "0.21.5",
|
| 381 |
+
"@esbuild/linux-riscv64": "0.21.5",
|
| 382 |
+
"@esbuild/linux-s390x": "0.21.5",
|
| 383 |
+
"@esbuild/linux-x64": "0.21.5",
|
| 384 |
+
"@esbuild/netbsd-x64": "0.21.5",
|
| 385 |
+
"@esbuild/openbsd-x64": "0.21.5",
|
| 386 |
+
"@esbuild/sunos-x64": "0.21.5",
|
| 387 |
+
"@esbuild/win32-arm64": "0.21.5",
|
| 388 |
+
"@esbuild/win32-ia32": "0.21.5",
|
| 389 |
+
"@esbuild/win32-x64": "0.21.5"
|
| 390 |
+
}
|
| 391 |
+
},
|
| 392 |
+
"node_modules/estree-walker": {
|
| 393 |
+
"version": "2.0.2",
|
| 394 |
+
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
|
| 395 |
+
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
|
| 396 |
+
"license": "MIT"
|
| 397 |
+
},
|
| 398 |
+
"node_modules/follow-redirects": {
|
| 399 |
+
"version": "1.15.11",
|
| 400 |
+
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
|
| 401 |
+
"integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
|
| 402 |
+
"funding": [
|
| 403 |
+
{
|
| 404 |
+
"type": "individual",
|
| 405 |
+
"url": "https://github.com/sponsors/RubenVerborgh"
|
| 406 |
+
}
|
| 407 |
+
],
|
| 408 |
+
"license": "MIT",
|
| 409 |
+
"engines": {
|
| 410 |
+
"node": ">=4.0"
|
| 411 |
+
},
|
| 412 |
+
"peerDependenciesMeta": {
|
| 413 |
+
"debug": {
|
| 414 |
+
"optional": true
|
| 415 |
+
}
|
| 416 |
+
}
|
| 417 |
+
},
|
| 418 |
+
"node_modules/form-data": {
|
| 419 |
+
"version": "4.0.5",
|
| 420 |
+
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
|
| 421 |
+
"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
|
| 422 |
+
"license": "MIT",
|
| 423 |
+
"dependencies": {
|
| 424 |
+
"asynckit": "^0.4.0",
|
| 425 |
+
"combined-stream": "^1.0.8",
|
| 426 |
+
"es-set-tostringtag": "^2.1.0",
|
| 427 |
+
"hasown": "^2.0.2",
|
| 428 |
+
"mime-types": "^2.1.12"
|
| 429 |
+
},
|
| 430 |
+
"engines": {
|
| 431 |
+
"node": ">= 6"
|
| 432 |
+
}
|
| 433 |
+
},
|
| 434 |
+
"node_modules/function-bind": {
|
| 435 |
+
"version": "1.1.2",
|
| 436 |
+
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
| 437 |
+
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
| 438 |
+
"license": "MIT",
|
| 439 |
+
"funding": {
|
| 440 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 441 |
+
}
|
| 442 |
+
},
|
| 443 |
+
"node_modules/get-intrinsic": {
|
| 444 |
+
"version": "1.3.0",
|
| 445 |
+
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
| 446 |
+
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
| 447 |
+
"license": "MIT",
|
| 448 |
+
"dependencies": {
|
| 449 |
+
"call-bind-apply-helpers": "^1.0.2",
|
| 450 |
+
"es-define-property": "^1.0.1",
|
| 451 |
+
"es-errors": "^1.3.0",
|
| 452 |
+
"es-object-atoms": "^1.1.1",
|
| 453 |
+
"function-bind": "^1.1.2",
|
| 454 |
+
"get-proto": "^1.0.1",
|
| 455 |
+
"gopd": "^1.2.0",
|
| 456 |
+
"has-symbols": "^1.1.0",
|
| 457 |
+
"hasown": "^2.0.2",
|
| 458 |
+
"math-intrinsics": "^1.1.0"
|
| 459 |
+
},
|
| 460 |
+
"engines": {
|
| 461 |
+
"node": ">= 0.4"
|
| 462 |
+
},
|
| 463 |
+
"funding": {
|
| 464 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 465 |
+
}
|
| 466 |
+
},
|
| 467 |
+
"node_modules/get-proto": {
|
| 468 |
+
"version": "1.0.1",
|
| 469 |
+
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
| 470 |
+
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
| 471 |
+
"license": "MIT",
|
| 472 |
+
"dependencies": {
|
| 473 |
+
"dunder-proto": "^1.0.1",
|
| 474 |
+
"es-object-atoms": "^1.0.0"
|
| 475 |
+
},
|
| 476 |
+
"engines": {
|
| 477 |
+
"node": ">= 0.4"
|
| 478 |
+
}
|
| 479 |
+
},
|
| 480 |
+
"node_modules/gopd": {
|
| 481 |
+
"version": "1.2.0",
|
| 482 |
+
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
| 483 |
+
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
| 484 |
+
"license": "MIT",
|
| 485 |
+
"engines": {
|
| 486 |
+
"node": ">= 0.4"
|
| 487 |
+
},
|
| 488 |
+
"funding": {
|
| 489 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 490 |
+
}
|
| 491 |
+
},
|
| 492 |
+
"node_modules/has-symbols": {
|
| 493 |
+
"version": "1.1.0",
|
| 494 |
+
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
| 495 |
+
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
| 496 |
+
"license": "MIT",
|
| 497 |
+
"engines": {
|
| 498 |
+
"node": ">= 0.4"
|
| 499 |
+
},
|
| 500 |
+
"funding": {
|
| 501 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 502 |
+
}
|
| 503 |
+
},
|
| 504 |
+
"node_modules/has-tostringtag": {
|
| 505 |
+
"version": "1.0.2",
|
| 506 |
+
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
|
| 507 |
+
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
| 508 |
+
"license": "MIT",
|
| 509 |
+
"dependencies": {
|
| 510 |
+
"has-symbols": "^1.0.3"
|
| 511 |
+
},
|
| 512 |
+
"engines": {
|
| 513 |
+
"node": ">= 0.4"
|
| 514 |
+
},
|
| 515 |
+
"funding": {
|
| 516 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 517 |
+
}
|
| 518 |
+
},
|
| 519 |
+
"node_modules/hasown": {
|
| 520 |
+
"version": "2.0.2",
|
| 521 |
+
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
| 522 |
+
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
| 523 |
+
"license": "MIT",
|
| 524 |
+
"dependencies": {
|
| 525 |
+
"function-bind": "^1.1.2"
|
| 526 |
+
},
|
| 527 |
+
"engines": {
|
| 528 |
+
"node": ">= 0.4"
|
| 529 |
+
}
|
| 530 |
+
},
|
| 531 |
+
"node_modules/magic-string": {
|
| 532 |
+
"version": "0.30.21",
|
| 533 |
+
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
|
| 534 |
+
"integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
|
| 535 |
+
"license": "MIT",
|
| 536 |
+
"dependencies": {
|
| 537 |
+
"@jridgewell/sourcemap-codec": "^1.5.5"
|
| 538 |
+
}
|
| 539 |
+
},
|
| 540 |
+
"node_modules/math-intrinsics": {
|
| 541 |
+
"version": "1.1.0",
|
| 542 |
+
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
| 543 |
+
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
| 544 |
+
"license": "MIT",
|
| 545 |
+
"engines": {
|
| 546 |
+
"node": ">= 0.4"
|
| 547 |
+
}
|
| 548 |
+
},
|
| 549 |
+
"node_modules/mime-db": {
|
| 550 |
+
"version": "1.52.0",
|
| 551 |
+
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
| 552 |
+
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
| 553 |
+
"license": "MIT",
|
| 554 |
+
"engines": {
|
| 555 |
+
"node": ">= 0.6"
|
| 556 |
+
}
|
| 557 |
+
},
|
| 558 |
+
"node_modules/mime-types": {
|
| 559 |
+
"version": "2.1.35",
|
| 560 |
+
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
| 561 |
+
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
| 562 |
+
"license": "MIT",
|
| 563 |
+
"dependencies": {
|
| 564 |
+
"mime-db": "1.52.0"
|
| 565 |
+
},
|
| 566 |
+
"engines": {
|
| 567 |
+
"node": ">= 0.6"
|
| 568 |
+
}
|
| 569 |
+
},
|
| 570 |
+
"node_modules/nanoid": {
|
| 571 |
+
"version": "3.3.11",
|
| 572 |
+
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
|
| 573 |
+
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
|
| 574 |
+
"funding": [
|
| 575 |
+
{
|
| 576 |
+
"type": "github",
|
| 577 |
+
"url": "https://github.com/sponsors/ai"
|
| 578 |
+
}
|
| 579 |
+
],
|
| 580 |
+
"license": "MIT",
|
| 581 |
+
"bin": {
|
| 582 |
+
"nanoid": "bin/nanoid.cjs"
|
| 583 |
+
},
|
| 584 |
+
"engines": {
|
| 585 |
+
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
| 586 |
+
}
|
| 587 |
+
},
|
| 588 |
+
"node_modules/picocolors": {
|
| 589 |
+
"version": "1.1.1",
|
| 590 |
+
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
| 591 |
+
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
|
| 592 |
+
"license": "ISC"
|
| 593 |
+
},
|
| 594 |
+
"node_modules/postcss": {
|
| 595 |
+
"version": "8.5.6",
|
| 596 |
+
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
| 597 |
+
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
| 598 |
+
"funding": [
|
| 599 |
+
{
|
| 600 |
+
"type": "opencollective",
|
| 601 |
+
"url": "https://opencollective.com/postcss/"
|
| 602 |
+
},
|
| 603 |
+
{
|
| 604 |
+
"type": "tidelift",
|
| 605 |
+
"url": "https://tidelift.com/funding/github/npm/postcss"
|
| 606 |
+
},
|
| 607 |
+
{
|
| 608 |
+
"type": "github",
|
| 609 |
+
"url": "https://github.com/sponsors/ai"
|
| 610 |
+
}
|
| 611 |
+
],
|
| 612 |
+
"license": "MIT",
|
| 613 |
+
"dependencies": {
|
| 614 |
+
"nanoid": "^3.3.11",
|
| 615 |
+
"picocolors": "^1.1.1",
|
| 616 |
+
"source-map-js": "^1.2.1"
|
| 617 |
+
},
|
| 618 |
+
"engines": {
|
| 619 |
+
"node": "^10 || ^12 || >=14"
|
| 620 |
+
}
|
| 621 |
+
},
|
| 622 |
+
"node_modules/proxy-from-env": {
|
| 623 |
+
"version": "1.1.0",
|
| 624 |
+
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
| 625 |
+
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
| 626 |
+
"license": "MIT"
|
| 627 |
+
},
|
| 628 |
+
"node_modules/rollup": {
|
| 629 |
+
"version": "4.55.1",
|
| 630 |
+
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz",
|
| 631 |
+
"integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==",
|
| 632 |
+
"dev": true,
|
| 633 |
+
"license": "MIT",
|
| 634 |
+
"dependencies": {
|
| 635 |
+
"@types/estree": "1.0.8"
|
| 636 |
+
},
|
| 637 |
+
"bin": {
|
| 638 |
+
"rollup": "dist/bin/rollup"
|
| 639 |
+
},
|
| 640 |
+
"engines": {
|
| 641 |
+
"node": ">=18.0.0",
|
| 642 |
+
"npm": ">=8.0.0"
|
| 643 |
+
},
|
| 644 |
+
"optionalDependencies": {
|
| 645 |
+
"@rollup/rollup-android-arm-eabi": "4.55.1",
|
| 646 |
+
"@rollup/rollup-android-arm64": "4.55.1",
|
| 647 |
+
"@rollup/rollup-darwin-arm64": "4.55.1",
|
| 648 |
+
"@rollup/rollup-darwin-x64": "4.55.1",
|
| 649 |
+
"@rollup/rollup-freebsd-arm64": "4.55.1",
|
| 650 |
+
"@rollup/rollup-freebsd-x64": "4.55.1",
|
| 651 |
+
"@rollup/rollup-linux-arm-gnueabihf": "4.55.1",
|
| 652 |
+
"@rollup/rollup-linux-arm-musleabihf": "4.55.1",
|
| 653 |
+
"@rollup/rollup-linux-arm64-gnu": "4.55.1",
|
| 654 |
+
"@rollup/rollup-linux-arm64-musl": "4.55.1",
|
| 655 |
+
"@rollup/rollup-linux-loong64-gnu": "4.55.1",
|
| 656 |
+
"@rollup/rollup-linux-loong64-musl": "4.55.1",
|
| 657 |
+
"@rollup/rollup-linux-ppc64-gnu": "4.55.1",
|
| 658 |
+
"@rollup/rollup-linux-ppc64-musl": "4.55.1",
|
| 659 |
+
"@rollup/rollup-linux-riscv64-gnu": "4.55.1",
|
| 660 |
+
"@rollup/rollup-linux-riscv64-musl": "4.55.1",
|
| 661 |
+
"@rollup/rollup-linux-s390x-gnu": "4.55.1",
|
| 662 |
+
"@rollup/rollup-linux-x64-gnu": "4.55.1",
|
| 663 |
+
"@rollup/rollup-linux-x64-musl": "4.55.1",
|
| 664 |
+
"@rollup/rollup-openbsd-x64": "4.55.1",
|
| 665 |
+
"@rollup/rollup-openharmony-arm64": "4.55.1",
|
| 666 |
+
"@rollup/rollup-win32-arm64-msvc": "4.55.1",
|
| 667 |
+
"@rollup/rollup-win32-ia32-msvc": "4.55.1",
|
| 668 |
+
"@rollup/rollup-win32-x64-gnu": "4.55.1",
|
| 669 |
+
"@rollup/rollup-win32-x64-msvc": "4.55.1",
|
| 670 |
+
"fsevents": "~2.3.2"
|
| 671 |
+
}
|
| 672 |
+
},
|
| 673 |
+
"node_modules/source-map-js": {
|
| 674 |
+
"version": "1.2.1",
|
| 675 |
+
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
| 676 |
+
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
|
| 677 |
+
"license": "BSD-3-Clause",
|
| 678 |
+
"engines": {
|
| 679 |
+
"node": ">=0.10.0"
|
| 680 |
+
}
|
| 681 |
+
},
|
| 682 |
+
"node_modules/vite": {
|
| 683 |
+
"version": "5.4.21",
|
| 684 |
+
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
|
| 685 |
+
"integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
|
| 686 |
+
"dev": true,
|
| 687 |
+
"license": "MIT",
|
| 688 |
+
"dependencies": {
|
| 689 |
+
"esbuild": "^0.21.3",
|
| 690 |
+
"postcss": "^8.4.43",
|
| 691 |
+
"rollup": "^4.20.0"
|
| 692 |
+
},
|
| 693 |
+
"bin": {
|
| 694 |
+
"vite": "bin/vite.js"
|
| 695 |
+
},
|
| 696 |
+
"engines": {
|
| 697 |
+
"node": "^18.0.0 || >=20.0.0"
|
| 698 |
+
},
|
| 699 |
+
"funding": {
|
| 700 |
+
"url": "https://github.com/vitejs/vite?sponsor=1"
|
| 701 |
+
},
|
| 702 |
+
"optionalDependencies": {
|
| 703 |
+
"fsevents": "~2.3.3"
|
| 704 |
+
},
|
| 705 |
+
"peerDependencies": {
|
| 706 |
+
"@types/node": "^18.0.0 || >=20.0.0",
|
| 707 |
+
"less": "*",
|
| 708 |
+
"lightningcss": "^1.21.0",
|
| 709 |
+
"sass": "*",
|
| 710 |
+
"sass-embedded": "*",
|
| 711 |
+
"stylus": "*",
|
| 712 |
+
"sugarss": "*",
|
| 713 |
+
"terser": "^5.4.0"
|
| 714 |
+
},
|
| 715 |
+
"peerDependenciesMeta": {
|
| 716 |
+
"@types/node": {
|
| 717 |
+
"optional": true
|
| 718 |
+
},
|
| 719 |
+
"less": {
|
| 720 |
+
"optional": true
|
| 721 |
+
},
|
| 722 |
+
"lightningcss": {
|
| 723 |
+
"optional": true
|
| 724 |
+
},
|
| 725 |
+
"sass": {
|
| 726 |
+
"optional": true
|
| 727 |
+
},
|
| 728 |
+
"sass-embedded": {
|
| 729 |
+
"optional": true
|
| 730 |
+
},
|
| 731 |
+
"stylus": {
|
| 732 |
+
"optional": true
|
| 733 |
+
},
|
| 734 |
+
"sugarss": {
|
| 735 |
+
"optional": true
|
| 736 |
+
},
|
| 737 |
+
"terser": {
|
| 738 |
+
"optional": true
|
| 739 |
+
}
|
| 740 |
+
}
|
| 741 |
+
},
|
| 742 |
+
"node_modules/vue": {
|
| 743 |
+
"version": "3.5.26",
|
| 744 |
+
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.26.tgz",
|
| 745 |
+
"integrity": "sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==",
|
| 746 |
+
"license": "MIT",
|
| 747 |
+
"dependencies": {
|
| 748 |
+
"@vue/compiler-dom": "3.5.26",
|
| 749 |
+
"@vue/compiler-sfc": "3.5.26",
|
| 750 |
+
"@vue/runtime-dom": "3.5.26",
|
| 751 |
+
"@vue/server-renderer": "3.5.26",
|
| 752 |
+
"@vue/shared": "3.5.26"
|
| 753 |
+
},
|
| 754 |
+
"peerDependencies": {
|
| 755 |
+
"typescript": "*"
|
| 756 |
+
},
|
| 757 |
+
"peerDependenciesMeta": {
|
| 758 |
+
"typescript": {
|
| 759 |
+
"optional": true
|
| 760 |
+
}
|
| 761 |
+
}
|
| 762 |
+
}
|
| 763 |
+
}
|
| 764 |
+
}
|
my-vue-app/node_modules/.vite/deps/_metadata.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"hash": "cfc79767",
|
| 3 |
+
"configHash": "2660ab4f",
|
| 4 |
+
"lockfileHash": "a8e76567",
|
| 5 |
+
"browserHash": "e90e87d1",
|
| 6 |
+
"optimized": {
|
| 7 |
+
"axios": {
|
| 8 |
+
"src": "../../axios/index.js",
|
| 9 |
+
"file": "axios.js",
|
| 10 |
+
"fileHash": "feb5f412",
|
| 11 |
+
"needsInterop": false
|
| 12 |
+
},
|
| 13 |
+
"vue": {
|
| 14 |
+
"src": "../../vue/dist/vue.runtime.esm-bundler.js",
|
| 15 |
+
"file": "vue.js",
|
| 16 |
+
"fileHash": "3cadbf51",
|
| 17 |
+
"needsInterop": false
|
| 18 |
+
}
|
| 19 |
+
},
|
| 20 |
+
"chunks": {
|
| 21 |
+
"chunk-PZ5AY32C": {
|
| 22 |
+
"file": "chunk-PZ5AY32C.js"
|
| 23 |
+
}
|
| 24 |
+
}
|
| 25 |
+
}
|
my-vue-app/node_modules/.vite/deps/axios.js
ADDED
|
@@ -0,0 +1,2629 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import {
|
| 2 |
+
__export
|
| 3 |
+
} from "./chunk-PZ5AY32C.js";
|
| 4 |
+
|
| 5 |
+
// node_modules/axios/lib/helpers/bind.js
|
| 6 |
+
function bind(fn, thisArg) {
|
| 7 |
+
return function wrap() {
|
| 8 |
+
return fn.apply(thisArg, arguments);
|
| 9 |
+
};
|
| 10 |
+
}
|
| 11 |
+
|
| 12 |
+
// node_modules/axios/lib/utils.js
|
| 13 |
+
var { toString } = Object.prototype;
|
| 14 |
+
var { getPrototypeOf } = Object;
|
| 15 |
+
var { iterator, toStringTag } = Symbol;
|
| 16 |
+
var kindOf = /* @__PURE__ */ ((cache) => (thing) => {
|
| 17 |
+
const str = toString.call(thing);
|
| 18 |
+
return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
|
| 19 |
+
})(/* @__PURE__ */ Object.create(null));
|
| 20 |
+
var kindOfTest = (type) => {
|
| 21 |
+
type = type.toLowerCase();
|
| 22 |
+
return (thing) => kindOf(thing) === type;
|
| 23 |
+
};
|
| 24 |
+
var typeOfTest = (type) => (thing) => typeof thing === type;
|
| 25 |
+
var { isArray } = Array;
|
| 26 |
+
var isUndefined = typeOfTest("undefined");
|
| 27 |
+
function isBuffer(val) {
|
| 28 |
+
return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
|
| 29 |
+
}
|
| 30 |
+
var isArrayBuffer = kindOfTest("ArrayBuffer");
|
| 31 |
+
function isArrayBufferView(val) {
|
| 32 |
+
let result;
|
| 33 |
+
if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
|
| 34 |
+
result = ArrayBuffer.isView(val);
|
| 35 |
+
} else {
|
| 36 |
+
result = val && val.buffer && isArrayBuffer(val.buffer);
|
| 37 |
+
}
|
| 38 |
+
return result;
|
| 39 |
+
}
|
| 40 |
+
var isString = typeOfTest("string");
|
| 41 |
+
var isFunction = typeOfTest("function");
|
| 42 |
+
var isNumber = typeOfTest("number");
|
| 43 |
+
var isObject = (thing) => thing !== null && typeof thing === "object";
|
| 44 |
+
var isBoolean = (thing) => thing === true || thing === false;
|
| 45 |
+
var isPlainObject = (val) => {
|
| 46 |
+
if (kindOf(val) !== "object") {
|
| 47 |
+
return false;
|
| 48 |
+
}
|
| 49 |
+
const prototype3 = getPrototypeOf(val);
|
| 50 |
+
return (prototype3 === null || prototype3 === Object.prototype || Object.getPrototypeOf(prototype3) === null) && !(toStringTag in val) && !(iterator in val);
|
| 51 |
+
};
|
| 52 |
+
var isEmptyObject = (val) => {
|
| 53 |
+
if (!isObject(val) || isBuffer(val)) {
|
| 54 |
+
return false;
|
| 55 |
+
}
|
| 56 |
+
try {
|
| 57 |
+
return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;
|
| 58 |
+
} catch (e) {
|
| 59 |
+
return false;
|
| 60 |
+
}
|
| 61 |
+
};
|
| 62 |
+
var isDate = kindOfTest("Date");
|
| 63 |
+
var isFile = kindOfTest("File");
|
| 64 |
+
var isBlob = kindOfTest("Blob");
|
| 65 |
+
var isFileList = kindOfTest("FileList");
|
| 66 |
+
var isStream = (val) => isObject(val) && isFunction(val.pipe);
|
| 67 |
+
var isFormData = (thing) => {
|
| 68 |
+
let kind;
|
| 69 |
+
return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance
|
| 70 |
+
kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]"));
|
| 71 |
+
};
|
| 72 |
+
var isURLSearchParams = kindOfTest("URLSearchParams");
|
| 73 |
+
var [isReadableStream, isRequest, isResponse, isHeaders] = ["ReadableStream", "Request", "Response", "Headers"].map(kindOfTest);
|
| 74 |
+
var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
|
| 75 |
+
function forEach(obj, fn, { allOwnKeys = false } = {}) {
|
| 76 |
+
if (obj === null || typeof obj === "undefined") {
|
| 77 |
+
return;
|
| 78 |
+
}
|
| 79 |
+
let i;
|
| 80 |
+
let l;
|
| 81 |
+
if (typeof obj !== "object") {
|
| 82 |
+
obj = [obj];
|
| 83 |
+
}
|
| 84 |
+
if (isArray(obj)) {
|
| 85 |
+
for (i = 0, l = obj.length; i < l; i++) {
|
| 86 |
+
fn.call(null, obj[i], i, obj);
|
| 87 |
+
}
|
| 88 |
+
} else {
|
| 89 |
+
if (isBuffer(obj)) {
|
| 90 |
+
return;
|
| 91 |
+
}
|
| 92 |
+
const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
|
| 93 |
+
const len = keys.length;
|
| 94 |
+
let key;
|
| 95 |
+
for (i = 0; i < len; i++) {
|
| 96 |
+
key = keys[i];
|
| 97 |
+
fn.call(null, obj[key], key, obj);
|
| 98 |
+
}
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
+
function findKey(obj, key) {
|
| 102 |
+
if (isBuffer(obj)) {
|
| 103 |
+
return null;
|
| 104 |
+
}
|
| 105 |
+
key = key.toLowerCase();
|
| 106 |
+
const keys = Object.keys(obj);
|
| 107 |
+
let i = keys.length;
|
| 108 |
+
let _key;
|
| 109 |
+
while (i-- > 0) {
|
| 110 |
+
_key = keys[i];
|
| 111 |
+
if (key === _key.toLowerCase()) {
|
| 112 |
+
return _key;
|
| 113 |
+
}
|
| 114 |
+
}
|
| 115 |
+
return null;
|
| 116 |
+
}
|
| 117 |
+
var _global = (() => {
|
| 118 |
+
if (typeof globalThis !== "undefined") return globalThis;
|
| 119 |
+
return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
|
| 120 |
+
})();
|
| 121 |
+
var isContextDefined = (context) => !isUndefined(context) && context !== _global;
|
| 122 |
+
function merge() {
|
| 123 |
+
const { caseless, skipUndefined } = isContextDefined(this) && this || {};
|
| 124 |
+
const result = {};
|
| 125 |
+
const assignValue = (val, key) => {
|
| 126 |
+
const targetKey = caseless && findKey(result, key) || key;
|
| 127 |
+
if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
|
| 128 |
+
result[targetKey] = merge(result[targetKey], val);
|
| 129 |
+
} else if (isPlainObject(val)) {
|
| 130 |
+
result[targetKey] = merge({}, val);
|
| 131 |
+
} else if (isArray(val)) {
|
| 132 |
+
result[targetKey] = val.slice();
|
| 133 |
+
} else if (!skipUndefined || !isUndefined(val)) {
|
| 134 |
+
result[targetKey] = val;
|
| 135 |
+
}
|
| 136 |
+
};
|
| 137 |
+
for (let i = 0, l = arguments.length; i < l; i++) {
|
| 138 |
+
arguments[i] && forEach(arguments[i], assignValue);
|
| 139 |
+
}
|
| 140 |
+
return result;
|
| 141 |
+
}
|
| 142 |
+
var extend = (a, b, thisArg, { allOwnKeys } = {}) => {
|
| 143 |
+
forEach(b, (val, key) => {
|
| 144 |
+
if (thisArg && isFunction(val)) {
|
| 145 |
+
a[key] = bind(val, thisArg);
|
| 146 |
+
} else {
|
| 147 |
+
a[key] = val;
|
| 148 |
+
}
|
| 149 |
+
}, { allOwnKeys });
|
| 150 |
+
return a;
|
| 151 |
+
};
|
| 152 |
+
var stripBOM = (content) => {
|
| 153 |
+
if (content.charCodeAt(0) === 65279) {
|
| 154 |
+
content = content.slice(1);
|
| 155 |
+
}
|
| 156 |
+
return content;
|
| 157 |
+
};
|
| 158 |
+
var inherits = (constructor, superConstructor, props, descriptors2) => {
|
| 159 |
+
constructor.prototype = Object.create(superConstructor.prototype, descriptors2);
|
| 160 |
+
constructor.prototype.constructor = constructor;
|
| 161 |
+
Object.defineProperty(constructor, "super", {
|
| 162 |
+
value: superConstructor.prototype
|
| 163 |
+
});
|
| 164 |
+
props && Object.assign(constructor.prototype, props);
|
| 165 |
+
};
|
| 166 |
+
var toFlatObject = (sourceObj, destObj, filter2, propFilter) => {
|
| 167 |
+
let props;
|
| 168 |
+
let i;
|
| 169 |
+
let prop;
|
| 170 |
+
const merged = {};
|
| 171 |
+
destObj = destObj || {};
|
| 172 |
+
if (sourceObj == null) return destObj;
|
| 173 |
+
do {
|
| 174 |
+
props = Object.getOwnPropertyNames(sourceObj);
|
| 175 |
+
i = props.length;
|
| 176 |
+
while (i-- > 0) {
|
| 177 |
+
prop = props[i];
|
| 178 |
+
if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
|
| 179 |
+
destObj[prop] = sourceObj[prop];
|
| 180 |
+
merged[prop] = true;
|
| 181 |
+
}
|
| 182 |
+
}
|
| 183 |
+
sourceObj = filter2 !== false && getPrototypeOf(sourceObj);
|
| 184 |
+
} while (sourceObj && (!filter2 || filter2(sourceObj, destObj)) && sourceObj !== Object.prototype);
|
| 185 |
+
return destObj;
|
| 186 |
+
};
|
| 187 |
+
var endsWith = (str, searchString, position) => {
|
| 188 |
+
str = String(str);
|
| 189 |
+
if (position === void 0 || position > str.length) {
|
| 190 |
+
position = str.length;
|
| 191 |
+
}
|
| 192 |
+
position -= searchString.length;
|
| 193 |
+
const lastIndex = str.indexOf(searchString, position);
|
| 194 |
+
return lastIndex !== -1 && lastIndex === position;
|
| 195 |
+
};
|
| 196 |
+
var toArray = (thing) => {
|
| 197 |
+
if (!thing) return null;
|
| 198 |
+
if (isArray(thing)) return thing;
|
| 199 |
+
let i = thing.length;
|
| 200 |
+
if (!isNumber(i)) return null;
|
| 201 |
+
const arr = new Array(i);
|
| 202 |
+
while (i-- > 0) {
|
| 203 |
+
arr[i] = thing[i];
|
| 204 |
+
}
|
| 205 |
+
return arr;
|
| 206 |
+
};
|
| 207 |
+
var isTypedArray = /* @__PURE__ */ ((TypedArray) => {
|
| 208 |
+
return (thing) => {
|
| 209 |
+
return TypedArray && thing instanceof TypedArray;
|
| 210 |
+
};
|
| 211 |
+
})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
|
| 212 |
+
var forEachEntry = (obj, fn) => {
|
| 213 |
+
const generator = obj && obj[iterator];
|
| 214 |
+
const _iterator = generator.call(obj);
|
| 215 |
+
let result;
|
| 216 |
+
while ((result = _iterator.next()) && !result.done) {
|
| 217 |
+
const pair = result.value;
|
| 218 |
+
fn.call(obj, pair[0], pair[1]);
|
| 219 |
+
}
|
| 220 |
+
};
|
| 221 |
+
var matchAll = (regExp, str) => {
|
| 222 |
+
let matches;
|
| 223 |
+
const arr = [];
|
| 224 |
+
while ((matches = regExp.exec(str)) !== null) {
|
| 225 |
+
arr.push(matches);
|
| 226 |
+
}
|
| 227 |
+
return arr;
|
| 228 |
+
};
|
| 229 |
+
var isHTMLForm = kindOfTest("HTMLFormElement");
|
| 230 |
+
var toCamelCase = (str) => {
|
| 231 |
+
return str.toLowerCase().replace(
|
| 232 |
+
/[-_\s]([a-z\d])(\w*)/g,
|
| 233 |
+
function replacer(m, p1, p2) {
|
| 234 |
+
return p1.toUpperCase() + p2;
|
| 235 |
+
}
|
| 236 |
+
);
|
| 237 |
+
};
|
| 238 |
+
var hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype);
|
| 239 |
+
var isRegExp = kindOfTest("RegExp");
|
| 240 |
+
var reduceDescriptors = (obj, reducer) => {
|
| 241 |
+
const descriptors2 = Object.getOwnPropertyDescriptors(obj);
|
| 242 |
+
const reducedDescriptors = {};
|
| 243 |
+
forEach(descriptors2, (descriptor, name) => {
|
| 244 |
+
let ret;
|
| 245 |
+
if ((ret = reducer(descriptor, name, obj)) !== false) {
|
| 246 |
+
reducedDescriptors[name] = ret || descriptor;
|
| 247 |
+
}
|
| 248 |
+
});
|
| 249 |
+
Object.defineProperties(obj, reducedDescriptors);
|
| 250 |
+
};
|
| 251 |
+
var freezeMethods = (obj) => {
|
| 252 |
+
reduceDescriptors(obj, (descriptor, name) => {
|
| 253 |
+
if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) {
|
| 254 |
+
return false;
|
| 255 |
+
}
|
| 256 |
+
const value = obj[name];
|
| 257 |
+
if (!isFunction(value)) return;
|
| 258 |
+
descriptor.enumerable = false;
|
| 259 |
+
if ("writable" in descriptor) {
|
| 260 |
+
descriptor.writable = false;
|
| 261 |
+
return;
|
| 262 |
+
}
|
| 263 |
+
if (!descriptor.set) {
|
| 264 |
+
descriptor.set = () => {
|
| 265 |
+
throw Error("Can not rewrite read-only method '" + name + "'");
|
| 266 |
+
};
|
| 267 |
+
}
|
| 268 |
+
});
|
| 269 |
+
};
|
| 270 |
+
var toObjectSet = (arrayOrString, delimiter) => {
|
| 271 |
+
const obj = {};
|
| 272 |
+
const define = (arr) => {
|
| 273 |
+
arr.forEach((value) => {
|
| 274 |
+
obj[value] = true;
|
| 275 |
+
});
|
| 276 |
+
};
|
| 277 |
+
isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
|
| 278 |
+
return obj;
|
| 279 |
+
};
|
| 280 |
+
var noop = () => {
|
| 281 |
+
};
|
| 282 |
+
var toFiniteNumber = (value, defaultValue) => {
|
| 283 |
+
return value != null && Number.isFinite(value = +value) ? value : defaultValue;
|
| 284 |
+
};
|
| 285 |
+
function isSpecCompliantForm(thing) {
|
| 286 |
+
return !!(thing && isFunction(thing.append) && thing[toStringTag] === "FormData" && thing[iterator]);
|
| 287 |
+
}
|
| 288 |
+
var toJSONObject = (obj) => {
|
| 289 |
+
const stack = new Array(10);
|
| 290 |
+
const visit = (source, i) => {
|
| 291 |
+
if (isObject(source)) {
|
| 292 |
+
if (stack.indexOf(source) >= 0) {
|
| 293 |
+
return;
|
| 294 |
+
}
|
| 295 |
+
if (isBuffer(source)) {
|
| 296 |
+
return source;
|
| 297 |
+
}
|
| 298 |
+
if (!("toJSON" in source)) {
|
| 299 |
+
stack[i] = source;
|
| 300 |
+
const target = isArray(source) ? [] : {};
|
| 301 |
+
forEach(source, (value, key) => {
|
| 302 |
+
const reducedValue = visit(value, i + 1);
|
| 303 |
+
!isUndefined(reducedValue) && (target[key] = reducedValue);
|
| 304 |
+
});
|
| 305 |
+
stack[i] = void 0;
|
| 306 |
+
return target;
|
| 307 |
+
}
|
| 308 |
+
}
|
| 309 |
+
return source;
|
| 310 |
+
};
|
| 311 |
+
return visit(obj, 0);
|
| 312 |
+
};
|
| 313 |
+
var isAsyncFn = kindOfTest("AsyncFunction");
|
| 314 |
+
var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
|
| 315 |
+
var _setImmediate = ((setImmediateSupported, postMessageSupported) => {
|
| 316 |
+
if (setImmediateSupported) {
|
| 317 |
+
return setImmediate;
|
| 318 |
+
}
|
| 319 |
+
return postMessageSupported ? ((token, callbacks) => {
|
| 320 |
+
_global.addEventListener("message", ({ source, data }) => {
|
| 321 |
+
if (source === _global && data === token) {
|
| 322 |
+
callbacks.length && callbacks.shift()();
|
| 323 |
+
}
|
| 324 |
+
}, false);
|
| 325 |
+
return (cb) => {
|
| 326 |
+
callbacks.push(cb);
|
| 327 |
+
_global.postMessage(token, "*");
|
| 328 |
+
};
|
| 329 |
+
})(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
|
| 330 |
+
})(
|
| 331 |
+
typeof setImmediate === "function",
|
| 332 |
+
isFunction(_global.postMessage)
|
| 333 |
+
);
|
| 334 |
+
var asap = typeof queueMicrotask !== "undefined" ? queueMicrotask.bind(_global) : typeof process !== "undefined" && process.nextTick || _setImmediate;
|
| 335 |
+
var isIterable = (thing) => thing != null && isFunction(thing[iterator]);
|
| 336 |
+
var utils_default = {
|
| 337 |
+
isArray,
|
| 338 |
+
isArrayBuffer,
|
| 339 |
+
isBuffer,
|
| 340 |
+
isFormData,
|
| 341 |
+
isArrayBufferView,
|
| 342 |
+
isString,
|
| 343 |
+
isNumber,
|
| 344 |
+
isBoolean,
|
| 345 |
+
isObject,
|
| 346 |
+
isPlainObject,
|
| 347 |
+
isEmptyObject,
|
| 348 |
+
isReadableStream,
|
| 349 |
+
isRequest,
|
| 350 |
+
isResponse,
|
| 351 |
+
isHeaders,
|
| 352 |
+
isUndefined,
|
| 353 |
+
isDate,
|
| 354 |
+
isFile,
|
| 355 |
+
isBlob,
|
| 356 |
+
isRegExp,
|
| 357 |
+
isFunction,
|
| 358 |
+
isStream,
|
| 359 |
+
isURLSearchParams,
|
| 360 |
+
isTypedArray,
|
| 361 |
+
isFileList,
|
| 362 |
+
forEach,
|
| 363 |
+
merge,
|
| 364 |
+
extend,
|
| 365 |
+
trim,
|
| 366 |
+
stripBOM,
|
| 367 |
+
inherits,
|
| 368 |
+
toFlatObject,
|
| 369 |
+
kindOf,
|
| 370 |
+
kindOfTest,
|
| 371 |
+
endsWith,
|
| 372 |
+
toArray,
|
| 373 |
+
forEachEntry,
|
| 374 |
+
matchAll,
|
| 375 |
+
isHTMLForm,
|
| 376 |
+
hasOwnProperty,
|
| 377 |
+
hasOwnProp: hasOwnProperty,
|
| 378 |
+
// an alias to avoid ESLint no-prototype-builtins detection
|
| 379 |
+
reduceDescriptors,
|
| 380 |
+
freezeMethods,
|
| 381 |
+
toObjectSet,
|
| 382 |
+
toCamelCase,
|
| 383 |
+
noop,
|
| 384 |
+
toFiniteNumber,
|
| 385 |
+
findKey,
|
| 386 |
+
global: _global,
|
| 387 |
+
isContextDefined,
|
| 388 |
+
isSpecCompliantForm,
|
| 389 |
+
toJSONObject,
|
| 390 |
+
isAsyncFn,
|
| 391 |
+
isThenable,
|
| 392 |
+
setImmediate: _setImmediate,
|
| 393 |
+
asap,
|
| 394 |
+
isIterable
|
| 395 |
+
};
|
| 396 |
+
|
| 397 |
+
// node_modules/axios/lib/core/AxiosError.js
|
| 398 |
+
function AxiosError(message, code, config, request, response) {
|
| 399 |
+
Error.call(this);
|
| 400 |
+
if (Error.captureStackTrace) {
|
| 401 |
+
Error.captureStackTrace(this, this.constructor);
|
| 402 |
+
} else {
|
| 403 |
+
this.stack = new Error().stack;
|
| 404 |
+
}
|
| 405 |
+
this.message = message;
|
| 406 |
+
this.name = "AxiosError";
|
| 407 |
+
code && (this.code = code);
|
| 408 |
+
config && (this.config = config);
|
| 409 |
+
request && (this.request = request);
|
| 410 |
+
if (response) {
|
| 411 |
+
this.response = response;
|
| 412 |
+
this.status = response.status ? response.status : null;
|
| 413 |
+
}
|
| 414 |
+
}
|
| 415 |
+
utils_default.inherits(AxiosError, Error, {
|
| 416 |
+
toJSON: function toJSON() {
|
| 417 |
+
return {
|
| 418 |
+
// Standard
|
| 419 |
+
message: this.message,
|
| 420 |
+
name: this.name,
|
| 421 |
+
// Microsoft
|
| 422 |
+
description: this.description,
|
| 423 |
+
number: this.number,
|
| 424 |
+
// Mozilla
|
| 425 |
+
fileName: this.fileName,
|
| 426 |
+
lineNumber: this.lineNumber,
|
| 427 |
+
columnNumber: this.columnNumber,
|
| 428 |
+
stack: this.stack,
|
| 429 |
+
// Axios
|
| 430 |
+
config: utils_default.toJSONObject(this.config),
|
| 431 |
+
code: this.code,
|
| 432 |
+
status: this.status
|
| 433 |
+
};
|
| 434 |
+
}
|
| 435 |
+
});
|
| 436 |
+
var prototype = AxiosError.prototype;
|
| 437 |
+
var descriptors = {};
|
| 438 |
+
[
|
| 439 |
+
"ERR_BAD_OPTION_VALUE",
|
| 440 |
+
"ERR_BAD_OPTION",
|
| 441 |
+
"ECONNABORTED",
|
| 442 |
+
"ETIMEDOUT",
|
| 443 |
+
"ERR_NETWORK",
|
| 444 |
+
"ERR_FR_TOO_MANY_REDIRECTS",
|
| 445 |
+
"ERR_DEPRECATED",
|
| 446 |
+
"ERR_BAD_RESPONSE",
|
| 447 |
+
"ERR_BAD_REQUEST",
|
| 448 |
+
"ERR_CANCELED",
|
| 449 |
+
"ERR_NOT_SUPPORT",
|
| 450 |
+
"ERR_INVALID_URL"
|
| 451 |
+
// eslint-disable-next-line func-names
|
| 452 |
+
].forEach((code) => {
|
| 453 |
+
descriptors[code] = { value: code };
|
| 454 |
+
});
|
| 455 |
+
Object.defineProperties(AxiosError, descriptors);
|
| 456 |
+
Object.defineProperty(prototype, "isAxiosError", { value: true });
|
| 457 |
+
AxiosError.from = (error, code, config, request, response, customProps) => {
|
| 458 |
+
const axiosError = Object.create(prototype);
|
| 459 |
+
utils_default.toFlatObject(error, axiosError, function filter2(obj) {
|
| 460 |
+
return obj !== Error.prototype;
|
| 461 |
+
}, (prop) => {
|
| 462 |
+
return prop !== "isAxiosError";
|
| 463 |
+
});
|
| 464 |
+
const msg = error && error.message ? error.message : "Error";
|
| 465 |
+
const errCode = code == null && error ? error.code : code;
|
| 466 |
+
AxiosError.call(axiosError, msg, errCode, config, request, response);
|
| 467 |
+
if (error && axiosError.cause == null) {
|
| 468 |
+
Object.defineProperty(axiosError, "cause", { value: error, configurable: true });
|
| 469 |
+
}
|
| 470 |
+
axiosError.name = error && error.name || "Error";
|
| 471 |
+
customProps && Object.assign(axiosError, customProps);
|
| 472 |
+
return axiosError;
|
| 473 |
+
};
|
| 474 |
+
var AxiosError_default = AxiosError;
|
| 475 |
+
|
| 476 |
+
// node_modules/axios/lib/helpers/null.js
|
| 477 |
+
var null_default = null;
|
| 478 |
+
|
| 479 |
+
// node_modules/axios/lib/helpers/toFormData.js
|
| 480 |
+
function isVisitable(thing) {
|
| 481 |
+
return utils_default.isPlainObject(thing) || utils_default.isArray(thing);
|
| 482 |
+
}
|
| 483 |
+
function removeBrackets(key) {
|
| 484 |
+
return utils_default.endsWith(key, "[]") ? key.slice(0, -2) : key;
|
| 485 |
+
}
|
| 486 |
+
function renderKey(path, key, dots) {
|
| 487 |
+
if (!path) return key;
|
| 488 |
+
return path.concat(key).map(function each(token, i) {
|
| 489 |
+
token = removeBrackets(token);
|
| 490 |
+
return !dots && i ? "[" + token + "]" : token;
|
| 491 |
+
}).join(dots ? "." : "");
|
| 492 |
+
}
|
| 493 |
+
function isFlatArray(arr) {
|
| 494 |
+
return utils_default.isArray(arr) && !arr.some(isVisitable);
|
| 495 |
+
}
|
| 496 |
+
var predicates = utils_default.toFlatObject(utils_default, {}, null, function filter(prop) {
|
| 497 |
+
return /^is[A-Z]/.test(prop);
|
| 498 |
+
});
|
| 499 |
+
function toFormData(obj, formData, options) {
|
| 500 |
+
if (!utils_default.isObject(obj)) {
|
| 501 |
+
throw new TypeError("target must be an object");
|
| 502 |
+
}
|
| 503 |
+
formData = formData || new (null_default || FormData)();
|
| 504 |
+
options = utils_default.toFlatObject(options, {
|
| 505 |
+
metaTokens: true,
|
| 506 |
+
dots: false,
|
| 507 |
+
indexes: false
|
| 508 |
+
}, false, function defined(option, source) {
|
| 509 |
+
return !utils_default.isUndefined(source[option]);
|
| 510 |
+
});
|
| 511 |
+
const metaTokens = options.metaTokens;
|
| 512 |
+
const visitor = options.visitor || defaultVisitor;
|
| 513 |
+
const dots = options.dots;
|
| 514 |
+
const indexes = options.indexes;
|
| 515 |
+
const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
|
| 516 |
+
const useBlob = _Blob && utils_default.isSpecCompliantForm(formData);
|
| 517 |
+
if (!utils_default.isFunction(visitor)) {
|
| 518 |
+
throw new TypeError("visitor must be a function");
|
| 519 |
+
}
|
| 520 |
+
function convertValue(value) {
|
| 521 |
+
if (value === null) return "";
|
| 522 |
+
if (utils_default.isDate(value)) {
|
| 523 |
+
return value.toISOString();
|
| 524 |
+
}
|
| 525 |
+
if (utils_default.isBoolean(value)) {
|
| 526 |
+
return value.toString();
|
| 527 |
+
}
|
| 528 |
+
if (!useBlob && utils_default.isBlob(value)) {
|
| 529 |
+
throw new AxiosError_default("Blob is not supported. Use a Buffer instead.");
|
| 530 |
+
}
|
| 531 |
+
if (utils_default.isArrayBuffer(value) || utils_default.isTypedArray(value)) {
|
| 532 |
+
return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
|
| 533 |
+
}
|
| 534 |
+
return value;
|
| 535 |
+
}
|
| 536 |
+
function defaultVisitor(value, key, path) {
|
| 537 |
+
let arr = value;
|
| 538 |
+
if (value && !path && typeof value === "object") {
|
| 539 |
+
if (utils_default.endsWith(key, "{}")) {
|
| 540 |
+
key = metaTokens ? key : key.slice(0, -2);
|
| 541 |
+
value = JSON.stringify(value);
|
| 542 |
+
} else if (utils_default.isArray(value) && isFlatArray(value) || (utils_default.isFileList(value) || utils_default.endsWith(key, "[]")) && (arr = utils_default.toArray(value))) {
|
| 543 |
+
key = removeBrackets(key);
|
| 544 |
+
arr.forEach(function each(el, index) {
|
| 545 |
+
!(utils_default.isUndefined(el) || el === null) && formData.append(
|
| 546 |
+
// eslint-disable-next-line no-nested-ternary
|
| 547 |
+
indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + "[]",
|
| 548 |
+
convertValue(el)
|
| 549 |
+
);
|
| 550 |
+
});
|
| 551 |
+
return false;
|
| 552 |
+
}
|
| 553 |
+
}
|
| 554 |
+
if (isVisitable(value)) {
|
| 555 |
+
return true;
|
| 556 |
+
}
|
| 557 |
+
formData.append(renderKey(path, key, dots), convertValue(value));
|
| 558 |
+
return false;
|
| 559 |
+
}
|
| 560 |
+
const stack = [];
|
| 561 |
+
const exposedHelpers = Object.assign(predicates, {
|
| 562 |
+
defaultVisitor,
|
| 563 |
+
convertValue,
|
| 564 |
+
isVisitable
|
| 565 |
+
});
|
| 566 |
+
function build(value, path) {
|
| 567 |
+
if (utils_default.isUndefined(value)) return;
|
| 568 |
+
if (stack.indexOf(value) !== -1) {
|
| 569 |
+
throw Error("Circular reference detected in " + path.join("."));
|
| 570 |
+
}
|
| 571 |
+
stack.push(value);
|
| 572 |
+
utils_default.forEach(value, function each(el, key) {
|
| 573 |
+
const result = !(utils_default.isUndefined(el) || el === null) && visitor.call(
|
| 574 |
+
formData,
|
| 575 |
+
el,
|
| 576 |
+
utils_default.isString(key) ? key.trim() : key,
|
| 577 |
+
path,
|
| 578 |
+
exposedHelpers
|
| 579 |
+
);
|
| 580 |
+
if (result === true) {
|
| 581 |
+
build(el, path ? path.concat(key) : [key]);
|
| 582 |
+
}
|
| 583 |
+
});
|
| 584 |
+
stack.pop();
|
| 585 |
+
}
|
| 586 |
+
if (!utils_default.isObject(obj)) {
|
| 587 |
+
throw new TypeError("data must be an object");
|
| 588 |
+
}
|
| 589 |
+
build(obj);
|
| 590 |
+
return formData;
|
| 591 |
+
}
|
| 592 |
+
var toFormData_default = toFormData;
|
| 593 |
+
|
| 594 |
+
// node_modules/axios/lib/helpers/AxiosURLSearchParams.js
|
| 595 |
+
function encode(str) {
|
| 596 |
+
const charMap = {
|
| 597 |
+
"!": "%21",
|
| 598 |
+
"'": "%27",
|
| 599 |
+
"(": "%28",
|
| 600 |
+
")": "%29",
|
| 601 |
+
"~": "%7E",
|
| 602 |
+
"%20": "+",
|
| 603 |
+
"%00": "\0"
|
| 604 |
+
};
|
| 605 |
+
return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
|
| 606 |
+
return charMap[match];
|
| 607 |
+
});
|
| 608 |
+
}
|
| 609 |
+
function AxiosURLSearchParams(params, options) {
|
| 610 |
+
this._pairs = [];
|
| 611 |
+
params && toFormData_default(params, this, options);
|
| 612 |
+
}
|
| 613 |
+
var prototype2 = AxiosURLSearchParams.prototype;
|
| 614 |
+
prototype2.append = function append(name, value) {
|
| 615 |
+
this._pairs.push([name, value]);
|
| 616 |
+
};
|
| 617 |
+
prototype2.toString = function toString2(encoder) {
|
| 618 |
+
const _encode = encoder ? function(value) {
|
| 619 |
+
return encoder.call(this, value, encode);
|
| 620 |
+
} : encode;
|
| 621 |
+
return this._pairs.map(function each(pair) {
|
| 622 |
+
return _encode(pair[0]) + "=" + _encode(pair[1]);
|
| 623 |
+
}, "").join("&");
|
| 624 |
+
};
|
| 625 |
+
var AxiosURLSearchParams_default = AxiosURLSearchParams;
|
| 626 |
+
|
| 627 |
+
// node_modules/axios/lib/helpers/buildURL.js
|
| 628 |
+
function encode2(val) {
|
| 629 |
+
return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
|
| 630 |
+
}
|
| 631 |
+
function buildURL(url, params, options) {
|
| 632 |
+
if (!params) {
|
| 633 |
+
return url;
|
| 634 |
+
}
|
| 635 |
+
const _encode = options && options.encode || encode2;
|
| 636 |
+
if (utils_default.isFunction(options)) {
|
| 637 |
+
options = {
|
| 638 |
+
serialize: options
|
| 639 |
+
};
|
| 640 |
+
}
|
| 641 |
+
const serializeFn = options && options.serialize;
|
| 642 |
+
let serializedParams;
|
| 643 |
+
if (serializeFn) {
|
| 644 |
+
serializedParams = serializeFn(params, options);
|
| 645 |
+
} else {
|
| 646 |
+
serializedParams = utils_default.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams_default(params, options).toString(_encode);
|
| 647 |
+
}
|
| 648 |
+
if (serializedParams) {
|
| 649 |
+
const hashmarkIndex = url.indexOf("#");
|
| 650 |
+
if (hashmarkIndex !== -1) {
|
| 651 |
+
url = url.slice(0, hashmarkIndex);
|
| 652 |
+
}
|
| 653 |
+
url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
|
| 654 |
+
}
|
| 655 |
+
return url;
|
| 656 |
+
}
|
| 657 |
+
|
| 658 |
+
// node_modules/axios/lib/core/InterceptorManager.js
|
| 659 |
+
var InterceptorManager = class {
|
| 660 |
+
constructor() {
|
| 661 |
+
this.handlers = [];
|
| 662 |
+
}
|
| 663 |
+
/**
|
| 664 |
+
* Add a new interceptor to the stack
|
| 665 |
+
*
|
| 666 |
+
* @param {Function} fulfilled The function to handle `then` for a `Promise`
|
| 667 |
+
* @param {Function} rejected The function to handle `reject` for a `Promise`
|
| 668 |
+
*
|
| 669 |
+
* @return {Number} An ID used to remove interceptor later
|
| 670 |
+
*/
|
| 671 |
+
use(fulfilled, rejected, options) {
|
| 672 |
+
this.handlers.push({
|
| 673 |
+
fulfilled,
|
| 674 |
+
rejected,
|
| 675 |
+
synchronous: options ? options.synchronous : false,
|
| 676 |
+
runWhen: options ? options.runWhen : null
|
| 677 |
+
});
|
| 678 |
+
return this.handlers.length - 1;
|
| 679 |
+
}
|
| 680 |
+
/**
|
| 681 |
+
* Remove an interceptor from the stack
|
| 682 |
+
*
|
| 683 |
+
* @param {Number} id The ID that was returned by `use`
|
| 684 |
+
*
|
| 685 |
+
* @returns {void}
|
| 686 |
+
*/
|
| 687 |
+
eject(id) {
|
| 688 |
+
if (this.handlers[id]) {
|
| 689 |
+
this.handlers[id] = null;
|
| 690 |
+
}
|
| 691 |
+
}
|
| 692 |
+
/**
|
| 693 |
+
* Clear all interceptors from the stack
|
| 694 |
+
*
|
| 695 |
+
* @returns {void}
|
| 696 |
+
*/
|
| 697 |
+
clear() {
|
| 698 |
+
if (this.handlers) {
|
| 699 |
+
this.handlers = [];
|
| 700 |
+
}
|
| 701 |
+
}
|
| 702 |
+
/**
|
| 703 |
+
* Iterate over all the registered interceptors
|
| 704 |
+
*
|
| 705 |
+
* This method is particularly useful for skipping over any
|
| 706 |
+
* interceptors that may have become `null` calling `eject`.
|
| 707 |
+
*
|
| 708 |
+
* @param {Function} fn The function to call for each interceptor
|
| 709 |
+
*
|
| 710 |
+
* @returns {void}
|
| 711 |
+
*/
|
| 712 |
+
forEach(fn) {
|
| 713 |
+
utils_default.forEach(this.handlers, function forEachHandler(h) {
|
| 714 |
+
if (h !== null) {
|
| 715 |
+
fn(h);
|
| 716 |
+
}
|
| 717 |
+
});
|
| 718 |
+
}
|
| 719 |
+
};
|
| 720 |
+
var InterceptorManager_default = InterceptorManager;
|
| 721 |
+
|
| 722 |
+
// node_modules/axios/lib/defaults/transitional.js
|
| 723 |
+
var transitional_default = {
|
| 724 |
+
silentJSONParsing: true,
|
| 725 |
+
forcedJSONParsing: true,
|
| 726 |
+
clarifyTimeoutError: false
|
| 727 |
+
};
|
| 728 |
+
|
| 729 |
+
// node_modules/axios/lib/platform/browser/classes/URLSearchParams.js
|
| 730 |
+
var URLSearchParams_default = typeof URLSearchParams !== "undefined" ? URLSearchParams : AxiosURLSearchParams_default;
|
| 731 |
+
|
| 732 |
+
// node_modules/axios/lib/platform/browser/classes/FormData.js
|
| 733 |
+
var FormData_default = typeof FormData !== "undefined" ? FormData : null;
|
| 734 |
+
|
| 735 |
+
// node_modules/axios/lib/platform/browser/classes/Blob.js
|
| 736 |
+
var Blob_default = typeof Blob !== "undefined" ? Blob : null;
|
| 737 |
+
|
| 738 |
+
// node_modules/axios/lib/platform/browser/index.js
|
| 739 |
+
var browser_default = {
|
| 740 |
+
isBrowser: true,
|
| 741 |
+
classes: {
|
| 742 |
+
URLSearchParams: URLSearchParams_default,
|
| 743 |
+
FormData: FormData_default,
|
| 744 |
+
Blob: Blob_default
|
| 745 |
+
},
|
| 746 |
+
protocols: ["http", "https", "file", "blob", "url", "data"]
|
| 747 |
+
};
|
| 748 |
+
|
| 749 |
+
// node_modules/axios/lib/platform/common/utils.js
|
| 750 |
+
var utils_exports = {};
|
| 751 |
+
__export(utils_exports, {
|
| 752 |
+
hasBrowserEnv: () => hasBrowserEnv,
|
| 753 |
+
hasStandardBrowserEnv: () => hasStandardBrowserEnv,
|
| 754 |
+
hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv,
|
| 755 |
+
navigator: () => _navigator,
|
| 756 |
+
origin: () => origin
|
| 757 |
+
});
|
| 758 |
+
var hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined";
|
| 759 |
+
var _navigator = typeof navigator === "object" && navigator || void 0;
|
| 760 |
+
var hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ["ReactNative", "NativeScript", "NS"].indexOf(_navigator.product) < 0);
|
| 761 |
+
var hasStandardBrowserWebWorkerEnv = (() => {
|
| 762 |
+
return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
|
| 763 |
+
self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
|
| 764 |
+
})();
|
| 765 |
+
var origin = hasBrowserEnv && window.location.href || "http://localhost";
|
| 766 |
+
|
| 767 |
+
// node_modules/axios/lib/platform/index.js
|
| 768 |
+
var platform_default = {
|
| 769 |
+
...utils_exports,
|
| 770 |
+
...browser_default
|
| 771 |
+
};
|
| 772 |
+
|
| 773 |
+
// node_modules/axios/lib/helpers/toURLEncodedForm.js
|
| 774 |
+
function toURLEncodedForm(data, options) {
|
| 775 |
+
return toFormData_default(data, new platform_default.classes.URLSearchParams(), {
|
| 776 |
+
visitor: function(value, key, path, helpers) {
|
| 777 |
+
if (platform_default.isNode && utils_default.isBuffer(value)) {
|
| 778 |
+
this.append(key, value.toString("base64"));
|
| 779 |
+
return false;
|
| 780 |
+
}
|
| 781 |
+
return helpers.defaultVisitor.apply(this, arguments);
|
| 782 |
+
},
|
| 783 |
+
...options
|
| 784 |
+
});
|
| 785 |
+
}
|
| 786 |
+
|
| 787 |
+
// node_modules/axios/lib/helpers/formDataToJSON.js
|
| 788 |
+
function parsePropPath(name) {
|
| 789 |
+
return utils_default.matchAll(/\w+|\[(\w*)]/g, name).map((match) => {
|
| 790 |
+
return match[0] === "[]" ? "" : match[1] || match[0];
|
| 791 |
+
});
|
| 792 |
+
}
|
| 793 |
+
function arrayToObject(arr) {
|
| 794 |
+
const obj = {};
|
| 795 |
+
const keys = Object.keys(arr);
|
| 796 |
+
let i;
|
| 797 |
+
const len = keys.length;
|
| 798 |
+
let key;
|
| 799 |
+
for (i = 0; i < len; i++) {
|
| 800 |
+
key = keys[i];
|
| 801 |
+
obj[key] = arr[key];
|
| 802 |
+
}
|
| 803 |
+
return obj;
|
| 804 |
+
}
|
| 805 |
+
function formDataToJSON(formData) {
|
| 806 |
+
function buildPath(path, value, target, index) {
|
| 807 |
+
let name = path[index++];
|
| 808 |
+
if (name === "__proto__") return true;
|
| 809 |
+
const isNumericKey = Number.isFinite(+name);
|
| 810 |
+
const isLast = index >= path.length;
|
| 811 |
+
name = !name && utils_default.isArray(target) ? target.length : name;
|
| 812 |
+
if (isLast) {
|
| 813 |
+
if (utils_default.hasOwnProp(target, name)) {
|
| 814 |
+
target[name] = [target[name], value];
|
| 815 |
+
} else {
|
| 816 |
+
target[name] = value;
|
| 817 |
+
}
|
| 818 |
+
return !isNumericKey;
|
| 819 |
+
}
|
| 820 |
+
if (!target[name] || !utils_default.isObject(target[name])) {
|
| 821 |
+
target[name] = [];
|
| 822 |
+
}
|
| 823 |
+
const result = buildPath(path, value, target[name], index);
|
| 824 |
+
if (result && utils_default.isArray(target[name])) {
|
| 825 |
+
target[name] = arrayToObject(target[name]);
|
| 826 |
+
}
|
| 827 |
+
return !isNumericKey;
|
| 828 |
+
}
|
| 829 |
+
if (utils_default.isFormData(formData) && utils_default.isFunction(formData.entries)) {
|
| 830 |
+
const obj = {};
|
| 831 |
+
utils_default.forEachEntry(formData, (name, value) => {
|
| 832 |
+
buildPath(parsePropPath(name), value, obj, 0);
|
| 833 |
+
});
|
| 834 |
+
return obj;
|
| 835 |
+
}
|
| 836 |
+
return null;
|
| 837 |
+
}
|
| 838 |
+
var formDataToJSON_default = formDataToJSON;
|
| 839 |
+
|
| 840 |
+
// node_modules/axios/lib/defaults/index.js
|
| 841 |
+
function stringifySafely(rawValue, parser, encoder) {
|
| 842 |
+
if (utils_default.isString(rawValue)) {
|
| 843 |
+
try {
|
| 844 |
+
(parser || JSON.parse)(rawValue);
|
| 845 |
+
return utils_default.trim(rawValue);
|
| 846 |
+
} catch (e) {
|
| 847 |
+
if (e.name !== "SyntaxError") {
|
| 848 |
+
throw e;
|
| 849 |
+
}
|
| 850 |
+
}
|
| 851 |
+
}
|
| 852 |
+
return (encoder || JSON.stringify)(rawValue);
|
| 853 |
+
}
|
| 854 |
+
var defaults = {
|
| 855 |
+
transitional: transitional_default,
|
| 856 |
+
adapter: ["xhr", "http", "fetch"],
|
| 857 |
+
transformRequest: [function transformRequest(data, headers) {
|
| 858 |
+
const contentType = headers.getContentType() || "";
|
| 859 |
+
const hasJSONContentType = contentType.indexOf("application/json") > -1;
|
| 860 |
+
const isObjectPayload = utils_default.isObject(data);
|
| 861 |
+
if (isObjectPayload && utils_default.isHTMLForm(data)) {
|
| 862 |
+
data = new FormData(data);
|
| 863 |
+
}
|
| 864 |
+
const isFormData2 = utils_default.isFormData(data);
|
| 865 |
+
if (isFormData2) {
|
| 866 |
+
return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data;
|
| 867 |
+
}
|
| 868 |
+
if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data) || utils_default.isReadableStream(data)) {
|
| 869 |
+
return data;
|
| 870 |
+
}
|
| 871 |
+
if (utils_default.isArrayBufferView(data)) {
|
| 872 |
+
return data.buffer;
|
| 873 |
+
}
|
| 874 |
+
if (utils_default.isURLSearchParams(data)) {
|
| 875 |
+
headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
|
| 876 |
+
return data.toString();
|
| 877 |
+
}
|
| 878 |
+
let isFileList2;
|
| 879 |
+
if (isObjectPayload) {
|
| 880 |
+
if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
|
| 881 |
+
return toURLEncodedForm(data, this.formSerializer).toString();
|
| 882 |
+
}
|
| 883 |
+
if ((isFileList2 = utils_default.isFileList(data)) || contentType.indexOf("multipart/form-data") > -1) {
|
| 884 |
+
const _FormData = this.env && this.env.FormData;
|
| 885 |
+
return toFormData_default(
|
| 886 |
+
isFileList2 ? { "files[]": data } : data,
|
| 887 |
+
_FormData && new _FormData(),
|
| 888 |
+
this.formSerializer
|
| 889 |
+
);
|
| 890 |
+
}
|
| 891 |
+
}
|
| 892 |
+
if (isObjectPayload || hasJSONContentType) {
|
| 893 |
+
headers.setContentType("application/json", false);
|
| 894 |
+
return stringifySafely(data);
|
| 895 |
+
}
|
| 896 |
+
return data;
|
| 897 |
+
}],
|
| 898 |
+
transformResponse: [function transformResponse(data) {
|
| 899 |
+
const transitional2 = this.transitional || defaults.transitional;
|
| 900 |
+
const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing;
|
| 901 |
+
const JSONRequested = this.responseType === "json";
|
| 902 |
+
if (utils_default.isResponse(data) || utils_default.isReadableStream(data)) {
|
| 903 |
+
return data;
|
| 904 |
+
}
|
| 905 |
+
if (data && utils_default.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
|
| 906 |
+
const silentJSONParsing = transitional2 && transitional2.silentJSONParsing;
|
| 907 |
+
const strictJSONParsing = !silentJSONParsing && JSONRequested;
|
| 908 |
+
try {
|
| 909 |
+
return JSON.parse(data, this.parseReviver);
|
| 910 |
+
} catch (e) {
|
| 911 |
+
if (strictJSONParsing) {
|
| 912 |
+
if (e.name === "SyntaxError") {
|
| 913 |
+
throw AxiosError_default.from(e, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response);
|
| 914 |
+
}
|
| 915 |
+
throw e;
|
| 916 |
+
}
|
| 917 |
+
}
|
| 918 |
+
}
|
| 919 |
+
return data;
|
| 920 |
+
}],
|
| 921 |
+
/**
|
| 922 |
+
* A timeout in milliseconds to abort a request. If set to 0 (default) a
|
| 923 |
+
* timeout is not created.
|
| 924 |
+
*/
|
| 925 |
+
timeout: 0,
|
| 926 |
+
xsrfCookieName: "XSRF-TOKEN",
|
| 927 |
+
xsrfHeaderName: "X-XSRF-TOKEN",
|
| 928 |
+
maxContentLength: -1,
|
| 929 |
+
maxBodyLength: -1,
|
| 930 |
+
env: {
|
| 931 |
+
FormData: platform_default.classes.FormData,
|
| 932 |
+
Blob: platform_default.classes.Blob
|
| 933 |
+
},
|
| 934 |
+
validateStatus: function validateStatus(status) {
|
| 935 |
+
return status >= 200 && status < 300;
|
| 936 |
+
},
|
| 937 |
+
headers: {
|
| 938 |
+
common: {
|
| 939 |
+
"Accept": "application/json, text/plain, */*",
|
| 940 |
+
"Content-Type": void 0
|
| 941 |
+
}
|
| 942 |
+
}
|
| 943 |
+
};
|
| 944 |
+
utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => {
|
| 945 |
+
defaults.headers[method] = {};
|
| 946 |
+
});
|
| 947 |
+
var defaults_default = defaults;
|
| 948 |
+
|
| 949 |
+
// node_modules/axios/lib/helpers/parseHeaders.js
|
| 950 |
+
var ignoreDuplicateOf = utils_default.toObjectSet([
|
| 951 |
+
"age",
|
| 952 |
+
"authorization",
|
| 953 |
+
"content-length",
|
| 954 |
+
"content-type",
|
| 955 |
+
"etag",
|
| 956 |
+
"expires",
|
| 957 |
+
"from",
|
| 958 |
+
"host",
|
| 959 |
+
"if-modified-since",
|
| 960 |
+
"if-unmodified-since",
|
| 961 |
+
"last-modified",
|
| 962 |
+
"location",
|
| 963 |
+
"max-forwards",
|
| 964 |
+
"proxy-authorization",
|
| 965 |
+
"referer",
|
| 966 |
+
"retry-after",
|
| 967 |
+
"user-agent"
|
| 968 |
+
]);
|
| 969 |
+
var parseHeaders_default = (rawHeaders) => {
|
| 970 |
+
const parsed = {};
|
| 971 |
+
let key;
|
| 972 |
+
let val;
|
| 973 |
+
let i;
|
| 974 |
+
rawHeaders && rawHeaders.split("\n").forEach(function parser(line) {
|
| 975 |
+
i = line.indexOf(":");
|
| 976 |
+
key = line.substring(0, i).trim().toLowerCase();
|
| 977 |
+
val = line.substring(i + 1).trim();
|
| 978 |
+
if (!key || parsed[key] && ignoreDuplicateOf[key]) {
|
| 979 |
+
return;
|
| 980 |
+
}
|
| 981 |
+
if (key === "set-cookie") {
|
| 982 |
+
if (parsed[key]) {
|
| 983 |
+
parsed[key].push(val);
|
| 984 |
+
} else {
|
| 985 |
+
parsed[key] = [val];
|
| 986 |
+
}
|
| 987 |
+
} else {
|
| 988 |
+
parsed[key] = parsed[key] ? parsed[key] + ", " + val : val;
|
| 989 |
+
}
|
| 990 |
+
});
|
| 991 |
+
return parsed;
|
| 992 |
+
};
|
| 993 |
+
|
| 994 |
+
// node_modules/axios/lib/core/AxiosHeaders.js
|
| 995 |
+
var $internals = Symbol("internals");
|
| 996 |
+
function normalizeHeader(header) {
|
| 997 |
+
return header && String(header).trim().toLowerCase();
|
| 998 |
+
}
|
| 999 |
+
function normalizeValue(value) {
|
| 1000 |
+
if (value === false || value == null) {
|
| 1001 |
+
return value;
|
| 1002 |
+
}
|
| 1003 |
+
return utils_default.isArray(value) ? value.map(normalizeValue) : String(value);
|
| 1004 |
+
}
|
| 1005 |
+
function parseTokens(str) {
|
| 1006 |
+
const tokens = /* @__PURE__ */ Object.create(null);
|
| 1007 |
+
const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
|
| 1008 |
+
let match;
|
| 1009 |
+
while (match = tokensRE.exec(str)) {
|
| 1010 |
+
tokens[match[1]] = match[2];
|
| 1011 |
+
}
|
| 1012 |
+
return tokens;
|
| 1013 |
+
}
|
| 1014 |
+
var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
|
| 1015 |
+
function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) {
|
| 1016 |
+
if (utils_default.isFunction(filter2)) {
|
| 1017 |
+
return filter2.call(this, value, header);
|
| 1018 |
+
}
|
| 1019 |
+
if (isHeaderNameFilter) {
|
| 1020 |
+
value = header;
|
| 1021 |
+
}
|
| 1022 |
+
if (!utils_default.isString(value)) return;
|
| 1023 |
+
if (utils_default.isString(filter2)) {
|
| 1024 |
+
return value.indexOf(filter2) !== -1;
|
| 1025 |
+
}
|
| 1026 |
+
if (utils_default.isRegExp(filter2)) {
|
| 1027 |
+
return filter2.test(value);
|
| 1028 |
+
}
|
| 1029 |
+
}
|
| 1030 |
+
function formatHeader(header) {
|
| 1031 |
+
return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
|
| 1032 |
+
return char.toUpperCase() + str;
|
| 1033 |
+
});
|
| 1034 |
+
}
|
| 1035 |
+
function buildAccessors(obj, header) {
|
| 1036 |
+
const accessorName = utils_default.toCamelCase(" " + header);
|
| 1037 |
+
["get", "set", "has"].forEach((methodName) => {
|
| 1038 |
+
Object.defineProperty(obj, methodName + accessorName, {
|
| 1039 |
+
value: function(arg1, arg2, arg3) {
|
| 1040 |
+
return this[methodName].call(this, header, arg1, arg2, arg3);
|
| 1041 |
+
},
|
| 1042 |
+
configurable: true
|
| 1043 |
+
});
|
| 1044 |
+
});
|
| 1045 |
+
}
|
| 1046 |
+
var AxiosHeaders = class {
|
| 1047 |
+
constructor(headers) {
|
| 1048 |
+
headers && this.set(headers);
|
| 1049 |
+
}
|
| 1050 |
+
set(header, valueOrRewrite, rewrite) {
|
| 1051 |
+
const self2 = this;
|
| 1052 |
+
function setHeader(_value, _header, _rewrite) {
|
| 1053 |
+
const lHeader = normalizeHeader(_header);
|
| 1054 |
+
if (!lHeader) {
|
| 1055 |
+
throw new Error("header name must be a non-empty string");
|
| 1056 |
+
}
|
| 1057 |
+
const key = utils_default.findKey(self2, lHeader);
|
| 1058 |
+
if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) {
|
| 1059 |
+
self2[key || _header] = normalizeValue(_value);
|
| 1060 |
+
}
|
| 1061 |
+
}
|
| 1062 |
+
const setHeaders = (headers, _rewrite) => utils_default.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
|
| 1063 |
+
if (utils_default.isPlainObject(header) || header instanceof this.constructor) {
|
| 1064 |
+
setHeaders(header, valueOrRewrite);
|
| 1065 |
+
} else if (utils_default.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
|
| 1066 |
+
setHeaders(parseHeaders_default(header), valueOrRewrite);
|
| 1067 |
+
} else if (utils_default.isObject(header) && utils_default.isIterable(header)) {
|
| 1068 |
+
let obj = {}, dest, key;
|
| 1069 |
+
for (const entry of header) {
|
| 1070 |
+
if (!utils_default.isArray(entry)) {
|
| 1071 |
+
throw TypeError("Object iterator must return a key-value pair");
|
| 1072 |
+
}
|
| 1073 |
+
obj[key = entry[0]] = (dest = obj[key]) ? utils_default.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1];
|
| 1074 |
+
}
|
| 1075 |
+
setHeaders(obj, valueOrRewrite);
|
| 1076 |
+
} else {
|
| 1077 |
+
header != null && setHeader(valueOrRewrite, header, rewrite);
|
| 1078 |
+
}
|
| 1079 |
+
return this;
|
| 1080 |
+
}
|
| 1081 |
+
get(header, parser) {
|
| 1082 |
+
header = normalizeHeader(header);
|
| 1083 |
+
if (header) {
|
| 1084 |
+
const key = utils_default.findKey(this, header);
|
| 1085 |
+
if (key) {
|
| 1086 |
+
const value = this[key];
|
| 1087 |
+
if (!parser) {
|
| 1088 |
+
return value;
|
| 1089 |
+
}
|
| 1090 |
+
if (parser === true) {
|
| 1091 |
+
return parseTokens(value);
|
| 1092 |
+
}
|
| 1093 |
+
if (utils_default.isFunction(parser)) {
|
| 1094 |
+
return parser.call(this, value, key);
|
| 1095 |
+
}
|
| 1096 |
+
if (utils_default.isRegExp(parser)) {
|
| 1097 |
+
return parser.exec(value);
|
| 1098 |
+
}
|
| 1099 |
+
throw new TypeError("parser must be boolean|regexp|function");
|
| 1100 |
+
}
|
| 1101 |
+
}
|
| 1102 |
+
}
|
| 1103 |
+
has(header, matcher) {
|
| 1104 |
+
header = normalizeHeader(header);
|
| 1105 |
+
if (header) {
|
| 1106 |
+
const key = utils_default.findKey(this, header);
|
| 1107 |
+
return !!(key && this[key] !== void 0 && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
|
| 1108 |
+
}
|
| 1109 |
+
return false;
|
| 1110 |
+
}
|
| 1111 |
+
delete(header, matcher) {
|
| 1112 |
+
const self2 = this;
|
| 1113 |
+
let deleted = false;
|
| 1114 |
+
function deleteHeader(_header) {
|
| 1115 |
+
_header = normalizeHeader(_header);
|
| 1116 |
+
if (_header) {
|
| 1117 |
+
const key = utils_default.findKey(self2, _header);
|
| 1118 |
+
if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) {
|
| 1119 |
+
delete self2[key];
|
| 1120 |
+
deleted = true;
|
| 1121 |
+
}
|
| 1122 |
+
}
|
| 1123 |
+
}
|
| 1124 |
+
if (utils_default.isArray(header)) {
|
| 1125 |
+
header.forEach(deleteHeader);
|
| 1126 |
+
} else {
|
| 1127 |
+
deleteHeader(header);
|
| 1128 |
+
}
|
| 1129 |
+
return deleted;
|
| 1130 |
+
}
|
| 1131 |
+
clear(matcher) {
|
| 1132 |
+
const keys = Object.keys(this);
|
| 1133 |
+
let i = keys.length;
|
| 1134 |
+
let deleted = false;
|
| 1135 |
+
while (i--) {
|
| 1136 |
+
const key = keys[i];
|
| 1137 |
+
if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
|
| 1138 |
+
delete this[key];
|
| 1139 |
+
deleted = true;
|
| 1140 |
+
}
|
| 1141 |
+
}
|
| 1142 |
+
return deleted;
|
| 1143 |
+
}
|
| 1144 |
+
normalize(format) {
|
| 1145 |
+
const self2 = this;
|
| 1146 |
+
const headers = {};
|
| 1147 |
+
utils_default.forEach(this, (value, header) => {
|
| 1148 |
+
const key = utils_default.findKey(headers, header);
|
| 1149 |
+
if (key) {
|
| 1150 |
+
self2[key] = normalizeValue(value);
|
| 1151 |
+
delete self2[header];
|
| 1152 |
+
return;
|
| 1153 |
+
}
|
| 1154 |
+
const normalized = format ? formatHeader(header) : String(header).trim();
|
| 1155 |
+
if (normalized !== header) {
|
| 1156 |
+
delete self2[header];
|
| 1157 |
+
}
|
| 1158 |
+
self2[normalized] = normalizeValue(value);
|
| 1159 |
+
headers[normalized] = true;
|
| 1160 |
+
});
|
| 1161 |
+
return this;
|
| 1162 |
+
}
|
| 1163 |
+
concat(...targets) {
|
| 1164 |
+
return this.constructor.concat(this, ...targets);
|
| 1165 |
+
}
|
| 1166 |
+
toJSON(asStrings) {
|
| 1167 |
+
const obj = /* @__PURE__ */ Object.create(null);
|
| 1168 |
+
utils_default.forEach(this, (value, header) => {
|
| 1169 |
+
value != null && value !== false && (obj[header] = asStrings && utils_default.isArray(value) ? value.join(", ") : value);
|
| 1170 |
+
});
|
| 1171 |
+
return obj;
|
| 1172 |
+
}
|
| 1173 |
+
[Symbol.iterator]() {
|
| 1174 |
+
return Object.entries(this.toJSON())[Symbol.iterator]();
|
| 1175 |
+
}
|
| 1176 |
+
toString() {
|
| 1177 |
+
return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n");
|
| 1178 |
+
}
|
| 1179 |
+
getSetCookie() {
|
| 1180 |
+
return this.get("set-cookie") || [];
|
| 1181 |
+
}
|
| 1182 |
+
get [Symbol.toStringTag]() {
|
| 1183 |
+
return "AxiosHeaders";
|
| 1184 |
+
}
|
| 1185 |
+
static from(thing) {
|
| 1186 |
+
return thing instanceof this ? thing : new this(thing);
|
| 1187 |
+
}
|
| 1188 |
+
static concat(first, ...targets) {
|
| 1189 |
+
const computed = new this(first);
|
| 1190 |
+
targets.forEach((target) => computed.set(target));
|
| 1191 |
+
return computed;
|
| 1192 |
+
}
|
| 1193 |
+
static accessor(header) {
|
| 1194 |
+
const internals = this[$internals] = this[$internals] = {
|
| 1195 |
+
accessors: {}
|
| 1196 |
+
};
|
| 1197 |
+
const accessors = internals.accessors;
|
| 1198 |
+
const prototype3 = this.prototype;
|
| 1199 |
+
function defineAccessor(_header) {
|
| 1200 |
+
const lHeader = normalizeHeader(_header);
|
| 1201 |
+
if (!accessors[lHeader]) {
|
| 1202 |
+
buildAccessors(prototype3, _header);
|
| 1203 |
+
accessors[lHeader] = true;
|
| 1204 |
+
}
|
| 1205 |
+
}
|
| 1206 |
+
utils_default.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
|
| 1207 |
+
return this;
|
| 1208 |
+
}
|
| 1209 |
+
};
|
| 1210 |
+
AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
|
| 1211 |
+
utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {
|
| 1212 |
+
let mapped = key[0].toUpperCase() + key.slice(1);
|
| 1213 |
+
return {
|
| 1214 |
+
get: () => value,
|
| 1215 |
+
set(headerValue) {
|
| 1216 |
+
this[mapped] = headerValue;
|
| 1217 |
+
}
|
| 1218 |
+
};
|
| 1219 |
+
});
|
| 1220 |
+
utils_default.freezeMethods(AxiosHeaders);
|
| 1221 |
+
var AxiosHeaders_default = AxiosHeaders;
|
| 1222 |
+
|
| 1223 |
+
// node_modules/axios/lib/core/transformData.js
|
| 1224 |
+
function transformData(fns, response) {
|
| 1225 |
+
const config = this || defaults_default;
|
| 1226 |
+
const context = response || config;
|
| 1227 |
+
const headers = AxiosHeaders_default.from(context.headers);
|
| 1228 |
+
let data = context.data;
|
| 1229 |
+
utils_default.forEach(fns, function transform(fn) {
|
| 1230 |
+
data = fn.call(config, data, headers.normalize(), response ? response.status : void 0);
|
| 1231 |
+
});
|
| 1232 |
+
headers.normalize();
|
| 1233 |
+
return data;
|
| 1234 |
+
}
|
| 1235 |
+
|
| 1236 |
+
// node_modules/axios/lib/cancel/isCancel.js
|
| 1237 |
+
function isCancel(value) {
|
| 1238 |
+
return !!(value && value.__CANCEL__);
|
| 1239 |
+
}
|
| 1240 |
+
|
| 1241 |
+
// node_modules/axios/lib/cancel/CanceledError.js
|
| 1242 |
+
function CanceledError(message, config, request) {
|
| 1243 |
+
AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config, request);
|
| 1244 |
+
this.name = "CanceledError";
|
| 1245 |
+
}
|
| 1246 |
+
utils_default.inherits(CanceledError, AxiosError_default, {
|
| 1247 |
+
__CANCEL__: true
|
| 1248 |
+
});
|
| 1249 |
+
var CanceledError_default = CanceledError;
|
| 1250 |
+
|
| 1251 |
+
// node_modules/axios/lib/core/settle.js
|
| 1252 |
+
function settle(resolve, reject, response) {
|
| 1253 |
+
const validateStatus2 = response.config.validateStatus;
|
| 1254 |
+
if (!response.status || !validateStatus2 || validateStatus2(response.status)) {
|
| 1255 |
+
resolve(response);
|
| 1256 |
+
} else {
|
| 1257 |
+
reject(new AxiosError_default(
|
| 1258 |
+
"Request failed with status code " + response.status,
|
| 1259 |
+
[AxiosError_default.ERR_BAD_REQUEST, AxiosError_default.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
|
| 1260 |
+
response.config,
|
| 1261 |
+
response.request,
|
| 1262 |
+
response
|
| 1263 |
+
));
|
| 1264 |
+
}
|
| 1265 |
+
}
|
| 1266 |
+
|
| 1267 |
+
// node_modules/axios/lib/helpers/parseProtocol.js
|
| 1268 |
+
function parseProtocol(url) {
|
| 1269 |
+
const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
|
| 1270 |
+
return match && match[1] || "";
|
| 1271 |
+
}
|
| 1272 |
+
|
| 1273 |
+
// node_modules/axios/lib/helpers/speedometer.js
|
| 1274 |
+
function speedometer(samplesCount, min) {
|
| 1275 |
+
samplesCount = samplesCount || 10;
|
| 1276 |
+
const bytes = new Array(samplesCount);
|
| 1277 |
+
const timestamps = new Array(samplesCount);
|
| 1278 |
+
let head = 0;
|
| 1279 |
+
let tail = 0;
|
| 1280 |
+
let firstSampleTS;
|
| 1281 |
+
min = min !== void 0 ? min : 1e3;
|
| 1282 |
+
return function push(chunkLength) {
|
| 1283 |
+
const now = Date.now();
|
| 1284 |
+
const startedAt = timestamps[tail];
|
| 1285 |
+
if (!firstSampleTS) {
|
| 1286 |
+
firstSampleTS = now;
|
| 1287 |
+
}
|
| 1288 |
+
bytes[head] = chunkLength;
|
| 1289 |
+
timestamps[head] = now;
|
| 1290 |
+
let i = tail;
|
| 1291 |
+
let bytesCount = 0;
|
| 1292 |
+
while (i !== head) {
|
| 1293 |
+
bytesCount += bytes[i++];
|
| 1294 |
+
i = i % samplesCount;
|
| 1295 |
+
}
|
| 1296 |
+
head = (head + 1) % samplesCount;
|
| 1297 |
+
if (head === tail) {
|
| 1298 |
+
tail = (tail + 1) % samplesCount;
|
| 1299 |
+
}
|
| 1300 |
+
if (now - firstSampleTS < min) {
|
| 1301 |
+
return;
|
| 1302 |
+
}
|
| 1303 |
+
const passed = startedAt && now - startedAt;
|
| 1304 |
+
return passed ? Math.round(bytesCount * 1e3 / passed) : void 0;
|
| 1305 |
+
};
|
| 1306 |
+
}
|
| 1307 |
+
var speedometer_default = speedometer;
|
| 1308 |
+
|
| 1309 |
+
// node_modules/axios/lib/helpers/throttle.js
|
| 1310 |
+
function throttle(fn, freq) {
|
| 1311 |
+
let timestamp = 0;
|
| 1312 |
+
let threshold = 1e3 / freq;
|
| 1313 |
+
let lastArgs;
|
| 1314 |
+
let timer;
|
| 1315 |
+
const invoke = (args, now = Date.now()) => {
|
| 1316 |
+
timestamp = now;
|
| 1317 |
+
lastArgs = null;
|
| 1318 |
+
if (timer) {
|
| 1319 |
+
clearTimeout(timer);
|
| 1320 |
+
timer = null;
|
| 1321 |
+
}
|
| 1322 |
+
fn(...args);
|
| 1323 |
+
};
|
| 1324 |
+
const throttled = (...args) => {
|
| 1325 |
+
const now = Date.now();
|
| 1326 |
+
const passed = now - timestamp;
|
| 1327 |
+
if (passed >= threshold) {
|
| 1328 |
+
invoke(args, now);
|
| 1329 |
+
} else {
|
| 1330 |
+
lastArgs = args;
|
| 1331 |
+
if (!timer) {
|
| 1332 |
+
timer = setTimeout(() => {
|
| 1333 |
+
timer = null;
|
| 1334 |
+
invoke(lastArgs);
|
| 1335 |
+
}, threshold - passed);
|
| 1336 |
+
}
|
| 1337 |
+
}
|
| 1338 |
+
};
|
| 1339 |
+
const flush = () => lastArgs && invoke(lastArgs);
|
| 1340 |
+
return [throttled, flush];
|
| 1341 |
+
}
|
| 1342 |
+
var throttle_default = throttle;
|
| 1343 |
+
|
| 1344 |
+
// node_modules/axios/lib/helpers/progressEventReducer.js
|
| 1345 |
+
var progressEventReducer = (listener, isDownloadStream, freq = 3) => {
|
| 1346 |
+
let bytesNotified = 0;
|
| 1347 |
+
const _speedometer = speedometer_default(50, 250);
|
| 1348 |
+
return throttle_default((e) => {
|
| 1349 |
+
const loaded = e.loaded;
|
| 1350 |
+
const total = e.lengthComputable ? e.total : void 0;
|
| 1351 |
+
const progressBytes = loaded - bytesNotified;
|
| 1352 |
+
const rate = _speedometer(progressBytes);
|
| 1353 |
+
const inRange = loaded <= total;
|
| 1354 |
+
bytesNotified = loaded;
|
| 1355 |
+
const data = {
|
| 1356 |
+
loaded,
|
| 1357 |
+
total,
|
| 1358 |
+
progress: total ? loaded / total : void 0,
|
| 1359 |
+
bytes: progressBytes,
|
| 1360 |
+
rate: rate ? rate : void 0,
|
| 1361 |
+
estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
|
| 1362 |
+
event: e,
|
| 1363 |
+
lengthComputable: total != null,
|
| 1364 |
+
[isDownloadStream ? "download" : "upload"]: true
|
| 1365 |
+
};
|
| 1366 |
+
listener(data);
|
| 1367 |
+
}, freq);
|
| 1368 |
+
};
|
| 1369 |
+
var progressEventDecorator = (total, throttled) => {
|
| 1370 |
+
const lengthComputable = total != null;
|
| 1371 |
+
return [(loaded) => throttled[0]({
|
| 1372 |
+
lengthComputable,
|
| 1373 |
+
total,
|
| 1374 |
+
loaded
|
| 1375 |
+
}), throttled[1]];
|
| 1376 |
+
};
|
| 1377 |
+
var asyncDecorator = (fn) => (...args) => utils_default.asap(() => fn(...args));
|
| 1378 |
+
|
| 1379 |
+
// node_modules/axios/lib/helpers/isURLSameOrigin.js
|
| 1380 |
+
var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin2, isMSIE) => (url) => {
|
| 1381 |
+
url = new URL(url, platform_default.origin);
|
| 1382 |
+
return origin2.protocol === url.protocol && origin2.host === url.host && (isMSIE || origin2.port === url.port);
|
| 1383 |
+
})(
|
| 1384 |
+
new URL(platform_default.origin),
|
| 1385 |
+
platform_default.navigator && /(msie|trident)/i.test(platform_default.navigator.userAgent)
|
| 1386 |
+
) : () => true;
|
| 1387 |
+
|
| 1388 |
+
// node_modules/axios/lib/helpers/cookies.js
|
| 1389 |
+
var cookies_default = platform_default.hasStandardBrowserEnv ? (
|
| 1390 |
+
// Standard browser envs support document.cookie
|
| 1391 |
+
{
|
| 1392 |
+
write(name, value, expires, path, domain, secure, sameSite) {
|
| 1393 |
+
if (typeof document === "undefined") return;
|
| 1394 |
+
const cookie = [`${name}=${encodeURIComponent(value)}`];
|
| 1395 |
+
if (utils_default.isNumber(expires)) {
|
| 1396 |
+
cookie.push(`expires=${new Date(expires).toUTCString()}`);
|
| 1397 |
+
}
|
| 1398 |
+
if (utils_default.isString(path)) {
|
| 1399 |
+
cookie.push(`path=${path}`);
|
| 1400 |
+
}
|
| 1401 |
+
if (utils_default.isString(domain)) {
|
| 1402 |
+
cookie.push(`domain=${domain}`);
|
| 1403 |
+
}
|
| 1404 |
+
if (secure === true) {
|
| 1405 |
+
cookie.push("secure");
|
| 1406 |
+
}
|
| 1407 |
+
if (utils_default.isString(sameSite)) {
|
| 1408 |
+
cookie.push(`SameSite=${sameSite}`);
|
| 1409 |
+
}
|
| 1410 |
+
document.cookie = cookie.join("; ");
|
| 1411 |
+
},
|
| 1412 |
+
read(name) {
|
| 1413 |
+
if (typeof document === "undefined") return null;
|
| 1414 |
+
const match = document.cookie.match(new RegExp("(?:^|; )" + name + "=([^;]*)"));
|
| 1415 |
+
return match ? decodeURIComponent(match[1]) : null;
|
| 1416 |
+
},
|
| 1417 |
+
remove(name) {
|
| 1418 |
+
this.write(name, "", Date.now() - 864e5, "/");
|
| 1419 |
+
}
|
| 1420 |
+
}
|
| 1421 |
+
) : (
|
| 1422 |
+
// Non-standard browser env (web workers, react-native) lack needed support.
|
| 1423 |
+
{
|
| 1424 |
+
write() {
|
| 1425 |
+
},
|
| 1426 |
+
read() {
|
| 1427 |
+
return null;
|
| 1428 |
+
},
|
| 1429 |
+
remove() {
|
| 1430 |
+
}
|
| 1431 |
+
}
|
| 1432 |
+
);
|
| 1433 |
+
|
| 1434 |
+
// node_modules/axios/lib/helpers/isAbsoluteURL.js
|
| 1435 |
+
function isAbsoluteURL(url) {
|
| 1436 |
+
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
|
| 1437 |
+
}
|
| 1438 |
+
|
| 1439 |
+
// node_modules/axios/lib/helpers/combineURLs.js
|
| 1440 |
+
function combineURLs(baseURL, relativeURL) {
|
| 1441 |
+
return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
|
| 1442 |
+
}
|
| 1443 |
+
|
| 1444 |
+
// node_modules/axios/lib/core/buildFullPath.js
|
| 1445 |
+
function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
|
| 1446 |
+
let isRelativeUrl = !isAbsoluteURL(requestedURL);
|
| 1447 |
+
if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
|
| 1448 |
+
return combineURLs(baseURL, requestedURL);
|
| 1449 |
+
}
|
| 1450 |
+
return requestedURL;
|
| 1451 |
+
}
|
| 1452 |
+
|
| 1453 |
+
// node_modules/axios/lib/core/mergeConfig.js
|
| 1454 |
+
var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing;
|
| 1455 |
+
function mergeConfig(config1, config2) {
|
| 1456 |
+
config2 = config2 || {};
|
| 1457 |
+
const config = {};
|
| 1458 |
+
function getMergedValue(target, source, prop, caseless) {
|
| 1459 |
+
if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) {
|
| 1460 |
+
return utils_default.merge.call({ caseless }, target, source);
|
| 1461 |
+
} else if (utils_default.isPlainObject(source)) {
|
| 1462 |
+
return utils_default.merge({}, source);
|
| 1463 |
+
} else if (utils_default.isArray(source)) {
|
| 1464 |
+
return source.slice();
|
| 1465 |
+
}
|
| 1466 |
+
return source;
|
| 1467 |
+
}
|
| 1468 |
+
function mergeDeepProperties(a, b, prop, caseless) {
|
| 1469 |
+
if (!utils_default.isUndefined(b)) {
|
| 1470 |
+
return getMergedValue(a, b, prop, caseless);
|
| 1471 |
+
} else if (!utils_default.isUndefined(a)) {
|
| 1472 |
+
return getMergedValue(void 0, a, prop, caseless);
|
| 1473 |
+
}
|
| 1474 |
+
}
|
| 1475 |
+
function valueFromConfig2(a, b) {
|
| 1476 |
+
if (!utils_default.isUndefined(b)) {
|
| 1477 |
+
return getMergedValue(void 0, b);
|
| 1478 |
+
}
|
| 1479 |
+
}
|
| 1480 |
+
function defaultToConfig2(a, b) {
|
| 1481 |
+
if (!utils_default.isUndefined(b)) {
|
| 1482 |
+
return getMergedValue(void 0, b);
|
| 1483 |
+
} else if (!utils_default.isUndefined(a)) {
|
| 1484 |
+
return getMergedValue(void 0, a);
|
| 1485 |
+
}
|
| 1486 |
+
}
|
| 1487 |
+
function mergeDirectKeys(a, b, prop) {
|
| 1488 |
+
if (prop in config2) {
|
| 1489 |
+
return getMergedValue(a, b);
|
| 1490 |
+
} else if (prop in config1) {
|
| 1491 |
+
return getMergedValue(void 0, a);
|
| 1492 |
+
}
|
| 1493 |
+
}
|
| 1494 |
+
const mergeMap = {
|
| 1495 |
+
url: valueFromConfig2,
|
| 1496 |
+
method: valueFromConfig2,
|
| 1497 |
+
data: valueFromConfig2,
|
| 1498 |
+
baseURL: defaultToConfig2,
|
| 1499 |
+
transformRequest: defaultToConfig2,
|
| 1500 |
+
transformResponse: defaultToConfig2,
|
| 1501 |
+
paramsSerializer: defaultToConfig2,
|
| 1502 |
+
timeout: defaultToConfig2,
|
| 1503 |
+
timeoutMessage: defaultToConfig2,
|
| 1504 |
+
withCredentials: defaultToConfig2,
|
| 1505 |
+
withXSRFToken: defaultToConfig2,
|
| 1506 |
+
adapter: defaultToConfig2,
|
| 1507 |
+
responseType: defaultToConfig2,
|
| 1508 |
+
xsrfCookieName: defaultToConfig2,
|
| 1509 |
+
xsrfHeaderName: defaultToConfig2,
|
| 1510 |
+
onUploadProgress: defaultToConfig2,
|
| 1511 |
+
onDownloadProgress: defaultToConfig2,
|
| 1512 |
+
decompress: defaultToConfig2,
|
| 1513 |
+
maxContentLength: defaultToConfig2,
|
| 1514 |
+
maxBodyLength: defaultToConfig2,
|
| 1515 |
+
beforeRedirect: defaultToConfig2,
|
| 1516 |
+
transport: defaultToConfig2,
|
| 1517 |
+
httpAgent: defaultToConfig2,
|
| 1518 |
+
httpsAgent: defaultToConfig2,
|
| 1519 |
+
cancelToken: defaultToConfig2,
|
| 1520 |
+
socketPath: defaultToConfig2,
|
| 1521 |
+
responseEncoding: defaultToConfig2,
|
| 1522 |
+
validateStatus: mergeDirectKeys,
|
| 1523 |
+
headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)
|
| 1524 |
+
};
|
| 1525 |
+
utils_default.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {
|
| 1526 |
+
const merge2 = mergeMap[prop] || mergeDeepProperties;
|
| 1527 |
+
const configValue = merge2(config1[prop], config2[prop], prop);
|
| 1528 |
+
utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue);
|
| 1529 |
+
});
|
| 1530 |
+
return config;
|
| 1531 |
+
}
|
| 1532 |
+
|
| 1533 |
+
// node_modules/axios/lib/helpers/resolveConfig.js
|
| 1534 |
+
var resolveConfig_default = (config) => {
|
| 1535 |
+
const newConfig = mergeConfig({}, config);
|
| 1536 |
+
let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;
|
| 1537 |
+
newConfig.headers = headers = AxiosHeaders_default.from(headers);
|
| 1538 |
+
newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);
|
| 1539 |
+
if (auth) {
|
| 1540 |
+
headers.set(
|
| 1541 |
+
"Authorization",
|
| 1542 |
+
"Basic " + btoa((auth.username || "") + ":" + (auth.password ? unescape(encodeURIComponent(auth.password)) : ""))
|
| 1543 |
+
);
|
| 1544 |
+
}
|
| 1545 |
+
if (utils_default.isFormData(data)) {
|
| 1546 |
+
if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) {
|
| 1547 |
+
headers.setContentType(void 0);
|
| 1548 |
+
} else if (utils_default.isFunction(data.getHeaders)) {
|
| 1549 |
+
const formHeaders = data.getHeaders();
|
| 1550 |
+
const allowedHeaders = ["content-type", "content-length"];
|
| 1551 |
+
Object.entries(formHeaders).forEach(([key, val]) => {
|
| 1552 |
+
if (allowedHeaders.includes(key.toLowerCase())) {
|
| 1553 |
+
headers.set(key, val);
|
| 1554 |
+
}
|
| 1555 |
+
});
|
| 1556 |
+
}
|
| 1557 |
+
}
|
| 1558 |
+
if (platform_default.hasStandardBrowserEnv) {
|
| 1559 |
+
withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
|
| 1560 |
+
if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(newConfig.url)) {
|
| 1561 |
+
const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies_default.read(xsrfCookieName);
|
| 1562 |
+
if (xsrfValue) {
|
| 1563 |
+
headers.set(xsrfHeaderName, xsrfValue);
|
| 1564 |
+
}
|
| 1565 |
+
}
|
| 1566 |
+
}
|
| 1567 |
+
return newConfig;
|
| 1568 |
+
};
|
| 1569 |
+
|
| 1570 |
+
// node_modules/axios/lib/adapters/xhr.js
|
| 1571 |
+
var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
|
| 1572 |
+
var xhr_default = isXHRAdapterSupported && function(config) {
|
| 1573 |
+
return new Promise(function dispatchXhrRequest(resolve, reject) {
|
| 1574 |
+
const _config = resolveConfig_default(config);
|
| 1575 |
+
let requestData = _config.data;
|
| 1576 |
+
const requestHeaders = AxiosHeaders_default.from(_config.headers).normalize();
|
| 1577 |
+
let { responseType, onUploadProgress, onDownloadProgress } = _config;
|
| 1578 |
+
let onCanceled;
|
| 1579 |
+
let uploadThrottled, downloadThrottled;
|
| 1580 |
+
let flushUpload, flushDownload;
|
| 1581 |
+
function done() {
|
| 1582 |
+
flushUpload && flushUpload();
|
| 1583 |
+
flushDownload && flushDownload();
|
| 1584 |
+
_config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);
|
| 1585 |
+
_config.signal && _config.signal.removeEventListener("abort", onCanceled);
|
| 1586 |
+
}
|
| 1587 |
+
let request = new XMLHttpRequest();
|
| 1588 |
+
request.open(_config.method.toUpperCase(), _config.url, true);
|
| 1589 |
+
request.timeout = _config.timeout;
|
| 1590 |
+
function onloadend() {
|
| 1591 |
+
if (!request) {
|
| 1592 |
+
return;
|
| 1593 |
+
}
|
| 1594 |
+
const responseHeaders = AxiosHeaders_default.from(
|
| 1595 |
+
"getAllResponseHeaders" in request && request.getAllResponseHeaders()
|
| 1596 |
+
);
|
| 1597 |
+
const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response;
|
| 1598 |
+
const response = {
|
| 1599 |
+
data: responseData,
|
| 1600 |
+
status: request.status,
|
| 1601 |
+
statusText: request.statusText,
|
| 1602 |
+
headers: responseHeaders,
|
| 1603 |
+
config,
|
| 1604 |
+
request
|
| 1605 |
+
};
|
| 1606 |
+
settle(function _resolve(value) {
|
| 1607 |
+
resolve(value);
|
| 1608 |
+
done();
|
| 1609 |
+
}, function _reject(err) {
|
| 1610 |
+
reject(err);
|
| 1611 |
+
done();
|
| 1612 |
+
}, response);
|
| 1613 |
+
request = null;
|
| 1614 |
+
}
|
| 1615 |
+
if ("onloadend" in request) {
|
| 1616 |
+
request.onloadend = onloadend;
|
| 1617 |
+
} else {
|
| 1618 |
+
request.onreadystatechange = function handleLoad() {
|
| 1619 |
+
if (!request || request.readyState !== 4) {
|
| 1620 |
+
return;
|
| 1621 |
+
}
|
| 1622 |
+
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) {
|
| 1623 |
+
return;
|
| 1624 |
+
}
|
| 1625 |
+
setTimeout(onloadend);
|
| 1626 |
+
};
|
| 1627 |
+
}
|
| 1628 |
+
request.onabort = function handleAbort() {
|
| 1629 |
+
if (!request) {
|
| 1630 |
+
return;
|
| 1631 |
+
}
|
| 1632 |
+
reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config, request));
|
| 1633 |
+
request = null;
|
| 1634 |
+
};
|
| 1635 |
+
request.onerror = function handleError(event) {
|
| 1636 |
+
const msg = event && event.message ? event.message : "Network Error";
|
| 1637 |
+
const err = new AxiosError_default(msg, AxiosError_default.ERR_NETWORK, config, request);
|
| 1638 |
+
err.event = event || null;
|
| 1639 |
+
reject(err);
|
| 1640 |
+
request = null;
|
| 1641 |
+
};
|
| 1642 |
+
request.ontimeout = function handleTimeout() {
|
| 1643 |
+
let timeoutErrorMessage = _config.timeout ? "timeout of " + _config.timeout + "ms exceeded" : "timeout exceeded";
|
| 1644 |
+
const transitional2 = _config.transitional || transitional_default;
|
| 1645 |
+
if (_config.timeoutErrorMessage) {
|
| 1646 |
+
timeoutErrorMessage = _config.timeoutErrorMessage;
|
| 1647 |
+
}
|
| 1648 |
+
reject(new AxiosError_default(
|
| 1649 |
+
timeoutErrorMessage,
|
| 1650 |
+
transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED,
|
| 1651 |
+
config,
|
| 1652 |
+
request
|
| 1653 |
+
));
|
| 1654 |
+
request = null;
|
| 1655 |
+
};
|
| 1656 |
+
requestData === void 0 && requestHeaders.setContentType(null);
|
| 1657 |
+
if ("setRequestHeader" in request) {
|
| 1658 |
+
utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
|
| 1659 |
+
request.setRequestHeader(key, val);
|
| 1660 |
+
});
|
| 1661 |
+
}
|
| 1662 |
+
if (!utils_default.isUndefined(_config.withCredentials)) {
|
| 1663 |
+
request.withCredentials = !!_config.withCredentials;
|
| 1664 |
+
}
|
| 1665 |
+
if (responseType && responseType !== "json") {
|
| 1666 |
+
request.responseType = _config.responseType;
|
| 1667 |
+
}
|
| 1668 |
+
if (onDownloadProgress) {
|
| 1669 |
+
[downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);
|
| 1670 |
+
request.addEventListener("progress", downloadThrottled);
|
| 1671 |
+
}
|
| 1672 |
+
if (onUploadProgress && request.upload) {
|
| 1673 |
+
[uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);
|
| 1674 |
+
request.upload.addEventListener("progress", uploadThrottled);
|
| 1675 |
+
request.upload.addEventListener("loadend", flushUpload);
|
| 1676 |
+
}
|
| 1677 |
+
if (_config.cancelToken || _config.signal) {
|
| 1678 |
+
onCanceled = (cancel) => {
|
| 1679 |
+
if (!request) {
|
| 1680 |
+
return;
|
| 1681 |
+
}
|
| 1682 |
+
reject(!cancel || cancel.type ? new CanceledError_default(null, config, request) : cancel);
|
| 1683 |
+
request.abort();
|
| 1684 |
+
request = null;
|
| 1685 |
+
};
|
| 1686 |
+
_config.cancelToken && _config.cancelToken.subscribe(onCanceled);
|
| 1687 |
+
if (_config.signal) {
|
| 1688 |
+
_config.signal.aborted ? onCanceled() : _config.signal.addEventListener("abort", onCanceled);
|
| 1689 |
+
}
|
| 1690 |
+
}
|
| 1691 |
+
const protocol = parseProtocol(_config.url);
|
| 1692 |
+
if (protocol && platform_default.protocols.indexOf(protocol) === -1) {
|
| 1693 |
+
reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config));
|
| 1694 |
+
return;
|
| 1695 |
+
}
|
| 1696 |
+
request.send(requestData || null);
|
| 1697 |
+
});
|
| 1698 |
+
};
|
| 1699 |
+
|
| 1700 |
+
// node_modules/axios/lib/helpers/composeSignals.js
|
| 1701 |
+
var composeSignals = (signals, timeout) => {
|
| 1702 |
+
const { length } = signals = signals ? signals.filter(Boolean) : [];
|
| 1703 |
+
if (timeout || length) {
|
| 1704 |
+
let controller = new AbortController();
|
| 1705 |
+
let aborted;
|
| 1706 |
+
const onabort = function(reason) {
|
| 1707 |
+
if (!aborted) {
|
| 1708 |
+
aborted = true;
|
| 1709 |
+
unsubscribe();
|
| 1710 |
+
const err = reason instanceof Error ? reason : this.reason;
|
| 1711 |
+
controller.abort(err instanceof AxiosError_default ? err : new CanceledError_default(err instanceof Error ? err.message : err));
|
| 1712 |
+
}
|
| 1713 |
+
};
|
| 1714 |
+
let timer = timeout && setTimeout(() => {
|
| 1715 |
+
timer = null;
|
| 1716 |
+
onabort(new AxiosError_default(`timeout ${timeout} of ms exceeded`, AxiosError_default.ETIMEDOUT));
|
| 1717 |
+
}, timeout);
|
| 1718 |
+
const unsubscribe = () => {
|
| 1719 |
+
if (signals) {
|
| 1720 |
+
timer && clearTimeout(timer);
|
| 1721 |
+
timer = null;
|
| 1722 |
+
signals.forEach((signal2) => {
|
| 1723 |
+
signal2.unsubscribe ? signal2.unsubscribe(onabort) : signal2.removeEventListener("abort", onabort);
|
| 1724 |
+
});
|
| 1725 |
+
signals = null;
|
| 1726 |
+
}
|
| 1727 |
+
};
|
| 1728 |
+
signals.forEach((signal2) => signal2.addEventListener("abort", onabort));
|
| 1729 |
+
const { signal } = controller;
|
| 1730 |
+
signal.unsubscribe = () => utils_default.asap(unsubscribe);
|
| 1731 |
+
return signal;
|
| 1732 |
+
}
|
| 1733 |
+
};
|
| 1734 |
+
var composeSignals_default = composeSignals;
|
| 1735 |
+
|
| 1736 |
+
// node_modules/axios/lib/helpers/trackStream.js
|
| 1737 |
+
var streamChunk = function* (chunk, chunkSize) {
|
| 1738 |
+
let len = chunk.byteLength;
|
| 1739 |
+
if (!chunkSize || len < chunkSize) {
|
| 1740 |
+
yield chunk;
|
| 1741 |
+
return;
|
| 1742 |
+
}
|
| 1743 |
+
let pos = 0;
|
| 1744 |
+
let end;
|
| 1745 |
+
while (pos < len) {
|
| 1746 |
+
end = pos + chunkSize;
|
| 1747 |
+
yield chunk.slice(pos, end);
|
| 1748 |
+
pos = end;
|
| 1749 |
+
}
|
| 1750 |
+
};
|
| 1751 |
+
var readBytes = async function* (iterable, chunkSize) {
|
| 1752 |
+
for await (const chunk of readStream(iterable)) {
|
| 1753 |
+
yield* streamChunk(chunk, chunkSize);
|
| 1754 |
+
}
|
| 1755 |
+
};
|
| 1756 |
+
var readStream = async function* (stream) {
|
| 1757 |
+
if (stream[Symbol.asyncIterator]) {
|
| 1758 |
+
yield* stream;
|
| 1759 |
+
return;
|
| 1760 |
+
}
|
| 1761 |
+
const reader = stream.getReader();
|
| 1762 |
+
try {
|
| 1763 |
+
for (; ; ) {
|
| 1764 |
+
const { done, value } = await reader.read();
|
| 1765 |
+
if (done) {
|
| 1766 |
+
break;
|
| 1767 |
+
}
|
| 1768 |
+
yield value;
|
| 1769 |
+
}
|
| 1770 |
+
} finally {
|
| 1771 |
+
await reader.cancel();
|
| 1772 |
+
}
|
| 1773 |
+
};
|
| 1774 |
+
var trackStream = (stream, chunkSize, onProgress, onFinish) => {
|
| 1775 |
+
const iterator2 = readBytes(stream, chunkSize);
|
| 1776 |
+
let bytes = 0;
|
| 1777 |
+
let done;
|
| 1778 |
+
let _onFinish = (e) => {
|
| 1779 |
+
if (!done) {
|
| 1780 |
+
done = true;
|
| 1781 |
+
onFinish && onFinish(e);
|
| 1782 |
+
}
|
| 1783 |
+
};
|
| 1784 |
+
return new ReadableStream({
|
| 1785 |
+
async pull(controller) {
|
| 1786 |
+
try {
|
| 1787 |
+
const { done: done2, value } = await iterator2.next();
|
| 1788 |
+
if (done2) {
|
| 1789 |
+
_onFinish();
|
| 1790 |
+
controller.close();
|
| 1791 |
+
return;
|
| 1792 |
+
}
|
| 1793 |
+
let len = value.byteLength;
|
| 1794 |
+
if (onProgress) {
|
| 1795 |
+
let loadedBytes = bytes += len;
|
| 1796 |
+
onProgress(loadedBytes);
|
| 1797 |
+
}
|
| 1798 |
+
controller.enqueue(new Uint8Array(value));
|
| 1799 |
+
} catch (err) {
|
| 1800 |
+
_onFinish(err);
|
| 1801 |
+
throw err;
|
| 1802 |
+
}
|
| 1803 |
+
},
|
| 1804 |
+
cancel(reason) {
|
| 1805 |
+
_onFinish(reason);
|
| 1806 |
+
return iterator2.return();
|
| 1807 |
+
}
|
| 1808 |
+
}, {
|
| 1809 |
+
highWaterMark: 2
|
| 1810 |
+
});
|
| 1811 |
+
};
|
| 1812 |
+
|
| 1813 |
+
// node_modules/axios/lib/adapters/fetch.js
|
| 1814 |
+
var DEFAULT_CHUNK_SIZE = 64 * 1024;
|
| 1815 |
+
var { isFunction: isFunction2 } = utils_default;
|
| 1816 |
+
var globalFetchAPI = (({ Request, Response }) => ({
|
| 1817 |
+
Request,
|
| 1818 |
+
Response
|
| 1819 |
+
}))(utils_default.global);
|
| 1820 |
+
var {
|
| 1821 |
+
ReadableStream: ReadableStream2,
|
| 1822 |
+
TextEncoder
|
| 1823 |
+
} = utils_default.global;
|
| 1824 |
+
var test = (fn, ...args) => {
|
| 1825 |
+
try {
|
| 1826 |
+
return !!fn(...args);
|
| 1827 |
+
} catch (e) {
|
| 1828 |
+
return false;
|
| 1829 |
+
}
|
| 1830 |
+
};
|
| 1831 |
+
var factory = (env) => {
|
| 1832 |
+
env = utils_default.merge.call({
|
| 1833 |
+
skipUndefined: true
|
| 1834 |
+
}, globalFetchAPI, env);
|
| 1835 |
+
const { fetch: envFetch, Request, Response } = env;
|
| 1836 |
+
const isFetchSupported = envFetch ? isFunction2(envFetch) : typeof fetch === "function";
|
| 1837 |
+
const isRequestSupported = isFunction2(Request);
|
| 1838 |
+
const isResponseSupported = isFunction2(Response);
|
| 1839 |
+
if (!isFetchSupported) {
|
| 1840 |
+
return false;
|
| 1841 |
+
}
|
| 1842 |
+
const isReadableStreamSupported = isFetchSupported && isFunction2(ReadableStream2);
|
| 1843 |
+
const encodeText = isFetchSupported && (typeof TextEncoder === "function" ? /* @__PURE__ */ ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));
|
| 1844 |
+
const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {
|
| 1845 |
+
let duplexAccessed = false;
|
| 1846 |
+
const hasContentType = new Request(platform_default.origin, {
|
| 1847 |
+
body: new ReadableStream2(),
|
| 1848 |
+
method: "POST",
|
| 1849 |
+
get duplex() {
|
| 1850 |
+
duplexAccessed = true;
|
| 1851 |
+
return "half";
|
| 1852 |
+
}
|
| 1853 |
+
}).headers.has("Content-Type");
|
| 1854 |
+
return duplexAccessed && !hasContentType;
|
| 1855 |
+
});
|
| 1856 |
+
const supportsResponseStream = isResponseSupported && isReadableStreamSupported && test(() => utils_default.isReadableStream(new Response("").body));
|
| 1857 |
+
const resolvers = {
|
| 1858 |
+
stream: supportsResponseStream && ((res) => res.body)
|
| 1859 |
+
};
|
| 1860 |
+
isFetchSupported && (() => {
|
| 1861 |
+
["text", "arrayBuffer", "blob", "formData", "stream"].forEach((type) => {
|
| 1862 |
+
!resolvers[type] && (resolvers[type] = (res, config) => {
|
| 1863 |
+
let method = res && res[type];
|
| 1864 |
+
if (method) {
|
| 1865 |
+
return method.call(res);
|
| 1866 |
+
}
|
| 1867 |
+
throw new AxiosError_default(`Response type '${type}' is not supported`, AxiosError_default.ERR_NOT_SUPPORT, config);
|
| 1868 |
+
});
|
| 1869 |
+
});
|
| 1870 |
+
})();
|
| 1871 |
+
const getBodyLength = async (body) => {
|
| 1872 |
+
if (body == null) {
|
| 1873 |
+
return 0;
|
| 1874 |
+
}
|
| 1875 |
+
if (utils_default.isBlob(body)) {
|
| 1876 |
+
return body.size;
|
| 1877 |
+
}
|
| 1878 |
+
if (utils_default.isSpecCompliantForm(body)) {
|
| 1879 |
+
const _request = new Request(platform_default.origin, {
|
| 1880 |
+
method: "POST",
|
| 1881 |
+
body
|
| 1882 |
+
});
|
| 1883 |
+
return (await _request.arrayBuffer()).byteLength;
|
| 1884 |
+
}
|
| 1885 |
+
if (utils_default.isArrayBufferView(body) || utils_default.isArrayBuffer(body)) {
|
| 1886 |
+
return body.byteLength;
|
| 1887 |
+
}
|
| 1888 |
+
if (utils_default.isURLSearchParams(body)) {
|
| 1889 |
+
body = body + "";
|
| 1890 |
+
}
|
| 1891 |
+
if (utils_default.isString(body)) {
|
| 1892 |
+
return (await encodeText(body)).byteLength;
|
| 1893 |
+
}
|
| 1894 |
+
};
|
| 1895 |
+
const resolveBodyLength = async (headers, body) => {
|
| 1896 |
+
const length = utils_default.toFiniteNumber(headers.getContentLength());
|
| 1897 |
+
return length == null ? getBodyLength(body) : length;
|
| 1898 |
+
};
|
| 1899 |
+
return async (config) => {
|
| 1900 |
+
let {
|
| 1901 |
+
url,
|
| 1902 |
+
method,
|
| 1903 |
+
data,
|
| 1904 |
+
signal,
|
| 1905 |
+
cancelToken,
|
| 1906 |
+
timeout,
|
| 1907 |
+
onDownloadProgress,
|
| 1908 |
+
onUploadProgress,
|
| 1909 |
+
responseType,
|
| 1910 |
+
headers,
|
| 1911 |
+
withCredentials = "same-origin",
|
| 1912 |
+
fetchOptions
|
| 1913 |
+
} = resolveConfig_default(config);
|
| 1914 |
+
let _fetch = envFetch || fetch;
|
| 1915 |
+
responseType = responseType ? (responseType + "").toLowerCase() : "text";
|
| 1916 |
+
let composedSignal = composeSignals_default([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
|
| 1917 |
+
let request = null;
|
| 1918 |
+
const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {
|
| 1919 |
+
composedSignal.unsubscribe();
|
| 1920 |
+
});
|
| 1921 |
+
let requestContentLength;
|
| 1922 |
+
try {
|
| 1923 |
+
if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) {
|
| 1924 |
+
let _request = new Request(url, {
|
| 1925 |
+
method: "POST",
|
| 1926 |
+
body: data,
|
| 1927 |
+
duplex: "half"
|
| 1928 |
+
});
|
| 1929 |
+
let contentTypeHeader;
|
| 1930 |
+
if (utils_default.isFormData(data) && (contentTypeHeader = _request.headers.get("content-type"))) {
|
| 1931 |
+
headers.setContentType(contentTypeHeader);
|
| 1932 |
+
}
|
| 1933 |
+
if (_request.body) {
|
| 1934 |
+
const [onProgress, flush] = progressEventDecorator(
|
| 1935 |
+
requestContentLength,
|
| 1936 |
+
progressEventReducer(asyncDecorator(onUploadProgress))
|
| 1937 |
+
);
|
| 1938 |
+
data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
|
| 1939 |
+
}
|
| 1940 |
+
}
|
| 1941 |
+
if (!utils_default.isString(withCredentials)) {
|
| 1942 |
+
withCredentials = withCredentials ? "include" : "omit";
|
| 1943 |
+
}
|
| 1944 |
+
const isCredentialsSupported = isRequestSupported && "credentials" in Request.prototype;
|
| 1945 |
+
const resolvedOptions = {
|
| 1946 |
+
...fetchOptions,
|
| 1947 |
+
signal: composedSignal,
|
| 1948 |
+
method: method.toUpperCase(),
|
| 1949 |
+
headers: headers.normalize().toJSON(),
|
| 1950 |
+
body: data,
|
| 1951 |
+
duplex: "half",
|
| 1952 |
+
credentials: isCredentialsSupported ? withCredentials : void 0
|
| 1953 |
+
};
|
| 1954 |
+
request = isRequestSupported && new Request(url, resolvedOptions);
|
| 1955 |
+
let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));
|
| 1956 |
+
const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response");
|
| 1957 |
+
if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) {
|
| 1958 |
+
const options = {};
|
| 1959 |
+
["status", "statusText", "headers"].forEach((prop) => {
|
| 1960 |
+
options[prop] = response[prop];
|
| 1961 |
+
});
|
| 1962 |
+
const responseContentLength = utils_default.toFiniteNumber(response.headers.get("content-length"));
|
| 1963 |
+
const [onProgress, flush] = onDownloadProgress && progressEventDecorator(
|
| 1964 |
+
responseContentLength,
|
| 1965 |
+
progressEventReducer(asyncDecorator(onDownloadProgress), true)
|
| 1966 |
+
) || [];
|
| 1967 |
+
response = new Response(
|
| 1968 |
+
trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
|
| 1969 |
+
flush && flush();
|
| 1970 |
+
unsubscribe && unsubscribe();
|
| 1971 |
+
}),
|
| 1972 |
+
options
|
| 1973 |
+
);
|
| 1974 |
+
}
|
| 1975 |
+
responseType = responseType || "text";
|
| 1976 |
+
let responseData = await resolvers[utils_default.findKey(resolvers, responseType) || "text"](response, config);
|
| 1977 |
+
!isStreamResponse && unsubscribe && unsubscribe();
|
| 1978 |
+
return await new Promise((resolve, reject) => {
|
| 1979 |
+
settle(resolve, reject, {
|
| 1980 |
+
data: responseData,
|
| 1981 |
+
headers: AxiosHeaders_default.from(response.headers),
|
| 1982 |
+
status: response.status,
|
| 1983 |
+
statusText: response.statusText,
|
| 1984 |
+
config,
|
| 1985 |
+
request
|
| 1986 |
+
});
|
| 1987 |
+
});
|
| 1988 |
+
} catch (err) {
|
| 1989 |
+
unsubscribe && unsubscribe();
|
| 1990 |
+
if (err && err.name === "TypeError" && /Load failed|fetch/i.test(err.message)) {
|
| 1991 |
+
throw Object.assign(
|
| 1992 |
+
new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config, request),
|
| 1993 |
+
{
|
| 1994 |
+
cause: err.cause || err
|
| 1995 |
+
}
|
| 1996 |
+
);
|
| 1997 |
+
}
|
| 1998 |
+
throw AxiosError_default.from(err, err && err.code, config, request);
|
| 1999 |
+
}
|
| 2000 |
+
};
|
| 2001 |
+
};
|
| 2002 |
+
var seedCache = /* @__PURE__ */ new Map();
|
| 2003 |
+
var getFetch = (config) => {
|
| 2004 |
+
let env = config && config.env || {};
|
| 2005 |
+
const { fetch: fetch2, Request, Response } = env;
|
| 2006 |
+
const seeds = [
|
| 2007 |
+
Request,
|
| 2008 |
+
Response,
|
| 2009 |
+
fetch2
|
| 2010 |
+
];
|
| 2011 |
+
let len = seeds.length, i = len, seed, target, map = seedCache;
|
| 2012 |
+
while (i--) {
|
| 2013 |
+
seed = seeds[i];
|
| 2014 |
+
target = map.get(seed);
|
| 2015 |
+
target === void 0 && map.set(seed, target = i ? /* @__PURE__ */ new Map() : factory(env));
|
| 2016 |
+
map = target;
|
| 2017 |
+
}
|
| 2018 |
+
return target;
|
| 2019 |
+
};
|
| 2020 |
+
var adapter = getFetch();
|
| 2021 |
+
|
| 2022 |
+
// node_modules/axios/lib/adapters/adapters.js
|
| 2023 |
+
var knownAdapters = {
|
| 2024 |
+
http: null_default,
|
| 2025 |
+
xhr: xhr_default,
|
| 2026 |
+
fetch: {
|
| 2027 |
+
get: getFetch
|
| 2028 |
+
}
|
| 2029 |
+
};
|
| 2030 |
+
utils_default.forEach(knownAdapters, (fn, value) => {
|
| 2031 |
+
if (fn) {
|
| 2032 |
+
try {
|
| 2033 |
+
Object.defineProperty(fn, "name", { value });
|
| 2034 |
+
} catch (e) {
|
| 2035 |
+
}
|
| 2036 |
+
Object.defineProperty(fn, "adapterName", { value });
|
| 2037 |
+
}
|
| 2038 |
+
});
|
| 2039 |
+
var renderReason = (reason) => `- ${reason}`;
|
| 2040 |
+
var isResolvedHandle = (adapter2) => utils_default.isFunction(adapter2) || adapter2 === null || adapter2 === false;
|
| 2041 |
+
function getAdapter(adapters, config) {
|
| 2042 |
+
adapters = utils_default.isArray(adapters) ? adapters : [adapters];
|
| 2043 |
+
const { length } = adapters;
|
| 2044 |
+
let nameOrAdapter;
|
| 2045 |
+
let adapter2;
|
| 2046 |
+
const rejectedReasons = {};
|
| 2047 |
+
for (let i = 0; i < length; i++) {
|
| 2048 |
+
nameOrAdapter = adapters[i];
|
| 2049 |
+
let id;
|
| 2050 |
+
adapter2 = nameOrAdapter;
|
| 2051 |
+
if (!isResolvedHandle(nameOrAdapter)) {
|
| 2052 |
+
adapter2 = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
|
| 2053 |
+
if (adapter2 === void 0) {
|
| 2054 |
+
throw new AxiosError_default(`Unknown adapter '${id}'`);
|
| 2055 |
+
}
|
| 2056 |
+
}
|
| 2057 |
+
if (adapter2 && (utils_default.isFunction(adapter2) || (adapter2 = adapter2.get(config)))) {
|
| 2058 |
+
break;
|
| 2059 |
+
}
|
| 2060 |
+
rejectedReasons[id || "#" + i] = adapter2;
|
| 2061 |
+
}
|
| 2062 |
+
if (!adapter2) {
|
| 2063 |
+
const reasons = Object.entries(rejectedReasons).map(
|
| 2064 |
+
([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
|
| 2065 |
+
);
|
| 2066 |
+
let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
|
| 2067 |
+
throw new AxiosError_default(
|
| 2068 |
+
`There is no suitable adapter to dispatch the request ` + s,
|
| 2069 |
+
"ERR_NOT_SUPPORT"
|
| 2070 |
+
);
|
| 2071 |
+
}
|
| 2072 |
+
return adapter2;
|
| 2073 |
+
}
|
| 2074 |
+
var adapters_default = {
|
| 2075 |
+
/**
|
| 2076 |
+
* Resolve an adapter from a list of adapter names or functions.
|
| 2077 |
+
* @type {Function}
|
| 2078 |
+
*/
|
| 2079 |
+
getAdapter,
|
| 2080 |
+
/**
|
| 2081 |
+
* Exposes all known adapters
|
| 2082 |
+
* @type {Object<string, Function|Object>}
|
| 2083 |
+
*/
|
| 2084 |
+
adapters: knownAdapters
|
| 2085 |
+
};
|
| 2086 |
+
|
| 2087 |
+
// node_modules/axios/lib/core/dispatchRequest.js
|
| 2088 |
+
function throwIfCancellationRequested(config) {
|
| 2089 |
+
if (config.cancelToken) {
|
| 2090 |
+
config.cancelToken.throwIfRequested();
|
| 2091 |
+
}
|
| 2092 |
+
if (config.signal && config.signal.aborted) {
|
| 2093 |
+
throw new CanceledError_default(null, config);
|
| 2094 |
+
}
|
| 2095 |
+
}
|
| 2096 |
+
function dispatchRequest(config) {
|
| 2097 |
+
throwIfCancellationRequested(config);
|
| 2098 |
+
config.headers = AxiosHeaders_default.from(config.headers);
|
| 2099 |
+
config.data = transformData.call(
|
| 2100 |
+
config,
|
| 2101 |
+
config.transformRequest
|
| 2102 |
+
);
|
| 2103 |
+
if (["post", "put", "patch"].indexOf(config.method) !== -1) {
|
| 2104 |
+
config.headers.setContentType("application/x-www-form-urlencoded", false);
|
| 2105 |
+
}
|
| 2106 |
+
const adapter2 = adapters_default.getAdapter(config.adapter || defaults_default.adapter, config);
|
| 2107 |
+
return adapter2(config).then(function onAdapterResolution(response) {
|
| 2108 |
+
throwIfCancellationRequested(config);
|
| 2109 |
+
response.data = transformData.call(
|
| 2110 |
+
config,
|
| 2111 |
+
config.transformResponse,
|
| 2112 |
+
response
|
| 2113 |
+
);
|
| 2114 |
+
response.headers = AxiosHeaders_default.from(response.headers);
|
| 2115 |
+
return response;
|
| 2116 |
+
}, function onAdapterRejection(reason) {
|
| 2117 |
+
if (!isCancel(reason)) {
|
| 2118 |
+
throwIfCancellationRequested(config);
|
| 2119 |
+
if (reason && reason.response) {
|
| 2120 |
+
reason.response.data = transformData.call(
|
| 2121 |
+
config,
|
| 2122 |
+
config.transformResponse,
|
| 2123 |
+
reason.response
|
| 2124 |
+
);
|
| 2125 |
+
reason.response.headers = AxiosHeaders_default.from(reason.response.headers);
|
| 2126 |
+
}
|
| 2127 |
+
}
|
| 2128 |
+
return Promise.reject(reason);
|
| 2129 |
+
});
|
| 2130 |
+
}
|
| 2131 |
+
|
| 2132 |
+
// node_modules/axios/lib/env/data.js
|
| 2133 |
+
var VERSION = "1.13.2";
|
| 2134 |
+
|
| 2135 |
+
// node_modules/axios/lib/helpers/validator.js
|
| 2136 |
+
var validators = {};
|
| 2137 |
+
["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
|
| 2138 |
+
validators[type] = function validator(thing) {
|
| 2139 |
+
return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
|
| 2140 |
+
};
|
| 2141 |
+
});
|
| 2142 |
+
var deprecatedWarnings = {};
|
| 2143 |
+
validators.transitional = function transitional(validator, version, message) {
|
| 2144 |
+
function formatMessage(opt, desc) {
|
| 2145 |
+
return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
|
| 2146 |
+
}
|
| 2147 |
+
return (value, opt, opts) => {
|
| 2148 |
+
if (validator === false) {
|
| 2149 |
+
throw new AxiosError_default(
|
| 2150 |
+
formatMessage(opt, " has been removed" + (version ? " in " + version : "")),
|
| 2151 |
+
AxiosError_default.ERR_DEPRECATED
|
| 2152 |
+
);
|
| 2153 |
+
}
|
| 2154 |
+
if (version && !deprecatedWarnings[opt]) {
|
| 2155 |
+
deprecatedWarnings[opt] = true;
|
| 2156 |
+
console.warn(
|
| 2157 |
+
formatMessage(
|
| 2158 |
+
opt,
|
| 2159 |
+
" has been deprecated since v" + version + " and will be removed in the near future"
|
| 2160 |
+
)
|
| 2161 |
+
);
|
| 2162 |
+
}
|
| 2163 |
+
return validator ? validator(value, opt, opts) : true;
|
| 2164 |
+
};
|
| 2165 |
+
};
|
| 2166 |
+
validators.spelling = function spelling(correctSpelling) {
|
| 2167 |
+
return (value, opt) => {
|
| 2168 |
+
console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
|
| 2169 |
+
return true;
|
| 2170 |
+
};
|
| 2171 |
+
};
|
| 2172 |
+
function assertOptions(options, schema, allowUnknown) {
|
| 2173 |
+
if (typeof options !== "object") {
|
| 2174 |
+
throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE);
|
| 2175 |
+
}
|
| 2176 |
+
const keys = Object.keys(options);
|
| 2177 |
+
let i = keys.length;
|
| 2178 |
+
while (i-- > 0) {
|
| 2179 |
+
const opt = keys[i];
|
| 2180 |
+
const validator = schema[opt];
|
| 2181 |
+
if (validator) {
|
| 2182 |
+
const value = options[opt];
|
| 2183 |
+
const result = value === void 0 || validator(value, opt, options);
|
| 2184 |
+
if (result !== true) {
|
| 2185 |
+
throw new AxiosError_default("option " + opt + " must be " + result, AxiosError_default.ERR_BAD_OPTION_VALUE);
|
| 2186 |
+
}
|
| 2187 |
+
continue;
|
| 2188 |
+
}
|
| 2189 |
+
if (allowUnknown !== true) {
|
| 2190 |
+
throw new AxiosError_default("Unknown option " + opt, AxiosError_default.ERR_BAD_OPTION);
|
| 2191 |
+
}
|
| 2192 |
+
}
|
| 2193 |
+
}
|
| 2194 |
+
var validator_default = {
|
| 2195 |
+
assertOptions,
|
| 2196 |
+
validators
|
| 2197 |
+
};
|
| 2198 |
+
|
| 2199 |
+
// node_modules/axios/lib/core/Axios.js
|
| 2200 |
+
var validators2 = validator_default.validators;
|
| 2201 |
+
var Axios = class {
|
| 2202 |
+
constructor(instanceConfig) {
|
| 2203 |
+
this.defaults = instanceConfig || {};
|
| 2204 |
+
this.interceptors = {
|
| 2205 |
+
request: new InterceptorManager_default(),
|
| 2206 |
+
response: new InterceptorManager_default()
|
| 2207 |
+
};
|
| 2208 |
+
}
|
| 2209 |
+
/**
|
| 2210 |
+
* Dispatch a request
|
| 2211 |
+
*
|
| 2212 |
+
* @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
|
| 2213 |
+
* @param {?Object} config
|
| 2214 |
+
*
|
| 2215 |
+
* @returns {Promise} The Promise to be fulfilled
|
| 2216 |
+
*/
|
| 2217 |
+
async request(configOrUrl, config) {
|
| 2218 |
+
try {
|
| 2219 |
+
return await this._request(configOrUrl, config);
|
| 2220 |
+
} catch (err) {
|
| 2221 |
+
if (err instanceof Error) {
|
| 2222 |
+
let dummy = {};
|
| 2223 |
+
Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
|
| 2224 |
+
const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : "";
|
| 2225 |
+
try {
|
| 2226 |
+
if (!err.stack) {
|
| 2227 |
+
err.stack = stack;
|
| 2228 |
+
} else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) {
|
| 2229 |
+
err.stack += "\n" + stack;
|
| 2230 |
+
}
|
| 2231 |
+
} catch (e) {
|
| 2232 |
+
}
|
| 2233 |
+
}
|
| 2234 |
+
throw err;
|
| 2235 |
+
}
|
| 2236 |
+
}
|
| 2237 |
+
_request(configOrUrl, config) {
|
| 2238 |
+
if (typeof configOrUrl === "string") {
|
| 2239 |
+
config = config || {};
|
| 2240 |
+
config.url = configOrUrl;
|
| 2241 |
+
} else {
|
| 2242 |
+
config = configOrUrl || {};
|
| 2243 |
+
}
|
| 2244 |
+
config = mergeConfig(this.defaults, config);
|
| 2245 |
+
const { transitional: transitional2, paramsSerializer, headers } = config;
|
| 2246 |
+
if (transitional2 !== void 0) {
|
| 2247 |
+
validator_default.assertOptions(transitional2, {
|
| 2248 |
+
silentJSONParsing: validators2.transitional(validators2.boolean),
|
| 2249 |
+
forcedJSONParsing: validators2.transitional(validators2.boolean),
|
| 2250 |
+
clarifyTimeoutError: validators2.transitional(validators2.boolean)
|
| 2251 |
+
}, false);
|
| 2252 |
+
}
|
| 2253 |
+
if (paramsSerializer != null) {
|
| 2254 |
+
if (utils_default.isFunction(paramsSerializer)) {
|
| 2255 |
+
config.paramsSerializer = {
|
| 2256 |
+
serialize: paramsSerializer
|
| 2257 |
+
};
|
| 2258 |
+
} else {
|
| 2259 |
+
validator_default.assertOptions(paramsSerializer, {
|
| 2260 |
+
encode: validators2.function,
|
| 2261 |
+
serialize: validators2.function
|
| 2262 |
+
}, true);
|
| 2263 |
+
}
|
| 2264 |
+
}
|
| 2265 |
+
if (config.allowAbsoluteUrls !== void 0) {
|
| 2266 |
+
} else if (this.defaults.allowAbsoluteUrls !== void 0) {
|
| 2267 |
+
config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;
|
| 2268 |
+
} else {
|
| 2269 |
+
config.allowAbsoluteUrls = true;
|
| 2270 |
+
}
|
| 2271 |
+
validator_default.assertOptions(config, {
|
| 2272 |
+
baseUrl: validators2.spelling("baseURL"),
|
| 2273 |
+
withXsrfToken: validators2.spelling("withXSRFToken")
|
| 2274 |
+
}, true);
|
| 2275 |
+
config.method = (config.method || this.defaults.method || "get").toLowerCase();
|
| 2276 |
+
let contextHeaders = headers && utils_default.merge(
|
| 2277 |
+
headers.common,
|
| 2278 |
+
headers[config.method]
|
| 2279 |
+
);
|
| 2280 |
+
headers && utils_default.forEach(
|
| 2281 |
+
["delete", "get", "head", "post", "put", "patch", "common"],
|
| 2282 |
+
(method) => {
|
| 2283 |
+
delete headers[method];
|
| 2284 |
+
}
|
| 2285 |
+
);
|
| 2286 |
+
config.headers = AxiosHeaders_default.concat(contextHeaders, headers);
|
| 2287 |
+
const requestInterceptorChain = [];
|
| 2288 |
+
let synchronousRequestInterceptors = true;
|
| 2289 |
+
this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
|
| 2290 |
+
if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) {
|
| 2291 |
+
return;
|
| 2292 |
+
}
|
| 2293 |
+
synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
|
| 2294 |
+
requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
|
| 2295 |
+
});
|
| 2296 |
+
const responseInterceptorChain = [];
|
| 2297 |
+
this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
|
| 2298 |
+
responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
|
| 2299 |
+
});
|
| 2300 |
+
let promise;
|
| 2301 |
+
let i = 0;
|
| 2302 |
+
let len;
|
| 2303 |
+
if (!synchronousRequestInterceptors) {
|
| 2304 |
+
const chain = [dispatchRequest.bind(this), void 0];
|
| 2305 |
+
chain.unshift(...requestInterceptorChain);
|
| 2306 |
+
chain.push(...responseInterceptorChain);
|
| 2307 |
+
len = chain.length;
|
| 2308 |
+
promise = Promise.resolve(config);
|
| 2309 |
+
while (i < len) {
|
| 2310 |
+
promise = promise.then(chain[i++], chain[i++]);
|
| 2311 |
+
}
|
| 2312 |
+
return promise;
|
| 2313 |
+
}
|
| 2314 |
+
len = requestInterceptorChain.length;
|
| 2315 |
+
let newConfig = config;
|
| 2316 |
+
while (i < len) {
|
| 2317 |
+
const onFulfilled = requestInterceptorChain[i++];
|
| 2318 |
+
const onRejected = requestInterceptorChain[i++];
|
| 2319 |
+
try {
|
| 2320 |
+
newConfig = onFulfilled(newConfig);
|
| 2321 |
+
} catch (error) {
|
| 2322 |
+
onRejected.call(this, error);
|
| 2323 |
+
break;
|
| 2324 |
+
}
|
| 2325 |
+
}
|
| 2326 |
+
try {
|
| 2327 |
+
promise = dispatchRequest.call(this, newConfig);
|
| 2328 |
+
} catch (error) {
|
| 2329 |
+
return Promise.reject(error);
|
| 2330 |
+
}
|
| 2331 |
+
i = 0;
|
| 2332 |
+
len = responseInterceptorChain.length;
|
| 2333 |
+
while (i < len) {
|
| 2334 |
+
promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
|
| 2335 |
+
}
|
| 2336 |
+
return promise;
|
| 2337 |
+
}
|
| 2338 |
+
getUri(config) {
|
| 2339 |
+
config = mergeConfig(this.defaults, config);
|
| 2340 |
+
const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
|
| 2341 |
+
return buildURL(fullPath, config.params, config.paramsSerializer);
|
| 2342 |
+
}
|
| 2343 |
+
};
|
| 2344 |
+
utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) {
|
| 2345 |
+
Axios.prototype[method] = function(url, config) {
|
| 2346 |
+
return this.request(mergeConfig(config || {}, {
|
| 2347 |
+
method,
|
| 2348 |
+
url,
|
| 2349 |
+
data: (config || {}).data
|
| 2350 |
+
}));
|
| 2351 |
+
};
|
| 2352 |
+
});
|
| 2353 |
+
utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
|
| 2354 |
+
function generateHTTPMethod(isForm) {
|
| 2355 |
+
return function httpMethod(url, data, config) {
|
| 2356 |
+
return this.request(mergeConfig(config || {}, {
|
| 2357 |
+
method,
|
| 2358 |
+
headers: isForm ? {
|
| 2359 |
+
"Content-Type": "multipart/form-data"
|
| 2360 |
+
} : {},
|
| 2361 |
+
url,
|
| 2362 |
+
data
|
| 2363 |
+
}));
|
| 2364 |
+
};
|
| 2365 |
+
}
|
| 2366 |
+
Axios.prototype[method] = generateHTTPMethod();
|
| 2367 |
+
Axios.prototype[method + "Form"] = generateHTTPMethod(true);
|
| 2368 |
+
});
|
| 2369 |
+
var Axios_default = Axios;
|
| 2370 |
+
|
| 2371 |
+
// node_modules/axios/lib/cancel/CancelToken.js
|
| 2372 |
+
var CancelToken = class _CancelToken {
|
| 2373 |
+
constructor(executor) {
|
| 2374 |
+
if (typeof executor !== "function") {
|
| 2375 |
+
throw new TypeError("executor must be a function.");
|
| 2376 |
+
}
|
| 2377 |
+
let resolvePromise;
|
| 2378 |
+
this.promise = new Promise(function promiseExecutor(resolve) {
|
| 2379 |
+
resolvePromise = resolve;
|
| 2380 |
+
});
|
| 2381 |
+
const token = this;
|
| 2382 |
+
this.promise.then((cancel) => {
|
| 2383 |
+
if (!token._listeners) return;
|
| 2384 |
+
let i = token._listeners.length;
|
| 2385 |
+
while (i-- > 0) {
|
| 2386 |
+
token._listeners[i](cancel);
|
| 2387 |
+
}
|
| 2388 |
+
token._listeners = null;
|
| 2389 |
+
});
|
| 2390 |
+
this.promise.then = (onfulfilled) => {
|
| 2391 |
+
let _resolve;
|
| 2392 |
+
const promise = new Promise((resolve) => {
|
| 2393 |
+
token.subscribe(resolve);
|
| 2394 |
+
_resolve = resolve;
|
| 2395 |
+
}).then(onfulfilled);
|
| 2396 |
+
promise.cancel = function reject() {
|
| 2397 |
+
token.unsubscribe(_resolve);
|
| 2398 |
+
};
|
| 2399 |
+
return promise;
|
| 2400 |
+
};
|
| 2401 |
+
executor(function cancel(message, config, request) {
|
| 2402 |
+
if (token.reason) {
|
| 2403 |
+
return;
|
| 2404 |
+
}
|
| 2405 |
+
token.reason = new CanceledError_default(message, config, request);
|
| 2406 |
+
resolvePromise(token.reason);
|
| 2407 |
+
});
|
| 2408 |
+
}
|
| 2409 |
+
/**
|
| 2410 |
+
* Throws a `CanceledError` if cancellation has been requested.
|
| 2411 |
+
*/
|
| 2412 |
+
throwIfRequested() {
|
| 2413 |
+
if (this.reason) {
|
| 2414 |
+
throw this.reason;
|
| 2415 |
+
}
|
| 2416 |
+
}
|
| 2417 |
+
/**
|
| 2418 |
+
* Subscribe to the cancel signal
|
| 2419 |
+
*/
|
| 2420 |
+
subscribe(listener) {
|
| 2421 |
+
if (this.reason) {
|
| 2422 |
+
listener(this.reason);
|
| 2423 |
+
return;
|
| 2424 |
+
}
|
| 2425 |
+
if (this._listeners) {
|
| 2426 |
+
this._listeners.push(listener);
|
| 2427 |
+
} else {
|
| 2428 |
+
this._listeners = [listener];
|
| 2429 |
+
}
|
| 2430 |
+
}
|
| 2431 |
+
/**
|
| 2432 |
+
* Unsubscribe from the cancel signal
|
| 2433 |
+
*/
|
| 2434 |
+
unsubscribe(listener) {
|
| 2435 |
+
if (!this._listeners) {
|
| 2436 |
+
return;
|
| 2437 |
+
}
|
| 2438 |
+
const index = this._listeners.indexOf(listener);
|
| 2439 |
+
if (index !== -1) {
|
| 2440 |
+
this._listeners.splice(index, 1);
|
| 2441 |
+
}
|
| 2442 |
+
}
|
| 2443 |
+
toAbortSignal() {
|
| 2444 |
+
const controller = new AbortController();
|
| 2445 |
+
const abort = (err) => {
|
| 2446 |
+
controller.abort(err);
|
| 2447 |
+
};
|
| 2448 |
+
this.subscribe(abort);
|
| 2449 |
+
controller.signal.unsubscribe = () => this.unsubscribe(abort);
|
| 2450 |
+
return controller.signal;
|
| 2451 |
+
}
|
| 2452 |
+
/**
|
| 2453 |
+
* Returns an object that contains a new `CancelToken` and a function that, when called,
|
| 2454 |
+
* cancels the `CancelToken`.
|
| 2455 |
+
*/
|
| 2456 |
+
static source() {
|
| 2457 |
+
let cancel;
|
| 2458 |
+
const token = new _CancelToken(function executor(c) {
|
| 2459 |
+
cancel = c;
|
| 2460 |
+
});
|
| 2461 |
+
return {
|
| 2462 |
+
token,
|
| 2463 |
+
cancel
|
| 2464 |
+
};
|
| 2465 |
+
}
|
| 2466 |
+
};
|
| 2467 |
+
var CancelToken_default = CancelToken;
|
| 2468 |
+
|
| 2469 |
+
// node_modules/axios/lib/helpers/spread.js
|
| 2470 |
+
function spread(callback) {
|
| 2471 |
+
return function wrap(arr) {
|
| 2472 |
+
return callback.apply(null, arr);
|
| 2473 |
+
};
|
| 2474 |
+
}
|
| 2475 |
+
|
| 2476 |
+
// node_modules/axios/lib/helpers/isAxiosError.js
|
| 2477 |
+
function isAxiosError(payload) {
|
| 2478 |
+
return utils_default.isObject(payload) && payload.isAxiosError === true;
|
| 2479 |
+
}
|
| 2480 |
+
|
| 2481 |
+
// node_modules/axios/lib/helpers/HttpStatusCode.js
|
| 2482 |
+
var HttpStatusCode = {
|
| 2483 |
+
Continue: 100,
|
| 2484 |
+
SwitchingProtocols: 101,
|
| 2485 |
+
Processing: 102,
|
| 2486 |
+
EarlyHints: 103,
|
| 2487 |
+
Ok: 200,
|
| 2488 |
+
Created: 201,
|
| 2489 |
+
Accepted: 202,
|
| 2490 |
+
NonAuthoritativeInformation: 203,
|
| 2491 |
+
NoContent: 204,
|
| 2492 |
+
ResetContent: 205,
|
| 2493 |
+
PartialContent: 206,
|
| 2494 |
+
MultiStatus: 207,
|
| 2495 |
+
AlreadyReported: 208,
|
| 2496 |
+
ImUsed: 226,
|
| 2497 |
+
MultipleChoices: 300,
|
| 2498 |
+
MovedPermanently: 301,
|
| 2499 |
+
Found: 302,
|
| 2500 |
+
SeeOther: 303,
|
| 2501 |
+
NotModified: 304,
|
| 2502 |
+
UseProxy: 305,
|
| 2503 |
+
Unused: 306,
|
| 2504 |
+
TemporaryRedirect: 307,
|
| 2505 |
+
PermanentRedirect: 308,
|
| 2506 |
+
BadRequest: 400,
|
| 2507 |
+
Unauthorized: 401,
|
| 2508 |
+
PaymentRequired: 402,
|
| 2509 |
+
Forbidden: 403,
|
| 2510 |
+
NotFound: 404,
|
| 2511 |
+
MethodNotAllowed: 405,
|
| 2512 |
+
NotAcceptable: 406,
|
| 2513 |
+
ProxyAuthenticationRequired: 407,
|
| 2514 |
+
RequestTimeout: 408,
|
| 2515 |
+
Conflict: 409,
|
| 2516 |
+
Gone: 410,
|
| 2517 |
+
LengthRequired: 411,
|
| 2518 |
+
PreconditionFailed: 412,
|
| 2519 |
+
PayloadTooLarge: 413,
|
| 2520 |
+
UriTooLong: 414,
|
| 2521 |
+
UnsupportedMediaType: 415,
|
| 2522 |
+
RangeNotSatisfiable: 416,
|
| 2523 |
+
ExpectationFailed: 417,
|
| 2524 |
+
ImATeapot: 418,
|
| 2525 |
+
MisdirectedRequest: 421,
|
| 2526 |
+
UnprocessableEntity: 422,
|
| 2527 |
+
Locked: 423,
|
| 2528 |
+
FailedDependency: 424,
|
| 2529 |
+
TooEarly: 425,
|
| 2530 |
+
UpgradeRequired: 426,
|
| 2531 |
+
PreconditionRequired: 428,
|
| 2532 |
+
TooManyRequests: 429,
|
| 2533 |
+
RequestHeaderFieldsTooLarge: 431,
|
| 2534 |
+
UnavailableForLegalReasons: 451,
|
| 2535 |
+
InternalServerError: 500,
|
| 2536 |
+
NotImplemented: 501,
|
| 2537 |
+
BadGateway: 502,
|
| 2538 |
+
ServiceUnavailable: 503,
|
| 2539 |
+
GatewayTimeout: 504,
|
| 2540 |
+
HttpVersionNotSupported: 505,
|
| 2541 |
+
VariantAlsoNegotiates: 506,
|
| 2542 |
+
InsufficientStorage: 507,
|
| 2543 |
+
LoopDetected: 508,
|
| 2544 |
+
NotExtended: 510,
|
| 2545 |
+
NetworkAuthenticationRequired: 511,
|
| 2546 |
+
WebServerIsDown: 521,
|
| 2547 |
+
ConnectionTimedOut: 522,
|
| 2548 |
+
OriginIsUnreachable: 523,
|
| 2549 |
+
TimeoutOccurred: 524,
|
| 2550 |
+
SslHandshakeFailed: 525,
|
| 2551 |
+
InvalidSslCertificate: 526
|
| 2552 |
+
};
|
| 2553 |
+
Object.entries(HttpStatusCode).forEach(([key, value]) => {
|
| 2554 |
+
HttpStatusCode[value] = key;
|
| 2555 |
+
});
|
| 2556 |
+
var HttpStatusCode_default = HttpStatusCode;
|
| 2557 |
+
|
| 2558 |
+
// node_modules/axios/lib/axios.js
|
| 2559 |
+
function createInstance(defaultConfig) {
|
| 2560 |
+
const context = new Axios_default(defaultConfig);
|
| 2561 |
+
const instance = bind(Axios_default.prototype.request, context);
|
| 2562 |
+
utils_default.extend(instance, Axios_default.prototype, context, { allOwnKeys: true });
|
| 2563 |
+
utils_default.extend(instance, context, null, { allOwnKeys: true });
|
| 2564 |
+
instance.create = function create(instanceConfig) {
|
| 2565 |
+
return createInstance(mergeConfig(defaultConfig, instanceConfig));
|
| 2566 |
+
};
|
| 2567 |
+
return instance;
|
| 2568 |
+
}
|
| 2569 |
+
var axios = createInstance(defaults_default);
|
| 2570 |
+
axios.Axios = Axios_default;
|
| 2571 |
+
axios.CanceledError = CanceledError_default;
|
| 2572 |
+
axios.CancelToken = CancelToken_default;
|
| 2573 |
+
axios.isCancel = isCancel;
|
| 2574 |
+
axios.VERSION = VERSION;
|
| 2575 |
+
axios.toFormData = toFormData_default;
|
| 2576 |
+
axios.AxiosError = AxiosError_default;
|
| 2577 |
+
axios.Cancel = axios.CanceledError;
|
| 2578 |
+
axios.all = function all(promises) {
|
| 2579 |
+
return Promise.all(promises);
|
| 2580 |
+
};
|
| 2581 |
+
axios.spread = spread;
|
| 2582 |
+
axios.isAxiosError = isAxiosError;
|
| 2583 |
+
axios.mergeConfig = mergeConfig;
|
| 2584 |
+
axios.AxiosHeaders = AxiosHeaders_default;
|
| 2585 |
+
axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing);
|
| 2586 |
+
axios.getAdapter = adapters_default.getAdapter;
|
| 2587 |
+
axios.HttpStatusCode = HttpStatusCode_default;
|
| 2588 |
+
axios.default = axios;
|
| 2589 |
+
var axios_default = axios;
|
| 2590 |
+
|
| 2591 |
+
// node_modules/axios/index.js
|
| 2592 |
+
var {
|
| 2593 |
+
Axios: Axios2,
|
| 2594 |
+
AxiosError: AxiosError2,
|
| 2595 |
+
CanceledError: CanceledError2,
|
| 2596 |
+
isCancel: isCancel2,
|
| 2597 |
+
CancelToken: CancelToken2,
|
| 2598 |
+
VERSION: VERSION2,
|
| 2599 |
+
all: all2,
|
| 2600 |
+
Cancel,
|
| 2601 |
+
isAxiosError: isAxiosError2,
|
| 2602 |
+
spread: spread2,
|
| 2603 |
+
toFormData: toFormData2,
|
| 2604 |
+
AxiosHeaders: AxiosHeaders2,
|
| 2605 |
+
HttpStatusCode: HttpStatusCode2,
|
| 2606 |
+
formToJSON,
|
| 2607 |
+
getAdapter: getAdapter2,
|
| 2608 |
+
mergeConfig: mergeConfig2
|
| 2609 |
+
} = axios_default;
|
| 2610 |
+
export {
|
| 2611 |
+
Axios2 as Axios,
|
| 2612 |
+
AxiosError2 as AxiosError,
|
| 2613 |
+
AxiosHeaders2 as AxiosHeaders,
|
| 2614 |
+
Cancel,
|
| 2615 |
+
CancelToken2 as CancelToken,
|
| 2616 |
+
CanceledError2 as CanceledError,
|
| 2617 |
+
HttpStatusCode2 as HttpStatusCode,
|
| 2618 |
+
VERSION2 as VERSION,
|
| 2619 |
+
all2 as all,
|
| 2620 |
+
axios_default as default,
|
| 2621 |
+
formToJSON,
|
| 2622 |
+
getAdapter2 as getAdapter,
|
| 2623 |
+
isAxiosError2 as isAxiosError,
|
| 2624 |
+
isCancel2 as isCancel,
|
| 2625 |
+
mergeConfig2 as mergeConfig,
|
| 2626 |
+
spread2 as spread,
|
| 2627 |
+
toFormData2 as toFormData
|
| 2628 |
+
};
|
| 2629 |
+
//# sourceMappingURL=axios.js.map
|
my-vue-app/node_modules/.vite/deps/axios.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
my-vue-app/node_modules/.vite/deps/chunk-PZ5AY32C.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
var __defProp = Object.defineProperty;
|
| 2 |
+
var __export = (target, all) => {
|
| 3 |
+
for (var name in all)
|
| 4 |
+
__defProp(target, name, { get: all[name], enumerable: true });
|
| 5 |
+
};
|
| 6 |
+
|
| 7 |
+
export {
|
| 8 |
+
__export
|
| 9 |
+
};
|
| 10 |
+
//# sourceMappingURL=chunk-PZ5AY32C.js.map
|
my-vue-app/node_modules/.vite/deps/chunk-PZ5AY32C.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"version": 3,
|
| 3 |
+
"sources": [],
|
| 4 |
+
"sourcesContent": [],
|
| 5 |
+
"mappings": "",
|
| 6 |
+
"names": []
|
| 7 |
+
}
|
my-vue-app/node_modules/.vite/deps/package.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"type": "module"
|
| 3 |
+
}
|
my-vue-app/node_modules/.vite/deps/vue.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
my-vue-app/node_modules/.vite/deps/vue.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
my-vue-app/node_modules/@babel/helper-string-parser/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
| 6 |
+
a copy of this software and associated documentation files (the
|
| 7 |
+
"Software"), to deal in the Software without restriction, including
|
| 8 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
| 9 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
| 10 |
+
permit persons to whom the Software is furnished to do so, subject to
|
| 11 |
+
the following conditions:
|
| 12 |
+
|
| 13 |
+
The above copyright notice and this permission notice shall be
|
| 14 |
+
included in all copies or substantial portions of the Software.
|
| 15 |
+
|
| 16 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 17 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| 18 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 19 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
| 20 |
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
| 21 |
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
| 22 |
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
my-vue-app/node_modules/@babel/helper-string-parser/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# @babel/helper-string-parser
|
| 2 |
+
|
| 3 |
+
> A utility package to parse strings
|
| 4 |
+
|
| 5 |
+
See our website [@babel/helper-string-parser](https://babeljs.io/docs/babel-helper-string-parser) for more information.
|
| 6 |
+
|
| 7 |
+
## Install
|
| 8 |
+
|
| 9 |
+
Using npm:
|
| 10 |
+
|
| 11 |
+
```sh
|
| 12 |
+
npm install --save @babel/helper-string-parser
|
| 13 |
+
```
|
| 14 |
+
|
| 15 |
+
or using yarn:
|
| 16 |
+
|
| 17 |
+
```sh
|
| 18 |
+
yarn add @babel/helper-string-parser
|
| 19 |
+
```
|
my-vue-app/node_modules/@babel/helper-string-parser/lib/index.js
ADDED
|
@@ -0,0 +1,295 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
|
| 3 |
+
Object.defineProperty(exports, "__esModule", {
|
| 4 |
+
value: true
|
| 5 |
+
});
|
| 6 |
+
exports.readCodePoint = readCodePoint;
|
| 7 |
+
exports.readInt = readInt;
|
| 8 |
+
exports.readStringContents = readStringContents;
|
| 9 |
+
var _isDigit = function isDigit(code) {
|
| 10 |
+
return code >= 48 && code <= 57;
|
| 11 |
+
};
|
| 12 |
+
const forbiddenNumericSeparatorSiblings = {
|
| 13 |
+
decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),
|
| 14 |
+
hex: new Set([46, 88, 95, 120])
|
| 15 |
+
};
|
| 16 |
+
const isAllowedNumericSeparatorSibling = {
|
| 17 |
+
bin: ch => ch === 48 || ch === 49,
|
| 18 |
+
oct: ch => ch >= 48 && ch <= 55,
|
| 19 |
+
dec: ch => ch >= 48 && ch <= 57,
|
| 20 |
+
hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102
|
| 21 |
+
};
|
| 22 |
+
function readStringContents(type, input, pos, lineStart, curLine, errors) {
|
| 23 |
+
const initialPos = pos;
|
| 24 |
+
const initialLineStart = lineStart;
|
| 25 |
+
const initialCurLine = curLine;
|
| 26 |
+
let out = "";
|
| 27 |
+
let firstInvalidLoc = null;
|
| 28 |
+
let chunkStart = pos;
|
| 29 |
+
const {
|
| 30 |
+
length
|
| 31 |
+
} = input;
|
| 32 |
+
for (;;) {
|
| 33 |
+
if (pos >= length) {
|
| 34 |
+
errors.unterminated(initialPos, initialLineStart, initialCurLine);
|
| 35 |
+
out += input.slice(chunkStart, pos);
|
| 36 |
+
break;
|
| 37 |
+
}
|
| 38 |
+
const ch = input.charCodeAt(pos);
|
| 39 |
+
if (isStringEnd(type, ch, input, pos)) {
|
| 40 |
+
out += input.slice(chunkStart, pos);
|
| 41 |
+
break;
|
| 42 |
+
}
|
| 43 |
+
if (ch === 92) {
|
| 44 |
+
out += input.slice(chunkStart, pos);
|
| 45 |
+
const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors);
|
| 46 |
+
if (res.ch === null && !firstInvalidLoc) {
|
| 47 |
+
firstInvalidLoc = {
|
| 48 |
+
pos,
|
| 49 |
+
lineStart,
|
| 50 |
+
curLine
|
| 51 |
+
};
|
| 52 |
+
} else {
|
| 53 |
+
out += res.ch;
|
| 54 |
+
}
|
| 55 |
+
({
|
| 56 |
+
pos,
|
| 57 |
+
lineStart,
|
| 58 |
+
curLine
|
| 59 |
+
} = res);
|
| 60 |
+
chunkStart = pos;
|
| 61 |
+
} else if (ch === 8232 || ch === 8233) {
|
| 62 |
+
++pos;
|
| 63 |
+
++curLine;
|
| 64 |
+
lineStart = pos;
|
| 65 |
+
} else if (ch === 10 || ch === 13) {
|
| 66 |
+
if (type === "template") {
|
| 67 |
+
out += input.slice(chunkStart, pos) + "\n";
|
| 68 |
+
++pos;
|
| 69 |
+
if (ch === 13 && input.charCodeAt(pos) === 10) {
|
| 70 |
+
++pos;
|
| 71 |
+
}
|
| 72 |
+
++curLine;
|
| 73 |
+
chunkStart = lineStart = pos;
|
| 74 |
+
} else {
|
| 75 |
+
errors.unterminated(initialPos, initialLineStart, initialCurLine);
|
| 76 |
+
}
|
| 77 |
+
} else {
|
| 78 |
+
++pos;
|
| 79 |
+
}
|
| 80 |
+
}
|
| 81 |
+
return {
|
| 82 |
+
pos,
|
| 83 |
+
str: out,
|
| 84 |
+
firstInvalidLoc,
|
| 85 |
+
lineStart,
|
| 86 |
+
curLine,
|
| 87 |
+
containsInvalid: !!firstInvalidLoc
|
| 88 |
+
};
|
| 89 |
+
}
|
| 90 |
+
function isStringEnd(type, ch, input, pos) {
|
| 91 |
+
if (type === "template") {
|
| 92 |
+
return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;
|
| 93 |
+
}
|
| 94 |
+
return ch === (type === "double" ? 34 : 39);
|
| 95 |
+
}
|
| 96 |
+
function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {
|
| 97 |
+
const throwOnInvalid = !inTemplate;
|
| 98 |
+
pos++;
|
| 99 |
+
const res = ch => ({
|
| 100 |
+
pos,
|
| 101 |
+
ch,
|
| 102 |
+
lineStart,
|
| 103 |
+
curLine
|
| 104 |
+
});
|
| 105 |
+
const ch = input.charCodeAt(pos++);
|
| 106 |
+
switch (ch) {
|
| 107 |
+
case 110:
|
| 108 |
+
return res("\n");
|
| 109 |
+
case 114:
|
| 110 |
+
return res("\r");
|
| 111 |
+
case 120:
|
| 112 |
+
{
|
| 113 |
+
let code;
|
| 114 |
+
({
|
| 115 |
+
code,
|
| 116 |
+
pos
|
| 117 |
+
} = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors));
|
| 118 |
+
return res(code === null ? null : String.fromCharCode(code));
|
| 119 |
+
}
|
| 120 |
+
case 117:
|
| 121 |
+
{
|
| 122 |
+
let code;
|
| 123 |
+
({
|
| 124 |
+
code,
|
| 125 |
+
pos
|
| 126 |
+
} = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors));
|
| 127 |
+
return res(code === null ? null : String.fromCodePoint(code));
|
| 128 |
+
}
|
| 129 |
+
case 116:
|
| 130 |
+
return res("\t");
|
| 131 |
+
case 98:
|
| 132 |
+
return res("\b");
|
| 133 |
+
case 118:
|
| 134 |
+
return res("\u000b");
|
| 135 |
+
case 102:
|
| 136 |
+
return res("\f");
|
| 137 |
+
case 13:
|
| 138 |
+
if (input.charCodeAt(pos) === 10) {
|
| 139 |
+
++pos;
|
| 140 |
+
}
|
| 141 |
+
case 10:
|
| 142 |
+
lineStart = pos;
|
| 143 |
+
++curLine;
|
| 144 |
+
case 8232:
|
| 145 |
+
case 8233:
|
| 146 |
+
return res("");
|
| 147 |
+
case 56:
|
| 148 |
+
case 57:
|
| 149 |
+
if (inTemplate) {
|
| 150 |
+
return res(null);
|
| 151 |
+
} else {
|
| 152 |
+
errors.strictNumericEscape(pos - 1, lineStart, curLine);
|
| 153 |
+
}
|
| 154 |
+
default:
|
| 155 |
+
if (ch >= 48 && ch <= 55) {
|
| 156 |
+
const startPos = pos - 1;
|
| 157 |
+
const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));
|
| 158 |
+
let octalStr = match[0];
|
| 159 |
+
let octal = parseInt(octalStr, 8);
|
| 160 |
+
if (octal > 255) {
|
| 161 |
+
octalStr = octalStr.slice(0, -1);
|
| 162 |
+
octal = parseInt(octalStr, 8);
|
| 163 |
+
}
|
| 164 |
+
pos += octalStr.length - 1;
|
| 165 |
+
const next = input.charCodeAt(pos);
|
| 166 |
+
if (octalStr !== "0" || next === 56 || next === 57) {
|
| 167 |
+
if (inTemplate) {
|
| 168 |
+
return res(null);
|
| 169 |
+
} else {
|
| 170 |
+
errors.strictNumericEscape(startPos, lineStart, curLine);
|
| 171 |
+
}
|
| 172 |
+
}
|
| 173 |
+
return res(String.fromCharCode(octal));
|
| 174 |
+
}
|
| 175 |
+
return res(String.fromCharCode(ch));
|
| 176 |
+
}
|
| 177 |
+
}
|
| 178 |
+
function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {
|
| 179 |
+
const initialPos = pos;
|
| 180 |
+
let n;
|
| 181 |
+
({
|
| 182 |
+
n,
|
| 183 |
+
pos
|
| 184 |
+
} = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));
|
| 185 |
+
if (n === null) {
|
| 186 |
+
if (throwOnInvalid) {
|
| 187 |
+
errors.invalidEscapeSequence(initialPos, lineStart, curLine);
|
| 188 |
+
} else {
|
| 189 |
+
pos = initialPos - 1;
|
| 190 |
+
}
|
| 191 |
+
}
|
| 192 |
+
return {
|
| 193 |
+
code: n,
|
| 194 |
+
pos
|
| 195 |
+
};
|
| 196 |
+
}
|
| 197 |
+
function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {
|
| 198 |
+
const start = pos;
|
| 199 |
+
const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
|
| 200 |
+
const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
|
| 201 |
+
let invalid = false;
|
| 202 |
+
let total = 0;
|
| 203 |
+
for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {
|
| 204 |
+
const code = input.charCodeAt(pos);
|
| 205 |
+
let val;
|
| 206 |
+
if (code === 95 && allowNumSeparator !== "bail") {
|
| 207 |
+
const prev = input.charCodeAt(pos - 1);
|
| 208 |
+
const next = input.charCodeAt(pos + 1);
|
| 209 |
+
if (!allowNumSeparator) {
|
| 210 |
+
if (bailOnError) return {
|
| 211 |
+
n: null,
|
| 212 |
+
pos
|
| 213 |
+
};
|
| 214 |
+
errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);
|
| 215 |
+
} else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {
|
| 216 |
+
if (bailOnError) return {
|
| 217 |
+
n: null,
|
| 218 |
+
pos
|
| 219 |
+
};
|
| 220 |
+
errors.unexpectedNumericSeparator(pos, lineStart, curLine);
|
| 221 |
+
}
|
| 222 |
+
++pos;
|
| 223 |
+
continue;
|
| 224 |
+
}
|
| 225 |
+
if (code >= 97) {
|
| 226 |
+
val = code - 97 + 10;
|
| 227 |
+
} else if (code >= 65) {
|
| 228 |
+
val = code - 65 + 10;
|
| 229 |
+
} else if (_isDigit(code)) {
|
| 230 |
+
val = code - 48;
|
| 231 |
+
} else {
|
| 232 |
+
val = Infinity;
|
| 233 |
+
}
|
| 234 |
+
if (val >= radix) {
|
| 235 |
+
if (val <= 9 && bailOnError) {
|
| 236 |
+
return {
|
| 237 |
+
n: null,
|
| 238 |
+
pos
|
| 239 |
+
};
|
| 240 |
+
} else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {
|
| 241 |
+
val = 0;
|
| 242 |
+
} else if (forceLen) {
|
| 243 |
+
val = 0;
|
| 244 |
+
invalid = true;
|
| 245 |
+
} else {
|
| 246 |
+
break;
|
| 247 |
+
}
|
| 248 |
+
}
|
| 249 |
+
++pos;
|
| 250 |
+
total = total * radix + val;
|
| 251 |
+
}
|
| 252 |
+
if (pos === start || len != null && pos - start !== len || invalid) {
|
| 253 |
+
return {
|
| 254 |
+
n: null,
|
| 255 |
+
pos
|
| 256 |
+
};
|
| 257 |
+
}
|
| 258 |
+
return {
|
| 259 |
+
n: total,
|
| 260 |
+
pos
|
| 261 |
+
};
|
| 262 |
+
}
|
| 263 |
+
function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {
|
| 264 |
+
const ch = input.charCodeAt(pos);
|
| 265 |
+
let code;
|
| 266 |
+
if (ch === 123) {
|
| 267 |
+
++pos;
|
| 268 |
+
({
|
| 269 |
+
code,
|
| 270 |
+
pos
|
| 271 |
+
} = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors));
|
| 272 |
+
++pos;
|
| 273 |
+
if (code !== null && code > 0x10ffff) {
|
| 274 |
+
if (throwOnInvalid) {
|
| 275 |
+
errors.invalidCodePoint(pos, lineStart, curLine);
|
| 276 |
+
} else {
|
| 277 |
+
return {
|
| 278 |
+
code: null,
|
| 279 |
+
pos
|
| 280 |
+
};
|
| 281 |
+
}
|
| 282 |
+
}
|
| 283 |
+
} else {
|
| 284 |
+
({
|
| 285 |
+
code,
|
| 286 |
+
pos
|
| 287 |
+
} = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors));
|
| 288 |
+
}
|
| 289 |
+
return {
|
| 290 |
+
code,
|
| 291 |
+
pos
|
| 292 |
+
};
|
| 293 |
+
}
|
| 294 |
+
|
| 295 |
+
//# sourceMappingURL=index.js.map
|
my-vue-app/node_modules/@babel/helper-string-parser/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"version":3,"names":["isDigit","code","forbiddenNumericSeparatorSiblings","decBinOct","Set","hex","isAllowedNumericSeparatorSibling","bin","ch","oct","dec","readStringContents","type","input","pos","lineStart","curLine","errors","initialPos","initialLineStart","initialCurLine","out","firstInvalidLoc","chunkStart","length","unterminated","slice","charCodeAt","isStringEnd","res","readEscapedChar","str","containsInvalid","inTemplate","throwOnInvalid","readHexChar","String","fromCharCode","readCodePoint","fromCodePoint","strictNumericEscape","startPos","match","exec","octalStr","octal","parseInt","next","len","forceLen","n","readInt","invalidEscapeSequence","radix","allowNumSeparator","bailOnError","start","forbiddenSiblings","isAllowedSibling","invalid","total","i","e","Infinity","val","prev","numericSeparatorInEscapeSequence","Number","isNaN","has","unexpectedNumericSeparator","_isDigit","invalidDigit","indexOf","invalidCodePoint"],"sources":["../src/index.ts"],"sourcesContent":["// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ]),\n hex: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ]),\n};\n\nconst isAllowedNumericSeparatorSibling = {\n // 0 - 1\n bin: (ch: number) => ch === charCodes.digit0 || ch === charCodes.digit1,\n\n // 0 - 7\n oct: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit7,\n\n // 0 - 9\n dec: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit9,\n\n // 0 - 9, A - F, a - f,\n hex: (ch: number) =>\n (ch >= charCodes.digit0 && ch <= charCodes.digit9) ||\n (ch >= charCodes.uppercaseA && ch <= charCodes.uppercaseF) ||\n (ch >= charCodes.lowercaseA && ch <= charCodes.lowercaseF),\n};\n\nexport type StringContentsErrorHandlers = EscapedCharErrorHandlers & {\n unterminated(\n initialPos: number,\n initialLineStart: number,\n initialCurLine: number,\n ): void;\n};\n\nexport function readStringContents(\n type: \"single\" | \"double\" | \"template\",\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n errors: StringContentsErrorHandlers,\n) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const { length } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === charCodes.backslash) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(\n input,\n pos,\n lineStart,\n curLine,\n type === \"template\",\n errors,\n );\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = { pos, lineStart, curLine };\n } else {\n out += res.ch;\n }\n ({ pos, lineStart, curLine } = res);\n chunkStart = pos;\n } else if (\n ch === charCodes.lineSeparator ||\n ch === charCodes.paragraphSeparator\n ) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === charCodes.lineFeed || ch === charCodes.carriageReturn) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (\n ch === charCodes.carriageReturn &&\n input.charCodeAt(pos) === charCodes.lineFeed\n ) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return process.env.BABEL_8_BREAKING\n ? { pos, str: out, firstInvalidLoc, lineStart, curLine }\n : {\n pos,\n str: out,\n firstInvalidLoc,\n lineStart,\n curLine,\n containsInvalid: !!firstInvalidLoc,\n };\n}\n\nfunction isStringEnd(\n type: \"single\" | \"double\" | \"template\",\n ch: number,\n input: string,\n pos: number,\n) {\n if (type === \"template\") {\n return (\n ch === charCodes.graveAccent ||\n (ch === charCodes.dollarSign &&\n input.charCodeAt(pos + 1) === charCodes.leftCurlyBrace)\n );\n }\n return (\n ch === (type === \"double\" ? charCodes.quotationMark : charCodes.apostrophe)\n );\n}\n\ntype EscapedCharErrorHandlers = HexCharErrorHandlers &\n CodePointErrorHandlers & {\n strictNumericEscape(pos: number, lineStart: number, curLine: number): void;\n };\n\nfunction readEscapedChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n inTemplate: boolean,\n errors: EscapedCharErrorHandlers,\n) {\n const throwOnInvalid = !inTemplate;\n pos++; // skip '\\'\n\n const res = (ch: string | null) => ({ pos, ch, lineStart, curLine });\n\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case charCodes.lowercaseN:\n return res(\"\\n\");\n case charCodes.lowercaseR:\n return res(\"\\r\");\n case charCodes.lowercaseX: {\n let code;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 2,\n false,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case charCodes.lowercaseU: {\n let code;\n ({ code, pos } = readCodePoint(\n input,\n pos,\n lineStart,\n curLine,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case charCodes.lowercaseT:\n return res(\"\\t\");\n case charCodes.lowercaseB:\n return res(\"\\b\");\n case charCodes.lowercaseV:\n return res(\"\\u000b\");\n case charCodes.lowercaseF:\n return res(\"\\f\");\n case charCodes.carriageReturn:\n if (input.charCodeAt(pos) === charCodes.lineFeed) {\n ++pos;\n }\n // fall through\n case charCodes.lineFeed:\n lineStart = pos;\n ++curLine;\n // fall through\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return res(\"\");\n case charCodes.digit8:\n case charCodes.digit9:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n // fall through\n default:\n if (ch >= charCodes.digit0 && ch <= charCodes.digit7) {\n const startPos = pos - 1;\n const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));\n\n let octalStr = match[0];\n\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (\n octalStr !== \"0\" ||\n next === charCodes.digit8 ||\n next === charCodes.digit9\n ) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n\n return res(String.fromCharCode(octal));\n }\n\n return res(String.fromCharCode(ch));\n }\n}\n\ntype HexCharErrorHandlers = IntErrorHandlers & {\n invalidEscapeSequence(pos: number, lineStart: number, curLine: number): void;\n};\n\n// Used to read character escape sequences ('\\x', '\\u').\nfunction readHexChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n len: number,\n forceLen: boolean,\n throwOnInvalid: boolean,\n errors: HexCharErrorHandlers,\n) {\n const initialPos = pos;\n let n;\n ({ n, pos } = readInt(\n input,\n pos,\n lineStart,\n curLine,\n 16,\n len,\n forceLen,\n false,\n errors,\n /* bailOnError */ !throwOnInvalid,\n ));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return { code: n, pos };\n}\n\nexport type IntErrorHandlers = {\n numericSeparatorInEscapeSequence(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n unexpectedNumericSeparator(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n // It can return \"true\" to indicate that the error was handled\n // and the int parsing should continue.\n invalidDigit(\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n ): boolean;\n};\n\nexport function readInt(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n len: number | undefined,\n forceLen: boolean,\n allowNumSeparator: boolean | \"bail\",\n errors: IntErrorHandlers,\n bailOnError: boolean,\n) {\n const start = pos;\n const forbiddenSiblings =\n radix === 16\n ? forbiddenNumericSeparatorSiblings.hex\n : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling =\n radix === 16\n ? isAllowedNumericSeparatorSibling.hex\n : radix === 10\n ? isAllowedNumericSeparatorSibling.dec\n : radix === 8\n ? isAllowedNumericSeparatorSibling.oct\n : isAllowedNumericSeparatorSibling.bin;\n\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n\n if (code === charCodes.underscore && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n\n if (!allowNumSeparator) {\n if (bailOnError) return { n: null, pos };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (\n Number.isNaN(next) ||\n !isAllowedSibling(next) ||\n forbiddenSiblings.has(prev) ||\n forbiddenSiblings.has(next)\n ) {\n if (bailOnError) return { n: null, pos };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n\n // Ignore this _ character\n ++pos;\n continue;\n }\n\n if (code >= charCodes.lowercaseA) {\n val = code - charCodes.lowercaseA + charCodes.lineFeed;\n } else if (code >= charCodes.uppercaseA) {\n val = code - charCodes.uppercaseA + charCodes.lineFeed;\n } else if (charCodes.isDigit(code)) {\n val = code - charCodes.digit0; // 0-9\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n // If we found a digit which is too big, errors.invalidDigit can return true to avoid\n // breaking the loop (this is used for error recovery).\n if (val <= 9 && bailOnError) {\n return { n: null, pos };\n } else if (\n val <= 9 &&\n errors.invalidDigit(pos, lineStart, curLine, radix)\n ) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || (len != null && pos - start !== len) || invalid) {\n return { n: null, pos };\n }\n\n return { n: total, pos };\n}\n\nexport type CodePointErrorHandlers = HexCharErrorHandlers & {\n invalidCodePoint(pos: number, lineStart: number, curLine: number): void;\n};\n\nexport function readCodePoint(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n throwOnInvalid: boolean,\n errors: CodePointErrorHandlers,\n) {\n const ch = input.charCodeAt(pos);\n let code;\n\n if (ch === charCodes.leftCurlyBrace) {\n ++pos;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n input.indexOf(\"}\", pos) - pos,\n true,\n throwOnInvalid,\n errors,\n ));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return { code: null, pos };\n }\n }\n } else {\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 4,\n false,\n throwOnInvalid,\n errors,\n ));\n }\n return { code, pos };\n}\n"],"mappings":";;;;;;;;eAAA,SAASA,OAAOA,CAACC,IAAI,EAAE;EACrB,OAAOA,IAAI,MAAU,IAAIA,IAAI,MAAU;AACzC,CAAC;AAID,MAAMC,iCAAiC,GAAG;EACxCC,SAAS,EAAE,IAAIC,GAAG,CAAS,kCAS1B,CAAC;EACFC,GAAG,EAAE,IAAID,GAAG,CAAS,iBAKpB;AACH,CAAC;AAED,MAAME,gCAAgC,GAAG;EAEvCC,GAAG,EAAGC,EAAU,IAAKA,EAAE,OAAqB,IAAIA,EAAE,OAAqB;EAGvEC,GAAG,EAAGD,EAAU,IAAKA,EAAE,MAAoB,IAAIA,EAAE,MAAoB;EAGrEE,GAAG,EAAGF,EAAU,IAAKA,EAAE,MAAoB,IAAIA,EAAE,MAAoB;EAGrEH,GAAG,EAAGG,EAAU,IACbA,EAAE,MAAoB,IAAIA,EAAE,MAAoB,IAChDA,EAAE,MAAwB,IAAIA,EAAE,MAAyB,IACzDA,EAAE,MAAwB,IAAIA,EAAE;AACrC,CAAC;AAUM,SAASG,kBAAkBA,CAChCC,IAAsC,EACtCC,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACfC,MAAmC,EACnC;EACA,MAAMC,UAAU,GAAGJ,GAAG;EACtB,MAAMK,gBAAgB,GAAGJ,SAAS;EAClC,MAAMK,cAAc,GAAGJ,OAAO;EAE9B,IAAIK,GAAG,GAAG,EAAE;EACZ,IAAIC,eAAe,GAAG,IAAI;EAC1B,IAAIC,UAAU,GAAGT,GAAG;EACpB,MAAM;IAAEU;EAAO,CAAC,GAAGX,KAAK;EACxB,SAAS;IACP,IAAIC,GAAG,IAAIU,MAAM,EAAE;MACjBP,MAAM,CAACQ,YAAY,CAACP,UAAU,EAAEC,gBAAgB,EAAEC,cAAc,CAAC;MACjEC,GAAG,IAAIR,KAAK,CAACa,KAAK,CAACH,UAAU,EAAET,GAAG,CAAC;MACnC;IACF;IACA,MAAMN,EAAE,GAAGK,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC;IAChC,IAAIc,WAAW,CAAChB,IAAI,EAAEJ,EAAE,EAAEK,KAAK,EAAEC,GAAG,CAAC,EAAE;MACrCO,GAAG,IAAIR,KAAK,CAACa,KAAK,CAACH,UAAU,EAAET,GAAG,CAAC;MACnC;IACF;IACA,IAAIN,EAAE,OAAwB,EAAE;MAC9Ba,GAAG,IAAIR,KAAK,CAACa,KAAK,CAACH,UAAU,EAAET,GAAG,CAAC;MACnC,MAAMe,GAAG,GAAGC,eAAe,CACzBjB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACPJ,IAAI,KAAK,UAAU,EACnBK,MACF,CAAC;MACD,IAAIY,GAAG,CAACrB,EAAE,KAAK,IAAI,IAAI,CAACc,eAAe,EAAE;QACvCA,eAAe,GAAG;UAAER,GAAG;UAAEC,SAAS;UAAEC;QAAQ,CAAC;MAC/C,CAAC,MAAM;QACLK,GAAG,IAAIQ,GAAG,CAACrB,EAAE;MACf;MACA,CAAC;QAAEM,GAAG;QAAEC,SAAS;QAAEC;MAAQ,CAAC,GAAGa,GAAG;MAClCN,UAAU,GAAGT,GAAG;IAClB,CAAC,MAAM,IACLN,EAAE,SAA4B,IAC9BA,EAAE,SAAiC,EACnC;MACA,EAAEM,GAAG;MACL,EAAEE,OAAO;MACTD,SAAS,GAAGD,GAAG;IACjB,CAAC,MAAM,IAAIN,EAAE,OAAuB,IAAIA,EAAE,OAA6B,EAAE;MACvE,IAAII,IAAI,KAAK,UAAU,EAAE;QACvBS,GAAG,IAAIR,KAAK,CAACa,KAAK,CAACH,UAAU,EAAET,GAAG,CAAC,GAAG,IAAI;QAC1C,EAAEA,GAAG;QACL,IACEN,EAAE,OAA6B,IAC/BK,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC,OAAuB,EAC5C;UACA,EAAEA,GAAG;QACP;QACA,EAAEE,OAAO;QACTO,UAAU,GAAGR,SAAS,GAAGD,GAAG;MAC9B,CAAC,MAAM;QACLG,MAAM,CAACQ,YAAY,CAACP,UAAU,EAAEC,gBAAgB,EAAEC,cAAc,CAAC;MACnE;IACF,CAAC,MAAM;MACL,EAAEN,GAAG;IACP;EACF;EACA,OAEI;IACEA,GAAG;IACHiB,GAAG,EAAEV,GAAG;IACRC,eAAe;IACfP,SAAS;IACTC,OAAO;IACPgB,eAAe,EAAE,CAAC,CAACV;EACrB,CAAC;AACP;AAEA,SAASM,WAAWA,CAClBhB,IAAsC,EACtCJ,EAAU,EACVK,KAAa,EACbC,GAAW,EACX;EACA,IAAIF,IAAI,KAAK,UAAU,EAAE;IACvB,OACEJ,EAAE,OAA0B,IAC3BA,EAAE,OAAyB,IAC1BK,KAAK,CAACc,UAAU,CAACb,GAAG,GAAG,CAAC,CAAC,QAA8B;EAE7D;EACA,OACEN,EAAE,MAAMI,IAAI,KAAK,QAAQ,UAAiD,CAAC;AAE/E;AAOA,SAASkB,eAAeA,CACtBjB,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACfiB,UAAmB,EACnBhB,MAAgC,EAChC;EACA,MAAMiB,cAAc,GAAG,CAACD,UAAU;EAClCnB,GAAG,EAAE;EAEL,MAAMe,GAAG,GAAIrB,EAAiB,KAAM;IAAEM,GAAG;IAAEN,EAAE;IAAEO,SAAS;IAAEC;EAAQ,CAAC,CAAC;EAEpE,MAAMR,EAAE,GAAGK,KAAK,CAACc,UAAU,CAACb,GAAG,EAAE,CAAC;EAClC,QAAQN,EAAE;IACR;MACE,OAAOqB,GAAG,CAAC,IAAI,CAAC;IAClB;MACE,OAAOA,GAAG,CAAC,IAAI,CAAC;IAClB;MAA2B;QACzB,IAAI5B,IAAI;QACR,CAAC;UAAEA,IAAI;UAAEa;QAAI,CAAC,GAAGqB,WAAW,CAC1BtB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACP,CAAC,EACD,KAAK,EACLkB,cAAc,EACdjB,MACF,CAAC;QACD,OAAOY,GAAG,CAAC5B,IAAI,KAAK,IAAI,GAAG,IAAI,GAAGmC,MAAM,CAACC,YAAY,CAACpC,IAAI,CAAC,CAAC;MAC9D;IACA;MAA2B;QACzB,IAAIA,IAAI;QACR,CAAC;UAAEA,IAAI;UAAEa;QAAI,CAAC,GAAGwB,aAAa,CAC5BzB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACPkB,cAAc,EACdjB,MACF,CAAC;QACD,OAAOY,GAAG,CAAC5B,IAAI,KAAK,IAAI,GAAG,IAAI,GAAGmC,MAAM,CAACG,aAAa,CAACtC,IAAI,CAAC,CAAC;MAC/D;IACA;MACE,OAAO4B,GAAG,CAAC,IAAI,CAAC;IAClB;MACE,OAAOA,GAAG,CAAC,IAAI,CAAC;IAClB;MACE,OAAOA,GAAG,CAAC,QAAQ,CAAC;IACtB;MACE,OAAOA,GAAG,CAAC,IAAI,CAAC;IAClB;MACE,IAAIhB,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC,OAAuB,EAAE;QAChD,EAAEA,GAAG;MACP;IAEF;MACEC,SAAS,GAAGD,GAAG;MACf,EAAEE,OAAO;IAEX;IACA;MACE,OAAOa,GAAG,CAAC,EAAE,CAAC;IAChB;IACA;MACE,IAAII,UAAU,EAAE;QACd,OAAOJ,GAAG,CAAC,IAAI,CAAC;MAClB,CAAC,MAAM;QACLZ,MAAM,CAACuB,mBAAmB,CAAC1B,GAAG,GAAG,CAAC,EAAEC,SAAS,EAAEC,OAAO,CAAC;MACzD;IAEF;MACE,IAAIR,EAAE,MAAoB,IAAIA,EAAE,MAAoB,EAAE;QACpD,MAAMiC,QAAQ,GAAG3B,GAAG,GAAG,CAAC;QACxB,MAAM4B,KAAK,GAAG,SAAS,CAACC,IAAI,CAAC9B,KAAK,CAACa,KAAK,CAACe,QAAQ,EAAE3B,GAAG,GAAG,CAAC,CAAC,CAAC;QAE5D,IAAI8B,QAAQ,GAAGF,KAAK,CAAC,CAAC,CAAC;QAEvB,IAAIG,KAAK,GAAGC,QAAQ,CAACF,QAAQ,EAAE,CAAC,CAAC;QACjC,IAAIC,KAAK,GAAG,GAAG,EAAE;UACfD,QAAQ,GAAGA,QAAQ,CAAClB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;UAChCmB,KAAK,GAAGC,QAAQ,CAACF,QAAQ,EAAE,CAAC,CAAC;QAC/B;QACA9B,GAAG,IAAI8B,QAAQ,CAACpB,MAAM,GAAG,CAAC;QAC1B,MAAMuB,IAAI,GAAGlC,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC;QAClC,IACE8B,QAAQ,KAAK,GAAG,IAChBG,IAAI,OAAqB,IACzBA,IAAI,OAAqB,EACzB;UACA,IAAId,UAAU,EAAE;YACd,OAAOJ,GAAG,CAAC,IAAI,CAAC;UAClB,CAAC,MAAM;YACLZ,MAAM,CAACuB,mBAAmB,CAACC,QAAQ,EAAE1B,SAAS,EAAEC,OAAO,CAAC;UAC1D;QACF;QAEA,OAAOa,GAAG,CAACO,MAAM,CAACC,YAAY,CAACQ,KAAK,CAAC,CAAC;MACxC;MAEA,OAAOhB,GAAG,CAACO,MAAM,CAACC,YAAY,CAAC7B,EAAE,CAAC,CAAC;EACvC;AACF;AAOA,SAAS2B,WAAWA,CAClBtB,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACfgC,GAAW,EACXC,QAAiB,EACjBf,cAAuB,EACvBjB,MAA4B,EAC5B;EACA,MAAMC,UAAU,GAAGJ,GAAG;EACtB,IAAIoC,CAAC;EACL,CAAC;IAAEA,CAAC;IAAEpC;EAAI,CAAC,GAAGqC,OAAO,CACnBtC,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACP,EAAE,EACFgC,GAAG,EACHC,QAAQ,EACR,KAAK,EACLhC,MAAM,EACY,CAACiB,cACrB,CAAC;EACD,IAAIgB,CAAC,KAAK,IAAI,EAAE;IACd,IAAIhB,cAAc,EAAE;MAClBjB,MAAM,CAACmC,qBAAqB,CAAClC,UAAU,EAAEH,SAAS,EAAEC,OAAO,CAAC;IAC9D,CAAC,MAAM;MACLF,GAAG,GAAGI,UAAU,GAAG,CAAC;IACtB;EACF;EACA,OAAO;IAAEjB,IAAI,EAAEiD,CAAC;IAAEpC;EAAI,CAAC;AACzB;AAuBO,SAASqC,OAAOA,CACrBtC,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACfqC,KAAa,EACbL,GAAuB,EACvBC,QAAiB,EACjBK,iBAAmC,EACnCrC,MAAwB,EACxBsC,WAAoB,EACpB;EACA,MAAMC,KAAK,GAAG1C,GAAG;EACjB,MAAM2C,iBAAiB,GACrBJ,KAAK,KAAK,EAAE,GACRnD,iCAAiC,CAACG,GAAG,GACrCH,iCAAiC,CAACC,SAAS;EACjD,MAAMuD,gBAAgB,GACpBL,KAAK,KAAK,EAAE,GACR/C,gCAAgC,CAACD,GAAG,GACpCgD,KAAK,KAAK,EAAE,GACV/C,gCAAgC,CAACI,GAAG,GACpC2C,KAAK,KAAK,CAAC,GACT/C,gCAAgC,CAACG,GAAG,GACpCH,gCAAgC,CAACC,GAAG;EAE9C,IAAIoD,OAAO,GAAG,KAAK;EACnB,IAAIC,KAAK,GAAG,CAAC;EAEb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGd,GAAG,IAAI,IAAI,GAAGe,QAAQ,GAAGf,GAAG,EAAEa,CAAC,GAAGC,CAAC,EAAE,EAAED,CAAC,EAAE;IAC5D,MAAM5D,IAAI,GAAGY,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC;IAClC,IAAIkD,GAAG;IAEP,IAAI/D,IAAI,OAAyB,IAAIqD,iBAAiB,KAAK,MAAM,EAAE;MACjE,MAAMW,IAAI,GAAGpD,KAAK,CAACc,UAAU,CAACb,GAAG,GAAG,CAAC,CAAC;MACtC,MAAMiC,IAAI,GAAGlC,KAAK,CAACc,UAAU,CAACb,GAAG,GAAG,CAAC,CAAC;MAEtC,IAAI,CAACwC,iBAAiB,EAAE;QACtB,IAAIC,WAAW,EAAE,OAAO;UAAEL,CAAC,EAAE,IAAI;UAAEpC;QAAI,CAAC;QACxCG,MAAM,CAACiD,gCAAgC,CAACpD,GAAG,EAAEC,SAAS,EAAEC,OAAO,CAAC;MAClE,CAAC,MAAM,IACLmD,MAAM,CAACC,KAAK,CAACrB,IAAI,CAAC,IAClB,CAACW,gBAAgB,CAACX,IAAI,CAAC,IACvBU,iBAAiB,CAACY,GAAG,CAACJ,IAAI,CAAC,IAC3BR,iBAAiB,CAACY,GAAG,CAACtB,IAAI,CAAC,EAC3B;QACA,IAAIQ,WAAW,EAAE,OAAO;UAAEL,CAAC,EAAE,IAAI;UAAEpC;QAAI,CAAC;QACxCG,MAAM,CAACqD,0BAA0B,CAACxD,GAAG,EAAEC,SAAS,EAAEC,OAAO,CAAC;MAC5D;MAGA,EAAEF,GAAG;MACL;IACF;IAEA,IAAIb,IAAI,MAAwB,EAAE;MAChC+D,GAAG,GAAG/D,IAAI,KAAuB,KAAqB;IACxD,CAAC,MAAM,IAAIA,IAAI,MAAwB,EAAE;MACvC+D,GAAG,GAAG/D,IAAI,KAAuB,KAAqB;IACxD,CAAC,MAAM,IAAIsE,QAAA,CAAkBtE,IAAI,CAAC,EAAE;MAClC+D,GAAG,GAAG/D,IAAI,KAAmB;IAC/B,CAAC,MAAM;MACL+D,GAAG,GAAGD,QAAQ;IAChB;IACA,IAAIC,GAAG,IAAIX,KAAK,EAAE;MAGhB,IAAIW,GAAG,IAAI,CAAC,IAAIT,WAAW,EAAE;QAC3B,OAAO;UAAEL,CAAC,EAAE,IAAI;UAAEpC;QAAI,CAAC;MACzB,CAAC,MAAM,IACLkD,GAAG,IAAI,CAAC,IACR/C,MAAM,CAACuD,YAAY,CAAC1D,GAAG,EAAEC,SAAS,EAAEC,OAAO,EAAEqC,KAAK,CAAC,EACnD;QACAW,GAAG,GAAG,CAAC;MACT,CAAC,MAAM,IAAIf,QAAQ,EAAE;QACnBe,GAAG,GAAG,CAAC;QACPL,OAAO,GAAG,IAAI;MAChB,CAAC,MAAM;QACL;MACF;IACF;IACA,EAAE7C,GAAG;IACL8C,KAAK,GAAGA,KAAK,GAAGP,KAAK,GAAGW,GAAG;EAC7B;EACA,IAAIlD,GAAG,KAAK0C,KAAK,IAAKR,GAAG,IAAI,IAAI,IAAIlC,GAAG,GAAG0C,KAAK,KAAKR,GAAI,IAAIW,OAAO,EAAE;IACpE,OAAO;MAAET,CAAC,EAAE,IAAI;MAAEpC;IAAI,CAAC;EACzB;EAEA,OAAO;IAAEoC,CAAC,EAAEU,KAAK;IAAE9C;EAAI,CAAC;AAC1B;AAMO,SAASwB,aAAaA,CAC3BzB,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACfkB,cAAuB,EACvBjB,MAA8B,EAC9B;EACA,MAAMT,EAAE,GAAGK,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC;EAChC,IAAIb,IAAI;EAER,IAAIO,EAAE,QAA6B,EAAE;IACnC,EAAEM,GAAG;IACL,CAAC;MAAEb,IAAI;MAAEa;IAAI,CAAC,GAAGqB,WAAW,CAC1BtB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACPH,KAAK,CAAC4D,OAAO,CAAC,GAAG,EAAE3D,GAAG,CAAC,GAAGA,GAAG,EAC7B,IAAI,EACJoB,cAAc,EACdjB,MACF,CAAC;IACD,EAAEH,GAAG;IACL,IAAIb,IAAI,KAAK,IAAI,IAAIA,IAAI,GAAG,QAAQ,EAAE;MACpC,IAAIiC,cAAc,EAAE;QAClBjB,MAAM,CAACyD,gBAAgB,CAAC5D,GAAG,EAAEC,SAAS,EAAEC,OAAO,CAAC;MAClD,CAAC,MAAM;QACL,OAAO;UAAEf,IAAI,EAAE,IAAI;UAAEa;QAAI,CAAC;MAC5B;IACF;EACF,CAAC,MAAM;IACL,CAAC;MAAEb,IAAI;MAAEa;IAAI,CAAC,GAAGqB,WAAW,CAC1BtB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACP,CAAC,EACD,KAAK,EACLkB,cAAc,EACdjB,MACF,CAAC;EACH;EACA,OAAO;IAAEhB,IAAI;IAAEa;EAAI,CAAC;AACtB","ignoreList":[]}
|
my-vue-app/node_modules/@babel/helper-string-parser/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "@babel/helper-string-parser",
|
| 3 |
+
"version": "7.27.1",
|
| 4 |
+
"description": "A utility package to parse strings",
|
| 5 |
+
"repository": {
|
| 6 |
+
"type": "git",
|
| 7 |
+
"url": "https://github.com/babel/babel.git",
|
| 8 |
+
"directory": "packages/babel-helper-string-parser"
|
| 9 |
+
},
|
| 10 |
+
"homepage": "https://babel.dev/docs/en/next/babel-helper-string-parser",
|
| 11 |
+
"license": "MIT",
|
| 12 |
+
"publishConfig": {
|
| 13 |
+
"access": "public"
|
| 14 |
+
},
|
| 15 |
+
"main": "./lib/index.js",
|
| 16 |
+
"devDependencies": {
|
| 17 |
+
"charcodes": "^0.2.0"
|
| 18 |
+
},
|
| 19 |
+
"engines": {
|
| 20 |
+
"node": ">=6.9.0"
|
| 21 |
+
},
|
| 22 |
+
"author": "The Babel Team (https://babel.dev/team)",
|
| 23 |
+
"exports": {
|
| 24 |
+
".": {
|
| 25 |
+
"types": "./lib/index.d.ts",
|
| 26 |
+
"default": "./lib/index.js"
|
| 27 |
+
},
|
| 28 |
+
"./package.json": "./package.json"
|
| 29 |
+
},
|
| 30 |
+
"type": "commonjs"
|
| 31 |
+
}
|
my-vue-app/node_modules/@babel/helper-validator-identifier/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
| 6 |
+
a copy of this software and associated documentation files (the
|
| 7 |
+
"Software"), to deal in the Software without restriction, including
|
| 8 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
| 9 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
| 10 |
+
permit persons to whom the Software is furnished to do so, subject to
|
| 11 |
+
the following conditions:
|
| 12 |
+
|
| 13 |
+
The above copyright notice and this permission notice shall be
|
| 14 |
+
included in all copies or substantial portions of the Software.
|
| 15 |
+
|
| 16 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 17 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| 18 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 19 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
| 20 |
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
| 21 |
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
| 22 |
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
my-vue-app/node_modules/@babel/helper-validator-identifier/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# @babel/helper-validator-identifier
|
| 2 |
+
|
| 3 |
+
> Validate identifier/keywords name
|
| 4 |
+
|
| 5 |
+
See our website [@babel/helper-validator-identifier](https://babeljs.io/docs/babel-helper-validator-identifier) for more information.
|
| 6 |
+
|
| 7 |
+
## Install
|
| 8 |
+
|
| 9 |
+
Using npm:
|
| 10 |
+
|
| 11 |
+
```sh
|
| 12 |
+
npm install --save @babel/helper-validator-identifier
|
| 13 |
+
```
|
| 14 |
+
|
| 15 |
+
or using yarn:
|
| 16 |
+
|
| 17 |
+
```sh
|
| 18 |
+
yarn add @babel/helper-validator-identifier
|
| 19 |
+
```
|
my-vue-app/node_modules/@babel/helper-validator-identifier/lib/identifier.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
|
| 3 |
+
Object.defineProperty(exports, "__esModule", {
|
| 4 |
+
value: true
|
| 5 |
+
});
|
| 6 |
+
exports.isIdentifierChar = isIdentifierChar;
|
| 7 |
+
exports.isIdentifierName = isIdentifierName;
|
| 8 |
+
exports.isIdentifierStart = isIdentifierStart;
|
| 9 |
+
let nonASCIIidentifierStartChars = "\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\u0560-\u0588\u05d0-\u05ea\u05ef-\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\u0860-\u086a\u0870-\u0887\u0889-\u088f\u08a0-\u08c9\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\u09fc\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\u0c5c\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdc-\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\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\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\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\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\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\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\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\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7dc\ua7f1-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\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-\uab69\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";
|
| 10 |
+
let nonASCIIidentifierChars = "\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1add\u1ae0-\u1aeb\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
|
| 11 |
+
const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
|
| 12 |
+
const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
|
| 13 |
+
nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
|
| 14 |
+
const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489];
|
| 15 |
+
const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
|
| 16 |
+
function isInAstralSet(code, set) {
|
| 17 |
+
let pos = 0x10000;
|
| 18 |
+
for (let i = 0, length = set.length; i < length; i += 2) {
|
| 19 |
+
pos += set[i];
|
| 20 |
+
if (pos > code) return false;
|
| 21 |
+
pos += set[i + 1];
|
| 22 |
+
if (pos >= code) return true;
|
| 23 |
+
}
|
| 24 |
+
return false;
|
| 25 |
+
}
|
| 26 |
+
function isIdentifierStart(code) {
|
| 27 |
+
if (code < 65) return code === 36;
|
| 28 |
+
if (code <= 90) return true;
|
| 29 |
+
if (code < 97) return code === 95;
|
| 30 |
+
if (code <= 122) return true;
|
| 31 |
+
if (code <= 0xffff) {
|
| 32 |
+
return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
|
| 33 |
+
}
|
| 34 |
+
return isInAstralSet(code, astralIdentifierStartCodes);
|
| 35 |
+
}
|
| 36 |
+
function isIdentifierChar(code) {
|
| 37 |
+
if (code < 48) return code === 36;
|
| 38 |
+
if (code < 58) return true;
|
| 39 |
+
if (code < 65) return false;
|
| 40 |
+
if (code <= 90) return true;
|
| 41 |
+
if (code < 97) return code === 95;
|
| 42 |
+
if (code <= 122) return true;
|
| 43 |
+
if (code <= 0xffff) {
|
| 44 |
+
return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
|
| 45 |
+
}
|
| 46 |
+
return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
|
| 47 |
+
}
|
| 48 |
+
function isIdentifierName(name) {
|
| 49 |
+
let isFirst = true;
|
| 50 |
+
for (let i = 0; i < name.length; i++) {
|
| 51 |
+
let cp = name.charCodeAt(i);
|
| 52 |
+
if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
|
| 53 |
+
const trail = name.charCodeAt(++i);
|
| 54 |
+
if ((trail & 0xfc00) === 0xdc00) {
|
| 55 |
+
cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
|
| 56 |
+
}
|
| 57 |
+
}
|
| 58 |
+
if (isFirst) {
|
| 59 |
+
isFirst = false;
|
| 60 |
+
if (!isIdentifierStart(cp)) {
|
| 61 |
+
return false;
|
| 62 |
+
}
|
| 63 |
+
} else if (!isIdentifierChar(cp)) {
|
| 64 |
+
return false;
|
| 65 |
+
}
|
| 66 |
+
}
|
| 67 |
+
return !isFirst;
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
//# sourceMappingURL=identifier.js.map
|
my-vue-app/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"version":3,"names":["nonASCIIidentifierStartChars","nonASCIIidentifierChars","nonASCIIidentifierStart","RegExp","nonASCIIidentifier","astralIdentifierStartCodes","astralIdentifierCodes","isInAstralSet","code","set","pos","i","length","isIdentifierStart","test","String","fromCharCode","isIdentifierChar","isIdentifierName","name","isFirst","cp","charCodeAt","trail"],"sources":["../src/identifier.ts"],"sourcesContent":["// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point between 0x80 and 0xffff.\n// Generated by `scripts/generate-identifier-regex.cjs`.\n\n/* prettier-ignore */\nlet nonASCIIidentifierStartChars = \"\\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\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\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\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088f\\u08a0-\\u08c9\\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\\u09fc\\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\\u0c5c\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdc-\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\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\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\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\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c8a\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\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\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7dc\\ua7f1-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\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-\\uab69\\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\";\n/* prettier-ignore */\nlet nonASCIIidentifierChars = \"\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0897-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1add\\u1ae0-\\u1aeb\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65\";\n\nconst nonASCIIidentifierStart = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + \"]\",\n);\nconst nonASCIIidentifier = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\",\n);\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset-encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by `scripts/generate-identifier-regex.cjs`.\n/* prettier-ignore */\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,7,25,39,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,5,57,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,24,43,261,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,33,24,3,24,45,74,6,0,67,12,65,1,2,0,15,4,10,7381,42,31,98,114,8702,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,208,30,2,2,2,1,2,6,3,4,10,1,225,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4381,3,5773,3,7472,16,621,2467,541,1507,4938,6,8489];\n/* prettier-ignore */\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,78,5,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,199,7,137,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,55,9,266,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,233,0,3,0,8,1,6,0,475,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code: number, set: readonly number[]): boolean {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code: number): boolean {\n if (code < charCodes.uppercaseA) return code === charCodes.dollarSign;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return (\n code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n );\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code: number): boolean {\n if (code < charCodes.digit0) return code === charCodes.dollarSign;\n if (code < charCodes.colon) return true;\n if (code < charCodes.uppercaseA) return false;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return (\n isInAstralSet(code, astralIdentifierStartCodes) ||\n isInAstralSet(code, astralIdentifierCodes)\n );\n}\n\n// Test whether a given string is a valid identifier name\n\nexport function isIdentifierName(name: string): boolean {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `name` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n"],"mappings":";;;;;;;;AAaA,IAAIA,4BAA4B,GAAG,spIAAspI;AAEzrI,IAAIC,uBAAuB,GAAG,4lFAA4lF;AAE1nF,MAAMC,uBAAuB,GAAG,IAAIC,MAAM,CACxC,GAAG,GAAGH,4BAA4B,GAAG,GACvC,CAAC;AACD,MAAMI,kBAAkB,GAAG,IAAID,MAAM,CACnC,GAAG,GAAGH,4BAA4B,GAAGC,uBAAuB,GAAG,GACjE,CAAC;AAEDD,4BAA4B,GAAGC,uBAAuB,GAAG,IAAI;AAQ7D,MAAMI,0BAA0B,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,EAAE,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,KAAK,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,CAAC;AAEjnD,MAAMC,qBAAqB,GAAG,CAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,MAAM,EAAC,GAAG,CAAC;AAK52B,SAASC,aAAaA,CAACC,IAAY,EAAEC,GAAsB,EAAW;EACpE,IAAIC,GAAG,GAAG,OAAO;EACjB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,MAAM,GAAGH,GAAG,CAACG,MAAM,EAAED,CAAC,GAAGC,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;IACvDD,GAAG,IAAID,GAAG,CAACE,CAAC,CAAC;IACb,IAAID,GAAG,GAAGF,IAAI,EAAE,OAAO,KAAK;IAE5BE,GAAG,IAAID,GAAG,CAACE,CAAC,GAAG,CAAC,CAAC;IACjB,IAAID,GAAG,IAAIF,IAAI,EAAE,OAAO,IAAI;EAC9B;EACA,OAAO,KAAK;AACd;AAIO,SAASK,iBAAiBA,CAACL,IAAY,EAAW;EACvD,IAAIA,IAAI,KAAuB,EAAE,OAAOA,IAAI,OAAyB;EACrE,IAAIA,IAAI,MAAwB,EAAE,OAAO,IAAI;EAC7C,IAAIA,IAAI,KAAuB,EAAE,OAAOA,IAAI,OAAyB;EACrE,IAAIA,IAAI,OAAwB,EAAE,OAAO,IAAI;EAC7C,IAAIA,IAAI,IAAI,MAAM,EAAE;IAClB,OACEA,IAAI,IAAI,IAAI,IAAIN,uBAAuB,CAACY,IAAI,CAACC,MAAM,CAACC,YAAY,CAACR,IAAI,CAAC,CAAC;EAE3E;EACA,OAAOD,aAAa,CAACC,IAAI,EAAEH,0BAA0B,CAAC;AACxD;AAIO,SAASY,gBAAgBA,CAACT,IAAY,EAAW;EACtD,IAAIA,IAAI,KAAmB,EAAE,OAAOA,IAAI,OAAyB;EACjE,IAAIA,IAAI,KAAkB,EAAE,OAAO,IAAI;EACvC,IAAIA,IAAI,KAAuB,EAAE,OAAO,KAAK;EAC7C,IAAIA,IAAI,MAAwB,EAAE,OAAO,IAAI;EAC7C,IAAIA,IAAI,KAAuB,EAAE,OAAOA,IAAI,OAAyB;EACrE,IAAIA,IAAI,OAAwB,EAAE,OAAO,IAAI;EAC7C,IAAIA,IAAI,IAAI,MAAM,EAAE;IAClB,OAAOA,IAAI,IAAI,IAAI,IAAIJ,kBAAkB,CAACU,IAAI,CAACC,MAAM,CAACC,YAAY,CAACR,IAAI,CAAC,CAAC;EAC3E;EACA,OACED,aAAa,CAACC,IAAI,EAAEH,0BAA0B,CAAC,IAC/CE,aAAa,CAACC,IAAI,EAAEF,qBAAqB,CAAC;AAE9C;AAIO,SAASY,gBAAgBA,CAACC,IAAY,EAAW;EACtD,IAAIC,OAAO,GAAG,IAAI;EAClB,KAAK,IAAIT,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGQ,IAAI,CAACP,MAAM,EAAED,CAAC,EAAE,EAAE;IAKpC,IAAIU,EAAE,GAAGF,IAAI,CAACG,UAAU,CAACX,CAAC,CAAC;IAC3B,IAAI,CAACU,EAAE,GAAG,MAAM,MAAM,MAAM,IAAIV,CAAC,GAAG,CAAC,GAAGQ,IAAI,CAACP,MAAM,EAAE;MACnD,MAAMW,KAAK,GAAGJ,IAAI,CAACG,UAAU,CAAC,EAAEX,CAAC,CAAC;MAClC,IAAI,CAACY,KAAK,GAAG,MAAM,MAAM,MAAM,EAAE;QAC/BF,EAAE,GAAG,OAAO,IAAI,CAACA,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,IAAIE,KAAK,GAAG,KAAK,CAAC;MACvD;IACF;IACA,IAAIH,OAAO,EAAE;MACXA,OAAO,GAAG,KAAK;MACf,IAAI,CAACP,iBAAiB,CAACQ,EAAE,CAAC,EAAE;QAC1B,OAAO,KAAK;MACd;IACF,CAAC,MAAM,IAAI,CAACJ,gBAAgB,CAACI,EAAE,CAAC,EAAE;MAChC,OAAO,KAAK;IACd;EACF;EACA,OAAO,CAACD,OAAO;AACjB","ignoreList":[]}
|
my-vue-app/node_modules/@babel/helper-validator-identifier/lib/index.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
|
| 3 |
+
Object.defineProperty(exports, "__esModule", {
|
| 4 |
+
value: true
|
| 5 |
+
});
|
| 6 |
+
Object.defineProperty(exports, "isIdentifierChar", {
|
| 7 |
+
enumerable: true,
|
| 8 |
+
get: function () {
|
| 9 |
+
return _identifier.isIdentifierChar;
|
| 10 |
+
}
|
| 11 |
+
});
|
| 12 |
+
Object.defineProperty(exports, "isIdentifierName", {
|
| 13 |
+
enumerable: true,
|
| 14 |
+
get: function () {
|
| 15 |
+
return _identifier.isIdentifierName;
|
| 16 |
+
}
|
| 17 |
+
});
|
| 18 |
+
Object.defineProperty(exports, "isIdentifierStart", {
|
| 19 |
+
enumerable: true,
|
| 20 |
+
get: function () {
|
| 21 |
+
return _identifier.isIdentifierStart;
|
| 22 |
+
}
|
| 23 |
+
});
|
| 24 |
+
Object.defineProperty(exports, "isKeyword", {
|
| 25 |
+
enumerable: true,
|
| 26 |
+
get: function () {
|
| 27 |
+
return _keyword.isKeyword;
|
| 28 |
+
}
|
| 29 |
+
});
|
| 30 |
+
Object.defineProperty(exports, "isReservedWord", {
|
| 31 |
+
enumerable: true,
|
| 32 |
+
get: function () {
|
| 33 |
+
return _keyword.isReservedWord;
|
| 34 |
+
}
|
| 35 |
+
});
|
| 36 |
+
Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
|
| 37 |
+
enumerable: true,
|
| 38 |
+
get: function () {
|
| 39 |
+
return _keyword.isStrictBindOnlyReservedWord;
|
| 40 |
+
}
|
| 41 |
+
});
|
| 42 |
+
Object.defineProperty(exports, "isStrictBindReservedWord", {
|
| 43 |
+
enumerable: true,
|
| 44 |
+
get: function () {
|
| 45 |
+
return _keyword.isStrictBindReservedWord;
|
| 46 |
+
}
|
| 47 |
+
});
|
| 48 |
+
Object.defineProperty(exports, "isStrictReservedWord", {
|
| 49 |
+
enumerable: true,
|
| 50 |
+
get: function () {
|
| 51 |
+
return _keyword.isStrictReservedWord;
|
| 52 |
+
}
|
| 53 |
+
});
|
| 54 |
+
var _identifier = require("./identifier.js");
|
| 55 |
+
var _keyword = require("./keyword.js");
|
| 56 |
+
|
| 57 |
+
//# sourceMappingURL=index.js.map
|
my-vue-app/node_modules/@babel/helper-validator-identifier/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"version":3,"names":["_identifier","require","_keyword"],"sources":["../src/index.ts"],"sourcesContent":["export {\n isIdentifierName,\n isIdentifierChar,\n isIdentifierStart,\n} from \"./identifier.ts\";\nexport {\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"./keyword.ts\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}
|
my-vue-app/node_modules/@babel/helper-validator-identifier/lib/keyword.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
|
| 3 |
+
Object.defineProperty(exports, "__esModule", {
|
| 4 |
+
value: true
|
| 5 |
+
});
|
| 6 |
+
exports.isKeyword = isKeyword;
|
| 7 |
+
exports.isReservedWord = isReservedWord;
|
| 8 |
+
exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
|
| 9 |
+
exports.isStrictBindReservedWord = isStrictBindReservedWord;
|
| 10 |
+
exports.isStrictReservedWord = isStrictReservedWord;
|
| 11 |
+
const reservedWords = {
|
| 12 |
+
keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
|
| 13 |
+
strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
|
| 14 |
+
strictBind: ["eval", "arguments"]
|
| 15 |
+
};
|
| 16 |
+
const keywords = new Set(reservedWords.keyword);
|
| 17 |
+
const reservedWordsStrictSet = new Set(reservedWords.strict);
|
| 18 |
+
const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
|
| 19 |
+
function isReservedWord(word, inModule) {
|
| 20 |
+
return inModule && word === "await" || word === "enum";
|
| 21 |
+
}
|
| 22 |
+
function isStrictReservedWord(word, inModule) {
|
| 23 |
+
return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
|
| 24 |
+
}
|
| 25 |
+
function isStrictBindOnlyReservedWord(word) {
|
| 26 |
+
return reservedWordsStrictBindSet.has(word);
|
| 27 |
+
}
|
| 28 |
+
function isStrictBindReservedWord(word, inModule) {
|
| 29 |
+
return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
|
| 30 |
+
}
|
| 31 |
+
function isKeyword(word) {
|
| 32 |
+
return keywords.has(word);
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
//# sourceMappingURL=keyword.js.map
|
my-vue-app/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"version":3,"names":["reservedWords","keyword","strict","strictBind","keywords","Set","reservedWordsStrictSet","reservedWordsStrictBindSet","isReservedWord","word","inModule","isStrictReservedWord","has","isStrictBindOnlyReservedWord","isStrictBindReservedWord","isKeyword"],"sources":["../src/keyword.ts"],"sourcesContent":["const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n"],"mappings":";;;;;;;;;;AAAA,MAAMA,aAAa,GAAG;EACpBC,OAAO,EAAE,CACP,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,QAAQ,CACT;EACDC,MAAM,EAAE,CACN,YAAY,EACZ,WAAW,EACX,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,CACR;EACDC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW;AAClC,CAAC;AACD,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAACL,aAAa,CAACC,OAAO,CAAC;AAC/C,MAAMK,sBAAsB,GAAG,IAAID,GAAG,CAACL,aAAa,CAACE,MAAM,CAAC;AAC5D,MAAMK,0BAA0B,GAAG,IAAIF,GAAG,CAACL,aAAa,CAACG,UAAU,CAAC;AAK7D,SAASK,cAAcA,CAACC,IAAY,EAAEC,QAAiB,EAAW;EACvE,OAAQA,QAAQ,IAAID,IAAI,KAAK,OAAO,IAAKA,IAAI,KAAK,MAAM;AAC1D;AAOO,SAASE,oBAAoBA,CAACF,IAAY,EAAEC,QAAiB,EAAW;EAC7E,OAAOF,cAAc,CAACC,IAAI,EAAEC,QAAQ,CAAC,IAAIJ,sBAAsB,CAACM,GAAG,CAACH,IAAI,CAAC;AAC3E;AAMO,SAASI,4BAA4BA,CAACJ,IAAY,EAAW;EAClE,OAAOF,0BAA0B,CAACK,GAAG,CAACH,IAAI,CAAC;AAC7C;AAOO,SAASK,wBAAwBA,CACtCL,IAAY,EACZC,QAAiB,EACR;EACT,OACEC,oBAAoB,CAACF,IAAI,EAAEC,QAAQ,CAAC,IAAIG,4BAA4B,CAACJ,IAAI,CAAC;AAE9E;AAEO,SAASM,SAASA,CAACN,IAAY,EAAW;EAC/C,OAAOL,QAAQ,CAACQ,GAAG,CAACH,IAAI,CAAC;AAC3B","ignoreList":[]}
|
my-vue-app/node_modules/@babel/helper-validator-identifier/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "@babel/helper-validator-identifier",
|
| 3 |
+
"version": "7.28.5",
|
| 4 |
+
"description": "Validate identifier/keywords name",
|
| 5 |
+
"repository": {
|
| 6 |
+
"type": "git",
|
| 7 |
+
"url": "https://github.com/babel/babel.git",
|
| 8 |
+
"directory": "packages/babel-helper-validator-identifier"
|
| 9 |
+
},
|
| 10 |
+
"license": "MIT",
|
| 11 |
+
"publishConfig": {
|
| 12 |
+
"access": "public"
|
| 13 |
+
},
|
| 14 |
+
"main": "./lib/index.js",
|
| 15 |
+
"exports": {
|
| 16 |
+
".": {
|
| 17 |
+
"types": "./lib/index.d.ts",
|
| 18 |
+
"default": "./lib/index.js"
|
| 19 |
+
},
|
| 20 |
+
"./package.json": "./package.json"
|
| 21 |
+
},
|
| 22 |
+
"devDependencies": {
|
| 23 |
+
"@unicode/unicode-17.0.0": "^1.6.10",
|
| 24 |
+
"charcodes": "^0.2.0"
|
| 25 |
+
},
|
| 26 |
+
"engines": {
|
| 27 |
+
"node": ">=6.9.0"
|
| 28 |
+
},
|
| 29 |
+
"author": "The Babel Team (https://babel.dev/team)",
|
| 30 |
+
"type": "commonjs"
|
| 31 |
+
}
|