Spaces:
Runtime error
Runtime error
Upload folder using huggingface_hub
Browse files- .gitignore +9 -0
- README.md +314 -12
- space.py +5 -5
- src/README.md +23 -7
- src/backend/gradio_highlightedcode/templates/component/Index-COMtKkwP.js +0 -0
- src/backend/gradio_highlightedcode/templates/component/dockerfile-CEE6bo6a.js +278 -0
- src/backend/gradio_highlightedcode/templates/component/frontmatter-DeWKdYCf.js +44 -0
- src/backend/gradio_highlightedcode/templates/component/index-B_0nvriU.js +953 -0
- src/backend/gradio_highlightedcode/templates/component/index-Bh8J2SOT.js +945 -0
- src/backend/gradio_highlightedcode/templates/component/index-C83s03OK.js +547 -0
- src/backend/gradio_highlightedcode/templates/component/index-CrYb5Scy.js +76 -0
- src/backend/gradio_highlightedcode/templates/component/index-CwvQZfH0.js +1308 -0
- src/backend/gradio_highlightedcode/templates/component/index-DRYwRkrj.js +1772 -0
- src/backend/gradio_highlightedcode/templates/component/index-eoOYcYY6.js +599 -0
- src/backend/gradio_highlightedcode/templates/component/index.js +1 -1
- src/backend/gradio_highlightedcode/templates/component/r-Bz1d3XP0.js +104 -0
- src/backend/gradio_highlightedcode/templates/component/shell-C0C2sNA_.js +182 -0
- src/backend/gradio_highlightedcode/templates/component/style.css +0 -0
- src/backend/gradio_highlightedcode/templates/component/yaml-Dt6Tp2eU.js +53 -0
- src/backend/gradio_highlightedcode/templates/example/index.js +48 -37
- src/demo/space.py +5 -5
- src/frontend/package-lock.json +0 -0
- src/frontend/package.json +32 -25
- src/pyproject.toml +2 -2
.gitignore
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.eggs/
|
2 |
+
dist/
|
3 |
+
*.pyc
|
4 |
+
__pycache__/
|
5 |
+
*.py[cod]
|
6 |
+
*$py.class
|
7 |
+
__tmp/*
|
8 |
+
*.pyi
|
9 |
+
node_modules
|
README.md
CHANGED
@@ -1,17 +1,319 @@
|
|
1 |
|
2 |
-
|
3 |
-
|
4 |
-
title: gradio_highlightedcode V0.0.3
|
5 |
-
colorFrom: green
|
6 |
-
colorTo: gray
|
7 |
-
sdk: docker
|
8 |
-
pinned: false
|
9 |
-
license: apache-2.0
|
10 |
-
---
|
11 |
|
|
|
12 |
|
13 |
-
|
14 |
|
15 |
-
|
|
|
|
|
16 |
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
+
# `gradio_highlightedcode`
|
3 |
+
<a href="https://pypi.org/project/gradio_highlightedcode/" target="_blank"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/gradio_highlightedcode"></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
+
A variant of the Code component that supports highlighting lines of code.
|
6 |
|
7 |
+
## Installation
|
8 |
|
9 |
+
```bash
|
10 |
+
pip install gradio_highlightedcode
|
11 |
+
```
|
12 |
|
13 |
+
## Usage
|
14 |
+
|
15 |
+
```python
|
16 |
+
|
17 |
+
import time
|
18 |
+
import gradio as gr
|
19 |
+
from gradio_highlightedcode import HighlightedCode
|
20 |
+
|
21 |
+
|
22 |
+
example = HighlightedCode().example_inputs()
|
23 |
+
|
24 |
+
initial_value = """import random
|
25 |
+
|
26 |
+
def scramble_name(name):
|
27 |
+
name_list = list(name)
|
28 |
+
"""
|
29 |
+
|
30 |
+
completion = """ random.shuffle(name_list)
|
31 |
+
return ''.join(name_list)
|
32 |
+
|
33 |
+
# Example usage:
|
34 |
+
print(scramble_name("Python"))
|
35 |
+
"""
|
36 |
+
|
37 |
+
def generate_code():
|
38 |
+
for i in range(len(completion)):
|
39 |
+
time.sleep(0.03)
|
40 |
+
yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
|
41 |
+
|
42 |
+
with gr.Blocks() as demo:
|
43 |
+
code = HighlightedCode(initial_value, language="python")
|
44 |
+
btn = gr.Button("Generate", variant="primary")
|
45 |
+
btn.click(generate_code, outputs=code)
|
46 |
+
|
47 |
+
if __name__ == "__main__":
|
48 |
+
demo.launch()
|
49 |
+
|
50 |
+
```
|
51 |
+
|
52 |
+
## `HighlightedCode`
|
53 |
+
|
54 |
+
### Initialization
|
55 |
+
|
56 |
+
<table>
|
57 |
+
<thead>
|
58 |
+
<tr>
|
59 |
+
<th align="left">name</th>
|
60 |
+
<th align="left" style="width: 25%;">type</th>
|
61 |
+
<th align="left">default</th>
|
62 |
+
<th align="left">description</th>
|
63 |
+
</tr>
|
64 |
+
</thead>
|
65 |
+
<tbody>
|
66 |
+
<tr>
|
67 |
+
<td align="left"><code>value</code></td>
|
68 |
+
<td align="left" style="width: 25%;">
|
69 |
+
|
70 |
+
```python
|
71 |
+
str | tuple[str] | None
|
72 |
+
```
|
73 |
+
|
74 |
+
</td>
|
75 |
+
<td align="left"><code>None</code></td>
|
76 |
+
<td align="left">Default value to show in the code editor. If callable, the function will be called whenever the app loads to set the initial value of the component.</td>
|
77 |
+
</tr>
|
78 |
+
|
79 |
+
<tr>
|
80 |
+
<td align="left"><code>language</code></td>
|
81 |
+
<td align="left" style="width: 25%;">
|
82 |
+
|
83 |
+
```python
|
84 |
+
typing.Optional[
|
85 |
+
typing.Literal[
|
86 |
+
"python",
|
87 |
+
"markdown",
|
88 |
+
"json",
|
89 |
+
"html",
|
90 |
+
"css",
|
91 |
+
"javascript",
|
92 |
+
"typescript",
|
93 |
+
"yaml",
|
94 |
+
"dockerfile",
|
95 |
+
"shell",
|
96 |
+
"r",
|
97 |
+
]
|
98 |
+
][
|
99 |
+
"python"
|
100 |
+
| "markdown"
|
101 |
+
| "json"
|
102 |
+
| "html"
|
103 |
+
| "css"
|
104 |
+
| "javascript"
|
105 |
+
| "typescript"
|
106 |
+
| "yaml"
|
107 |
+
| "dockerfile"
|
108 |
+
| "shell"
|
109 |
+
| "r",
|
110 |
+
None,
|
111 |
+
]
|
112 |
+
```
|
113 |
+
|
114 |
+
</td>
|
115 |
+
<td align="left"><code>None</code></td>
|
116 |
+
<td align="left">The language to display the code as. Supported languages listed in `gr.Code.languages`.</td>
|
117 |
+
</tr>
|
118 |
+
|
119 |
+
<tr>
|
120 |
+
<td align="left"><code>highlights</code></td>
|
121 |
+
<td align="left" style="width: 25%;">
|
122 |
+
|
123 |
+
```python
|
124 |
+
list[tuple[int, str]] | None
|
125 |
+
```
|
126 |
+
|
127 |
+
</td>
|
128 |
+
<td align="left"><code>None</code></td>
|
129 |
+
<td align="left">A list of tuples indicating lines to highlight. The first element of the tuple is the starting line number (1-indexed) and the second element is the highlight color (as a CSS hex string). The highlights are applied in order, with later highlights taking precedence over earlier ones.</td>
|
130 |
+
</tr>
|
131 |
+
|
132 |
+
<tr>
|
133 |
+
<td align="left"><code>every</code></td>
|
134 |
+
<td align="left" style="width: 25%;">
|
135 |
+
|
136 |
+
```python
|
137 |
+
float | None
|
138 |
+
```
|
139 |
+
|
140 |
+
</td>
|
141 |
+
<td align="left"><code>None</code></td>
|
142 |
+
<td align="left">If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute.</td>
|
143 |
+
</tr>
|
144 |
+
|
145 |
+
<tr>
|
146 |
+
<td align="left"><code>lines</code></td>
|
147 |
+
<td align="left" style="width: 25%;">
|
148 |
+
|
149 |
+
```python
|
150 |
+
int
|
151 |
+
```
|
152 |
+
|
153 |
+
</td>
|
154 |
+
<td align="left"><code>5</code></td>
|
155 |
+
<td align="left">None</td>
|
156 |
+
</tr>
|
157 |
+
|
158 |
+
<tr>
|
159 |
+
<td align="left"><code>label</code></td>
|
160 |
+
<td align="left" style="width: 25%;">
|
161 |
+
|
162 |
+
```python
|
163 |
+
str | None
|
164 |
+
```
|
165 |
+
|
166 |
+
</td>
|
167 |
+
<td align="left"><code>None</code></td>
|
168 |
+
<td align="left">The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.</td>
|
169 |
+
</tr>
|
170 |
+
|
171 |
+
<tr>
|
172 |
+
<td align="left"><code>interactive</code></td>
|
173 |
+
<td align="left" style="width: 25%;">
|
174 |
+
|
175 |
+
```python
|
176 |
+
bool | None
|
177 |
+
```
|
178 |
+
|
179 |
+
</td>
|
180 |
+
<td align="left"><code>None</code></td>
|
181 |
+
<td align="left">Whether user should be able to enter code or only view it.</td>
|
182 |
+
</tr>
|
183 |
+
|
184 |
+
<tr>
|
185 |
+
<td align="left"><code>show_label</code></td>
|
186 |
+
<td align="left" style="width: 25%;">
|
187 |
+
|
188 |
+
```python
|
189 |
+
bool | None
|
190 |
+
```
|
191 |
+
|
192 |
+
</td>
|
193 |
+
<td align="left"><code>None</code></td>
|
194 |
+
<td align="left">if True, will display label.</td>
|
195 |
+
</tr>
|
196 |
+
|
197 |
+
<tr>
|
198 |
+
<td align="left"><code>container</code></td>
|
199 |
+
<td align="left" style="width: 25%;">
|
200 |
+
|
201 |
+
```python
|
202 |
+
bool
|
203 |
+
```
|
204 |
+
|
205 |
+
</td>
|
206 |
+
<td align="left"><code>True</code></td>
|
207 |
+
<td align="left">If True, will place the component in a container - providing some extra padding around the border.</td>
|
208 |
+
</tr>
|
209 |
+
|
210 |
+
<tr>
|
211 |
+
<td align="left"><code>scale</code></td>
|
212 |
+
<td align="left" style="width: 25%;">
|
213 |
+
|
214 |
+
```python
|
215 |
+
int | None
|
216 |
+
```
|
217 |
+
|
218 |
+
</td>
|
219 |
+
<td align="left"><code>None</code></td>
|
220 |
+
<td align="left">relative width compared to adjacent Components in a Row. For example, if Component A has scale=2, and Component B has scale=1, A will be twice as wide as B. Should be an integer.</td>
|
221 |
+
</tr>
|
222 |
+
|
223 |
+
<tr>
|
224 |
+
<td align="left"><code>min_width</code></td>
|
225 |
+
<td align="left" style="width: 25%;">
|
226 |
+
|
227 |
+
```python
|
228 |
+
int
|
229 |
+
```
|
230 |
+
|
231 |
+
</td>
|
232 |
+
<td align="left"><code>160</code></td>
|
233 |
+
<td align="left">minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.</td>
|
234 |
+
</tr>
|
235 |
+
|
236 |
+
<tr>
|
237 |
+
<td align="left"><code>visible</code></td>
|
238 |
+
<td align="left" style="width: 25%;">
|
239 |
+
|
240 |
+
```python
|
241 |
+
bool
|
242 |
+
```
|
243 |
+
|
244 |
+
</td>
|
245 |
+
<td align="left"><code>True</code></td>
|
246 |
+
<td align="left">If False, component will be hidden.</td>
|
247 |
+
</tr>
|
248 |
+
|
249 |
+
<tr>
|
250 |
+
<td align="left"><code>elem_id</code></td>
|
251 |
+
<td align="left" style="width: 25%;">
|
252 |
+
|
253 |
+
```python
|
254 |
+
str | None
|
255 |
+
```
|
256 |
+
|
257 |
+
</td>
|
258 |
+
<td align="left"><code>None</code></td>
|
259 |
+
<td align="left">An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
|
260 |
+
</tr>
|
261 |
+
|
262 |
+
<tr>
|
263 |
+
<td align="left"><code>elem_classes</code></td>
|
264 |
+
<td align="left" style="width: 25%;">
|
265 |
+
|
266 |
+
```python
|
267 |
+
list[str] | str | None
|
268 |
+
```
|
269 |
+
|
270 |
+
</td>
|
271 |
+
<td align="left"><code>None</code></td>
|
272 |
+
<td align="left">An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
|
273 |
+
</tr>
|
274 |
+
|
275 |
+
<tr>
|
276 |
+
<td align="left"><code>render</code></td>
|
277 |
+
<td align="left" style="width: 25%;">
|
278 |
+
|
279 |
+
```python
|
280 |
+
bool
|
281 |
+
```
|
282 |
+
|
283 |
+
</td>
|
284 |
+
<td align="left"><code>True</code></td>
|
285 |
+
<td align="left">If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.</td>
|
286 |
+
</tr>
|
287 |
+
</tbody></table>
|
288 |
+
|
289 |
+
|
290 |
+
### Events
|
291 |
+
|
292 |
+
| name | description |
|
293 |
+
|:-----|:------------|
|
294 |
+
| `change` | Triggered when the value of the HighlightedCode changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input. |
|
295 |
+
| `input` | This listener is triggered when the user changes the value of the HighlightedCode. |
|
296 |
+
| `focus` | This listener is triggered when the HighlightedCode is focused. |
|
297 |
+
| `blur` | This listener is triggered when the HighlightedCode is unfocused/blurred. |
|
298 |
+
|
299 |
+
|
300 |
+
|
301 |
+
### User function
|
302 |
+
|
303 |
+
The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
|
304 |
+
|
305 |
+
- When used as an Input, the component only impacts the input signature of the user function.
|
306 |
+
- When used as an output, the component only impacts the return signature of the user function.
|
307 |
+
|
308 |
+
The code snippet below is accurate in cases where the component is used as both an input and an output.
|
309 |
+
|
310 |
+
- **As output:** Is passed, passes the code entered as a `str`.
|
311 |
+
- **As input:** Should return, expects a `str` of code or a single-element `tuple`: (filepath,) with the `str` path to a file containing the code.
|
312 |
+
|
313 |
+
```python
|
314 |
+
def predict(
|
315 |
+
value: str | None
|
316 |
+
) -> tuple[str] | str | None:
|
317 |
+
return value
|
318 |
+
```
|
319 |
+
|
space.py
CHANGED
@@ -3,8 +3,8 @@ import gradio as gr
|
|
3 |
from app import demo as app
|
4 |
import os
|
5 |
|
6 |
-
_docs = {'HighlightedCode': {'description': 'Creates a code editor for viewing code (as an ouptut component), or for entering and editing code (as an input component).', 'members': {'__init__': {'value': {'type': 'str | tuple[str] | None', 'default': 'None', 'description': 'Default value to show in the code editor. If callable, the function will be called whenever the app loads to set the initial value of the component.'}, 'language': {'type': '"python"\n | "markdown"\n | "json"\n | "html"\n | "css"\n | "javascript"\n | "typescript"\n | "yaml"\n | "dockerfile"\n | "shell"\n | "r"
|
7 |
-
|
8 |
abs_path = os.path.join(os.path.dirname(__file__), "css.css")
|
9 |
|
10 |
with gr.Blocks(
|
@@ -97,8 +97,8 @@ if __name__ == "__main__":
|
|
97 |
|
98 |
The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
|
99 |
|
100 |
-
- When used as an Input, the component only impacts the input signature of the user function.
|
101 |
-
- When used as an output, the component only impacts the return signature of the user function.
|
102 |
|
103 |
The code snippet below is accurate in cases where the component is used as both an input and an output.
|
104 |
|
@@ -134,7 +134,7 @@ def predict(
|
|
134 |
})
|
135 |
}
|
136 |
})
|
137 |
-
|
138 |
Object.entries(refs).forEach(([key, refs]) => {
|
139 |
if (refs.length > 0) {
|
140 |
const el = document.querySelector(`.${key}`);
|
|
|
3 |
from app import demo as app
|
4 |
import os
|
5 |
|
6 |
+
_docs = {'HighlightedCode': {'description': 'Creates a code editor for viewing code (as an ouptut component), or for entering and editing code (as an input component).', 'members': {'__init__': {'value': {'type': 'str | tuple[str] | None', 'default': 'None', 'description': 'Default value to show in the code editor. If callable, the function will be called whenever the app loads to set the initial value of the component.'}, 'language': {'type': 'typing.Optional[\n typing.Literal[\n "python",\n "markdown",\n "json",\n "html",\n "css",\n "javascript",\n "typescript",\n "yaml",\n "dockerfile",\n "shell",\n "r",\n ]\n][\n "python"\n | "markdown"\n | "json"\n | "html"\n | "css"\n | "javascript"\n | "typescript"\n | "yaml"\n | "dockerfile"\n | "shell"\n | "r",\n None,\n]', 'default': 'None', 'description': 'The language to display the code as. Supported languages listed in `gr.Code.languages`.'}, 'highlights': {'type': 'list[tuple[int, str]] | None', 'default': 'None', 'description': 'A list of tuples indicating lines to highlight. The first element of the tuple is the starting line number (1-indexed) and the second element is the highlight color (as a CSS hex string). The highlights are applied in order, with later highlights taking precedence over earlier ones.'}, 'every': {'type': 'float | None', 'default': 'None', 'description': "If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute."}, 'lines': {'type': 'int', 'default': '5', 'description': None}, 'label': {'type': 'str | None', 'default': 'None', 'description': 'The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.'}, 'interactive': {'type': 'bool | None', 'default': 'None', 'description': 'Whether user should be able to enter code or only view it.'}, 'show_label': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will display label.'}, 'container': {'type': 'bool', 'default': 'True', 'description': 'If True, will place the component in a container - providing some extra padding around the border.'}, 'scale': {'type': 'int | None', 'default': 'None', 'description': 'relative width compared to adjacent Components in a Row. For example, if Component A has scale=2, and Component B has scale=1, A will be twice as wide as B. Should be an integer.'}, 'min_width': {'type': 'int', 'default': '160', 'description': 'minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.'}, 'visible': {'type': 'bool', 'default': 'True', 'description': 'If False, component will be hidden.'}, 'elem_id': {'type': 'str | None', 'default': 'None', 'description': 'An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'elem_classes': {'type': 'list[str] | str | None', 'default': 'None', 'description': 'An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'render': {'type': 'bool', 'default': 'True', 'description': 'If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.'}}, 'postprocess': {'value': {'type': 'tuple[str] | str | None', 'description': 'Expects a `str` of code or a single-element `tuple`: (filepath,) with the `str` path to a file containing the code.'}}, 'preprocess': {'return': {'type': 'str | None', 'description': 'Passes the code entered as a `str`.'}, 'value': None}}, 'events': {'change': {'type': None, 'default': None, 'description': 'Triggered when the value of the HighlightedCode changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input.'}, 'input': {'type': None, 'default': None, 'description': 'This listener is triggered when the user changes the value of the HighlightedCode.'}, 'focus': {'type': None, 'default': None, 'description': 'This listener is triggered when the HighlightedCode is focused.'}, 'blur': {'type': None, 'default': None, 'description': 'This listener is triggered when the HighlightedCode is unfocused/blurred.'}}}, '__meta__': {'additional_interfaces': {}, 'user_fn_refs': {'HighlightedCode': []}}}
|
7 |
+
|
8 |
abs_path = os.path.join(os.path.dirname(__file__), "css.css")
|
9 |
|
10 |
with gr.Blocks(
|
|
|
97 |
|
98 |
The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
|
99 |
|
100 |
+
- When used as an Input, the component only impacts the input signature of the user function.
|
101 |
+
- When used as an output, the component only impacts the return signature of the user function.
|
102 |
|
103 |
The code snippet below is accurate in cases where the component is used as both an input and an output.
|
104 |
|
|
|
134 |
})
|
135 |
}
|
136 |
})
|
137 |
+
|
138 |
Object.entries(refs).forEach(([key, refs]) => {
|
139 |
if (refs.length > 0) {
|
140 |
const el = document.querySelector(`.${key}`);
|
src/README.md
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
A variant of the Code component that supports highlighting lines of code.
|
6 |
|
7 |
## Installation
|
8 |
-
|
9 |
-
```bash
|
10 |
pip install gradio_highlightedcode
|
11 |
```
|
12 |
|
@@ -81,7 +81,22 @@ str | tuple[str] | None
|
|
81 |
<td align="left" style="width: 25%;">
|
82 |
|
83 |
```python
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
| "markdown"
|
86 |
| "json"
|
87 |
| "html"
|
@@ -91,8 +106,9 @@ str | tuple[str] | None
|
|
91 |
| "yaml"
|
92 |
| "dockerfile"
|
93 |
| "shell"
|
94 |
-
| "r"
|
95 |
-
|
|
|
96 |
```
|
97 |
|
98 |
</td>
|
@@ -286,8 +302,8 @@ bool
|
|
286 |
|
287 |
The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
|
288 |
|
289 |
-
- When used as an Input, the component only impacts the input signature of the user function.
|
290 |
-
- When used as an output, the component only impacts the return signature of the user function.
|
291 |
|
292 |
The code snippet below is accurate in cases where the component is used as both an input and an output.
|
293 |
|
|
|
5 |
A variant of the Code component that supports highlighting lines of code.
|
6 |
|
7 |
## Installation
|
8 |
+
|
9 |
+
```bash
|
10 |
pip install gradio_highlightedcode
|
11 |
```
|
12 |
|
|
|
81 |
<td align="left" style="width: 25%;">
|
82 |
|
83 |
```python
|
84 |
+
typing.Optional[
|
85 |
+
typing.Literal[
|
86 |
+
"python",
|
87 |
+
"markdown",
|
88 |
+
"json",
|
89 |
+
"html",
|
90 |
+
"css",
|
91 |
+
"javascript",
|
92 |
+
"typescript",
|
93 |
+
"yaml",
|
94 |
+
"dockerfile",
|
95 |
+
"shell",
|
96 |
+
"r",
|
97 |
+
]
|
98 |
+
][
|
99 |
+
"python"
|
100 |
| "markdown"
|
101 |
| "json"
|
102 |
| "html"
|
|
|
106 |
| "yaml"
|
107 |
| "dockerfile"
|
108 |
| "shell"
|
109 |
+
| "r",
|
110 |
+
None,
|
111 |
+
]
|
112 |
```
|
113 |
|
114 |
</td>
|
|
|
302 |
|
303 |
The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
|
304 |
|
305 |
+
- When used as an Input, the component only impacts the input signature of the user function.
|
306 |
+
- When used as an output, the component only impacts the return signature of the user function.
|
307 |
|
308 |
The code snippet below is accurate in cases where the component is used as both an input and an output.
|
309 |
|
src/backend/gradio_highlightedcode/templates/component/Index-COMtKkwP.js
ADDED
The diff for this file is too large to render.
See raw diff
|
|
src/backend/gradio_highlightedcode/templates/component/dockerfile-CEE6bo6a.js
ADDED
@@ -0,0 +1,278 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function c(n) {
|
2 |
+
a(n, "start");
|
3 |
+
var t = {}, e = n.languageData || {}, s = !1;
|
4 |
+
for (var l in n) if (l != e && n.hasOwnProperty(l))
|
5 |
+
for (var u = t[l] = [], o = n[l], r = 0; r < o.length; r++) {
|
6 |
+
var i = o[r];
|
7 |
+
u.push(new w(i, n)), (i.indent || i.dedent) && (s = !0);
|
8 |
+
}
|
9 |
+
return {
|
10 |
+
name: e.name,
|
11 |
+
startState: function() {
|
12 |
+
return { state: "start", pending: null, indent: s ? [] : null };
|
13 |
+
},
|
14 |
+
copyState: function(g) {
|
15 |
+
var x = { state: g.state, pending: g.pending, indent: g.indent && g.indent.slice(0) };
|
16 |
+
return g.stack && (x.stack = g.stack.slice(0)), x;
|
17 |
+
},
|
18 |
+
token: v(t),
|
19 |
+
indent: R(t, e),
|
20 |
+
languageData: e
|
21 |
+
};
|
22 |
+
}
|
23 |
+
function a(n, t) {
|
24 |
+
if (!n.hasOwnProperty(t))
|
25 |
+
throw new Error("Undefined state " + t + " in simple mode");
|
26 |
+
}
|
27 |
+
function h(n, t) {
|
28 |
+
if (!n) return /(?:)/;
|
29 |
+
var e = "";
|
30 |
+
return n instanceof RegExp ? (n.ignoreCase && (e = "i"), n = n.source) : n = String(n), new RegExp("^(?:" + n + ")", e);
|
31 |
+
}
|
32 |
+
function y(n) {
|
33 |
+
if (!n) return null;
|
34 |
+
if (n.apply) return n;
|
35 |
+
if (typeof n == "string") return n.replace(/\./g, " ");
|
36 |
+
for (var t = [], e = 0; e < n.length; e++)
|
37 |
+
t.push(n[e] && n[e].replace(/\./g, " "));
|
38 |
+
return t;
|
39 |
+
}
|
40 |
+
function w(n, t) {
|
41 |
+
(n.next || n.push) && a(t, n.next || n.push), this.regex = h(n.regex), this.token = y(n.token), this.data = n;
|
42 |
+
}
|
43 |
+
function v(n) {
|
44 |
+
return function(t, e) {
|
45 |
+
if (e.pending) {
|
46 |
+
var s = e.pending.shift();
|
47 |
+
return e.pending.length == 0 && (e.pending = null), t.pos += s.text.length, s.token;
|
48 |
+
}
|
49 |
+
for (var l = n[e.state], u = 0; u < l.length; u++) {
|
50 |
+
var o = l[u], r = (!o.data.sol || t.sol()) && t.match(o.regex);
|
51 |
+
if (r) {
|
52 |
+
o.data.next ? e.state = o.data.next : o.data.push ? ((e.stack || (e.stack = [])).push(e.state), e.state = o.data.push) : o.data.pop && e.stack && e.stack.length && (e.state = e.stack.pop()), o.data.indent && e.indent.push(t.indentation() + t.indentUnit), o.data.dedent && e.indent.pop();
|
53 |
+
var i = o.token;
|
54 |
+
if (i && i.apply && (i = i(r)), r.length > 2 && o.token && typeof o.token != "string") {
|
55 |
+
e.pending = [];
|
56 |
+
for (var g = 2; g < r.length; g++)
|
57 |
+
r[g] && e.pending.push({ text: r[g], token: o.token[g - 1] });
|
58 |
+
return t.backUp(r[0].length - (r[1] ? r[1].length : 0)), i[0];
|
59 |
+
} else return i && i.join ? i[0] : i;
|
60 |
+
}
|
61 |
+
}
|
62 |
+
return t.next(), null;
|
63 |
+
};
|
64 |
+
}
|
65 |
+
function R(n, t) {
|
66 |
+
return function(e, s) {
|
67 |
+
if (e.indent == null || t.dontIndentStates && t.doneIndentState.indexOf(e.state) > -1)
|
68 |
+
return null;
|
69 |
+
var l = e.indent.length - 1, u = n[e.state];
|
70 |
+
n: for (; ; ) {
|
71 |
+
for (var o = 0; o < u.length; o++) {
|
72 |
+
var r = u[o];
|
73 |
+
if (r.data.dedent && r.data.dedentIfLineStart !== !1) {
|
74 |
+
var i = r.regex.exec(s);
|
75 |
+
if (i && i[0]) {
|
76 |
+
l--, (r.next || r.push) && (u = n[r.next || r.push]), s = s.slice(i[0].length);
|
77 |
+
continue n;
|
78 |
+
}
|
79 |
+
}
|
80 |
+
}
|
81 |
+
break;
|
82 |
+
}
|
83 |
+
return l < 0 ? 0 : e.indent[l];
|
84 |
+
};
|
85 |
+
}
|
86 |
+
var p = "from", $ = new RegExp("^(\\s*)\\b(" + p + ")\\b", "i"), d = ["run", "cmd", "entrypoint", "shell"], b = new RegExp("^(\\s*)(" + d.join("|") + ")(\\s+\\[)", "i"), f = "expose", m = new RegExp("^(\\s*)(" + f + ")(\\s+)", "i"), S = [
|
87 |
+
"arg",
|
88 |
+
"from",
|
89 |
+
"maintainer",
|
90 |
+
"label",
|
91 |
+
"env",
|
92 |
+
"add",
|
93 |
+
"copy",
|
94 |
+
"volume",
|
95 |
+
"user",
|
96 |
+
"workdir",
|
97 |
+
"onbuild",
|
98 |
+
"stopsignal",
|
99 |
+
"healthcheck",
|
100 |
+
"shell"
|
101 |
+
], E = [p, f].concat(d).concat(S), k = "(" + E.join("|") + ")", I = new RegExp("^(\\s*)" + k + "(\\s*)(#.*)?$", "i"), O = new RegExp("^(\\s*)" + k + "(\\s+)", "i");
|
102 |
+
const D = c({
|
103 |
+
start: [
|
104 |
+
// Block comment: This is a line starting with a comment
|
105 |
+
{
|
106 |
+
regex: /^\s*#.*$/,
|
107 |
+
sol: !0,
|
108 |
+
token: "comment"
|
109 |
+
},
|
110 |
+
{
|
111 |
+
regex: $,
|
112 |
+
token: [null, "keyword"],
|
113 |
+
sol: !0,
|
114 |
+
next: "from"
|
115 |
+
},
|
116 |
+
// Highlight an instruction without any arguments (for convenience)
|
117 |
+
{
|
118 |
+
regex: I,
|
119 |
+
token: [null, "keyword", null, "error"],
|
120 |
+
sol: !0
|
121 |
+
},
|
122 |
+
{
|
123 |
+
regex: b,
|
124 |
+
token: [null, "keyword", null],
|
125 |
+
sol: !0,
|
126 |
+
next: "array"
|
127 |
+
},
|
128 |
+
{
|
129 |
+
regex: m,
|
130 |
+
token: [null, "keyword", null],
|
131 |
+
sol: !0,
|
132 |
+
next: "expose"
|
133 |
+
},
|
134 |
+
// Highlight an instruction followed by arguments
|
135 |
+
{
|
136 |
+
regex: O,
|
137 |
+
token: [null, "keyword", null],
|
138 |
+
sol: !0,
|
139 |
+
next: "arguments"
|
140 |
+
},
|
141 |
+
{
|
142 |
+
regex: /./,
|
143 |
+
token: null
|
144 |
+
}
|
145 |
+
],
|
146 |
+
from: [
|
147 |
+
{
|
148 |
+
regex: /\s*$/,
|
149 |
+
token: null,
|
150 |
+
next: "start"
|
151 |
+
},
|
152 |
+
{
|
153 |
+
// Line comment without instruction arguments is an error
|
154 |
+
regex: /(\s*)(#.*)$/,
|
155 |
+
token: [null, "error"],
|
156 |
+
next: "start"
|
157 |
+
},
|
158 |
+
{
|
159 |
+
regex: /(\s*\S+\s+)(as)/i,
|
160 |
+
token: [null, "keyword"],
|
161 |
+
next: "start"
|
162 |
+
},
|
163 |
+
// Fail safe return to start
|
164 |
+
{
|
165 |
+
token: null,
|
166 |
+
next: "start"
|
167 |
+
}
|
168 |
+
],
|
169 |
+
single: [
|
170 |
+
{
|
171 |
+
regex: /(?:[^\\']|\\.)/,
|
172 |
+
token: "string"
|
173 |
+
},
|
174 |
+
{
|
175 |
+
regex: /'/,
|
176 |
+
token: "string",
|
177 |
+
pop: !0
|
178 |
+
}
|
179 |
+
],
|
180 |
+
double: [
|
181 |
+
{
|
182 |
+
regex: /(?:[^\\"]|\\.)/,
|
183 |
+
token: "string"
|
184 |
+
},
|
185 |
+
{
|
186 |
+
regex: /"/,
|
187 |
+
token: "string",
|
188 |
+
pop: !0
|
189 |
+
}
|
190 |
+
],
|
191 |
+
array: [
|
192 |
+
{
|
193 |
+
regex: /\]/,
|
194 |
+
token: null,
|
195 |
+
next: "start"
|
196 |
+
},
|
197 |
+
{
|
198 |
+
regex: /"(?:[^\\"]|\\.)*"?/,
|
199 |
+
token: "string"
|
200 |
+
}
|
201 |
+
],
|
202 |
+
expose: [
|
203 |
+
{
|
204 |
+
regex: /\d+$/,
|
205 |
+
token: "number",
|
206 |
+
next: "start"
|
207 |
+
},
|
208 |
+
{
|
209 |
+
regex: /[^\d]+$/,
|
210 |
+
token: null,
|
211 |
+
next: "start"
|
212 |
+
},
|
213 |
+
{
|
214 |
+
regex: /\d+/,
|
215 |
+
token: "number"
|
216 |
+
},
|
217 |
+
{
|
218 |
+
regex: /[^\d]+/,
|
219 |
+
token: null
|
220 |
+
},
|
221 |
+
// Fail safe return to start
|
222 |
+
{
|
223 |
+
token: null,
|
224 |
+
next: "start"
|
225 |
+
}
|
226 |
+
],
|
227 |
+
arguments: [
|
228 |
+
{
|
229 |
+
regex: /^\s*#.*$/,
|
230 |
+
sol: !0,
|
231 |
+
token: "comment"
|
232 |
+
},
|
233 |
+
{
|
234 |
+
regex: /"(?:[^\\"]|\\.)*"?$/,
|
235 |
+
token: "string",
|
236 |
+
next: "start"
|
237 |
+
},
|
238 |
+
{
|
239 |
+
regex: /"/,
|
240 |
+
token: "string",
|
241 |
+
push: "double"
|
242 |
+
},
|
243 |
+
{
|
244 |
+
regex: /'(?:[^\\']|\\.)*'?$/,
|
245 |
+
token: "string",
|
246 |
+
next: "start"
|
247 |
+
},
|
248 |
+
{
|
249 |
+
regex: /'/,
|
250 |
+
token: "string",
|
251 |
+
push: "single"
|
252 |
+
},
|
253 |
+
{
|
254 |
+
regex: /[^#"']+[\\`]$/,
|
255 |
+
token: null
|
256 |
+
},
|
257 |
+
{
|
258 |
+
regex: /[^#"']+$/,
|
259 |
+
token: null,
|
260 |
+
next: "start"
|
261 |
+
},
|
262 |
+
{
|
263 |
+
regex: /[^#"']+/,
|
264 |
+
token: null
|
265 |
+
},
|
266 |
+
// Fail safe return to start
|
267 |
+
{
|
268 |
+
token: null,
|
269 |
+
next: "start"
|
270 |
+
}
|
271 |
+
],
|
272 |
+
languageData: {
|
273 |
+
commentTokens: { line: "#" }
|
274 |
+
}
|
275 |
+
});
|
276 |
+
export {
|
277 |
+
D as dockerFile
|
278 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/frontmatter-DeWKdYCf.js
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { s, t as o, f as m, c as l, p as i, S as f } from "./Index-COMtKkwP.js";
|
2 |
+
import { yaml as p } from "./yaml-Dt6Tp2eU.js";
|
3 |
+
const n = /^---\s*$/m, F = {
|
4 |
+
defineNodes: [{ name: "Frontmatter", block: !0 }, "FrontmatterMark"],
|
5 |
+
props: [
|
6 |
+
s({
|
7 |
+
Frontmatter: [o.documentMeta, o.monospace],
|
8 |
+
FrontmatterMark: o.processingInstruction
|
9 |
+
}),
|
10 |
+
m.add({
|
11 |
+
Frontmatter: l,
|
12 |
+
FrontmatterMark: () => null
|
13 |
+
})
|
14 |
+
],
|
15 |
+
wrap: i((t) => {
|
16 |
+
const { parser: e } = f.define(p);
|
17 |
+
return t.type.name === "Frontmatter" ? {
|
18 |
+
parser: e,
|
19 |
+
overlay: [{ from: t.from + 4, to: t.to - 4 }]
|
20 |
+
} : null;
|
21 |
+
}),
|
22 |
+
parseBlock: [
|
23 |
+
{
|
24 |
+
name: "Frontmatter",
|
25 |
+
before: "HorizontalRule",
|
26 |
+
parse: (t, e) => {
|
27 |
+
let r;
|
28 |
+
const a = new Array();
|
29 |
+
if (t.lineStart === 0 && n.test(e.text)) {
|
30 |
+
for (a.push(t.elt("FrontmatterMark", 0, 4)); t.nextLine(); )
|
31 |
+
if (n.test(e.text)) {
|
32 |
+
r = t.lineStart + 4;
|
33 |
+
break;
|
34 |
+
}
|
35 |
+
return r !== void 0 && (a.push(t.elt("FrontmatterMark", r - 4, r)), t.addElement(t.elt("Frontmatter", 0, r, a))), !0;
|
36 |
+
}
|
37 |
+
return !1;
|
38 |
+
}
|
39 |
+
}
|
40 |
+
]
|
41 |
+
};
|
42 |
+
export {
|
43 |
+
F as frontmatter
|
44 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-B_0nvriU.js
ADDED
@@ -0,0 +1,953 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { C as be, E as $, L as Pe } from "./index-CwvQZfH0.js";
|
2 |
+
import { s as xe, t as h, p as Te, L as Ve, b as we, f as ye, D as ve, e as Xe, F as ke, a as K, E as $e } from "./Index-COMtKkwP.js";
|
3 |
+
import { cssLanguage as J, css as _e } from "./index-Bh8J2SOT.js";
|
4 |
+
import { typescriptLanguage as qe, jsxLanguage as Ce, tsxLanguage as Qe, javascriptLanguage as R, javascript as Ae } from "./index-C83s03OK.js";
|
5 |
+
const Ye = 54, Me = 1, Re = 55, Ee = 2, Ze = 56, Be = 3, z = 4, ze = 5, X = 6, ee = 7, te = 8, ae = 9, le = 10, We = 11, De = 12, Ne = 13, _ = 57, Ge = 14, W = 58, re = 20, Ie = 22, ne = 23, je = 24, Y = 26, se = 27, Ue = 28, Le = 31, Fe = 34, He = 36, Ke = 37, Je = 0, et = 1, tt = {
|
6 |
+
area: !0,
|
7 |
+
base: !0,
|
8 |
+
br: !0,
|
9 |
+
col: !0,
|
10 |
+
command: !0,
|
11 |
+
embed: !0,
|
12 |
+
frame: !0,
|
13 |
+
hr: !0,
|
14 |
+
img: !0,
|
15 |
+
input: !0,
|
16 |
+
keygen: !0,
|
17 |
+
link: !0,
|
18 |
+
meta: !0,
|
19 |
+
param: !0,
|
20 |
+
source: !0,
|
21 |
+
track: !0,
|
22 |
+
wbr: !0,
|
23 |
+
menuitem: !0
|
24 |
+
}, at = {
|
25 |
+
dd: !0,
|
26 |
+
li: !0,
|
27 |
+
optgroup: !0,
|
28 |
+
option: !0,
|
29 |
+
p: !0,
|
30 |
+
rp: !0,
|
31 |
+
rt: !0,
|
32 |
+
tbody: !0,
|
33 |
+
td: !0,
|
34 |
+
tfoot: !0,
|
35 |
+
th: !0,
|
36 |
+
tr: !0
|
37 |
+
}, D = {
|
38 |
+
dd: { dd: !0, dt: !0 },
|
39 |
+
dt: { dd: !0, dt: !0 },
|
40 |
+
li: { li: !0 },
|
41 |
+
option: { option: !0, optgroup: !0 },
|
42 |
+
optgroup: { optgroup: !0 },
|
43 |
+
p: {
|
44 |
+
address: !0,
|
45 |
+
article: !0,
|
46 |
+
aside: !0,
|
47 |
+
blockquote: !0,
|
48 |
+
dir: !0,
|
49 |
+
div: !0,
|
50 |
+
dl: !0,
|
51 |
+
fieldset: !0,
|
52 |
+
footer: !0,
|
53 |
+
form: !0,
|
54 |
+
h1: !0,
|
55 |
+
h2: !0,
|
56 |
+
h3: !0,
|
57 |
+
h4: !0,
|
58 |
+
h5: !0,
|
59 |
+
h6: !0,
|
60 |
+
header: !0,
|
61 |
+
hgroup: !0,
|
62 |
+
hr: !0,
|
63 |
+
menu: !0,
|
64 |
+
nav: !0,
|
65 |
+
ol: !0,
|
66 |
+
p: !0,
|
67 |
+
pre: !0,
|
68 |
+
section: !0,
|
69 |
+
table: !0,
|
70 |
+
ul: !0
|
71 |
+
},
|
72 |
+
rp: { rp: !0, rt: !0 },
|
73 |
+
rt: { rp: !0, rt: !0 },
|
74 |
+
tbody: { tbody: !0, tfoot: !0 },
|
75 |
+
td: { td: !0, th: !0 },
|
76 |
+
tfoot: { tbody: !0 },
|
77 |
+
th: { td: !0, th: !0 },
|
78 |
+
thead: { tbody: !0, tfoot: !0 },
|
79 |
+
tr: { tr: !0 }
|
80 |
+
};
|
81 |
+
function lt(e) {
|
82 |
+
return e == 45 || e == 46 || e == 58 || e >= 65 && e <= 90 || e == 95 || e >= 97 && e <= 122 || e >= 161;
|
83 |
+
}
|
84 |
+
function oe(e) {
|
85 |
+
return e == 9 || e == 10 || e == 13 || e == 32;
|
86 |
+
}
|
87 |
+
let N = null, G = null, I = 0;
|
88 |
+
function M(e, a) {
|
89 |
+
let r = e.pos + a;
|
90 |
+
if (I == r && G == e) return N;
|
91 |
+
let l = e.peek(a);
|
92 |
+
for (; oe(l); ) l = e.peek(++a);
|
93 |
+
let t = "";
|
94 |
+
for (; lt(l); )
|
95 |
+
t += String.fromCharCode(l), l = e.peek(++a);
|
96 |
+
return G = e, I = r, N = t ? t.toLowerCase() : l == rt || l == nt ? void 0 : null;
|
97 |
+
}
|
98 |
+
const ue = 60, k = 62, E = 47, rt = 63, nt = 33, st = 45;
|
99 |
+
function j(e, a) {
|
100 |
+
this.name = e, this.parent = a;
|
101 |
+
}
|
102 |
+
const ot = [X, le, ee, te, ae], ut = new be({
|
103 |
+
start: null,
|
104 |
+
shift(e, a, r, l) {
|
105 |
+
return ot.indexOf(a) > -1 ? new j(M(l, 1) || "", e) : e;
|
106 |
+
},
|
107 |
+
reduce(e, a) {
|
108 |
+
return a == re && e ? e.parent : e;
|
109 |
+
},
|
110 |
+
reuse(e, a, r, l) {
|
111 |
+
let t = a.type.id;
|
112 |
+
return t == X || t == He ? new j(M(l, 1) || "", e) : e;
|
113 |
+
},
|
114 |
+
strict: !1
|
115 |
+
}), Ot = new $((e, a) => {
|
116 |
+
if (e.next != ue) {
|
117 |
+
e.next < 0 && a.context && e.acceptToken(_);
|
118 |
+
return;
|
119 |
+
}
|
120 |
+
e.advance();
|
121 |
+
let r = e.next == E;
|
122 |
+
r && e.advance();
|
123 |
+
let l = M(e, 0);
|
124 |
+
if (l === void 0) return;
|
125 |
+
if (!l) return e.acceptToken(r ? Ge : X);
|
126 |
+
let t = a.context ? a.context.name : null;
|
127 |
+
if (r) {
|
128 |
+
if (l == t) return e.acceptToken(We);
|
129 |
+
if (t && at[t]) return e.acceptToken(_, -2);
|
130 |
+
if (a.dialectEnabled(Je)) return e.acceptToken(De);
|
131 |
+
for (let s = a.context; s; s = s.parent) if (s.name == l) return;
|
132 |
+
e.acceptToken(Ne);
|
133 |
+
} else {
|
134 |
+
if (l == "script") return e.acceptToken(ee);
|
135 |
+
if (l == "style") return e.acceptToken(te);
|
136 |
+
if (l == "textarea") return e.acceptToken(ae);
|
137 |
+
if (tt.hasOwnProperty(l)) return e.acceptToken(le);
|
138 |
+
t && D[t] && D[t][l] ? e.acceptToken(_, -1) : e.acceptToken(X);
|
139 |
+
}
|
140 |
+
}, { contextual: !0 }), it = new $((e) => {
|
141 |
+
for (let a = 0, r = 0; ; r++) {
|
142 |
+
if (e.next < 0) {
|
143 |
+
r && e.acceptToken(W);
|
144 |
+
break;
|
145 |
+
}
|
146 |
+
if (e.next == st)
|
147 |
+
a++;
|
148 |
+
else if (e.next == k && a >= 2) {
|
149 |
+
r >= 3 && e.acceptToken(W, -2);
|
150 |
+
break;
|
151 |
+
} else
|
152 |
+
a = 0;
|
153 |
+
e.advance();
|
154 |
+
}
|
155 |
+
});
|
156 |
+
function ct(e) {
|
157 |
+
for (; e; e = e.parent)
|
158 |
+
if (e.name == "svg" || e.name == "math") return !0;
|
159 |
+
return !1;
|
160 |
+
}
|
161 |
+
const dt = new $((e, a) => {
|
162 |
+
if (e.next == E && e.peek(1) == k) {
|
163 |
+
let r = a.dialectEnabled(et) || ct(a.context);
|
164 |
+
e.acceptToken(r ? ze : z, 2);
|
165 |
+
} else e.next == k && e.acceptToken(z, 1);
|
166 |
+
});
|
167 |
+
function Z(e, a, r) {
|
168 |
+
let l = 2 + e.length;
|
169 |
+
return new $((t) => {
|
170 |
+
for (let s = 0, o = 0, u = 0; ; u++) {
|
171 |
+
if (t.next < 0) {
|
172 |
+
u && t.acceptToken(a);
|
173 |
+
break;
|
174 |
+
}
|
175 |
+
if (s == 0 && t.next == ue || s == 1 && t.next == E || s >= 2 && s < l && t.next == e.charCodeAt(s - 2))
|
176 |
+
s++, o++;
|
177 |
+
else if ((s == 2 || s == l) && oe(t.next))
|
178 |
+
o++;
|
179 |
+
else if (s == l && t.next == k) {
|
180 |
+
u > o ? t.acceptToken(a, -o) : t.acceptToken(r, -(o - 2));
|
181 |
+
break;
|
182 |
+
} else if ((t.next == 10 || t.next == 13) && u) {
|
183 |
+
t.acceptToken(a, 1);
|
184 |
+
break;
|
185 |
+
} else
|
186 |
+
s = o = 0;
|
187 |
+
t.advance();
|
188 |
+
}
|
189 |
+
});
|
190 |
+
}
|
191 |
+
const pt = Z("script", Ye, Me), mt = Z("style", Re, Ee), ft = Z("textarea", Ze, Be), St = xe({
|
192 |
+
"Text RawText": h.content,
|
193 |
+
"StartTag StartCloseTag SelfClosingEndTag EndTag": h.angleBracket,
|
194 |
+
TagName: h.tagName,
|
195 |
+
"MismatchedCloseTag/TagName": [h.tagName, h.invalid],
|
196 |
+
AttributeName: h.attributeName,
|
197 |
+
"AttributeValue UnquotedAttributeValue": h.attributeValue,
|
198 |
+
Is: h.definitionOperator,
|
199 |
+
"EntityReference CharacterReference": h.character,
|
200 |
+
Comment: h.blockComment,
|
201 |
+
ProcessingInst: h.processingInstruction,
|
202 |
+
DoctypeDecl: h.documentMeta
|
203 |
+
}), gt = Pe.deserialize({
|
204 |
+
version: 14,
|
205 |
+
states: ",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%ZQ&rO,59fO%fQ&rO,59iO%qQ&rO,59lO%|Q&rO,59nOOOa'#D^'#D^O&XOaO'#CxO&dOaO,59[OOOb'#D_'#D_O&lObO'#C{O&wObO,59[OOOd'#D`'#D`O'POdO'#DOO'[OdO,59[OOO`'#Da'#DaO'dO!rO,59[O'kQ#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'pO$fO,59oOOO`,59o,59oO'xQ#|O,59qO'}Q#|O,59rOOO`-E7W-E7WO(SQ&rO'#CsOOQW'#DZ'#DZO(bQ&rO1G.wOOOa1G.w1G.wOOO`1G/Y1G/YO(mQ&rO1G/QOOOb1G/Q1G/QO(xQ&rO1G/TOOOd1G/T1G/TO)TQ&rO1G/WOOO`1G/W1G/WO)`Q&rO1G/YOOOa-E7[-E7[O)kQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)pQ#tO'#C|OOOd-E7^-E7^O)uQ#tO'#DPOOO`-E7_-E7_O)zQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O*PQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOO`7+$t7+$tOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rO*[Q#|O,59eO*aQ#|O,59hO*fQ#|O,59kOOO`1G/X1G/XO*kO7[O'#CvO*|OMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O+_O7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+pOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",
|
206 |
+
stateData: ",]~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OT}OhyO~OS!POT}OhyO~OS!ROT}OhyO~OS!TOT}OhyO~OS}OT}OhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXTgXhgX~OS!fOT!gOhyO~OS!hOT!gOhyO~OS!iOT!gOhyO~OS!jOT!gOhyO~OS!gOT!gOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",
|
207 |
+
goto: "%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",
|
208 |
+
nodeNames: "⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",
|
209 |
+
maxTerm: 67,
|
210 |
+
context: ut,
|
211 |
+
nodeProps: [
|
212 |
+
["closedBy", -10, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13, "EndTag", 6, "EndTag SelfClosingEndTag", -4, 21, 30, 33, 36, "CloseTag"],
|
213 |
+
["openedBy", 4, "StartTag StartCloseTag", 5, "StartTag", -4, 29, 32, 35, 37, "OpenTag"],
|
214 |
+
["group", -9, 14, 17, 18, 19, 20, 39, 40, 41, 42, "Entity", 16, "Entity TextContent", -3, 28, 31, 34, "TextContent Entity"],
|
215 |
+
["isolate", -11, 21, 29, 30, 32, 33, 35, 36, 37, 38, 41, 42, "ltr", -3, 26, 27, 39, ""]
|
216 |
+
],
|
217 |
+
propSources: [St],
|
218 |
+
skippedNodes: [0],
|
219 |
+
repeatNodeCount: 9,
|
220 |
+
tokenData: "!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",
|
221 |
+
tokenizers: [pt, mt, ft, dt, Ot, it, 0, 1, 2, 3, 4, 5],
|
222 |
+
topRules: { Document: [0, 15] },
|
223 |
+
dialects: { noMatch: 0, selfClosing: 509 },
|
224 |
+
tokenPrec: 511
|
225 |
+
});
|
226 |
+
function Oe(e, a) {
|
227 |
+
let r = /* @__PURE__ */ Object.create(null);
|
228 |
+
for (let l of e.getChildren(ne)) {
|
229 |
+
let t = l.getChild(je), s = l.getChild(Y) || l.getChild(se);
|
230 |
+
t && (r[a.read(t.from, t.to)] = s ? s.type.id == Y ? a.read(s.from + 1, s.to - 1) : a.read(s.from, s.to) : "");
|
231 |
+
}
|
232 |
+
return r;
|
233 |
+
}
|
234 |
+
function U(e, a) {
|
235 |
+
let r = e.getChild(Ie);
|
236 |
+
return r ? a.read(r.from, r.to) : " ";
|
237 |
+
}
|
238 |
+
function q(e, a, r) {
|
239 |
+
let l;
|
240 |
+
for (let t of r)
|
241 |
+
if (!t.attrs || t.attrs(l || (l = Oe(e.node.parent.firstChild, a))))
|
242 |
+
return { parser: t.parser };
|
243 |
+
return null;
|
244 |
+
}
|
245 |
+
function ie(e = [], a = []) {
|
246 |
+
let r = [], l = [], t = [], s = [];
|
247 |
+
for (let u of e)
|
248 |
+
(u.tag == "script" ? r : u.tag == "style" ? l : u.tag == "textarea" ? t : s).push(u);
|
249 |
+
let o = a.length ? /* @__PURE__ */ Object.create(null) : null;
|
250 |
+
for (let u of a) (o[u.name] || (o[u.name] = [])).push(u);
|
251 |
+
return Te((u, O) => {
|
252 |
+
let f = u.type.id;
|
253 |
+
if (f == Ue) return q(u, O, r);
|
254 |
+
if (f == Le) return q(u, O, l);
|
255 |
+
if (f == Fe) return q(u, O, t);
|
256 |
+
if (f == re && s.length) {
|
257 |
+
let p = u.node, c = p.firstChild, m = c && U(c, O), i;
|
258 |
+
if (m) {
|
259 |
+
for (let d of s)
|
260 |
+
if (d.tag == m && (!d.attrs || d.attrs(i || (i = Oe(c, O))))) {
|
261 |
+
let g = p.lastChild, b = g.type.id == Ke ? g.from : p.to;
|
262 |
+
if (b > c.to)
|
263 |
+
return { parser: d.parser, overlay: [{ from: c.to, to: b }] };
|
264 |
+
}
|
265 |
+
}
|
266 |
+
}
|
267 |
+
if (o && f == ne) {
|
268 |
+
let p = u.node, c;
|
269 |
+
if (c = p.firstChild) {
|
270 |
+
let m = o[O.read(c.from, c.to)];
|
271 |
+
if (m) for (let i of m) {
|
272 |
+
if (i.tagName && i.tagName != U(p.parent, O)) continue;
|
273 |
+
let d = p.lastChild;
|
274 |
+
if (d.type.id == Y) {
|
275 |
+
let g = d.from + 1, b = d.lastChild, P = d.to - (b && b.isError ? 0 : 1);
|
276 |
+
if (P > g) return { parser: i.parser, overlay: [{ from: g, to: P }] };
|
277 |
+
} else if (d.type.id == se)
|
278 |
+
return { parser: i.parser, overlay: [{ from: d.from, to: d.to }] };
|
279 |
+
}
|
280 |
+
}
|
281 |
+
}
|
282 |
+
return null;
|
283 |
+
});
|
284 |
+
}
|
285 |
+
const V = ["_blank", "_self", "_top", "_parent"], C = ["ascii", "utf-8", "utf-16", "latin1", "latin1"], Q = ["get", "post", "put", "delete"], A = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], S = ["true", "false"], n = {}, ht = {
|
286 |
+
a: {
|
287 |
+
attrs: {
|
288 |
+
href: null,
|
289 |
+
ping: null,
|
290 |
+
type: null,
|
291 |
+
media: null,
|
292 |
+
target: V,
|
293 |
+
hreflang: null
|
294 |
+
}
|
295 |
+
},
|
296 |
+
abbr: n,
|
297 |
+
address: n,
|
298 |
+
area: {
|
299 |
+
attrs: {
|
300 |
+
alt: null,
|
301 |
+
coords: null,
|
302 |
+
href: null,
|
303 |
+
target: null,
|
304 |
+
ping: null,
|
305 |
+
media: null,
|
306 |
+
hreflang: null,
|
307 |
+
type: null,
|
308 |
+
shape: ["default", "rect", "circle", "poly"]
|
309 |
+
}
|
310 |
+
},
|
311 |
+
article: n,
|
312 |
+
aside: n,
|
313 |
+
audio: {
|
314 |
+
attrs: {
|
315 |
+
src: null,
|
316 |
+
mediagroup: null,
|
317 |
+
crossorigin: ["anonymous", "use-credentials"],
|
318 |
+
preload: ["none", "metadata", "auto"],
|
319 |
+
autoplay: ["autoplay"],
|
320 |
+
loop: ["loop"],
|
321 |
+
controls: ["controls"]
|
322 |
+
}
|
323 |
+
},
|
324 |
+
b: n,
|
325 |
+
base: { attrs: { href: null, target: V } },
|
326 |
+
bdi: n,
|
327 |
+
bdo: n,
|
328 |
+
blockquote: { attrs: { cite: null } },
|
329 |
+
body: n,
|
330 |
+
br: n,
|
331 |
+
button: {
|
332 |
+
attrs: {
|
333 |
+
form: null,
|
334 |
+
formaction: null,
|
335 |
+
name: null,
|
336 |
+
value: null,
|
337 |
+
autofocus: ["autofocus"],
|
338 |
+
disabled: ["autofocus"],
|
339 |
+
formenctype: A,
|
340 |
+
formmethod: Q,
|
341 |
+
formnovalidate: ["novalidate"],
|
342 |
+
formtarget: V,
|
343 |
+
type: ["submit", "reset", "button"]
|
344 |
+
}
|
345 |
+
},
|
346 |
+
canvas: { attrs: { width: null, height: null } },
|
347 |
+
caption: n,
|
348 |
+
center: n,
|
349 |
+
cite: n,
|
350 |
+
code: n,
|
351 |
+
col: { attrs: { span: null } },
|
352 |
+
colgroup: { attrs: { span: null } },
|
353 |
+
command: {
|
354 |
+
attrs: {
|
355 |
+
type: ["command", "checkbox", "radio"],
|
356 |
+
label: null,
|
357 |
+
icon: null,
|
358 |
+
radiogroup: null,
|
359 |
+
command: null,
|
360 |
+
title: null,
|
361 |
+
disabled: ["disabled"],
|
362 |
+
checked: ["checked"]
|
363 |
+
}
|
364 |
+
},
|
365 |
+
data: { attrs: { value: null } },
|
366 |
+
datagrid: { attrs: { disabled: ["disabled"], multiple: ["multiple"] } },
|
367 |
+
datalist: { attrs: { data: null } },
|
368 |
+
dd: n,
|
369 |
+
del: { attrs: { cite: null, datetime: null } },
|
370 |
+
details: { attrs: { open: ["open"] } },
|
371 |
+
dfn: n,
|
372 |
+
div: n,
|
373 |
+
dl: n,
|
374 |
+
dt: n,
|
375 |
+
em: n,
|
376 |
+
embed: { attrs: { src: null, type: null, width: null, height: null } },
|
377 |
+
eventsource: { attrs: { src: null } },
|
378 |
+
fieldset: { attrs: { disabled: ["disabled"], form: null, name: null } },
|
379 |
+
figcaption: n,
|
380 |
+
figure: n,
|
381 |
+
footer: n,
|
382 |
+
form: {
|
383 |
+
attrs: {
|
384 |
+
action: null,
|
385 |
+
name: null,
|
386 |
+
"accept-charset": C,
|
387 |
+
autocomplete: ["on", "off"],
|
388 |
+
enctype: A,
|
389 |
+
method: Q,
|
390 |
+
novalidate: ["novalidate"],
|
391 |
+
target: V
|
392 |
+
}
|
393 |
+
},
|
394 |
+
h1: n,
|
395 |
+
h2: n,
|
396 |
+
h3: n,
|
397 |
+
h4: n,
|
398 |
+
h5: n,
|
399 |
+
h6: n,
|
400 |
+
head: {
|
401 |
+
children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"]
|
402 |
+
},
|
403 |
+
header: n,
|
404 |
+
hgroup: n,
|
405 |
+
hr: n,
|
406 |
+
html: {
|
407 |
+
attrs: { manifest: null }
|
408 |
+
},
|
409 |
+
i: n,
|
410 |
+
iframe: {
|
411 |
+
attrs: {
|
412 |
+
src: null,
|
413 |
+
srcdoc: null,
|
414 |
+
name: null,
|
415 |
+
width: null,
|
416 |
+
height: null,
|
417 |
+
sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"],
|
418 |
+
seamless: ["seamless"]
|
419 |
+
}
|
420 |
+
},
|
421 |
+
img: {
|
422 |
+
attrs: {
|
423 |
+
alt: null,
|
424 |
+
src: null,
|
425 |
+
ismap: null,
|
426 |
+
usemap: null,
|
427 |
+
width: null,
|
428 |
+
height: null,
|
429 |
+
crossorigin: ["anonymous", "use-credentials"]
|
430 |
+
}
|
431 |
+
},
|
432 |
+
input: {
|
433 |
+
attrs: {
|
434 |
+
alt: null,
|
435 |
+
dirname: null,
|
436 |
+
form: null,
|
437 |
+
formaction: null,
|
438 |
+
height: null,
|
439 |
+
list: null,
|
440 |
+
max: null,
|
441 |
+
maxlength: null,
|
442 |
+
min: null,
|
443 |
+
name: null,
|
444 |
+
pattern: null,
|
445 |
+
placeholder: null,
|
446 |
+
size: null,
|
447 |
+
src: null,
|
448 |
+
step: null,
|
449 |
+
value: null,
|
450 |
+
width: null,
|
451 |
+
accept: ["audio/*", "video/*", "image/*"],
|
452 |
+
autocomplete: ["on", "off"],
|
453 |
+
autofocus: ["autofocus"],
|
454 |
+
checked: ["checked"],
|
455 |
+
disabled: ["disabled"],
|
456 |
+
formenctype: A,
|
457 |
+
formmethod: Q,
|
458 |
+
formnovalidate: ["novalidate"],
|
459 |
+
formtarget: V,
|
460 |
+
multiple: ["multiple"],
|
461 |
+
readonly: ["readonly"],
|
462 |
+
required: ["required"],
|
463 |
+
type: [
|
464 |
+
"hidden",
|
465 |
+
"text",
|
466 |
+
"search",
|
467 |
+
"tel",
|
468 |
+
"url",
|
469 |
+
"email",
|
470 |
+
"password",
|
471 |
+
"datetime",
|
472 |
+
"date",
|
473 |
+
"month",
|
474 |
+
"week",
|
475 |
+
"time",
|
476 |
+
"datetime-local",
|
477 |
+
"number",
|
478 |
+
"range",
|
479 |
+
"color",
|
480 |
+
"checkbox",
|
481 |
+
"radio",
|
482 |
+
"file",
|
483 |
+
"submit",
|
484 |
+
"image",
|
485 |
+
"reset",
|
486 |
+
"button"
|
487 |
+
]
|
488 |
+
}
|
489 |
+
},
|
490 |
+
ins: { attrs: { cite: null, datetime: null } },
|
491 |
+
kbd: n,
|
492 |
+
keygen: {
|
493 |
+
attrs: {
|
494 |
+
challenge: null,
|
495 |
+
form: null,
|
496 |
+
name: null,
|
497 |
+
autofocus: ["autofocus"],
|
498 |
+
disabled: ["disabled"],
|
499 |
+
keytype: ["RSA"]
|
500 |
+
}
|
501 |
+
},
|
502 |
+
label: { attrs: { for: null, form: null } },
|
503 |
+
legend: n,
|
504 |
+
li: { attrs: { value: null } },
|
505 |
+
link: {
|
506 |
+
attrs: {
|
507 |
+
href: null,
|
508 |
+
type: null,
|
509 |
+
hreflang: null,
|
510 |
+
media: null,
|
511 |
+
sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"]
|
512 |
+
}
|
513 |
+
},
|
514 |
+
map: { attrs: { name: null } },
|
515 |
+
mark: n,
|
516 |
+
menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } },
|
517 |
+
meta: {
|
518 |
+
attrs: {
|
519 |
+
content: null,
|
520 |
+
charset: C,
|
521 |
+
name: ["viewport", "application-name", "author", "description", "generator", "keywords"],
|
522 |
+
"http-equiv": ["content-language", "content-type", "default-style", "refresh"]
|
523 |
+
}
|
524 |
+
},
|
525 |
+
meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },
|
526 |
+
nav: n,
|
527 |
+
noscript: n,
|
528 |
+
object: {
|
529 |
+
attrs: {
|
530 |
+
data: null,
|
531 |
+
type: null,
|
532 |
+
name: null,
|
533 |
+
usemap: null,
|
534 |
+
form: null,
|
535 |
+
width: null,
|
536 |
+
height: null,
|
537 |
+
typemustmatch: ["typemustmatch"]
|
538 |
+
}
|
539 |
+
},
|
540 |
+
ol: {
|
541 |
+
attrs: { reversed: ["reversed"], start: null, type: ["1", "a", "A", "i", "I"] },
|
542 |
+
children: ["li", "script", "template", "ul", "ol"]
|
543 |
+
},
|
544 |
+
optgroup: { attrs: { disabled: ["disabled"], label: null } },
|
545 |
+
option: { attrs: { disabled: ["disabled"], label: null, selected: ["selected"], value: null } },
|
546 |
+
output: { attrs: { for: null, form: null, name: null } },
|
547 |
+
p: n,
|
548 |
+
param: { attrs: { name: null, value: null } },
|
549 |
+
pre: n,
|
550 |
+
progress: { attrs: { value: null, max: null } },
|
551 |
+
q: { attrs: { cite: null } },
|
552 |
+
rp: n,
|
553 |
+
rt: n,
|
554 |
+
ruby: n,
|
555 |
+
samp: n,
|
556 |
+
script: {
|
557 |
+
attrs: {
|
558 |
+
type: ["text/javascript"],
|
559 |
+
src: null,
|
560 |
+
async: ["async"],
|
561 |
+
defer: ["defer"],
|
562 |
+
charset: C
|
563 |
+
}
|
564 |
+
},
|
565 |
+
section: n,
|
566 |
+
select: {
|
567 |
+
attrs: {
|
568 |
+
form: null,
|
569 |
+
name: null,
|
570 |
+
size: null,
|
571 |
+
autofocus: ["autofocus"],
|
572 |
+
disabled: ["disabled"],
|
573 |
+
multiple: ["multiple"]
|
574 |
+
}
|
575 |
+
},
|
576 |
+
slot: { attrs: { name: null } },
|
577 |
+
small: n,
|
578 |
+
source: { attrs: { src: null, type: null, media: null } },
|
579 |
+
span: n,
|
580 |
+
strong: n,
|
581 |
+
style: {
|
582 |
+
attrs: {
|
583 |
+
type: ["text/css"],
|
584 |
+
media: null,
|
585 |
+
scoped: null
|
586 |
+
}
|
587 |
+
},
|
588 |
+
sub: n,
|
589 |
+
summary: n,
|
590 |
+
sup: n,
|
591 |
+
table: n,
|
592 |
+
tbody: n,
|
593 |
+
td: { attrs: { colspan: null, rowspan: null, headers: null } },
|
594 |
+
template: n,
|
595 |
+
textarea: {
|
596 |
+
attrs: {
|
597 |
+
dirname: null,
|
598 |
+
form: null,
|
599 |
+
maxlength: null,
|
600 |
+
name: null,
|
601 |
+
placeholder: null,
|
602 |
+
rows: null,
|
603 |
+
cols: null,
|
604 |
+
autofocus: ["autofocus"],
|
605 |
+
disabled: ["disabled"],
|
606 |
+
readonly: ["readonly"],
|
607 |
+
required: ["required"],
|
608 |
+
wrap: ["soft", "hard"]
|
609 |
+
}
|
610 |
+
},
|
611 |
+
tfoot: n,
|
612 |
+
th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } },
|
613 |
+
thead: n,
|
614 |
+
time: { attrs: { datetime: null } },
|
615 |
+
title: n,
|
616 |
+
tr: n,
|
617 |
+
track: {
|
618 |
+
attrs: {
|
619 |
+
src: null,
|
620 |
+
label: null,
|
621 |
+
default: null,
|
622 |
+
kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"],
|
623 |
+
srclang: null
|
624 |
+
}
|
625 |
+
},
|
626 |
+
ul: { children: ["li", "script", "template", "ul", "ol"] },
|
627 |
+
var: n,
|
628 |
+
video: {
|
629 |
+
attrs: {
|
630 |
+
src: null,
|
631 |
+
poster: null,
|
632 |
+
width: null,
|
633 |
+
height: null,
|
634 |
+
crossorigin: ["anonymous", "use-credentials"],
|
635 |
+
preload: ["auto", "metadata", "none"],
|
636 |
+
autoplay: ["autoplay"],
|
637 |
+
mediagroup: ["movie"],
|
638 |
+
muted: ["muted"],
|
639 |
+
controls: ["controls"]
|
640 |
+
}
|
641 |
+
},
|
642 |
+
wbr: n
|
643 |
+
}, ce = {
|
644 |
+
accesskey: null,
|
645 |
+
class: null,
|
646 |
+
contenteditable: S,
|
647 |
+
contextmenu: null,
|
648 |
+
dir: ["ltr", "rtl", "auto"],
|
649 |
+
draggable: ["true", "false", "auto"],
|
650 |
+
dropzone: ["copy", "move", "link", "string:", "file:"],
|
651 |
+
hidden: ["hidden"],
|
652 |
+
id: null,
|
653 |
+
inert: ["inert"],
|
654 |
+
itemid: null,
|
655 |
+
itemprop: null,
|
656 |
+
itemref: null,
|
657 |
+
itemscope: ["itemscope"],
|
658 |
+
itemtype: null,
|
659 |
+
lang: ["ar", "bn", "de", "en-GB", "en-US", "es", "fr", "hi", "id", "ja", "pa", "pt", "ru", "tr", "zh"],
|
660 |
+
spellcheck: S,
|
661 |
+
autocorrect: S,
|
662 |
+
autocapitalize: S,
|
663 |
+
style: null,
|
664 |
+
tabindex: null,
|
665 |
+
title: null,
|
666 |
+
translate: ["yes", "no"],
|
667 |
+
rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"],
|
668 |
+
role: /* @__PURE__ */ "alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),
|
669 |
+
"aria-activedescendant": null,
|
670 |
+
"aria-atomic": S,
|
671 |
+
"aria-autocomplete": ["inline", "list", "both", "none"],
|
672 |
+
"aria-busy": S,
|
673 |
+
"aria-checked": ["true", "false", "mixed", "undefined"],
|
674 |
+
"aria-controls": null,
|
675 |
+
"aria-describedby": null,
|
676 |
+
"aria-disabled": S,
|
677 |
+
"aria-dropeffect": null,
|
678 |
+
"aria-expanded": ["true", "false", "undefined"],
|
679 |
+
"aria-flowto": null,
|
680 |
+
"aria-grabbed": ["true", "false", "undefined"],
|
681 |
+
"aria-haspopup": S,
|
682 |
+
"aria-hidden": S,
|
683 |
+
"aria-invalid": ["true", "false", "grammar", "spelling"],
|
684 |
+
"aria-label": null,
|
685 |
+
"aria-labelledby": null,
|
686 |
+
"aria-level": null,
|
687 |
+
"aria-live": ["off", "polite", "assertive"],
|
688 |
+
"aria-multiline": S,
|
689 |
+
"aria-multiselectable": S,
|
690 |
+
"aria-owns": null,
|
691 |
+
"aria-posinset": null,
|
692 |
+
"aria-pressed": ["true", "false", "mixed", "undefined"],
|
693 |
+
"aria-readonly": S,
|
694 |
+
"aria-relevant": null,
|
695 |
+
"aria-required": S,
|
696 |
+
"aria-selected": ["true", "false", "undefined"],
|
697 |
+
"aria-setsize": null,
|
698 |
+
"aria-sort": ["ascending", "descending", "none", "other"],
|
699 |
+
"aria-valuemax": null,
|
700 |
+
"aria-valuemin": null,
|
701 |
+
"aria-valuenow": null,
|
702 |
+
"aria-valuetext": null
|
703 |
+
}, de = /* @__PURE__ */ "beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((e) => "on" + e);
|
704 |
+
for (let e of de)
|
705 |
+
ce[e] = null;
|
706 |
+
class w {
|
707 |
+
constructor(a, r) {
|
708 |
+
this.tags = Object.assign(Object.assign({}, ht), a), this.globalAttrs = Object.assign(Object.assign({}, ce), r), this.allTags = Object.keys(this.tags), this.globalAttrNames = Object.keys(this.globalAttrs);
|
709 |
+
}
|
710 |
+
}
|
711 |
+
w.default = /* @__PURE__ */ new w();
|
712 |
+
function x(e, a, r = e.length) {
|
713 |
+
if (!a)
|
714 |
+
return "";
|
715 |
+
let l = a.firstChild, t = l && l.getChild("TagName");
|
716 |
+
return t ? e.sliceString(t.from, Math.min(t.to, r)) : "";
|
717 |
+
}
|
718 |
+
function T(e, a = !1) {
|
719 |
+
for (; e; e = e.parent)
|
720 |
+
if (e.name == "Element")
|
721 |
+
if (a)
|
722 |
+
a = !1;
|
723 |
+
else
|
724 |
+
return e;
|
725 |
+
return null;
|
726 |
+
}
|
727 |
+
function pe(e, a, r) {
|
728 |
+
let l = r.tags[x(e, T(a))];
|
729 |
+
return l?.children || r.allTags;
|
730 |
+
}
|
731 |
+
function B(e, a) {
|
732 |
+
let r = [];
|
733 |
+
for (let l = T(a); l && !l.type.isTop; l = T(l.parent)) {
|
734 |
+
let t = x(e, l);
|
735 |
+
if (t && l.lastChild.name == "CloseTag")
|
736 |
+
break;
|
737 |
+
t && r.indexOf(t) < 0 && (a.name == "EndTag" || a.from >= l.firstChild.to) && r.push(t);
|
738 |
+
}
|
739 |
+
return r;
|
740 |
+
}
|
741 |
+
const me = /^[:\-\.\w\u00b7-\uffff]*$/;
|
742 |
+
function L(e, a, r, l, t) {
|
743 |
+
let s = /\s*>/.test(e.sliceDoc(t, t + 5)) ? "" : ">", o = T(r, !0);
|
744 |
+
return {
|
745 |
+
from: l,
|
746 |
+
to: t,
|
747 |
+
options: pe(e.doc, o, a).map((u) => ({ label: u, type: "type" })).concat(B(e.doc, r).map((u, O) => ({
|
748 |
+
label: "/" + u,
|
749 |
+
apply: "/" + u + s,
|
750 |
+
type: "type",
|
751 |
+
boost: 99 - O
|
752 |
+
}))),
|
753 |
+
validFor: /^\/?[:\-\.\w\u00b7-\uffff]*$/
|
754 |
+
};
|
755 |
+
}
|
756 |
+
function F(e, a, r, l) {
|
757 |
+
let t = /\s*>/.test(e.sliceDoc(l, l + 5)) ? "" : ">";
|
758 |
+
return {
|
759 |
+
from: r,
|
760 |
+
to: l,
|
761 |
+
options: B(e.doc, a).map((s, o) => ({ label: s, apply: s + t, type: "type", boost: 99 - o })),
|
762 |
+
validFor: me
|
763 |
+
};
|
764 |
+
}
|
765 |
+
function bt(e, a, r, l) {
|
766 |
+
let t = [], s = 0;
|
767 |
+
for (let o of pe(e.doc, r, a))
|
768 |
+
t.push({ label: "<" + o, type: "type" });
|
769 |
+
for (let o of B(e.doc, r))
|
770 |
+
t.push({ label: "</" + o + ">", type: "type", boost: 99 - s++ });
|
771 |
+
return { from: l, to: l, options: t, validFor: /^<\/?[:\-\.\w\u00b7-\uffff]*$/ };
|
772 |
+
}
|
773 |
+
function Pt(e, a, r, l, t) {
|
774 |
+
let s = T(r), o = s ? a.tags[x(e.doc, s)] : null, u = o && o.attrs ? Object.keys(o.attrs) : [], O = o && o.globalAttrs === !1 ? u : u.length ? u.concat(a.globalAttrNames) : a.globalAttrNames;
|
775 |
+
return {
|
776 |
+
from: l,
|
777 |
+
to: t,
|
778 |
+
options: O.map((f) => ({ label: f, type: "property" })),
|
779 |
+
validFor: me
|
780 |
+
};
|
781 |
+
}
|
782 |
+
function xt(e, a, r, l, t) {
|
783 |
+
var s;
|
784 |
+
let o = (s = r.parent) === null || s === void 0 ? void 0 : s.getChild("AttributeName"), u = [], O;
|
785 |
+
if (o) {
|
786 |
+
let f = e.sliceDoc(o.from, o.to), p = a.globalAttrs[f];
|
787 |
+
if (!p) {
|
788 |
+
let c = T(r), m = c ? a.tags[x(e.doc, c)] : null;
|
789 |
+
p = m?.attrs && m.attrs[f];
|
790 |
+
}
|
791 |
+
if (p) {
|
792 |
+
let c = e.sliceDoc(l, t).toLowerCase(), m = '"', i = '"';
|
793 |
+
/^['"]/.test(c) ? (O = c[0] == '"' ? /^[^"]*$/ : /^[^']*$/, m = "", i = e.sliceDoc(t, t + 1) == c[0] ? "" : c[0], c = c.slice(1), l++) : O = /^[^\s<>='"]*$/;
|
794 |
+
for (let d of p)
|
795 |
+
u.push({ label: d, apply: m + d + i, type: "constant" });
|
796 |
+
}
|
797 |
+
}
|
798 |
+
return { from: l, to: t, options: u, validFor: O };
|
799 |
+
}
|
800 |
+
function fe(e, a) {
|
801 |
+
let { state: r, pos: l } = a, t = K(r).resolveInner(l, -1), s = t.resolve(l);
|
802 |
+
for (let o = l, u; s == t && (u = t.childBefore(o)); ) {
|
803 |
+
let O = u.lastChild;
|
804 |
+
if (!O || !O.type.isError || O.from < O.to)
|
805 |
+
break;
|
806 |
+
s = t = u, o = O.from;
|
807 |
+
}
|
808 |
+
return t.name == "TagName" ? t.parent && /CloseTag$/.test(t.parent.name) ? F(r, t, t.from, l) : L(r, e, t, t.from, l) : t.name == "StartTag" ? L(r, e, t, l, l) : t.name == "StartCloseTag" || t.name == "IncompleteCloseTag" ? F(r, t, l, l) : t.name == "OpenTag" || t.name == "SelfClosingTag" || t.name == "AttributeName" ? Pt(r, e, t, t.name == "AttributeName" ? t.from : l, l) : t.name == "Is" || t.name == "AttributeValue" || t.name == "UnquotedAttributeValue" ? xt(r, e, t, t.name == "Is" ? l : t.from, l) : a.explicit && (s.name == "Element" || s.name == "Text" || s.name == "Document") ? bt(r, e, t, l) : null;
|
809 |
+
}
|
810 |
+
function $t(e) {
|
811 |
+
return fe(w.default, e);
|
812 |
+
}
|
813 |
+
function Tt(e) {
|
814 |
+
let { extraTags: a, extraGlobalAttributes: r } = e, l = r || a ? new w(a, r) : w.default;
|
815 |
+
return (t) => fe(l, t);
|
816 |
+
}
|
817 |
+
const Vt = /* @__PURE__ */ R.parser.configure({ top: "SingleExpression" }), Se = [
|
818 |
+
{
|
819 |
+
tag: "script",
|
820 |
+
attrs: (e) => e.type == "text/typescript" || e.lang == "ts",
|
821 |
+
parser: qe.parser
|
822 |
+
},
|
823 |
+
{
|
824 |
+
tag: "script",
|
825 |
+
attrs: (e) => e.type == "text/babel" || e.type == "text/jsx",
|
826 |
+
parser: Ce.parser
|
827 |
+
},
|
828 |
+
{
|
829 |
+
tag: "script",
|
830 |
+
attrs: (e) => e.type == "text/typescript-jsx",
|
831 |
+
parser: Qe.parser
|
832 |
+
},
|
833 |
+
{
|
834 |
+
tag: "script",
|
835 |
+
attrs(e) {
|
836 |
+
return /^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type);
|
837 |
+
},
|
838 |
+
parser: Vt
|
839 |
+
},
|
840 |
+
{
|
841 |
+
tag: "script",
|
842 |
+
attrs(e) {
|
843 |
+
return !e.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type);
|
844 |
+
},
|
845 |
+
parser: R.parser
|
846 |
+
},
|
847 |
+
{
|
848 |
+
tag: "style",
|
849 |
+
attrs(e) {
|
850 |
+
return (!e.lang || e.lang == "css") && (!e.type || /^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type));
|
851 |
+
},
|
852 |
+
parser: J.parser
|
853 |
+
}
|
854 |
+
], ge = /* @__PURE__ */ [
|
855 |
+
{
|
856 |
+
name: "style",
|
857 |
+
parser: /* @__PURE__ */ J.parser.configure({ top: "Styles" })
|
858 |
+
}
|
859 |
+
].concat(/* @__PURE__ */ de.map((e) => ({ name: e, parser: R.parser }))), he = /* @__PURE__ */ Ve.define({
|
860 |
+
name: "html",
|
861 |
+
parser: /* @__PURE__ */ gt.configure({
|
862 |
+
props: [
|
863 |
+
/* @__PURE__ */ we.add({
|
864 |
+
Element(e) {
|
865 |
+
let a = /^(\s*)(<\/)?/.exec(e.textAfter);
|
866 |
+
return e.node.to <= e.pos + a[0].length ? e.continue() : e.lineIndent(e.node.from) + (a[2] ? 0 : e.unit);
|
867 |
+
},
|
868 |
+
"OpenTag CloseTag SelfClosingTag"(e) {
|
869 |
+
return e.column(e.node.from) + e.unit;
|
870 |
+
},
|
871 |
+
Document(e) {
|
872 |
+
if (e.pos + /\s*/.exec(e.textAfter)[0].length < e.node.to)
|
873 |
+
return e.continue();
|
874 |
+
let a = null, r;
|
875 |
+
for (let l = e.node; ; ) {
|
876 |
+
let t = l.lastChild;
|
877 |
+
if (!t || t.name != "Element" || t.to != l.to)
|
878 |
+
break;
|
879 |
+
a = l = t;
|
880 |
+
}
|
881 |
+
return a && !((r = a.lastChild) && (r.name == "CloseTag" || r.name == "SelfClosingTag")) ? e.lineIndent(a.from) + e.unit : null;
|
882 |
+
}
|
883 |
+
}),
|
884 |
+
/* @__PURE__ */ ye.add({
|
885 |
+
Element(e) {
|
886 |
+
let a = e.firstChild, r = e.lastChild;
|
887 |
+
return !a || a.name != "OpenTag" ? null : { from: a.to, to: r.name == "CloseTag" ? r.from : e.to };
|
888 |
+
}
|
889 |
+
}),
|
890 |
+
/* @__PURE__ */ ve.add({
|
891 |
+
"OpenTag CloseTag": (e) => e.getChild("TagName")
|
892 |
+
})
|
893 |
+
]
|
894 |
+
}),
|
895 |
+
languageData: {
|
896 |
+
commentTokens: { block: { open: "<!--", close: "-->" } },
|
897 |
+
indentOnInput: /^\s*<\/\w+\W$/,
|
898 |
+
wordChars: "-._"
|
899 |
+
}
|
900 |
+
}), v = /* @__PURE__ */ he.configure({
|
901 |
+
wrap: /* @__PURE__ */ ie(Se, ge)
|
902 |
+
});
|
903 |
+
function _t(e = {}) {
|
904 |
+
let a = "", r;
|
905 |
+
e.matchClosingTags === !1 && (a = "noMatch"), e.selfClosingTags === !0 && (a = (a ? a + " " : "") + "selfClosing"), (e.nestedLanguages && e.nestedLanguages.length || e.nestedAttributes && e.nestedAttributes.length) && (r = ie((e.nestedLanguages || []).concat(Se), (e.nestedAttributes || []).concat(ge)));
|
906 |
+
let l = r ? he.configure({ wrap: r, dialect: a }) : a ? v.configure({ dialect: a }) : v;
|
907 |
+
return new Xe(l, [
|
908 |
+
v.data.of({ autocomplete: Tt(e) }),
|
909 |
+
e.autoCloseTags !== !1 ? wt : [],
|
910 |
+
Ae().support,
|
911 |
+
_e().support
|
912 |
+
]);
|
913 |
+
}
|
914 |
+
const H = /* @__PURE__ */ new Set(/* @__PURE__ */ "area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")), wt = /* @__PURE__ */ ke.inputHandler.of((e, a, r, l, t) => {
|
915 |
+
if (e.composing || e.state.readOnly || a != r || l != ">" && l != "/" || !v.isActiveAt(e.state, a, -1))
|
916 |
+
return !1;
|
917 |
+
let s = t(), { state: o } = s, u = o.changeByRange((O) => {
|
918 |
+
var f, p, c;
|
919 |
+
let m = o.doc.sliceString(O.from - 1, O.to) == l, { head: i } = O, d = K(o).resolveInner(i, -1), g;
|
920 |
+
if (m && l == ">" && d.name == "EndTag") {
|
921 |
+
let b = d.parent;
|
922 |
+
if (((p = (f = b.parent) === null || f === void 0 ? void 0 : f.lastChild) === null || p === void 0 ? void 0 : p.name) != "CloseTag" && (g = x(o.doc, b.parent, i)) && !H.has(g)) {
|
923 |
+
let P = i + (o.doc.sliceString(i, i + 1) === ">" ? 1 : 0), y = `</${g}>`;
|
924 |
+
return { range: O, changes: { from: i, to: P, insert: y } };
|
925 |
+
}
|
926 |
+
} else if (m && l == "/" && d.name == "IncompleteCloseTag") {
|
927 |
+
let b = d.parent;
|
928 |
+
if (d.from == i - 2 && ((c = b.lastChild) === null || c === void 0 ? void 0 : c.name) != "CloseTag" && (g = x(o.doc, b, i)) && !H.has(g)) {
|
929 |
+
let P = i + (o.doc.sliceString(i, i + 1) === ">" ? 1 : 0), y = `${g}>`;
|
930 |
+
return {
|
931 |
+
range: $e.cursor(i + y.length, -1),
|
932 |
+
changes: { from: i, to: P, insert: y }
|
933 |
+
};
|
934 |
+
}
|
935 |
+
}
|
936 |
+
return { range: O };
|
937 |
+
});
|
938 |
+
return u.changes.empty ? !1 : (e.dispatch([
|
939 |
+
s,
|
940 |
+
o.update(u, {
|
941 |
+
userEvent: "input.complete",
|
942 |
+
scrollIntoView: !0
|
943 |
+
})
|
944 |
+
]), !0);
|
945 |
+
});
|
946 |
+
export {
|
947 |
+
wt as autoCloseTags,
|
948 |
+
_t as html,
|
949 |
+
$t as htmlCompletionSource,
|
950 |
+
Tt as htmlCompletionSourceWith,
|
951 |
+
v as htmlLanguage,
|
952 |
+
he as htmlPlain
|
953 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-Bh8J2SOT.js
ADDED
@@ -0,0 +1,945 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { E as m, L as k, a as v } from "./index-CwvQZfH0.js";
|
2 |
+
import { s as z, t as o, a as x, L as T, b as R, B as W, f as U, c as Y, e as q, I as E, N as Z } from "./Index-COMtKkwP.js";
|
3 |
+
const _ = 99, S = 1, G = 100, C = 101, g = 2, $ = [
|
4 |
+
9,
|
5 |
+
10,
|
6 |
+
11,
|
7 |
+
12,
|
8 |
+
13,
|
9 |
+
32,
|
10 |
+
133,
|
11 |
+
160,
|
12 |
+
5760,
|
13 |
+
8192,
|
14 |
+
8193,
|
15 |
+
8194,
|
16 |
+
8195,
|
17 |
+
8196,
|
18 |
+
8197,
|
19 |
+
8198,
|
20 |
+
8199,
|
21 |
+
8200,
|
22 |
+
8201,
|
23 |
+
8202,
|
24 |
+
8232,
|
25 |
+
8233,
|
26 |
+
8239,
|
27 |
+
8287,
|
28 |
+
12288
|
29 |
+
], V = 58, N = 40, P = 95, j = 91, p = 45, D = 46, I = 35, B = 37, F = 38, K = 92, L = 10;
|
30 |
+
function d(e) {
|
31 |
+
return e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 161;
|
32 |
+
}
|
33 |
+
function X(e) {
|
34 |
+
return e >= 48 && e <= 57;
|
35 |
+
}
|
36 |
+
const A = new m((e, t) => {
|
37 |
+
for (let l = !1, a = 0, O = 0; ; O++) {
|
38 |
+
let { next: r } = e;
|
39 |
+
if (d(r) || r == p || r == P || l && X(r))
|
40 |
+
!l && (r != p || O > 0) && (l = !0), a === O && r == p && a++, e.advance();
|
41 |
+
else if (r == K && e.peek(1) != L)
|
42 |
+
e.advance(), e.next > -1 && e.advance(), l = !0;
|
43 |
+
else {
|
44 |
+
l && e.acceptToken(r == N ? G : a == 2 && t.canShift(g) ? g : C);
|
45 |
+
break;
|
46 |
+
}
|
47 |
+
}
|
48 |
+
}), J = new m((e) => {
|
49 |
+
if ($.includes(e.peek(-1))) {
|
50 |
+
let { next: t } = e;
|
51 |
+
(d(t) || t == P || t == I || t == D || t == j || t == V && d(e.peek(1)) || t == p || t == F) && e.acceptToken(_);
|
52 |
+
}
|
53 |
+
}), H = new m((e) => {
|
54 |
+
if (!$.includes(e.peek(-1))) {
|
55 |
+
let { next: t } = e;
|
56 |
+
if (t == B && (e.advance(), e.acceptToken(S)), d(t)) {
|
57 |
+
do
|
58 |
+
e.advance();
|
59 |
+
while (d(e.next) || X(e.next));
|
60 |
+
e.acceptToken(S);
|
61 |
+
}
|
62 |
+
}
|
63 |
+
}), M = z({
|
64 |
+
"AtKeyword import charset namespace keyframes media supports": o.definitionKeyword,
|
65 |
+
"from to selector": o.keyword,
|
66 |
+
NamespaceName: o.namespace,
|
67 |
+
KeyframeName: o.labelName,
|
68 |
+
KeyframeRangeName: o.operatorKeyword,
|
69 |
+
TagName: o.tagName,
|
70 |
+
ClassName: o.className,
|
71 |
+
PseudoClassName: o.constant(o.className),
|
72 |
+
IdName: o.labelName,
|
73 |
+
"FeatureName PropertyName": o.propertyName,
|
74 |
+
AttributeName: o.attributeName,
|
75 |
+
NumberLiteral: o.number,
|
76 |
+
KeywordQuery: o.keyword,
|
77 |
+
UnaryQueryOp: o.operatorKeyword,
|
78 |
+
"CallTag ValueName": o.atom,
|
79 |
+
VariableName: o.variableName,
|
80 |
+
Callee: o.operatorKeyword,
|
81 |
+
Unit: o.unit,
|
82 |
+
"UniversalSelector NestingSelector": o.definitionOperator,
|
83 |
+
MatchOp: o.compareOperator,
|
84 |
+
"ChildOp SiblingOp, LogicOp": o.logicOperator,
|
85 |
+
BinOp: o.arithmeticOperator,
|
86 |
+
Important: o.modifier,
|
87 |
+
Comment: o.blockComment,
|
88 |
+
ColorLiteral: o.color,
|
89 |
+
"ParenthesizedContent StringLiteral": o.string,
|
90 |
+
":": o.punctuation,
|
91 |
+
"PseudoOp #": o.derefOperator,
|
92 |
+
"; ,": o.separator,
|
93 |
+
"( )": o.paren,
|
94 |
+
"[ ]": o.squareBracket,
|
95 |
+
"{ }": o.brace
|
96 |
+
}), ee = { __proto__: null, lang: 32, "nth-child": 32, "nth-last-child": 32, "nth-of-type": 32, "nth-last-of-type": 32, dir: 32, "host-context": 32, url: 60, "url-prefix": 60, domain: 60, regexp: 60, selector: 138 }, Oe = { __proto__: null, "@import": 118, "@media": 142, "@charset": 146, "@namespace": 150, "@keyframes": 156, "@supports": 168 }, ae = { __proto__: null, not: 132, only: 132 }, te = k.deserialize({
|
97 |
+
version: 14,
|
98 |
+
states: ":jQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DTO$vQ[O'#DWOOQP'#Em'#EmO${QdO'#DgO%jQ[O'#DtO${QdO'#DvO%{Q[O'#DxO&WQ[O'#D{O&`Q[O'#ERO&nQ[O'#ETOOQS'#El'#ElOOQS'#EW'#EWQYQ[OOO&uQXO'#CdO'jQWO'#DcO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@[)C@[OOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E[O({QWO,58{O)TQ[O,59SO$qQ[O,59oO$vQ[O,59rO(aQ[O,59uO(aQ[O,59wO(aQ[O,59xO)`Q[O'#DbOOQS,58{,58{OOQP'#Ck'#CkOOQO'#DR'#DROOQP,59S,59SO)gQWO,59SO)lQWO,59SOOQP'#DV'#DVOOQP,59o,59oOOQO'#DX'#DXO)qQ`O,59rOOQS'#Cp'#CpO${QdO'#CqO)yQvO'#CsO+ZQtO,5:ROOQO'#Cx'#CxO)lQWO'#CwO+oQWO'#CyO+tQ[O'#DOOOQS'#Ep'#EpOOQO'#Dj'#DjO+|Q[O'#DqO,[QWO'#EtO&`Q[O'#DoO,jQWO'#DrOOQO'#Eu'#EuO)OQWO,5:`O,oQpO,5:bOOQS'#Dz'#DzO,wQWO,5:dO,|Q[O,5:dOOQO'#D}'#D}O-UQWO,5:gO-ZQWO,5:mO-cQWO,5:oOOQS-E8U-E8UO-kQdO,59}O-{Q[O'#E^O.YQWO,5;_O.YQWO,5;_POOO'#EV'#EVP.eO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO/[QXO,5:vOOQO-E8Y-E8YOOQS1G.g1G.gOOQP1G.n1G.nO)gQWO1G.nO)lQWO1G.nOOQP1G/Z1G/ZO/iQ`O1G/^O0SQXO1G/aO0jQXO1G/cO1QQXO1G/dO1hQWO,59|O1mQ[O'#DSO1tQdO'#CoOOQP1G/^1G/^O${QdO1G/^O1{QpO,59]OOQS,59_,59_O${QdO,59aO2TQWO1G/mOOQS,59c,59cO2YQ!bO,59eOOQS'#DP'#DPOOQS'#EY'#EYO2eQ[O,59jOOQS,59j,59jO2mQWO'#DjO2xQWO,5:VO2}QWO,5:]O&`Q[O,5:XO&`Q[O'#E_O3VQWO,5;`O3bQWO,5:ZO(aQ[O,5:^OOQS1G/z1G/zOOQS1G/|1G/|OOQS1G0O1G0OO3sQWO1G0OO3xQdO'#EOOOQS1G0R1G0ROOQS1G0X1G0XOOQS1G0Z1G0ZO4TQtO1G/iOOQO1G/i1G/iOOQO,5:x,5:xO4kQ[O,5:xOOQO-E8[-E8[O4xQWO1G0yPOOO-E8T-E8TPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$x7+$xO${QdO7+$xOOQS1G/h1G/hO5TQXO'#ErO5[QWO,59nO5aQtO'#EXO6XQdO'#EoO6cQWO,59ZO6hQpO7+$xOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%X7+%XOOQS1G/P1G/PO6pQWO1G/POOQS-E8W-E8WOOQS1G/U1G/UO${QdO1G/qOOQO1G/w1G/wOOQO1G/s1G/sO6uQWO,5:yOOQO-E8]-E8]O7TQXO1G/xOOQS7+%j7+%jO7[QYO'#CsOOQO'#EQ'#EQO7gQ`O'#EPOOQO'#EP'#EPO7rQWO'#E`O7zQdO,5:jOOQS,5:j,5:jO8VQtO'#E]O${QdO'#E]O9WQdO7+%TOOQO7+%T7+%TOOQO1G0d1G0dO9kQpO<<HdO9sQWO,5;^OOQP1G/Y1G/YOOQS-E8V-E8VO${QdO'#EZO9{QWO,5;ZOOQT1G.u1G.uOOQP<<Hd<<HdOOQS7+$k7+$kO:TQdO7+%]OOQO7+%d7+%dOOQO,5:k,5:kO3{QdO'#EaO7rQWO,5:zOOQS,5:z,5:zOOQS-E8^-E8^OOQS1G0U1G0UO:[QtO,5:wOOQS-E8Z-E8ZOOQO<<Ho<<HoOOQPAN>OAN>OO;]QdO,5:uOOQO-E8X-E8XOOQO<<Hw<<HwOOQO,5:{,5:{OOQO-E8_-E8_OOQS1G0f1G0f",
|
99 |
+
stateData: ";o~O#ZOS#[QQ~OUYOXYO]VO^VOqXOxWO![aO!]ZO!i[O!k]O!m^O!p_O!v`O#XRO#bTO~OQfOUYOXYO]VO^VOqXOxWO![aO!]ZO!i[O!k]O!m^O!p_O!v`O#XeO#bTO~O#U#gP~P!ZO#[jO~O#XlO~O]qO^qOqsOtoOxrO!OtO!RvO#VuO#bnO~O!TwO~P#pO`}O#WzO#XyO~O#X!OO~O#X!QO~OQ![Ob!TOf![Oh![On!YOq!ZO#W!WO#X!SO#e!UO~Ob!^O!d!`O!g!aO#X!]O!T#hP~Oh!fOn!YO#X!eO~Oh!hO#X!hO~Ob!^O!d!`O!g!aO#X!]O~O!Y#hP~P%jO]WX]!WX^WXqWXtWXxWX!OWX!RWX!TWX#VWX#bWX~O]!mO~O!Y!nO#U#gX!S#gX~O#U#gX!S#gX~P!ZO#]!qO#^!qO#_!sO~OUYOXYO]VO^VOqXOxWO#XRO#bTO~OtoO!TwO~O`!zO#WzO#XyO~O!S#gP~P!ZOb#RO~Ob#SO~Op#TO|#UO~OP#WObgXjgX!YgX!dgX!ggX#XgXagXQgXfgXhgXngXqgXtgX!XgX#UgX#WgX#egXpgX!SgX~Ob!^Oj#XO!d!`O!g!aO#X!]O!Y#hP~Ob#[O~Op#`O#X#]O~Ob!^O!d!`O!g!aO#X#aO~Ot#eO!b#dO!T#hX!Y#hX~Ob#hO~Oj#XO!Y#jO~O!Y#kO~Oh#lOn!YO~O!T#mO~O!TwO!b#dO~O!TwO!Y#pO~O!X#rO!Y!Va#U!Va!S!Va~P${O!Y#QX#U#QX!S#QX~P!ZO!Y!nO#U#ga!S#ga~O#]!qO#^!qO#_#xO~O]qO^qOqsOxrO!OtO!RvO#VuO#bnO~Ot#Oa!T#Oaa#Oa~P.pOp#zO|#{O~O]qO^qOqsOxrO#bnO~Ot}i!O}i!R}i!T}i#V}ia}i~P/qOt!Pi!O!Pi!R!Pi!T!Pi#V!Pia!Pi~P/qOt!Qi!O!Qi!R!Qi!T!Qi#V!Qia!Qi~P/qO!S#|O~Oa#fP~P(aOa#cP~P${Oa$TOj#XO~O!Y$VO~Oa$WOh$XOo$XO~Op$ZO#X#]O~O]!`Xa!^X!b!^X~O]$[O~Oa$]O!b#dO~Ot#eO!T#ha!Y#ha~O!b#dOt!ca!T!ca!Y!caa!ca~O!Y$bO~O!S$iO#X$dO#e$cO~Oj#XOt$kO!X$mO!Y!Vi#U!Vi!S!Vi~P${O!Y#Qa#U#Qa!S#Qa~P!ZO!Y!nO#U#gi!S#gi~Oa#fX~P#pOa$qO~Oj#XOQ!{Xa!{Xb!{Xf!{Xh!{Xn!{Xq!{Xt!{X#W!{X#X!{X#e!{X~Ot$sOa#cX~P${Oa$uO~Oj#XOp$vO~Oa$wO~O!b#dOt#Ra!T#Ra!Y#Ra~Oa$yO~P.pOP#WOtgX!TgX~O#e$cOt!sX!T!sX~Ot${O!TwO~O!S%PO#X$dO#e$cO~Oj#XOQ#PXb#PXf#PXh#PXn#PXq#PXt#PX!X#PX!Y#PX#U#PX#W#PX#X#PX#e#PX!S#PX~Ot$kO!X%SO!Y!Vq#U!Vq!S!Vq~P${Oj#XOp%TO~OtoOa#fa~Ot$sOa#ca~Oa%WO~P${Oj#XOQ#Pab#Paf#Pah#Pan#Paq#Pat#Pa!X#Pa!Y#Pa#U#Pa#W#Pa#X#Pa#e#Pa!S#Pa~Oa!}at!}a~P${O#Zo#[#ej!R#e~",
|
100 |
+
goto: "-g#jPPP#kP#nP#w$WP#w$g#wPP$mPPP$s$|$|P%`P$|P$|%z&^PPPP$|&vP&z'Q#wP'W#w'^P#wP#w#wPPP'd'y(WPP#nPP(_(_(i(_P(_P(_(_P#nP#nP#nP(l#nP(o(r(u(|#nP#nP)R)X)h)v)|*S*^*d*n*t*zPPPPPPPPPP+Q+ZP+v+yP,o,r,x-RRkQ_bOPdhw!n#tkYOPdhotuvw!n#R#h#tkSOPdhotuvw!n#R#h#tQmTR!tnQ{VR!xqQ!x}Q#Z!XR#y!zq![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UU$f#m$h${R$z$eq!XZ]!T!m#S#U#X#q#{$Q$[$k$l$s$x%Up![Z]!T!m#S#U#X#q#{$Q$[$k$l$s$x%UQ!f^R#l!gT#^!Z#_Q|VR!yqQ!x|R#y!yQ!PWR!{rQ!RXR!|sQxUQ!wpQ#i!cQ#o!jQ#p!kQ$}$gR%Z$|SgPwQ!phQ#s!nR$n#tZfPhw!n#ta!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$g#m$hR%X${V$e#m$h${Q!rjR#w!rQdOShPwU!ldh#tR#t!nQ$Q#SU$r$Q$x%UQ$x$[R%U$sQ#_!ZR$Y#_Q$t$QR%V$tQpUS!vp$pR$p#}Q$l#qR%R$lQ!ogS#u!o#vR#v!pQ#f!_R$`#fQ$h#mR%O$hQ$|$gR%Y$|_cOPdhw!n#t^UOPdhw!n#tQ!uoQ!}tQ#OuQ#PvQ#}#RR$a#hR$R#SQ!VZQ!d]Q#V!TQ#q!m[$P#S$Q$[$s$x%UQ$S#UQ$U#XS$j#q$lQ$o#{R%Q$kR$O#RQiPR#QwQ!c[Q!kaR#Y!VU!_[a!VQ!j`Q#c!^Q#g!`Q$^#dR$_#e",
|
101 |
+
nodeNames: "⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName , PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",
|
102 |
+
maxTerm: 117,
|
103 |
+
nodeProps: [
|
104 |
+
["isolate", -2, 3, 24, ""],
|
105 |
+
["openedBy", 17, "(", 32, "[", 50, "{"],
|
106 |
+
["closedBy", 18, ")", 33, "]", 51, "}"]
|
107 |
+
],
|
108 |
+
propSources: [M],
|
109 |
+
skippedNodes: [0, 3, 87],
|
110 |
+
repeatNodeCount: 11,
|
111 |
+
tokenData: "J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#Z~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#Z~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!X[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYxQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QS|So`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!RQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#e[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSt^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#bQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#[~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Y^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS|SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!OQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!OQo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[![Qo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSq^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSp^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!bQo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!TUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!S^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!RQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",
|
112 |
+
tokenizers: [J, H, A, 1, 2, 3, 4, new v("m~RRYZ[z{a~~g~aO#^~~dP!P!Qg~lO#_~~", 28, 105)],
|
113 |
+
topRules: { StyleSheet: [0, 4], Styles: [1, 86] },
|
114 |
+
specialized: [{ term: 100, get: (e) => ee[e] || -1 }, { term: 58, get: (e) => Oe[e] || -1 }, { term: 101, get: (e) => ae[e] || -1 }],
|
115 |
+
tokenPrec: 1219
|
116 |
+
});
|
117 |
+
let Q = null;
|
118 |
+
function u() {
|
119 |
+
if (!Q && typeof document == "object" && document.body) {
|
120 |
+
let { style: e } = document.body, t = [], l = /* @__PURE__ */ new Set();
|
121 |
+
for (let a in e)
|
122 |
+
a != "cssText" && a != "cssFloat" && typeof e[a] == "string" && (/[A-Z]/.test(a) && (a = a.replace(/[A-Z]/g, (O) => "-" + O.toLowerCase())), l.has(a) || (t.push(a), l.add(a)));
|
123 |
+
Q = t.sort().map((a) => ({ type: "property", label: a }));
|
124 |
+
}
|
125 |
+
return Q || [];
|
126 |
+
}
|
127 |
+
const f = /* @__PURE__ */ [
|
128 |
+
"active",
|
129 |
+
"after",
|
130 |
+
"any-link",
|
131 |
+
"autofill",
|
132 |
+
"backdrop",
|
133 |
+
"before",
|
134 |
+
"checked",
|
135 |
+
"cue",
|
136 |
+
"default",
|
137 |
+
"defined",
|
138 |
+
"disabled",
|
139 |
+
"empty",
|
140 |
+
"enabled",
|
141 |
+
"file-selector-button",
|
142 |
+
"first",
|
143 |
+
"first-child",
|
144 |
+
"first-letter",
|
145 |
+
"first-line",
|
146 |
+
"first-of-type",
|
147 |
+
"focus",
|
148 |
+
"focus-visible",
|
149 |
+
"focus-within",
|
150 |
+
"fullscreen",
|
151 |
+
"has",
|
152 |
+
"host",
|
153 |
+
"host-context",
|
154 |
+
"hover",
|
155 |
+
"in-range",
|
156 |
+
"indeterminate",
|
157 |
+
"invalid",
|
158 |
+
"is",
|
159 |
+
"lang",
|
160 |
+
"last-child",
|
161 |
+
"last-of-type",
|
162 |
+
"left",
|
163 |
+
"link",
|
164 |
+
"marker",
|
165 |
+
"modal",
|
166 |
+
"not",
|
167 |
+
"nth-child",
|
168 |
+
"nth-last-child",
|
169 |
+
"nth-last-of-type",
|
170 |
+
"nth-of-type",
|
171 |
+
"only-child",
|
172 |
+
"only-of-type",
|
173 |
+
"optional",
|
174 |
+
"out-of-range",
|
175 |
+
"part",
|
176 |
+
"placeholder",
|
177 |
+
"placeholder-shown",
|
178 |
+
"read-only",
|
179 |
+
"read-write",
|
180 |
+
"required",
|
181 |
+
"right",
|
182 |
+
"root",
|
183 |
+
"scope",
|
184 |
+
"selection",
|
185 |
+
"slotted",
|
186 |
+
"target",
|
187 |
+
"target-text",
|
188 |
+
"valid",
|
189 |
+
"visited",
|
190 |
+
"where"
|
191 |
+
].map((e) => ({ type: "class", label: e })), h = /* @__PURE__ */ [
|
192 |
+
"above",
|
193 |
+
"absolute",
|
194 |
+
"activeborder",
|
195 |
+
"additive",
|
196 |
+
"activecaption",
|
197 |
+
"after-white-space",
|
198 |
+
"ahead",
|
199 |
+
"alias",
|
200 |
+
"all",
|
201 |
+
"all-scroll",
|
202 |
+
"alphabetic",
|
203 |
+
"alternate",
|
204 |
+
"always",
|
205 |
+
"antialiased",
|
206 |
+
"appworkspace",
|
207 |
+
"asterisks",
|
208 |
+
"attr",
|
209 |
+
"auto",
|
210 |
+
"auto-flow",
|
211 |
+
"avoid",
|
212 |
+
"avoid-column",
|
213 |
+
"avoid-page",
|
214 |
+
"avoid-region",
|
215 |
+
"axis-pan",
|
216 |
+
"background",
|
217 |
+
"backwards",
|
218 |
+
"baseline",
|
219 |
+
"below",
|
220 |
+
"bidi-override",
|
221 |
+
"blink",
|
222 |
+
"block",
|
223 |
+
"block-axis",
|
224 |
+
"bold",
|
225 |
+
"bolder",
|
226 |
+
"border",
|
227 |
+
"border-box",
|
228 |
+
"both",
|
229 |
+
"bottom",
|
230 |
+
"break",
|
231 |
+
"break-all",
|
232 |
+
"break-word",
|
233 |
+
"bullets",
|
234 |
+
"button",
|
235 |
+
"button-bevel",
|
236 |
+
"buttonface",
|
237 |
+
"buttonhighlight",
|
238 |
+
"buttonshadow",
|
239 |
+
"buttontext",
|
240 |
+
"calc",
|
241 |
+
"capitalize",
|
242 |
+
"caps-lock-indicator",
|
243 |
+
"caption",
|
244 |
+
"captiontext",
|
245 |
+
"caret",
|
246 |
+
"cell",
|
247 |
+
"center",
|
248 |
+
"checkbox",
|
249 |
+
"circle",
|
250 |
+
"cjk-decimal",
|
251 |
+
"clear",
|
252 |
+
"clip",
|
253 |
+
"close-quote",
|
254 |
+
"col-resize",
|
255 |
+
"collapse",
|
256 |
+
"color",
|
257 |
+
"color-burn",
|
258 |
+
"color-dodge",
|
259 |
+
"column",
|
260 |
+
"column-reverse",
|
261 |
+
"compact",
|
262 |
+
"condensed",
|
263 |
+
"contain",
|
264 |
+
"content",
|
265 |
+
"contents",
|
266 |
+
"content-box",
|
267 |
+
"context-menu",
|
268 |
+
"continuous",
|
269 |
+
"copy",
|
270 |
+
"counter",
|
271 |
+
"counters",
|
272 |
+
"cover",
|
273 |
+
"crop",
|
274 |
+
"cross",
|
275 |
+
"crosshair",
|
276 |
+
"currentcolor",
|
277 |
+
"cursive",
|
278 |
+
"cyclic",
|
279 |
+
"darken",
|
280 |
+
"dashed",
|
281 |
+
"decimal",
|
282 |
+
"decimal-leading-zero",
|
283 |
+
"default",
|
284 |
+
"default-button",
|
285 |
+
"dense",
|
286 |
+
"destination-atop",
|
287 |
+
"destination-in",
|
288 |
+
"destination-out",
|
289 |
+
"destination-over",
|
290 |
+
"difference",
|
291 |
+
"disc",
|
292 |
+
"discard",
|
293 |
+
"disclosure-closed",
|
294 |
+
"disclosure-open",
|
295 |
+
"document",
|
296 |
+
"dot-dash",
|
297 |
+
"dot-dot-dash",
|
298 |
+
"dotted",
|
299 |
+
"double",
|
300 |
+
"down",
|
301 |
+
"e-resize",
|
302 |
+
"ease",
|
303 |
+
"ease-in",
|
304 |
+
"ease-in-out",
|
305 |
+
"ease-out",
|
306 |
+
"element",
|
307 |
+
"ellipse",
|
308 |
+
"ellipsis",
|
309 |
+
"embed",
|
310 |
+
"end",
|
311 |
+
"ethiopic-abegede-gez",
|
312 |
+
"ethiopic-halehame-aa-er",
|
313 |
+
"ethiopic-halehame-gez",
|
314 |
+
"ew-resize",
|
315 |
+
"exclusion",
|
316 |
+
"expanded",
|
317 |
+
"extends",
|
318 |
+
"extra-condensed",
|
319 |
+
"extra-expanded",
|
320 |
+
"fantasy",
|
321 |
+
"fast",
|
322 |
+
"fill",
|
323 |
+
"fill-box",
|
324 |
+
"fixed",
|
325 |
+
"flat",
|
326 |
+
"flex",
|
327 |
+
"flex-end",
|
328 |
+
"flex-start",
|
329 |
+
"footnotes",
|
330 |
+
"forwards",
|
331 |
+
"from",
|
332 |
+
"geometricPrecision",
|
333 |
+
"graytext",
|
334 |
+
"grid",
|
335 |
+
"groove",
|
336 |
+
"hand",
|
337 |
+
"hard-light",
|
338 |
+
"help",
|
339 |
+
"hidden",
|
340 |
+
"hide",
|
341 |
+
"higher",
|
342 |
+
"highlight",
|
343 |
+
"highlighttext",
|
344 |
+
"horizontal",
|
345 |
+
"hsl",
|
346 |
+
"hsla",
|
347 |
+
"hue",
|
348 |
+
"icon",
|
349 |
+
"ignore",
|
350 |
+
"inactiveborder",
|
351 |
+
"inactivecaption",
|
352 |
+
"inactivecaptiontext",
|
353 |
+
"infinite",
|
354 |
+
"infobackground",
|
355 |
+
"infotext",
|
356 |
+
"inherit",
|
357 |
+
"initial",
|
358 |
+
"inline",
|
359 |
+
"inline-axis",
|
360 |
+
"inline-block",
|
361 |
+
"inline-flex",
|
362 |
+
"inline-grid",
|
363 |
+
"inline-table",
|
364 |
+
"inset",
|
365 |
+
"inside",
|
366 |
+
"intrinsic",
|
367 |
+
"invert",
|
368 |
+
"italic",
|
369 |
+
"justify",
|
370 |
+
"keep-all",
|
371 |
+
"landscape",
|
372 |
+
"large",
|
373 |
+
"larger",
|
374 |
+
"left",
|
375 |
+
"level",
|
376 |
+
"lighter",
|
377 |
+
"lighten",
|
378 |
+
"line-through",
|
379 |
+
"linear",
|
380 |
+
"linear-gradient",
|
381 |
+
"lines",
|
382 |
+
"list-item",
|
383 |
+
"listbox",
|
384 |
+
"listitem",
|
385 |
+
"local",
|
386 |
+
"logical",
|
387 |
+
"loud",
|
388 |
+
"lower",
|
389 |
+
"lower-hexadecimal",
|
390 |
+
"lower-latin",
|
391 |
+
"lower-norwegian",
|
392 |
+
"lowercase",
|
393 |
+
"ltr",
|
394 |
+
"luminosity",
|
395 |
+
"manipulation",
|
396 |
+
"match",
|
397 |
+
"matrix",
|
398 |
+
"matrix3d",
|
399 |
+
"medium",
|
400 |
+
"menu",
|
401 |
+
"menutext",
|
402 |
+
"message-box",
|
403 |
+
"middle",
|
404 |
+
"min-intrinsic",
|
405 |
+
"mix",
|
406 |
+
"monospace",
|
407 |
+
"move",
|
408 |
+
"multiple",
|
409 |
+
"multiple_mask_images",
|
410 |
+
"multiply",
|
411 |
+
"n-resize",
|
412 |
+
"narrower",
|
413 |
+
"ne-resize",
|
414 |
+
"nesw-resize",
|
415 |
+
"no-close-quote",
|
416 |
+
"no-drop",
|
417 |
+
"no-open-quote",
|
418 |
+
"no-repeat",
|
419 |
+
"none",
|
420 |
+
"normal",
|
421 |
+
"not-allowed",
|
422 |
+
"nowrap",
|
423 |
+
"ns-resize",
|
424 |
+
"numbers",
|
425 |
+
"numeric",
|
426 |
+
"nw-resize",
|
427 |
+
"nwse-resize",
|
428 |
+
"oblique",
|
429 |
+
"opacity",
|
430 |
+
"open-quote",
|
431 |
+
"optimizeLegibility",
|
432 |
+
"optimizeSpeed",
|
433 |
+
"outset",
|
434 |
+
"outside",
|
435 |
+
"outside-shape",
|
436 |
+
"overlay",
|
437 |
+
"overline",
|
438 |
+
"padding",
|
439 |
+
"padding-box",
|
440 |
+
"painted",
|
441 |
+
"page",
|
442 |
+
"paused",
|
443 |
+
"perspective",
|
444 |
+
"pinch-zoom",
|
445 |
+
"plus-darker",
|
446 |
+
"plus-lighter",
|
447 |
+
"pointer",
|
448 |
+
"polygon",
|
449 |
+
"portrait",
|
450 |
+
"pre",
|
451 |
+
"pre-line",
|
452 |
+
"pre-wrap",
|
453 |
+
"preserve-3d",
|
454 |
+
"progress",
|
455 |
+
"push-button",
|
456 |
+
"radial-gradient",
|
457 |
+
"radio",
|
458 |
+
"read-only",
|
459 |
+
"read-write",
|
460 |
+
"read-write-plaintext-only",
|
461 |
+
"rectangle",
|
462 |
+
"region",
|
463 |
+
"relative",
|
464 |
+
"repeat",
|
465 |
+
"repeating-linear-gradient",
|
466 |
+
"repeating-radial-gradient",
|
467 |
+
"repeat-x",
|
468 |
+
"repeat-y",
|
469 |
+
"reset",
|
470 |
+
"reverse",
|
471 |
+
"rgb",
|
472 |
+
"rgba",
|
473 |
+
"ridge",
|
474 |
+
"right",
|
475 |
+
"rotate",
|
476 |
+
"rotate3d",
|
477 |
+
"rotateX",
|
478 |
+
"rotateY",
|
479 |
+
"rotateZ",
|
480 |
+
"round",
|
481 |
+
"row",
|
482 |
+
"row-resize",
|
483 |
+
"row-reverse",
|
484 |
+
"rtl",
|
485 |
+
"run-in",
|
486 |
+
"running",
|
487 |
+
"s-resize",
|
488 |
+
"sans-serif",
|
489 |
+
"saturation",
|
490 |
+
"scale",
|
491 |
+
"scale3d",
|
492 |
+
"scaleX",
|
493 |
+
"scaleY",
|
494 |
+
"scaleZ",
|
495 |
+
"screen",
|
496 |
+
"scroll",
|
497 |
+
"scrollbar",
|
498 |
+
"scroll-position",
|
499 |
+
"se-resize",
|
500 |
+
"self-start",
|
501 |
+
"self-end",
|
502 |
+
"semi-condensed",
|
503 |
+
"semi-expanded",
|
504 |
+
"separate",
|
505 |
+
"serif",
|
506 |
+
"show",
|
507 |
+
"single",
|
508 |
+
"skew",
|
509 |
+
"skewX",
|
510 |
+
"skewY",
|
511 |
+
"skip-white-space",
|
512 |
+
"slide",
|
513 |
+
"slider-horizontal",
|
514 |
+
"slider-vertical",
|
515 |
+
"sliderthumb-horizontal",
|
516 |
+
"sliderthumb-vertical",
|
517 |
+
"slow",
|
518 |
+
"small",
|
519 |
+
"small-caps",
|
520 |
+
"small-caption",
|
521 |
+
"smaller",
|
522 |
+
"soft-light",
|
523 |
+
"solid",
|
524 |
+
"source-atop",
|
525 |
+
"source-in",
|
526 |
+
"source-out",
|
527 |
+
"source-over",
|
528 |
+
"space",
|
529 |
+
"space-around",
|
530 |
+
"space-between",
|
531 |
+
"space-evenly",
|
532 |
+
"spell-out",
|
533 |
+
"square",
|
534 |
+
"start",
|
535 |
+
"static",
|
536 |
+
"status-bar",
|
537 |
+
"stretch",
|
538 |
+
"stroke",
|
539 |
+
"stroke-box",
|
540 |
+
"sub",
|
541 |
+
"subpixel-antialiased",
|
542 |
+
"svg_masks",
|
543 |
+
"super",
|
544 |
+
"sw-resize",
|
545 |
+
"symbolic",
|
546 |
+
"symbols",
|
547 |
+
"system-ui",
|
548 |
+
"table",
|
549 |
+
"table-caption",
|
550 |
+
"table-cell",
|
551 |
+
"table-column",
|
552 |
+
"table-column-group",
|
553 |
+
"table-footer-group",
|
554 |
+
"table-header-group",
|
555 |
+
"table-row",
|
556 |
+
"table-row-group",
|
557 |
+
"text",
|
558 |
+
"text-bottom",
|
559 |
+
"text-top",
|
560 |
+
"textarea",
|
561 |
+
"textfield",
|
562 |
+
"thick",
|
563 |
+
"thin",
|
564 |
+
"threeddarkshadow",
|
565 |
+
"threedface",
|
566 |
+
"threedhighlight",
|
567 |
+
"threedlightshadow",
|
568 |
+
"threedshadow",
|
569 |
+
"to",
|
570 |
+
"top",
|
571 |
+
"transform",
|
572 |
+
"translate",
|
573 |
+
"translate3d",
|
574 |
+
"translateX",
|
575 |
+
"translateY",
|
576 |
+
"translateZ",
|
577 |
+
"transparent",
|
578 |
+
"ultra-condensed",
|
579 |
+
"ultra-expanded",
|
580 |
+
"underline",
|
581 |
+
"unidirectional-pan",
|
582 |
+
"unset",
|
583 |
+
"up",
|
584 |
+
"upper-latin",
|
585 |
+
"uppercase",
|
586 |
+
"url",
|
587 |
+
"var",
|
588 |
+
"vertical",
|
589 |
+
"vertical-text",
|
590 |
+
"view-box",
|
591 |
+
"visible",
|
592 |
+
"visibleFill",
|
593 |
+
"visiblePainted",
|
594 |
+
"visibleStroke",
|
595 |
+
"visual",
|
596 |
+
"w-resize",
|
597 |
+
"wait",
|
598 |
+
"wave",
|
599 |
+
"wider",
|
600 |
+
"window",
|
601 |
+
"windowframe",
|
602 |
+
"windowtext",
|
603 |
+
"words",
|
604 |
+
"wrap",
|
605 |
+
"wrap-reverse",
|
606 |
+
"x-large",
|
607 |
+
"x-small",
|
608 |
+
"xor",
|
609 |
+
"xx-large",
|
610 |
+
"xx-small"
|
611 |
+
].map((e) => ({ type: "keyword", label: e })).concat(/* @__PURE__ */ [
|
612 |
+
"aliceblue",
|
613 |
+
"antiquewhite",
|
614 |
+
"aqua",
|
615 |
+
"aquamarine",
|
616 |
+
"azure",
|
617 |
+
"beige",
|
618 |
+
"bisque",
|
619 |
+
"black",
|
620 |
+
"blanchedalmond",
|
621 |
+
"blue",
|
622 |
+
"blueviolet",
|
623 |
+
"brown",
|
624 |
+
"burlywood",
|
625 |
+
"cadetblue",
|
626 |
+
"chartreuse",
|
627 |
+
"chocolate",
|
628 |
+
"coral",
|
629 |
+
"cornflowerblue",
|
630 |
+
"cornsilk",
|
631 |
+
"crimson",
|
632 |
+
"cyan",
|
633 |
+
"darkblue",
|
634 |
+
"darkcyan",
|
635 |
+
"darkgoldenrod",
|
636 |
+
"darkgray",
|
637 |
+
"darkgreen",
|
638 |
+
"darkkhaki",
|
639 |
+
"darkmagenta",
|
640 |
+
"darkolivegreen",
|
641 |
+
"darkorange",
|
642 |
+
"darkorchid",
|
643 |
+
"darkred",
|
644 |
+
"darksalmon",
|
645 |
+
"darkseagreen",
|
646 |
+
"darkslateblue",
|
647 |
+
"darkslategray",
|
648 |
+
"darkturquoise",
|
649 |
+
"darkviolet",
|
650 |
+
"deeppink",
|
651 |
+
"deepskyblue",
|
652 |
+
"dimgray",
|
653 |
+
"dodgerblue",
|
654 |
+
"firebrick",
|
655 |
+
"floralwhite",
|
656 |
+
"forestgreen",
|
657 |
+
"fuchsia",
|
658 |
+
"gainsboro",
|
659 |
+
"ghostwhite",
|
660 |
+
"gold",
|
661 |
+
"goldenrod",
|
662 |
+
"gray",
|
663 |
+
"grey",
|
664 |
+
"green",
|
665 |
+
"greenyellow",
|
666 |
+
"honeydew",
|
667 |
+
"hotpink",
|
668 |
+
"indianred",
|
669 |
+
"indigo",
|
670 |
+
"ivory",
|
671 |
+
"khaki",
|
672 |
+
"lavender",
|
673 |
+
"lavenderblush",
|
674 |
+
"lawngreen",
|
675 |
+
"lemonchiffon",
|
676 |
+
"lightblue",
|
677 |
+
"lightcoral",
|
678 |
+
"lightcyan",
|
679 |
+
"lightgoldenrodyellow",
|
680 |
+
"lightgray",
|
681 |
+
"lightgreen",
|
682 |
+
"lightpink",
|
683 |
+
"lightsalmon",
|
684 |
+
"lightseagreen",
|
685 |
+
"lightskyblue",
|
686 |
+
"lightslategray",
|
687 |
+
"lightsteelblue",
|
688 |
+
"lightyellow",
|
689 |
+
"lime",
|
690 |
+
"limegreen",
|
691 |
+
"linen",
|
692 |
+
"magenta",
|
693 |
+
"maroon",
|
694 |
+
"mediumaquamarine",
|
695 |
+
"mediumblue",
|
696 |
+
"mediumorchid",
|
697 |
+
"mediumpurple",
|
698 |
+
"mediumseagreen",
|
699 |
+
"mediumslateblue",
|
700 |
+
"mediumspringgreen",
|
701 |
+
"mediumturquoise",
|
702 |
+
"mediumvioletred",
|
703 |
+
"midnightblue",
|
704 |
+
"mintcream",
|
705 |
+
"mistyrose",
|
706 |
+
"moccasin",
|
707 |
+
"navajowhite",
|
708 |
+
"navy",
|
709 |
+
"oldlace",
|
710 |
+
"olive",
|
711 |
+
"olivedrab",
|
712 |
+
"orange",
|
713 |
+
"orangered",
|
714 |
+
"orchid",
|
715 |
+
"palegoldenrod",
|
716 |
+
"palegreen",
|
717 |
+
"paleturquoise",
|
718 |
+
"palevioletred",
|
719 |
+
"papayawhip",
|
720 |
+
"peachpuff",
|
721 |
+
"peru",
|
722 |
+
"pink",
|
723 |
+
"plum",
|
724 |
+
"powderblue",
|
725 |
+
"purple",
|
726 |
+
"rebeccapurple",
|
727 |
+
"red",
|
728 |
+
"rosybrown",
|
729 |
+
"royalblue",
|
730 |
+
"saddlebrown",
|
731 |
+
"salmon",
|
732 |
+
"sandybrown",
|
733 |
+
"seagreen",
|
734 |
+
"seashell",
|
735 |
+
"sienna",
|
736 |
+
"silver",
|
737 |
+
"skyblue",
|
738 |
+
"slateblue",
|
739 |
+
"slategray",
|
740 |
+
"snow",
|
741 |
+
"springgreen",
|
742 |
+
"steelblue",
|
743 |
+
"tan",
|
744 |
+
"teal",
|
745 |
+
"thistle",
|
746 |
+
"tomato",
|
747 |
+
"turquoise",
|
748 |
+
"violet",
|
749 |
+
"wheat",
|
750 |
+
"white",
|
751 |
+
"whitesmoke",
|
752 |
+
"yellow",
|
753 |
+
"yellowgreen"
|
754 |
+
].map((e) => ({ type: "constant", label: e }))), oe = /* @__PURE__ */ [
|
755 |
+
"a",
|
756 |
+
"abbr",
|
757 |
+
"address",
|
758 |
+
"article",
|
759 |
+
"aside",
|
760 |
+
"b",
|
761 |
+
"bdi",
|
762 |
+
"bdo",
|
763 |
+
"blockquote",
|
764 |
+
"body",
|
765 |
+
"br",
|
766 |
+
"button",
|
767 |
+
"canvas",
|
768 |
+
"caption",
|
769 |
+
"cite",
|
770 |
+
"code",
|
771 |
+
"col",
|
772 |
+
"colgroup",
|
773 |
+
"dd",
|
774 |
+
"del",
|
775 |
+
"details",
|
776 |
+
"dfn",
|
777 |
+
"dialog",
|
778 |
+
"div",
|
779 |
+
"dl",
|
780 |
+
"dt",
|
781 |
+
"em",
|
782 |
+
"figcaption",
|
783 |
+
"figure",
|
784 |
+
"footer",
|
785 |
+
"form",
|
786 |
+
"header",
|
787 |
+
"hgroup",
|
788 |
+
"h1",
|
789 |
+
"h2",
|
790 |
+
"h3",
|
791 |
+
"h4",
|
792 |
+
"h5",
|
793 |
+
"h6",
|
794 |
+
"hr",
|
795 |
+
"html",
|
796 |
+
"i",
|
797 |
+
"iframe",
|
798 |
+
"img",
|
799 |
+
"input",
|
800 |
+
"ins",
|
801 |
+
"kbd",
|
802 |
+
"label",
|
803 |
+
"legend",
|
804 |
+
"li",
|
805 |
+
"main",
|
806 |
+
"meter",
|
807 |
+
"nav",
|
808 |
+
"ol",
|
809 |
+
"output",
|
810 |
+
"p",
|
811 |
+
"pre",
|
812 |
+
"ruby",
|
813 |
+
"section",
|
814 |
+
"select",
|
815 |
+
"small",
|
816 |
+
"source",
|
817 |
+
"span",
|
818 |
+
"strong",
|
819 |
+
"sub",
|
820 |
+
"summary",
|
821 |
+
"sup",
|
822 |
+
"table",
|
823 |
+
"tbody",
|
824 |
+
"td",
|
825 |
+
"template",
|
826 |
+
"textarea",
|
827 |
+
"tfoot",
|
828 |
+
"th",
|
829 |
+
"thead",
|
830 |
+
"tr",
|
831 |
+
"u",
|
832 |
+
"ul"
|
833 |
+
].map((e) => ({ type: "type", label: e })), re = /* @__PURE__ */ [
|
834 |
+
"@charset",
|
835 |
+
"@color-profile",
|
836 |
+
"@container",
|
837 |
+
"@counter-style",
|
838 |
+
"@font-face",
|
839 |
+
"@font-feature-values",
|
840 |
+
"@font-palette-values",
|
841 |
+
"@import",
|
842 |
+
"@keyframes",
|
843 |
+
"@layer",
|
844 |
+
"@media",
|
845 |
+
"@namespace",
|
846 |
+
"@page",
|
847 |
+
"@position-try",
|
848 |
+
"@property",
|
849 |
+
"@scope",
|
850 |
+
"@starting-style",
|
851 |
+
"@supports",
|
852 |
+
"@view-transition"
|
853 |
+
].map((e) => ({ type: "keyword", label: e })), s = /^(\w[\w-]*|-\w[\w-]*|)$/, le = /^-(-[\w-]*)?$/;
|
854 |
+
function ie(e, t) {
|
855 |
+
var l;
|
856 |
+
if ((e.name == "(" || e.type.isError) && (e = e.parent || e), e.name != "ArgList")
|
857 |
+
return !1;
|
858 |
+
let a = (l = e.parent) === null || l === void 0 ? void 0 : l.firstChild;
|
859 |
+
return a?.name != "Callee" ? !1 : t.sliceString(a.from, a.to) == "var";
|
860 |
+
}
|
861 |
+
const y = /* @__PURE__ */ new Z(), ne = ["Declaration"];
|
862 |
+
function se(e) {
|
863 |
+
for (let t = e; ; ) {
|
864 |
+
if (t.type.isTop)
|
865 |
+
return t;
|
866 |
+
if (!(t = t.parent))
|
867 |
+
return e;
|
868 |
+
}
|
869 |
+
}
|
870 |
+
function w(e, t, l) {
|
871 |
+
if (t.to - t.from > 4096) {
|
872 |
+
let a = y.get(t);
|
873 |
+
if (a)
|
874 |
+
return a;
|
875 |
+
let O = [], r = /* @__PURE__ */ new Set(), i = t.cursor(E.IncludeAnonymous);
|
876 |
+
if (i.firstChild())
|
877 |
+
do
|
878 |
+
for (let n of w(e, i.node, l))
|
879 |
+
r.has(n.label) || (r.add(n.label), O.push(n));
|
880 |
+
while (i.nextSibling());
|
881 |
+
return y.set(t, O), O;
|
882 |
+
} else {
|
883 |
+
let a = [], O = /* @__PURE__ */ new Set();
|
884 |
+
return t.cursor().iterate((r) => {
|
885 |
+
var i;
|
886 |
+
if (l(r) && r.matchContext(ne) && ((i = r.node.nextSibling) === null || i === void 0 ? void 0 : i.name) == ":") {
|
887 |
+
let n = e.sliceString(r.from, r.to);
|
888 |
+
O.has(n) || (O.add(n), a.push({ label: n, type: "variable" }));
|
889 |
+
}
|
890 |
+
}), a;
|
891 |
+
}
|
892 |
+
}
|
893 |
+
const de = (e) => (t) => {
|
894 |
+
let { state: l, pos: a } = t, O = x(l).resolveInner(a, -1), r = O.type.isError && O.from == O.to - 1 && l.doc.sliceString(O.from, O.to) == "-";
|
895 |
+
if (O.name == "PropertyName" || (r || O.name == "TagName") && /^(Block|Styles)$/.test(O.resolve(O.to).name))
|
896 |
+
return { from: O.from, options: u(), validFor: s };
|
897 |
+
if (O.name == "ValueName")
|
898 |
+
return { from: O.from, options: h, validFor: s };
|
899 |
+
if (O.name == "PseudoClassName")
|
900 |
+
return { from: O.from, options: f, validFor: s };
|
901 |
+
if (e(O) || (t.explicit || r) && ie(O, l.doc))
|
902 |
+
return {
|
903 |
+
from: e(O) || r ? O.from : a,
|
904 |
+
options: w(l.doc, se(O), e),
|
905 |
+
validFor: le
|
906 |
+
};
|
907 |
+
if (O.name == "TagName") {
|
908 |
+
for (let { parent: c } = O; c; c = c.parent)
|
909 |
+
if (c.name == "Block")
|
910 |
+
return { from: O.from, options: u(), validFor: s };
|
911 |
+
return { from: O.from, options: oe, validFor: s };
|
912 |
+
}
|
913 |
+
if (O.name == "AtKeyword")
|
914 |
+
return { from: O.from, options: re, validFor: s };
|
915 |
+
if (!t.explicit)
|
916 |
+
return null;
|
917 |
+
let i = O.resolve(a), n = i.childBefore(a);
|
918 |
+
return n && n.name == ":" && i.name == "PseudoClassSelector" ? { from: a, options: f, validFor: s } : n && n.name == ":" && i.name == "Declaration" || i.name == "ArgList" ? { from: a, options: h, validFor: s } : i.name == "Block" || i.name == "Styles" ? { from: a, options: u(), validFor: s } : null;
|
919 |
+
}, ce = /* @__PURE__ */ de((e) => e.name == "VariableName"), b = /* @__PURE__ */ T.define({
|
920 |
+
name: "css",
|
921 |
+
parser: /* @__PURE__ */ te.configure({
|
922 |
+
props: [
|
923 |
+
/* @__PURE__ */ R.add({
|
924 |
+
Declaration: /* @__PURE__ */ W()
|
925 |
+
}),
|
926 |
+
/* @__PURE__ */ U.add({
|
927 |
+
"Block KeyframeList": Y
|
928 |
+
})
|
929 |
+
]
|
930 |
+
}),
|
931 |
+
languageData: {
|
932 |
+
commentTokens: { block: { open: "/*", close: "*/" } },
|
933 |
+
indentOnInput: /^\s*\}$/,
|
934 |
+
wordChars: "-"
|
935 |
+
}
|
936 |
+
});
|
937 |
+
function ue() {
|
938 |
+
return new q(b, b.data.of({ autocomplete: ce }));
|
939 |
+
}
|
940 |
+
export {
|
941 |
+
ue as css,
|
942 |
+
ce as cssCompletionSource,
|
943 |
+
b as cssLanguage,
|
944 |
+
de as defineCSSCompletionSource
|
945 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-C83s03OK.js
ADDED
@@ -0,0 +1,547 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { C as M, E as h, L as E, a as y } from "./index-CwvQZfH0.js";
|
2 |
+
import { s as A, t as e, h as P, a as b, L as C, b as I, B as d, G as J, d as K, f as D, c as N, H as _, e as B, i as H, g as F, F as OO, E as aO, I as QO, w as eO, N as iO } from "./Index-COMtKkwP.js";
|
3 |
+
const $O = 312, rO = 313, v = 1, oO = 2, tO = 3, ZO = 4, PO = 314, nO = 316, lO = 317, sO = 5, pO = 6, SO = 0, u = [
|
4 |
+
9,
|
5 |
+
10,
|
6 |
+
11,
|
7 |
+
12,
|
8 |
+
13,
|
9 |
+
32,
|
10 |
+
133,
|
11 |
+
160,
|
12 |
+
5760,
|
13 |
+
8192,
|
14 |
+
8193,
|
15 |
+
8194,
|
16 |
+
8195,
|
17 |
+
8196,
|
18 |
+
8197,
|
19 |
+
8198,
|
20 |
+
8199,
|
21 |
+
8200,
|
22 |
+
8201,
|
23 |
+
8202,
|
24 |
+
8232,
|
25 |
+
8233,
|
26 |
+
8239,
|
27 |
+
8287,
|
28 |
+
12288
|
29 |
+
], z = 125, cO = 59, q = 47, hO = 42, XO = 43, fO = 45, gO = 60, dO = 44, YO = 63, mO = 46, uO = 91, qO = new M({
|
30 |
+
start: !1,
|
31 |
+
shift(O, a) {
|
32 |
+
return a == sO || a == pO || a == nO ? O : a == lO;
|
33 |
+
},
|
34 |
+
strict: !1
|
35 |
+
}), bO = new h((O, a) => {
|
36 |
+
let { next: Q } = O;
|
37 |
+
(Q == z || Q == -1 || a.context) && O.acceptToken(PO);
|
38 |
+
}, { contextual: !0, fallback: !0 }), xO = new h((O, a) => {
|
39 |
+
let { next: Q } = O, i;
|
40 |
+
u.indexOf(Q) > -1 || Q == q && ((i = O.peek(1)) == q || i == hO) || Q != z && Q != cO && Q != -1 && !a.context && O.acceptToken($O);
|
41 |
+
}, { contextual: !0 }), jO = new h((O, a) => {
|
42 |
+
O.next == uO && !a.context && O.acceptToken(rO);
|
43 |
+
}, { contextual: !0 }), yO = new h((O, a) => {
|
44 |
+
let { next: Q } = O;
|
45 |
+
if (Q == XO || Q == fO) {
|
46 |
+
if (O.advance(), Q == O.next) {
|
47 |
+
O.advance();
|
48 |
+
let i = !a.context && a.canShift(v);
|
49 |
+
O.acceptToken(i ? v : oO);
|
50 |
+
}
|
51 |
+
} else Q == YO && O.peek(1) == mO && (O.advance(), O.advance(), (O.next < 48 || O.next > 57) && O.acceptToken(tO));
|
52 |
+
}, { contextual: !0 });
|
53 |
+
function Y(O, a) {
|
54 |
+
return O >= 65 && O <= 90 || O >= 97 && O <= 122 || O == 95 || O >= 192 || !a && O >= 48 && O <= 57;
|
55 |
+
}
|
56 |
+
const vO = new h((O, a) => {
|
57 |
+
if (O.next != gO || !a.dialectEnabled(SO) || (O.advance(), O.next == q)) return;
|
58 |
+
let Q = 0;
|
59 |
+
for (; u.indexOf(O.next) > -1; )
|
60 |
+
O.advance(), Q++;
|
61 |
+
if (Y(O.next, !0)) {
|
62 |
+
for (O.advance(), Q++; Y(O.next, !1); )
|
63 |
+
O.advance(), Q++;
|
64 |
+
for (; u.indexOf(O.next) > -1; )
|
65 |
+
O.advance(), Q++;
|
66 |
+
if (O.next == dO) return;
|
67 |
+
for (let i = 0; ; i++) {
|
68 |
+
if (i == 7) {
|
69 |
+
if (!Y(O.next, !0)) return;
|
70 |
+
break;
|
71 |
+
}
|
72 |
+
if (O.next != "extends".charCodeAt(i)) break;
|
73 |
+
O.advance(), Q++;
|
74 |
+
}
|
75 |
+
}
|
76 |
+
O.acceptToken(ZO, -Q);
|
77 |
+
}), wO = A({
|
78 |
+
"get set async static": e.modifier,
|
79 |
+
"for while do if else switch try catch finally return throw break continue default case": e.controlKeyword,
|
80 |
+
"in of await yield void typeof delete instanceof": e.operatorKeyword,
|
81 |
+
"let var const using function class extends": e.definitionKeyword,
|
82 |
+
"import export from": e.moduleKeyword,
|
83 |
+
"with debugger as new": e.keyword,
|
84 |
+
TemplateString: e.special(e.string),
|
85 |
+
super: e.atom,
|
86 |
+
BooleanLiteral: e.bool,
|
87 |
+
this: e.self,
|
88 |
+
null: e.null,
|
89 |
+
Star: e.modifier,
|
90 |
+
VariableName: e.variableName,
|
91 |
+
"CallExpression/VariableName TaggedTemplateExpression/VariableName": e.function(e.variableName),
|
92 |
+
VariableDefinition: e.definition(e.variableName),
|
93 |
+
Label: e.labelName,
|
94 |
+
PropertyName: e.propertyName,
|
95 |
+
PrivatePropertyName: e.special(e.propertyName),
|
96 |
+
"CallExpression/MemberExpression/PropertyName": e.function(e.propertyName),
|
97 |
+
"FunctionDeclaration/VariableDefinition": e.function(e.definition(e.variableName)),
|
98 |
+
"ClassDeclaration/VariableDefinition": e.definition(e.className),
|
99 |
+
PropertyDefinition: e.definition(e.propertyName),
|
100 |
+
PrivatePropertyDefinition: e.definition(e.special(e.propertyName)),
|
101 |
+
UpdateOp: e.updateOperator,
|
102 |
+
"LineComment Hashbang": e.lineComment,
|
103 |
+
BlockComment: e.blockComment,
|
104 |
+
Number: e.number,
|
105 |
+
String: e.string,
|
106 |
+
Escape: e.escape,
|
107 |
+
ArithOp: e.arithmeticOperator,
|
108 |
+
LogicOp: e.logicOperator,
|
109 |
+
BitOp: e.bitwiseOperator,
|
110 |
+
CompareOp: e.compareOperator,
|
111 |
+
RegExp: e.regexp,
|
112 |
+
Equals: e.definitionOperator,
|
113 |
+
Arrow: e.function(e.punctuation),
|
114 |
+
": Spread": e.punctuation,
|
115 |
+
"( )": e.paren,
|
116 |
+
"[ ]": e.squareBracket,
|
117 |
+
"{ }": e.brace,
|
118 |
+
"InterpolationStart InterpolationEnd": e.special(e.brace),
|
119 |
+
".": e.derefOperator,
|
120 |
+
", ;": e.separator,
|
121 |
+
"@": e.meta,
|
122 |
+
TypeName: e.typeName,
|
123 |
+
TypeDefinition: e.definition(e.typeName),
|
124 |
+
"type enum interface implements namespace module declare": e.definitionKeyword,
|
125 |
+
"abstract global Privacy readonly override": e.modifier,
|
126 |
+
"is keyof unique infer": e.operatorKeyword,
|
127 |
+
JSXAttributeValue: e.attributeValue,
|
128 |
+
JSXText: e.content,
|
129 |
+
"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": e.angleBracket,
|
130 |
+
"JSXIdentifier JSXNameSpacedName": e.tagName,
|
131 |
+
"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": e.attributeName,
|
132 |
+
"JSXBuiltin/JSXIdentifier": e.standard(e.tagName)
|
133 |
+
}), RO = { __proto__: null, export: 20, as: 25, from: 33, default: 36, async: 41, function: 42, extends: 54, this: 58, true: 66, false: 66, null: 78, void: 82, typeof: 86, super: 102, new: 136, delete: 148, yield: 157, await: 161, class: 166, public: 229, private: 229, protected: 229, readonly: 231, instanceof: 250, satisfies: 253, in: 254, const: 256, import: 290, keyof: 345, unique: 349, infer: 355, is: 391, abstract: 411, implements: 413, type: 415, let: 418, var: 420, using: 423, interface: 429, enum: 433, namespace: 439, module: 441, declare: 445, global: 449, for: 468, of: 477, while: 480, with: 484, do: 488, if: 492, else: 494, switch: 498, case: 504, try: 510, catch: 514, finally: 518, return: 522, throw: 526, break: 530, continue: 534, debugger: 538 }, kO = { __proto__: null, async: 123, get: 125, set: 127, declare: 189, public: 191, private: 191, protected: 191, static: 193, abstract: 195, override: 197, readonly: 203, accessor: 205, new: 395 }, _O = { __proto__: null, "<": 187 }, zO = E.deserialize({
|
134 |
+
version: 14,
|
135 |
+
states: "$CdQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#D^O.QQlO'#DdO.bQlO'#DoO%[QlO'#DwO0fQlO'#EPOOQ!0Lf'#EX'#EXO1PQ`O'#EUOOQO'#Em'#EmOOQO'#Ih'#IhO1XQ`O'#GpO1dQ`O'#ElO1iQ`O'#ElO3hQ!0MxO'#JnO6[Q!0MxO'#JoO6uQ`O'#F[O6zQ,UO'#FsOOQ!0Lf'#Fe'#FeO7VO7dO'#FeO7eQMhO'#FzO9RQ`O'#FyOOQ!0Lf'#Jo'#JoOOQ!0Lb'#Jn'#JnO9WQ`O'#GtOOQ['#K['#K[O9cQ`O'#IUO9hQ!0LrO'#IVOOQ['#J['#J[OOQ['#IZ'#IZQ`QlOOQ`QlOOO9pQ!L^O'#DsO9wQlO'#D{O:OQlO'#D}O9^Q`O'#GpO:VQMhO'#CoO:eQ`O'#EkO:pQ`O'#EvO:uQMhO'#FdO;dQ`O'#GpOOQO'#K]'#K]O;iQ`O'#K]O;wQ`O'#GxO;wQ`O'#GyO;wQ`O'#G{O9^Q`O'#HOO<nQ`O'#HRO>VQ`O'#CeO>gQ`O'#H_O>oQ`O'#HeO>oQ`O'#HgO`QlO'#HiO>oQ`O'#HkO>oQ`O'#HnO>tQ`O'#HtO>yQ!0LsO'#HzO%[QlO'#H|O?UQ!0LsO'#IOO?aQ!0LsO'#IQO9hQ!0LrO'#ISO?lQ!0MxO'#CiO@nQpO'#DiQOQ`OOO%[QlO'#D}OAUQ`O'#EQO:VQMhO'#EkOAaQ`O'#EkOAlQ!bO'#FdOOQ['#Cg'#CgOOQ!0Lb'#Dn'#DnOOQ!0Lb'#Jr'#JrO%[QlO'#JrOOQO'#Ju'#JuOOQO'#Id'#IdOBlQpO'#EdOOQ!0Lb'#Ec'#EcOOQ!0Lb'#Jy'#JyOChQ!0MSO'#EdOCrQpO'#ETOOQO'#Jt'#JtODWQpO'#JuOEeQpO'#ETOCrQpO'#EdPErO&2DjO'#CbPOOO)CDy)CDyOOOO'#I['#I[OE}O#tO,59UOOQ!0Lh,59U,59UOOOO'#I]'#I]OF]O&jO,59UOFkQ!L^O'#D`OOOO'#I_'#I_OFrO#@ItO,59xOOQ!0Lf,59x,59xOGQQlO'#I`OGeQ`O'#JpOIdQ!fO'#JpO+}QlO'#JpOIkQ`O,5:OOJRQ`O'#EmOJ`Q`O'#KPOJkQ`O'#KOOJkQ`O'#KOOJsQ`O,5;ZOJxQ`O'#J}OOQ!0Ln,5:Z,5:ZOKPQlO,5:ZOL}Q!0MxO,5:cOMnQ`O,5:kONXQ!0LrO'#J|ON`Q`O'#J{O9WQ`O'#J{ONtQ`O'#J{ON|Q`O,5;YO! RQ`O'#J{O!#WQ!fO'#JoOOQ!0Lh'#Ci'#CiO%[QlO'#EPO!#vQ!fO,5:pOOQS'#Jv'#JvOOQO-E<f-E<fO9^Q`O,5=[O!$^Q`O,5=[O!$cQlO,5;WO!&fQMhO'#EhO!(PQ`O,5;WO!(UQlO'#DvO!(`QpO,5;aO!(hQpO,5;aO%[QlO,5;aOOQ['#FS'#FSOOQ['#FU'#FUO%[QlO,5;bO%[QlO,5;bO%[QlO,5;bO%[QlO,5;bO%[QlO,5;bO%[QlO,5;bO%[QlO,5;bO%[QlO,5;bO%[QlO,5;bO%[QlO,5;bOOQ['#FY'#FYO!(vQlO,5;sOOQ!0Lf,5;x,5;xOOQ!0Lf,5;y,5;yOOQ!0Lf,5;{,5;{O%[QlO'#IlO!*yQ!0LrO,5<gO%[QlO,5;bO!&fQMhO,5;bO!+hQMhO,5;bO!-YQMhO'#EZO%[QlO,5;vOOQ!0Lf,5;z,5;zO!-aQ,UO'#FiO!.^Q,UO'#KTO!-xQ,UO'#KTO!.eQ,UO'#KTOOQO'#KT'#KTO!.yQ,UO,5<ROOOW,5<_,5<_O!/[QlO'#FuOOOW'#Ik'#IkO7VO7dO,5<PO!/cQ,UO'#FwOOQ!0Lf,5<P,5<PO!0SQ$IUO'#CvOOQ!0Lh'#Cz'#CzO!0gO#@ItO'#DOO!1TQMjO,5<dO!1[Q`O,5<fO!2wQ(CWO'#GVO!3UQ`O'#GWO!3ZQ`O'#GWO!4yQ(CWO'#G[O!6OQpO'#G`OOQO'#Gk'#GkO!+oQMhO'#GjOOQO'#Gm'#GmO!+oQMhO'#GlO!6qQ$IUO'#JhOOQ!0Lh'#Jh'#JhO!6{Q`O'#JgO!7ZQ`O'#JfO!7cQ`O'#CuOOQ!0Lh'#Cx'#CxO!7kQ`O'#CzOOQ!0Lh'#DS'#DSOOQ!0Lh'#DU'#DUO1SQ`O'#DWO!+oQMhO'#F}O!+oQMhO'#GPO!7pQ`O'#GRO!7uQ`O'#GSO!3ZQ`O'#GYO!+oQMhO'#G_O!7zQ`O'#EnO!8iQ`O,5<eOOQ!0Lb'#Cr'#CrO!8qQ`O'#EoO!9kQpO'#EpOOQ!0Lb'#J}'#J}O!9rQ!0LrO'#K^O9hQ!0LrO,5=`O`QlO,5>pOOQ['#Jd'#JdOOQ[,5>q,5>qOOQ[-E<X-E<XO!;qQ!0MxO,5:_O!9fQpO,5:]O!>[Q!0MxO,5:gO%[QlO,5:gO!@rQ!0MxO,5:iOOQO,5@w,5@wO!AcQMhO,5=[O!AqQ!0LrO'#JeO9RQ`O'#JeO!BSQ!0LrO,59ZO!B_QpO,59ZO!BgQMhO,59ZO:VQMhO,59ZO!BrQ`O,5;WO!BzQ`O'#H^O!C`Q`O'#KaO%[QlO,5;|O!9fQpO,5<OO!ChQ`O,5=wO!CmQ`O,5=wO!CrQ`O,5=wO9hQ!0LrO,5=wO;wQ`O,5=gOOQO'#Cv'#CvO!DQQpO,5=dO!DYQMhO,5=eO!DeQ`O,5=gO!DjQ!bO,5=jO!DrQ`O'#K]O>tQ`O'#HTO9^Q`O'#HVO!DwQ`O'#HVO:VQMhO'#HXO!D|Q`O'#HXOOQ[,5=m,5=mO!ERQ`O'#HYO!EdQ`O'#CoO!EiQ`O,59PO!EsQ`O,59PO!GxQlO,59POOQ[,59P,59PO!HYQ!0LrO,59PO%[QlO,59PO!JeQlO'#HaOOQ['#Hb'#HbOOQ['#Hc'#HcO`QlO,5=yO!J{Q`O,5=yO`QlO,5>PO`QlO,5>RO!KQQ`O,5>TO`QlO,5>VO!KVQ`O,5>YO!K[QlO,5>`OOQ[,5>f,5>fO%[QlO,5>fO9hQ!0LrO,5>hOOQ[,5>j,5>jO# fQ`O,5>jOOQ[,5>l,5>lO# fQ`O,5>lOOQ[,5>n,5>nO#!SQpO'#D[O%[QlO'#JrO#!uQpO'#JrO##PQpO'#DjO##bQpO'#DjO#%sQlO'#DjO#%zQ`O'#JqO#&SQ`O,5:TO#&XQ`O'#EqO#&gQ`O'#KQO#&oQ`O,5;[O#&tQpO'#DjO#'RQpO'#ESOOQ!0Lf,5:l,5:lO%[QlO,5:lO#'YQ`O,5:lO>tQ`O,5;VO!B_QpO,5;VO!BgQMhO,5;VO:VQMhO,5;VO#'bQ`O,5@^O#'gQ07dO,5:pOOQO-E<b-E<bO#(mQ!0MSO,5;OOCrQpO,5:oO#(wQpO,5:oOCrQpO,5;OO!BSQ!0LrO,5:oOOQ!0Lb'#Eg'#EgOOQO,5;O,5;OO%[QlO,5;OO#)UQ!0LrO,5;OO#)aQ!0LrO,5;OO!B_QpO,5:oOOQO,5;U,5;UO#)oQ!0LrO,5;OPOOO'#IY'#IYP#*TO&2DjO,58|POOO,58|,58|OOOO-E<Y-E<YOOQ!0Lh1G.p1G.pOOOO-E<Z-E<ZOOOO,59z,59zO#*`Q!bO,59zOOOO-E<]-E<]OOQ!0Lf1G/d1G/dO#*eQ!fO,5>zO+}QlO,5>zOOQO,5?Q,5?QO#*oQlO'#I`OOQO-E<^-E<^O#*|Q`O,5@[O#+UQ!fO,5@[O#+]Q`O,5@jOOQ!0Lf1G/j1G/jO%[QlO,5@kO#+eQ`O'#IfOOQO-E<d-E<dO#+]Q`O,5@jOOQ!0Lb1G0u1G0uOOQ!0Ln1G/u1G/uOOQ!0Ln1G0V1G0VO%[QlO,5@hO#+yQ!0LrO,5@hO#,[Q!0LrO,5@hO#,cQ`O,5@gO9WQ`O,5@gO#,kQ`O,5@gO#,yQ`O'#IiO#,cQ`O,5@gOOQ!0Lb1G0t1G0tO!(`QpO,5:rO!(kQpO,5:rOOQS,5:t,5:tO#-kQdO,5:tO#-sQMhO1G2vO9^Q`O1G2vOOQ!0Lf1G0r1G0rO#.RQ!0MxO1G0rO#/WQ!0MvO,5;SOOQ!0Lh'#GU'#GUO#/tQ!0MzO'#JhO!$cQlO1G0rO#2PQ!fO'#JsO%[QlO'#JsO#2ZQ`O,5:bOOQ!0Lh'#D['#D[OOQ!0Lf1G0{1G0{O%[QlO1G0{OOQ!0Lf1G1e1G1eO#2`Q`O1G0{O#4tQ!0MxO1G0|O#4{Q!0MxO1G0|O#7cQ!0MxO1G0|O#7jQ!0MxO1G0|O#:QQ!0MxO1G0|O#<hQ!0MxO1G0|O#<oQ!0MxO1G0|O#<vQ!0MxO1G0|O#?^Q!0MxO1G0|O#?eQ!0MxO1G0|O#ArQ?MtO'#CiO#CmQ?MtO1G1_O#CtQ?MtO'#JoO#DXQ!0MxO,5?WOOQ!0Lb-E<j-E<jO#FfQ!0MxO1G0|O#GcQ!0MzO1G0|OOQ!0Lf1G0|1G0|O#HfQMjO'#JxO#HpQ`O,5:uO#HuQ!0MxO1G1bO#IiQ,UO,5<VO#IqQ,UO,5<WO#IyQ,UO'#FnO#JbQ`O'#FmOOQO'#KU'#KUOOQO'#Ij'#IjO#JgQ,UO1G1mOOQ!0Lf1G1m1G1mOOOW1G1x1G1xO#JxQ?MtO'#JnO#KSQ`O,5<aO!(vQlO,5<aOOOW-E<i-E<iOOQ!0Lf1G1k1G1kO#KXQpO'#KTOOQ!0Lf,5<c,5<cO#KaQpO,5<cO#KfQMhO'#DQOOOO'#I^'#I^O#KmO#@ItO,59jOOQ!0Lh,59j,59jO%[QlO1G2OO!7uQ`O'#InO#KxQ`O,5<xOOQ!0Lh,5<u,5<uO!+oQMhO'#IqO#LfQMjO,5=UO!+oQMhO'#IsO#MXQMjO,5=WO!&fQMhO,5=YOOQO1G2Q1G2QO#McQ!dO'#CrO#MvQ(CWO'#EoO#N{QpO'#G`O$ cQ!dO,5<qO$ jQ`O'#KXO9WQ`O'#KXO$ xQ`O,5<sO!+oQMhO,5<rO$ }Q`O'#GXO$!`Q`O,5<rO$!eQ!dO'#GUO$!rQ!dO'#KYO$!|Q`O'#KYO!&fQMhO'#KYO$#RQ`O,5<vO$#WQlO'#JrO$#bQpO'#GaO##bQpO'#GaO$#sQ`O'#GeO!3ZQ`O'#GhO$#xQ!0LrO'#IpO$$TQpO,5<zOOQ!0Lp,5<z,5<zO$$[QpO'#GaO$$iQpO'#GbO$$zQpO'#GbO$%PQMjO,5=UO$%aQMjO,5=WOOQ!0Lh,5=Z,5=ZO!+oQMhO,5@RO!+oQMhO,5@RO$%qQ`O'#IuO$%|Q`O,5@QO$&UQ`O,59aOOQ!0Lh,59f,59fO$&{Q$IYO,59rOOQ!0Lh'#Jl'#JlO$'nQMjO,5<iO$(aQMjO,5<kO@fQ`O,5<mOOQ!0Lh,5<n,5<nO$(kQ`O,5<tO$(pQMjO,5<yO$)QQ`O'#J{O!$cQlO1G2PO$)VQ`O1G2PO9WQ`O'#KOO9WQ`O'#EqO%[QlO'#EqO9WQ`O'#IwO$)[Q!0LrO,5@xOOQ[1G2z1G2zOOQ[1G4[1G4[OOQ!0Lf1G/y1G/yOOQ!0Lf1G/w1G/wO$+^Q!0MxO1G0ROOQ[1G2v1G2vO!&fQMhO1G2vO%[QlO1G2vO#-vQ`O1G2vO$-bQMhO'#EhOOQ!0Lb,5@P,5@PO$-lQ!0LrO,5@POOQ[1G.u1G.uO!BSQ!0LrO1G.uO!B_QpO1G.uO!BgQMhO1G.uO$-}Q`O1G0rO$.SQ`O'#CiO$._Q`O'#KbO$.gQ`O,5=xO$.lQ`O'#KbO$.qQ`O'#KbO$/PQ`O'#I}O$/_Q`O,5@{O$/gQ!fO1G1hOOQ!0Lf1G1j1G1jO9^Q`O1G3cO@fQ`O1G3cO$/nQ`O1G3cO$/sQ`O1G3cOOQ[1G3c1G3cO!DeQ`O1G3RO!&fQMhO1G3OO$/xQ`O1G3OOOQ[1G3P1G3PO!&fQMhO1G3PO$/}Q`O1G3PO$0VQpO'#G}OOQ[1G3R1G3RO!5yQpO'#IyO!DjQ!bO1G3UOOQ[1G3U1G3UOOQ[,5=o,5=oO$0_QMhO,5=qO9^Q`O,5=qO$#sQ`O,5=sO9RQ`O,5=sO!B_QpO,5=sO!BgQMhO,5=sO:VQMhO,5=sO$0mQ`O'#K`O$0xQ`O,5=tOOQ[1G.k1G.kO$0}Q!0LrO1G.kO@fQ`O1G.kO$1YQ`O1G.kO9hQ!0LrO1G.kO$3bQ!fO,5@}O$3oQ`O,5@}O9WQ`O,5@}O$3zQlO,5={O$4RQ`O,5={OOQ[1G3e1G3eO`QlO1G3eOOQ[1G3k1G3kOOQ[1G3m1G3mO>oQ`O1G3oO$4WQlO1G3qO$8[QlO'#HpOOQ[1G3t1G3tO$8iQ`O'#HvO>tQ`O'#HxOOQ[1G3z1G3zO$8qQlO1G3zO9hQ!0LrO1G4QOOQ[1G4S1G4SOOQ!0Lb'#G]'#G]O9hQ!0LrO1G4UO9hQ!0LrO1G4WO$<xQ`O,5@^O!(vQlO,5;]O9WQ`O,5;]O>tQ`O,5:UO!(vQlO,5:UO!B_QpO,5:UO$<}Q?MtO,5:UOOQO,5;],5;]O$=XQpO'#IaO$=oQ`O,5@]OOQ!0Lf1G/o1G/oO$=wQpO'#IgO$>RQ`O,5@lOOQ!0Lb1G0v1G0vO##bQpO,5:UOOQO'#Ic'#IcO$>ZQpO,5:nOOQ!0Ln,5:n,5:nO#']Q`O1G0WOOQ!0Lf1G0W1G0WO%[QlO1G0WOOQ!0Lf1G0q1G0qO>tQ`O1G0qO!B_QpO1G0qO!BgQMhO1G0qOOQ!0Lb1G5x1G5xO!BSQ!0LrO1G0ZOOQO1G0j1G0jO%[QlO1G0jO$>bQ!0LrO1G0jO$>mQ!0LrO1G0jO!B_QpO1G0ZOCrQpO1G0ZO$>{Q!0LrO1G0jOOQO1G0Z1G0ZO$?aQ!0MxO1G0jPOOO-E<W-E<WPOOO1G.h1G.hOOOO1G/f1G/fO$?kQ!bO,5<gO$?sQ!fO1G4fOOQO1G4l1G4lO%[QlO,5>zO$?}Q`O1G5vO$@VQ`O1G6UO$@_Q!fO1G6VO9WQ`O,5?QO$@iQ!0MxO1G6SO%[QlO1G6SO$@yQ!0LrO1G6SO$A[Q`O1G6RO$A[Q`O1G6RO9WQ`O1G6RO$AdQ`O,5?TO9WQ`O,5?TOOQO,5?T,5?TO$AxQ`O,5?TO$)QQ`O,5?TOOQO-E<g-E<gOOQS1G0^1G0^OOQS1G0`1G0`O#-nQ`O1G0`OOQ[7+(b7+(bO!&fQMhO7+(bO%[QlO7+(bO$BWQ`O7+(bO$BcQMhO7+(bO$BqQ!0MzO,5=UO$D|Q!0MzO,5=WO$GXQ!0MzO,5=UO$IjQ!0MzO,5=WO$K{Q!0MzO,59rO$NQQ!0MzO,5<iO%!]Q!0MzO,5<kO%$hQ!0MzO,5<yOOQ!0Lf7+&^7+&^O%&yQ!0MxO7+&^O%'mQlO'#IbO%'zQ`O,5@_O%(SQ!fO,5@_OOQ!0Lf1G/|1G/|O%(^Q`O7+&gOOQ!0Lf7+&g7+&gO%(cQ?MtO,5:cO%[QlO7+&yO%(mQ?MtO,5:_O%(zQ?MtO,5:gO%)UQ?MtO,5:iO%)`QMhO'#IeO%)jQ`O,5@dOOQ!0Lh1G0a1G0aOOQO1G1q1G1qOOQO1G1r1G1rO%)rQ!jO,5<YO!(vQlO,5<XOOQO-E<h-E<hOOQ!0Lf7+'X7+'XOOOW7+'d7+'dOOOW1G1{1G1{O%)}Q`O1G1{OOQ!0Lf1G1}1G1}OOOO,59l,59lO%*SQ!dO,59lOOOO-E<[-E<[OOQ!0Lh1G/U1G/UO%*ZQ!0MxO7+'jOOQ!0Lh,5?Y,5?YO%*}QMhO1G2dP%+UQ`O'#InPOQ!0Lh-E<l-E<lO%+rQMjO,5?]OOQ!0Lh-E<o-E<oO%,eQMjO,5?_OOQ!0Lh-E<q-E<qO%,oQ!dO1G2tO%,vQ!dO'#CrO%-^QMhO'#KOO$#WQlO'#JrOOQ!0Lh1G2]1G2]O%-eQ`O'#ImO%-yQ`O,5@sO%-yQ`O,5@sO%.RQ`O,5@sO%.^Q`O,5@sOOQO1G2_1G2_O%.lQMjO1G2^O!+oQMhO1G2^O%.|Q(CWO'#IoO%/ZQ`O,5@tO!&fQMhO,5@tO%/cQ!dO,5@tOOQ!0Lh1G2b1G2bO%1sQ!fO'#CiO%1}Q`O,5<}OOQ!0Lb,5<{,5<{O%2VQpO,5<{OOQ!0Lb,5<|,5<|OCcQ`O,5<{O%2bQpO,5<{OOQ!0Lb,5=P,5=PO$)QQ`O,5=SOOQO,5?[,5?[OOQO-E<n-E<nOOQ!0Lp1G2f1G2fO##bQpO,5<{O$#WQlO,5<}O%2pQ`O,5<|O%2{QpO,5<|O!+oQMhO'#IqO%3uQMjO1G2pO!+oQMhO'#IsO%4hQMjO1G2rO%4rQMjO1G5mO%4|QMjO1G5mOOQO,5?a,5?aOOQO-E<s-E<sOOQO1G.{1G.{O!9fQpO,59tO%[QlO,59tOOQ!0Lh,5<h,5<hO%5ZQ`O1G2XO!+oQMhO1G2`O%5`Q!0MxO7+'kOOQ!0Lf7+'k7+'kO!$cQlO7+'kO%6SQ`O,5;]OOQ!0Lb,5?c,5?cOOQ!0Lb-E<u-E<uO%6XQ!dO'#KZO#']Q`O7+(bO4UQ!fO7+(bO$BZQ`O7+(bO%6cQ!0MvO'#CiO%6vQ!0MvO,5=QO%7hQ`O,5=QOOQ!0Lb1G5k1G5kOOQ[7+$a7+$aO!BSQ!0LrO7+$aO!B_QpO7+$aO!$cQlO7+&^O%7mQ`O'#I|O%8UQ`O,5@|OOQO1G3d1G3dO9^Q`O,5@|O%8UQ`O,5@|O%8^Q`O,5@|OOQO,5?i,5?iOOQO-E<{-E<{OOQ!0Lf7+'S7+'SO%8cQ`O7+(}O9hQ!0LrO7+(}O9^Q`O7+(}O@fQ`O7+(}OOQ[7+(m7+(mO%8hQ!0MvO7+(jO!&fQMhO7+(jO!D`Q`O7+(kOOQ[7+(k7+(kO!&fQMhO7+(kO%8rQ`O'#K_O%8}Q`O,5=iOOQO,5?e,5?eOOQO-E<w-E<wOOQ[7+(p7+(pO%:aQpO'#HWOOQ[1G3]1G3]O!&fQMhO1G3]O%[QlO1G3]O%:hQ`O1G3]O%:sQMhO1G3]O9hQ!0LrO1G3_O$#sQ`O1G3_O9RQ`O1G3_O!B_QpO1G3_O!BgQMhO1G3_O%;RQ`O'#I{O%;gQ`O,5@zO%;oQpO,5@zOOQ!0Lb1G3`1G3`OOQ[7+$V7+$VO@fQ`O7+$VO9hQ!0LrO7+$VO%;zQ`O7+$VO%[QlO1G6iO%[QlO1G6jO%<PQ!0LrO1G6iO%<ZQlO1G3gO%<bQ`O1G3gO%<gQlO1G3gOOQ[7+)P7+)PO9hQ!0LrO7+)ZO`QlO7+)]OOQ['#Ke'#KeOOQ['#JO'#JOO%<nQlO,5>[OOQ[,5>[,5>[O%[QlO'#HqO%<{Q`O'#HsOOQ[,5>b,5>bO9WQ`O,5>bOOQ[,5>d,5>dOOQ[7+)f7+)fOOQ[7+)l7+)lOOQ[7+)p7+)pOOQ[7+)r7+)rO%=QQpO1G5xO%=lQ?MtO1G0wO%=vQ`O1G0wOOQO1G/p1G/pO%>RQ?MtO1G/pO>tQ`O1G/pO!(vQlO'#DjOOQO,5>{,5>{OOQO-E<_-E<_OOQO,5?R,5?ROOQO-E<e-E<eO!B_QpO1G/pOOQO-E<a-E<aOOQ!0Ln1G0Y1G0YOOQ!0Lf7+%r7+%rO#']Q`O7+%rOOQ!0Lf7+&]7+&]O>tQ`O7+&]O!B_QpO7+&]OOQO7+%u7+%uO$?aQ!0MxO7+&UOOQO7+&U7+&UO%[QlO7+&UO%>]Q!0LrO7+&UO!BSQ!0LrO7+%uO!B_QpO7+%uO%>hQ!0LrO7+&UO%>vQ!0MxO7++nO%[QlO7++nO%?WQ`O7++mO%?WQ`O7++mOOQO1G4o1G4oO9WQ`O1G4oO%?`Q`O1G4oOOQS7+%z7+%zO#']Q`O<<K|O4UQ!fO<<K|O%?nQ`O<<K|OOQ[<<K|<<K|O!&fQMhO<<K|O%[QlO<<K|O%?vQ`O<<K|O%@RQ!0MzO,5?]O%B^Q!0MzO,5?_O%DiQ!0MzO1G2^O%FzQ!0MzO1G2pO%IVQ!0MzO1G2rO%KbQ!fO,5>|O%[QlO,5>|OOQO-E<`-E<`O%KlQ`O1G5yOOQ!0Lf<<JR<<JRO%KtQ?MtO1G0rO%M{Q?MtO1G0|O%NSQ?MtO1G0|O&!TQ?MtO1G0|O&![Q?MtO1G0|O&$]Q?MtO1G0|O&&^Q?MtO1G0|O&&eQ?MtO1G0|O&&lQ?MtO1G0|O&(mQ?MtO1G0|O&(tQ?MtO1G0|O&({Q!0MxO<<JeO&*sQ?MtO1G0|O&+pQ?MvO1G0|O&,sQ?MvO'#JhO&.yQ?MtO1G1bO&/WQ?MtO1G0RO&/bQMjO,5?POOQO-E<c-E<cO!(vQlO'#FpOOQO'#KV'#KVOOQO1G1t1G1tO&/lQ`O1G1sO&/qQ?MtO,5?WOOOW7+'g7+'gOOOO1G/W1G/WO&/{Q!dO1G4tOOQ!0Lh7+(O7+(OP!&fQMhO,5?YO!+oQMhO7+(`O&0SQ`O,5?XO9WQ`O,5?XOOQO-E<k-E<kO&0bQ`O1G6_O&0bQ`O1G6_O&0jQ`O1G6_O&0uQMjO7+'xO&1VQ!dO,5?ZO&1aQ`O,5?ZO!&fQMhO,5?ZOOQO-E<m-E<mO&1fQ!dO1G6`O&1pQ`O1G6`O&1xQ`O1G2iO!&fQMhO1G2iOOQ!0Lb1G2g1G2gOOQ!0Lb1G2h1G2hO%2VQpO1G2gO!B_QpO1G2gOCcQ`O1G2gOOQ!0Lb1G2n1G2nO&1}QpO1G2gO&2]Q`O1G2iO$)QQ`O1G2hOCcQ`O1G2hO$#WQlO1G2iO&2eQ`O1G2hO&3XQMjO,5?]OOQ!0Lh-E<p-E<pO&3zQMjO,5?_OOQ!0Lh-E<r-E<rO!+oQMhO7++XOOQ!0Lh1G/`1G/`O&4UQ`O1G/`OOQ!0Lh7+'s7+'sO&4ZQMjO7+'zO&4kQ!0MxO<<KVOOQ!0Lf<<KV<<KVO&5_Q`O1G0wO!&fQMhO'#IvO&5dQ`O,5@uO&7fQ!fO<<K|O!&fQMhO1G2lOOQ[<<G{<<G{O!BSQ!0LrO<<G{O&7mQ!0MxO<<IxOOQ!0Lf<<Ix<<IxOOQO,5?h,5?hO&8aQ`O,5?hO&8fQ`O,5?hOOQO-E<z-E<zO&8tQ`O1G6hO&8tQ`O1G6hO9^Q`O1G6hO@fQ`O<<LiOOQ[<<Li<<LiO&8|Q`O<<LiO9hQ!0LrO<<LiOOQ[<<LU<<LUO%8hQ!0MvO<<LUOOQ[<<LV<<LVO!D`Q`O<<LVO&9RQpO'#IxO&9^Q`O,5@yO!(vQlO,5@yOOQ[1G3T1G3TOOQO'#Iz'#IzO9hQ!0LrO'#IzO&9fQpO,5=rOOQ[,5=r,5=rO&9mQpO'#EdO&9tQpO'#GcO&9yQ`O7+(wO&:OQ`O7+(wOOQ[7+(w7+(wO!&fQMhO7+(wO%[QlO7+(wO&:WQ`O7+(wOOQ[7+(y7+(yO9hQ!0LrO7+(yO$#sQ`O7+(yO9RQ`O7+(yO!B_QpO7+(yO&:cQ`O,5?gOOQO-E<y-E<yOOQO'#HZ'#HZO&:nQ`O1G6fO9hQ!0LrO<<GqOOQ[<<Gq<<GqO@fQ`O<<GqO&:vQ`O7+,TO&:{Q`O7+,UO%[QlO7+,TO%[QlO7+,UOOQ[7+)R7+)RO&;QQ`O7+)RO&;VQlO7+)RO&;^Q`O7+)ROOQ[<<Lu<<LuOOQ[<<Lw<<LwOOQ[-E<|-E<|OOQ[1G3v1G3vO&;cQ`O,5>]OOQ[,5>_,5>_O&;hQ`O1G3|O9WQ`O7+&cO!(vQlO7+&cOOQO7+%[7+%[O&;mQ?MtO1G6VO>tQ`O7+%[OOQ!0Lf<<I^<<I^OOQ!0Lf<<Iw<<IwO>tQ`O<<IwOOQO<<Ip<<IpO$?aQ!0MxO<<IpO%[QlO<<IpOOQO<<Ia<<IaO!BSQ!0LrO<<IaO&;wQ!0LrO<<IpO&<SQ!0MxO<= YO&<dQ`O<= XOOQO7+*Z7+*ZO9WQ`O7+*ZOOQ[ANAhANAhO&<lQ!fOANAhO!&fQMhOANAhO#']Q`OANAhO4UQ!fOANAhO&<sQ`OANAhO%[QlOANAhO&<{Q!0MzO7+'xO&?^Q!0MzO,5?]O&AiQ!0MzO,5?_O&CtQ!0MzO7+'zO&FVQ!fO1G4hO&FaQ?MtO7+&^O&HeQ?MvO,5=UO&JlQ?MvO,5=WO&J|Q?MvO,5=UO&K^Q?MvO,5=WO&KnQ?MvO,59rO&MtQ?MvO,5<iO' wQ?MvO,5<kO'$]Q?MvO,5<yO'&RQ?MtO7+'jO'&`Q?MtO7+'kO'&mQ`O,5<[OOQO7+'_7+'_OOQ!0Lh7+*`7+*`O'&rQMjO<<KzOOQO1G4s1G4sO'&yQ`O1G4sO''UQ`O1G4sO''dQ`O7++yO''dQ`O7++yO!&fQMhO1G4uO''lQ!dO1G4uO''vQ`O7++zO'(OQ`O7+(TO'(ZQ!dO7+(TOOQ!0Lb7+(R7+(ROOQ!0Lb7+(S7+(SO!B_QpO7+(ROCcQ`O7+(RO'(eQ`O7+(TO!&fQMhO7+(TO$)QQ`O7+(SO'(jQ`O7+(TOCcQ`O7+(SO'(rQMjO<<NsOOQ!0Lh7+$z7+$zO'(|Q!dO,5?bOOQO-E<t-E<tO')WQ!0MvO7+(WOOQ[AN=gAN=gO9^Q`O1G5SOOQO1G5S1G5SO')hQ`O1G5SO')mQ`O7+,SO')mQ`O7+,SO9hQ!0LrOANBTO@fQ`OANBTOOQ[ANBTANBTOOQ[ANApANApOOQ[ANAqANAqO')uQ`O,5?dOOQO-E<v-E<vO'*QQ?MtO1G6eOOQO,5?f,5?fOOQO-E<x-E<xOOQ[1G3^1G3^O'*[Q`O,5<}OOQ[<<Lc<<LcO!&fQMhO<<LcO&9yQ`O<<LcO'*aQ`O<<LcO%[QlO<<LcOOQ[<<Le<<LeO9hQ!0LrO<<LeO$#sQ`O<<LeO9RQ`O<<LeO'*iQpO1G5RO'*tQ`O7+,QOOQ[AN=]AN=]O9hQ!0LrOAN=]OOQ[<= o<= oOOQ[<= p<= pO'*|Q`O<= oO'+RQ`O<= pOOQ[<<Lm<<LmO'+WQ`O<<LmO'+]QlO<<LmOOQ[1G3w1G3wO>tQ`O7+)hO'+dQ`O<<I}O'+oQ?MtO<<I}OOQO<<Hv<<HvOOQ!0LfAN?cAN?cOOQOAN?[AN?[O$?aQ!0MxOAN?[OOQOAN>{AN>{O%[QlOAN?[OOQO<<Mu<<MuOOQ[G27SG27SO!&fQMhOG27SO#']Q`OG27SO'+yQ!fOG27SO4UQ!fOG27SO',QQ`OG27SO',YQ?MtO<<JeO',gQ?MvO1G2^O'.]Q?MvO,5?]O'0`Q?MvO,5?_O'2cQ?MvO1G2pO'4fQ?MvO1G2rO'6iQ?MtO<<KVO'6vQ?MtO<<IxOOQO1G1v1G1vO!+oQMhOANAfOOQO7+*_7+*_O'7TQ`O7+*_O'7`Q`O<= eO'7hQ!dO7+*aOOQ!0Lb<<Ko<<KoO$)QQ`O<<KoOCcQ`O<<KoO'7rQ`O<<KoO!&fQMhO<<KoOOQ!0Lb<<Km<<KmO!B_QpO<<KmO'7}Q!dO<<KoOOQ!0Lb<<Kn<<KnO'8XQ`O<<KoO!&fQMhO<<KoO$)QQ`O<<KnOOQO7+*n7+*nO9^Q`O7+*nO'8^Q`O<= nOOQ[G27oG27oO9hQ!0LrOG27oO!(vQlO1G5OO'8fQ`O7+,PO'8nQ`O1G2iO&9yQ`OANA}OOQ[ANA}ANA}O!&fQMhOANA}O'8sQ`OANA}OOQ[ANBPANBPO9hQ!0LrOANBPO$#sQ`OANBPOOQO'#H['#H[OOQO7+*m7+*mOOQ[G22wG22wOOQ[ANEZANEZOOQ[ANE[ANE[OOQ[ANBXANBXO'8{Q`OANBXOOQ[<<MS<<MSO!(vQlOAN?iOOQOG24vG24vO$?aQ!0MxOG24vO#']Q`OLD,nOOQ[LD,nLD,nO!&fQMhOLD,nO'9QQ!fOLD,nO'9XQ?MvO7+'xO':}Q?MvO,5?]O'=QQ?MvO,5?_O'?TQ?MvO7+'zO'@yQMjOG27QOOQO<<My<<MyOOQ!0LbANAZANAZO$)QQ`OANAZOCcQ`OANAZO'AZQ!dOANAZOOQ!0LbANAXANAXO'AbQ`OANAZO!&fQMhOANAZO'AmQ!dOANAZOOQ!0LbANAYANAYOOQO<<NY<<NYOOQ[LD-ZLD-ZO'AwQ?MtO7+*jOOQO'#Gd'#GdOOQ[G27iG27iO&9yQ`OG27iO!&fQMhOG27iOOQ[G27kG27kO9hQ!0LrOG27kOOQ[G27sG27sO'BRQ?MtOG25TOOQOLD*bLD*bOOQ[!$(!Y!$(!YO#']Q`O!$(!YO!&fQMhO!$(!YO'B]Q!0MzOG27QOOQ!0LbG26uG26uO$)QQ`OG26uO'DnQ`OG26uOCcQ`OG26uO'DyQ!dOG26uO!&fQMhOG26uOOQ[LD-TLD-TO&9yQ`OLD-TOOQ[LD-VLD-VOOQ[!)9Et!)9EtO#']Q`O!)9EtOOQ!0LbLD,aLD,aO$)QQ`OLD,aOCcQ`OLD,aO'EQQ`OLD,aO'E]Q!dOLD,aOOQ[!$(!o!$(!oOOQ[!.K;`!.K;`O'EdQ?MvOG27QOOQ!0Lb!$( {!$( {O$)QQ`O!$( {OCcQ`O!$( {O'GYQ`O!$( {OOQ!0Lb!)9Eg!)9EgO$)QQ`O!)9EgOCcQ`O!)9EgOOQ!0Lb!.K;R!.K;RO$)QQ`O!.K;ROOQ!0Lb!4/0m!4/0mO!(vQlO'#DwO1PQ`O'#EUO'GeQ!fO'#JnO'GlQ!L^O'#DsO'GsQlO'#D{O'GzQ!fO'#CiO'JbQ!fO'#CiO!(vQlO'#D}O'JrQlO,5;WO!(vQlO,5;bO!(vQlO,5;bO!(vQlO,5;bO!(vQlO,5;bO!(vQlO,5;bO!(vQlO,5;bO!(vQlO,5;bO!(vQlO,5;bO!(vQlO,5;bO!(vQlO,5;bO!(vQlO'#IlO'LuQ`O,5<gO!(vQlO,5;bO'L}QMhO,5;bO'NhQMhO,5;bO!(vQlO,5;vO!&fQMhO'#GjO'L}QMhO'#GjO!&fQMhO'#GlO'L}QMhO'#GlO1SQ`O'#DWO1SQ`O'#DWO!&fQMhO'#F}O'L}QMhO'#F}O!&fQMhO'#GPO'L}QMhO'#GPO!&fQMhO'#G_O'L}QMhO'#G_O!(vQlO,5:gO'NoQpO'#D[O'NyQpO'#JrO!(vQlO,5@kO'JrQlO1G0rO( TQ?MtO'#CiO!(vQlO1G2OO!&fQMhO'#IqO'L}QMhO'#IqO!&fQMhO'#IsO'L}QMhO'#IsO( _Q!dO'#CrO!&fQMhO,5<rO'L}QMhO,5<rO'JrQlO1G2PO!(vQlO7+&yO!&fQMhO1G2^O'L}QMhO1G2^O!&fQMhO'#IqO'L}QMhO'#IqO!&fQMhO'#IsO'L}QMhO'#IsO!&fQMhO1G2`O'L}QMhO1G2`O'JrQlO7+'kO'JrQlO7+&^O!&fQMhOANAfO'L}QMhOANAfO( rQ`O'#ElO( wQ`O'#ElO(!PQ`O'#F[O(!UQ`O'#EvO(!ZQ`O'#KPO(!fQ`O'#J}O(!qQ`O,5;WO(!vQMjO,5<dO(!}Q`O'#GWO(#SQ`O'#GWO(#XQ`O,5<eO(#aQ`O,5;WO(#iQ?MtO1G1_O(#pQ`O,5<rO(#uQ`O,5<rO(#zQ`O,5<tO($PQ`O,5<tO($UQ`O1G2PO($ZQ`O1G0rO($`QMjO<<KzO($gQMjO<<KzO7eQMhO'#FzO9RQ`O'#FyOAaQ`O'#EkO!(vQlO,5;sO!3ZQ`O'#GWO!3ZQ`O'#GWO!3ZQ`O'#GYO!3ZQ`O'#GYO!+oQMhO7+(`O!+oQMhO7+(`O%,oQ!dO1G2tO%,oQ!dO1G2tO!&fQMhO,5=YO!&fQMhO,5=Y",
|
136 |
+
stateData: "(%k~O'xOS'yOSTOS'zRQ~OPYOQYOSfOY!VOaqOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![XO!fuO!iZO!lYO!mYO!nYO!pvO!rwO!uxO!y]O#t!PO$V|O%e}O%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO&S!WO&Y!XO&[!YO&^!ZO&`![O&c!]O&i!^O&o!_O&q!`O&s!aO&u!bO&w!cO(PSO(RTO(UUO(]VO(k[O(ziO~OWtO~P`OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(P!dO(RTO(UUO(]VO(k[O(ziO~Oa!wOp!nO!P!oO!_!yO!`!vO!a!vO!y;kO#Q!pO#R!pO#S!xO#T!pO#U!pO#X!zO#Y!zO(Q!lO(RTO(UUO(a!mO(k!sO~O'z!{O~OP]XR]X[]Xa]Xo]X}]X!P]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X'v]X(]]X(n]X(u]X(v]X~O!d%PX~P(qO_!}O(R#PO(S!}O(T#PO~O_#QO(T#PO(U#PO(V#QO~Ou#SO!R#TO(^#TO(_#VO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(P;oO(RTO(UUO(]VO(k[O(ziO~O!X#ZO!Y#WO!V(dP!V(rP~P+}O!Z#cO~P`OPYOQYOSfOd!jOe!iOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(RTO(UUO(]VO(k[O(ziO~Om#mO!X#iO!y]O#f#lO#g#iO(P;pO!h(oP~P.iO!i#oO(P#nO~O!u#sO!y]O%e#tO~O#h#uO~O!d#vO#h#uO~OP$[OR#zO[$cOo$aO}#yO!P#{O!Y$_O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO#w$UO#y$WO#z$XO(]VO(n$YO(u#|O(v#}O~Oa(bX'v(bX's(bX!h(bX!V(bX![(bX%f(bX!d(bX~P1qO#P$dO#]$eO$P$eOP(cXR(cX[(cXo(cX}(cX!P(cX!Y(cX!i(cX!m(cX#O(cX#k(cX#l(cX#m(cX#n(cX#o(cX#p(cX#q(cX#r(cX#s(cX#u(cX#w(cX#y(cX#z(cX(](cX(n(cX(u(cX(v(cX![(cX%f(cX~Oa(cX'v(cX's(cX!V(cX!h(cXs(cX!d(cX~P4UO#]$eO~O$[$hO$^$gO$e$mO~OSfO![$nO$h$oO$j$qO~Oh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{%[O!P${O![$|O!f%aO!i$xO#g%bO$V%_O$r%]O$t%^O$w%`O(P$sO(RTO(UUO(]$uO(u$}O(v%POg(YP~O!i%cO~O!P%fO![%gO(P%eO~O!d%kO~Oa%lO'v%lO~O}%pO~P%[O(Q!lO~P%[O%k%tO~P%[Oh%VO!i%cO(P%eO(Q!lO~Oe%{O!i%cO(P%eO~O#s$RO~O}&QO![%}O!i&PO%g&TO(P%eO(Q!lO(RTO(UUO`)TP~O!u#sO~O%p&VO!P)PX![)PX(P)PX~O(P&WO~O!r&]O#t!PO%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO~Od&bOe&aO!u&_O%e&`O%x&^O~P;|Od&eOeyO![&dO!r&]O!uxO!y]O#t!PO%e}O%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO~Ob&hO#]&kO%g&fO(Q!lO~P=RO!i&lO!r&pO~O!i#oO~O![XO~Oa%lO't&xO'v%lO~Oa%lO't&{O'v%lO~Oa%lO't&}O'v%lO~O's]X!V]Xs]X!h]X&W]X![]X%f]X!d]X~P(qO!_'[O!`'TO!a'TO(Q!lO(RTO(UUO~Op'RO!P'QO!X'UO(a'PO!Z(eP!Z(tP~P@YOk'_O![']O(P%eO~Oe'dO!i%cO(P%eO~O}&QO!i&PO~Op!nO!P!oO!y;kO#Q!pO#R!pO#T!pO#U!pO(Q!lO(RTO(UUO(a!mO(k!sO~O!_'jO!`'iO!a'iO#S!pO#X'kO#Y'kO~PAtOa%lOh%VO!d#vO!i%cO'v%lO(n'mO~O!m'qO#]'oO~PCSOp!nO!P!oO(RTO(UUO(a!mO(k!sO~O![XOp(iX!P(iX!_(iX!`(iX!a(iX!y(iX#Q(iX#R(iX#S(iX#T(iX#U(iX#X(iX#Y(iX(Q(iX(R(iX(U(iX(a(iX(k(iX~O!`'iO!a'iO(Q!lO~PCrO'{'uO'|'uO'}'wO~O_!}O(R'yO(S!}O(T'yO~O_#QO(T'yO(U'yO(V#QO~Os'{O~P%[Ou#SO!R#TO(^#TO(_(OO~O!X(QO!V'SX!V'YX!Y'SX!Y'YX~P+}O!Y(SO!V(dX~OP$[OR#zO[$cOo$aO}#yO!P#{O!Y(SO!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO#w$UO#y$WO#z$XO(]VO(n$YO(u#|O(v#}O~O!V(dX~PGmO!V(XO~O!V(qX!Y(qX!d(qX!h(qX(n(qX~O#](qX#h#aX!Z(qX~PIpO#](YO!V(sX!Y(sX~O!Y(ZO!V(rX~O!V(^O~O#]$eO~PIpO!Z(_O~P`OR#zO}#yO!P#{O!i#xO(]VOP!ka[!kao!ka!Y!ka!m!ka#O!ka#k!ka#l!ka#m!ka#n!ka#o!ka#p!ka#q!ka#r!ka#s!ka#u!ka#w!ka#y!ka#z!ka(n!ka(u!ka(v!ka~Oa!ka'v!ka's!ka!V!ka!h!kas!ka![!ka%f!ka!d!ka~PKWO!h(`O~O!d#vO#](aO(n'mO!Y(pXa(pX'v(pX~O!h(pX~PMsO!P%fO![%gO!y]O#f(fO#g(eO(P%eO~O!Y(gO!h(oX~O!h(iO~O!P%fO![%gO#g(eO(P%eO~OP(cXR(cX[(cXo(cX}(cX!P(cX!Y(cX!i(cX!m(cX#O(cX#k(cX#l(cX#m(cX#n(cX#o(cX#p(cX#q(cX#r(cX#s(cX#u(cX#w(cX#y(cX#z(cX(](cX(n(cX(u(cX(v(cX~O!d#vO!h(cX~P! aOR(kO}(jO!i#xO#P$dO!y!xa!P!xa~O!u!xa%e!xa![!xa#f!xa#g!xa(P!xa~P!#bO!u(oO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![XO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(P!dO(RTO(UUO(]VO(k[O(ziO~Oh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{<XO!P${O![$|O!f=jO!i$xO#g<_O$V%_O$r<ZO$t<]O$w%`O(P(sO(RTO(UUO(]$uO(u$}O(v%PO~O#h(uO~O!X(wO!h(gP~P%[O(a(yO(k[O~O!P({O!i#xO(a(yO(k[O~OP;jOQ;jOSfOd=fOe!iOmkOo;jOpkOqkOwkOy;jO{;jO!PWO!TkO!UkO![!eO!f;mO!iZO!l;jO!m;jO!n;jO!p;nO!r;qO!u!hO$V!kO(P)YO(RTO(UUO(]VO(k[O(z=dO~O!Y$_Oa$oa'v$oa's$oa!h$oa!V$oa![$oa%f$oa!d$oa~O#t)aO~P!&fOh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{%[O!P${O![$|O!f%aO!i$xO#g%bO$V%_O$r%]O$t%^O$w%`O(P(sO(RTO(UUO(]$uO(u$}O(v%PO~Og(lP~P!+oO})fO!d)eO![$]X$Y$]X$[$]X$^$]X$e$]X~O!d)eO![(wX$Y(wX$[(wX$^(wX$e(wX~O})fO~P!-xO})fO![(wX$Y(wX$[(wX$^(wX$e(wX~O![)hO$Y)lO$[)gO$^)gO$e)mO~O!X)pO~P!(vO$[$hO$^$gO$e)tO~Ok$xX}$xX#P$xX'u$xX(u$xX(v$xX~OgjXg$xXkjX!YjX#]jX~P!/nOu)vO(^)wO(_)yO~Ok*SO}){O'u)|O(u$}O(v%PO~Og)zO~P!0rOg*TO~Oh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{<XO!P*VO![*WO!f=jO!i$xO#g<_O$V%_O$r<ZO$t<]O$w%`O(RTO(UUO(]$uO(u$}O(v%PO~O!X*ZO(P*UO!h({P~P!1aO#h*]O~O!i*^O~Oh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{<XO!P${O![$|O!f=jO!i$xO#g<_O$V%_O$r<ZO$t<]O$w%`O(P*`O(RTO(UUO(]$uO(u$}O(v%PO~O!X*cO!V(|P~P!3`Oo*oOp!nO!P*eO!_*mO!`*gO!a*gO!i*^O#X*nO%]*iO(Q!lO(RTO(UUO(a!mO~O!Z*lO~P!5TO#P$dOk([X}([X'u([X(u([X(v([X!Y([X#]([X~Og([X#}([X~P!6VOk*tO#]*sOg(ZX!Y(ZX~O!Y*uOg(YX~O(P&WOg(YP~Op*xO~O!i*}O~O(P(sO~Om+RO!P%fO!X#iO![%gO!y]O#f#lO#g#iO(P%eO!h(oP~O!d#vO#h+SO~O!P%fO!X+UO!Y(ZO![%gO(P%eO!V(rP~Op'XO!P+WO!X+VO(RTO(UUO(a(yO~O!Z(tP~P!9VO!Y+XOa)QX'v)QX~OP$[OR#zO[$cOo$aO}#yO!P#{O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO#w$UO#y$WO#z$XO(]VO(n$YO(u#|O(v#}O~Oa!ga!Y!ga'v!ga's!ga!V!ga!h!gas!ga![!ga%f!ga!d!ga~P!9}OR#zO}#yO!P#{O!i#xO(]VOP!oa[!oao!oa!Y!oa!m!oa#O!oa#k!oa#l!oa#m!oa#n!oa#o!oa#p!oa#q!oa#r!oa#s!oa#u!oa#w!oa#y!oa#z!oa(n!oa(u!oa(v!oa~Oa!oa'v!oa's!oa!V!oa!h!oas!oa![!oa%f!oa!d!oa~P!<eOR#zO}#yO!P#{O!i#xO(]VOP!qa[!qao!qa!Y!qa!m!qa#O!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#q!qa#r!qa#s!qa#u!qa#w!qa#y!qa#z!qa(n!qa(u!qa(v!qa~Oa!qa'v!qa's!qa!V!qa!h!qas!qa![!qa%f!qa!d!qa~P!>{Oh%VOk+bO![']O%f+aO~O!d+dOa(XX![(XX'v(XX!Y(XX~Oa%lO![XO'v%lO~Oh%VO!i%cO~Oh%VO!i%cO(P%eO~O!d#vO#h(uO~Ob+oO%g+pO(P+lO(RTO(UUO!Z)UP~O!Y+qO`)TX~O[+uO~O`+vO~O![%}O(P%eO(Q!lO`)TP~Oh%VO#]+{O~Oh%VOk,OO![$|O~O![,QO~O},SO![XO~O%k%tO~O!u,XO~Oe,^O~Ob,_O(P#nO(RTO(UUO!Z)SP~Oe%{O~O%g!QO(P&WO~P=RO[,dO`,cO~OPYOQYOSfOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO!fuO!iZO!lYO!mYO!nYO!pvO!uxO!y]O%e}O(RTO(UUO(]VO(k[O(ziO~O![!eO!r!gO$V!kO(P!dO~P!E{O`,cOa%lO'v%lO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!u!hO$V!kO(P!dO(RTO(UUO(]VO(k[O(ziO~Oa,iO!rwO#t!OO%i!OO%j!OO%k!OO~P!HeO!i&lO~O&Y,oO~O![,qO~O&k,sO&m,tOP&haQ&haS&haY&haa&had&hae&ham&hao&hap&haq&haw&hay&ha{&ha!P&ha!T&ha!U&ha![&ha!f&ha!i&ha!l&ha!m&ha!n&ha!p&ha!r&ha!u&ha!y&ha#t&ha$V&ha%e&ha%g&ha%i&ha%j&ha%k&ha%n&ha%p&ha%s&ha%t&ha%v&ha&S&ha&Y&ha&[&ha&^&ha&`&ha&c&ha&i&ha&o&ha&q&ha&s&ha&u&ha&w&ha's&ha(P&ha(R&ha(U&ha(]&ha(k&ha(z&ha!Z&ha&a&hab&ha&f&ha~O(P,yO~Oh!bX!Y!OX!Z!OX!d!OX!d!bX!i!bX#]!OX~O!Y!bX!Z!bX~P# kO!d-OO#],}Oh(fX!Y#eX!Z#eX!d(fX!i(fX~O!Y(fX!Z(fX~P#!^Oh%VO!d-QO!i%cO!Y!^X!Z!^X~Op!nO!P!oO(RTO(UUO(a!mO~OP;jOQ;jOSfOd=fOe!iOmkOo;jOpkOqkOwkOy;jO{;jO!PWO!TkO!UkO![!eO!f;mO!iZO!l;jO!m;jO!n;jO!p;nO!r;qO!u!hO$V!kO(RTO(UUO(]VO(k[O(z=dO~O(P<fO~P##sO!Y-UO!Z(eX~O!Z-WO~O!d-OO#],}O!Y#eX!Z#eX~O!Y-XO!Z(tX~O!Z-ZO~O!`-[O!a-[O(Q!lO~P##bO!Z-_O~P'_Ok-bO![']O~O!V-gO~Op!xa!_!xa!`!xa!a!xa#Q!xa#R!xa#S!xa#T!xa#U!xa#X!xa#Y!xa(Q!xa(R!xa(U!xa(a!xa(k!xa~P!#bO!m-lO#]-jO~PCSO!`-nO!a-nO(Q!lO~PCrOa%lO#]-jO'v%lO~Oa%lO!d#vO#]-jO'v%lO~Oa%lO!d#vO!m-lO#]-jO'v%lO(n'mO~O'{'uO'|'uO'}-sO~Os-tO~O!V'Sa!Y'Sa~P!9}O!X-xO!V'SX!Y'SX~P%[O!Y(SO!V(da~O!V(da~PGmO!Y(ZO!V(ra~O!P%fO!X-|O![%gO(P%eO!V'YX!Y'YX~O#].OO!Y(pa!h(paa(pa'v(pa~O!d#vO~P#+yO!Y(gO!h(oa~O!P%fO![%gO#g.SO(P%eO~Om.XO!P%fO!X.UO![%gO!y]O#f.WO#g.UO(P%eO!Y']X!h']X~OR.]O!i#xO~Oh%VOk.`O![']O%f._O~Oa#`i!Y#`i'v#`i's#`i!V#`i!h#`is#`i![#`i%f#`i!d#`i~P!9}Ok=pO}){O'u)|O(u$}O(v%PO~O#h#[aa#[a#]#[a'v#[a!Y#[a!h#[a![#[a!V#[a~P#.uO#h([XP([XR([X[([Xa([Xo([X!P([X!i([X!m([X#O([X#k([X#l([X#m([X#n([X#o([X#p([X#q([X#r([X#s([X#u([X#w([X#y([X#z([X'v([X(]([X(n([X!h([X!V([X's([Xs([X![([X%f([X!d([X~P!6VO!Y.mO!h(gX~P!9}O!h.pO~O!V.rO~OP$[OR#zO}#yO!P#{O!i#xO!m$[O(]VO[#jia#jio#ji!Y#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'v#ji(n#ji(u#ji(v#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#k#ji~P#2eO#k$OO~P#2eOP$[OR#zOo$aO}#yO!P#{O!i#xO!m$[O#k$OO#l$PO#m$PO#n$PO(]VO[#jia#ji!Y#ji#O#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'v#ji(n#ji(u#ji(v#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#o#ji~P#5SO#o$QO~P#5SOP$[OR#zO[$cOo$aO}#yO!P#{O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO(]VOa#ji!Y#ji#w#ji#y#ji#z#ji'v#ji(n#ji(u#ji(v#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#u#ji~P#7qOP$[OR#zO[$cOo$aO}#yO!P#{O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO(]VO(v#}Oa#ji!Y#ji#y#ji#z#ji'v#ji(n#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#w$UO~P#:XO#w#ji~P#:XO#u$SO~P#7qOP$[OR#zO[$cOo$aO}#yO!P#{O!i#xO!m$[O#O$RO#k$OO#l$PO#m$PO#n$PO#o$QO#p$RO#q$RO#r$bO#s$RO#u$SO#w$UO(]VO(u#|O(v#}Oa#ji!Y#ji#z#ji'v#ji(n#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#y#ji~P#<}O#y$WO~P#<}OP]XR]X[]Xo]X}]X!P]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X(]]X(n]X(u]X(v]X!Y]X!Z]X~O#}]X~P#?lOP$[OR#zO[<ROo<PO}#yO!P#{O!i#xO!m$[O#O;vO#k;sO#l;tO#m;tO#n;tO#o;uO#p;vO#q;vO#r<QO#s;vO#u;wO#w;yO#y;{O#z;|O(]VO(n$YO(u#|O(v#}O~O#}.tO~P#AyO#P$dO#]<SO$P<SO#}(cX!Z(cX~P! aOa'`a!Y'`a'v'`a's'`a!h'`a!V'`as'`a!['`a%f'`a!d'`a~P!9}O[#jia#jio#ji!Y#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'v#ji(n#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~OP$[OR#zO}#yO!P#{O!i#xO!m$[O#k$OO#l$PO#m$PO#n$PO(]VO(u#ji(v#ji~P#D{Ok=pO}){O'u)|O(u$}O(v%POP#jiR#ji!P#ji!i#ji!m#ji#k#ji#l#ji#m#ji#n#ji(]#ji~P#D{O!Y.xOg(lX~P!0rOg.zO~Oa$Oi!Y$Oi'v$Oi's$Oi!V$Oi!h$Ois$Oi![$Oi%f$Oi!d$Oi~P!9}O$[.{O$^.{O~O$[.|O$^.|O~O!d)eO#].}O![$bX$Y$bX$[$bX$^$bX$e$bX~O!X/OO~O![)hO$Y/QO$[)gO$^)gO$e/RO~O!Y;}O!Z(bX~P#AyO!Z/SO~O!d)eO$e(wX~O$e/UO~Os/VO~P!&fOu)vO(^)wO(_/YO~O!P/]O~O(u$}Ok%^a}%^a'u%^a(v%^a!Y%^a#]%^a~Og%^a#}%^a~P#K}O(v%POk%`a}%`a'u%`a(u%`a!Y%`a#]%`a~Og%`a#}%`a~P#LpO!YfX!dfX!hfX!h$xX(nfX~P!/nO!X/fO!Y(ZO(P/eO!V(rP!V(|P~P!1aOo*oO!_*mO!`*gO!a*gO!i*^O#X*nO%]*iO(Q!lO(RTO(UUO~Op<cO!P/gO!X+VO!Z*lO(a<bO!Z(tP~P#NZO!h/hO~P#.uO!Y/iO!d#vO(n'mO!h({X~O!h/nO~O!P%fO!X*ZO![%gO(P%eO!h({P~O#h/pO~O!V$xX!Y$xX!d%PX~P!/nO!Y/qO!V(|X~P#.uO!d/sO~O!V/uO~OmkO(P/vO~P.iOh%VOo/{O!d#vO!i%cO(n'mO~O!d+dO~Oa%lO!Y0PO'v%lO~O!Z0RO~P!5TO!`0SO!a0SO(Q!lO~P##bOp!nO!P0TO(RTO(UUO(a!mO~O#X0VO~Og%^a!Y%^a#]%^a#}%^a~P!0rOg%`a!Y%`a#]%`a#}%`a~P!0rO(P&WOg'iX!Y'iX~O!Y*uOg(Ya~Og0`O~OR0aO}0aO!P0bO#P$dOkza'uza(uza(vza!Yza#]za~Ogza#}za~P$&ZO}){O'u)|Ok$qa(u$qa(v$qa!Y$qa#]$qa~Og$qa#}$qa~P$'VO}){O'u)|Ok$sa(u$sa(v$sa!Y$sa#]$sa~Og$sa#}$sa~P$'xO#h0eO~Og%Ra!Y%Ra#]%Ra#}%Ra~P!0rO!d#vO~O#h0hO~O!Y+XOa)Qa'v)Qa~OR#zO}#yO!P#{O!i#xO(]VOP!oi[!oio!oi!Y!oi!m!oi#O!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#q!oi#r!oi#s!oi#u!oi#w!oi#y!oi#z!oi(n!oi(u!oi(v!oi~Oa!oi'v!oi's!oi!V!oi!h!ois!oi![!oi%f!oi!d!oi~P$)gOh%VOo%XOp$tOq$tOw%YOy%ZO{<XO!P${O![$|O!f=jO!i$xO#g<_O$V%_O$r<ZO$t<]O$w%`O(RTO(UUO(]$uO(u$}O(v%PO~Om0qO(P0pO~P$+}O!d+dOa(Xa![(Xa'v(Xa!Y(Xa~O#h0wO~O[]X!YfX!ZfX~O!Y0xO!Z)UX~O!Z0zO~O[0{O~Ob0}O(P+lO(RTO(UUO~O![%}O(P%eO`'qX!Y'qX~O!Y+qO`)Ta~O!h1QO~P!9}O[1TO~O`1UO~O#]1XO~Ok1[O![$|O~O(a(yO!Z)RP~Oh%VOk1eO![1bO%f1dO~O[1oO!Y1mO!Z)SX~O!Z1pO~O`1rOa%lO'v%lO~O(P#nO(RTO(UUO~O#P$dO#]$eO$P$eOP(cXR(cX[(cXo(cX}(cX!P(cX!Y(cX!i(cX!m(cX#O(cX#k(cX#l(cX#m(cX#n(cX#o(cX#p(cX#q(cX#r(cX#u(cX#w(cX#y(cX#z(cX(](cX(n(cX(u(cX(v(cX~O#s1uO&W1vOa(cX~P$1eO#]$eO#s1uO&W1vO~Oa1xO~P%[Oa1zO~O&a1}OP&_iQ&_iS&_iY&_ia&_id&_ie&_im&_io&_ip&_iq&_iw&_iy&_i{&_i!P&_i!T&_i!U&_i![&_i!f&_i!i&_i!l&_i!m&_i!n&_i!p&_i!r&_i!u&_i!y&_i#t&_i$V&_i%e&_i%g&_i%i&_i%j&_i%k&_i%n&_i%p&_i%s&_i%t&_i%v&_i&S&_i&Y&_i&[&_i&^&_i&`&_i&c&_i&i&_i&o&_i&q&_i&s&_i&u&_i&w&_i's&_i(P&_i(R&_i(U&_i(]&_i(k&_i(z&_i!Z&_ib&_i&f&_i~Ob2TO!Z2RO&f2SO~P`O![XO!i2VO~O&m,tOP&hiQ&hiS&hiY&hia&hid&hie&him&hio&hip&hiq&hiw&hiy&hi{&hi!P&hi!T&hi!U&hi![&hi!f&hi!i&hi!l&hi!m&hi!n&hi!p&hi!r&hi!u&hi!y&hi#t&hi$V&hi%e&hi%g&hi%i&hi%j&hi%k&hi%n&hi%p&hi%s&hi%t&hi%v&hi&S&hi&Y&hi&[&hi&^&hi&`&hi&c&hi&i&hi&o&hi&q&hi&s&hi&u&hi&w&hi's&hi(P&hi(R&hi(U&hi(]&hi(k&hi(z&hi!Z&hi&a&hib&hi&f&hi~O!V2]O~O!Y!^a!Z!^a~P#AyOp!nO!P!oO!X2cO(a!mO!Y'TX!Z'TX~P@YO!Y-UO!Z(ea~O!Y'ZX!Z'ZX~P!9VO!Y-XO!Z(ta~O!Z2jO~P'_Oa%lO#]2sO'v%lO~Oa%lO!d#vO#]2sO'v%lO~Oa%lO!d#vO!m2wO#]2sO'v%lO(n'mO~Oa%lO'v%lO~P!9}O!Y$_Os$oa~O!V'Si!Y'Si~P!9}O!Y(SO!V(di~O!Y(ZO!V(ri~O!V(si!Y(si~P!9}O!Y(pi!h(pia(pi'v(pi~P!9}O#]2yO!Y(pi!h(pia(pi'v(pi~O!Y(gO!h(oi~O!P%fO![%gO!y]O#f3OO#g2}O(P%eO~O!P%fO![%gO#g2}O(P%eO~Ok3VO![']O%f3UO~Oh%VOk3VO![']O%f3UO~O#h%^aP%^aR%^a[%^aa%^ao%^a!P%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'v%^a(]%^a(n%^a!h%^a!V%^a's%^as%^a![%^a%f%^a!d%^a~P#K}O#h%`aP%`aR%`a[%`aa%`ao%`a!P%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'v%`a(]%`a(n%`a!h%`a!V%`a's%`as%`a![%`a%f%`a!d%`a~P#LpO#h%^aP%^aR%^a[%^aa%^ao%^a!P%^a!Y%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'v%^a(]%^a(n%^a!h%^a!V%^a's%^a#]%^as%^a![%^a%f%^a!d%^a~P#.uO#h%`aP%`aR%`a[%`aa%`ao%`a!P%`a!Y%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'v%`a(]%`a(n%`a!h%`a!V%`a's%`a#]%`as%`a![%`a%f%`a!d%`a~P#.uO#hzaPza[zaazaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza'vza(]za(nza!hza!Vza'szasza![za%fza!dza~P$&ZO#h$qaP$qaR$qa[$qaa$qao$qa!P$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa'v$qa(]$qa(n$qa!h$qa!V$qa's$qas$qa![$qa%f$qa!d$qa~P$'VO#h$saP$saR$sa[$saa$sao$sa!P$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa'v$sa(]$sa(n$sa!h$sa!V$sa's$sas$sa![$sa%f$sa!d$sa~P$'xO#h%RaP%RaR%Ra[%Raa%Rao%Ra!P%Ra!Y%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra'v%Ra(]%Ra(n%Ra!h%Ra!V%Ra's%Ra#]%Ras%Ra![%Ra%f%Ra!d%Ra~P#.uOa#`q!Y#`q'v#`q's#`q!V#`q!h#`qs#`q![#`q%f#`q!d#`q~P!9}O!X3_O!Y'UX!h'UX~P%[O!Y.mO!h(ga~O!Y.mO!h(ga~P!9}O!V3bO~O#}!ka!Z!ka~PKWO#}!ga!Y!ga!Z!ga~P#AyO#}!oa!Z!oa~P!<eO#}!qa!Z!qa~P!>{Og'XX!Y'XX~P!+oO!Y.xOg(la~OSfO![3vO$c3wO~O!Z3{O~Os3|O~P#.uOa$lq!Y$lq'v$lq's$lq!V$lq!h$lqs$lq![$lq%f$lq!d$lq~P!9}O!V4OO~P!&fO!P4PO~O}){O'u)|O(v%POk'ea(u'ea!Y'ea#]'ea~Og'ea#}'ea~P%+ZO}){O'u)|Ok'ga(u'ga(v'ga!Y'ga#]'ga~Og'ga#}'ga~P%+|O(n$YO~P#.uO!VfX!V$xX!YfX!Y$xX!d%PX#]fX~P!/nO(P<lO~P!1aO!P%fO!X4SO![%gO(P%eO!Y'aX!h'aX~O!Y/iO!h({a~O!Y/iO!d#vO!h({a~O!Y/iO!d#vO(n'mO!h({a~Og$zi!Y$zi#]$zi#}$zi~P!0rO!X4[O!V'cX!Y'cX~P!3`O!Y/qO!V(|a~O!Y/qO!V(|a~P#.uOP]XR]X[]Xo]X}]X!P]X!V]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X(]]X(n]X(u]X(v]X~O!d%WX#s%WX~P%/mO!d#vO#s4aO~Oh%VO!d#vO!i%cO~Oh%VOo4fO!i%cO(n'mO~Oo4kO!d#vO(n'mO~Op!nO!P4lO(RTO(UUO(a!mO~O(u$}Ok%^i}%^i'u%^i(v%^i!Y%^i#]%^i~Og%^i#}%^i~P%3^O(v%POk%`i}%`i'u%`i(u%`i!Y%`i#]%`i~Og%`i#}%`i~P%4POg(Zi!Y(Zi~P!0rO#]4rOg(Zi!Y(Zi~P!0rO!h4uO~Oa$mq!Y$mq'v$mq's$mq!V$mq!h$mqs$mq![$mq%f$mq!d$mq~P!9}O!V4yO~O!Y4zO![(}X~P#.uOa$xX![$xX%Z]X'v$xX!Y$xX~P!/nO%Z4}OalXklX}lX![lX'ulX'vlX(ulX(vlX!YlX~O%Z4}O~Ob5TO%g5UO(P+lO(RTO(UUO!Y'pX!Z'pX~O!Y0xO!Z)Ua~O[5YO~O`5ZO~Oa%lO'v%lO~P#.uO!Y5cO#]5eO!Z)RX~O!Z5fO~Oo5lOp!nO!P*eO!_!yO!`!vO!a!vO!y;kO#Q!pO#R!pO#S!pO#T!pO#U!pO#X5kO#Y!zO(Q!lO(RTO(UUO(a!mO(k!sO~O!Z5jO~P%9SOk5qO![1bO%f5pO~Oh%VOk5qO![1bO%f5pO~Ob5xO(P#nO(RTO(UUO!Y'oX!Z'oX~O!Y1mO!Z)Sa~O(RTO(UUO(a5zO~O`6OO~O#s6RO&W6SO~PMsO!h6TO~P%[Oa6VO~Oa6VO~P%[Ob2TO!Z6[O&f2SO~P`O!d6^O~O!d6`Oh(fi!Y(fi!Z(fi!d(fi!i(fio(fi(n(fi~O!Y#ei!Z#ei~P#AyO#]6aO!Y#ei!Z#ei~O!Y!^i!Z!^i~P#AyOa%lO#]6jO'v%lO~Oa%lO!d#vO#]6jO'v%lO~O!Y(pq!h(pqa(pq'v(pq~P!9}O!Y(gO!h(oq~O!P%fO![%gO#g6qO(P%eO~O![']O%f6tO~Ok6xO![']O%f6tO~O#h'eaP'eaR'ea['eaa'eao'ea!P'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea'v'ea(]'ea(n'ea!h'ea!V'ea's'eas'ea!['ea%f'ea!d'ea~P%+ZO#h'gaP'gaR'ga['gaa'gao'ga!P'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga'v'ga(]'ga(n'ga!h'ga!V'ga's'gas'ga!['ga%f'ga!d'ga~P%+|O#h$ziP$ziR$zi[$zia$zio$zi!P$zi!Y$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi'v$zi(]$zi(n$zi!h$zi!V$zi's$zi#]$zis$zi![$zi%f$zi!d$zi~P#.uO#h%^iP%^iR%^i[%^ia%^io%^i!P%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i'v%^i(]%^i(n%^i!h%^i!V%^i's%^is%^i![%^i%f%^i!d%^i~P%3^O#h%`iP%`iR%`i[%`ia%`io%`i!P%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i'v%`i(]%`i(n%`i!h%`i!V%`i's%`is%`i![%`i%f%`i!d%`i~P%4PO!Y'Ua!h'Ua~P!9}O!Y.mO!h(gi~O#}#`i!Y#`i!Z#`i~P#AyOP$[OR#zO}#yO!P#{O!i#xO!m$[O(]VO[#jio#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(n#ji(u#ji(v#ji!Y#ji!Z#ji~O#k#ji~P%LRO#k;sO~P%LROP$[OR#zOo<PO}#yO!P#{O!i#xO!m$[O#k;sO#l;tO#m;tO#n;tO(]VO[#ji#O#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(n#ji(u#ji(v#ji!Y#ji!Z#ji~O#o#ji~P%NZO#o;uO~P%NZOP$[OR#zO[<ROo<PO}#yO!P#{O!i#xO!m$[O#O;vO#k;sO#l;tO#m;tO#n;tO#o;uO#p;vO#q;vO#r<QO#s;vO(]VO#w#ji#y#ji#z#ji#}#ji(n#ji(u#ji(v#ji!Y#ji!Z#ji~O#u#ji~P&!cOP$[OR#zO[<ROo<PO}#yO!P#{O!i#xO!m$[O#O;vO#k;sO#l;tO#m;tO#n;tO#o;uO#p;vO#q;vO#r<QO#s;vO#u;wO(]VO(v#}O#y#ji#z#ji#}#ji(n#ji(u#ji!Y#ji!Z#ji~O#w;yO~P&$dO#w#ji~P&$dO#u;wO~P&!cOP$[OR#zO[<ROo<PO}#yO!P#{O!i#xO!m$[O#O;vO#k;sO#l;tO#m;tO#n;tO#o;uO#p;vO#q;vO#r<QO#s;vO#u;wO#w;yO(]VO(u#|O(v#}O#z#ji#}#ji(n#ji!Y#ji!Z#ji~O#y#ji~P&&sO#y;{O~P&&sOa#{y!Y#{y'v#{y's#{y!V#{y!h#{ys#{y![#{y%f#{y!d#{y~P!9}O[#jio#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(n#ji!Y#ji!Z#ji~OP$[OR#zO}#yO!P#{O!i#xO!m$[O#k;sO#l;tO#m;tO#n;tO(]VO(u#ji(v#ji~P&)oOk=qO}){O'u)|O(u$}O(v%POP#jiR#ji!P#ji!i#ji!m#ji#k#ji#l#ji#m#ji#n#ji(]#ji~P&)oO#P$dOP([XR([X[([Xk([Xo([X}([X!P([X!i([X!m([X#O([X#k([X#l([X#m([X#n([X#o([X#p([X#q([X#r([X#s([X#u([X#w([X#y([X#z([X#}([X'u([X(]([X(n([X(u([X(v([X!Y([X!Z([X~O#}$Oi!Y$Oi!Z$Oi~P#AyO#}!oi!Z!oi~P$)gOg'Xa!Y'Xa~P!0rO!Z7[O~O!Y'`a!Z'`a~P#AyO!V7]O~P#.uO!d#vO(n'mO!Y'aa!h'aa~O!Y/iO!h({i~O!Y/iO!d#vO!h({i~Og$zq!Y$zq#]$zq#}$zq~P!0rO!V'ca!Y'ca~P#.uO!d7dO~O!Y/qO!V(|i~P#.uO!Y/qO!V(|i~O!V7gO~Oh%VOo7lO!i%cO(n'mO~O!d#vO#s7nO~Oo7qO!d#vO(n'mO~O}){O'u)|O(v%POk'fa(u'fa!Y'fa#]'fa~Og'fa#}'fa~P&2pO}){O'u)|Ok'ha(u'ha(v'ha!Y'ha#]'ha~Og'ha#}'ha~P&3cO!V7sO~Og$|q!Y$|q#]$|q#}$|q~P!0rOa$my!Y$my'v$my's$my!V$my!h$mys$my![$my%f$my!d$my~P!9}O!d6`O~O!Y4zO![(}a~O![']OP$SaR$Sa[$Sao$Sa}$Sa!P$Sa!Y$Sa!i$Sa!m$Sa#O$Sa#k$Sa#l$Sa#m$Sa#n$Sa#o$Sa#p$Sa#q$Sa#r$Sa#s$Sa#u$Sa#w$Sa#y$Sa#z$Sa(]$Sa(n$Sa(u$Sa(v$Sa~O%f6tO~P&5lOa#`y!Y#`y'v#`y's#`y!V#`y!h#`ys#`y![#`y%f#`y!d#`y~P!9}O[7xO~Ob7zO(P+lO(RTO(UUO~O!Y0xO!Z)Ui~O`8OO~O(a(yO!Y'lX!Z'lX~O!Y5cO!Z)Ra~O!Z8XO~P%9SO(k!sO~P$$iO#X8YO~O![1bO~O![1bO%f8[O~Ok8_O![1bO%f8[O~O[8dO!Y'oa!Z'oa~O!Y1mO!Z)Si~O!h8hO~O!h8iO~O!h8lO~O!h8lO~P%[Oa8nO~O!d8oO~O!h8pO~O!Y(si!Z(si~P#AyOa%lO#]8xO'v%lO~O!Y(py!h(pya(py'v(py~P!9}O!Y(gO!h(oy~O%f8{O~P&5lO![']O%f8{O~O#h$zqP$zqR$zq[$zqa$zqo$zq!P$zq!Y$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq'v$zq(]$zq(n$zq!h$zq!V$zq's$zq#]$zqs$zq![$zq%f$zq!d$zq~P#.uO#h'faP'faR'fa['faa'fao'fa!P'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa'v'fa(]'fa(n'fa!h'fa!V'fa's'fas'fa!['fa%f'fa!d'fa~P&2pO#h'haP'haR'ha['haa'hao'ha!P'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha'v'ha(]'ha(n'ha!h'ha!V'ha's'has'ha!['ha%f'ha!d'ha~P&3cO#h$|qP$|qR$|q[$|qa$|qo$|q!P$|q!Y$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q'v$|q(]$|q(n$|q!h$|q!V$|q's$|q#]$|qs$|q![$|q%f$|q!d$|q~P#.uO!Y'Ui!h'Ui~P!9}O#}#`q!Y#`q!Z#`q~P#AyO(u$}OP%^aR%^a[%^ao%^a!P%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a#}%^a(]%^a(n%^a!Y%^a!Z%^a~Ok%^a}%^a'u%^a(v%^a~P&FnO(v%POP%`aR%`a[%`ao%`a!P%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a#}%`a(]%`a(n%`a!Y%`a!Z%`a~Ok%`a}%`a'u%`a(u%`a~P&HuOk=qO}){O'u)|O(v%PO~P&FnOk=qO}){O'u)|O(u$}O~P&HuOR0aO}0aO!P0bO#P$dOPza[zakzaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza#}za'uza(]za(nza(uza(vza!Yza!Zza~O}){O'u)|OP$qaR$qa[$qak$qao$qa!P$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa#}$qa(]$qa(n$qa(u$qa(v$qa!Y$qa!Z$qa~O}){O'u)|OP$saR$sa[$sak$sao$sa!P$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa#}$sa(]$sa(n$sa(u$sa(v$sa!Y$sa!Z$sa~Ok=qO}){O'u)|O(u$}O(v%PO~OP%RaR%Ra[%Rao%Ra!P%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra#}%Ra(]%Ra(n%Ra!Y%Ra!Z%Ra~P'#zO#}$lq!Y$lq!Z$lq~P#AyO#}$mq!Y$mq!Z$mq~P#AyO!Z9YO~O#}9ZO~P!0rO!d#vO!Y'ai!h'ai~O!d#vO(n'mO!Y'ai!h'ai~O!Y/iO!h({q~O!V'ci!Y'ci~P#.uO!Y/qO!V(|q~Oo9bO!d#vO(n'mO~O[9dO!V9cO~P#.uO!V9cO~O!d#vO#s9jO~Og(Zy!Y(Zy~P!0rO!Y'ja!['ja~P#.uOa%Yq![%Yq'v%Yq!Y%Yq~P#.uO[9mO~O!Y0xO!Z)Uq~O#]9qO!Y'la!Z'la~O!Y5cO!Z)Ri~P#AyO!P9sO~O![1bO%f9vO~O(RTO(UUO(a9{O~O!Y1mO!Z)Sq~O!h:OO~O!h:PO~O!h:QO~O!h:QO~P%[O#]:TO!Y#ey!Z#ey~O!Y#ey!Z#ey~P#AyO%f:YO~P&5lO![']O%f:YO~O#}#{y!Y#{y!Z#{y~P#AyOP$ziR$zi[$zio$zi!P$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi#}$zi(]$zi(n$zi!Y$zi!Z$zi~P'#zO}){O'u)|O(v%POP'eaR'ea['eak'eao'ea!P'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea#}'ea(]'ea(n'ea(u'ea!Y'ea!Z'ea~O}){O'u)|OP'gaR'ga['gak'gao'ga!P'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga#}'ga(]'ga(n'ga(u'ga(v'ga!Y'ga!Z'ga~O(u$}OP%^iR%^i[%^ik%^io%^i}%^i!P%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i#}%^i'u%^i(]%^i(n%^i(v%^i!Y%^i!Z%^i~O(v%POP%`iR%`i[%`ik%`io%`i}%`i!P%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i#}%`i'u%`i(]%`i(n%`i(u%`i!Y%`i!Z%`i~O#}$my!Y$my!Z$my~P#AyO#}#`y!Y#`y!Z#`y~P#AyO!d#vO!Y'aq!h'aq~O!Y/iO!h({y~O!V'cq!Y'cq~P#.uOo:dO!d#vO(n'mO~O[:hO!V:gO~P#.uO!V:gO~O!Y0xO!Z)Uy~O!Y5cO!Z)Rq~O(P:nO~O![1bO%f:qO~O!h:tO~O%f:yO~P&5lOP$zqR$zq[$zqo$zq!P$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq#}$zq(]$zq(n$zq!Y$zq!Z$zq~P'#zO}){O'u)|O(v%POP'faR'fa['fak'fao'fa!P'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa#}'fa(]'fa(n'fa(u'fa!Y'fa!Z'fa~O}){O'u)|OP'haR'ha['hak'hao'ha!P'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha#}'ha(]'ha(n'ha(u'ha(v'ha!Y'ha!Z'ha~OP$|qR$|q[$|qo$|q!P$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q#}$|q(]$|q(n$|q!Y$|q!Z$|q~P'#zOg%b!Z!Y%b!Z#]%b!Z#}%b!Z~P!0rO!V:}O~P#.uOo;OO!d#vO(n'mO~O[;QO!V:}O~P#.uO!Y'lq!Z'lq~P#AyO!Y#e!Z!Z#e!Z~P#AyO#h%b!ZP%b!ZR%b!Z[%b!Za%b!Zo%b!Z!P%b!Z!Y%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z'v%b!Z(]%b!Z(n%b!Z!h%b!Z!V%b!Z's%b!Z#]%b!Zs%b!Z![%b!Z%f%b!Z!d%b!Z~P#.uOo;YO!d#vO(n'mO~O!V;ZO~P#.uOo;bO!d#vO(n'mO~O!V;cO~P#.uOP%b!ZR%b!Z[%b!Zo%b!Z!P%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z#}%b!Z(]%b!Z(n%b!Z!Y%b!Z!Z%b!Z~P'#zOo;fO!d#vO(n'mO~Os(bX~P1qO}%pO~P!(vO(Q!lO~P!(vO!VfX!YfX#]fX~P%/mOP]XR]X[]Xo]X}]X!P]X!Y]X!YfX!i]X!m]X#O]X#P]X#]]X#]fX#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X(]]X(n]X(u]X(v]X~O!dfX!h]X!hfX(nfX~P'HXOP;jOQ;jOSfOd=fOe!iOmkOo;jOpkOqkOwkOy;jO{;jO!PWO!TkO!UkO![XO!f;mO!iZO!l;jO!m;jO!n;jO!p;nO!r;qO!u!hO$V!kO(P)YO(RTO(UUO(]VO(k[O(z=dO~O!Y;}O!Z$oa~Oh%VOm%WOo%XOp$tOq$tOw%YOy%ZO{<YO!P${O![$|O!f=kO!i$xO#g<`O$V%_O$r<[O$t<^O$w%`O(P(sO(RTO(UUO(]$uO(u$}O(v%PO~O#t)aO~P'L}Oo!bX(n!bX~P# kOo(fX(n(fX~P#!^O!Z]X!ZfX~P'HXO!VfX!V$xX!YfX!Y$xX#]fX~P!/nO#h;rO~O!d#vO#h;rO~O#]<SO~O#s;vO~O#]<dO!Y(sX!Z(sX~O#]<SO!Y(qX!Z(qX~O#h<eO~Og<gO~P!0rO#h<mO~O#h<nO~O!d#vO#h<oO~O!d#vO#h<eO~O#}<pO~P#AyO#h<qO~O#h<rO~O#h<wO~O#h<xO~O#h<yO~O#h<zO~O#}<{O~P!0rO#}<|O~P!0rO#P#Q#R#T#U#X#f#g#r(z$r$t$w%Z%e%f%g%n%p%s%t%v%x~'zT#l!U'x(Q#mp#k#no}'y$['y(P$^(a~",
|
137 |
+
goto: "$6w)YPPPPPP)ZPP)^P)oP+P/RPPPP6XPP6oPP<g@VP@jP@jPPP@jPBnP@jP@jP@jPBrPBwPCfPH`PPPHdPPPPHdKgPPPKmL_PHdPHdPPNmHdPPPHdPHdP!!tHdP!&[!'a!'jP!(^!(b!(^!+oPPPPPPP!,`!'aPP!,p!.bP!1nHdHd!1s!5P!9m!9m!=lPPP!=tHdPPPPPPPPPPP!ATP!BbPPHd!CsPHdPHdHdHdHdHdPHd!EVP!HaP!KgP!Kk!Ku!Ky!KyP!H^P!K}!K}P# TP# XHdHd# _#$dBr@jP@jP@j@jP#%q@j@j#(P@j#*s@j#,{@j@j#-k#/{#/{#0Q#0Z#/{#0fP#/{P@j#1O@j#4u@j@j6XPPP#8rPPP#9]#9]P#9]P#9s#9]PP#9yP#9pP#9p#:^#9p#:x#;O#;R)^#;U)^P#;]#;]#;]P)^P)^P)^P)^PP)^P#;c#;fP#;f)^P#;jP#;mP)^P)^P)^P)^P)^P)^)^PP#;s#;y#<U#<[#<b#<h#<n#<|#=S#=^#=d#=n#=t#>U#>[#>|#?`#?f#?l#?z#@a#BQ#B`#Bg#C}#D]#Ey#FX#F_#Fe#Fk#Fu#F{#GR#G]#Go#GuPPPPPPPPPPP#G{PPPPPPP#Hp#Kw#Ma#Mh#MpPPP$%OP$%X$(Q$.k$.n$.q$/p$/s$/z$0SP$0Y$0]P$0y$0}$1u$3T$3Y$3pPP$3u$3{$4PP$4S$4W$4[$5W$5o$6W$6[$6_$6b$6h$6k$6o$6sR!|RoqOXst!Z#d%k&o&q&r&t,l,q1}2QY!vQ']-^1b5iQ%rvQ%zyQ&R|Q&g!VS'T!e-UQ'c!iS'i!r!yU*g$|*W*kQ+j%{Q+w&TQ,]&aQ-['[Q-f'dQ-n'jQ0S*mQ1l,^R<a;n%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z*e+S+W,i,l,q-b-j-x.O.m.t/g0T0b0h0w1e1u1v1x1z1}2Q2S2s2y3_4l5q6R6S6V6j8_8n8xS#q];k!r)[$Z$n'U)p,}-Q/O2c3v5e6a9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gU*z%[<X<YQ+o%}Q,_&dQ,f&lQ0n+bQ0r+dQ0}+pQ1t,dQ3R.`Q5T0xQ5x1mQ6v3VQ7z5UR9O6x'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z*e+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/g0T0b0h0w1e1u1v1x1z1}2Q2S2c2s2y3V3_3v4l5e5q6R6S6V6a6j6x8_8n8x9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=g!S!nQ!r!v!y!z$|'T'[']'i'j'k*g*k*m*n-U-[-^-n0S0V1b5i5k%S$ti#v$b$c$d$x${%O%Q%]%^%b)v*O*Q*S*V*]*c*s*t+a+d+{,O._.x/]/f/p/q/s0W0Y0e1X1[1d3U4P4Q4[4a4r4z4}5p6t7d7n8[8{9Z9d9j9v:Y:h:q:y;Q<Q<R<T<U<V<W<Z<[<]<^<_<`<h<i<j<k<m<n<q<r<s<t<u<v<w<x<{<|=d=l=m=p=qQ&U|Q'R!eS'X%g-XQ+o%}Q,_&dQ0d*}Q0}+pQ1S+vQ1s,cQ1t,dQ5T0xQ5^1UQ5x1mQ5{1oQ5|1rQ7z5UQ7}5ZQ8g6OQ9p8OQ9|8dR<c*WrnOXst!V!Z#d%k&f&o&q&r&t,l,q1}2QR,a&h&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(S(Y(a(u(w({)p)z*e+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/g0T0b0h0w1e1u1v1x1z1}2Q2S2c2s2y3V3_3v4l5e5q6R6S6V6a6j6x8_8n8x9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=f=g[#]WZ#W#Z'U(Q!b%hm#h#i#l$x%c%f(Z(e(f(g*V*Z*^+U+V+X,h-O-|.S.T.U.W/f/i2V2}3O4S6`6qQ%uxQ%yyS&O|&TQ&[!TQ'`!hQ'b!iQ(n#sS+i%z%{Q+m%}Q,W&_Q,[&aS-e'c'dQ.b(oQ0v+jQ0|+pQ1O+qQ1R+uQ1g,XS1k,],^Q2o-fQ5S0xQ5W0{Q5]1TQ5w1lQ7y5UQ7|5YQ9l7xR:k9m!O$zi$d%O%Q%]%^%b*O*Q*]*s*t.x/p0W0Y0e4Q4r9Z=d=l=m!^%wy!i!u%y%z%{'S'b'c'd'h'r*f+i+j-R-e-f-m/y/|0v2h2o2v4d4e4h7k9fQ+c%uQ+|&XQ,P&YQ,Z&aQ.a(nQ1f,WU1j,[,],^Q3W.bQ5r1gS5v1k1lQ8c5w#d=h#v$b$c$x${)v*S*V*c+a+d+{,O._/]/f/q/s1X1[1d3U4P4[4a4z4}5p6t7d7n8[8{9d9j9v:Y:h:q:y;Q<T<V<Z<]<_<h<j<m<q<s<u<w<{=p=qo=i<Q<R<U<W<[<^<`<i<k<n<r<t<v<x<|W%Ti%V*u=dS&X!Q&fQ&Y!RQ&Z!SR+z&V%T%Si#v$b$c$d$x${%O%Q%]%^%b)v*O*Q*S*V*]*c*s*t+a+d+{,O._.x/]/f/p/q/s0W0Y0e1X1[1d3U4P4Q4[4a4r4z4}5p6t7d7n8[8{9Z9d9j9v:Y:h:q:y;Q<Q<R<T<U<V<W<Z<[<]<^<_<`<h<i<j<k<m<n<q<r<s<t<u<v<w<x<{<|=d=l=m=p=qT)w$u)xV*z%[<X<YW'X!e%g*W-XS(z#y#zQ+^%pQ+t&QS.Z(j(kQ1],QQ4s0aR8S5c'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z*e+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/g0T0b0h0w1e1u1v1x1z1}2Q2S2c2s2y3V3_3v4l5e5q6R6S6V6a6j6x8_8n8x9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=g$i$^c#Y#e%o%q%s(P(V(q(v)O)P)Q)R)S)T)U)V)W)X)Z)])_)d)n+_+s-S-q-v-{-}.l.o.s.u.v.w/Z0f2^2a2q2x3^3c3d3e3f3g3h3i3j3k3l3m3n3o3r3s3z4w5Q6c6i6n6}7O7X7Y8U8r8v9Q9W9X:V:m:u;l=ZT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z*e+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/g0T0b0h0w1e1u1v1x1z1}2Q2S2c2s2y3V3_3v4l5e5q6R6S6V6a6j6x8_8n8x9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gQ'V!eR2d-U!W!nQ!e!r!v!y!z$|'T'[']'i'j'k*W*g*k*m*n-U-[-^-n0S0V1b5i5kR1_,SnqOXst!Z#d%k&o&q&r&t,l,q1}2QQ&v!^Q's!xS(p#u;rQ+g%xQ,U&[Q,V&^Q-c'aQ-p'lS.k(u<eS0g+S<oQ0t+hQ1a,TQ2U,sQ2W,tQ2`-PQ2m-dQ2p-hS4x0h<yQ5O0uS5R0w<zQ6b2bQ6f2nQ6k2uQ7w5PQ8s6dQ8t6gQ8w6lR:S8p$d$]c#Y#e%q%s(P(V(q(v)O)P)Q)R)S)T)U)V)W)X)Z)])_)d)n+_+s-S-q-v-{-}.l.o.s.v.w/Z0f2^2a2q2x3^3c3d3e3f3g3h3i3j3k3l3m3n3o3r3s3z4w5Q6c6i6n6}7O7X7Y8U8r8v9Q9W9X:V:m:u;l=ZS(l#p'fQ(|#zS+]%o.uS.[(k(mR3P.]'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z*e+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/g0T0b0h0w1e1u1v1x1z1}2Q2S2c2s2y3V3_3v4l5e5q6R6S6V6a6j6x8_8n8x9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gS#q];kQ&q!XQ&r!YQ&t![Q&u!]R1|,oQ'^!hQ+`%uQ-a'`S.^(n+cQ2k-`W3T.a.b0m0oQ6e2lW6r3Q3S3W4|U8z6s6u6wU:X8|8}9PS:w:W:ZQ;U:xR;^;VU!wQ']-^T5g1b5i!Q_OXZ`st!V!Z#d#h%c%k&f&h&o&q&r&t(g,l,q.T1}2Q]!pQ!r']-^1b5iT#q];k%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z*e+S+W+b,i,l,q-b-j-x.O.`.m.t/g0T0b0h0w1e1u1v1x1z1}2Q2S2s2y3V3_4l5q6R6S6V6j6x8_8n8xS(z#y#zS.Z(j(k!s=Q$Z$n'U)p,}-Q/O2c3v5e6a9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gU$fd)[,fS(m#p'fU*r%R(t3qU0c*y.g7TQ4|0nQ6s3RQ8}6vR:Z9Om!tQ!r!v!y!z']'i'j'k-^-n1b5i5kQ'q!uS(c#g1wS-l'h'tQ/l*YQ/y*fQ2w-oQ4W/mQ4d/{Q4e/|Q4j0UQ7`4RS7k4f4hS7o4k4mQ9]7aQ9a7gQ9f7lQ9k7qS:c9b9cS:|:d:gS;X:};OS;a;Y;ZS;e;b;cR;h;fQ#wbQ'p!uS(b#g1wS(d#m+RQ+T%dQ+e%vQ+k%|U-k'h'q'tQ.P(cQ/k*YQ/z*fQ/}*hQ0s+fQ1h,YS2t-l-oQ2|.XS4V/l/mQ4`/wS4c/y0UQ4g0OQ5t1iQ6m2wQ7_4RQ7c4WU7j4d4j4mQ7m4iQ8a5uS9[7`7aQ9`7gQ9h7oQ9i7pQ9y8bQ:a9]S:b9a9cQ:j9kQ:s9zS:{:c:gS;W:|:}S;`;X;ZS;d;a;cQ;g;eQ;i;hQ=T=OQ=`=XR=a=YV!wQ']-^%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z*e+S+W+b,i,l,q-b-j-x.O.`.m.t/g0T0b0h0w1e1u1v1x1z1}2Q2S2s2y3V3_4l5q6R6S6V6j6x8_8n8xS#wz!j!r<}$Z$n'U)p,}-Q/O2c3v5e6a9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gR=T=f%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z*e+S+W+b,i,l,q-b-j-x.O.`.m.t/g0T0b0h0w1e1u1v1x1z1}2Q2S2s2y3V3_4l5q6R6S6V6j6x8_8n8xQ%dj!^%vy!i!u%y%z%{'S'b'c'd'h'r*f+i+j-R-e-f-m/y/|0v2h2o2v4d4e4h7k9fS%|z!jQ+f%wQ,Y&aW1i,Z,[,],^U5u1j1k1lS8b5v5wQ9z8c!r=O$Z$n'U)p,}-Q/O2c3v5e6a9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gQ=X=eR=Y=f%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(S(Y(a(u(w({)z*e+S+W+b,i,l,q-b-j-x.O.`.m.t/g0T0b0h0w1e1u1v1x1z1}2Q2S2s2y3V3_4l5q6R6S6V6j6x8_8n8xY#bWZ#W#Z(Q!b%hm#h#i#l$x%c%f(Z(e(f(g*V*Z*^+U+V+X,h-O-|.S.T.U.W/f/i2V2}3O4S6`6qQ,g&l!p=P$Z$n)p,}-Q/O2c3v5e6a9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gR=S'UU'Y!e%g*WR2f-X%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z*e+S+W,i,l,q-b-j-x.O.m.t/g0T0b0h0w1e1u1v1x1z1}2Q2S2s2y3_4l5q6R6S6V6j8_8n8x!r)[$Z$n'U)p,}-Q/O2c3v5e6a9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gQ,f&lQ0n+bQ3R.`Q6v3VR9O6x!b$Tc#Y%o(P(V(q(v)W)X)])d+s-q-v-{-}.l.o/Z0f2q2x3^3n4w5Q6i6n6}8v:V;l!P;x)Z)n-S.u2^2a3c3l3m3r3z6c7O7X7Y8U8r9Q9W9X:m:u=Z!f$Vc#Y%o(P(V(q(v)T)U)W)X)])d+s-q-v-{-}.l.o/Z0f2q2x3^3n4w5Q6i6n6}8v:V;l!T;z)Z)n-S.u2^2a3c3i3j3l3m3r3z6c7O7X7Y8U8r9Q9W9X:m:u=Z!^$Zc#Y%o(P(V(q(v)])d+s-q-v-{-}.l.o/Z0f2q2x3^3n4w5Q6i6n6}8v:V;lQ4Q/dz=g)Z)n-S.u2^2a3c3r3z6c7O7X7Y8U8r9Q9W9X:m:u=ZQ=l=nR=m=o'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z*e+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t/O/g0T0b0h0w1e1u1v1x1z1}2Q2S2c2s2y3V3_3v4l5e5q6R6S6V6a6j6x8_8n8x9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gS$oh$pR3w.}'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z*e+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t.}/O/g0T0b0h0w1e1u1v1x1z1}2Q2S2c2s2y3V3_3v4l5e5q6R6S6V6a6j6x8_8n8x9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gT$kf$qQ$ifS)g$l)kR)s$qT$jf$qT)i$l)k'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(Q(S(Y(a(u(w({)p)z*e+S+W+b,i,l,q,}-Q-b-j-x.O.`.m.t.}/O/g0T0b0h0w1e1u1v1x1z1}2Q2S2c2s2y3V3_3v4l5e5q6R6S6V6a6j6x8_8n8x9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=gT$oh$pQ$rhR)r$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(Q(S(Y(a(u(w({)z*e+S+W+b,i,l,q-b-j-x.O.`.m.t/g0T0b0h0w1e1u1v1x1z1}2Q2S2s2y3V3_4l5q6R6S6V6j6x8_8n8x!s=e$Z$n'U)p,}-Q/O2c3v5e6a9q:T;j;m;n;q;r;s;t;u;v;w;x;y;z;{;|;}<P<S<a<d<e<g<o<p<y<z=g#glOPXZst!Z!`!o#S#d#o#{$n%k&h&k&l&o&q&r&t&x'Q'_({)p*e+W+b,i,l,q-b.`/O/g0T0b1e1u1v1x1z1}2Q2S3V3v4l5q6R6S6V6x8_8n!O%Ri$d%O%Q%]%^%b*O*Q*]*s*t.x/p0W0Y0e4Q4r9Z=d=l=m#d(t#v$b$c$x${)v*S*V*c+a+d+{,O._/]/f/q/s1X1[1d3U4P4[4a4z4}5p6t7d7n8[8{9d9j9v:Y:h:q:y;Q<T<V<Z<]<_<h<j<m<q<s<u<w<{=p=qQ+O%`Q/[){o3q<Q<R<U<W<[<^<`<i<k<n<r<t<v<x<|!O$yi$d%O%Q%]%^%b*O*Q*]*s*t.x/p0W0Y0e4Q4r9Z=d=l=mQ*_$zU*h$|*W*kQ+P%aQ0O*i#d=V#v$b$c$x${)v*S*V*c+a+d+{,O._/]/f/q/s1X1[1d3U4P4[4a4z4}5p6t7d7n8[8{9d9j9v:Y:h:q:y;Q<T<V<Z<]<_<h<j<m<q<s<u<w<{=p=qn=W<Q<R<U<W<[<^<`<i<k<n<r<t<v<x<|Q=[=hQ=]=iQ=^=jR=_=k!O%Ri$d%O%Q%]%^%b*O*Q*]*s*t.x/p0W0Y0e4Q4r9Z=d=l=m#d(t#v$b$c$x${)v*S*V*c+a+d+{,O._/]/f/q/s1X1[1d3U4P4[4a4z4}5p6t7d7n8[8{9d9j9v:Y:h:q:y;Q<T<V<Z<]<_<h<j<m<q<s<u<w<{=p=qo3q<Q<R<U<W<[<^<`<i<k<n<r<t<v<x<|noOXst!Z#d%k&o&q&r&t,l,q1}2QS*b${*VQ,z&{Q,{&}R4Z/q%S%Si#v$b$c$d$x${%O%Q%]%^%b)v*O*Q*S*V*]*c*s*t+a+d+{,O._.x/]/f/p/q/s0W0Y0e1X1[1d3U4P4Q4[4a4r4z4}5p6t7d7n8[8{9Z9d9j9v:Y:h:q:y;Q<Q<R<T<U<V<W<Z<[<]<^<_<`<h<i<j<k<m<n<q<r<s<t<u<v<w<x<{<|=d=l=m=p=qQ+}&YQ1Z,PQ5a1YR8R5bV*j$|*W*kU*j$|*W*kT5h1b5iS/w*e/gQ4i0TT7p4l9sQ+e%vQ/}*hQ0s+fQ1h,YQ5t1iQ8a5uQ9y8bR:s9z!O%Oi$d%O%Q%]%^%b*O*Q*]*s*t.x/p0W0Y0e4Q4r9Z=d=l=mr*O$v)b*P*q+Q/o0[0]3t4X4v7^7r:`=U=b=cS0W*p0X#d<T#v$b$c$x${)v*S*V*c+a+d+{,O._/]/f/q/s1X1[1d3U4P4[4a4z4}5p6t7d7n8[8{9d9j9v:Y:h:q:y;Q<T<V<Z<]<_<h<j<m<q<s<u<w<{=p=qn<U<Q<R<U<W<[<^<`<i<k<n<r<t<v<x<|!b<h(r)`*X*a.c.f.j/W/d/t0l1W3Z3}4Y4^5`6y6|7e7h7t7v9_9g:e:i:z;P;[=n=o`<i3p7P7S7W9R:[:_;_S<s.e3[T<t7R9U!O%Qi$d%O%Q%]%^%b*O*Q*]*s*t.x/p0W0Y0e4Q4r9Z=d=l=mv*Q$v)b*R*p+Q/`/o0[0]3t4X4n4v7^7r:`=U=b=cS0Y*q0Z#d<V#v$b$c$x${)v*S*V*c+a+d+{,O._/]/f/q/s1X1[1d3U4P4[4a4z4}5p6t7d7n8[8{9d9j9v:Y:h:q:y;Q<T<V<Z<]<_<h<j<m<q<s<u<w<{=p=qn<W<Q<R<U<W<[<^<`<i<k<n<r<t<v<x<|!f<j(r)`*X*a.d.e.j/W/d/t0l1W3X3Z3}4Y4^5`6y6z6|7e7h7t7v9_9g:e:i:z;P;[=n=od<k3p7Q7R7W9R9S:[:]:_;_S<u.f3]T<v7S9VrnOXst!V!Z#d%k&f&o&q&r&t,l,q1}2QQ&c!UR,i&lrnOXst!V!Z#d%k&f&o&q&r&t,l,q1}2QR&c!UQ,R&ZR1V+zsnOXst!V!Z#d%k&f&o&q&r&t,l,q1}2QQ1c,WS5o1f1gU8Z5m5n5rS9u8]8^S:o9t9wQ;R:pR;];SQ&j!VR,b&fR5{1oR9|8dS&O|&TR1O+qQ&o!WR,l&pR,r&uT2O,q2QR,v&vQ,u&vR2X,vQ'v!{R-r'vSsOtQ#dXT%ns#dQ#OTR'x#OQ#RUR'z#RQ)x$uR/X)xQ#UVR'}#UQ#XWU(T#X(U-yQ(U#YR-y(VQ-V'VR2e-VQ.n(vS3`.n3aR3a.oQ-^']R2i-^Y!rQ']-^1b5iR'g!rQ.y)bR3u.yU#_W%f*VU([#_(]-zQ(]#`R-z(WQ-Y'YR2g-Yt`OXst!V!Z#d%k&f&h&o&q&r&t,l,q1}2QS#hZ%cU#r`#h.TR.T(gQ(h#jQ.Q(dW.Y(h.Q2z6oQ2z.RR6o2{Q)k$lR/P)kQ$phR)q$pQ$`cU)^$`-u<OQ-u;lR<O)nQ/j*YW4T/j4U7b9^U4U/k/l/mS7b4V4WR9^7c$])}$v(r)`)b*X*a*p*q*{*|+Q.e.f.h.i.j/W/`/b/d/o/t0[0]0l1W3X3Y3Z3p3t3}4X4Y4^4n4p4v5`6y6z6{6|7R7S7U7V7W7^7e7h7r7t7v9R9S9T9_9g:[:]:^:_:`:e:i:z;P;[;_=U=b=c=n=oQ/r*aU4]/r4_7fQ4_/tR7f4^S*k$|*WR0Q*kr*P$v)b*p*q+Q/o0[0]3t4X4v7^7r:`=U=b=c!b.c(r)`*X*a.e.f.j/W/d/t0l1W3Z3}4Y4^5`6y6|7e7h7t7v9_9g:e:i:z;P;[=n=oU/a*P.c7Pa7P3p7R7S7W9R:[:_;_Q0X*pQ3[.eU4o0X3[9UR9U7Rv*R$v)b*p*q+Q/`/o0[0]3t4X4n4v7^7r:`=U=b=c!f.d(r)`*X*a.e.f.j/W/d/t0l1W3X3Z3}4Y4^5`6y6z6|7e7h7t7v9_9g:e:i:z;P;[=n=oU/c*R.d7Qe7Q3p7R7S7W9R9S:[:]:_;_Q0Z*qQ3].fU4q0Z3]9VR9V7SQ*v%UR0_*vQ4{0lR7u4{Q+Y%iR0k+YQ5d1]S8T5d9rR9r8UQ,T&[R1`,TQ5i1bR8W5iQ1n,_S5y1n8eR8e5{Q0y+mW5V0y5X7{9nQ5X0|Q7{5WR9n7|Q+r&OR1P+rQ2Q,qR6Z2QYrOXst#dQ&s!ZQ+[%kQ,k&oQ,m&qQ,n&rQ,p&tQ1{,lS2O,q2QR6Y1}Q%mpQ&w!_Q&z!aQ&|!bQ'O!cQ'n!uQ+Z%jQ+g%xQ+y&UQ,a&jQ,x&yW-i'h'p'q'tQ-p'lQ0P*jQ0t+hS1q,b,eQ2Y,wQ2Z,zQ2[,{Q2p-hW2r-k-l-o-qQ5O0uQ5[1SQ5_1WQ5s1hQ5}1sQ6X1|U6h2q2t2wQ6k2uQ7w5PQ8P5^Q8Q5`Q8V5hQ8`5tQ8f5|S8u6i6mQ8w6lQ9o7}Q9x8aQ9}8gQ:U8vQ:l9pQ:r9yQ:v:VR;T:sQ%xyQ'a!iQ'l!uU+h%y%z%{Q-P'SU-d'b'c'dS-h'h'rQ/x*fS0u+i+jQ2b-RS2n-e-fQ2u-mS4b/y/|Q5P0vQ6d2hQ6g2oQ6l2vU7i4d4e4hQ9e7kR:f9fS$wi=dR*w%VU%Ui%V=dR0^*uQ$viS(r#v+dS)`$b$cQ)b$dQ*X$xS*a${*VQ*p%OQ*q%QQ*{%]Q*|%^Q+Q%bQ.e<TQ.f<VQ.h<ZQ.i<]Q.j<_Q/W)vQ/`*OQ/b*QQ/d*SQ/o*]S/t*c/fQ0[*sQ0]*tl0l+a,O._1[1d3U5p6t8[8{9v:Y:q:yQ1W+{Q3X<hQ3Y<jQ3Z<mS3p<Q<RQ3t.xS3}/]4PQ4X/pQ4Y/qQ4^/sQ4n0WQ4p0YQ4v0eQ5`1XQ6y<qQ6z<sQ6{<uQ6|<wQ7R<UQ7S<WQ7U<[Q7V<^Q7W<`Q7^4QQ7e4[Q7h4aQ7r4rQ7t4zQ7v4}Q9R<nQ9S<iQ9T<kQ9_7dQ9g7nQ:[<rQ:]<tQ:^<vQ:_<xQ:`9ZQ:e9dQ:i9jQ:z<{Q;P:hQ;[;QQ;_<|Q=U=dQ=b=lQ=c=mQ=n=pR=o=qQ*y%[Q.g<XR7T<YnpOXst!Z#d%k&o&q&r&t,l,q1}2QQ!fPS#fZ#oQ&y!`W'e!o*e0T4lQ'|#SQ(}#{Q)o$nS,e&h&kQ,j&lQ,w&xS,|'Q/gQ-`'_Q.q({Q/T)pQ0i+WQ0o+bQ1y,iQ2l-bQ3S.`Q3y/OQ4t0bQ5n1eQ6P1uQ6Q1vQ6U1xQ6W1zQ6]2SQ6w3VQ7Z3vQ8^5qQ8j6RQ8k6SQ8m6VQ9P6xQ9w8_R:R8n#[cOPXZst!Z!`!o#d#o#{%k&h&k&l&o&q&r&t&x'Q'_({*e+W+b,i,l,q-b.`/g0T0b1e1u1v1x1z1}2Q2S3V4l5q6R6S6V6x8_8nQ#YWQ#eYQ%ouQ%qvS%sw!gS(P#W(SQ(V#ZQ(q#uQ(v#xQ)O$OQ)P$PQ)Q$QQ)R$RQ)S$SQ)T$TQ)U$UQ)V$VQ)W$WQ)X$XQ)Z$ZQ)]$_Q)_$aQ)d$eW)n$n)p/O3vQ+_%rQ+s&PS-S'U2cQ-q'oS-v(Q-xQ-{(YQ-}(aQ.l(uQ.o(wQ.s;jQ.u;mQ.v;nQ.w;qQ/Z)zQ0f+SQ2^,}Q2a-QQ2q-jQ2x.OQ3^.mQ3c;rQ3d;sQ3e;tQ3f;uQ3g;vQ3h;wQ3i;xQ3j;yQ3k;zQ3l;{Q3m;|Q3n.tQ3o<PQ3r<SQ3s<aQ3z;}Q4w0hQ5Q0wQ6c<dQ6i2sQ6n2yQ6}3_Q7O<eQ7X<gQ7Y<oQ8U5eQ8r6aQ8v6jQ9Q<pQ9W<yQ9X<zQ:V8xQ:m9qQ:u:TQ;l#SR=Z=gR#[WR'W!el!tQ!r!v!y!z']'i'j'k-^-n1b5i5kS'S!e-UU*f$|*W*kS-R'T'[S/|*g*mQ0U*nQ2h-[Q4h0SR4m0VR(x#xQ!fQT-]']-^]!qQ!r']-^1b5iQ#p]R'f;kR)c$dY!uQ']-^1b5iQ'h!rS'r!v!yS't!z5kS-m'i'jQ-o'kR2v-nT#kZ%cS#jZ%cS%im,hU(d#h#i#lS.R(e(fQ.V(gQ0j+XQ2{.SU2|.T.U.WS6p2}3OR8y6qd#^W#W#Z%f(Q(Z*V+U-|/fr#gZm#h#i#l%c(e(f(g+X.S.T.U.W2}3O6qS*Y$x*^Q/m*ZQ1w,hQ2_-OQ4R/iQ6_2VQ7a4SQ8q6`T=R'U+VV#aW%f*VU#`W%f*VS(R#W(ZU(W#Z+U/fS-T'U+VT-w(Q-|V'Z!e%g*WQ$lfR)u$qT)j$l)kR3x.}T*[$x*^T*d${*VQ0m+aQ1Y,OQ3Q._Q5b1[Q5m1dQ6u3UQ8]5pQ8|6tQ9t8[Q:W8{Q:p9vQ:x:YQ;S:qR;V:ynqOXst!Z#d%k&o&q&r&t,l,q1}2QQ&i!VR,a&ftmOXst!U!V!Z#d%k&f&o&q&r&t,l,q1}2QR,h&lT%jm,hR1^,QR,`&dQ&S|R+x&TR+n%}T&m!W&pT&n!W&pT2P,q2Q",
|
138 |
+
nodeNames: "⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",
|
139 |
+
maxTerm: 377,
|
140 |
+
context: qO,
|
141 |
+
nodeProps: [
|
142 |
+
["isolate", -8, 5, 6, 14, 34, 36, 48, 50, 52, ""],
|
143 |
+
["group", -26, 9, 17, 19, 65, 204, 208, 212, 213, 215, 218, 221, 231, 233, 239, 241, 243, 245, 248, 254, 260, 262, 264, 266, 268, 270, 271, "Statement", -34, 13, 14, 29, 32, 33, 39, 48, 51, 52, 54, 59, 67, 69, 73, 77, 79, 81, 82, 107, 108, 117, 118, 135, 138, 140, 141, 142, 143, 144, 146, 147, 166, 167, 169, "Expression", -23, 28, 30, 34, 38, 40, 42, 171, 173, 175, 176, 178, 179, 180, 182, 183, 184, 186, 187, 188, 198, 200, 202, 203, "Type", -3, 85, 100, 106, "ClassItem"],
|
144 |
+
["openedBy", 23, "<", 35, "InterpolationStart", 53, "[", 57, "{", 70, "(", 159, "JSXStartCloseTag"],
|
145 |
+
["closedBy", 24, ">", 37, "InterpolationEnd", 47, "]", 58, "}", 71, ")", 164, "JSXEndTag"]
|
146 |
+
],
|
147 |
+
propSources: [wO],
|
148 |
+
skippedNodes: [0, 5, 6, 274],
|
149 |
+
repeatNodeCount: 37,
|
150 |
+
tokenData: "$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$h&j(V!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(V!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$h&j(SpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(SpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Sp(V!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$h&j(Sp(V!b'x0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(T#S$h&j'y0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$h&j(Sp(V!b'y0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$h&j!m),Q(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#u(Ch$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#u(Ch$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(R':f$h&j(V!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$h&j(V!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$h&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$c`$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$c``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$c`$h&j(V!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(V!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$c`(V!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$h&j(Sp(V!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$h&j(Sp(V!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$h&j(V!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$h&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(V!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$h&j(SpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(SpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Sp(V!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$h&j(k%1l(Sp(V!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$h&j(Sp(V!b$[#t(P,2j(a$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$h&j(Sp(V!b$[#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$h&j(Sp(V!b#m(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$h&j$P(Ch(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(v+JY$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$h&j#y(Ch(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(U';W$h&j(SpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$h&j(SpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$h&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$c`$h&j(SpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(SpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$c`(SpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!i/.^$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!h!Lf$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$h&j(Sp(V!b(Q%&f#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$h&j(Sp(V!b#k(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$h&j(Sp(V!bo+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!Y+Jf$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$h&j(Sp(V!b}.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_!X!L^$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$h&j(Sp(V!b#l(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$h&j(Sp(V!b!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$h&j(V!b!U7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$h&j!U7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$h&j!U7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!U7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!U7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$h&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$h&j(V!b!U7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(V!b!U7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(V!b!U7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(V!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$h&j(V!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$h&j(Sp!U7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$h&j(Sp!U7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Sp!U7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Sp!U7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(SpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$h&j(SpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$h&j(Sp(V!b!U7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Sp(V!b!U7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Sp(V!b!U7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Sp(V!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$h&j(Sp(V!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$h&j(Sp(V!b'z0/l!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$h&j(Sp(V!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$h&j(V!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$h&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(V!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$h&j(SpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(SpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Sp(V!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$h&j$P(Ch(Sp(V!b!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Y#t$h&j(Sp(V!b!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$h&j(Sp(V!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!d$b$h&j#})Lv(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#O-<U(Sp(V!b(z7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$j&j(Sp(V!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#o(Ch(Sp(V!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$P(Ch(Sp(V!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#p(Ch(Sp(V!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#]*!Y$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#h(Cl$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#p(Ch$e#|$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#p(Ch$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#o(Ch$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#o(Ch$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(n(Ct$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$h&j#z(Ch(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!y$Ip$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!P0,v$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$h&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$h&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$h&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$h&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$h&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!V#)l$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#w(Ch$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$h&j(Sp(V!b(]+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$h&j(Sp(V!b(P,2j$^#t(a$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$h&j(Sp(V!b$^#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X![#Hb(Sp(V!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(u+JY$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!Z(CdsBr$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!n7`$h&j(Sp(V!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$h&j(Sp(V!b'x0/l$[#t(P,2j(a$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$h&j(Sp(V!b'y0/l$[#t(P,2j(a$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",
|
151 |
+
tokenizers: [xO, jO, yO, vO, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, bO, new y("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOu~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!R~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(_~~", 141, 336), new y("j~RQYZXz{^~^O'|~~aP!P!Qd~iO'}~~", 25, 319)],
|
152 |
+
topRules: { Script: [0, 7], SingleExpression: [1, 272], SingleClassItem: [2, 273] },
|
153 |
+
dialects: { jsx: 0, ts: 14980 },
|
154 |
+
dynamicPrecedences: { 77: 1, 79: 1, 91: 1, 167: 1, 196: 1 },
|
155 |
+
specialized: [{ term: 323, get: (O) => RO[O] || -1 }, { term: 339, get: (O) => kO[O] || -1 }, { term: 92, get: (O) => _O[O] || -1 }],
|
156 |
+
tokenPrec: 15004
|
157 |
+
}), V = [
|
158 |
+
/* @__PURE__ */ P("function ${name}(${params}) {\n ${}\n}", {
|
159 |
+
label: "function",
|
160 |
+
detail: "definition",
|
161 |
+
type: "keyword"
|
162 |
+
}),
|
163 |
+
/* @__PURE__ */ P("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}", {
|
164 |
+
label: "for",
|
165 |
+
detail: "loop",
|
166 |
+
type: "keyword"
|
167 |
+
}),
|
168 |
+
/* @__PURE__ */ P("for (let ${name} of ${collection}) {\n ${}\n}", {
|
169 |
+
label: "for",
|
170 |
+
detail: "of loop",
|
171 |
+
type: "keyword"
|
172 |
+
}),
|
173 |
+
/* @__PURE__ */ P("do {\n ${}\n} while (${})", {
|
174 |
+
label: "do",
|
175 |
+
detail: "loop",
|
176 |
+
type: "keyword"
|
177 |
+
}),
|
178 |
+
/* @__PURE__ */ P("while (${}) {\n ${}\n}", {
|
179 |
+
label: "while",
|
180 |
+
detail: "loop",
|
181 |
+
type: "keyword"
|
182 |
+
}),
|
183 |
+
/* @__PURE__ */ P(`try {
|
184 |
+
\${}
|
185 |
+
} catch (\${error}) {
|
186 |
+
\${}
|
187 |
+
}`, {
|
188 |
+
label: "try",
|
189 |
+
detail: "/ catch block",
|
190 |
+
type: "keyword"
|
191 |
+
}),
|
192 |
+
/* @__PURE__ */ P("if (${}) {\n ${}\n}", {
|
193 |
+
label: "if",
|
194 |
+
detail: "block",
|
195 |
+
type: "keyword"
|
196 |
+
}),
|
197 |
+
/* @__PURE__ */ P(`if (\${}) {
|
198 |
+
\${}
|
199 |
+
} else {
|
200 |
+
\${}
|
201 |
+
}`, {
|
202 |
+
label: "if",
|
203 |
+
detail: "/ else block",
|
204 |
+
type: "keyword"
|
205 |
+
}),
|
206 |
+
/* @__PURE__ */ P(`class \${name} {
|
207 |
+
constructor(\${params}) {
|
208 |
+
\${}
|
209 |
+
}
|
210 |
+
}`, {
|
211 |
+
label: "class",
|
212 |
+
detail: "definition",
|
213 |
+
type: "keyword"
|
214 |
+
}),
|
215 |
+
/* @__PURE__ */ P('import {${names}} from "${module}"\n${}', {
|
216 |
+
label: "import",
|
217 |
+
detail: "named",
|
218 |
+
type: "keyword"
|
219 |
+
}),
|
220 |
+
/* @__PURE__ */ P('import ${name} from "${module}"\n${}', {
|
221 |
+
label: "import",
|
222 |
+
detail: "default",
|
223 |
+
type: "keyword"
|
224 |
+
})
|
225 |
+
], VO = /* @__PURE__ */ V.concat([
|
226 |
+
/* @__PURE__ */ P("interface ${name} {\n ${}\n}", {
|
227 |
+
label: "interface",
|
228 |
+
detail: "definition",
|
229 |
+
type: "keyword"
|
230 |
+
}),
|
231 |
+
/* @__PURE__ */ P("type ${name} = ${type}", {
|
232 |
+
label: "type",
|
233 |
+
detail: "definition",
|
234 |
+
type: "keyword"
|
235 |
+
}),
|
236 |
+
/* @__PURE__ */ P("enum ${name} {\n ${}\n}", {
|
237 |
+
label: "enum",
|
238 |
+
detail: "definition",
|
239 |
+
type: "keyword"
|
240 |
+
})
|
241 |
+
]), w = /* @__PURE__ */ new iO(), G = /* @__PURE__ */ new Set([
|
242 |
+
"Script",
|
243 |
+
"Block",
|
244 |
+
"FunctionExpression",
|
245 |
+
"FunctionDeclaration",
|
246 |
+
"ArrowFunction",
|
247 |
+
"MethodDeclaration",
|
248 |
+
"ForStatement"
|
249 |
+
]);
|
250 |
+
function c(O) {
|
251 |
+
return (a, Q) => {
|
252 |
+
let i = a.node.getChild("VariableDefinition");
|
253 |
+
return i && Q(i, O), !0;
|
254 |
+
};
|
255 |
+
}
|
256 |
+
const GO = ["FunctionDeclaration"], TO = {
|
257 |
+
FunctionDeclaration: /* @__PURE__ */ c("function"),
|
258 |
+
ClassDeclaration: /* @__PURE__ */ c("class"),
|
259 |
+
ClassExpression: () => !0,
|
260 |
+
EnumDeclaration: /* @__PURE__ */ c("constant"),
|
261 |
+
TypeAliasDeclaration: /* @__PURE__ */ c("type"),
|
262 |
+
NamespaceDeclaration: /* @__PURE__ */ c("namespace"),
|
263 |
+
VariableDefinition(O, a) {
|
264 |
+
O.matchContext(GO) || a(O, "variable");
|
265 |
+
},
|
266 |
+
TypeDefinition(O, a) {
|
267 |
+
a(O, "type");
|
268 |
+
},
|
269 |
+
__proto__: null
|
270 |
+
};
|
271 |
+
function T(O, a) {
|
272 |
+
let Q = w.get(a);
|
273 |
+
if (Q)
|
274 |
+
return Q;
|
275 |
+
let i = [], r = !0;
|
276 |
+
function o($, t) {
|
277 |
+
let n = O.sliceString($.from, $.to);
|
278 |
+
i.push({ label: n, type: t });
|
279 |
+
}
|
280 |
+
return a.cursor(QO.IncludeAnonymous).iterate(($) => {
|
281 |
+
if (r)
|
282 |
+
r = !1;
|
283 |
+
else if ($.name) {
|
284 |
+
let t = TO[$.name];
|
285 |
+
if (t && t($, o) || G.has($.name))
|
286 |
+
return !1;
|
287 |
+
} else if ($.to - $.from > 8192) {
|
288 |
+
for (let t of T(O, $.node))
|
289 |
+
i.push(t);
|
290 |
+
return !1;
|
291 |
+
}
|
292 |
+
}), w.set(a, i), i;
|
293 |
+
}
|
294 |
+
const f = /^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/, x = [
|
295 |
+
"TemplateString",
|
296 |
+
"String",
|
297 |
+
"RegExp",
|
298 |
+
"LineComment",
|
299 |
+
"BlockComment",
|
300 |
+
"VariableDefinition",
|
301 |
+
"TypeDefinition",
|
302 |
+
"Label",
|
303 |
+
"PropertyDefinition",
|
304 |
+
"PropertyName",
|
305 |
+
"PrivatePropertyDefinition",
|
306 |
+
"PrivatePropertyName",
|
307 |
+
".",
|
308 |
+
"?."
|
309 |
+
];
|
310 |
+
function UO(O) {
|
311 |
+
let a = b(O.state).resolveInner(O.pos, -1);
|
312 |
+
if (x.indexOf(a.name) > -1)
|
313 |
+
return null;
|
314 |
+
let Q = a.name == "VariableName" || a.to - a.from < 20 && f.test(O.state.sliceDoc(a.from, a.to));
|
315 |
+
if (!Q && !O.explicit)
|
316 |
+
return null;
|
317 |
+
let i = [];
|
318 |
+
for (let r = a; r; r = r.parent)
|
319 |
+
G.has(r.name) && (i = i.concat(T(O.state.doc, r)));
|
320 |
+
return {
|
321 |
+
options: i,
|
322 |
+
from: Q ? a.from : O.pos,
|
323 |
+
validFor: f
|
324 |
+
};
|
325 |
+
}
|
326 |
+
function m(O, a, Q) {
|
327 |
+
var i;
|
328 |
+
let r = [];
|
329 |
+
for (; ; ) {
|
330 |
+
let o = a.firstChild, $;
|
331 |
+
if (o?.name == "VariableName")
|
332 |
+
return r.push(O(o)), { path: r.reverse(), name: Q };
|
333 |
+
if (o?.name == "MemberExpression" && ((i = $ = o.lastChild) === null || i === void 0 ? void 0 : i.name) == "PropertyName")
|
334 |
+
r.push(O($)), a = o;
|
335 |
+
else
|
336 |
+
return null;
|
337 |
+
}
|
338 |
+
}
|
339 |
+
function WO(O) {
|
340 |
+
let a = (i) => O.state.doc.sliceString(i.from, i.to), Q = b(O.state).resolveInner(O.pos, -1);
|
341 |
+
return Q.name == "PropertyName" ? m(a, Q.parent, a(Q)) : (Q.name == "." || Q.name == "?.") && Q.parent.name == "MemberExpression" ? m(a, Q.parent, "") : x.indexOf(Q.name) > -1 ? null : Q.name == "VariableName" || Q.to - Q.from < 20 && f.test(a(Q)) ? { path: [], name: a(Q) } : Q.name == "MemberExpression" ? m(a, Q, "") : O.explicit ? { path: [], name: "" } : null;
|
342 |
+
}
|
343 |
+
function LO(O, a) {
|
344 |
+
let Q = [], i = /* @__PURE__ */ new Set();
|
345 |
+
for (let r = 0; ; r++) {
|
346 |
+
for (let $ of (Object.getOwnPropertyNames || Object.keys)(O)) {
|
347 |
+
if (!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test($) || i.has($))
|
348 |
+
continue;
|
349 |
+
i.add($);
|
350 |
+
let t;
|
351 |
+
try {
|
352 |
+
t = O[$];
|
353 |
+
} catch {
|
354 |
+
continue;
|
355 |
+
}
|
356 |
+
Q.push({
|
357 |
+
label: $,
|
358 |
+
type: typeof t == "function" ? /^[A-Z]/.test($) ? "class" : a ? "function" : "method" : a ? "variable" : "property",
|
359 |
+
boost: -r
|
360 |
+
});
|
361 |
+
}
|
362 |
+
let o = Object.getPrototypeOf(O);
|
363 |
+
if (!o)
|
364 |
+
return Q;
|
365 |
+
O = o;
|
366 |
+
}
|
367 |
+
}
|
368 |
+
function HO(O) {
|
369 |
+
let a = /* @__PURE__ */ new Map();
|
370 |
+
return (Q) => {
|
371 |
+
let i = WO(Q);
|
372 |
+
if (!i)
|
373 |
+
return null;
|
374 |
+
let r = O;
|
375 |
+
for (let $ of i.path)
|
376 |
+
if (r = r[$], !r)
|
377 |
+
return null;
|
378 |
+
let o = a.get(r);
|
379 |
+
return o || a.set(r, o = LO(r, !i.path.length)), {
|
380 |
+
from: Q.pos - i.name.length,
|
381 |
+
options: o,
|
382 |
+
validFor: f
|
383 |
+
};
|
384 |
+
};
|
385 |
+
}
|
386 |
+
const s = /* @__PURE__ */ C.define({
|
387 |
+
name: "javascript",
|
388 |
+
parser: /* @__PURE__ */ zO.configure({
|
389 |
+
props: [
|
390 |
+
/* @__PURE__ */ I.add({
|
391 |
+
IfStatement: /* @__PURE__ */ d({ except: /^\s*({|else\b)/ }),
|
392 |
+
TryStatement: /* @__PURE__ */ d({ except: /^\s*({|catch\b|finally\b)/ }),
|
393 |
+
LabeledStatement: J,
|
394 |
+
SwitchBody: (O) => {
|
395 |
+
let a = O.textAfter, Q = /^\s*\}/.test(a), i = /^\s*(case|default)\b/.test(a);
|
396 |
+
return O.baseIndent + (Q ? 0 : i ? 1 : 2) * O.unit;
|
397 |
+
},
|
398 |
+
Block: /* @__PURE__ */ K({ closing: "}" }),
|
399 |
+
ArrowFunction: (O) => O.baseIndent + O.unit,
|
400 |
+
"TemplateString BlockComment": () => null,
|
401 |
+
"Statement Property": /* @__PURE__ */ d({ except: /^{/ }),
|
402 |
+
JSXElement(O) {
|
403 |
+
let a = /^\s*<\//.test(O.textAfter);
|
404 |
+
return O.lineIndent(O.node.from) + (a ? 0 : O.unit);
|
405 |
+
},
|
406 |
+
JSXEscape(O) {
|
407 |
+
let a = /\s*\}/.test(O.textAfter);
|
408 |
+
return O.lineIndent(O.node.from) + (a ? 0 : O.unit);
|
409 |
+
},
|
410 |
+
"JSXOpenTag JSXSelfClosingTag"(O) {
|
411 |
+
return O.column(O.node.from) + O.unit;
|
412 |
+
}
|
413 |
+
}),
|
414 |
+
/* @__PURE__ */ D.add({
|
415 |
+
"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType": N,
|
416 |
+
BlockComment(O) {
|
417 |
+
return { from: O.from + 2, to: O.to - 2 };
|
418 |
+
}
|
419 |
+
})
|
420 |
+
]
|
421 |
+
}),
|
422 |
+
languageData: {
|
423 |
+
closeBrackets: { brackets: ["(", "[", "{", "'", '"', "`"] },
|
424 |
+
commentTokens: { line: "//", block: { open: "/*", close: "*/" } },
|
425 |
+
indentOnInput: /^\s*(?:case |default:|\{|\}|<\/)$/,
|
426 |
+
wordChars: "$"
|
427 |
+
}
|
428 |
+
}), U = {
|
429 |
+
test: (O) => /^JSX/.test(O.name),
|
430 |
+
facet: /* @__PURE__ */ eO({ commentTokens: { block: { open: "{/*", close: "*/}" } } })
|
431 |
+
}, MO = /* @__PURE__ */ s.configure({ dialect: "ts" }, "typescript"), EO = /* @__PURE__ */ s.configure({
|
432 |
+
dialect: "jsx",
|
433 |
+
props: [/* @__PURE__ */ _.add((O) => O.isTop ? [U] : void 0)]
|
434 |
+
}), AO = /* @__PURE__ */ s.configure({
|
435 |
+
dialect: "jsx ts",
|
436 |
+
props: [/* @__PURE__ */ _.add((O) => O.isTop ? [U] : void 0)]
|
437 |
+
}, "typescript");
|
438 |
+
let W = (O) => ({ label: O, type: "keyword" });
|
439 |
+
const L = /* @__PURE__ */ "break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(W), CO = /* @__PURE__ */ L.concat(/* @__PURE__ */ ["declare", "implements", "private", "protected", "public"].map(W));
|
440 |
+
function FO(O = {}) {
|
441 |
+
let a = O.jsx ? O.typescript ? AO : EO : O.typescript ? MO : s, Q = O.typescript ? VO.concat(CO) : V.concat(L);
|
442 |
+
return new B(a, [
|
443 |
+
s.data.of({
|
444 |
+
autocomplete: H(x, F(Q))
|
445 |
+
}),
|
446 |
+
s.data.of({
|
447 |
+
autocomplete: UO
|
448 |
+
}),
|
449 |
+
O.jsx ? KO : []
|
450 |
+
]);
|
451 |
+
}
|
452 |
+
function IO(O) {
|
453 |
+
for (; ; ) {
|
454 |
+
if (O.name == "JSXOpenTag" || O.name == "JSXSelfClosingTag" || O.name == "JSXFragmentTag")
|
455 |
+
return O;
|
456 |
+
if (O.name == "JSXEscape" || !O.parent)
|
457 |
+
return null;
|
458 |
+
O = O.parent;
|
459 |
+
}
|
460 |
+
}
|
461 |
+
function R(O, a, Q = O.length) {
|
462 |
+
for (let i = a?.firstChild; i; i = i.nextSibling)
|
463 |
+
if (i.name == "JSXIdentifier" || i.name == "JSXBuiltin" || i.name == "JSXNamespacedName" || i.name == "JSXMemberExpression")
|
464 |
+
return O.sliceString(i.from, Math.min(i.to, Q));
|
465 |
+
return "";
|
466 |
+
}
|
467 |
+
const JO = typeof navigator == "object" && /* @__PURE__ */ /Android\b/.test(navigator.userAgent), KO = /* @__PURE__ */ OO.inputHandler.of((O, a, Q, i, r) => {
|
468 |
+
if ((JO ? O.composing : O.compositionStarted) || O.state.readOnly || a != Q || i != ">" && i != "/" || !s.isActiveAt(O.state, a, -1))
|
469 |
+
return !1;
|
470 |
+
let o = r(), { state: $ } = o, t = $.changeByRange((n) => {
|
471 |
+
var p;
|
472 |
+
let { head: Z } = n, l = b($).resolveInner(Z - 1, -1), X;
|
473 |
+
if (l.name == "JSXStartTag" && (l = l.parent), !($.doc.sliceString(Z - 1, Z) != i || l.name == "JSXAttributeValue" && l.to > Z)) {
|
474 |
+
if (i == ">" && l.name == "JSXFragmentTag")
|
475 |
+
return { range: n, changes: { from: Z, insert: "</>" } };
|
476 |
+
if (i == "/" && l.name == "JSXStartCloseTag") {
|
477 |
+
let S = l.parent, g = S.parent;
|
478 |
+
if (g && S.from == Z - 2 && ((X = R($.doc, g.firstChild, Z)) || ((p = g.firstChild) === null || p === void 0 ? void 0 : p.name) == "JSXFragmentTag")) {
|
479 |
+
let j = `${X}>`;
|
480 |
+
return { range: aO.cursor(Z + j.length, -1), changes: { from: Z, insert: j } };
|
481 |
+
}
|
482 |
+
} else if (i == ">") {
|
483 |
+
let S = IO(l);
|
484 |
+
if (S && S.name == "JSXOpenTag" && !/^\/?>|^<\//.test($.doc.sliceString(Z, Z + 2)) && (X = R($.doc, S, Z)))
|
485 |
+
return { range: n, changes: { from: Z, insert: `</${X}>` } };
|
486 |
+
}
|
487 |
+
}
|
488 |
+
return { range: n };
|
489 |
+
});
|
490 |
+
return t.changes.empty ? !1 : (O.dispatch([
|
491 |
+
o,
|
492 |
+
$.update(t, { userEvent: "input.complete", scrollIntoView: !0 })
|
493 |
+
]), !0);
|
494 |
+
});
|
495 |
+
function Oa(O, a) {
|
496 |
+
return a || (a = {
|
497 |
+
parserOptions: { ecmaVersion: 2019, sourceType: "module" },
|
498 |
+
env: { browser: !0, node: !0, es6: !0, es2015: !0, es2017: !0, es2020: !0 },
|
499 |
+
rules: {}
|
500 |
+
}, O.getRules().forEach((Q, i) => {
|
501 |
+
Q.meta.docs.recommended && (a.rules[i] = 2);
|
502 |
+
})), (Q) => {
|
503 |
+
let { state: i } = Q, r = [];
|
504 |
+
for (let { from: o, to: $ } of s.findRegions(i)) {
|
505 |
+
let t = i.doc.lineAt(o), n = { line: t.number - 1, col: o - t.from, pos: o };
|
506 |
+
for (let p of O.verify(i.sliceDoc(o, $), a))
|
507 |
+
r.push(DO(p, i.doc, n));
|
508 |
+
}
|
509 |
+
return r;
|
510 |
+
};
|
511 |
+
}
|
512 |
+
function k(O, a, Q, i) {
|
513 |
+
return Q.line(O + i.line).from + a + (O == 1 ? i.col - 1 : -1);
|
514 |
+
}
|
515 |
+
function DO(O, a, Q) {
|
516 |
+
let i = k(O.line, O.column, a, Q), r = {
|
517 |
+
from: i,
|
518 |
+
to: O.endLine != null && O.endColumn != 1 ? k(O.endLine, O.endColumn, a, Q) : i,
|
519 |
+
message: O.message,
|
520 |
+
source: O.ruleId ? "eslint:" + O.ruleId : "eslint",
|
521 |
+
severity: O.severity == 1 ? "warning" : "error"
|
522 |
+
};
|
523 |
+
if (O.fix) {
|
524 |
+
let { range: o, text: $ } = O.fix, t = o[0] + Q.pos - i, n = o[1] + Q.pos - i;
|
525 |
+
r.actions = [{
|
526 |
+
name: "fix",
|
527 |
+
apply(p, Z) {
|
528 |
+
p.dispatch({ changes: { from: Z + t, to: Z + n, insert: $ }, scrollIntoView: !0 });
|
529 |
+
}
|
530 |
+
}];
|
531 |
+
}
|
532 |
+
return r;
|
533 |
+
}
|
534 |
+
export {
|
535 |
+
KO as autoCloseTags,
|
536 |
+
WO as completionPath,
|
537 |
+
Oa as esLint,
|
538 |
+
FO as javascript,
|
539 |
+
s as javascriptLanguage,
|
540 |
+
EO as jsxLanguage,
|
541 |
+
UO as localCompletionSource,
|
542 |
+
HO as scopeCompletionSource,
|
543 |
+
V as snippets,
|
544 |
+
AO as tsxLanguage,
|
545 |
+
MO as typescriptLanguage,
|
546 |
+
VO as typescriptSnippets
|
547 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-CrYb5Scy.js
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { L as s } from "./index-CwvQZfH0.js";
|
2 |
+
import { s as n, t as r, L as o, b as P, B as a, f as Q, c as i, e as c } from "./Index-COMtKkwP.js";
|
3 |
+
const g = n({
|
4 |
+
String: r.string,
|
5 |
+
Number: r.number,
|
6 |
+
"True False": r.bool,
|
7 |
+
PropertyName: r.propertyName,
|
8 |
+
Null: r.null,
|
9 |
+
",": r.separator,
|
10 |
+
"[ ]": r.squareBracket,
|
11 |
+
"{ }": r.brace
|
12 |
+
}), p = s.deserialize({
|
13 |
+
version: 14,
|
14 |
+
states: "$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",
|
15 |
+
stateData: "#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",
|
16 |
+
goto: "!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",
|
17 |
+
nodeNames: "⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",
|
18 |
+
maxTerm: 25,
|
19 |
+
nodeProps: [
|
20 |
+
["isolate", -2, 6, 11, ""],
|
21 |
+
["openedBy", 7, "{", 12, "["],
|
22 |
+
["closedBy", 8, "}", 13, "]"]
|
23 |
+
],
|
24 |
+
propSources: [g],
|
25 |
+
skippedNodes: [0],
|
26 |
+
repeatNodeCount: 2,
|
27 |
+
tokenData: "(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",
|
28 |
+
tokenizers: [0],
|
29 |
+
topRules: { JsonText: [0, 1] },
|
30 |
+
tokenPrec: 0
|
31 |
+
}), d = () => (t) => {
|
32 |
+
try {
|
33 |
+
JSON.parse(t.state.doc.toString());
|
34 |
+
} catch (O) {
|
35 |
+
if (!(O instanceof SyntaxError))
|
36 |
+
throw O;
|
37 |
+
const e = u(O, t.state.doc);
|
38 |
+
return [{
|
39 |
+
from: e,
|
40 |
+
message: O.message,
|
41 |
+
severity: "error",
|
42 |
+
to: e
|
43 |
+
}];
|
44 |
+
}
|
45 |
+
return [];
|
46 |
+
};
|
47 |
+
function u(t, O) {
|
48 |
+
let e;
|
49 |
+
return (e = t.message.match(/at position (\d+)/)) ? Math.min(+e[1], O.length) : (e = t.message.match(/at line (\d+) column (\d+)/)) ? Math.min(O.line(+e[1]).from + +e[2] - 1, O.length) : 0;
|
50 |
+
}
|
51 |
+
const l = /* @__PURE__ */ o.define({
|
52 |
+
name: "json",
|
53 |
+
parser: /* @__PURE__ */ p.configure({
|
54 |
+
props: [
|
55 |
+
/* @__PURE__ */ P.add({
|
56 |
+
Object: /* @__PURE__ */ a({ except: /^\s*\}/ }),
|
57 |
+
Array: /* @__PURE__ */ a({ except: /^\s*\]/ })
|
58 |
+
}),
|
59 |
+
/* @__PURE__ */ Q.add({
|
60 |
+
"Object Array": i
|
61 |
+
})
|
62 |
+
]
|
63 |
+
}),
|
64 |
+
languageData: {
|
65 |
+
closeBrackets: { brackets: ["[", "{", '"'] },
|
66 |
+
indentOnInput: /^\s*[\}\]]$/
|
67 |
+
}
|
68 |
+
});
|
69 |
+
function h() {
|
70 |
+
return new c(l);
|
71 |
+
}
|
72 |
+
export {
|
73 |
+
h as json,
|
74 |
+
l as jsonLanguage,
|
75 |
+
d as jsonParseLinter
|
76 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-CwvQZfH0.js
ADDED
@@ -0,0 +1,1308 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { P as L, l as M, j as $, J as E, k as y, m as S, I as j } from "./Index-COMtKkwP.js";
|
2 |
+
class v {
|
3 |
+
/**
|
4 |
+
@internal
|
5 |
+
*/
|
6 |
+
constructor(t, e, s, i, h, r, n, o, a, u = 0, f) {
|
7 |
+
this.p = t, this.stack = e, this.state = s, this.reducePos = i, this.pos = h, this.score = r, this.buffer = n, this.bufferBase = o, this.curContext = a, this.lookAhead = u, this.parent = f;
|
8 |
+
}
|
9 |
+
/**
|
10 |
+
@internal
|
11 |
+
*/
|
12 |
+
toString() {
|
13 |
+
return `[${this.stack.filter((t, e) => e % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? "!" + this.score : ""}`;
|
14 |
+
}
|
15 |
+
// Start an empty stack
|
16 |
+
/**
|
17 |
+
@internal
|
18 |
+
*/
|
19 |
+
static start(t, e, s = 0) {
|
20 |
+
let i = t.parser.context;
|
21 |
+
return new v(t, [], e, s, s, 0, [], 0, i ? new N(i, i.start) : null, 0, null);
|
22 |
+
}
|
23 |
+
/**
|
24 |
+
The stack's current [context](#lr.ContextTracker) value, if
|
25 |
+
any. Its type will depend on the context tracker's type
|
26 |
+
parameter, or it will be `null` if there is no context
|
27 |
+
tracker.
|
28 |
+
*/
|
29 |
+
get context() {
|
30 |
+
return this.curContext ? this.curContext.context : null;
|
31 |
+
}
|
32 |
+
// Push a state onto the stack, tracking its start position as well
|
33 |
+
// as the buffer base at that point.
|
34 |
+
/**
|
35 |
+
@internal
|
36 |
+
*/
|
37 |
+
pushState(t, e) {
|
38 |
+
this.stack.push(this.state, e, this.bufferBase + this.buffer.length), this.state = t;
|
39 |
+
}
|
40 |
+
// Apply a reduce action
|
41 |
+
/**
|
42 |
+
@internal
|
43 |
+
*/
|
44 |
+
reduce(t) {
|
45 |
+
var e;
|
46 |
+
let s = t >> 19, i = t & 65535, { parser: h } = this.p, r = this.reducePos < this.pos - 25;
|
47 |
+
r && this.setLookAhead(this.pos);
|
48 |
+
let n = h.dynamicPrecedence(i);
|
49 |
+
if (n && (this.score += n), s == 0) {
|
50 |
+
this.pushState(h.getGoto(this.state, i, !0), this.reducePos), i < h.minRepeatTerm && this.storeNode(i, this.reducePos, this.reducePos, r ? 8 : 4, !0), this.reduceContext(i, this.reducePos);
|
51 |
+
return;
|
52 |
+
}
|
53 |
+
let o = this.stack.length - (s - 1) * 3 - (t & 262144 ? 6 : 0), a = o ? this.stack[o - 2] : this.p.ranges[0].from, u = this.reducePos - a;
|
54 |
+
u >= 2e3 && !(!((e = this.p.parser.nodeSet.types[i]) === null || e === void 0) && e.isAnonymous) && (a == this.p.lastBigReductionStart ? (this.p.bigReductionCount++, this.p.lastBigReductionSize = u) : this.p.lastBigReductionSize < u && (this.p.bigReductionCount = 1, this.p.lastBigReductionStart = a, this.p.lastBigReductionSize = u));
|
55 |
+
let f = o ? this.stack[o - 1] : 0, p = this.bufferBase + this.buffer.length - f;
|
56 |
+
if (i < h.minRepeatTerm || t & 131072) {
|
57 |
+
let c = h.stateFlag(
|
58 |
+
this.state,
|
59 |
+
1
|
60 |
+
/* StateFlag.Skipped */
|
61 |
+
) ? this.pos : this.reducePos;
|
62 |
+
this.storeNode(i, a, c, p + 4, !0);
|
63 |
+
}
|
64 |
+
if (t & 262144)
|
65 |
+
this.state = this.stack[o];
|
66 |
+
else {
|
67 |
+
let c = this.stack[o - 3];
|
68 |
+
this.state = h.getGoto(c, i, !0);
|
69 |
+
}
|
70 |
+
for (; this.stack.length > o; )
|
71 |
+
this.stack.pop();
|
72 |
+
this.reduceContext(i, a);
|
73 |
+
}
|
74 |
+
// Shift a value into the buffer
|
75 |
+
/**
|
76 |
+
@internal
|
77 |
+
*/
|
78 |
+
storeNode(t, e, s, i = 4, h = !1) {
|
79 |
+
if (t == 0 && (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {
|
80 |
+
let r = this, n = this.buffer.length;
|
81 |
+
if (n == 0 && r.parent && (n = r.bufferBase - r.parent.bufferBase, r = r.parent), n > 0 && r.buffer[n - 4] == 0 && r.buffer[n - 1] > -1) {
|
82 |
+
if (e == s)
|
83 |
+
return;
|
84 |
+
if (r.buffer[n - 2] >= e) {
|
85 |
+
r.buffer[n - 2] = s;
|
86 |
+
return;
|
87 |
+
}
|
88 |
+
}
|
89 |
+
}
|
90 |
+
if (!h || this.pos == s)
|
91 |
+
this.buffer.push(t, e, s, i);
|
92 |
+
else {
|
93 |
+
let r = this.buffer.length;
|
94 |
+
if (r > 0 && this.buffer[r - 4] != 0) {
|
95 |
+
let n = !1;
|
96 |
+
for (let o = r; o > 0 && this.buffer[o - 2] > s; o -= 4)
|
97 |
+
if (this.buffer[o - 1] >= 0) {
|
98 |
+
n = !0;
|
99 |
+
break;
|
100 |
+
}
|
101 |
+
if (n)
|
102 |
+
for (; r > 0 && this.buffer[r - 2] > s; )
|
103 |
+
this.buffer[r] = this.buffer[r - 4], this.buffer[r + 1] = this.buffer[r - 3], this.buffer[r + 2] = this.buffer[r - 2], this.buffer[r + 3] = this.buffer[r - 1], r -= 4, i > 4 && (i -= 4);
|
104 |
+
}
|
105 |
+
this.buffer[r] = t, this.buffer[r + 1] = e, this.buffer[r + 2] = s, this.buffer[r + 3] = i;
|
106 |
+
}
|
107 |
+
}
|
108 |
+
// Apply a shift action
|
109 |
+
/**
|
110 |
+
@internal
|
111 |
+
*/
|
112 |
+
shift(t, e, s, i) {
|
113 |
+
if (t & 131072)
|
114 |
+
this.pushState(t & 65535, this.pos);
|
115 |
+
else if (t & 262144)
|
116 |
+
this.pos = i, this.shiftContext(e, s), e <= this.p.parser.maxNode && this.buffer.push(e, s, i, 4);
|
117 |
+
else {
|
118 |
+
let h = t, { parser: r } = this.p;
|
119 |
+
(i > this.pos || e <= r.maxNode) && (this.pos = i, r.stateFlag(
|
120 |
+
h,
|
121 |
+
1
|
122 |
+
/* StateFlag.Skipped */
|
123 |
+
) || (this.reducePos = i)), this.pushState(h, s), this.shiftContext(e, s), e <= r.maxNode && this.buffer.push(e, s, i, 4);
|
124 |
+
}
|
125 |
+
}
|
126 |
+
// Apply an action
|
127 |
+
/**
|
128 |
+
@internal
|
129 |
+
*/
|
130 |
+
apply(t, e, s, i) {
|
131 |
+
t & 65536 ? this.reduce(t) : this.shift(t, e, s, i);
|
132 |
+
}
|
133 |
+
// Add a prebuilt (reused) node into the buffer.
|
134 |
+
/**
|
135 |
+
@internal
|
136 |
+
*/
|
137 |
+
useNode(t, e) {
|
138 |
+
let s = this.p.reused.length - 1;
|
139 |
+
(s < 0 || this.p.reused[s] != t) && (this.p.reused.push(t), s++);
|
140 |
+
let i = this.pos;
|
141 |
+
this.reducePos = this.pos = i + t.length, this.pushState(e, i), this.buffer.push(
|
142 |
+
s,
|
143 |
+
i,
|
144 |
+
this.reducePos,
|
145 |
+
-1
|
146 |
+
/* size == -1 means this is a reused value */
|
147 |
+
), this.curContext && this.updateContext(this.curContext.tracker.reuse(this.curContext.context, t, this, this.p.stream.reset(this.pos - t.length)));
|
148 |
+
}
|
149 |
+
// Split the stack. Due to the buffer sharing and the fact
|
150 |
+
// that `this.stack` tends to stay quite shallow, this isn't very
|
151 |
+
// expensive.
|
152 |
+
/**
|
153 |
+
@internal
|
154 |
+
*/
|
155 |
+
split() {
|
156 |
+
let t = this, e = t.buffer.length;
|
157 |
+
for (; e > 0 && t.buffer[e - 2] > t.reducePos; )
|
158 |
+
e -= 4;
|
159 |
+
let s = t.buffer.slice(e), i = t.bufferBase + e;
|
160 |
+
for (; t && i == t.bufferBase; )
|
161 |
+
t = t.parent;
|
162 |
+
return new v(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, s, i, this.curContext, this.lookAhead, t);
|
163 |
+
}
|
164 |
+
// Try to recover from an error by 'deleting' (ignoring) one token.
|
165 |
+
/**
|
166 |
+
@internal
|
167 |
+
*/
|
168 |
+
recoverByDelete(t, e) {
|
169 |
+
let s = t <= this.p.parser.maxNode;
|
170 |
+
s && this.storeNode(t, this.pos, e, 4), this.storeNode(0, this.pos, e, s ? 8 : 4), this.pos = this.reducePos = e, this.score -= 190;
|
171 |
+
}
|
172 |
+
/**
|
173 |
+
Check if the given term would be able to be shifted (optionally
|
174 |
+
after some reductions) on this stack. This can be useful for
|
175 |
+
external tokenizers that want to make sure they only provide a
|
176 |
+
given token when it applies.
|
177 |
+
*/
|
178 |
+
canShift(t) {
|
179 |
+
for (let e = new G(this); ; ) {
|
180 |
+
let s = this.p.parser.stateSlot(
|
181 |
+
e.state,
|
182 |
+
4
|
183 |
+
/* ParseState.DefaultReduce */
|
184 |
+
) || this.p.parser.hasAction(e.state, t);
|
185 |
+
if (s == 0)
|
186 |
+
return !1;
|
187 |
+
if (!(s & 65536))
|
188 |
+
return !0;
|
189 |
+
e.reduce(s);
|
190 |
+
}
|
191 |
+
}
|
192 |
+
// Apply up to Recover.MaxNext recovery actions that conceptually
|
193 |
+
// inserts some missing token or rule.
|
194 |
+
/**
|
195 |
+
@internal
|
196 |
+
*/
|
197 |
+
recoverByInsert(t) {
|
198 |
+
if (this.stack.length >= 300)
|
199 |
+
return [];
|
200 |
+
let e = this.p.parser.nextStates(this.state);
|
201 |
+
if (e.length > 8 || this.stack.length >= 120) {
|
202 |
+
let i = [];
|
203 |
+
for (let h = 0, r; h < e.length; h += 2)
|
204 |
+
(r = e[h + 1]) != this.state && this.p.parser.hasAction(r, t) && i.push(e[h], r);
|
205 |
+
if (this.stack.length < 120)
|
206 |
+
for (let h = 0; i.length < 8 && h < e.length; h += 2) {
|
207 |
+
let r = e[h + 1];
|
208 |
+
i.some((n, o) => o & 1 && n == r) || i.push(e[h], r);
|
209 |
+
}
|
210 |
+
e = i;
|
211 |
+
}
|
212 |
+
let s = [];
|
213 |
+
for (let i = 0; i < e.length && s.length < 4; i += 2) {
|
214 |
+
let h = e[i + 1];
|
215 |
+
if (h == this.state)
|
216 |
+
continue;
|
217 |
+
let r = this.split();
|
218 |
+
r.pushState(h, this.pos), r.storeNode(0, r.pos, r.pos, 4, !0), r.shiftContext(e[i], this.pos), r.reducePos = this.pos, r.score -= 200, s.push(r);
|
219 |
+
}
|
220 |
+
return s;
|
221 |
+
}
|
222 |
+
// Force a reduce, if possible. Return false if that can't
|
223 |
+
// be done.
|
224 |
+
/**
|
225 |
+
@internal
|
226 |
+
*/
|
227 |
+
forceReduce() {
|
228 |
+
let { parser: t } = this.p, e = t.stateSlot(
|
229 |
+
this.state,
|
230 |
+
5
|
231 |
+
/* ParseState.ForcedReduce */
|
232 |
+
);
|
233 |
+
if (!(e & 65536))
|
234 |
+
return !1;
|
235 |
+
if (!t.validAction(this.state, e)) {
|
236 |
+
let s = e >> 19, i = e & 65535, h = this.stack.length - s * 3;
|
237 |
+
if (h < 0 || t.getGoto(this.stack[h], i, !1) < 0) {
|
238 |
+
let r = this.findForcedReduction();
|
239 |
+
if (r == null)
|
240 |
+
return !1;
|
241 |
+
e = r;
|
242 |
+
}
|
243 |
+
this.storeNode(0, this.pos, this.pos, 4, !0), this.score -= 100;
|
244 |
+
}
|
245 |
+
return this.reducePos = this.pos, this.reduce(e), !0;
|
246 |
+
}
|
247 |
+
/**
|
248 |
+
Try to scan through the automaton to find some kind of reduction
|
249 |
+
that can be applied. Used when the regular ForcedReduce field
|
250 |
+
isn't a valid action. @internal
|
251 |
+
*/
|
252 |
+
findForcedReduction() {
|
253 |
+
let { parser: t } = this.p, e = [], s = (i, h) => {
|
254 |
+
if (!e.includes(i))
|
255 |
+
return e.push(i), t.allActions(i, (r) => {
|
256 |
+
if (!(r & 393216)) if (r & 65536) {
|
257 |
+
let n = (r >> 19) - h;
|
258 |
+
if (n > 1) {
|
259 |
+
let o = r & 65535, a = this.stack.length - n * 3;
|
260 |
+
if (a >= 0 && t.getGoto(this.stack[a], o, !1) >= 0)
|
261 |
+
return n << 19 | 65536 | o;
|
262 |
+
}
|
263 |
+
} else {
|
264 |
+
let n = s(r, h + 1);
|
265 |
+
if (n != null)
|
266 |
+
return n;
|
267 |
+
}
|
268 |
+
});
|
269 |
+
};
|
270 |
+
return s(this.state, 0);
|
271 |
+
}
|
272 |
+
/**
|
273 |
+
@internal
|
274 |
+
*/
|
275 |
+
forceAll() {
|
276 |
+
for (; !this.p.parser.stateFlag(
|
277 |
+
this.state,
|
278 |
+
2
|
279 |
+
/* StateFlag.Accepting */
|
280 |
+
); )
|
281 |
+
if (!this.forceReduce()) {
|
282 |
+
this.storeNode(0, this.pos, this.pos, 4, !0);
|
283 |
+
break;
|
284 |
+
}
|
285 |
+
return this;
|
286 |
+
}
|
287 |
+
/**
|
288 |
+
Check whether this state has no further actions (assumed to be a direct descendant of the
|
289 |
+
top state, since any other states must be able to continue
|
290 |
+
somehow). @internal
|
291 |
+
*/
|
292 |
+
get deadEnd() {
|
293 |
+
if (this.stack.length != 3)
|
294 |
+
return !1;
|
295 |
+
let { parser: t } = this.p;
|
296 |
+
return t.data[t.stateSlot(
|
297 |
+
this.state,
|
298 |
+
1
|
299 |
+
/* ParseState.Actions */
|
300 |
+
)] == 65535 && !t.stateSlot(
|
301 |
+
this.state,
|
302 |
+
4
|
303 |
+
/* ParseState.DefaultReduce */
|
304 |
+
);
|
305 |
+
}
|
306 |
+
/**
|
307 |
+
Restart the stack (put it back in its start state). Only safe
|
308 |
+
when this.stack.length == 3 (state is directly below the top
|
309 |
+
state). @internal
|
310 |
+
*/
|
311 |
+
restart() {
|
312 |
+
this.storeNode(0, this.pos, this.pos, 4, !0), this.state = this.stack[0], this.stack.length = 0;
|
313 |
+
}
|
314 |
+
/**
|
315 |
+
@internal
|
316 |
+
*/
|
317 |
+
sameState(t) {
|
318 |
+
if (this.state != t.state || this.stack.length != t.stack.length)
|
319 |
+
return !1;
|
320 |
+
for (let e = 0; e < this.stack.length; e += 3)
|
321 |
+
if (this.stack[e] != t.stack[e])
|
322 |
+
return !1;
|
323 |
+
return !0;
|
324 |
+
}
|
325 |
+
/**
|
326 |
+
Get the parser used by this stack.
|
327 |
+
*/
|
328 |
+
get parser() {
|
329 |
+
return this.p.parser;
|
330 |
+
}
|
331 |
+
/**
|
332 |
+
Test whether a given dialect (by numeric ID, as exported from
|
333 |
+
the terms file) is enabled.
|
334 |
+
*/
|
335 |
+
dialectEnabled(t) {
|
336 |
+
return this.p.parser.dialect.flags[t];
|
337 |
+
}
|
338 |
+
shiftContext(t, e) {
|
339 |
+
this.curContext && this.updateContext(this.curContext.tracker.shift(this.curContext.context, t, this, this.p.stream.reset(e)));
|
340 |
+
}
|
341 |
+
reduceContext(t, e) {
|
342 |
+
this.curContext && this.updateContext(this.curContext.tracker.reduce(this.curContext.context, t, this, this.p.stream.reset(e)));
|
343 |
+
}
|
344 |
+
/**
|
345 |
+
@internal
|
346 |
+
*/
|
347 |
+
emitContext() {
|
348 |
+
let t = this.buffer.length - 1;
|
349 |
+
(t < 0 || this.buffer[t] != -3) && this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);
|
350 |
+
}
|
351 |
+
/**
|
352 |
+
@internal
|
353 |
+
*/
|
354 |
+
emitLookAhead() {
|
355 |
+
let t = this.buffer.length - 1;
|
356 |
+
(t < 0 || this.buffer[t] != -4) && this.buffer.push(this.lookAhead, this.pos, this.pos, -4);
|
357 |
+
}
|
358 |
+
updateContext(t) {
|
359 |
+
if (t != this.curContext.context) {
|
360 |
+
let e = new N(this.curContext.tracker, t);
|
361 |
+
e.hash != this.curContext.hash && this.emitContext(), this.curContext = e;
|
362 |
+
}
|
363 |
+
}
|
364 |
+
/**
|
365 |
+
@internal
|
366 |
+
*/
|
367 |
+
setLookAhead(t) {
|
368 |
+
t > this.lookAhead && (this.emitLookAhead(), this.lookAhead = t);
|
369 |
+
}
|
370 |
+
/**
|
371 |
+
@internal
|
372 |
+
*/
|
373 |
+
close() {
|
374 |
+
this.curContext && this.curContext.tracker.strict && this.emitContext(), this.lookAhead > 0 && this.emitLookAhead();
|
375 |
+
}
|
376 |
+
}
|
377 |
+
class N {
|
378 |
+
constructor(t, e) {
|
379 |
+
this.tracker = t, this.context = e, this.hash = t.strict ? t.hash(e) : 0;
|
380 |
+
}
|
381 |
+
}
|
382 |
+
class G {
|
383 |
+
constructor(t) {
|
384 |
+
this.start = t, this.state = t.state, this.stack = t.stack, this.base = this.stack.length;
|
385 |
+
}
|
386 |
+
reduce(t) {
|
387 |
+
let e = t & 65535, s = t >> 19;
|
388 |
+
s == 0 ? (this.stack == this.start.stack && (this.stack = this.stack.slice()), this.stack.push(this.state, 0, 0), this.base += 3) : this.base -= (s - 1) * 3;
|
389 |
+
let i = this.start.p.parser.getGoto(this.stack[this.base - 3], e, !0);
|
390 |
+
this.state = i;
|
391 |
+
}
|
392 |
+
}
|
393 |
+
class A {
|
394 |
+
constructor(t, e, s) {
|
395 |
+
this.stack = t, this.pos = e, this.index = s, this.buffer = t.buffer, this.index == 0 && this.maybeNext();
|
396 |
+
}
|
397 |
+
static create(t, e = t.bufferBase + t.buffer.length) {
|
398 |
+
return new A(t, e, e - t.bufferBase);
|
399 |
+
}
|
400 |
+
maybeNext() {
|
401 |
+
let t = this.stack.parent;
|
402 |
+
t != null && (this.index = this.stack.bufferBase - t.bufferBase, this.stack = t, this.buffer = t.buffer);
|
403 |
+
}
|
404 |
+
get id() {
|
405 |
+
return this.buffer[this.index - 4];
|
406 |
+
}
|
407 |
+
get start() {
|
408 |
+
return this.buffer[this.index - 3];
|
409 |
+
}
|
410 |
+
get end() {
|
411 |
+
return this.buffer[this.index - 2];
|
412 |
+
}
|
413 |
+
get size() {
|
414 |
+
return this.buffer[this.index - 1];
|
415 |
+
}
|
416 |
+
next() {
|
417 |
+
this.index -= 4, this.pos -= 4, this.index == 0 && this.maybeNext();
|
418 |
+
}
|
419 |
+
fork() {
|
420 |
+
return new A(this.stack, this.pos, this.index);
|
421 |
+
}
|
422 |
+
}
|
423 |
+
function x(l, t = Uint16Array) {
|
424 |
+
if (typeof l != "string")
|
425 |
+
return l;
|
426 |
+
let e = null;
|
427 |
+
for (let s = 0, i = 0; s < l.length; ) {
|
428 |
+
let h = 0;
|
429 |
+
for (; ; ) {
|
430 |
+
let r = l.charCodeAt(s++), n = !1;
|
431 |
+
if (r == 126) {
|
432 |
+
h = 65535;
|
433 |
+
break;
|
434 |
+
}
|
435 |
+
r >= 92 && r--, r >= 34 && r--;
|
436 |
+
let o = r - 32;
|
437 |
+
if (o >= 46 && (o -= 46, n = !0), h += o, n)
|
438 |
+
break;
|
439 |
+
h *= 46;
|
440 |
+
}
|
441 |
+
e ? e[i++] = h : e = new t(h);
|
442 |
+
}
|
443 |
+
return e;
|
444 |
+
}
|
445 |
+
class P {
|
446 |
+
constructor() {
|
447 |
+
this.start = -1, this.value = -1, this.end = -1, this.extended = -1, this.lookAhead = 0, this.mask = 0, this.context = 0;
|
448 |
+
}
|
449 |
+
}
|
450 |
+
const R = new P();
|
451 |
+
class U {
|
452 |
+
/**
|
453 |
+
@internal
|
454 |
+
*/
|
455 |
+
constructor(t, e) {
|
456 |
+
this.input = t, this.ranges = e, this.chunk = "", this.chunkOff = 0, this.chunk2 = "", this.chunk2Pos = 0, this.next = -1, this.token = R, this.rangeIndex = 0, this.pos = this.chunkPos = e[0].from, this.range = e[0], this.end = e[e.length - 1].to, this.readNext();
|
457 |
+
}
|
458 |
+
/**
|
459 |
+
@internal
|
460 |
+
*/
|
461 |
+
resolveOffset(t, e) {
|
462 |
+
let s = this.range, i = this.rangeIndex, h = this.pos + t;
|
463 |
+
for (; h < s.from; ) {
|
464 |
+
if (!i)
|
465 |
+
return null;
|
466 |
+
let r = this.ranges[--i];
|
467 |
+
h -= s.from - r.to, s = r;
|
468 |
+
}
|
469 |
+
for (; e < 0 ? h > s.to : h >= s.to; ) {
|
470 |
+
if (i == this.ranges.length - 1)
|
471 |
+
return null;
|
472 |
+
let r = this.ranges[++i];
|
473 |
+
h += r.from - s.to, s = r;
|
474 |
+
}
|
475 |
+
return h;
|
476 |
+
}
|
477 |
+
/**
|
478 |
+
@internal
|
479 |
+
*/
|
480 |
+
clipPos(t) {
|
481 |
+
if (t >= this.range.from && t < this.range.to)
|
482 |
+
return t;
|
483 |
+
for (let e of this.ranges)
|
484 |
+
if (e.to > t)
|
485 |
+
return Math.max(t, e.from);
|
486 |
+
return this.end;
|
487 |
+
}
|
488 |
+
/**
|
489 |
+
Look at a code unit near the stream position. `.peek(0)` equals
|
490 |
+
`.next`, `.peek(-1)` gives you the previous character, and so
|
491 |
+
on.
|
492 |
+
|
493 |
+
Note that looking around during tokenizing creates dependencies
|
494 |
+
on potentially far-away content, which may reduce the
|
495 |
+
effectiveness incremental parsing—when looking forward—or even
|
496 |
+
cause invalid reparses when looking backward more than 25 code
|
497 |
+
units, since the library does not track lookbehind.
|
498 |
+
*/
|
499 |
+
peek(t) {
|
500 |
+
let e = this.chunkOff + t, s, i;
|
501 |
+
if (e >= 0 && e < this.chunk.length)
|
502 |
+
s = this.pos + t, i = this.chunk.charCodeAt(e);
|
503 |
+
else {
|
504 |
+
let h = this.resolveOffset(t, 1);
|
505 |
+
if (h == null)
|
506 |
+
return -1;
|
507 |
+
if (s = h, s >= this.chunk2Pos && s < this.chunk2Pos + this.chunk2.length)
|
508 |
+
i = this.chunk2.charCodeAt(s - this.chunk2Pos);
|
509 |
+
else {
|
510 |
+
let r = this.rangeIndex, n = this.range;
|
511 |
+
for (; n.to <= s; )
|
512 |
+
n = this.ranges[++r];
|
513 |
+
this.chunk2 = this.input.chunk(this.chunk2Pos = s), s + this.chunk2.length > n.to && (this.chunk2 = this.chunk2.slice(0, n.to - s)), i = this.chunk2.charCodeAt(0);
|
514 |
+
}
|
515 |
+
}
|
516 |
+
return s >= this.token.lookAhead && (this.token.lookAhead = s + 1), i;
|
517 |
+
}
|
518 |
+
/**
|
519 |
+
Accept a token. By default, the end of the token is set to the
|
520 |
+
current stream position, but you can pass an offset (relative to
|
521 |
+
the stream position) to change that.
|
522 |
+
*/
|
523 |
+
acceptToken(t, e = 0) {
|
524 |
+
let s = e ? this.resolveOffset(e, -1) : this.pos;
|
525 |
+
if (s == null || s < this.token.start)
|
526 |
+
throw new RangeError("Token end out of bounds");
|
527 |
+
this.token.value = t, this.token.end = s;
|
528 |
+
}
|
529 |
+
/**
|
530 |
+
Accept a token ending at a specific given position.
|
531 |
+
*/
|
532 |
+
acceptTokenTo(t, e) {
|
533 |
+
this.token.value = t, this.token.end = e;
|
534 |
+
}
|
535 |
+
getChunk() {
|
536 |
+
if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {
|
537 |
+
let { chunk: t, chunkPos: e } = this;
|
538 |
+
this.chunk = this.chunk2, this.chunkPos = this.chunk2Pos, this.chunk2 = t, this.chunk2Pos = e, this.chunkOff = this.pos - this.chunkPos;
|
539 |
+
} else {
|
540 |
+
this.chunk2 = this.chunk, this.chunk2Pos = this.chunkPos;
|
541 |
+
let t = this.input.chunk(this.pos), e = this.pos + t.length;
|
542 |
+
this.chunk = e > this.range.to ? t.slice(0, this.range.to - this.pos) : t, this.chunkPos = this.pos, this.chunkOff = 0;
|
543 |
+
}
|
544 |
+
}
|
545 |
+
readNext() {
|
546 |
+
return this.chunkOff >= this.chunk.length && (this.getChunk(), this.chunkOff == this.chunk.length) ? this.next = -1 : this.next = this.chunk.charCodeAt(this.chunkOff);
|
547 |
+
}
|
548 |
+
/**
|
549 |
+
Move the stream forward N (defaults to 1) code units. Returns
|
550 |
+
the new value of [`next`](#lr.InputStream.next).
|
551 |
+
*/
|
552 |
+
advance(t = 1) {
|
553 |
+
for (this.chunkOff += t; this.pos + t >= this.range.to; ) {
|
554 |
+
if (this.rangeIndex == this.ranges.length - 1)
|
555 |
+
return this.setDone();
|
556 |
+
t -= this.range.to - this.pos, this.range = this.ranges[++this.rangeIndex], this.pos = this.range.from;
|
557 |
+
}
|
558 |
+
return this.pos += t, this.pos >= this.token.lookAhead && (this.token.lookAhead = this.pos + 1), this.readNext();
|
559 |
+
}
|
560 |
+
setDone() {
|
561 |
+
return this.pos = this.chunkPos = this.end, this.range = this.ranges[this.rangeIndex = this.ranges.length - 1], this.chunk = "", this.next = -1;
|
562 |
+
}
|
563 |
+
/**
|
564 |
+
@internal
|
565 |
+
*/
|
566 |
+
reset(t, e) {
|
567 |
+
if (e ? (this.token = e, e.start = t, e.lookAhead = t + 1, e.value = e.extended = -1) : this.token = R, this.pos != t) {
|
568 |
+
if (this.pos = t, t == this.end)
|
569 |
+
return this.setDone(), this;
|
570 |
+
for (; t < this.range.from; )
|
571 |
+
this.range = this.ranges[--this.rangeIndex];
|
572 |
+
for (; t >= this.range.to; )
|
573 |
+
this.range = this.ranges[++this.rangeIndex];
|
574 |
+
t >= this.chunkPos && t < this.chunkPos + this.chunk.length ? this.chunkOff = t - this.chunkPos : (this.chunk = "", this.chunkOff = 0), this.readNext();
|
575 |
+
}
|
576 |
+
return this;
|
577 |
+
}
|
578 |
+
/**
|
579 |
+
@internal
|
580 |
+
*/
|
581 |
+
read(t, e) {
|
582 |
+
if (t >= this.chunkPos && e <= this.chunkPos + this.chunk.length)
|
583 |
+
return this.chunk.slice(t - this.chunkPos, e - this.chunkPos);
|
584 |
+
if (t >= this.chunk2Pos && e <= this.chunk2Pos + this.chunk2.length)
|
585 |
+
return this.chunk2.slice(t - this.chunk2Pos, e - this.chunk2Pos);
|
586 |
+
if (t >= this.range.from && e <= this.range.to)
|
587 |
+
return this.input.read(t, e);
|
588 |
+
let s = "";
|
589 |
+
for (let i of this.ranges) {
|
590 |
+
if (i.from >= e)
|
591 |
+
break;
|
592 |
+
i.to > t && (s += this.input.read(Math.max(i.from, t), Math.min(i.to, e)));
|
593 |
+
}
|
594 |
+
return s;
|
595 |
+
}
|
596 |
+
}
|
597 |
+
class m {
|
598 |
+
constructor(t, e) {
|
599 |
+
this.data = t, this.id = e;
|
600 |
+
}
|
601 |
+
token(t, e) {
|
602 |
+
let { parser: s } = e.p;
|
603 |
+
F(this.data, t, e, this.id, s.data, s.tokenPrecTable);
|
604 |
+
}
|
605 |
+
}
|
606 |
+
m.prototype.contextual = m.prototype.fallback = m.prototype.extend = !1;
|
607 |
+
class H {
|
608 |
+
constructor(t, e, s) {
|
609 |
+
this.precTable = e, this.elseToken = s, this.data = typeof t == "string" ? x(t) : t;
|
610 |
+
}
|
611 |
+
token(t, e) {
|
612 |
+
let s = t.pos, i = 0;
|
613 |
+
for (; ; ) {
|
614 |
+
let h = t.next < 0, r = t.resolveOffset(1, 1);
|
615 |
+
if (F(this.data, t, e, 0, this.data, this.precTable), t.token.value > -1)
|
616 |
+
break;
|
617 |
+
if (this.elseToken == null)
|
618 |
+
return;
|
619 |
+
if (h || i++, r == null)
|
620 |
+
break;
|
621 |
+
t.reset(r, t.token);
|
622 |
+
}
|
623 |
+
i && (t.reset(s, t.token), t.acceptToken(this.elseToken, i));
|
624 |
+
}
|
625 |
+
}
|
626 |
+
H.prototype.contextual = m.prototype.fallback = m.prototype.extend = !1;
|
627 |
+
class Y {
|
628 |
+
/**
|
629 |
+
Create a tokenizer. The first argument is the function that,
|
630 |
+
given an input stream, scans for the types of tokens it
|
631 |
+
recognizes at the stream's position, and calls
|
632 |
+
[`acceptToken`](#lr.InputStream.acceptToken) when it finds
|
633 |
+
one.
|
634 |
+
*/
|
635 |
+
constructor(t, e = {}) {
|
636 |
+
this.token = t, this.contextual = !!e.contextual, this.fallback = !!e.fallback, this.extend = !!e.extend;
|
637 |
+
}
|
638 |
+
}
|
639 |
+
function F(l, t, e, s, i, h) {
|
640 |
+
let r = 0, n = 1 << s, { dialect: o } = e.p.parser;
|
641 |
+
t: for (; n & l[r]; ) {
|
642 |
+
let a = l[r + 1];
|
643 |
+
for (let c = r + 3; c < a; c += 2)
|
644 |
+
if ((l[c + 1] & n) > 0) {
|
645 |
+
let d = l[c];
|
646 |
+
if (o.allows(d) && (t.token.value == -1 || t.token.value == d || W(d, t.token.value, i, h))) {
|
647 |
+
t.acceptToken(d);
|
648 |
+
break;
|
649 |
+
}
|
650 |
+
}
|
651 |
+
let u = t.next, f = 0, p = l[r + 2];
|
652 |
+
if (t.next < 0 && p > f && l[a + p * 3 - 3] == 65535) {
|
653 |
+
r = l[a + p * 3 - 1];
|
654 |
+
continue t;
|
655 |
+
}
|
656 |
+
for (; f < p; ) {
|
657 |
+
let c = f + p >> 1, d = a + c + (c << 1), b = l[d], O = l[d + 1] || 65536;
|
658 |
+
if (u < b)
|
659 |
+
p = c;
|
660 |
+
else if (u >= O)
|
661 |
+
f = c + 1;
|
662 |
+
else {
|
663 |
+
r = l[d + 2], t.advance();
|
664 |
+
continue t;
|
665 |
+
}
|
666 |
+
}
|
667 |
+
break;
|
668 |
+
}
|
669 |
+
}
|
670 |
+
function z(l, t, e) {
|
671 |
+
for (let s = t, i; (i = l[s]) != 65535; s++)
|
672 |
+
if (i == e)
|
673 |
+
return s - t;
|
674 |
+
return -1;
|
675 |
+
}
|
676 |
+
function W(l, t, e, s) {
|
677 |
+
let i = z(e, s, t);
|
678 |
+
return i < 0 || z(e, s, l) < i;
|
679 |
+
}
|
680 |
+
const g = typeof process < "u" && process.env && /\bparse\b/.test(process.env.LOG);
|
681 |
+
let T = null;
|
682 |
+
function I(l, t, e) {
|
683 |
+
let s = l.cursor(j.IncludeAnonymous);
|
684 |
+
for (s.moveTo(t); ; )
|
685 |
+
if (!(e < 0 ? s.childBefore(t) : s.childAfter(t)))
|
686 |
+
for (; ; ) {
|
687 |
+
if ((e < 0 ? s.to < t : s.from > t) && !s.type.isError)
|
688 |
+
return e < 0 ? Math.max(0, Math.min(
|
689 |
+
s.to - 1,
|
690 |
+
t - 25
|
691 |
+
/* Lookahead.Margin */
|
692 |
+
)) : Math.min(l.length, Math.max(
|
693 |
+
s.from + 1,
|
694 |
+
t + 25
|
695 |
+
/* Lookahead.Margin */
|
696 |
+
));
|
697 |
+
if (e < 0 ? s.prevSibling() : s.nextSibling())
|
698 |
+
break;
|
699 |
+
if (!s.parent())
|
700 |
+
return e < 0 ? 0 : l.length;
|
701 |
+
}
|
702 |
+
}
|
703 |
+
class J {
|
704 |
+
constructor(t, e) {
|
705 |
+
this.fragments = t, this.nodeSet = e, this.i = 0, this.fragment = null, this.safeFrom = -1, this.safeTo = -1, this.trees = [], this.start = [], this.index = [], this.nextFragment();
|
706 |
+
}
|
707 |
+
nextFragment() {
|
708 |
+
let t = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];
|
709 |
+
if (t) {
|
710 |
+
for (this.safeFrom = t.openStart ? I(t.tree, t.from + t.offset, 1) - t.offset : t.from, this.safeTo = t.openEnd ? I(t.tree, t.to + t.offset, -1) - t.offset : t.to; this.trees.length; )
|
711 |
+
this.trees.pop(), this.start.pop(), this.index.pop();
|
712 |
+
this.trees.push(t.tree), this.start.push(-t.offset), this.index.push(0), this.nextStart = this.safeFrom;
|
713 |
+
} else
|
714 |
+
this.nextStart = 1e9;
|
715 |
+
}
|
716 |
+
// `pos` must be >= any previously given `pos` for this cursor
|
717 |
+
nodeAt(t) {
|
718 |
+
if (t < this.nextStart)
|
719 |
+
return null;
|
720 |
+
for (; this.fragment && this.safeTo <= t; )
|
721 |
+
this.nextFragment();
|
722 |
+
if (!this.fragment)
|
723 |
+
return null;
|
724 |
+
for (; ; ) {
|
725 |
+
let e = this.trees.length - 1;
|
726 |
+
if (e < 0)
|
727 |
+
return this.nextFragment(), null;
|
728 |
+
let s = this.trees[e], i = this.index[e];
|
729 |
+
if (i == s.children.length) {
|
730 |
+
this.trees.pop(), this.start.pop(), this.index.pop();
|
731 |
+
continue;
|
732 |
+
}
|
733 |
+
let h = s.children[i], r = this.start[e] + s.positions[i];
|
734 |
+
if (r > t)
|
735 |
+
return this.nextStart = r, null;
|
736 |
+
if (h instanceof S) {
|
737 |
+
if (r == t) {
|
738 |
+
if (r < this.safeFrom)
|
739 |
+
return null;
|
740 |
+
let n = r + h.length;
|
741 |
+
if (n <= this.safeTo) {
|
742 |
+
let o = h.prop(y.lookAhead);
|
743 |
+
if (!o || n + o < this.fragment.to)
|
744 |
+
return h;
|
745 |
+
}
|
746 |
+
}
|
747 |
+
this.index[e]++, r + h.length >= Math.max(this.safeFrom, t) && (this.trees.push(h), this.start.push(r), this.index.push(0));
|
748 |
+
} else
|
749 |
+
this.index[e]++, this.nextStart = r + h.length;
|
750 |
+
}
|
751 |
+
}
|
752 |
+
}
|
753 |
+
class q {
|
754 |
+
constructor(t, e) {
|
755 |
+
this.stream = e, this.tokens = [], this.mainToken = null, this.actions = [], this.tokens = t.tokenizers.map((s) => new P());
|
756 |
+
}
|
757 |
+
getActions(t) {
|
758 |
+
let e = 0, s = null, { parser: i } = t.p, { tokenizers: h } = i, r = i.stateSlot(
|
759 |
+
t.state,
|
760 |
+
3
|
761 |
+
/* ParseState.TokenizerMask */
|
762 |
+
), n = t.curContext ? t.curContext.hash : 0, o = 0;
|
763 |
+
for (let a = 0; a < h.length; a++) {
|
764 |
+
if (!(1 << a & r))
|
765 |
+
continue;
|
766 |
+
let u = h[a], f = this.tokens[a];
|
767 |
+
if (!(s && !u.fallback) && ((u.contextual || f.start != t.pos || f.mask != r || f.context != n) && (this.updateCachedToken(f, u, t), f.mask = r, f.context = n), f.lookAhead > f.end + 25 && (o = Math.max(f.lookAhead, o)), f.value != 0)) {
|
768 |
+
let p = e;
|
769 |
+
if (f.extended > -1 && (e = this.addActions(t, f.extended, f.end, e)), e = this.addActions(t, f.value, f.end, e), !u.extend && (s = f, e > p))
|
770 |
+
break;
|
771 |
+
}
|
772 |
+
}
|
773 |
+
for (; this.actions.length > e; )
|
774 |
+
this.actions.pop();
|
775 |
+
return o && t.setLookAhead(o), !s && t.pos == this.stream.end && (s = new P(), s.value = t.p.parser.eofTerm, s.start = s.end = t.pos, e = this.addActions(t, s.value, s.end, e)), this.mainToken = s, this.actions;
|
776 |
+
}
|
777 |
+
getMainToken(t) {
|
778 |
+
if (this.mainToken)
|
779 |
+
return this.mainToken;
|
780 |
+
let e = new P(), { pos: s, p: i } = t;
|
781 |
+
return e.start = s, e.end = Math.min(s + 1, i.stream.end), e.value = s == i.stream.end ? i.parser.eofTerm : 0, e;
|
782 |
+
}
|
783 |
+
updateCachedToken(t, e, s) {
|
784 |
+
let i = this.stream.clipPos(s.pos);
|
785 |
+
if (e.token(this.stream.reset(i, t), s), t.value > -1) {
|
786 |
+
let { parser: h } = s.p;
|
787 |
+
for (let r = 0; r < h.specialized.length; r++)
|
788 |
+
if (h.specialized[r] == t.value) {
|
789 |
+
let n = h.specializers[r](this.stream.read(t.start, t.end), s);
|
790 |
+
if (n >= 0 && s.p.parser.dialect.allows(n >> 1)) {
|
791 |
+
n & 1 ? t.extended = n >> 1 : t.value = n >> 1;
|
792 |
+
break;
|
793 |
+
}
|
794 |
+
}
|
795 |
+
} else
|
796 |
+
t.value = 0, t.end = this.stream.clipPos(i + 1);
|
797 |
+
}
|
798 |
+
putAction(t, e, s, i) {
|
799 |
+
for (let h = 0; h < i; h += 3)
|
800 |
+
if (this.actions[h] == t)
|
801 |
+
return i;
|
802 |
+
return this.actions[i++] = t, this.actions[i++] = e, this.actions[i++] = s, i;
|
803 |
+
}
|
804 |
+
addActions(t, e, s, i) {
|
805 |
+
let { state: h } = t, { parser: r } = t.p, { data: n } = r;
|
806 |
+
for (let o = 0; o < 2; o++)
|
807 |
+
for (let a = r.stateSlot(
|
808 |
+
h,
|
809 |
+
o ? 2 : 1
|
810 |
+
/* ParseState.Actions */
|
811 |
+
); ; a += 3) {
|
812 |
+
if (n[a] == 65535)
|
813 |
+
if (n[a + 1] == 1)
|
814 |
+
a = k(n, a + 2);
|
815 |
+
else {
|
816 |
+
i == 0 && n[a + 1] == 2 && (i = this.putAction(k(n, a + 2), e, s, i));
|
817 |
+
break;
|
818 |
+
}
|
819 |
+
n[a] == e && (i = this.putAction(k(n, a + 1), e, s, i));
|
820 |
+
}
|
821 |
+
return i;
|
822 |
+
}
|
823 |
+
}
|
824 |
+
class K {
|
825 |
+
constructor(t, e, s, i) {
|
826 |
+
this.parser = t, this.input = e, this.ranges = i, this.recovering = 0, this.nextStackID = 9812, this.minStackPos = 0, this.reused = [], this.stoppedAt = null, this.lastBigReductionStart = -1, this.lastBigReductionSize = 0, this.bigReductionCount = 0, this.stream = new U(e, i), this.tokens = new q(t, this.stream), this.topTerm = t.top[1];
|
827 |
+
let { from: h } = i[0];
|
828 |
+
this.stacks = [v.start(this, t.top[0], h)], this.fragments = s.length && this.stream.end - h > t.bufferLength * 4 ? new J(s, t.nodeSet) : null;
|
829 |
+
}
|
830 |
+
get parsedPos() {
|
831 |
+
return this.minStackPos;
|
832 |
+
}
|
833 |
+
// Move the parser forward. This will process all parse stacks at
|
834 |
+
// `this.pos` and try to advance them to a further position. If no
|
835 |
+
// stack for such a position is found, it'll start error-recovery.
|
836 |
+
//
|
837 |
+
// When the parse is finished, this will return a syntax tree. When
|
838 |
+
// not, it returns `null`.
|
839 |
+
advance() {
|
840 |
+
let t = this.stacks, e = this.minStackPos, s = this.stacks = [], i, h;
|
841 |
+
if (this.bigReductionCount > 300 && t.length == 1) {
|
842 |
+
let [r] = t;
|
843 |
+
for (; r.forceReduce() && r.stack.length && r.stack[r.stack.length - 2] >= this.lastBigReductionStart; )
|
844 |
+
;
|
845 |
+
this.bigReductionCount = this.lastBigReductionSize = 0;
|
846 |
+
}
|
847 |
+
for (let r = 0; r < t.length; r++) {
|
848 |
+
let n = t[r];
|
849 |
+
for (; ; ) {
|
850 |
+
if (this.tokens.mainToken = null, n.pos > e)
|
851 |
+
s.push(n);
|
852 |
+
else {
|
853 |
+
if (this.advanceStack(n, s, t))
|
854 |
+
continue;
|
855 |
+
{
|
856 |
+
i || (i = [], h = []), i.push(n);
|
857 |
+
let o = this.tokens.getMainToken(n);
|
858 |
+
h.push(o.value, o.end);
|
859 |
+
}
|
860 |
+
}
|
861 |
+
break;
|
862 |
+
}
|
863 |
+
}
|
864 |
+
if (!s.length) {
|
865 |
+
let r = i && V(i);
|
866 |
+
if (r)
|
867 |
+
return g && console.log("Finish with " + this.stackID(r)), this.stackToTree(r);
|
868 |
+
if (this.parser.strict)
|
869 |
+
throw g && i && console.log("Stuck with token " + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : "none")), new SyntaxError("No parse at " + e);
|
870 |
+
this.recovering || (this.recovering = 5);
|
871 |
+
}
|
872 |
+
if (this.recovering && i) {
|
873 |
+
let r = this.stoppedAt != null && i[0].pos > this.stoppedAt ? i[0] : this.runRecovery(i, h, s);
|
874 |
+
if (r)
|
875 |
+
return g && console.log("Force-finish " + this.stackID(r)), this.stackToTree(r.forceAll());
|
876 |
+
}
|
877 |
+
if (this.recovering) {
|
878 |
+
let r = this.recovering == 1 ? 1 : this.recovering * 3;
|
879 |
+
if (s.length > r)
|
880 |
+
for (s.sort((n, o) => o.score - n.score); s.length > r; )
|
881 |
+
s.pop();
|
882 |
+
s.some((n) => n.reducePos > e) && this.recovering--;
|
883 |
+
} else if (s.length > 1) {
|
884 |
+
t: for (let r = 0; r < s.length - 1; r++) {
|
885 |
+
let n = s[r];
|
886 |
+
for (let o = r + 1; o < s.length; o++) {
|
887 |
+
let a = s[o];
|
888 |
+
if (n.sameState(a) || n.buffer.length > 500 && a.buffer.length > 500)
|
889 |
+
if ((n.score - a.score || n.buffer.length - a.buffer.length) > 0)
|
890 |
+
s.splice(o--, 1);
|
891 |
+
else {
|
892 |
+
s.splice(r--, 1);
|
893 |
+
continue t;
|
894 |
+
}
|
895 |
+
}
|
896 |
+
}
|
897 |
+
s.length > 12 && s.splice(
|
898 |
+
12,
|
899 |
+
s.length - 12
|
900 |
+
/* Rec.MaxStackCount */
|
901 |
+
);
|
902 |
+
}
|
903 |
+
this.minStackPos = s[0].pos;
|
904 |
+
for (let r = 1; r < s.length; r++)
|
905 |
+
s[r].pos < this.minStackPos && (this.minStackPos = s[r].pos);
|
906 |
+
return null;
|
907 |
+
}
|
908 |
+
stopAt(t) {
|
909 |
+
if (this.stoppedAt != null && this.stoppedAt < t)
|
910 |
+
throw new RangeError("Can't move stoppedAt forward");
|
911 |
+
this.stoppedAt = t;
|
912 |
+
}
|
913 |
+
// Returns an updated version of the given stack, or null if the
|
914 |
+
// stack can't advance normally. When `split` and `stacks` are
|
915 |
+
// given, stacks split off by ambiguous operations will be pushed to
|
916 |
+
// `split`, or added to `stacks` if they move `pos` forward.
|
917 |
+
advanceStack(t, e, s) {
|
918 |
+
let i = t.pos, { parser: h } = this, r = g ? this.stackID(t) + " -> " : "";
|
919 |
+
if (this.stoppedAt != null && i > this.stoppedAt)
|
920 |
+
return t.forceReduce() ? t : null;
|
921 |
+
if (this.fragments) {
|
922 |
+
let a = t.curContext && t.curContext.tracker.strict, u = a ? t.curContext.hash : 0;
|
923 |
+
for (let f = this.fragments.nodeAt(i); f; ) {
|
924 |
+
let p = this.parser.nodeSet.types[f.type.id] == f.type ? h.getGoto(t.state, f.type.id) : -1;
|
925 |
+
if (p > -1 && f.length && (!a || (f.prop(y.contextHash) || 0) == u))
|
926 |
+
return t.useNode(f, p), g && console.log(r + this.stackID(t) + ` (via reuse of ${h.getName(f.type.id)})`), !0;
|
927 |
+
if (!(f instanceof S) || f.children.length == 0 || f.positions[0] > 0)
|
928 |
+
break;
|
929 |
+
let c = f.children[0];
|
930 |
+
if (c instanceof S && f.positions[0] == 0)
|
931 |
+
f = c;
|
932 |
+
else
|
933 |
+
break;
|
934 |
+
}
|
935 |
+
}
|
936 |
+
let n = h.stateSlot(
|
937 |
+
t.state,
|
938 |
+
4
|
939 |
+
/* ParseState.DefaultReduce */
|
940 |
+
);
|
941 |
+
if (n > 0)
|
942 |
+
return t.reduce(n), g && console.log(r + this.stackID(t) + ` (via always-reduce ${h.getName(
|
943 |
+
n & 65535
|
944 |
+
/* Action.ValueMask */
|
945 |
+
)})`), !0;
|
946 |
+
if (t.stack.length >= 8400)
|
947 |
+
for (; t.stack.length > 6e3 && t.forceReduce(); )
|
948 |
+
;
|
949 |
+
let o = this.tokens.getActions(t);
|
950 |
+
for (let a = 0; a < o.length; ) {
|
951 |
+
let u = o[a++], f = o[a++], p = o[a++], c = a == o.length || !s, d = c ? t : t.split(), b = this.tokens.mainToken;
|
952 |
+
if (d.apply(u, f, b ? b.start : d.pos, p), g && console.log(r + this.stackID(d) + ` (via ${u & 65536 ? `reduce of ${h.getName(
|
953 |
+
u & 65535
|
954 |
+
/* Action.ValueMask */
|
955 |
+
)}` : "shift"} for ${h.getName(f)} @ ${i}${d == t ? "" : ", split"})`), c)
|
956 |
+
return !0;
|
957 |
+
d.pos > i ? e.push(d) : s.push(d);
|
958 |
+
}
|
959 |
+
return !1;
|
960 |
+
}
|
961 |
+
// Advance a given stack forward as far as it will go. Returns the
|
962 |
+
// (possibly updated) stack if it got stuck, or null if it moved
|
963 |
+
// forward and was given to `pushStackDedup`.
|
964 |
+
advanceFully(t, e) {
|
965 |
+
let s = t.pos;
|
966 |
+
for (; ; ) {
|
967 |
+
if (!this.advanceStack(t, null, null))
|
968 |
+
return !1;
|
969 |
+
if (t.pos > s)
|
970 |
+
return D(t, e), !0;
|
971 |
+
}
|
972 |
+
}
|
973 |
+
runRecovery(t, e, s) {
|
974 |
+
let i = null, h = !1;
|
975 |
+
for (let r = 0; r < t.length; r++) {
|
976 |
+
let n = t[r], o = e[r << 1], a = e[(r << 1) + 1], u = g ? this.stackID(n) + " -> " : "";
|
977 |
+
if (n.deadEnd && (h || (h = !0, n.restart(), g && console.log(u + this.stackID(n) + " (restarted)"), this.advanceFully(n, s))))
|
978 |
+
continue;
|
979 |
+
let f = n.split(), p = u;
|
980 |
+
for (let c = 0; f.forceReduce() && c < 10 && (g && console.log(p + this.stackID(f) + " (via force-reduce)"), !this.advanceFully(f, s)); c++)
|
981 |
+
g && (p = this.stackID(f) + " -> ");
|
982 |
+
for (let c of n.recoverByInsert(o))
|
983 |
+
g && console.log(u + this.stackID(c) + " (via recover-insert)"), this.advanceFully(c, s);
|
984 |
+
this.stream.end > n.pos ? (a == n.pos && (a++, o = 0), n.recoverByDelete(o, a), g && console.log(u + this.stackID(n) + ` (via recover-delete ${this.parser.getName(o)})`), D(n, s)) : (!i || i.score < n.score) && (i = n);
|
985 |
+
}
|
986 |
+
return i;
|
987 |
+
}
|
988 |
+
// Convert the stack's buffer to a syntax tree.
|
989 |
+
stackToTree(t) {
|
990 |
+
return t.close(), S.build({
|
991 |
+
buffer: A.create(t),
|
992 |
+
nodeSet: this.parser.nodeSet,
|
993 |
+
topID: this.topTerm,
|
994 |
+
maxBufferLength: this.parser.bufferLength,
|
995 |
+
reused: this.reused,
|
996 |
+
start: this.ranges[0].from,
|
997 |
+
length: t.pos - this.ranges[0].from,
|
998 |
+
minRepeatType: this.parser.minRepeatTerm
|
999 |
+
});
|
1000 |
+
}
|
1001 |
+
stackID(t) {
|
1002 |
+
let e = (T || (T = /* @__PURE__ */ new WeakMap())).get(t);
|
1003 |
+
return e || T.set(t, e = String.fromCodePoint(this.nextStackID++)), e + t;
|
1004 |
+
}
|
1005 |
+
}
|
1006 |
+
function D(l, t) {
|
1007 |
+
for (let e = 0; e < t.length; e++) {
|
1008 |
+
let s = t[e];
|
1009 |
+
if (s.pos == l.pos && s.sameState(l)) {
|
1010 |
+
t[e].score < l.score && (t[e] = l);
|
1011 |
+
return;
|
1012 |
+
}
|
1013 |
+
}
|
1014 |
+
t.push(l);
|
1015 |
+
}
|
1016 |
+
class Q {
|
1017 |
+
constructor(t, e, s) {
|
1018 |
+
this.source = t, this.flags = e, this.disabled = s;
|
1019 |
+
}
|
1020 |
+
allows(t) {
|
1021 |
+
return !this.disabled || this.disabled[t] == 0;
|
1022 |
+
}
|
1023 |
+
}
|
1024 |
+
const C = (l) => l;
|
1025 |
+
class Z {
|
1026 |
+
/**
|
1027 |
+
Define a context tracker.
|
1028 |
+
*/
|
1029 |
+
constructor(t) {
|
1030 |
+
this.start = t.start, this.shift = t.shift || C, this.reduce = t.reduce || C, this.reuse = t.reuse || C, this.hash = t.hash || (() => 0), this.strict = t.strict !== !1;
|
1031 |
+
}
|
1032 |
+
}
|
1033 |
+
class w extends L {
|
1034 |
+
/**
|
1035 |
+
@internal
|
1036 |
+
*/
|
1037 |
+
constructor(t) {
|
1038 |
+
if (super(), this.wrappers = [], t.version != 14)
|
1039 |
+
throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);
|
1040 |
+
let e = t.nodeNames.split(" ");
|
1041 |
+
this.minRepeatTerm = e.length;
|
1042 |
+
for (let n = 0; n < t.repeatNodeCount; n++)
|
1043 |
+
e.push("");
|
1044 |
+
let s = Object.keys(t.topRules).map((n) => t.topRules[n][1]), i = [];
|
1045 |
+
for (let n = 0; n < e.length; n++)
|
1046 |
+
i.push([]);
|
1047 |
+
function h(n, o, a) {
|
1048 |
+
i[n].push([o, o.deserialize(String(a))]);
|
1049 |
+
}
|
1050 |
+
if (t.nodeProps)
|
1051 |
+
for (let n of t.nodeProps) {
|
1052 |
+
let o = n[0];
|
1053 |
+
typeof o == "string" && (o = y[o]);
|
1054 |
+
for (let a = 1; a < n.length; ) {
|
1055 |
+
let u = n[a++];
|
1056 |
+
if (u >= 0)
|
1057 |
+
h(u, o, n[a++]);
|
1058 |
+
else {
|
1059 |
+
let f = n[a + -u];
|
1060 |
+
for (let p = -u; p > 0; p--)
|
1061 |
+
h(n[a++], o, f);
|
1062 |
+
a++;
|
1063 |
+
}
|
1064 |
+
}
|
1065 |
+
}
|
1066 |
+
this.nodeSet = new M(e.map((n, o) => $.define({
|
1067 |
+
name: o >= this.minRepeatTerm ? void 0 : n,
|
1068 |
+
id: o,
|
1069 |
+
props: i[o],
|
1070 |
+
top: s.indexOf(o) > -1,
|
1071 |
+
error: o == 0,
|
1072 |
+
skipped: t.skippedNodes && t.skippedNodes.indexOf(o) > -1
|
1073 |
+
}))), t.propSources && (this.nodeSet = this.nodeSet.extend(...t.propSources)), this.strict = !1, this.bufferLength = E;
|
1074 |
+
let r = x(t.tokenData);
|
1075 |
+
this.context = t.context, this.specializerSpecs = t.specialized || [], this.specialized = new Uint16Array(this.specializerSpecs.length);
|
1076 |
+
for (let n = 0; n < this.specializerSpecs.length; n++)
|
1077 |
+
this.specialized[n] = this.specializerSpecs[n].term;
|
1078 |
+
this.specializers = this.specializerSpecs.map(B), this.states = x(t.states, Uint32Array), this.data = x(t.stateData), this.goto = x(t.goto), this.maxTerm = t.maxTerm, this.tokenizers = t.tokenizers.map((n) => typeof n == "number" ? new m(r, n) : n), this.topRules = t.topRules, this.dialects = t.dialects || {}, this.dynamicPrecedences = t.dynamicPrecedences || null, this.tokenPrecTable = t.tokenPrec, this.termNames = t.termNames || null, this.maxNode = this.nodeSet.types.length - 1, this.dialect = this.parseDialect(), this.top = this.topRules[Object.keys(this.topRules)[0]];
|
1079 |
+
}
|
1080 |
+
createParse(t, e, s) {
|
1081 |
+
let i = new K(this, t, e, s);
|
1082 |
+
for (let h of this.wrappers)
|
1083 |
+
i = h(i, t, e, s);
|
1084 |
+
return i;
|
1085 |
+
}
|
1086 |
+
/**
|
1087 |
+
Get a goto table entry @internal
|
1088 |
+
*/
|
1089 |
+
getGoto(t, e, s = !1) {
|
1090 |
+
let i = this.goto;
|
1091 |
+
if (e >= i[0])
|
1092 |
+
return -1;
|
1093 |
+
for (let h = i[e + 1]; ; ) {
|
1094 |
+
let r = i[h++], n = r & 1, o = i[h++];
|
1095 |
+
if (n && s)
|
1096 |
+
return o;
|
1097 |
+
for (let a = h + (r >> 1); h < a; h++)
|
1098 |
+
if (i[h] == t)
|
1099 |
+
return o;
|
1100 |
+
if (n)
|
1101 |
+
return -1;
|
1102 |
+
}
|
1103 |
+
}
|
1104 |
+
/**
|
1105 |
+
Check if this state has an action for a given terminal @internal
|
1106 |
+
*/
|
1107 |
+
hasAction(t, e) {
|
1108 |
+
let s = this.data;
|
1109 |
+
for (let i = 0; i < 2; i++)
|
1110 |
+
for (let h = this.stateSlot(
|
1111 |
+
t,
|
1112 |
+
i ? 2 : 1
|
1113 |
+
/* ParseState.Actions */
|
1114 |
+
), r; ; h += 3) {
|
1115 |
+
if ((r = s[h]) == 65535)
|
1116 |
+
if (s[h + 1] == 1)
|
1117 |
+
r = s[h = k(s, h + 2)];
|
1118 |
+
else {
|
1119 |
+
if (s[h + 1] == 2)
|
1120 |
+
return k(s, h + 2);
|
1121 |
+
break;
|
1122 |
+
}
|
1123 |
+
if (r == e || r == 0)
|
1124 |
+
return k(s, h + 1);
|
1125 |
+
}
|
1126 |
+
return 0;
|
1127 |
+
}
|
1128 |
+
/**
|
1129 |
+
@internal
|
1130 |
+
*/
|
1131 |
+
stateSlot(t, e) {
|
1132 |
+
return this.states[t * 6 + e];
|
1133 |
+
}
|
1134 |
+
/**
|
1135 |
+
@internal
|
1136 |
+
*/
|
1137 |
+
stateFlag(t, e) {
|
1138 |
+
return (this.stateSlot(
|
1139 |
+
t,
|
1140 |
+
0
|
1141 |
+
/* ParseState.Flags */
|
1142 |
+
) & e) > 0;
|
1143 |
+
}
|
1144 |
+
/**
|
1145 |
+
@internal
|
1146 |
+
*/
|
1147 |
+
validAction(t, e) {
|
1148 |
+
return !!this.allActions(t, (s) => s == e ? !0 : null);
|
1149 |
+
}
|
1150 |
+
/**
|
1151 |
+
@internal
|
1152 |
+
*/
|
1153 |
+
allActions(t, e) {
|
1154 |
+
let s = this.stateSlot(
|
1155 |
+
t,
|
1156 |
+
4
|
1157 |
+
/* ParseState.DefaultReduce */
|
1158 |
+
), i = s ? e(s) : void 0;
|
1159 |
+
for (let h = this.stateSlot(
|
1160 |
+
t,
|
1161 |
+
1
|
1162 |
+
/* ParseState.Actions */
|
1163 |
+
); i == null; h += 3) {
|
1164 |
+
if (this.data[h] == 65535)
|
1165 |
+
if (this.data[h + 1] == 1)
|
1166 |
+
h = k(this.data, h + 2);
|
1167 |
+
else
|
1168 |
+
break;
|
1169 |
+
i = e(k(this.data, h + 1));
|
1170 |
+
}
|
1171 |
+
return i;
|
1172 |
+
}
|
1173 |
+
/**
|
1174 |
+
Get the states that can follow this one through shift actions or
|
1175 |
+
goto jumps. @internal
|
1176 |
+
*/
|
1177 |
+
nextStates(t) {
|
1178 |
+
let e = [];
|
1179 |
+
for (let s = this.stateSlot(
|
1180 |
+
t,
|
1181 |
+
1
|
1182 |
+
/* ParseState.Actions */
|
1183 |
+
); ; s += 3) {
|
1184 |
+
if (this.data[s] == 65535)
|
1185 |
+
if (this.data[s + 1] == 1)
|
1186 |
+
s = k(this.data, s + 2);
|
1187 |
+
else
|
1188 |
+
break;
|
1189 |
+
if (!(this.data[s + 2] & 1)) {
|
1190 |
+
let i = this.data[s + 1];
|
1191 |
+
e.some((h, r) => r & 1 && h == i) || e.push(this.data[s], i);
|
1192 |
+
}
|
1193 |
+
}
|
1194 |
+
return e;
|
1195 |
+
}
|
1196 |
+
/**
|
1197 |
+
Configure the parser. Returns a new parser instance that has the
|
1198 |
+
given settings modified. Settings not provided in `config` are
|
1199 |
+
kept from the original parser.
|
1200 |
+
*/
|
1201 |
+
configure(t) {
|
1202 |
+
let e = Object.assign(Object.create(w.prototype), this);
|
1203 |
+
if (t.props && (e.nodeSet = this.nodeSet.extend(...t.props)), t.top) {
|
1204 |
+
let s = this.topRules[t.top];
|
1205 |
+
if (!s)
|
1206 |
+
throw new RangeError(`Invalid top rule name ${t.top}`);
|
1207 |
+
e.top = s;
|
1208 |
+
}
|
1209 |
+
return t.tokenizers && (e.tokenizers = this.tokenizers.map((s) => {
|
1210 |
+
let i = t.tokenizers.find((h) => h.from == s);
|
1211 |
+
return i ? i.to : s;
|
1212 |
+
})), t.specializers && (e.specializers = this.specializers.slice(), e.specializerSpecs = this.specializerSpecs.map((s, i) => {
|
1213 |
+
let h = t.specializers.find((n) => n.from == s.external);
|
1214 |
+
if (!h)
|
1215 |
+
return s;
|
1216 |
+
let r = Object.assign(Object.assign({}, s), { external: h.to });
|
1217 |
+
return e.specializers[i] = B(r), r;
|
1218 |
+
})), t.contextTracker && (e.context = t.contextTracker), t.dialect && (e.dialect = this.parseDialect(t.dialect)), t.strict != null && (e.strict = t.strict), t.wrap && (e.wrappers = e.wrappers.concat(t.wrap)), t.bufferLength != null && (e.bufferLength = t.bufferLength), e;
|
1219 |
+
}
|
1220 |
+
/**
|
1221 |
+
Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)
|
1222 |
+
are registered for this parser.
|
1223 |
+
*/
|
1224 |
+
hasWrappers() {
|
1225 |
+
return this.wrappers.length > 0;
|
1226 |
+
}
|
1227 |
+
/**
|
1228 |
+
Returns the name associated with a given term. This will only
|
1229 |
+
work for all terms when the parser was generated with the
|
1230 |
+
`--names` option. By default, only the names of tagged terms are
|
1231 |
+
stored.
|
1232 |
+
*/
|
1233 |
+
getName(t) {
|
1234 |
+
return this.termNames ? this.termNames[t] : String(t <= this.maxNode && this.nodeSet.types[t].name || t);
|
1235 |
+
}
|
1236 |
+
/**
|
1237 |
+
The eof term id is always allocated directly after the node
|
1238 |
+
types. @internal
|
1239 |
+
*/
|
1240 |
+
get eofTerm() {
|
1241 |
+
return this.maxNode + 1;
|
1242 |
+
}
|
1243 |
+
/**
|
1244 |
+
The type of top node produced by the parser.
|
1245 |
+
*/
|
1246 |
+
get topNode() {
|
1247 |
+
return this.nodeSet.types[this.top[1]];
|
1248 |
+
}
|
1249 |
+
/**
|
1250 |
+
@internal
|
1251 |
+
*/
|
1252 |
+
dynamicPrecedence(t) {
|
1253 |
+
let e = this.dynamicPrecedences;
|
1254 |
+
return e == null ? 0 : e[t] || 0;
|
1255 |
+
}
|
1256 |
+
/**
|
1257 |
+
@internal
|
1258 |
+
*/
|
1259 |
+
parseDialect(t) {
|
1260 |
+
let e = Object.keys(this.dialects), s = e.map(() => !1);
|
1261 |
+
if (t)
|
1262 |
+
for (let h of t.split(" ")) {
|
1263 |
+
let r = e.indexOf(h);
|
1264 |
+
r >= 0 && (s[r] = !0);
|
1265 |
+
}
|
1266 |
+
let i = null;
|
1267 |
+
for (let h = 0; h < e.length; h++)
|
1268 |
+
if (!s[h])
|
1269 |
+
for (let r = this.dialects[e[h]], n; (n = this.data[r++]) != 65535; )
|
1270 |
+
(i || (i = new Uint8Array(this.maxTerm + 1)))[n] = 1;
|
1271 |
+
return new Q(t, s, i);
|
1272 |
+
}
|
1273 |
+
/**
|
1274 |
+
Used by the output of the parser generator. Not available to
|
1275 |
+
user code. @hide
|
1276 |
+
*/
|
1277 |
+
static deserialize(t) {
|
1278 |
+
return new w(t);
|
1279 |
+
}
|
1280 |
+
}
|
1281 |
+
function k(l, t) {
|
1282 |
+
return l[t] | l[t + 1] << 16;
|
1283 |
+
}
|
1284 |
+
function V(l) {
|
1285 |
+
let t = null;
|
1286 |
+
for (let e of l) {
|
1287 |
+
let s = e.p.stoppedAt;
|
1288 |
+
(e.pos == e.p.stream.end || s != null && e.pos > s) && e.p.parser.stateFlag(
|
1289 |
+
e.state,
|
1290 |
+
2
|
1291 |
+
/* StateFlag.Accepting */
|
1292 |
+
) && (!t || t.score < e.score) && (t = e);
|
1293 |
+
}
|
1294 |
+
return t;
|
1295 |
+
}
|
1296 |
+
function B(l) {
|
1297 |
+
if (l.external) {
|
1298 |
+
let t = l.extend ? 1 : 0;
|
1299 |
+
return (e, s) => l.external(e, s) << 1 | t;
|
1300 |
+
}
|
1301 |
+
return l.get;
|
1302 |
+
}
|
1303 |
+
export {
|
1304 |
+
Z as C,
|
1305 |
+
Y as E,
|
1306 |
+
w as L,
|
1307 |
+
H as a
|
1308 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-DRYwRkrj.js
ADDED
@@ -0,0 +1,1772 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { j as _, k as v, s as xe, t as c, l as Ae, P as nt, T as st, m as E, p as it, a as q, E as P, n as T, e as ae, o as ot, q as at, C as lt, r as ht, u as ft, v as ut, w as dt, f as Be, b as pt, x as ct, y as mt, z as le, A as gt } from "./Index-COMtKkwP.js";
|
2 |
+
import { htmlCompletionSource as kt, html as Lt } from "./index-B_0nvriU.js";
|
3 |
+
class j {
|
4 |
+
static create(e, r, n, s, i) {
|
5 |
+
let o = s + (s << 8) + e + (r << 4) | 0;
|
6 |
+
return new j(e, r, n, o, i, [], []);
|
7 |
+
}
|
8 |
+
constructor(e, r, n, s, i, o, a) {
|
9 |
+
this.type = e, this.value = r, this.from = n, this.hash = s, this.end = i, this.children = o, this.positions = a, this.hashProp = [[v.contextHash, s]];
|
10 |
+
}
|
11 |
+
addChild(e, r) {
|
12 |
+
e.prop(v.contextHash) != this.hash && (e = new E(e.type, e.children, e.positions, e.length, this.hashProp)), this.children.push(e), this.positions.push(r);
|
13 |
+
}
|
14 |
+
toTree(e, r = this.end) {
|
15 |
+
let n = this.children.length - 1;
|
16 |
+
return n >= 0 && (r = Math.max(r, this.positions[n] + this.children[n].length + this.from)), new E(e.types[this.type], this.children, this.positions, r - this.from).balance({
|
17 |
+
makeTree: (s, i, o) => new E(_.none, s, i, o, this.hashProp)
|
18 |
+
});
|
19 |
+
}
|
20 |
+
}
|
21 |
+
var u;
|
22 |
+
(function(t) {
|
23 |
+
t[t.Document = 1] = "Document", t[t.CodeBlock = 2] = "CodeBlock", t[t.FencedCode = 3] = "FencedCode", t[t.Blockquote = 4] = "Blockquote", t[t.HorizontalRule = 5] = "HorizontalRule", t[t.BulletList = 6] = "BulletList", t[t.OrderedList = 7] = "OrderedList", t[t.ListItem = 8] = "ListItem", t[t.ATXHeading1 = 9] = "ATXHeading1", t[t.ATXHeading2 = 10] = "ATXHeading2", t[t.ATXHeading3 = 11] = "ATXHeading3", t[t.ATXHeading4 = 12] = "ATXHeading4", t[t.ATXHeading5 = 13] = "ATXHeading5", t[t.ATXHeading6 = 14] = "ATXHeading6", t[t.SetextHeading1 = 15] = "SetextHeading1", t[t.SetextHeading2 = 16] = "SetextHeading2", t[t.HTMLBlock = 17] = "HTMLBlock", t[t.LinkReference = 18] = "LinkReference", t[t.Paragraph = 19] = "Paragraph", t[t.CommentBlock = 20] = "CommentBlock", t[t.ProcessingInstructionBlock = 21] = "ProcessingInstructionBlock", t[t.Escape = 22] = "Escape", t[t.Entity = 23] = "Entity", t[t.HardBreak = 24] = "HardBreak", t[t.Emphasis = 25] = "Emphasis", t[t.StrongEmphasis = 26] = "StrongEmphasis", t[t.Link = 27] = "Link", t[t.Image = 28] = "Image", t[t.InlineCode = 29] = "InlineCode", t[t.HTMLTag = 30] = "HTMLTag", t[t.Comment = 31] = "Comment", t[t.ProcessingInstruction = 32] = "ProcessingInstruction", t[t.Autolink = 33] = "Autolink", t[t.HeaderMark = 34] = "HeaderMark", t[t.QuoteMark = 35] = "QuoteMark", t[t.ListMark = 36] = "ListMark", t[t.LinkMark = 37] = "LinkMark", t[t.EmphasisMark = 38] = "EmphasisMark", t[t.CodeMark = 39] = "CodeMark", t[t.CodeText = 40] = "CodeText", t[t.CodeInfo = 41] = "CodeInfo", t[t.LinkTitle = 42] = "LinkTitle", t[t.LinkLabel = 43] = "LinkLabel", t[t.URL = 44] = "URL";
|
24 |
+
})(u || (u = {}));
|
25 |
+
class bt {
|
26 |
+
/// @internal
|
27 |
+
constructor(e, r) {
|
28 |
+
this.start = e, this.content = r, this.marks = [], this.parsers = [];
|
29 |
+
}
|
30 |
+
}
|
31 |
+
class wt {
|
32 |
+
constructor() {
|
33 |
+
this.text = "", this.baseIndent = 0, this.basePos = 0, this.depth = 0, this.markers = [], this.pos = 0, this.indent = 0, this.next = -1;
|
34 |
+
}
|
35 |
+
/// @internal
|
36 |
+
forward() {
|
37 |
+
this.basePos > this.pos && this.forwardInner();
|
38 |
+
}
|
39 |
+
/// @internal
|
40 |
+
forwardInner() {
|
41 |
+
let e = this.skipSpace(this.basePos);
|
42 |
+
this.indent = this.countIndent(e, this.pos, this.indent), this.pos = e, this.next = e == this.text.length ? -1 : this.text.charCodeAt(e);
|
43 |
+
}
|
44 |
+
/// Skip whitespace after the given position, return the position of
|
45 |
+
/// the next non-space character or the end of the line if there's
|
46 |
+
/// only space after `from`.
|
47 |
+
skipSpace(e) {
|
48 |
+
return O(this.text, e);
|
49 |
+
}
|
50 |
+
/// @internal
|
51 |
+
reset(e) {
|
52 |
+
for (this.text = e, this.baseIndent = this.basePos = this.pos = this.indent = 0, this.forwardInner(), this.depth = 1; this.markers.length; )
|
53 |
+
this.markers.pop();
|
54 |
+
}
|
55 |
+
/// Move the line's base position forward to the given position.
|
56 |
+
/// This should only be called by composite [block
|
57 |
+
/// parsers](#BlockParser.parse) or [markup skipping
|
58 |
+
/// functions](#NodeSpec.composite).
|
59 |
+
moveBase(e) {
|
60 |
+
this.basePos = e, this.baseIndent = this.countIndent(e, this.pos, this.indent);
|
61 |
+
}
|
62 |
+
/// Move the line's base position forward to the given _column_.
|
63 |
+
moveBaseColumn(e) {
|
64 |
+
this.baseIndent = e, this.basePos = this.findColumn(e);
|
65 |
+
}
|
66 |
+
/// Store a composite-block-level marker. Should be called from
|
67 |
+
/// [markup skipping functions](#NodeSpec.composite) when they
|
68 |
+
/// consume any non-whitespace characters.
|
69 |
+
addMarker(e) {
|
70 |
+
this.markers.push(e);
|
71 |
+
}
|
72 |
+
/// Find the column position at `to`, optionally starting at a given
|
73 |
+
/// position and column.
|
74 |
+
countIndent(e, r = 0, n = 0) {
|
75 |
+
for (let s = r; s < e; s++)
|
76 |
+
n += this.text.charCodeAt(s) == 9 ? 4 - n % 4 : 1;
|
77 |
+
return n;
|
78 |
+
}
|
79 |
+
/// Find the position corresponding to the given column.
|
80 |
+
findColumn(e) {
|
81 |
+
let r = 0;
|
82 |
+
for (let n = 0; r < this.text.length && n < e; r++)
|
83 |
+
n += this.text.charCodeAt(r) == 9 ? 4 - n % 4 : 1;
|
84 |
+
return r;
|
85 |
+
}
|
86 |
+
/// @internal
|
87 |
+
scrub() {
|
88 |
+
if (!this.baseIndent)
|
89 |
+
return this.text;
|
90 |
+
let e = "";
|
91 |
+
for (let r = 0; r < this.basePos; r++)
|
92 |
+
e += " ";
|
93 |
+
return e + this.text.slice(this.basePos);
|
94 |
+
}
|
95 |
+
}
|
96 |
+
function he(t, e, r) {
|
97 |
+
if (r.pos == r.text.length || t != e.block && r.indent >= e.stack[r.depth + 1].value + r.baseIndent)
|
98 |
+
return !0;
|
99 |
+
if (r.indent >= r.baseIndent + 4)
|
100 |
+
return !1;
|
101 |
+
let n = (t.type == u.OrderedList ? se : ne)(r, e, !1);
|
102 |
+
return n > 0 && (t.type != u.BulletList || re(r, e, !1) < 0) && r.text.charCodeAt(r.pos + n - 1) == t.value;
|
103 |
+
}
|
104 |
+
const Ie = {
|
105 |
+
[u.Blockquote](t, e, r) {
|
106 |
+
return r.next != 62 ? !1 : (r.markers.push(g(u.QuoteMark, e.lineStart + r.pos, e.lineStart + r.pos + 1)), r.moveBase(r.pos + (x(r.text.charCodeAt(r.pos + 1)) ? 2 : 1)), t.end = e.lineStart + r.text.length, !0);
|
107 |
+
},
|
108 |
+
[u.ListItem](t, e, r) {
|
109 |
+
return r.indent < r.baseIndent + t.value && r.next > -1 ? !1 : (r.moveBaseColumn(r.baseIndent + t.value), !0);
|
110 |
+
},
|
111 |
+
[u.OrderedList]: he,
|
112 |
+
[u.BulletList]: he,
|
113 |
+
[u.Document]() {
|
114 |
+
return !0;
|
115 |
+
}
|
116 |
+
};
|
117 |
+
function x(t) {
|
118 |
+
return t == 32 || t == 9 || t == 10 || t == 13;
|
119 |
+
}
|
120 |
+
function O(t, e = 0) {
|
121 |
+
for (; e < t.length && x(t.charCodeAt(e)); )
|
122 |
+
e++;
|
123 |
+
return e;
|
124 |
+
}
|
125 |
+
function fe(t, e, r) {
|
126 |
+
for (; e > r && x(t.charCodeAt(e - 1)); )
|
127 |
+
e--;
|
128 |
+
return e;
|
129 |
+
}
|
130 |
+
function Ee(t) {
|
131 |
+
if (t.next != 96 && t.next != 126)
|
132 |
+
return -1;
|
133 |
+
let e = t.pos + 1;
|
134 |
+
for (; e < t.text.length && t.text.charCodeAt(e) == t.next; )
|
135 |
+
e++;
|
136 |
+
if (e < t.pos + 3)
|
137 |
+
return -1;
|
138 |
+
if (t.next == 96) {
|
139 |
+
for (let r = e; r < t.text.length; r++)
|
140 |
+
if (t.text.charCodeAt(r) == 96)
|
141 |
+
return -1;
|
142 |
+
}
|
143 |
+
return e;
|
144 |
+
}
|
145 |
+
function Me(t) {
|
146 |
+
return t.next != 62 ? -1 : t.text.charCodeAt(t.pos + 1) == 32 ? 2 : 1;
|
147 |
+
}
|
148 |
+
function re(t, e, r) {
|
149 |
+
if (t.next != 42 && t.next != 45 && t.next != 95)
|
150 |
+
return -1;
|
151 |
+
let n = 1;
|
152 |
+
for (let s = t.pos + 1; s < t.text.length; s++) {
|
153 |
+
let i = t.text.charCodeAt(s);
|
154 |
+
if (i == t.next)
|
155 |
+
n++;
|
156 |
+
else if (!x(i))
|
157 |
+
return -1;
|
158 |
+
}
|
159 |
+
return r && t.next == 45 && ve(t) > -1 && t.depth == e.stack.length && e.parser.leafBlockParsers.indexOf(Re.SetextHeading) > -1 || n < 3 ? -1 : 1;
|
160 |
+
}
|
161 |
+
function He(t, e) {
|
162 |
+
for (let r = t.stack.length - 1; r >= 0; r--)
|
163 |
+
if (t.stack[r].type == e)
|
164 |
+
return !0;
|
165 |
+
return !1;
|
166 |
+
}
|
167 |
+
function ne(t, e, r) {
|
168 |
+
return (t.next == 45 || t.next == 43 || t.next == 42) && (t.pos == t.text.length - 1 || x(t.text.charCodeAt(t.pos + 1))) && (!r || He(e, u.BulletList) || t.skipSpace(t.pos + 2) < t.text.length) ? 1 : -1;
|
169 |
+
}
|
170 |
+
function se(t, e, r) {
|
171 |
+
let n = t.pos, s = t.next;
|
172 |
+
for (; s >= 48 && s <= 57; ) {
|
173 |
+
n++;
|
174 |
+
if (n == t.text.length)
|
175 |
+
return -1;
|
176 |
+
s = t.text.charCodeAt(n);
|
177 |
+
}
|
178 |
+
return n == t.pos || n > t.pos + 9 || s != 46 && s != 41 || n < t.text.length - 1 && !x(t.text.charCodeAt(n + 1)) || r && !He(e, u.OrderedList) && (t.skipSpace(n + 1) == t.text.length || n > t.pos + 1 || t.next != 49) ? -1 : n + 1 - t.pos;
|
179 |
+
}
|
180 |
+
function Pe(t) {
|
181 |
+
if (t.next != 35)
|
182 |
+
return -1;
|
183 |
+
let e = t.pos + 1;
|
184 |
+
for (; e < t.text.length && t.text.charCodeAt(e) == 35; )
|
185 |
+
e++;
|
186 |
+
if (e < t.text.length && t.text.charCodeAt(e) != 32)
|
187 |
+
return -1;
|
188 |
+
let r = e - t.pos;
|
189 |
+
return r > 6 ? -1 : r;
|
190 |
+
}
|
191 |
+
function ve(t) {
|
192 |
+
if (t.next != 45 && t.next != 61 || t.indent >= t.baseIndent + 4)
|
193 |
+
return -1;
|
194 |
+
let e = t.pos + 1;
|
195 |
+
for (; e < t.text.length && t.text.charCodeAt(e) == t.next; )
|
196 |
+
e++;
|
197 |
+
let r = e;
|
198 |
+
for (; e < t.text.length && x(t.text.charCodeAt(e)); )
|
199 |
+
e++;
|
200 |
+
return e == t.text.length ? r : -1;
|
201 |
+
}
|
202 |
+
const K = /^[ \t]*$/, Ne = /-->/, ye = /\?>/, J = [
|
203 |
+
[/^<(?:script|pre|style)(?:\s|>|$)/i, /<\/(?:script|pre|style)>/i],
|
204 |
+
[/^\s*<!--/, Ne],
|
205 |
+
[/^\s*<\?/, ye],
|
206 |
+
[/^\s*<![A-Z]/, />/],
|
207 |
+
[/^\s*<!\[CDATA\[/, /\]\]>/],
|
208 |
+
[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i, K],
|
209 |
+
[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i, K]
|
210 |
+
];
|
211 |
+
function Oe(t, e, r) {
|
212 |
+
if (t.next != 60)
|
213 |
+
return -1;
|
214 |
+
let n = t.text.slice(t.pos);
|
215 |
+
for (let s = 0, i = J.length - (r ? 1 : 0); s < i; s++)
|
216 |
+
if (J[s][0].test(n))
|
217 |
+
return s;
|
218 |
+
return -1;
|
219 |
+
}
|
220 |
+
function ue(t, e) {
|
221 |
+
let r = t.countIndent(e, t.pos, t.indent), n = t.countIndent(t.skipSpace(e), e, r);
|
222 |
+
return n >= r + 5 ? r + 1 : n;
|
223 |
+
}
|
224 |
+
function I(t, e, r) {
|
225 |
+
let n = t.length - 1;
|
226 |
+
n >= 0 && t[n].to == e && t[n].type == u.CodeText ? t[n].to = r : t.push(g(u.CodeText, e, r));
|
227 |
+
}
|
228 |
+
const F = {
|
229 |
+
LinkReference: void 0,
|
230 |
+
IndentedCode(t, e) {
|
231 |
+
let r = e.baseIndent + 4;
|
232 |
+
if (e.indent < r)
|
233 |
+
return !1;
|
234 |
+
let n = e.findColumn(r), s = t.lineStart + n, i = t.lineStart + e.text.length, o = [], a = [];
|
235 |
+
for (I(o, s, i); t.nextLine() && e.depth >= t.stack.length; )
|
236 |
+
if (e.pos == e.text.length) {
|
237 |
+
I(a, t.lineStart - 1, t.lineStart);
|
238 |
+
for (let l of e.markers)
|
239 |
+
a.push(l);
|
240 |
+
} else {
|
241 |
+
if (e.indent < r)
|
242 |
+
break;
|
243 |
+
{
|
244 |
+
if (a.length) {
|
245 |
+
for (let f of a)
|
246 |
+
f.type == u.CodeText ? I(o, f.from, f.to) : o.push(f);
|
247 |
+
a = [];
|
248 |
+
}
|
249 |
+
I(o, t.lineStart - 1, t.lineStart);
|
250 |
+
for (let f of e.markers)
|
251 |
+
o.push(f);
|
252 |
+
i = t.lineStart + e.text.length;
|
253 |
+
let l = t.lineStart + e.findColumn(e.baseIndent + 4);
|
254 |
+
l < i && I(o, l, i);
|
255 |
+
}
|
256 |
+
}
|
257 |
+
return a.length && (a = a.filter((l) => l.type != u.CodeText), a.length && (e.markers = a.concat(e.markers))), t.addNode(t.buffer.writeElements(o, -s).finish(u.CodeBlock, i - s), s), !0;
|
258 |
+
},
|
259 |
+
FencedCode(t, e) {
|
260 |
+
let r = Ee(e);
|
261 |
+
if (r < 0)
|
262 |
+
return !1;
|
263 |
+
let n = t.lineStart + e.pos, s = e.next, i = r - e.pos, o = e.skipSpace(r), a = fe(e.text, e.text.length, o), l = [g(u.CodeMark, n, n + i)];
|
264 |
+
o < a && l.push(g(u.CodeInfo, t.lineStart + o, t.lineStart + a));
|
265 |
+
for (let f = !0; t.nextLine() && e.depth >= t.stack.length; f = !1) {
|
266 |
+
let h = e.pos;
|
267 |
+
if (e.indent - e.baseIndent < 4)
|
268 |
+
for (; h < e.text.length && e.text.charCodeAt(h) == s; )
|
269 |
+
h++;
|
270 |
+
if (h - e.pos >= i && e.skipSpace(h) == e.text.length) {
|
271 |
+
for (let p of e.markers)
|
272 |
+
l.push(p);
|
273 |
+
l.push(g(u.CodeMark, t.lineStart + e.pos, t.lineStart + h)), t.nextLine();
|
274 |
+
break;
|
275 |
+
} else {
|
276 |
+
f || I(l, t.lineStart - 1, t.lineStart);
|
277 |
+
for (let m of e.markers)
|
278 |
+
l.push(m);
|
279 |
+
let p = t.lineStart + e.basePos, d = t.lineStart + e.text.length;
|
280 |
+
p < d && I(l, p, d);
|
281 |
+
}
|
282 |
+
}
|
283 |
+
return t.addNode(t.buffer.writeElements(l, -n).finish(u.FencedCode, t.prevLineEnd() - n), n), !0;
|
284 |
+
},
|
285 |
+
Blockquote(t, e) {
|
286 |
+
let r = Me(e);
|
287 |
+
return r < 0 ? !1 : (t.startContext(u.Blockquote, e.pos), t.addNode(u.QuoteMark, t.lineStart + e.pos, t.lineStart + e.pos + 1), e.moveBase(e.pos + r), null);
|
288 |
+
},
|
289 |
+
HorizontalRule(t, e) {
|
290 |
+
if (re(e, t, !1) < 0)
|
291 |
+
return !1;
|
292 |
+
let r = t.lineStart + e.pos;
|
293 |
+
return t.nextLine(), t.addNode(u.HorizontalRule, r), !0;
|
294 |
+
},
|
295 |
+
BulletList(t, e) {
|
296 |
+
let r = ne(e, t, !1);
|
297 |
+
if (r < 0)
|
298 |
+
return !1;
|
299 |
+
t.block.type != u.BulletList && t.startContext(u.BulletList, e.basePos, e.next);
|
300 |
+
let n = ue(e, e.pos + 1);
|
301 |
+
return t.startContext(u.ListItem, e.basePos, n - e.baseIndent), t.addNode(u.ListMark, t.lineStart + e.pos, t.lineStart + e.pos + r), e.moveBaseColumn(n), null;
|
302 |
+
},
|
303 |
+
OrderedList(t, e) {
|
304 |
+
let r = se(e, t, !1);
|
305 |
+
if (r < 0)
|
306 |
+
return !1;
|
307 |
+
t.block.type != u.OrderedList && t.startContext(u.OrderedList, e.basePos, e.text.charCodeAt(e.pos + r - 1));
|
308 |
+
let n = ue(e, e.pos + r);
|
309 |
+
return t.startContext(u.ListItem, e.basePos, n - e.baseIndent), t.addNode(u.ListMark, t.lineStart + e.pos, t.lineStart + e.pos + r), e.moveBaseColumn(n), null;
|
310 |
+
},
|
311 |
+
ATXHeading(t, e) {
|
312 |
+
let r = Pe(e);
|
313 |
+
if (r < 0)
|
314 |
+
return !1;
|
315 |
+
let n = e.pos, s = t.lineStart + n, i = fe(e.text, e.text.length, n), o = i;
|
316 |
+
for (; o > n && e.text.charCodeAt(o - 1) == e.next; )
|
317 |
+
o--;
|
318 |
+
(o == i || o == n || !x(e.text.charCodeAt(o - 1))) && (o = e.text.length);
|
319 |
+
let a = t.buffer.write(u.HeaderMark, 0, r).writeElements(t.parser.parseInline(e.text.slice(n + r + 1, o), s + r + 1), -s);
|
320 |
+
o < e.text.length && a.write(u.HeaderMark, o - n, i - n);
|
321 |
+
let l = a.finish(u.ATXHeading1 - 1 + r, e.text.length - n);
|
322 |
+
return t.nextLine(), t.addNode(l, s), !0;
|
323 |
+
},
|
324 |
+
HTMLBlock(t, e) {
|
325 |
+
let r = Oe(e, t, !1);
|
326 |
+
if (r < 0)
|
327 |
+
return !1;
|
328 |
+
let n = t.lineStart + e.pos, s = J[r][1], i = [], o = s != K;
|
329 |
+
for (; !s.test(e.text) && t.nextLine(); ) {
|
330 |
+
if (e.depth < t.stack.length) {
|
331 |
+
o = !1;
|
332 |
+
break;
|
333 |
+
}
|
334 |
+
for (let f of e.markers)
|
335 |
+
i.push(f);
|
336 |
+
}
|
337 |
+
o && t.nextLine();
|
338 |
+
let a = s == Ne ? u.CommentBlock : s == ye ? u.ProcessingInstructionBlock : u.HTMLBlock, l = t.prevLineEnd();
|
339 |
+
return t.addNode(t.buffer.writeElements(i, -n).finish(a, l - n), n), !0;
|
340 |
+
},
|
341 |
+
SetextHeading: void 0
|
342 |
+
// Specifies relative precedence for block-continue function
|
343 |
+
};
|
344 |
+
class St {
|
345 |
+
constructor(e) {
|
346 |
+
this.stage = 0, this.elts = [], this.pos = 0, this.start = e.start, this.advance(e.content);
|
347 |
+
}
|
348 |
+
nextLine(e, r, n) {
|
349 |
+
if (this.stage == -1)
|
350 |
+
return !1;
|
351 |
+
let s = n.content + `
|
352 |
+
` + r.scrub(), i = this.advance(s);
|
353 |
+
return i > -1 && i < s.length ? this.complete(e, n, i) : !1;
|
354 |
+
}
|
355 |
+
finish(e, r) {
|
356 |
+
return (this.stage == 2 || this.stage == 3) && O(r.content, this.pos) == r.content.length ? this.complete(e, r, r.content.length) : !1;
|
357 |
+
}
|
358 |
+
complete(e, r, n) {
|
359 |
+
return e.addLeafElement(r, g(u.LinkReference, this.start, this.start + n, this.elts)), !0;
|
360 |
+
}
|
361 |
+
nextStage(e) {
|
362 |
+
return e ? (this.pos = e.to - this.start, this.elts.push(e), this.stage++, !0) : (e === !1 && (this.stage = -1), !1);
|
363 |
+
}
|
364 |
+
advance(e) {
|
365 |
+
for (; ; ) {
|
366 |
+
if (this.stage == -1)
|
367 |
+
return -1;
|
368 |
+
if (this.stage == 0) {
|
369 |
+
if (!this.nextStage(qe(e, this.pos, this.start, !0)))
|
370 |
+
return -1;
|
371 |
+
if (e.charCodeAt(this.pos) != 58)
|
372 |
+
return this.stage = -1;
|
373 |
+
this.elts.push(g(u.LinkMark, this.pos + this.start, this.pos + this.start + 1)), this.pos++;
|
374 |
+
} else if (this.stage == 1) {
|
375 |
+
if (!this.nextStage(je(e, O(e, this.pos), this.start)))
|
376 |
+
return -1;
|
377 |
+
} else if (this.stage == 2) {
|
378 |
+
let r = O(e, this.pos), n = 0;
|
379 |
+
if (r > this.pos) {
|
380 |
+
let s = _e(e, r, this.start);
|
381 |
+
if (s) {
|
382 |
+
let i = Q(e, s.to - this.start);
|
383 |
+
i > 0 && (this.nextStage(s), n = i);
|
384 |
+
}
|
385 |
+
}
|
386 |
+
return n || (n = Q(e, this.pos)), n > 0 && n < e.length ? n : -1;
|
387 |
+
} else
|
388 |
+
return Q(e, this.pos);
|
389 |
+
}
|
390 |
+
}
|
391 |
+
}
|
392 |
+
function Q(t, e) {
|
393 |
+
for (; e < t.length; e++) {
|
394 |
+
let r = t.charCodeAt(e);
|
395 |
+
if (r == 10)
|
396 |
+
break;
|
397 |
+
if (!x(r))
|
398 |
+
return -1;
|
399 |
+
}
|
400 |
+
return e;
|
401 |
+
}
|
402 |
+
class Ct {
|
403 |
+
nextLine(e, r, n) {
|
404 |
+
let s = r.depth < e.stack.length ? -1 : ve(r), i = r.next;
|
405 |
+
if (s < 0)
|
406 |
+
return !1;
|
407 |
+
let o = g(u.HeaderMark, e.lineStart + r.pos, e.lineStart + s);
|
408 |
+
return e.nextLine(), e.addLeafElement(n, g(i == 61 ? u.SetextHeading1 : u.SetextHeading2, n.start, e.prevLineEnd(), [
|
409 |
+
...e.parser.parseInline(n.content, n.start),
|
410 |
+
o
|
411 |
+
])), !0;
|
412 |
+
}
|
413 |
+
finish() {
|
414 |
+
return !1;
|
415 |
+
}
|
416 |
+
}
|
417 |
+
const Re = {
|
418 |
+
LinkReference(t, e) {
|
419 |
+
return e.content.charCodeAt(0) == 91 ? new St(e) : null;
|
420 |
+
},
|
421 |
+
SetextHeading() {
|
422 |
+
return new Ct();
|
423 |
+
}
|
424 |
+
}, xt = [
|
425 |
+
(t, e) => Pe(e) >= 0,
|
426 |
+
(t, e) => Ee(e) >= 0,
|
427 |
+
(t, e) => Me(e) >= 0,
|
428 |
+
(t, e) => ne(e, t, !0) >= 0,
|
429 |
+
(t, e) => se(e, t, !0) >= 0,
|
430 |
+
(t, e) => re(e, t, !0) >= 0,
|
431 |
+
(t, e) => Oe(e, t, !0) >= 0
|
432 |
+
], At = { text: "", end: 0 };
|
433 |
+
class Bt {
|
434 |
+
/// @internal
|
435 |
+
constructor(e, r, n, s) {
|
436 |
+
this.parser = e, this.input = r, this.ranges = s, this.line = new wt(), this.atEnd = !1, this.reusePlaceholders = /* @__PURE__ */ new Map(), this.stoppedAt = null, this.rangeI = 0, this.to = s[s.length - 1].to, this.lineStart = this.absoluteLineStart = this.absoluteLineEnd = s[0].from, this.block = j.create(u.Document, 0, this.lineStart, 0, 0), this.stack = [this.block], this.fragments = n.length ? new Ht(n, r) : null, this.readLine();
|
437 |
+
}
|
438 |
+
get parsedPos() {
|
439 |
+
return this.absoluteLineStart;
|
440 |
+
}
|
441 |
+
advance() {
|
442 |
+
if (this.stoppedAt != null && this.absoluteLineStart > this.stoppedAt)
|
443 |
+
return this.finish();
|
444 |
+
let { line: e } = this;
|
445 |
+
for (; ; ) {
|
446 |
+
for (let n = 0; ; ) {
|
447 |
+
let s = e.depth < this.stack.length ? this.stack[this.stack.length - 1] : null;
|
448 |
+
for (; n < e.markers.length && (!s || e.markers[n].from < s.end); ) {
|
449 |
+
let i = e.markers[n++];
|
450 |
+
this.addNode(i.type, i.from, i.to);
|
451 |
+
}
|
452 |
+
if (!s)
|
453 |
+
break;
|
454 |
+
this.finishContext();
|
455 |
+
}
|
456 |
+
if (e.pos < e.text.length)
|
457 |
+
break;
|
458 |
+
if (!this.nextLine())
|
459 |
+
return this.finish();
|
460 |
+
}
|
461 |
+
if (this.fragments && this.reuseFragment(e.basePos))
|
462 |
+
return null;
|
463 |
+
e: for (; ; ) {
|
464 |
+
for (let n of this.parser.blockParsers)
|
465 |
+
if (n) {
|
466 |
+
let s = n(this, e);
|
467 |
+
if (s != !1) {
|
468 |
+
if (s == !0)
|
469 |
+
return null;
|
470 |
+
e.forward();
|
471 |
+
continue e;
|
472 |
+
}
|
473 |
+
}
|
474 |
+
break;
|
475 |
+
}
|
476 |
+
let r = new bt(this.lineStart + e.pos, e.text.slice(e.pos));
|
477 |
+
for (let n of this.parser.leafBlockParsers)
|
478 |
+
if (n) {
|
479 |
+
let s = n(this, r);
|
480 |
+
s && r.parsers.push(s);
|
481 |
+
}
|
482 |
+
e: for (; this.nextLine() && e.pos != e.text.length; ) {
|
483 |
+
if (e.indent < e.baseIndent + 4) {
|
484 |
+
for (let n of this.parser.endLeafBlock)
|
485 |
+
if (n(this, e, r))
|
486 |
+
break e;
|
487 |
+
}
|
488 |
+
for (let n of r.parsers)
|
489 |
+
if (n.nextLine(this, e, r))
|
490 |
+
return null;
|
491 |
+
r.content += `
|
492 |
+
` + e.scrub();
|
493 |
+
for (let n of e.markers)
|
494 |
+
r.marks.push(n);
|
495 |
+
}
|
496 |
+
return this.finishLeaf(r), null;
|
497 |
+
}
|
498 |
+
stopAt(e) {
|
499 |
+
if (this.stoppedAt != null && this.stoppedAt < e)
|
500 |
+
throw new RangeError("Can't move stoppedAt forward");
|
501 |
+
this.stoppedAt = e;
|
502 |
+
}
|
503 |
+
reuseFragment(e) {
|
504 |
+
if (!this.fragments.moveTo(this.absoluteLineStart + e, this.absoluteLineStart) || !this.fragments.matches(this.block.hash))
|
505 |
+
return !1;
|
506 |
+
let r = this.fragments.takeNodes(this);
|
507 |
+
return r ? (this.absoluteLineStart += r, this.lineStart = Ue(this.absoluteLineStart, this.ranges), this.moveRangeI(), this.absoluteLineStart < this.to ? (this.lineStart++, this.absoluteLineStart++, this.readLine()) : (this.atEnd = !0, this.readLine()), !0) : !1;
|
508 |
+
}
|
509 |
+
/// The number of parent blocks surrounding the current block.
|
510 |
+
get depth() {
|
511 |
+
return this.stack.length;
|
512 |
+
}
|
513 |
+
/// Get the type of the parent block at the given depth. When no
|
514 |
+
/// depth is passed, return the type of the innermost parent.
|
515 |
+
parentType(e = this.depth - 1) {
|
516 |
+
return this.parser.nodeSet.types[this.stack[e].type];
|
517 |
+
}
|
518 |
+
/// Move to the next input line. This should only be called by
|
519 |
+
/// (non-composite) [block parsers](#BlockParser.parse) that consume
|
520 |
+
/// the line directly, or leaf block parser
|
521 |
+
/// [`nextLine`](#LeafBlockParser.nextLine) methods when they
|
522 |
+
/// consume the current line (and return true).
|
523 |
+
nextLine() {
|
524 |
+
return this.lineStart += this.line.text.length, this.absoluteLineEnd >= this.to ? (this.absoluteLineStart = this.absoluteLineEnd, this.atEnd = !0, this.readLine(), !1) : (this.lineStart++, this.absoluteLineStart = this.absoluteLineEnd + 1, this.moveRangeI(), this.readLine(), !0);
|
525 |
+
}
|
526 |
+
moveRangeI() {
|
527 |
+
for (; this.rangeI < this.ranges.length - 1 && this.absoluteLineStart >= this.ranges[this.rangeI].to; )
|
528 |
+
this.rangeI++, this.absoluteLineStart = Math.max(this.absoluteLineStart, this.ranges[this.rangeI].from);
|
529 |
+
}
|
530 |
+
/// @internal
|
531 |
+
scanLine(e) {
|
532 |
+
let r = At;
|
533 |
+
if (r.end = e, e >= this.to)
|
534 |
+
r.text = "";
|
535 |
+
else if (r.text = this.lineChunkAt(e), r.end += r.text.length, this.ranges.length > 1) {
|
536 |
+
let n = this.absoluteLineStart, s = this.rangeI;
|
537 |
+
for (; this.ranges[s].to < r.end; ) {
|
538 |
+
s++;
|
539 |
+
let i = this.ranges[s].from, o = this.lineChunkAt(i);
|
540 |
+
r.end = i + o.length, r.text = r.text.slice(0, this.ranges[s - 1].to - n) + o, n = r.end - r.text.length;
|
541 |
+
}
|
542 |
+
}
|
543 |
+
return r;
|
544 |
+
}
|
545 |
+
/// @internal
|
546 |
+
readLine() {
|
547 |
+
let { line: e } = this, { text: r, end: n } = this.scanLine(this.absoluteLineStart);
|
548 |
+
for (this.absoluteLineEnd = n, e.reset(r); e.depth < this.stack.length; e.depth++) {
|
549 |
+
let s = this.stack[e.depth], i = this.parser.skipContextMarkup[s.type];
|
550 |
+
if (!i)
|
551 |
+
throw new Error("Unhandled block context " + u[s.type]);
|
552 |
+
if (!i(s, this, e))
|
553 |
+
break;
|
554 |
+
e.forward();
|
555 |
+
}
|
556 |
+
}
|
557 |
+
lineChunkAt(e) {
|
558 |
+
let r = this.input.chunk(e), n;
|
559 |
+
if (this.input.lineChunks)
|
560 |
+
n = r == `
|
561 |
+
` ? "" : r;
|
562 |
+
else {
|
563 |
+
let s = r.indexOf(`
|
564 |
+
`);
|
565 |
+
n = s < 0 ? r : r.slice(0, s);
|
566 |
+
}
|
567 |
+
return e + n.length > this.to ? n.slice(0, this.to - e) : n;
|
568 |
+
}
|
569 |
+
/// The end position of the previous line.
|
570 |
+
prevLineEnd() {
|
571 |
+
return this.atEnd ? this.lineStart : this.lineStart - 1;
|
572 |
+
}
|
573 |
+
/// @internal
|
574 |
+
startContext(e, r, n = 0) {
|
575 |
+
this.block = j.create(e, n, this.lineStart + r, this.block.hash, this.lineStart + this.line.text.length), this.stack.push(this.block);
|
576 |
+
}
|
577 |
+
/// Start a composite block. Should only be called from [block
|
578 |
+
/// parser functions](#BlockParser.parse) that return null.
|
579 |
+
startComposite(e, r, n = 0) {
|
580 |
+
this.startContext(this.parser.getNodeType(e), r, n);
|
581 |
+
}
|
582 |
+
/// @internal
|
583 |
+
addNode(e, r, n) {
|
584 |
+
typeof e == "number" && (e = new E(this.parser.nodeSet.types[e], N, N, (n ?? this.prevLineEnd()) - r)), this.block.addChild(e, r - this.block.from);
|
585 |
+
}
|
586 |
+
/// Add a block element. Can be called by [block
|
587 |
+
/// parsers](#BlockParser.parse).
|
588 |
+
addElement(e) {
|
589 |
+
this.block.addChild(e.toTree(this.parser.nodeSet), e.from - this.block.from);
|
590 |
+
}
|
591 |
+
/// Add a block element from a [leaf parser](#LeafBlockParser). This
|
592 |
+
/// makes sure any extra composite block markup (such as blockquote
|
593 |
+
/// markers) inside the block are also added to the syntax tree.
|
594 |
+
addLeafElement(e, r) {
|
595 |
+
this.addNode(this.buffer.writeElements(ee(r.children, e.marks), -r.from).finish(r.type, r.to - r.from), r.from);
|
596 |
+
}
|
597 |
+
/// @internal
|
598 |
+
finishContext() {
|
599 |
+
let e = this.stack.pop(), r = this.stack[this.stack.length - 1];
|
600 |
+
r.addChild(e.toTree(this.parser.nodeSet), e.from - r.from), this.block = r;
|
601 |
+
}
|
602 |
+
finish() {
|
603 |
+
for (; this.stack.length > 1; )
|
604 |
+
this.finishContext();
|
605 |
+
return this.addGaps(this.block.toTree(this.parser.nodeSet, this.lineStart));
|
606 |
+
}
|
607 |
+
addGaps(e) {
|
608 |
+
return this.ranges.length > 1 ? Te(this.ranges, 0, e.topNode, this.ranges[0].from, this.reusePlaceholders) : e;
|
609 |
+
}
|
610 |
+
/// @internal
|
611 |
+
finishLeaf(e) {
|
612 |
+
for (let n of e.parsers)
|
613 |
+
if (n.finish(this, e))
|
614 |
+
return;
|
615 |
+
let r = ee(this.parser.parseInline(e.content, e.start), e.marks);
|
616 |
+
this.addNode(this.buffer.writeElements(r, -e.start).finish(u.Paragraph, e.content.length), e.start);
|
617 |
+
}
|
618 |
+
elt(e, r, n, s) {
|
619 |
+
return typeof e == "string" ? g(this.parser.getNodeType(e), r, n, s) : new Fe(e, r);
|
620 |
+
}
|
621 |
+
/// @internal
|
622 |
+
get buffer() {
|
623 |
+
return new De(this.parser.nodeSet);
|
624 |
+
}
|
625 |
+
}
|
626 |
+
function Te(t, e, r, n, s) {
|
627 |
+
let i = t[e].to, o = [], a = [], l = r.from + n;
|
628 |
+
function f(h, p) {
|
629 |
+
for (; p ? h >= i : h > i; ) {
|
630 |
+
let d = t[e + 1].from - i;
|
631 |
+
n += d, h += d, e++, i = t[e].to;
|
632 |
+
}
|
633 |
+
}
|
634 |
+
for (let h = r.firstChild; h; h = h.nextSibling) {
|
635 |
+
f(h.from + n, !0);
|
636 |
+
let p = h.from + n, d, m = s.get(h.tree);
|
637 |
+
m ? d = m : h.to + n > i ? (d = Te(t, e, h, n, s), f(h.to + n, !1)) : d = h.toTree(), o.push(d), a.push(p - l);
|
638 |
+
}
|
639 |
+
return f(r.to + n, !1), new E(r.type, o, a, r.to + n - l, r.tree ? r.tree.propValues : void 0);
|
640 |
+
}
|
641 |
+
class U extends nt {
|
642 |
+
/// @internal
|
643 |
+
constructor(e, r, n, s, i, o, a, l, f) {
|
644 |
+
super(), this.nodeSet = e, this.blockParsers = r, this.leafBlockParsers = n, this.blockNames = s, this.endLeafBlock = i, this.skipContextMarkup = o, this.inlineParsers = a, this.inlineNames = l, this.wrappers = f, this.nodeTypes = /* @__PURE__ */ Object.create(null);
|
645 |
+
for (let h of e.types)
|
646 |
+
this.nodeTypes[h.name] = h.id;
|
647 |
+
}
|
648 |
+
createParse(e, r, n) {
|
649 |
+
let s = new Bt(this, e, r, n);
|
650 |
+
for (let i of this.wrappers)
|
651 |
+
s = i(s, e, r, n);
|
652 |
+
return s;
|
653 |
+
}
|
654 |
+
/// Reconfigure the parser.
|
655 |
+
configure(e) {
|
656 |
+
let r = Y(e);
|
657 |
+
if (!r)
|
658 |
+
return this;
|
659 |
+
let { nodeSet: n, skipContextMarkup: s } = this, i = this.blockParsers.slice(), o = this.leafBlockParsers.slice(), a = this.blockNames.slice(), l = this.inlineParsers.slice(), f = this.inlineNames.slice(), h = this.endLeafBlock.slice(), p = this.wrappers;
|
660 |
+
if (y(r.defineNodes)) {
|
661 |
+
s = Object.assign({}, s);
|
662 |
+
let d = n.types.slice(), m;
|
663 |
+
for (let L of r.defineNodes) {
|
664 |
+
let { name: k, block: w, composite: S, style: b } = typeof L == "string" ? { name: L } : L;
|
665 |
+
if (d.some((B) => B.name == k))
|
666 |
+
continue;
|
667 |
+
S && (s[d.length] = (B, tt, rt) => S(tt, rt, B.value));
|
668 |
+
let A = d.length, M = S ? ["Block", "BlockContext"] : w ? A >= u.ATXHeading1 && A <= u.SetextHeading2 ? ["Block", "LeafBlock", "Heading"] : ["Block", "LeafBlock"] : void 0;
|
669 |
+
d.push(_.define({
|
670 |
+
id: A,
|
671 |
+
name: k,
|
672 |
+
props: M && [[v.group, M]]
|
673 |
+
})), b && (m || (m = {}), Array.isArray(b) || b instanceof st ? m[k] = b : Object.assign(m, b));
|
674 |
+
}
|
675 |
+
n = new Ae(d), m && (n = n.extend(xe(m)));
|
676 |
+
}
|
677 |
+
if (y(r.props) && (n = n.extend(...r.props)), y(r.remove))
|
678 |
+
for (let d of r.remove) {
|
679 |
+
let m = this.blockNames.indexOf(d), L = this.inlineNames.indexOf(d);
|
680 |
+
m > -1 && (i[m] = o[m] = void 0), L > -1 && (l[L] = void 0);
|
681 |
+
}
|
682 |
+
if (y(r.parseBlock))
|
683 |
+
for (let d of r.parseBlock) {
|
684 |
+
let m = a.indexOf(d.name);
|
685 |
+
if (m > -1)
|
686 |
+
i[m] = d.parse, o[m] = d.leaf;
|
687 |
+
else {
|
688 |
+
let L = d.before ? X(a, d.before) : d.after ? X(a, d.after) + 1 : a.length - 1;
|
689 |
+
i.splice(L, 0, d.parse), o.splice(L, 0, d.leaf), a.splice(L, 0, d.name);
|
690 |
+
}
|
691 |
+
d.endLeaf && h.push(d.endLeaf);
|
692 |
+
}
|
693 |
+
if (y(r.parseInline))
|
694 |
+
for (let d of r.parseInline) {
|
695 |
+
let m = f.indexOf(d.name);
|
696 |
+
if (m > -1)
|
697 |
+
l[m] = d.parse;
|
698 |
+
else {
|
699 |
+
let L = d.before ? X(f, d.before) : d.after ? X(f, d.after) + 1 : f.length - 1;
|
700 |
+
l.splice(L, 0, d.parse), f.splice(L, 0, d.name);
|
701 |
+
}
|
702 |
+
}
|
703 |
+
return r.wrap && (p = p.concat(r.wrap)), new U(n, i, o, a, h, s, l, f, p);
|
704 |
+
}
|
705 |
+
/// @internal
|
706 |
+
getNodeType(e) {
|
707 |
+
let r = this.nodeTypes[e];
|
708 |
+
if (r == null)
|
709 |
+
throw new RangeError(`Unknown node type '${e}'`);
|
710 |
+
return r;
|
711 |
+
}
|
712 |
+
/// Parse the given piece of inline text at the given offset,
|
713 |
+
/// returning an array of [`Element`](#Element) objects representing
|
714 |
+
/// the inline content.
|
715 |
+
parseInline(e, r) {
|
716 |
+
let n = new Et(this, e, r);
|
717 |
+
e: for (let s = r; s < n.end; ) {
|
718 |
+
let i = n.char(s);
|
719 |
+
for (let o of this.inlineParsers)
|
720 |
+
if (o) {
|
721 |
+
let a = o(n, i, s);
|
722 |
+
if (a >= 0) {
|
723 |
+
s = a;
|
724 |
+
continue e;
|
725 |
+
}
|
726 |
+
}
|
727 |
+
s++;
|
728 |
+
}
|
729 |
+
return n.resolveMarkers(0);
|
730 |
+
}
|
731 |
+
}
|
732 |
+
function y(t) {
|
733 |
+
return t != null && t.length > 0;
|
734 |
+
}
|
735 |
+
function Y(t) {
|
736 |
+
if (!Array.isArray(t))
|
737 |
+
return t;
|
738 |
+
if (t.length == 0)
|
739 |
+
return null;
|
740 |
+
let e = Y(t[0]);
|
741 |
+
if (t.length == 1)
|
742 |
+
return e;
|
743 |
+
let r = Y(t.slice(1));
|
744 |
+
if (!r || !e)
|
745 |
+
return e || r;
|
746 |
+
let n = (o, a) => (o || N).concat(a || N), s = e.wrap, i = r.wrap;
|
747 |
+
return {
|
748 |
+
props: n(e.props, r.props),
|
749 |
+
defineNodes: n(e.defineNodes, r.defineNodes),
|
750 |
+
parseBlock: n(e.parseBlock, r.parseBlock),
|
751 |
+
parseInline: n(e.parseInline, r.parseInline),
|
752 |
+
remove: n(e.remove, r.remove),
|
753 |
+
wrap: s ? i ? (o, a, l, f) => s(i(o, a, l, f), a, l, f) : s : i
|
754 |
+
};
|
755 |
+
}
|
756 |
+
function X(t, e) {
|
757 |
+
let r = t.indexOf(e);
|
758 |
+
if (r < 0)
|
759 |
+
throw new RangeError(`Position specified relative to unknown parser ${e}`);
|
760 |
+
return r;
|
761 |
+
}
|
762 |
+
let ze = [_.none];
|
763 |
+
for (let t = 1, e; e = u[t]; t++)
|
764 |
+
ze[t] = _.define({
|
765 |
+
id: t,
|
766 |
+
name: e,
|
767 |
+
props: t >= u.Escape ? [] : [[v.group, t in Ie ? ["Block", "BlockContext"] : ["Block", "LeafBlock"]]],
|
768 |
+
top: e == "Document"
|
769 |
+
});
|
770 |
+
const N = [];
|
771 |
+
class De {
|
772 |
+
constructor(e) {
|
773 |
+
this.nodeSet = e, this.content = [], this.nodes = [];
|
774 |
+
}
|
775 |
+
write(e, r, n, s = 0) {
|
776 |
+
return this.content.push(e, r, n, 4 + s * 4), this;
|
777 |
+
}
|
778 |
+
writeElements(e, r = 0) {
|
779 |
+
for (let n of e)
|
780 |
+
n.writeTo(this, r);
|
781 |
+
return this;
|
782 |
+
}
|
783 |
+
finish(e, r) {
|
784 |
+
return E.build({
|
785 |
+
buffer: this.content,
|
786 |
+
nodeSet: this.nodeSet,
|
787 |
+
reused: this.nodes,
|
788 |
+
topID: e,
|
789 |
+
length: r
|
790 |
+
});
|
791 |
+
}
|
792 |
+
}
|
793 |
+
class z {
|
794 |
+
/// @internal
|
795 |
+
constructor(e, r, n, s = N) {
|
796 |
+
this.type = e, this.from = r, this.to = n, this.children = s;
|
797 |
+
}
|
798 |
+
/// @internal
|
799 |
+
writeTo(e, r) {
|
800 |
+
let n = e.content.length;
|
801 |
+
e.writeElements(this.children, r), e.content.push(this.type, this.from + r, this.to + r, e.content.length + 4 - n);
|
802 |
+
}
|
803 |
+
/// @internal
|
804 |
+
toTree(e) {
|
805 |
+
return new De(e).writeElements(this.children, -this.from).finish(this.type, this.to - this.from);
|
806 |
+
}
|
807 |
+
}
|
808 |
+
class Fe {
|
809 |
+
constructor(e, r) {
|
810 |
+
this.tree = e, this.from = r;
|
811 |
+
}
|
812 |
+
get to() {
|
813 |
+
return this.from + this.tree.length;
|
814 |
+
}
|
815 |
+
get type() {
|
816 |
+
return this.tree.type.id;
|
817 |
+
}
|
818 |
+
get children() {
|
819 |
+
return N;
|
820 |
+
}
|
821 |
+
writeTo(e, r) {
|
822 |
+
e.nodes.push(this.tree), e.content.push(e.nodes.length - 1, this.from + r, this.to + r, -1);
|
823 |
+
}
|
824 |
+
toTree() {
|
825 |
+
return this.tree;
|
826 |
+
}
|
827 |
+
}
|
828 |
+
function g(t, e, r, n) {
|
829 |
+
return new z(t, e, r, n);
|
830 |
+
}
|
831 |
+
const Xe = { resolve: "Emphasis", mark: "EmphasisMark" }, $e = { resolve: "Emphasis", mark: "EmphasisMark" }, H = {}, W = {};
|
832 |
+
class C {
|
833 |
+
constructor(e, r, n, s) {
|
834 |
+
this.type = e, this.from = r, this.to = n, this.side = s;
|
835 |
+
}
|
836 |
+
}
|
837 |
+
const de = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
|
838 |
+
let D = /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;
|
839 |
+
try {
|
840 |
+
D = new RegExp("[\\p{S}|\\p{P}]", "u");
|
841 |
+
} catch {
|
842 |
+
}
|
843 |
+
const Z = {
|
844 |
+
Escape(t, e, r) {
|
845 |
+
if (e != 92 || r == t.end - 1)
|
846 |
+
return -1;
|
847 |
+
let n = t.char(r + 1);
|
848 |
+
for (let s = 0; s < de.length; s++)
|
849 |
+
if (de.charCodeAt(s) == n)
|
850 |
+
return t.append(g(u.Escape, r, r + 2));
|
851 |
+
return -1;
|
852 |
+
},
|
853 |
+
Entity(t, e, r) {
|
854 |
+
if (e != 38)
|
855 |
+
return -1;
|
856 |
+
let n = /^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(t.slice(r + 1, r + 31));
|
857 |
+
return n ? t.append(g(u.Entity, r, r + 1 + n[0].length)) : -1;
|
858 |
+
},
|
859 |
+
InlineCode(t, e, r) {
|
860 |
+
if (e != 96 || r && t.char(r - 1) == 96)
|
861 |
+
return -1;
|
862 |
+
let n = r + 1;
|
863 |
+
for (; n < t.end && t.char(n) == 96; )
|
864 |
+
n++;
|
865 |
+
let s = n - r, i = 0;
|
866 |
+
for (; n < t.end; n++)
|
867 |
+
if (t.char(n) == 96) {
|
868 |
+
if (i++, i == s && t.char(n + 1) != 96)
|
869 |
+
return t.append(g(u.InlineCode, r, n + 1, [
|
870 |
+
g(u.CodeMark, r, r + s),
|
871 |
+
g(u.CodeMark, n + 1 - s, n + 1)
|
872 |
+
]));
|
873 |
+
} else
|
874 |
+
i = 0;
|
875 |
+
return -1;
|
876 |
+
},
|
877 |
+
HTMLTag(t, e, r) {
|
878 |
+
if (e != 60 || r == t.end - 1)
|
879 |
+
return -1;
|
880 |
+
let n = t.slice(r + 1, t.end), s = /^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);
|
881 |
+
if (s)
|
882 |
+
return t.append(g(u.Autolink, r, r + 1 + s[0].length, [
|
883 |
+
g(u.LinkMark, r, r + 1),
|
884 |
+
// url[0] includes the closing bracket, so exclude it from this slice
|
885 |
+
g(u.URL, r + 1, r + s[0].length),
|
886 |
+
g(u.LinkMark, r + s[0].length, r + 1 + s[0].length)
|
887 |
+
]));
|
888 |
+
let i = /^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);
|
889 |
+
if (i)
|
890 |
+
return t.append(g(u.Comment, r, r + 1 + i[0].length));
|
891 |
+
let o = /^\?[^]*?\?>/.exec(n);
|
892 |
+
if (o)
|
893 |
+
return t.append(g(u.ProcessingInstruction, r, r + 1 + o[0].length));
|
894 |
+
let a = /^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);
|
895 |
+
return a ? t.append(g(u.HTMLTag, r, r + 1 + a[0].length)) : -1;
|
896 |
+
},
|
897 |
+
Emphasis(t, e, r) {
|
898 |
+
if (e != 95 && e != 42)
|
899 |
+
return -1;
|
900 |
+
let n = r + 1;
|
901 |
+
for (; t.char(n) == e; )
|
902 |
+
n++;
|
903 |
+
let s = t.slice(r - 1, r), i = t.slice(n, n + 1), o = D.test(s), a = D.test(i), l = /\s|^$/.test(s), f = /\s|^$/.test(i), h = !f && (!a || l || o), p = !l && (!o || f || a), d = h && (e == 42 || !p || o), m = p && (e == 42 || !h || a);
|
904 |
+
return t.append(new C(e == 95 ? Xe : $e, r, n, (d ? 1 : 0) | (m ? 2 : 0)));
|
905 |
+
},
|
906 |
+
HardBreak(t, e, r) {
|
907 |
+
if (e == 92 && t.char(r + 1) == 10)
|
908 |
+
return t.append(g(u.HardBreak, r, r + 2));
|
909 |
+
if (e == 32) {
|
910 |
+
let n = r + 1;
|
911 |
+
for (; t.char(n) == 32; )
|
912 |
+
n++;
|
913 |
+
if (t.char(n) == 10 && n >= r + 2)
|
914 |
+
return t.append(g(u.HardBreak, r, n + 1));
|
915 |
+
}
|
916 |
+
return -1;
|
917 |
+
},
|
918 |
+
Link(t, e, r) {
|
919 |
+
return e == 91 ? t.append(new C(
|
920 |
+
H,
|
921 |
+
r,
|
922 |
+
r + 1,
|
923 |
+
1
|
924 |
+
/* Mark.Open */
|
925 |
+
)) : -1;
|
926 |
+
},
|
927 |
+
Image(t, e, r) {
|
928 |
+
return e == 33 && t.char(r + 1) == 91 ? t.append(new C(
|
929 |
+
W,
|
930 |
+
r,
|
931 |
+
r + 2,
|
932 |
+
1
|
933 |
+
/* Mark.Open */
|
934 |
+
)) : -1;
|
935 |
+
},
|
936 |
+
LinkEnd(t, e, r) {
|
937 |
+
if (e != 93)
|
938 |
+
return -1;
|
939 |
+
for (let n = t.parts.length - 1; n >= 0; n--) {
|
940 |
+
let s = t.parts[n];
|
941 |
+
if (s instanceof C && (s.type == H || s.type == W)) {
|
942 |
+
if (!s.side || t.skipSpace(s.to) == r && !/[(\[]/.test(t.slice(r + 1, r + 2)))
|
943 |
+
return t.parts[n] = null, -1;
|
944 |
+
let i = t.takeContent(n), o = t.parts[n] = It(t, i, s.type == H ? u.Link : u.Image, s.from, r + 1);
|
945 |
+
if (s.type == H)
|
946 |
+
for (let a = 0; a < n; a++) {
|
947 |
+
let l = t.parts[a];
|
948 |
+
l instanceof C && l.type == H && (l.side = 0);
|
949 |
+
}
|
950 |
+
return o.to;
|
951 |
+
}
|
952 |
+
}
|
953 |
+
return -1;
|
954 |
+
}
|
955 |
+
};
|
956 |
+
function It(t, e, r, n, s) {
|
957 |
+
let { text: i } = t, o = t.char(s), a = s;
|
958 |
+
if (e.unshift(g(u.LinkMark, n, n + (r == u.Image ? 2 : 1))), e.push(g(u.LinkMark, s - 1, s)), o == 40) {
|
959 |
+
let l = t.skipSpace(s + 1), f = je(i, l - t.offset, t.offset), h;
|
960 |
+
f && (l = t.skipSpace(f.to), l != f.to && (h = _e(i, l - t.offset, t.offset), h && (l = t.skipSpace(h.to)))), t.char(l) == 41 && (e.push(g(u.LinkMark, s, s + 1)), a = l + 1, f && e.push(f), h && e.push(h), e.push(g(u.LinkMark, l, a)));
|
961 |
+
} else if (o == 91) {
|
962 |
+
let l = qe(i, s - t.offset, t.offset, !1);
|
963 |
+
l && (e.push(l), a = l.to);
|
964 |
+
}
|
965 |
+
return g(r, n, a, e);
|
966 |
+
}
|
967 |
+
function je(t, e, r) {
|
968 |
+
if (t.charCodeAt(e) == 60) {
|
969 |
+
for (let s = e + 1; s < t.length; s++) {
|
970 |
+
let i = t.charCodeAt(s);
|
971 |
+
if (i == 62)
|
972 |
+
return g(u.URL, e + r, s + 1 + r);
|
973 |
+
if (i == 60 || i == 10)
|
974 |
+
return !1;
|
975 |
+
}
|
976 |
+
return null;
|
977 |
+
} else {
|
978 |
+
let s = 0, i = e;
|
979 |
+
for (let o = !1; i < t.length; i++) {
|
980 |
+
let a = t.charCodeAt(i);
|
981 |
+
if (x(a))
|
982 |
+
break;
|
983 |
+
if (o)
|
984 |
+
o = !1;
|
985 |
+
else if (a == 40)
|
986 |
+
s++;
|
987 |
+
else if (a == 41) {
|
988 |
+
if (!s)
|
989 |
+
break;
|
990 |
+
s--;
|
991 |
+
} else a == 92 && (o = !0);
|
992 |
+
}
|
993 |
+
return i > e ? g(u.URL, e + r, i + r) : i == t.length ? null : !1;
|
994 |
+
}
|
995 |
+
}
|
996 |
+
function _e(t, e, r) {
|
997 |
+
let n = t.charCodeAt(e);
|
998 |
+
if (n != 39 && n != 34 && n != 40)
|
999 |
+
return !1;
|
1000 |
+
let s = n == 40 ? 41 : n;
|
1001 |
+
for (let i = e + 1, o = !1; i < t.length; i++) {
|
1002 |
+
let a = t.charCodeAt(i);
|
1003 |
+
if (o)
|
1004 |
+
o = !1;
|
1005 |
+
else {
|
1006 |
+
if (a == s)
|
1007 |
+
return g(u.LinkTitle, e + r, i + 1 + r);
|
1008 |
+
a == 92 && (o = !0);
|
1009 |
+
}
|
1010 |
+
}
|
1011 |
+
return null;
|
1012 |
+
}
|
1013 |
+
function qe(t, e, r, n) {
|
1014 |
+
for (let s = !1, i = e + 1, o = Math.min(t.length, i + 999); i < o; i++) {
|
1015 |
+
let a = t.charCodeAt(i);
|
1016 |
+
if (s)
|
1017 |
+
s = !1;
|
1018 |
+
else {
|
1019 |
+
if (a == 93)
|
1020 |
+
return n ? !1 : g(u.LinkLabel, e + r, i + 1 + r);
|
1021 |
+
if (n && !x(a) && (n = !1), a == 91)
|
1022 |
+
return !1;
|
1023 |
+
a == 92 && (s = !0);
|
1024 |
+
}
|
1025 |
+
}
|
1026 |
+
return null;
|
1027 |
+
}
|
1028 |
+
class Et {
|
1029 |
+
/// @internal
|
1030 |
+
constructor(e, r, n) {
|
1031 |
+
this.parser = e, this.text = r, this.offset = n, this.parts = [];
|
1032 |
+
}
|
1033 |
+
/// Get the character code at the given (document-relative)
|
1034 |
+
/// position.
|
1035 |
+
char(e) {
|
1036 |
+
return e >= this.end ? -1 : this.text.charCodeAt(e - this.offset);
|
1037 |
+
}
|
1038 |
+
/// The position of the end of this inline section.
|
1039 |
+
get end() {
|
1040 |
+
return this.offset + this.text.length;
|
1041 |
+
}
|
1042 |
+
/// Get a substring of this inline section. Again uses
|
1043 |
+
/// document-relative positions.
|
1044 |
+
slice(e, r) {
|
1045 |
+
return this.text.slice(e - this.offset, r - this.offset);
|
1046 |
+
}
|
1047 |
+
/// @internal
|
1048 |
+
append(e) {
|
1049 |
+
return this.parts.push(e), e.to;
|
1050 |
+
}
|
1051 |
+
/// Add a [delimiter](#DelimiterType) at this given position. `open`
|
1052 |
+
/// and `close` indicate whether this delimiter is opening, closing,
|
1053 |
+
/// or both. Returns the end of the delimiter, for convenient
|
1054 |
+
/// returning from [parse functions](#InlineParser.parse).
|
1055 |
+
addDelimiter(e, r, n, s, i) {
|
1056 |
+
return this.append(new C(e, r, n, (s ? 1 : 0) | (i ? 2 : 0)));
|
1057 |
+
}
|
1058 |
+
/// Returns true when there is an unmatched link or image opening
|
1059 |
+
/// token before the current position.
|
1060 |
+
get hasOpenLink() {
|
1061 |
+
for (let e = this.parts.length - 1; e >= 0; e--) {
|
1062 |
+
let r = this.parts[e];
|
1063 |
+
if (r instanceof C && (r.type == H || r.type == W))
|
1064 |
+
return !0;
|
1065 |
+
}
|
1066 |
+
return !1;
|
1067 |
+
}
|
1068 |
+
/// Add an inline element. Returns the end of the element.
|
1069 |
+
addElement(e) {
|
1070 |
+
return this.append(e);
|
1071 |
+
}
|
1072 |
+
/// Resolve markers between this.parts.length and from, wrapping matched markers in the
|
1073 |
+
/// appropriate node and updating the content of this.parts. @internal
|
1074 |
+
resolveMarkers(e) {
|
1075 |
+
for (let n = e; n < this.parts.length; n++) {
|
1076 |
+
let s = this.parts[n];
|
1077 |
+
if (!(s instanceof C && s.type.resolve && s.side & 2))
|
1078 |
+
continue;
|
1079 |
+
let i = s.type == Xe || s.type == $e, o = s.to - s.from, a, l = n - 1;
|
1080 |
+
for (; l >= e; l--) {
|
1081 |
+
let k = this.parts[l];
|
1082 |
+
if (k instanceof C && k.side & 1 && k.type == s.type && // Ignore emphasis delimiters where the character count doesn't match
|
1083 |
+
!(i && (s.side & 1 || k.side & 2) && (k.to - k.from + o) % 3 == 0 && ((k.to - k.from) % 3 || o % 3))) {
|
1084 |
+
a = k;
|
1085 |
+
break;
|
1086 |
+
}
|
1087 |
+
}
|
1088 |
+
if (!a)
|
1089 |
+
continue;
|
1090 |
+
let f = s.type.resolve, h = [], p = a.from, d = s.to;
|
1091 |
+
if (i) {
|
1092 |
+
let k = Math.min(2, a.to - a.from, o);
|
1093 |
+
p = a.to - k, d = s.from + k, f = k == 1 ? "Emphasis" : "StrongEmphasis";
|
1094 |
+
}
|
1095 |
+
a.type.mark && h.push(this.elt(a.type.mark, p, a.to));
|
1096 |
+
for (let k = l + 1; k < n; k++)
|
1097 |
+
this.parts[k] instanceof z && h.push(this.parts[k]), this.parts[k] = null;
|
1098 |
+
s.type.mark && h.push(this.elt(s.type.mark, s.from, d));
|
1099 |
+
let m = this.elt(f, p, d, h);
|
1100 |
+
this.parts[l] = i && a.from != p ? new C(a.type, a.from, p, a.side) : null, (this.parts[n] = i && s.to != d ? new C(s.type, d, s.to, s.side) : null) ? this.parts.splice(n, 0, m) : this.parts[n] = m;
|
1101 |
+
}
|
1102 |
+
let r = [];
|
1103 |
+
for (let n = e; n < this.parts.length; n++) {
|
1104 |
+
let s = this.parts[n];
|
1105 |
+
s instanceof z && r.push(s);
|
1106 |
+
}
|
1107 |
+
return r;
|
1108 |
+
}
|
1109 |
+
/// Find an opening delimiter of the given type. Returns `null` if
|
1110 |
+
/// no delimiter is found, or an index that can be passed to
|
1111 |
+
/// [`takeContent`](#InlineContext.takeContent) otherwise.
|
1112 |
+
findOpeningDelimiter(e) {
|
1113 |
+
for (let r = this.parts.length - 1; r >= 0; r--) {
|
1114 |
+
let n = this.parts[r];
|
1115 |
+
if (n instanceof C && n.type == e)
|
1116 |
+
return r;
|
1117 |
+
}
|
1118 |
+
return null;
|
1119 |
+
}
|
1120 |
+
/// Remove all inline elements and delimiters starting from the
|
1121 |
+
/// given index (which you should get from
|
1122 |
+
/// [`findOpeningDelimiter`](#InlineContext.findOpeningDelimiter),
|
1123 |
+
/// resolve delimiters inside of them, and return them as an array
|
1124 |
+
/// of elements.
|
1125 |
+
takeContent(e) {
|
1126 |
+
let r = this.resolveMarkers(e);
|
1127 |
+
return this.parts.length = e, r;
|
1128 |
+
}
|
1129 |
+
/// Skip space after the given (document) position, returning either
|
1130 |
+
/// the position of the next non-space character or the end of the
|
1131 |
+
/// section.
|
1132 |
+
skipSpace(e) {
|
1133 |
+
return O(this.text, e - this.offset) + this.offset;
|
1134 |
+
}
|
1135 |
+
elt(e, r, n, s) {
|
1136 |
+
return typeof e == "string" ? g(this.parser.getNodeType(e), r, n, s) : new Fe(e, r);
|
1137 |
+
}
|
1138 |
+
}
|
1139 |
+
function ee(t, e) {
|
1140 |
+
if (!e.length)
|
1141 |
+
return t;
|
1142 |
+
if (!t.length)
|
1143 |
+
return e;
|
1144 |
+
let r = t.slice(), n = 0;
|
1145 |
+
for (let s of e) {
|
1146 |
+
for (; n < r.length && r[n].to < s.to; )
|
1147 |
+
n++;
|
1148 |
+
if (n < r.length && r[n].from < s.from) {
|
1149 |
+
let i = r[n];
|
1150 |
+
i instanceof z && (r[n] = new z(i.type, i.from, i.to, ee(i.children, [s])));
|
1151 |
+
} else
|
1152 |
+
r.splice(n++, 0, s);
|
1153 |
+
}
|
1154 |
+
return r;
|
1155 |
+
}
|
1156 |
+
const Mt = [u.CodeBlock, u.ListItem, u.OrderedList, u.BulletList];
|
1157 |
+
class Ht {
|
1158 |
+
constructor(e, r) {
|
1159 |
+
this.fragments = e, this.input = r, this.i = 0, this.fragment = null, this.fragmentEnd = -1, this.cursor = null, e.length && (this.fragment = e[this.i++]);
|
1160 |
+
}
|
1161 |
+
nextFragment() {
|
1162 |
+
this.fragment = this.i < this.fragments.length ? this.fragments[this.i++] : null, this.cursor = null, this.fragmentEnd = -1;
|
1163 |
+
}
|
1164 |
+
moveTo(e, r) {
|
1165 |
+
for (; this.fragment && this.fragment.to <= e; )
|
1166 |
+
this.nextFragment();
|
1167 |
+
if (!this.fragment || this.fragment.from > (e ? e - 1 : 0))
|
1168 |
+
return !1;
|
1169 |
+
if (this.fragmentEnd < 0) {
|
1170 |
+
let i = this.fragment.to;
|
1171 |
+
for (; i > 0 && this.input.read(i - 1, i) != `
|
1172 |
+
`; )
|
1173 |
+
i--;
|
1174 |
+
this.fragmentEnd = i ? i - 1 : 0;
|
1175 |
+
}
|
1176 |
+
let n = this.cursor;
|
1177 |
+
n || (n = this.cursor = this.fragment.tree.cursor(), n.firstChild());
|
1178 |
+
let s = e + this.fragment.offset;
|
1179 |
+
for (; n.to <= s; )
|
1180 |
+
if (!n.parent())
|
1181 |
+
return !1;
|
1182 |
+
for (; ; ) {
|
1183 |
+
if (n.from >= s)
|
1184 |
+
return this.fragment.from <= r;
|
1185 |
+
if (!n.childAfter(s))
|
1186 |
+
return !1;
|
1187 |
+
}
|
1188 |
+
}
|
1189 |
+
matches(e) {
|
1190 |
+
let r = this.cursor.tree;
|
1191 |
+
return r && r.prop(v.contextHash) == e;
|
1192 |
+
}
|
1193 |
+
takeNodes(e) {
|
1194 |
+
let r = this.cursor, n = this.fragment.offset, s = this.fragmentEnd - (this.fragment.openEnd ? 1 : 0), i = e.absoluteLineStart, o = i, a = e.block.children.length, l = o, f = a;
|
1195 |
+
for (; ; ) {
|
1196 |
+
if (r.to - n > s) {
|
1197 |
+
if (r.type.isAnonymous && r.firstChild())
|
1198 |
+
continue;
|
1199 |
+
break;
|
1200 |
+
}
|
1201 |
+
let h = Ue(r.from - n, e.ranges);
|
1202 |
+
if (r.to - n <= e.ranges[e.rangeI].to)
|
1203 |
+
e.addNode(r.tree, h);
|
1204 |
+
else {
|
1205 |
+
let p = new E(e.parser.nodeSet.types[u.Paragraph], [], [], 0, e.block.hashProp);
|
1206 |
+
e.reusePlaceholders.set(p, r.tree), e.addNode(p, h);
|
1207 |
+
}
|
1208 |
+
if (r.type.is("Block") && (Mt.indexOf(r.type.id) < 0 ? (o = r.to - n, a = e.block.children.length) : (o = l, a = f, l = r.to - n, f = e.block.children.length)), !r.nextSibling())
|
1209 |
+
break;
|
1210 |
+
}
|
1211 |
+
for (; e.block.children.length > a; )
|
1212 |
+
e.block.children.pop(), e.block.positions.pop();
|
1213 |
+
return o - i;
|
1214 |
+
}
|
1215 |
+
}
|
1216 |
+
function Ue(t, e) {
|
1217 |
+
let r = t;
|
1218 |
+
for (let n = 1; n < e.length; n++) {
|
1219 |
+
let s = e[n - 1].to, i = e[n].from;
|
1220 |
+
s < t && (r -= i - s);
|
1221 |
+
}
|
1222 |
+
return r;
|
1223 |
+
}
|
1224 |
+
const Pt = xe({
|
1225 |
+
"Blockquote/...": c.quote,
|
1226 |
+
HorizontalRule: c.contentSeparator,
|
1227 |
+
"ATXHeading1/... SetextHeading1/...": c.heading1,
|
1228 |
+
"ATXHeading2/... SetextHeading2/...": c.heading2,
|
1229 |
+
"ATXHeading3/...": c.heading3,
|
1230 |
+
"ATXHeading4/...": c.heading4,
|
1231 |
+
"ATXHeading5/...": c.heading5,
|
1232 |
+
"ATXHeading6/...": c.heading6,
|
1233 |
+
"Comment CommentBlock": c.comment,
|
1234 |
+
Escape: c.escape,
|
1235 |
+
Entity: c.character,
|
1236 |
+
"Emphasis/...": c.emphasis,
|
1237 |
+
"StrongEmphasis/...": c.strong,
|
1238 |
+
"Link/... Image/...": c.link,
|
1239 |
+
"OrderedList/... BulletList/...": c.list,
|
1240 |
+
"BlockQuote/...": c.quote,
|
1241 |
+
"InlineCode CodeText": c.monospace,
|
1242 |
+
"URL Autolink": c.url,
|
1243 |
+
"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark": c.processingInstruction,
|
1244 |
+
"CodeInfo LinkLabel": c.labelName,
|
1245 |
+
LinkTitle: c.string,
|
1246 |
+
Paragraph: c.content
|
1247 |
+
}), vt = new U(new Ae(ze).extend(Pt), Object.keys(F).map((t) => F[t]), Object.keys(F).map((t) => Re[t]), Object.keys(F), xt, Ie, Object.keys(Z).map((t) => Z[t]), Object.keys(Z), []);
|
1248 |
+
function Nt(t, e, r) {
|
1249 |
+
let n = [];
|
1250 |
+
for (let s = t.firstChild, i = e; ; s = s.nextSibling) {
|
1251 |
+
let o = s ? s.from : r;
|
1252 |
+
if (o > i && n.push({ from: i, to: o }), !s)
|
1253 |
+
break;
|
1254 |
+
i = s.to;
|
1255 |
+
}
|
1256 |
+
return n;
|
1257 |
+
}
|
1258 |
+
function yt(t) {
|
1259 |
+
let { codeParser: e, htmlParser: r } = t;
|
1260 |
+
return { wrap: it((s, i) => {
|
1261 |
+
let o = s.type.id;
|
1262 |
+
if (e && (o == u.CodeBlock || o == u.FencedCode)) {
|
1263 |
+
let a = "";
|
1264 |
+
if (o == u.FencedCode) {
|
1265 |
+
let f = s.node.getChild(u.CodeInfo);
|
1266 |
+
f && (a = i.read(f.from, f.to));
|
1267 |
+
}
|
1268 |
+
let l = e(a);
|
1269 |
+
if (l)
|
1270 |
+
return { parser: l, overlay: (f) => f.type.id == u.CodeText };
|
1271 |
+
} else if (r && (o == u.HTMLBlock || o == u.HTMLTag))
|
1272 |
+
return { parser: r, overlay: Nt(s.node, s.from, s.to) };
|
1273 |
+
return null;
|
1274 |
+
}) };
|
1275 |
+
}
|
1276 |
+
const Ot = { resolve: "Strikethrough", mark: "StrikethroughMark" }, Rt = {
|
1277 |
+
defineNodes: [{
|
1278 |
+
name: "Strikethrough",
|
1279 |
+
style: { "Strikethrough/...": c.strikethrough }
|
1280 |
+
}, {
|
1281 |
+
name: "StrikethroughMark",
|
1282 |
+
style: c.processingInstruction
|
1283 |
+
}],
|
1284 |
+
parseInline: [{
|
1285 |
+
name: "Strikethrough",
|
1286 |
+
parse(t, e, r) {
|
1287 |
+
if (e != 126 || t.char(r + 1) != 126 || t.char(r + 2) == 126)
|
1288 |
+
return -1;
|
1289 |
+
let n = t.slice(r - 1, r), s = t.slice(r + 2, r + 3), i = /\s|^$/.test(n), o = /\s|^$/.test(s), a = D.test(n), l = D.test(s);
|
1290 |
+
return t.addDelimiter(Ot, r, r + 2, !o && (!l || i || a), !i && (!a || o || l));
|
1291 |
+
},
|
1292 |
+
after: "Emphasis"
|
1293 |
+
}]
|
1294 |
+
};
|
1295 |
+
function R(t, e, r = 0, n, s = 0) {
|
1296 |
+
let i = 0, o = !0, a = -1, l = -1, f = !1, h = () => {
|
1297 |
+
n.push(t.elt("TableCell", s + a, s + l, t.parser.parseInline(e.slice(a, l), s + a)));
|
1298 |
+
};
|
1299 |
+
for (let p = r; p < e.length; p++) {
|
1300 |
+
let d = e.charCodeAt(p);
|
1301 |
+
d == 124 && !f ? ((!o || a > -1) && i++, o = !1, n && (a > -1 && h(), n.push(t.elt("TableDelimiter", p + s, p + s + 1))), a = l = -1) : (f || d != 32 && d != 9) && (a < 0 && (a = p), l = p + 1), f = !f && d == 92;
|
1302 |
+
}
|
1303 |
+
return a > -1 && (i++, n && h()), i;
|
1304 |
+
}
|
1305 |
+
function pe(t, e) {
|
1306 |
+
for (let r = e; r < t.length; r++) {
|
1307 |
+
let n = t.charCodeAt(r);
|
1308 |
+
if (n == 124)
|
1309 |
+
return !0;
|
1310 |
+
n == 92 && r++;
|
1311 |
+
}
|
1312 |
+
return !1;
|
1313 |
+
}
|
1314 |
+
const Qe = /^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;
|
1315 |
+
class ce {
|
1316 |
+
constructor() {
|
1317 |
+
this.rows = null;
|
1318 |
+
}
|
1319 |
+
nextLine(e, r, n) {
|
1320 |
+
if (this.rows == null) {
|
1321 |
+
this.rows = !1;
|
1322 |
+
let s;
|
1323 |
+
if ((r.next == 45 || r.next == 58 || r.next == 124) && Qe.test(s = r.text.slice(r.pos))) {
|
1324 |
+
let i = [];
|
1325 |
+
R(e, n.content, 0, i, n.start) == R(e, s, r.pos) && (this.rows = [
|
1326 |
+
e.elt("TableHeader", n.start, n.start + n.content.length, i),
|
1327 |
+
e.elt("TableDelimiter", e.lineStart + r.pos, e.lineStart + r.text.length)
|
1328 |
+
]);
|
1329 |
+
}
|
1330 |
+
} else if (this.rows) {
|
1331 |
+
let s = [];
|
1332 |
+
R(e, r.text, r.pos, s, e.lineStart), this.rows.push(e.elt("TableRow", e.lineStart + r.pos, e.lineStart + r.text.length, s));
|
1333 |
+
}
|
1334 |
+
return !1;
|
1335 |
+
}
|
1336 |
+
finish(e, r) {
|
1337 |
+
return this.rows ? (e.addLeafElement(r, e.elt("Table", r.start, r.start + r.content.length, this.rows)), !0) : !1;
|
1338 |
+
}
|
1339 |
+
}
|
1340 |
+
const Tt = {
|
1341 |
+
defineNodes: [
|
1342 |
+
{ name: "Table", block: !0 },
|
1343 |
+
{ name: "TableHeader", style: { "TableHeader/...": c.heading } },
|
1344 |
+
"TableRow",
|
1345 |
+
{ name: "TableCell", style: c.content },
|
1346 |
+
{ name: "TableDelimiter", style: c.processingInstruction }
|
1347 |
+
],
|
1348 |
+
parseBlock: [{
|
1349 |
+
name: "Table",
|
1350 |
+
leaf(t, e) {
|
1351 |
+
return pe(e.content, 0) ? new ce() : null;
|
1352 |
+
},
|
1353 |
+
endLeaf(t, e, r) {
|
1354 |
+
if (r.parsers.some((s) => s instanceof ce) || !pe(e.text, e.basePos))
|
1355 |
+
return !1;
|
1356 |
+
let n = t.scanLine(t.absoluteLineEnd + 1).text;
|
1357 |
+
return Qe.test(n) && R(t, e.text, e.basePos) == R(t, n, e.basePos);
|
1358 |
+
},
|
1359 |
+
before: "SetextHeading"
|
1360 |
+
}]
|
1361 |
+
};
|
1362 |
+
class zt {
|
1363 |
+
nextLine() {
|
1364 |
+
return !1;
|
1365 |
+
}
|
1366 |
+
finish(e, r) {
|
1367 |
+
return e.addLeafElement(r, e.elt("Task", r.start, r.start + r.content.length, [
|
1368 |
+
e.elt("TaskMarker", r.start, r.start + 3),
|
1369 |
+
...e.parser.parseInline(r.content.slice(3), r.start + 3)
|
1370 |
+
])), !0;
|
1371 |
+
}
|
1372 |
+
}
|
1373 |
+
const Dt = {
|
1374 |
+
defineNodes: [
|
1375 |
+
{ name: "Task", block: !0, style: c.list },
|
1376 |
+
{ name: "TaskMarker", style: c.atom }
|
1377 |
+
],
|
1378 |
+
parseBlock: [{
|
1379 |
+
name: "TaskList",
|
1380 |
+
leaf(t, e) {
|
1381 |
+
return /^\[[ xX]\][ \t]/.test(e.content) && t.parentType().name == "ListItem" ? new zt() : null;
|
1382 |
+
},
|
1383 |
+
after: "SetextHeading"
|
1384 |
+
}]
|
1385 |
+
}, me = /(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy, ge = /[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy, Ft = /[\w-]+\.[\w-]+($|\/)/, ke = /[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy, Le = /\/[a-zA-Z\d@.]+/gy;
|
1386 |
+
function be(t, e, r, n) {
|
1387 |
+
let s = 0;
|
1388 |
+
for (let i = e; i < r; i++)
|
1389 |
+
t[i] == n && s++;
|
1390 |
+
return s;
|
1391 |
+
}
|
1392 |
+
function Xt(t, e) {
|
1393 |
+
ge.lastIndex = e;
|
1394 |
+
let r = ge.exec(t);
|
1395 |
+
if (!r || Ft.exec(r[0])[0].indexOf("_") > -1)
|
1396 |
+
return -1;
|
1397 |
+
let n = e + r[0].length;
|
1398 |
+
for (; ; ) {
|
1399 |
+
let s = t[n - 1], i;
|
1400 |
+
if (/[?!.,:*_~]/.test(s) || s == ")" && be(t, e, n, ")") > be(t, e, n, "("))
|
1401 |
+
n--;
|
1402 |
+
else if (s == ";" && (i = /&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(t.slice(e, n))))
|
1403 |
+
n = e + i.index;
|
1404 |
+
else
|
1405 |
+
break;
|
1406 |
+
}
|
1407 |
+
return n;
|
1408 |
+
}
|
1409 |
+
function we(t, e) {
|
1410 |
+
ke.lastIndex = e;
|
1411 |
+
let r = ke.exec(t);
|
1412 |
+
if (!r)
|
1413 |
+
return -1;
|
1414 |
+
let n = r[0][r[0].length - 1];
|
1415 |
+
return n == "_" || n == "-" ? -1 : e + r[0].length - (n == "." ? 1 : 0);
|
1416 |
+
}
|
1417 |
+
const $t = {
|
1418 |
+
parseInline: [{
|
1419 |
+
name: "Autolink",
|
1420 |
+
parse(t, e, r) {
|
1421 |
+
let n = r - t.offset;
|
1422 |
+
me.lastIndex = n;
|
1423 |
+
let s = me.exec(t.text), i = -1;
|
1424 |
+
if (!s)
|
1425 |
+
return -1;
|
1426 |
+
if (s[1] || s[2]) {
|
1427 |
+
if (i = Xt(t.text, n + s[0].length), i > -1 && t.hasOpenLink) {
|
1428 |
+
let o = /([^\[\]]|\[[^\]]*\])*/.exec(t.text.slice(n, i));
|
1429 |
+
i = n + o[0].length;
|
1430 |
+
}
|
1431 |
+
} else s[3] ? i = we(t.text, n) : (i = we(t.text, n + s[0].length), i > -1 && s[0] == "xmpp:" && (Le.lastIndex = i, s = Le.exec(t.text), s && (i = s.index + s[0].length)));
|
1432 |
+
return i < 0 ? -1 : (t.addElement(t.elt("URL", r, i + t.offset)), i + t.offset);
|
1433 |
+
}
|
1434 |
+
}]
|
1435 |
+
}, jt = [Tt, Dt, Rt, $t];
|
1436 |
+
function Ze(t, e, r) {
|
1437 |
+
return (n, s, i) => {
|
1438 |
+
if (s != t || n.char(i + 1) == t)
|
1439 |
+
return -1;
|
1440 |
+
let o = [n.elt(r, i, i + 1)];
|
1441 |
+
for (let a = i + 1; a < n.end; a++) {
|
1442 |
+
let l = n.char(a);
|
1443 |
+
if (l == t)
|
1444 |
+
return n.addElement(n.elt(e, i, a + 1, o.concat(n.elt(r, a, a + 1))));
|
1445 |
+
if (l == 92 && o.push(n.elt("Escape", a, a++ + 2)), x(l))
|
1446 |
+
break;
|
1447 |
+
}
|
1448 |
+
return -1;
|
1449 |
+
};
|
1450 |
+
}
|
1451 |
+
const _t = {
|
1452 |
+
defineNodes: [
|
1453 |
+
{ name: "Superscript", style: c.special(c.content) },
|
1454 |
+
{ name: "SuperscriptMark", style: c.processingInstruction }
|
1455 |
+
],
|
1456 |
+
parseInline: [{
|
1457 |
+
name: "Superscript",
|
1458 |
+
parse: Ze(94, "Superscript", "SuperscriptMark")
|
1459 |
+
}]
|
1460 |
+
}, qt = {
|
1461 |
+
defineNodes: [
|
1462 |
+
{ name: "Subscript", style: c.special(c.content) },
|
1463 |
+
{ name: "SubscriptMark", style: c.processingInstruction }
|
1464 |
+
],
|
1465 |
+
parseInline: [{
|
1466 |
+
name: "Subscript",
|
1467 |
+
parse: Ze(126, "Subscript", "SubscriptMark")
|
1468 |
+
}]
|
1469 |
+
}, Ut = {
|
1470 |
+
defineNodes: [{ name: "Emoji", style: c.character }],
|
1471 |
+
parseInline: [{
|
1472 |
+
name: "Emoji",
|
1473 |
+
parse(t, e, r) {
|
1474 |
+
let n;
|
1475 |
+
return e != 58 || !(n = /^[a-zA-Z_0-9]+:/.exec(t.slice(r + 1, t.end))) ? -1 : t.addElement(t.elt("Emoji", r, r + 1 + n[0].length));
|
1476 |
+
}
|
1477 |
+
}]
|
1478 |
+
}, Ge = /* @__PURE__ */ dt({ commentTokens: { block: { open: "<!--", close: "-->" } } }), Ve = /* @__PURE__ */ new v(), Ke = /* @__PURE__ */ vt.configure({
|
1479 |
+
props: [
|
1480 |
+
/* @__PURE__ */ Be.add((t) => !t.is("Block") || t.is("Document") || te(t) != null || Qt(t) ? void 0 : (e, r) => ({ from: r.doc.lineAt(e.from).to, to: e.to })),
|
1481 |
+
/* @__PURE__ */ Ve.add(te),
|
1482 |
+
/* @__PURE__ */ pt.add({
|
1483 |
+
Document: () => null
|
1484 |
+
}),
|
1485 |
+
/* @__PURE__ */ ct.add({
|
1486 |
+
Document: Ge
|
1487 |
+
})
|
1488 |
+
]
|
1489 |
+
});
|
1490 |
+
function te(t) {
|
1491 |
+
let e = /^(?:ATX|Setext)Heading(\d)$/.exec(t.name);
|
1492 |
+
return e ? +e[1] : void 0;
|
1493 |
+
}
|
1494 |
+
function Qt(t) {
|
1495 |
+
return t.name == "OrderedList" || t.name == "BulletList";
|
1496 |
+
}
|
1497 |
+
function Zt(t, e) {
|
1498 |
+
let r = t;
|
1499 |
+
for (; ; ) {
|
1500 |
+
let n = r.nextSibling, s;
|
1501 |
+
if (!n || (s = te(n.type)) != null && s <= e)
|
1502 |
+
break;
|
1503 |
+
r = n;
|
1504 |
+
}
|
1505 |
+
return r.to;
|
1506 |
+
}
|
1507 |
+
const Gt = /* @__PURE__ */ mt.of((t, e, r) => {
|
1508 |
+
for (let n = q(t).resolveInner(r, -1); n && !(n.from < e); n = n.parent) {
|
1509 |
+
let s = n.type.prop(Ve);
|
1510 |
+
if (s == null)
|
1511 |
+
continue;
|
1512 |
+
let i = Zt(n, s);
|
1513 |
+
if (i > r)
|
1514 |
+
return { from: r, to: i };
|
1515 |
+
}
|
1516 |
+
return null;
|
1517 |
+
});
|
1518 |
+
function ie(t) {
|
1519 |
+
return new ft(Ge, t, [Gt], "markdown");
|
1520 |
+
}
|
1521 |
+
const Vt = /* @__PURE__ */ ie(Ke), Kt = /* @__PURE__ */ Ke.configure([jt, qt, _t, Ut, {
|
1522 |
+
props: [
|
1523 |
+
/* @__PURE__ */ Be.add({
|
1524 |
+
Table: (t, e) => ({ from: e.doc.lineAt(t.from).to, to: t.to })
|
1525 |
+
})
|
1526 |
+
]
|
1527 |
+
}]), Je = /* @__PURE__ */ ie(Kt);
|
1528 |
+
function Jt(t, e) {
|
1529 |
+
return (r) => {
|
1530 |
+
if (r && t) {
|
1531 |
+
let n = null;
|
1532 |
+
if (r = /\S*/.exec(r)[0], typeof t == "function" ? n = t(r) : n = le.matchLanguageName(t, r, !0), n instanceof le)
|
1533 |
+
return n.support ? n.support.language.parser : gt.getSkippingParser(n.load());
|
1534 |
+
if (n)
|
1535 |
+
return n.parser;
|
1536 |
+
}
|
1537 |
+
return e ? e.parser : null;
|
1538 |
+
};
|
1539 |
+
}
|
1540 |
+
class $ {
|
1541 |
+
constructor(e, r, n, s, i, o, a) {
|
1542 |
+
this.node = e, this.from = r, this.to = n, this.spaceBefore = s, this.spaceAfter = i, this.type = o, this.item = a;
|
1543 |
+
}
|
1544 |
+
blank(e, r = !0) {
|
1545 |
+
let n = this.spaceBefore + (this.node.name == "Blockquote" ? ">" : "");
|
1546 |
+
if (e != null) {
|
1547 |
+
for (; n.length < e; )
|
1548 |
+
n += " ";
|
1549 |
+
return n;
|
1550 |
+
} else {
|
1551 |
+
for (let s = this.to - this.from - n.length - this.spaceAfter.length; s > 0; s--)
|
1552 |
+
n += " ";
|
1553 |
+
return n + (r ? this.spaceAfter : "");
|
1554 |
+
}
|
1555 |
+
}
|
1556 |
+
marker(e, r) {
|
1557 |
+
let n = this.node.name == "OrderedList" ? String(+We(this.item, e)[2] + r) : "";
|
1558 |
+
return this.spaceBefore + n + this.type + this.spaceAfter;
|
1559 |
+
}
|
1560 |
+
}
|
1561 |
+
function Ye(t, e) {
|
1562 |
+
let r = [];
|
1563 |
+
for (let s = t; s && s.name != "Document"; s = s.parent)
|
1564 |
+
(s.name == "ListItem" || s.name == "Blockquote" || s.name == "FencedCode") && r.push(s);
|
1565 |
+
let n = [];
|
1566 |
+
for (let s = r.length - 1; s >= 0; s--) {
|
1567 |
+
let i = r[s], o, a = e.lineAt(i.from), l = i.from - a.from;
|
1568 |
+
if (i.name == "FencedCode")
|
1569 |
+
n.push(new $(i, l, l, "", "", "", null));
|
1570 |
+
else if (i.name == "Blockquote" && (o = /^ *>( ?)/.exec(a.text.slice(l))))
|
1571 |
+
n.push(new $(i, l, l + o[0].length, "", o[1], ">", null));
|
1572 |
+
else if (i.name == "ListItem" && i.parent.name == "OrderedList" && (o = /^( *)\d+([.)])( *)/.exec(a.text.slice(l)))) {
|
1573 |
+
let f = o[3], h = o[0].length;
|
1574 |
+
f.length >= 4 && (f = f.slice(0, f.length - 4), h -= 4), n.push(new $(i.parent, l, l + h, o[1], f, o[2], i));
|
1575 |
+
} else if (i.name == "ListItem" && i.parent.name == "BulletList" && (o = /^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))) {
|
1576 |
+
let f = o[4], h = o[0].length;
|
1577 |
+
f.length > 4 && (f = f.slice(0, f.length - 4), h -= 4);
|
1578 |
+
let p = o[2];
|
1579 |
+
o[3] && (p += o[3].replace(/[xX]/, " ")), n.push(new $(i.parent, l, l + h, o[1], f, p, i));
|
1580 |
+
}
|
1581 |
+
}
|
1582 |
+
return n;
|
1583 |
+
}
|
1584 |
+
function We(t, e) {
|
1585 |
+
return /^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from, t.from + 10));
|
1586 |
+
}
|
1587 |
+
function G(t, e, r, n = 0) {
|
1588 |
+
for (let s = -1, i = t; ; ) {
|
1589 |
+
if (i.name == "ListItem") {
|
1590 |
+
let a = We(i, e), l = +a[2];
|
1591 |
+
if (s >= 0) {
|
1592 |
+
if (l != s + 1)
|
1593 |
+
return;
|
1594 |
+
r.push({ from: i.from + a[1].length, to: i.from + a[0].length, insert: String(s + 2 + n) });
|
1595 |
+
}
|
1596 |
+
s = l;
|
1597 |
+
}
|
1598 |
+
let o = i.nextSibling;
|
1599 |
+
if (!o)
|
1600 |
+
break;
|
1601 |
+
i = o;
|
1602 |
+
}
|
1603 |
+
}
|
1604 |
+
function oe(t, e) {
|
1605 |
+
let r = /^[ \t]*/.exec(t)[0].length;
|
1606 |
+
if (!r || e.facet(ut) != " ")
|
1607 |
+
return t;
|
1608 |
+
let n = T(t, 4, r), s = "";
|
1609 |
+
for (let i = n; i > 0; )
|
1610 |
+
i >= 4 ? (s += " ", i -= 4) : (s += " ", i--);
|
1611 |
+
return s + t.slice(r);
|
1612 |
+
}
|
1613 |
+
const Yt = ({ state: t, dispatch: e }) => {
|
1614 |
+
let r = q(t), { doc: n } = t, s = null, i = t.changeByRange((o) => {
|
1615 |
+
if (!o.empty || !Je.isActiveAt(t, o.from))
|
1616 |
+
return s = { range: o };
|
1617 |
+
let a = o.from, l = n.lineAt(a), f = Ye(r.resolveInner(a, -1), n);
|
1618 |
+
for (; f.length && f[f.length - 1].from > a - l.from; )
|
1619 |
+
f.pop();
|
1620 |
+
if (!f.length)
|
1621 |
+
return s = { range: o };
|
1622 |
+
let h = f[f.length - 1];
|
1623 |
+
if (h.to - h.spaceAfter.length > a - l.from)
|
1624 |
+
return s = { range: o };
|
1625 |
+
let p = a >= h.to - h.spaceAfter.length && !/\S/.test(l.text.slice(h.to));
|
1626 |
+
if (h.item && p) {
|
1627 |
+
let w = h.node.firstChild, S = h.node.getChild("ListItem", "ListItem");
|
1628 |
+
if (w.to >= a || S && S.to < a || l.from > 0 && !/[^\s>]/.test(n.lineAt(l.from - 1).text)) {
|
1629 |
+
let b = f.length > 1 ? f[f.length - 2] : null, A, M = "";
|
1630 |
+
b && b.item ? (A = l.from + b.from, M = b.marker(n, 1)) : A = l.from + (b ? b.to : 0);
|
1631 |
+
let B = [{ from: A, to: a, insert: M }];
|
1632 |
+
return h.node.name == "OrderedList" && G(h.item, n, B, -2), b && b.node.name == "OrderedList" && G(b.item, n, B), { range: P.cursor(A + M.length), changes: B };
|
1633 |
+
} else {
|
1634 |
+
let b = Ce(f, t, l);
|
1635 |
+
return {
|
1636 |
+
range: P.cursor(a + b.length + 1),
|
1637 |
+
changes: { from: l.from, insert: b + t.lineBreak }
|
1638 |
+
};
|
1639 |
+
}
|
1640 |
+
}
|
1641 |
+
if (h.node.name == "Blockquote" && p && l.from) {
|
1642 |
+
let w = n.lineAt(l.from - 1), S = />\s*$/.exec(w.text);
|
1643 |
+
if (S && S.index == h.from) {
|
1644 |
+
let b = t.changes([
|
1645 |
+
{ from: w.from + S.index, to: w.to },
|
1646 |
+
{ from: l.from + h.from, to: l.to }
|
1647 |
+
]);
|
1648 |
+
return { range: o.map(b), changes: b };
|
1649 |
+
}
|
1650 |
+
}
|
1651 |
+
let d = [];
|
1652 |
+
h.node.name == "OrderedList" && G(h.item, n, d);
|
1653 |
+
let m = h.item && h.item.from < l.from, L = "";
|
1654 |
+
if (!m || /^[\s\d.)\-+*>]*/.exec(l.text)[0].length >= h.to)
|
1655 |
+
for (let w = 0, S = f.length - 1; w <= S; w++)
|
1656 |
+
L += w == S && !m ? f[w].marker(n, 1) : f[w].blank(w < S ? T(l.text, 4, f[w + 1].from) - L.length : null);
|
1657 |
+
let k = a;
|
1658 |
+
for (; k > l.from && /\s/.test(l.text.charAt(k - l.from - 1)); )
|
1659 |
+
k--;
|
1660 |
+
return L = oe(L, t), Wt(h.node, t.doc) && (L = Ce(f, t, l) + t.lineBreak + L), d.push({ from: k, to: a, insert: t.lineBreak + L }), { range: P.cursor(k + L.length + 1), changes: d };
|
1661 |
+
});
|
1662 |
+
return s ? !1 : (e(t.update(i, { scrollIntoView: !0, userEvent: "input" })), !0);
|
1663 |
+
};
|
1664 |
+
function Se(t) {
|
1665 |
+
return t.name == "QuoteMark" || t.name == "ListMark";
|
1666 |
+
}
|
1667 |
+
function Wt(t, e) {
|
1668 |
+
if (t.name != "OrderedList" && t.name != "BulletList")
|
1669 |
+
return !1;
|
1670 |
+
let r = t.firstChild, n = t.getChild("ListItem", "ListItem");
|
1671 |
+
if (!n)
|
1672 |
+
return !1;
|
1673 |
+
let s = e.lineAt(r.to), i = e.lineAt(n.from), o = /^[\s>]*$/.test(s.text);
|
1674 |
+
return s.number + (o ? 0 : 1) < i.number;
|
1675 |
+
}
|
1676 |
+
function Ce(t, e, r) {
|
1677 |
+
let n = "";
|
1678 |
+
for (let s = 0, i = t.length - 2; s <= i; s++)
|
1679 |
+
n += t[s].blank(s < i ? T(r.text, 4, t[s + 1].from) - n.length : null, s < i);
|
1680 |
+
return oe(n, e);
|
1681 |
+
}
|
1682 |
+
function er(t, e) {
|
1683 |
+
let r = t.resolveInner(e, -1), n = e;
|
1684 |
+
Se(r) && (n = r.from, r = r.parent);
|
1685 |
+
for (let s; s = r.childBefore(n); )
|
1686 |
+
if (Se(s))
|
1687 |
+
n = s.from;
|
1688 |
+
else if (s.name == "OrderedList" || s.name == "BulletList")
|
1689 |
+
r = s.lastChild, n = r.to;
|
1690 |
+
else
|
1691 |
+
break;
|
1692 |
+
return r;
|
1693 |
+
}
|
1694 |
+
const tr = ({ state: t, dispatch: e }) => {
|
1695 |
+
let r = q(t), n = null, s = t.changeByRange((i) => {
|
1696 |
+
let o = i.from, { doc: a } = t;
|
1697 |
+
if (i.empty && Je.isActiveAt(t, i.from)) {
|
1698 |
+
let l = a.lineAt(o), f = Ye(er(r, o), a);
|
1699 |
+
if (f.length) {
|
1700 |
+
let h = f[f.length - 1], p = h.to - h.spaceAfter.length + (h.spaceAfter ? 1 : 0);
|
1701 |
+
if (o - l.from > p && !/\S/.test(l.text.slice(p, o - l.from)))
|
1702 |
+
return {
|
1703 |
+
range: P.cursor(l.from + p),
|
1704 |
+
changes: { from: l.from + p, to: o }
|
1705 |
+
};
|
1706 |
+
if (o - l.from == p && // Only apply this if we're on the line that has the
|
1707 |
+
// construct's syntax, or there's only indentation in the
|
1708 |
+
// target range
|
1709 |
+
(!h.item || l.from <= h.item.from || !/\S/.test(l.text.slice(0, h.to)))) {
|
1710 |
+
let d = l.from + h.from;
|
1711 |
+
if (h.item && h.node.from < h.item.from && /\S/.test(l.text.slice(h.from, h.to))) {
|
1712 |
+
let m = h.blank(T(l.text, 4, h.to) - T(l.text, 4, h.from));
|
1713 |
+
return d == l.from && (m = oe(m, t)), {
|
1714 |
+
range: P.cursor(d + m.length),
|
1715 |
+
changes: { from: d, to: l.from + h.to, insert: m }
|
1716 |
+
};
|
1717 |
+
}
|
1718 |
+
if (d < o)
|
1719 |
+
return { range: P.cursor(d), changes: { from: d, to: o } };
|
1720 |
+
}
|
1721 |
+
}
|
1722 |
+
}
|
1723 |
+
return n = { range: i };
|
1724 |
+
});
|
1725 |
+
return n ? !1 : (e(t.update(s, { scrollIntoView: !0, userEvent: "delete" })), !0);
|
1726 |
+
}, rr = [
|
1727 |
+
{ key: "Enter", run: Yt },
|
1728 |
+
{ key: "Backspace", run: tr }
|
1729 |
+
], et = /* @__PURE__ */ Lt({ matchClosingTags: !1 });
|
1730 |
+
function ar(t = {}) {
|
1731 |
+
let { codeLanguages: e, defaultCodeLanguage: r, addKeymap: n = !0, base: { parser: s } = Vt, completeHTMLTags: i = !0, htmlTagLanguage: o = et } = t;
|
1732 |
+
if (!(s instanceof U))
|
1733 |
+
throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");
|
1734 |
+
let a = t.extensions ? [t.extensions] : [], l = [o.support], f;
|
1735 |
+
r instanceof ae ? (l.push(r.support), f = r.language) : r && (f = r);
|
1736 |
+
let h = e || f ? Jt(e, f) : void 0;
|
1737 |
+
a.push(yt({ codeParser: h, htmlParser: o.language.parser })), n && l.push(ot.high(at.of(rr)));
|
1738 |
+
let p = ie(s.configure(a));
|
1739 |
+
return i && l.push(p.data.of({ autocomplete: nr })), new ae(p, l);
|
1740 |
+
}
|
1741 |
+
function nr(t) {
|
1742 |
+
let { state: e, pos: r } = t, n = /<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(r - 25, r));
|
1743 |
+
if (!n)
|
1744 |
+
return null;
|
1745 |
+
let s = q(e).resolveInner(r, -1);
|
1746 |
+
for (; s && !s.type.isTop; ) {
|
1747 |
+
if (s.name == "CodeBlock" || s.name == "FencedCode" || s.name == "ProcessingInstructionBlock" || s.name == "CommentBlock" || s.name == "Link" || s.name == "Image")
|
1748 |
+
return null;
|
1749 |
+
s = s.parent;
|
1750 |
+
}
|
1751 |
+
return {
|
1752 |
+
from: r - n[0].length,
|
1753 |
+
to: r,
|
1754 |
+
options: sr(),
|
1755 |
+
validFor: /^<[:\-\.\w\u00b7-\uffff]*$/
|
1756 |
+
};
|
1757 |
+
}
|
1758 |
+
let V = null;
|
1759 |
+
function sr() {
|
1760 |
+
if (V)
|
1761 |
+
return V;
|
1762 |
+
let t = kt(new lt(ht.create({ extensions: et }), 0, !0));
|
1763 |
+
return V = t ? t.options : [];
|
1764 |
+
}
|
1765 |
+
export {
|
1766 |
+
Vt as commonmarkLanguage,
|
1767 |
+
tr as deleteMarkupBackward,
|
1768 |
+
Yt as insertNewlineContinueMarkup,
|
1769 |
+
ar as markdown,
|
1770 |
+
rr as markdownKeymap,
|
1771 |
+
Je as markdownLanguage
|
1772 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-eoOYcYY6.js
ADDED
@@ -0,0 +1,599 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { E as h, L as N, C as D } from "./index-CwvQZfH0.js";
|
2 |
+
import { s as L, t as n, a as H, i as B, L as K, b as M, d as X, f as OO, c as iO, e as eO, I as aO, g as nO, N as rO, h as d } from "./Index-COMtKkwP.js";
|
3 |
+
const QO = 1, w = 194, Z = 195, tO = 196, _ = 197, oO = 198, dO = 199, sO = 200, lO = 2, E = 3, k = 201, TO = 24, SO = 25, pO = 49, qO = 50, gO = 55, PO = 56, mO = 57, $O = 59, hO = 60, cO = 61, XO = 62, fO = 63, yO = 65, WO = 238, zO = 71, RO = 241, vO = 242, _O = 243, kO = 244, xO = 245, UO = 246, uO = 247, VO = 248, j = 72, bO = 249, GO = 250, wO = 251, ZO = 252, EO = 253, jO = 254, YO = 255, FO = 256, CO = 73, JO = 77, AO = 263, IO = 112, NO = 130, DO = 151, LO = 152, HO = 155, p = 10, q = 13, R = 32, c = 9, v = 35, BO = 40, KO = 46, z = 123, x = 125, Y = 39, F = 34, MO = 92, Oi = 111, ii = 120, ei = 78, ai = 117, ni = 85, ri = /* @__PURE__ */ new Set([
|
4 |
+
SO,
|
5 |
+
pO,
|
6 |
+
qO,
|
7 |
+
AO,
|
8 |
+
yO,
|
9 |
+
NO,
|
10 |
+
PO,
|
11 |
+
mO,
|
12 |
+
WO,
|
13 |
+
XO,
|
14 |
+
fO,
|
15 |
+
j,
|
16 |
+
CO,
|
17 |
+
JO,
|
18 |
+
hO,
|
19 |
+
cO,
|
20 |
+
DO,
|
21 |
+
LO,
|
22 |
+
HO,
|
23 |
+
IO
|
24 |
+
]);
|
25 |
+
function f(O) {
|
26 |
+
return O == p || O == q;
|
27 |
+
}
|
28 |
+
function y(O) {
|
29 |
+
return O >= 48 && O <= 57 || O >= 65 && O <= 70 || O >= 97 && O <= 102;
|
30 |
+
}
|
31 |
+
const Qi = new h((O, i) => {
|
32 |
+
let e;
|
33 |
+
if (O.next < 0)
|
34 |
+
O.acceptToken(dO);
|
35 |
+
else if (i.context.flags & m)
|
36 |
+
f(O.next) && O.acceptToken(oO, 1);
|
37 |
+
else if (((e = O.peek(-1)) < 0 || f(e)) && i.canShift(_)) {
|
38 |
+
let a = 0;
|
39 |
+
for (; O.next == R || O.next == c; )
|
40 |
+
O.advance(), a++;
|
41 |
+
(O.next == p || O.next == q || O.next == v) && O.acceptToken(_, -a);
|
42 |
+
} else f(O.next) && O.acceptToken(tO, 1);
|
43 |
+
}, { contextual: !0 }), ti = new h((O, i) => {
|
44 |
+
let e = i.context;
|
45 |
+
if (e.flags) return;
|
46 |
+
let a = O.peek(-1);
|
47 |
+
if (a == p || a == q) {
|
48 |
+
let r = 0, t = 0;
|
49 |
+
for (; ; ) {
|
50 |
+
if (O.next == R) r++;
|
51 |
+
else if (O.next == c) r += 8 - r % 8;
|
52 |
+
else break;
|
53 |
+
O.advance(), t++;
|
54 |
+
}
|
55 |
+
r != e.indent && O.next != p && O.next != q && O.next != v && (r < e.indent ? O.acceptToken(Z, -t) : O.acceptToken(w));
|
56 |
+
}
|
57 |
+
}), m = 1, C = 2, s = 4, l = 8, T = 16, S = 32;
|
58 |
+
function $(O, i, e) {
|
59 |
+
this.parent = O, this.indent = i, this.flags = e, this.hash = (O ? O.hash + O.hash << 8 : 0) + i + (i << 4) + e + (e << 6);
|
60 |
+
}
|
61 |
+
const oi = new $(null, 0, 0);
|
62 |
+
function di(O) {
|
63 |
+
let i = 0;
|
64 |
+
for (let e = 0; e < O.length; e++)
|
65 |
+
i += O.charCodeAt(e) == c ? 8 - i % 8 : 1;
|
66 |
+
return i;
|
67 |
+
}
|
68 |
+
const U = new Map([
|
69 |
+
[RO, 0],
|
70 |
+
[vO, s],
|
71 |
+
[_O, l],
|
72 |
+
[kO, l | s],
|
73 |
+
[xO, T],
|
74 |
+
[UO, T | s],
|
75 |
+
[uO, T | l],
|
76 |
+
[VO, T | l | s],
|
77 |
+
[bO, S],
|
78 |
+
[GO, S | s],
|
79 |
+
[wO, S | l],
|
80 |
+
[ZO, S | l | s],
|
81 |
+
[EO, S | T],
|
82 |
+
[jO, S | T | s],
|
83 |
+
[YO, S | T | l],
|
84 |
+
[FO, S | T | l | s]
|
85 |
+
].map(([O, i]) => [O, i | C])), si = new D({
|
86 |
+
start: oi,
|
87 |
+
reduce(O, i, e, a) {
|
88 |
+
return O.flags & m && ri.has(i) || (i == zO || i == j) && O.flags & C ? O.parent : O;
|
89 |
+
},
|
90 |
+
shift(O, i, e, a) {
|
91 |
+
return i == w ? new $(O, di(a.read(a.pos, e.pos)), 0) : i == Z ? O.parent : i == TO || i == gO || i == $O || i == E ? new $(O, 0, m) : U.has(i) ? new $(O, 0, U.get(i) | O.flags & m) : O;
|
92 |
+
},
|
93 |
+
hash(O) {
|
94 |
+
return O.hash;
|
95 |
+
}
|
96 |
+
}), li = new h((O) => {
|
97 |
+
for (let i = 0; i < 5; i++) {
|
98 |
+
if (O.next != "print".charCodeAt(i)) return;
|
99 |
+
O.advance();
|
100 |
+
}
|
101 |
+
if (!/\w/.test(String.fromCharCode(O.next)))
|
102 |
+
for (let i = 0; ; i++) {
|
103 |
+
let e = O.peek(i);
|
104 |
+
if (!(e == R || e == c)) {
|
105 |
+
e != BO && e != KO && e != p && e != q && e != v && O.acceptToken(QO);
|
106 |
+
return;
|
107 |
+
}
|
108 |
+
}
|
109 |
+
}), Ti = new h((O, i) => {
|
110 |
+
let { flags: e } = i.context, a = e & s ? F : Y, r = (e & l) > 0, t = !(e & T), Q = (e & S) > 0, o = O.pos;
|
111 |
+
for (; !(O.next < 0); )
|
112 |
+
if (Q && O.next == z)
|
113 |
+
if (O.peek(1) == z)
|
114 |
+
O.advance(2);
|
115 |
+
else {
|
116 |
+
if (O.pos == o) {
|
117 |
+
O.acceptToken(E, 1);
|
118 |
+
return;
|
119 |
+
}
|
120 |
+
break;
|
121 |
+
}
|
122 |
+
else if (t && O.next == MO) {
|
123 |
+
if (O.pos == o) {
|
124 |
+
O.advance();
|
125 |
+
let g = O.next;
|
126 |
+
g >= 0 && (O.advance(), Si(O, g)), O.acceptToken(lO);
|
127 |
+
return;
|
128 |
+
}
|
129 |
+
break;
|
130 |
+
} else if (O.next == a && (!r || O.peek(1) == a && O.peek(2) == a)) {
|
131 |
+
if (O.pos == o) {
|
132 |
+
O.acceptToken(k, r ? 3 : 1);
|
133 |
+
return;
|
134 |
+
}
|
135 |
+
break;
|
136 |
+
} else if (O.next == p) {
|
137 |
+
if (r)
|
138 |
+
O.advance();
|
139 |
+
else if (O.pos == o) {
|
140 |
+
O.acceptToken(k);
|
141 |
+
return;
|
142 |
+
}
|
143 |
+
break;
|
144 |
+
} else
|
145 |
+
O.advance();
|
146 |
+
O.pos > o && O.acceptToken(sO);
|
147 |
+
});
|
148 |
+
function Si(O, i) {
|
149 |
+
if (i == Oi)
|
150 |
+
for (let e = 0; e < 2 && O.next >= 48 && O.next <= 55; e++) O.advance();
|
151 |
+
else if (i == ii)
|
152 |
+
for (let e = 0; e < 2 && y(O.next); e++) O.advance();
|
153 |
+
else if (i == ai)
|
154 |
+
for (let e = 0; e < 4 && y(O.next); e++) O.advance();
|
155 |
+
else if (i == ni)
|
156 |
+
for (let e = 0; e < 8 && y(O.next); e++) O.advance();
|
157 |
+
else if (i == ei && O.next == z) {
|
158 |
+
for (O.advance(); O.next >= 0 && O.next != x && O.next != Y && O.next != F && O.next != p; ) O.advance();
|
159 |
+
O.next == x && O.advance();
|
160 |
+
}
|
161 |
+
}
|
162 |
+
const pi = L({
|
163 |
+
'async "*" "**" FormatConversion FormatSpec': n.modifier,
|
164 |
+
"for while if elif else try except finally return raise break continue with pass assert await yield match case": n.controlKeyword,
|
165 |
+
"in not and or is del": n.operatorKeyword,
|
166 |
+
"from def class global nonlocal lambda": n.definitionKeyword,
|
167 |
+
import: n.moduleKeyword,
|
168 |
+
"with as print": n.keyword,
|
169 |
+
Boolean: n.bool,
|
170 |
+
None: n.null,
|
171 |
+
VariableName: n.variableName,
|
172 |
+
"CallExpression/VariableName": n.function(n.variableName),
|
173 |
+
"FunctionDefinition/VariableName": n.function(n.definition(n.variableName)),
|
174 |
+
"ClassDefinition/VariableName": n.definition(n.className),
|
175 |
+
PropertyName: n.propertyName,
|
176 |
+
"CallExpression/MemberExpression/PropertyName": n.function(n.propertyName),
|
177 |
+
Comment: n.lineComment,
|
178 |
+
Number: n.number,
|
179 |
+
String: n.string,
|
180 |
+
FormatString: n.special(n.string),
|
181 |
+
Escape: n.escape,
|
182 |
+
UpdateOp: n.updateOperator,
|
183 |
+
"ArithOp!": n.arithmeticOperator,
|
184 |
+
BitOp: n.bitwiseOperator,
|
185 |
+
CompareOp: n.compareOperator,
|
186 |
+
AssignOp: n.definitionOperator,
|
187 |
+
Ellipsis: n.punctuation,
|
188 |
+
At: n.meta,
|
189 |
+
"( )": n.paren,
|
190 |
+
"[ ]": n.squareBracket,
|
191 |
+
"{ }": n.brace,
|
192 |
+
".": n.derefOperator,
|
193 |
+
", ;": n.separator
|
194 |
+
}), qi = { __proto__: null, await: 44, or: 54, and: 56, in: 60, not: 62, is: 64, if: 70, else: 72, lambda: 76, yield: 94, from: 96, async: 102, for: 104, None: 162, True: 164, False: 164, del: 178, pass: 182, break: 186, continue: 190, return: 194, raise: 202, import: 206, as: 208, global: 212, nonlocal: 214, assert: 218, type: 223, elif: 236, while: 240, try: 246, except: 248, finally: 250, with: 254, def: 258, class: 268, match: 279, case: 285 }, gi = N.deserialize({
|
195 |
+
version: 14,
|
196 |
+
states: "##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5QQdO'#DoOOQS,5:Y,5:YO5eQdO'#HdOOQS,5:],5:]O5rQ!fO,5:]O5wQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8gQdO,59bO8lQdO,59bO8sQdO,59jO8zQdO'#HTO:QQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:iQdO,59aO'vQdO,59aO:wQdO,59aOOQS,59y,59yO:|QdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;[QdO,5:QO;aQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;rQdO,5:UO;wQdO,5:WOOOW'#Fy'#FyO;|OWO,5:aOOQS,5:a,5:aO<XQdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<iOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<wQtO,5:iO?iQtO,5=`O@SQ#xO,5=`O@sQtO,5=`OOQS,5:},5:}OA[QeO'#GWOBnQdO,5;^OOQV,5=^,5=^OByQtO'#IPOChQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCpQtO,59]OEwQtO,59iOFbQdO'#HVOFmQdO'#HVO1XQdO'#HVOFxQdO'#DTOGQQdO,59mOGVQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGtQdO'#GPOHUQdO,58|OHUQdO,58|O*xQdO,5:oOHdQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHwQdO,5;OOIYQdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOInQtO,5;QOI|QdO,5;QOJRQdO'#IQOOQS,5;T,5;TOJaQdO'#H|OOQS,5;W,5;WOJrQdO,5;YO4iQdO,5;`O4iQdO,5;cOJzQtO'#ITO'vQdO'#ITOKUQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOKZQeO'#EuOLgQgO,5;fO!!hQdO'#IUO4iQdO,5;jO!!sQdO,5;lO!!{QdO,5;qO!#WQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#_OSO,5=[P!#dOdO,5=[O!&XQtO1G.jO!&`QtO1G.jO!)PQtO1G.jO!)ZQtO1G.jO!+tQtO1G.jO!,XQtO1G.jO!,lQdO'#HcO!,zQtO'#GuO0rQdO'#HcO!-UQdO'#HbOOQS,5:Z,5:ZO!-^QdO,5:ZO!-cQdO'#HeO!-nQdO'#HeO!.RQdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/RQtO1G.|O!/YQtO1G.|O1lQdO1G.|O!/uQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!/|QdO1G/eO!0^QdO1G/eO!0fQdO1G/fO'vQdO'#H[O!0kQdO'#H[O!0pQtO1G.{O!1QQdO,59iO!2WQdO,5=zO!2hQdO,5=zO!2pQdO1G/mO!2uQtO1G/mOOQS1G/l1G/lO!3VQdO,5=uO!3|QdO,5=uO0rQdO1G/qO!4kQdO1G/sO!4pQtO1G/sO!5QQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5bQdO'#HxO0rQdO'#HxO!5sQdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6RQ#xO1G2zO!6rQtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7ZQtO,5>kOOQS1G1`1G1`O!7xQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!7}QdO'#FrO!8YQdO,59oO!8bQdO1G/XO!8lQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9]QdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9nQdO1G.hOOQS1G0Z1G0ZO!9|QdO,5=wO!:^QdO,5=wO0rQdO1G0jO0rQdO1G0jO!:oQdO,5>jO!;QQdO,5>jO1XQdO,5>jO!;cQdO,5>iOOQS-E:R-E:RO!;hQdO1G0lO!;sQdO1G0lO!;xQdO,5>lO!<WQdO,5>lO!<fQdO,5>hO!<|QdO,5>hO!=_QdO'#EpO0rQdO1G0tO!=jQdO1G0tO!=oQgO1G0zO!AmQgO1G0}O!EhQdO,5>oO!ErQdO,5>oO!EzQtO,5>oO0rQdO1G1PO!FUQdO1G1PO4iQdO1G1UO!!sQdO1G1WOOQV,5;a,5;aO!FZQfO,5;aO!F`QgO1G1QO!JaQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JqQdO,5>pO!KOQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KWQdO'#FSO!KiQ!fO1G1WO!KqQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!KvQdO1G1]O!LOQdO'#F^OOQV1G1b1G1bO!#WQtO1G1bPOOO1G2v1G2vP!LTOSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LYQdO,5=|O!LmQdO,5=|OOQS1G/u1G/uO!LuQdO,5>PO!MVQdO,5>PO!M_QdO,5>PO!MrQdO,5>PO!NSQdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8bQdO7+$pO# uQdO1G.|O# |QdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!TQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!eQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!jQdO7+%PO#!rQdO7+%QO#!wQdO1G3fOOQS7+%X7+%XO##XQdO1G3fO##aQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##fQdO1G3aOOQS-E9q-E9qO#$]QdO7+%]OOQS7+%_7+%_O#$kQdO1G3aO#%YQdO7+%_O#%_QdO1G3gO#%oQdO1G3gO#%wQdO7+%]O#%|QdO,5>dO#&gQdO,5>dO#&gQdO,5>dOOQS'#Dx'#DxO#&xO&jO'#DzO#'TO`O'#HyOOOW1G3}1G3}O#'YQdO1G3}O#'bQdO1G3}O#'mQ#xO7+(fO#(^QtO1G2UP#(wQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)UQdO,5=`O#)oQdO,5=`O#*QQtO,5<aO#*eQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#*uQdO7+&UO#+TQdO,5<nO#+iQdO1G4UOOQS-E:Q-E:QO#+zQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,]QdO7+&WOOQS,5<p,5<pO#,hQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#,vQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-^QdO'#EqO#-iQdO'#IRO#-qQdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#-vQgO7+&fO!JdQdO'#GXO4iQdO7+&fO4iQdO7+&iO#1tQtO,5<tO'vQdO,5<tO#2OQdO1G4ZOOQS-E:W-E:WO#2YQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KiQ!fO7+&rO!KqQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2bQdO,5<uO!JdQdO,5<uOOQV7+&l7+&lO#2mQgO7+&lO#6hQdO,5<vO#6sQdO1G4[OOQS-E:Y-E:YO#7QQdO1G4[O#7YQdO'#IWO#7hQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#7sQdO'#IVOOQS,5;n,5;nO#7{QdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8QQfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8VQdO1G3iOOQS,5<c,5<cO#8eQdO1G3hOOQS-E9u-E9uO#8xQdO,5<dO#9TQdO,5<dO#9hQdO1G3kOOQS-E9v-E9vO#9xQdO1G3kO#:QQdO1G3kO#:bQdO1G3kO#9xQdO1G3kOOQS<<H[<<H[O#:mQtO1G1zOOQS<<Hk<<HkP#:zQdO'#FtO8sQdO1G3bO#;XQdO1G3bO#;^QdO<<HkOOQS<<Hl<<HlO#;nQdO7+)QOOQS<<Hs<<HsO#<OQtO1G1yP#<oQdO'#FsO#<|QdO7+)RO#=^QdO7+)RO#=fQdO<<HwO#=kQdO7+({OOQS<<Hy<<HyO#>bQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>gQdO1G4OOOQS-E9y-E9yO#?QQdO1G4OO<XQdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?cO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?nQdO7+)iO#?vQdO1G2zO#@aQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#@rQdO7+)pO#ATQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#AfQdO,5>mO#AtQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#A|QtO1G2`P#BWQdO'#GYO#B_QdO7+)uO#BiQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KiQ!fO<<J^O#FdQgO7+&gOOQV<<JW<<JWO#FnQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JiQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#JtQdO7+)vO#KRQdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KZQdO,5>rOOQS,5>r,5>rO#KfQdO,5>qO#KwQdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LPQdO1G1dOOQS7+)T7+)TP#LUQdO'#FwO#LfQdO1G2OO#LyQdO1G2OO#MZQdO1G2OP#MfQdO'#FxO#MsQdO7+)VO#NTQdO7+)VO#NTQdO7+)VO#N]QdO7+)VO#NmQdO7+(|O8sQdO7+(|OOQSAN>VAN>VO$ WQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$ hQtO1G1|P$ rQdO'#FvOOQS1G2R1G2RP$!PQdO'#F{O$!^QdO7+)jO$!wQdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#VQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$#pQdO<<M[OOQS,5<q,5<qO$$RQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$aQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$([QdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$(iQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$(zQfO7+'OO$)VQdO'#F_O$*^QdO7+'jO$*nQdO7+'jOOQS7+'j7+'jO$*yQdO<<LqO$+ZQdO<<LqO$+ZQdO<<LqO$+cQdO'#H^OOQS<<Lh<<LhO$+mQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,WQdO1G4RO$,`QdO1G4RP!=_QdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$,kQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-_QtO'#FaOOQS'#Fc'#FcO$-oQdO'#FbO$.aQdO'#FbOOQS'#Fb'#FbO$.fQdO'#IYO$)VQdO'#FiO$)VQdO'#FiO$.}QdO'#FjO$)VQdO'#FkO$/UQdO'#IZOOQS'#IZ'#IZO$/sQdO,5;yOOQS<<KU<<KUO$/{QdO<<KUO$0]QdOANB]O$0mQdOANB]O$0uQdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1`QdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$1wQdO7+)mOOQVLD*wLD*wOOQVANARANARO5rQ!fO'#GaO$2PQtO,5<SO$)VQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$2qQdO,5;|O$2vQdO,5;|OOQS'#Fg'#FgO$)VQdO'#G`O$3hQdO,5<QO$4SQdO,5>tO$4dQdO,5>tO1XQdO,5<PO$4uQdO,5<TO$4zQdO,5<TO$)VQdO'#I[O$5PQdO'#I[O$5UQdO,5<UOOQS,5<V,5<VO'vQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5ZQdOG27wO$5kQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$5pQtO'#FaO$5wQdO'#I]O$6VQdO'#I]O$6_QdO,5<XOOQS1G1h1G1hO$6dQdO1G1hO$6iQdO,5<zOOQS-E:^-E:^O$7TQdO,5=OO$7lQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$7|QdO,5>vO$)VQdO,5>vOOQS1G1p1G1pO$8[QtO,5<[OOQU7+'P7+'PO$+cQdO1G/iO$)VQdO,5<YO$8cQdO,5>wO$8jQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)VQdO'#GdO$8rQdO1G4bO$8|QdO1G4bO$9UQdO1G4bOOQS7+%T7+%TO$9dQdO1G1tO$9rQtO'#FaO$9yQdO,5<}OOQS,5<},5<}O$:XQdO1G4cOOQS-E:a-E:aO$)VQdO,5<|O$:`QdO,5<|O$:eQdO7+)|OOQS-E:`-E:`O$:oQdO7+)|O$)VQdO,5<ZP$)VQdO'#GcO$:wQdO1G2hO$)VQdO1G2hP$;VQdO'#GbO$;^QdO<<MhO$;hQdO1G1uO$;vQdO7+(SO8sQdO'#C}O8sQdO,59bO8sQdO,59bO8sQdO,59bO$<UQtO,5=`O8sQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<iQdO'#GOO'vQdO'#GtO$<vQdO,59bO$<{QdO,59bO$=SQdO,59mO$=XQdO1G/UO1sQdO'#DRO8sQdO,59j",
|
197 |
+
stateData: "$=r~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PE`O%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO~OS'iO%['hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#lO%kWi~P!#lOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&gO%mWi%nWi~P!&gOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)eOVWi_Wi%qWi%rWi%sWi~P!)eO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.WOlji~P!.WOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/aOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PE`OV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!N_Olji~P!N_OV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/aOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/aO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$,yO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)cOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/aOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)VOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$,yOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)VOz/zO#[/OO%j.yO!['Oa~O{$da~P%SOg'Pa~P$)VOz0SOg'Pa~Oa0UO!['Oi~P$)cOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$,yO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)VO{0^O~Oa0UO!['Oq~P$)cOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)cOa0UO!['Oy~P$)cO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/aO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",
|
198 |
+
goto: "!=l'QPPPPPP'RP'Z*s+]+v,b,}-kP.YP'Z.y.y'ZPPP'Z2cPPPPPP2c5VPP5VP7g7p=xPP={>m>pPP'Z'ZPP?PPP'Z'ZPP'Z'Z'Z'Z'Z?T?}'ZP@QP@WD_G{HPPHSH^Hb'ZPPPHeHn'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHtIQIYPIaIgPIaPIaIaPPPIaPKuPLOLYL`KuPIaLiPIaPLpLvPLzM`M}NhLzLzNnN{LzLzLzLz! a! g! j! o! r! |!!S!!`!!r!!x!#S!#Y!#v!#|!$S!$^!$d!$j!$|!%W!%^!%d!%n!%t!%z!&Q!&W!&^!&h!&n!&x!'O!'X!'_!'n!'v!(Q!(XPPPPPPPPPPP!(_!(b!(h!(q!({!)WPPPPPPPPPPPP!-z!/`!3`!6pPP!6x!7X!7b!8Z!8Q!8d!8j!8m!8p!8s!8{!9lPPPPPPPPPPPPPPPPP!9o!9s!9yP!:_!:c!:o!:x!;U!;l!;o!;r!;x!<O!<U!<XP!<a!<j!=f!=i]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r}!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!P!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!R!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!T!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!V!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!X!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!]!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&cVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/Z/s0c0d0e0f0h0i0j0k0n0r%mXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s![!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aR,^*RX#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&bQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QQ/q/VR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uR.S-fhUOn#d#g$j%|&_'w(p(r)t,P%S!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!]!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",
|
199 |
+
nodeNames: "⚠ print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",
|
200 |
+
maxTerm: 277,
|
201 |
+
context: si,
|
202 |
+
nodeProps: [
|
203 |
+
["isolate", -5, 4, 71, 72, 73, 77, ""],
|
204 |
+
["group", -15, 6, 85, 87, 88, 90, 92, 94, 96, 98, 99, 100, 102, 105, 108, 110, "Statement Statement", -22, 8, 18, 21, 25, 40, 49, 50, 56, 57, 60, 61, 62, 63, 64, 67, 70, 71, 72, 79, 80, 81, 82, "Expression", -10, 114, 116, 119, 121, 122, 126, 128, 133, 135, 138, "Statement", -9, 143, 144, 147, 148, 150, 151, 152, 153, 154, "Pattern"],
|
205 |
+
["openedBy", 23, "(", 54, "[", 58, "{"],
|
206 |
+
["closedBy", 24, ")", 55, "]", 59, "}"]
|
207 |
+
],
|
208 |
+
propSources: [pi],
|
209 |
+
skippedNodes: [0, 4],
|
210 |
+
repeatNodeCount: 34,
|
211 |
+
tokenData: "!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",
|
212 |
+
tokenizers: [li, ti, Qi, Ti, 0, 1, 2, 3, 4],
|
213 |
+
topRules: { Script: [0, 5] },
|
214 |
+
specialized: [{ term: 221, get: (O) => qi[O] || -1 }],
|
215 |
+
tokenPrec: 7652
|
216 |
+
}), u = /* @__PURE__ */ new rO(), J = /* @__PURE__ */ new Set([
|
217 |
+
"Script",
|
218 |
+
"Body",
|
219 |
+
"FunctionDefinition",
|
220 |
+
"ClassDefinition",
|
221 |
+
"LambdaExpression",
|
222 |
+
"ForStatement",
|
223 |
+
"MatchClause"
|
224 |
+
]);
|
225 |
+
function P(O) {
|
226 |
+
return (i, e, a) => {
|
227 |
+
if (a)
|
228 |
+
return !1;
|
229 |
+
let r = i.node.getChild("VariableName");
|
230 |
+
return r && e(r, O), !0;
|
231 |
+
};
|
232 |
+
}
|
233 |
+
const Pi = {
|
234 |
+
FunctionDefinition: /* @__PURE__ */ P("function"),
|
235 |
+
ClassDefinition: /* @__PURE__ */ P("class"),
|
236 |
+
ForStatement(O, i, e) {
|
237 |
+
if (e) {
|
238 |
+
for (let a = O.node.firstChild; a; a = a.nextSibling)
|
239 |
+
if (a.name == "VariableName")
|
240 |
+
i(a, "variable");
|
241 |
+
else if (a.name == "in")
|
242 |
+
break;
|
243 |
+
}
|
244 |
+
},
|
245 |
+
ImportStatement(O, i) {
|
246 |
+
var e, a;
|
247 |
+
let { node: r } = O, t = ((e = r.firstChild) === null || e === void 0 ? void 0 : e.name) == "from";
|
248 |
+
for (let Q = r.getChild("import"); Q; Q = Q.nextSibling)
|
249 |
+
Q.name == "VariableName" && ((a = Q.nextSibling) === null || a === void 0 ? void 0 : a.name) != "as" && i(Q, t ? "variable" : "namespace");
|
250 |
+
},
|
251 |
+
AssignStatement(O, i) {
|
252 |
+
for (let e = O.node.firstChild; e; e = e.nextSibling)
|
253 |
+
if (e.name == "VariableName")
|
254 |
+
i(e, "variable");
|
255 |
+
else if (e.name == ":" || e.name == "AssignOp")
|
256 |
+
break;
|
257 |
+
},
|
258 |
+
ParamList(O, i) {
|
259 |
+
for (let e = null, a = O.node.firstChild; a; a = a.nextSibling)
|
260 |
+
a.name == "VariableName" && (!e || !/\*|AssignOp/.test(e.name)) && i(a, "variable"), e = a;
|
261 |
+
},
|
262 |
+
CapturePattern: /* @__PURE__ */ P("variable"),
|
263 |
+
AsPattern: /* @__PURE__ */ P("variable"),
|
264 |
+
__proto__: null
|
265 |
+
};
|
266 |
+
function A(O, i) {
|
267 |
+
let e = u.get(i);
|
268 |
+
if (e)
|
269 |
+
return e;
|
270 |
+
let a = [], r = !0;
|
271 |
+
function t(Q, o) {
|
272 |
+
let g = O.sliceString(Q.from, Q.to);
|
273 |
+
a.push({ label: g, type: o });
|
274 |
+
}
|
275 |
+
return i.cursor(aO.IncludeAnonymous).iterate((Q) => {
|
276 |
+
if (Q.name) {
|
277 |
+
let o = Pi[Q.name];
|
278 |
+
if (o && o(Q, t, r) || !r && J.has(Q.name))
|
279 |
+
return !1;
|
280 |
+
r = !1;
|
281 |
+
} else if (Q.to - Q.from > 8192) {
|
282 |
+
for (let o of A(O, Q.node))
|
283 |
+
a.push(o);
|
284 |
+
return !1;
|
285 |
+
}
|
286 |
+
}), u.set(i, a), a;
|
287 |
+
}
|
288 |
+
const V = /^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/, I = ["String", "FormatString", "Comment", "PropertyName"];
|
289 |
+
function mi(O) {
|
290 |
+
let i = H(O.state).resolveInner(O.pos, -1);
|
291 |
+
if (I.indexOf(i.name) > -1)
|
292 |
+
return null;
|
293 |
+
let e = i.name == "VariableName" || i.to - i.from < 20 && V.test(O.state.sliceDoc(i.from, i.to));
|
294 |
+
if (!e && !O.explicit)
|
295 |
+
return null;
|
296 |
+
let a = [];
|
297 |
+
for (let r = i; r; r = r.parent)
|
298 |
+
J.has(r.name) && (a = a.concat(A(O.state.doc, r)));
|
299 |
+
return {
|
300 |
+
options: a,
|
301 |
+
from: e ? i.from : O.pos,
|
302 |
+
validFor: V
|
303 |
+
};
|
304 |
+
}
|
305 |
+
const $i = /* @__PURE__ */ [
|
306 |
+
"__annotations__",
|
307 |
+
"__builtins__",
|
308 |
+
"__debug__",
|
309 |
+
"__doc__",
|
310 |
+
"__import__",
|
311 |
+
"__name__",
|
312 |
+
"__loader__",
|
313 |
+
"__package__",
|
314 |
+
"__spec__",
|
315 |
+
"False",
|
316 |
+
"None",
|
317 |
+
"True"
|
318 |
+
].map((O) => ({ label: O, type: "constant" })).concat(/* @__PURE__ */ [
|
319 |
+
"ArithmeticError",
|
320 |
+
"AssertionError",
|
321 |
+
"AttributeError",
|
322 |
+
"BaseException",
|
323 |
+
"BlockingIOError",
|
324 |
+
"BrokenPipeError",
|
325 |
+
"BufferError",
|
326 |
+
"BytesWarning",
|
327 |
+
"ChildProcessError",
|
328 |
+
"ConnectionAbortedError",
|
329 |
+
"ConnectionError",
|
330 |
+
"ConnectionRefusedError",
|
331 |
+
"ConnectionResetError",
|
332 |
+
"DeprecationWarning",
|
333 |
+
"EOFError",
|
334 |
+
"Ellipsis",
|
335 |
+
"EncodingWarning",
|
336 |
+
"EnvironmentError",
|
337 |
+
"Exception",
|
338 |
+
"FileExistsError",
|
339 |
+
"FileNotFoundError",
|
340 |
+
"FloatingPointError",
|
341 |
+
"FutureWarning",
|
342 |
+
"GeneratorExit",
|
343 |
+
"IOError",
|
344 |
+
"ImportError",
|
345 |
+
"ImportWarning",
|
346 |
+
"IndentationError",
|
347 |
+
"IndexError",
|
348 |
+
"InterruptedError",
|
349 |
+
"IsADirectoryError",
|
350 |
+
"KeyError",
|
351 |
+
"KeyboardInterrupt",
|
352 |
+
"LookupError",
|
353 |
+
"MemoryError",
|
354 |
+
"ModuleNotFoundError",
|
355 |
+
"NameError",
|
356 |
+
"NotADirectoryError",
|
357 |
+
"NotImplemented",
|
358 |
+
"NotImplementedError",
|
359 |
+
"OSError",
|
360 |
+
"OverflowError",
|
361 |
+
"PendingDeprecationWarning",
|
362 |
+
"PermissionError",
|
363 |
+
"ProcessLookupError",
|
364 |
+
"RecursionError",
|
365 |
+
"ReferenceError",
|
366 |
+
"ResourceWarning",
|
367 |
+
"RuntimeError",
|
368 |
+
"RuntimeWarning",
|
369 |
+
"StopAsyncIteration",
|
370 |
+
"StopIteration",
|
371 |
+
"SyntaxError",
|
372 |
+
"SyntaxWarning",
|
373 |
+
"SystemError",
|
374 |
+
"SystemExit",
|
375 |
+
"TabError",
|
376 |
+
"TimeoutError",
|
377 |
+
"TypeError",
|
378 |
+
"UnboundLocalError",
|
379 |
+
"UnicodeDecodeError",
|
380 |
+
"UnicodeEncodeError",
|
381 |
+
"UnicodeError",
|
382 |
+
"UnicodeTranslateError",
|
383 |
+
"UnicodeWarning",
|
384 |
+
"UserWarning",
|
385 |
+
"ValueError",
|
386 |
+
"Warning",
|
387 |
+
"ZeroDivisionError"
|
388 |
+
].map((O) => ({ label: O, type: "type" }))).concat(/* @__PURE__ */ [
|
389 |
+
"bool",
|
390 |
+
"bytearray",
|
391 |
+
"bytes",
|
392 |
+
"classmethod",
|
393 |
+
"complex",
|
394 |
+
"float",
|
395 |
+
"frozenset",
|
396 |
+
"int",
|
397 |
+
"list",
|
398 |
+
"map",
|
399 |
+
"memoryview",
|
400 |
+
"object",
|
401 |
+
"range",
|
402 |
+
"set",
|
403 |
+
"staticmethod",
|
404 |
+
"str",
|
405 |
+
"super",
|
406 |
+
"tuple",
|
407 |
+
"type"
|
408 |
+
].map((O) => ({ label: O, type: "class" }))).concat(/* @__PURE__ */ [
|
409 |
+
"abs",
|
410 |
+
"aiter",
|
411 |
+
"all",
|
412 |
+
"anext",
|
413 |
+
"any",
|
414 |
+
"ascii",
|
415 |
+
"bin",
|
416 |
+
"breakpoint",
|
417 |
+
"callable",
|
418 |
+
"chr",
|
419 |
+
"compile",
|
420 |
+
"delattr",
|
421 |
+
"dict",
|
422 |
+
"dir",
|
423 |
+
"divmod",
|
424 |
+
"enumerate",
|
425 |
+
"eval",
|
426 |
+
"exec",
|
427 |
+
"exit",
|
428 |
+
"filter",
|
429 |
+
"format",
|
430 |
+
"getattr",
|
431 |
+
"globals",
|
432 |
+
"hasattr",
|
433 |
+
"hash",
|
434 |
+
"help",
|
435 |
+
"hex",
|
436 |
+
"id",
|
437 |
+
"input",
|
438 |
+
"isinstance",
|
439 |
+
"issubclass",
|
440 |
+
"iter",
|
441 |
+
"len",
|
442 |
+
"license",
|
443 |
+
"locals",
|
444 |
+
"max",
|
445 |
+
"min",
|
446 |
+
"next",
|
447 |
+
"oct",
|
448 |
+
"open",
|
449 |
+
"ord",
|
450 |
+
"pow",
|
451 |
+
"print",
|
452 |
+
"property",
|
453 |
+
"quit",
|
454 |
+
"repr",
|
455 |
+
"reversed",
|
456 |
+
"round",
|
457 |
+
"setattr",
|
458 |
+
"slice",
|
459 |
+
"sorted",
|
460 |
+
"sum",
|
461 |
+
"vars",
|
462 |
+
"zip"
|
463 |
+
].map((O) => ({ label: O, type: "function" }))), hi = [
|
464 |
+
/* @__PURE__ */ d("def ${name}(${params}):\n ${}", {
|
465 |
+
label: "def",
|
466 |
+
detail: "function",
|
467 |
+
type: "keyword"
|
468 |
+
}),
|
469 |
+
/* @__PURE__ */ d("for ${name} in ${collection}:\n ${}", {
|
470 |
+
label: "for",
|
471 |
+
detail: "loop",
|
472 |
+
type: "keyword"
|
473 |
+
}),
|
474 |
+
/* @__PURE__ */ d("while ${}:\n ${}", {
|
475 |
+
label: "while",
|
476 |
+
detail: "loop",
|
477 |
+
type: "keyword"
|
478 |
+
}),
|
479 |
+
/* @__PURE__ */ d("try:\n ${}\nexcept ${error}:\n ${}", {
|
480 |
+
label: "try",
|
481 |
+
detail: "/ except block",
|
482 |
+
type: "keyword"
|
483 |
+
}),
|
484 |
+
/* @__PURE__ */ d(`if \${}:
|
485 |
+
|
486 |
+
`, {
|
487 |
+
label: "if",
|
488 |
+
detail: "block",
|
489 |
+
type: "keyword"
|
490 |
+
}),
|
491 |
+
/* @__PURE__ */ d("if ${}:\n ${}\nelse:\n ${}", {
|
492 |
+
label: "if",
|
493 |
+
detail: "/ else block",
|
494 |
+
type: "keyword"
|
495 |
+
}),
|
496 |
+
/* @__PURE__ */ d("class ${name}:\n def __init__(self, ${params}):\n ${}", {
|
497 |
+
label: "class",
|
498 |
+
detail: "definition",
|
499 |
+
type: "keyword"
|
500 |
+
}),
|
501 |
+
/* @__PURE__ */ d("import ${module}", {
|
502 |
+
label: "import",
|
503 |
+
detail: "statement",
|
504 |
+
type: "keyword"
|
505 |
+
}),
|
506 |
+
/* @__PURE__ */ d("from ${module} import ${names}", {
|
507 |
+
label: "from",
|
508 |
+
detail: "import",
|
509 |
+
type: "keyword"
|
510 |
+
})
|
511 |
+
], ci = /* @__PURE__ */ B(I, /* @__PURE__ */ nO(/* @__PURE__ */ $i.concat(hi)));
|
512 |
+
function b(O) {
|
513 |
+
let { node: i, pos: e } = O, a = O.lineIndent(e, -1), r = null;
|
514 |
+
for (; ; ) {
|
515 |
+
let t = i.childBefore(e);
|
516 |
+
if (t)
|
517 |
+
if (t.name == "Comment")
|
518 |
+
e = t.from;
|
519 |
+
else if (t.name == "Body")
|
520 |
+
O.baseIndentFor(t) + O.unit <= a && (r = t), i = t;
|
521 |
+
else if (t.type.is("Statement"))
|
522 |
+
i = t;
|
523 |
+
else
|
524 |
+
break;
|
525 |
+
else break;
|
526 |
+
}
|
527 |
+
return r;
|
528 |
+
}
|
529 |
+
function G(O, i) {
|
530 |
+
let e = O.baseIndentFor(i), a = O.lineAt(O.pos, -1), r = a.from + a.text.length;
|
531 |
+
return /^\s*($|#)/.test(a.text) && O.node.to < r + 100 && !/\S/.test(O.state.sliceDoc(r, O.node.to)) && O.lineIndent(O.pos, -1) <= e || /^\s*(else:|elif |except |finally:)/.test(O.textAfter) && O.lineIndent(O.pos, -1) > e ? null : e + O.unit;
|
532 |
+
}
|
533 |
+
const W = /* @__PURE__ */ K.define({
|
534 |
+
name: "python",
|
535 |
+
parser: /* @__PURE__ */ gi.configure({
|
536 |
+
props: [
|
537 |
+
/* @__PURE__ */ M.add({
|
538 |
+
Body: (O) => {
|
539 |
+
var i;
|
540 |
+
let e = b(O);
|
541 |
+
return (i = G(O, e || O.node)) !== null && i !== void 0 ? i : O.continue();
|
542 |
+
},
|
543 |
+
IfStatement: (O) => /^\s*(else:|elif )/.test(O.textAfter) ? O.baseIndent : O.continue(),
|
544 |
+
"ForStatement WhileStatement": (O) => /^\s*else:/.test(O.textAfter) ? O.baseIndent : O.continue(),
|
545 |
+
TryStatement: (O) => /^\s*(except |finally:|else:)/.test(O.textAfter) ? O.baseIndent : O.continue(),
|
546 |
+
"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression": /* @__PURE__ */ X({ closing: ")" }),
|
547 |
+
"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression": /* @__PURE__ */ X({ closing: "}" }),
|
548 |
+
"ArrayExpression ArrayComprehensionExpression": /* @__PURE__ */ X({ closing: "]" }),
|
549 |
+
"String FormatString": () => null,
|
550 |
+
Script: (O) => {
|
551 |
+
var i;
|
552 |
+
let e = b(O);
|
553 |
+
return (i = e && G(O, e)) !== null && i !== void 0 ? i : O.continue();
|
554 |
+
}
|
555 |
+
}),
|
556 |
+
/* @__PURE__ */ OO.add({
|
557 |
+
"ArrayExpression DictionaryExpression SetExpression TupleExpression": iO,
|
558 |
+
Body: (O, i) => ({ from: O.from + 1, to: O.to - (O.to == i.doc.length ? 0 : 1) })
|
559 |
+
})
|
560 |
+
]
|
561 |
+
}),
|
562 |
+
languageData: {
|
563 |
+
closeBrackets: {
|
564 |
+
brackets: ["(", "[", "{", "'", '"', "'''", '"""'],
|
565 |
+
stringPrefixes: [
|
566 |
+
"f",
|
567 |
+
"fr",
|
568 |
+
"rf",
|
569 |
+
"r",
|
570 |
+
"u",
|
571 |
+
"b",
|
572 |
+
"br",
|
573 |
+
"rb",
|
574 |
+
"F",
|
575 |
+
"FR",
|
576 |
+
"RF",
|
577 |
+
"R",
|
578 |
+
"U",
|
579 |
+
"B",
|
580 |
+
"BR",
|
581 |
+
"RB"
|
582 |
+
]
|
583 |
+
},
|
584 |
+
commentTokens: { line: "#" },
|
585 |
+
indentOnInput: /^\s*([\}\]\)]|else:|elif |except |finally:)$/
|
586 |
+
}
|
587 |
+
});
|
588 |
+
function yi() {
|
589 |
+
return new eO(W, [
|
590 |
+
W.data.of({ autocomplete: mi }),
|
591 |
+
W.data.of({ autocomplete: ci })
|
592 |
+
]);
|
593 |
+
}
|
594 |
+
export {
|
595 |
+
ci as globalCompletion,
|
596 |
+
mi as localCompletionSource,
|
597 |
+
yi as python,
|
598 |
+
W as pythonLanguage
|
599 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
import { R as e, Q as o, O as B, M as d, W as l, K as p } from "./Index-
|
2 |
export {
|
3 |
e as BaseCode,
|
4 |
o as BaseCopy,
|
|
|
1 |
+
import { R as e, Q as o, O as B, M as d, W as l, K as p } from "./Index-COMtKkwP.js";
|
2 |
export {
|
3 |
e as BaseCode,
|
4 |
o as BaseCopy,
|
src/backend/gradio_highlightedcode/templates/component/r-Bz1d3XP0.js
ADDED
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function f(e) {
|
2 |
+
for (var n = {}, r = 0; r < e.length; ++r) n[e[r]] = !0;
|
3 |
+
return n;
|
4 |
+
}
|
5 |
+
var b = ["NULL", "NA", "Inf", "NaN", "NA_integer_", "NA_real_", "NA_complex_", "NA_character_", "TRUE", "FALSE"], g = ["list", "quote", "bquote", "eval", "return", "call", "parse", "deparse"], s = ["if", "else", "repeat", "while", "function", "for", "in", "next", "break"], y = ["if", "else", "repeat", "while", "function", "for"], h = f(b), m = f(g), N = f(s), A = f(y), k = /[+\-*\/^<>=!&|~$:]/, t;
|
6 |
+
function p(e, n) {
|
7 |
+
t = null;
|
8 |
+
var r = e.next();
|
9 |
+
if (r == "#")
|
10 |
+
return e.skipToEnd(), "comment";
|
11 |
+
if (r == "0" && e.eat("x"))
|
12 |
+
return e.eatWhile(/[\da-f]/i), "number";
|
13 |
+
if (r == "." && e.eat(/\d/))
|
14 |
+
return e.match(/\d*(?:e[+\-]?\d+)?/), "number";
|
15 |
+
if (/\d/.test(r))
|
16 |
+
return e.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/), "number";
|
17 |
+
if (r == "'" || r == '"')
|
18 |
+
return n.tokenize = E(r), "string";
|
19 |
+
if (r == "`")
|
20 |
+
return e.match(/[^`]+`/), "string.special";
|
21 |
+
if (r == "." && e.match(/.(?:[.]|\d+)/))
|
22 |
+
return "keyword";
|
23 |
+
if (/[a-zA-Z\.]/.test(r)) {
|
24 |
+
e.eatWhile(/[\w\.]/);
|
25 |
+
var i = e.current();
|
26 |
+
return h.propertyIsEnumerable(i) ? "atom" : N.propertyIsEnumerable(i) ? (A.propertyIsEnumerable(i) && !e.match(/\s*if(\s+|$)/, !1) && (t = "block"), "keyword") : m.propertyIsEnumerable(i) ? "builtin" : "variable";
|
27 |
+
} else return r == "%" ? (e.skipTo("%") && e.next(), "variableName.special") : r == "<" && e.eat("-") || r == "<" && e.match("<-") || r == "-" && e.match(/>>?/) || r == "=" && n.ctx.argList ? "operator" : k.test(r) ? (r == "$" || e.eatWhile(k), "operator") : /[\(\){}\[\];]/.test(r) ? (t = r, r == ";" ? "punctuation" : null) : null;
|
28 |
+
}
|
29 |
+
function E(e) {
|
30 |
+
return function(n, r) {
|
31 |
+
if (n.eat("\\")) {
|
32 |
+
var i = n.next();
|
33 |
+
return i == "x" ? n.match(/^[a-f0-9]{2}/i) : (i == "u" || i == "U") && n.eat("{") && n.skipTo("}") ? n.next() : i == "u" ? n.match(/^[a-f0-9]{4}/i) : i == "U" ? n.match(/^[a-f0-9]{8}/i) : /[0-7]/.test(i) && n.match(/^[0-7]{1,2}/), "string.special";
|
34 |
+
} else {
|
35 |
+
for (var l; (l = n.next()) != null; ) {
|
36 |
+
if (l == e) {
|
37 |
+
r.tokenize = p;
|
38 |
+
break;
|
39 |
+
}
|
40 |
+
if (l == "\\") {
|
41 |
+
n.backUp(1);
|
42 |
+
break;
|
43 |
+
}
|
44 |
+
}
|
45 |
+
return "string";
|
46 |
+
}
|
47 |
+
};
|
48 |
+
}
|
49 |
+
var v = 1, u = 2, c = 4;
|
50 |
+
function o(e, n, r) {
|
51 |
+
e.ctx = {
|
52 |
+
type: n,
|
53 |
+
indent: e.indent,
|
54 |
+
flags: 0,
|
55 |
+
column: r.column(),
|
56 |
+
prev: e.ctx
|
57 |
+
};
|
58 |
+
}
|
59 |
+
function x(e, n) {
|
60 |
+
var r = e.ctx;
|
61 |
+
e.ctx = {
|
62 |
+
type: r.type,
|
63 |
+
indent: r.indent,
|
64 |
+
flags: r.flags | n,
|
65 |
+
column: r.column,
|
66 |
+
prev: r.prev
|
67 |
+
};
|
68 |
+
}
|
69 |
+
function a(e) {
|
70 |
+
e.indent = e.ctx.indent, e.ctx = e.ctx.prev;
|
71 |
+
}
|
72 |
+
const I = {
|
73 |
+
name: "r",
|
74 |
+
startState: function(e) {
|
75 |
+
return {
|
76 |
+
tokenize: p,
|
77 |
+
ctx: {
|
78 |
+
type: "top",
|
79 |
+
indent: -e,
|
80 |
+
flags: u
|
81 |
+
},
|
82 |
+
indent: 0,
|
83 |
+
afterIdent: !1
|
84 |
+
};
|
85 |
+
},
|
86 |
+
token: function(e, n) {
|
87 |
+
if (e.sol() && (n.ctx.flags & 3 || (n.ctx.flags |= u), n.ctx.flags & c && a(n), n.indent = e.indentation()), e.eatSpace()) return null;
|
88 |
+
var r = n.tokenize(e, n);
|
89 |
+
return r != "comment" && !(n.ctx.flags & u) && x(n, v), (t == ";" || t == "{" || t == "}") && n.ctx.type == "block" && a(n), t == "{" ? o(n, "}", e) : t == "(" ? (o(n, ")", e), n.afterIdent && (n.ctx.argList = !0)) : t == "[" ? o(n, "]", e) : t == "block" ? o(n, "block", e) : t == n.ctx.type ? a(n) : n.ctx.type == "block" && r != "comment" && x(n, c), n.afterIdent = r == "variable" || r == "keyword", r;
|
90 |
+
},
|
91 |
+
indent: function(e, n, r) {
|
92 |
+
if (e.tokenize != p) return 0;
|
93 |
+
var i = n && n.charAt(0), l = e.ctx, d = i == l.type;
|
94 |
+
return l.flags & c && (l = l.prev), l.type == "block" ? l.indent + (i == "{" ? 0 : r.unit) : l.flags & v ? l.column + (d ? 0 : 1) : l.indent + (d ? 0 : r.unit);
|
95 |
+
},
|
96 |
+
languageData: {
|
97 |
+
wordChars: ".",
|
98 |
+
commentTokens: { line: "#" },
|
99 |
+
autocomplete: b.concat(g, s)
|
100 |
+
}
|
101 |
+
};
|
102 |
+
export {
|
103 |
+
I as r
|
104 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/shell-C0C2sNA_.js
ADDED
@@ -0,0 +1,182 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var c = {};
|
2 |
+
function s(n, e) {
|
3 |
+
for (var i = 0; i < e.length; i++)
|
4 |
+
c[e[i]] = n;
|
5 |
+
}
|
6 |
+
var k = ["true", "false"], h = [
|
7 |
+
"if",
|
8 |
+
"then",
|
9 |
+
"do",
|
10 |
+
"else",
|
11 |
+
"elif",
|
12 |
+
"while",
|
13 |
+
"until",
|
14 |
+
"for",
|
15 |
+
"in",
|
16 |
+
"esac",
|
17 |
+
"fi",
|
18 |
+
"fin",
|
19 |
+
"fil",
|
20 |
+
"done",
|
21 |
+
"exit",
|
22 |
+
"set",
|
23 |
+
"unset",
|
24 |
+
"export",
|
25 |
+
"function"
|
26 |
+
], p = [
|
27 |
+
"ab",
|
28 |
+
"awk",
|
29 |
+
"bash",
|
30 |
+
"beep",
|
31 |
+
"cat",
|
32 |
+
"cc",
|
33 |
+
"cd",
|
34 |
+
"chown",
|
35 |
+
"chmod",
|
36 |
+
"chroot",
|
37 |
+
"clear",
|
38 |
+
"cp",
|
39 |
+
"curl",
|
40 |
+
"cut",
|
41 |
+
"diff",
|
42 |
+
"echo",
|
43 |
+
"find",
|
44 |
+
"gawk",
|
45 |
+
"gcc",
|
46 |
+
"get",
|
47 |
+
"git",
|
48 |
+
"grep",
|
49 |
+
"hg",
|
50 |
+
"kill",
|
51 |
+
"killall",
|
52 |
+
"ln",
|
53 |
+
"ls",
|
54 |
+
"make",
|
55 |
+
"mkdir",
|
56 |
+
"openssl",
|
57 |
+
"mv",
|
58 |
+
"nc",
|
59 |
+
"nl",
|
60 |
+
"node",
|
61 |
+
"npm",
|
62 |
+
"ping",
|
63 |
+
"ps",
|
64 |
+
"restart",
|
65 |
+
"rm",
|
66 |
+
"rmdir",
|
67 |
+
"sed",
|
68 |
+
"service",
|
69 |
+
"sh",
|
70 |
+
"shopt",
|
71 |
+
"shred",
|
72 |
+
"source",
|
73 |
+
"sort",
|
74 |
+
"sleep",
|
75 |
+
"ssh",
|
76 |
+
"start",
|
77 |
+
"stop",
|
78 |
+
"su",
|
79 |
+
"sudo",
|
80 |
+
"svn",
|
81 |
+
"tee",
|
82 |
+
"telnet",
|
83 |
+
"top",
|
84 |
+
"touch",
|
85 |
+
"vi",
|
86 |
+
"vim",
|
87 |
+
"wall",
|
88 |
+
"wc",
|
89 |
+
"wget",
|
90 |
+
"who",
|
91 |
+
"write",
|
92 |
+
"yes",
|
93 |
+
"zsh"
|
94 |
+
];
|
95 |
+
s("atom", k);
|
96 |
+
s("keyword", h);
|
97 |
+
s("builtin", p);
|
98 |
+
function d(n, e) {
|
99 |
+
if (n.eatSpace()) return null;
|
100 |
+
var i = n.sol(), t = n.next();
|
101 |
+
if (t === "\\")
|
102 |
+
return n.next(), null;
|
103 |
+
if (t === "'" || t === '"' || t === "`")
|
104 |
+
return e.tokens.unshift(l(t, t === "`" ? "quote" : "string")), u(n, e);
|
105 |
+
if (t === "#")
|
106 |
+
return i && n.eat("!") ? (n.skipToEnd(), "meta") : (n.skipToEnd(), "comment");
|
107 |
+
if (t === "$")
|
108 |
+
return e.tokens.unshift(a), u(n, e);
|
109 |
+
if (t === "+" || t === "=")
|
110 |
+
return "operator";
|
111 |
+
if (t === "-")
|
112 |
+
return n.eat("-"), n.eatWhile(/\w/), "attribute";
|
113 |
+
if (t == "<") {
|
114 |
+
if (n.match("<<")) return "operator";
|
115 |
+
var o = n.match(/^<-?\s*(?:['"]([^'"]*)['"]|([^'"\s]*))/);
|
116 |
+
if (o)
|
117 |
+
return e.tokens.unshift(w(o[1] || o[2])), "string.special";
|
118 |
+
}
|
119 |
+
if (/\d/.test(t) && (n.eatWhile(/\d/), n.eol() || !/\w/.test(n.peek())))
|
120 |
+
return "number";
|
121 |
+
n.eatWhile(/[\w-]/);
|
122 |
+
var r = n.current();
|
123 |
+
return n.peek() === "=" && /\w+/.test(r) ? "def" : c.hasOwnProperty(r) ? c[r] : null;
|
124 |
+
}
|
125 |
+
function l(n, e) {
|
126 |
+
var i = n == "(" ? ")" : n == "{" ? "}" : n;
|
127 |
+
return function(t, o) {
|
128 |
+
for (var r, f = !1; (r = t.next()) != null; ) {
|
129 |
+
if (r === i && !f) {
|
130 |
+
o.tokens.shift();
|
131 |
+
break;
|
132 |
+
} else if (r === "$" && !f && n !== "'" && t.peek() != i) {
|
133 |
+
f = !0, t.backUp(1), o.tokens.unshift(a);
|
134 |
+
break;
|
135 |
+
} else {
|
136 |
+
if (!f && n !== i && r === n)
|
137 |
+
return o.tokens.unshift(l(n, e)), u(t, o);
|
138 |
+
if (!f && /['"]/.test(r) && !/['"]/.test(n)) {
|
139 |
+
o.tokens.unshift(g(r, "string")), t.backUp(1);
|
140 |
+
break;
|
141 |
+
}
|
142 |
+
}
|
143 |
+
f = !f && r === "\\";
|
144 |
+
}
|
145 |
+
return e;
|
146 |
+
};
|
147 |
+
}
|
148 |
+
function g(n, e) {
|
149 |
+
return function(i, t) {
|
150 |
+
return t.tokens[0] = l(n, e), i.next(), u(i, t);
|
151 |
+
};
|
152 |
+
}
|
153 |
+
var a = function(n, e) {
|
154 |
+
e.tokens.length > 1 && n.eat("$");
|
155 |
+
var i = n.next();
|
156 |
+
return /['"({]/.test(i) ? (e.tokens[0] = l(i, i == "(" ? "quote" : i == "{" ? "def" : "string"), u(n, e)) : (/\d/.test(i) || n.eatWhile(/\w/), e.tokens.shift(), "def");
|
157 |
+
};
|
158 |
+
function w(n) {
|
159 |
+
return function(e, i) {
|
160 |
+
return e.sol() && e.string == n && i.tokens.shift(), e.skipToEnd(), "string.special";
|
161 |
+
};
|
162 |
+
}
|
163 |
+
function u(n, e) {
|
164 |
+
return (e.tokens[0] || d)(n, e);
|
165 |
+
}
|
166 |
+
const v = {
|
167 |
+
name: "shell",
|
168 |
+
startState: function() {
|
169 |
+
return { tokens: [] };
|
170 |
+
},
|
171 |
+
token: function(n, e) {
|
172 |
+
return u(n, e);
|
173 |
+
},
|
174 |
+
languageData: {
|
175 |
+
autocomplete: k.concat(h, p),
|
176 |
+
closeBrackets: { brackets: ["(", "[", "{", "'", '"', "`"] },
|
177 |
+
commentTokens: { line: "#" }
|
178 |
+
}
|
179 |
+
};
|
180 |
+
export {
|
181 |
+
v as shell
|
182 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/style.css
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
src/backend/gradio_highlightedcode/templates/component/yaml-Dt6Tp2eU.js
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var l = ["true", "false", "on", "off", "yes", "no"], f = new RegExp("\\b((" + l.join(")|(") + "))$", "i");
|
2 |
+
const a = {
|
3 |
+
name: "yaml",
|
4 |
+
token: function(n, i) {
|
5 |
+
var r = n.peek(), e = i.escaped;
|
6 |
+
if (i.escaped = !1, r == "#" && (n.pos == 0 || /\s/.test(n.string.charAt(n.pos - 1))))
|
7 |
+
return n.skipToEnd(), "comment";
|
8 |
+
if (n.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))
|
9 |
+
return "string";
|
10 |
+
if (i.literal && n.indentation() > i.keyCol)
|
11 |
+
return n.skipToEnd(), "string";
|
12 |
+
if (i.literal && (i.literal = !1), n.sol()) {
|
13 |
+
if (i.keyCol = 0, i.pair = !1, i.pairStart = !1, n.match("---") || n.match("..."))
|
14 |
+
return "def";
|
15 |
+
if (n.match(/^\s*-\s+/))
|
16 |
+
return "meta";
|
17 |
+
}
|
18 |
+
if (n.match(/^(\{|\}|\[|\])/))
|
19 |
+
return r == "{" ? i.inlinePairs++ : r == "}" ? i.inlinePairs-- : r == "[" ? i.inlineList++ : i.inlineList--, "meta";
|
20 |
+
if (i.inlineList > 0 && !e && r == ",")
|
21 |
+
return n.next(), "meta";
|
22 |
+
if (i.inlinePairs > 0 && !e && r == ",")
|
23 |
+
return i.keyCol = 0, i.pair = !1, i.pairStart = !1, n.next(), "meta";
|
24 |
+
if (i.pairStart) {
|
25 |
+
if (n.match(/^\s*(\||\>)\s*/))
|
26 |
+
return i.literal = !0, "meta";
|
27 |
+
if (n.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))
|
28 |
+
return "variable";
|
29 |
+
if (i.inlinePairs == 0 && n.match(/^\s*-?[0-9\.\,]+\s?$/) || i.inlinePairs > 0 && n.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))
|
30 |
+
return "number";
|
31 |
+
if (n.match(f))
|
32 |
+
return "keyword";
|
33 |
+
}
|
34 |
+
return !i.pair && n.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/) ? (i.pair = !0, i.keyCol = n.indentation(), "atom") : i.pair && n.match(/^:\s*/) ? (i.pairStart = !0, "meta") : (i.pairStart = !1, i.escaped = r == "\\", n.next(), null);
|
35 |
+
},
|
36 |
+
startState: function() {
|
37 |
+
return {
|
38 |
+
pair: !1,
|
39 |
+
pairStart: !1,
|
40 |
+
keyCol: 0,
|
41 |
+
inlinePairs: 0,
|
42 |
+
inlineList: 0,
|
43 |
+
literal: !1,
|
44 |
+
escaped: !1
|
45 |
+
};
|
46 |
+
},
|
47 |
+
languageData: {
|
48 |
+
commentTokens: { line: "#" }
|
49 |
+
}
|
50 |
+
};
|
51 |
+
export {
|
52 |
+
a as yaml
|
53 |
+
};
|
src/backend/gradio_highlightedcode/templates/example/index.js
CHANGED
@@ -1,91 +1,102 @@
|
|
1 |
const {
|
2 |
-
SvelteComponent:
|
3 |
-
|
4 |
-
attr:
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
|
|
|
|
|
|
14 |
} = window.__gradio__svelte__internal;
|
15 |
-
function
|
16 |
-
let e,
|
17 |
/*value*/
|
18 |
-
(
|
19 |
/*value*/
|
20 |
-
|
21 |
) : "") + ""
|
22 |
), s;
|
23 |
return {
|
24 |
c() {
|
25 |
-
e =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
e,
|
27 |
"table",
|
28 |
/*type*/
|
29 |
-
|
30 |
-
),
|
31 |
e,
|
32 |
"gallery",
|
33 |
/*type*/
|
34 |
-
|
35 |
-
),
|
36 |
e,
|
37 |
"selected",
|
38 |
/*selected*/
|
39 |
-
|
40 |
);
|
41 |
},
|
42 |
m(t, l) {
|
43 |
-
v(t, e, l),
|
44 |
},
|
45 |
p(t, [l]) {
|
46 |
l & /*value*/
|
47 |
-
1 &&
|
48 |
(t[0] ? (
|
49 |
/*value*/
|
50 |
t[0]
|
51 |
-
) : "") + "") &&
|
52 |
-
2 &&
|
53 |
e,
|
54 |
"table",
|
55 |
/*type*/
|
56 |
t[1] === "table"
|
57 |
), l & /*type*/
|
58 |
-
2 &&
|
59 |
e,
|
60 |
"gallery",
|
61 |
/*type*/
|
62 |
t[1] === "gallery"
|
63 |
), l & /*selected*/
|
64 |
-
4 &&
|
65 |
e,
|
66 |
"selected",
|
67 |
/*selected*/
|
68 |
t[2]
|
69 |
);
|
70 |
},
|
71 |
-
i:
|
72 |
-
o:
|
73 |
d(t) {
|
74 |
-
t &&
|
75 |
}
|
76 |
};
|
77 |
}
|
78 |
-
function p(
|
79 |
let { value: s } = e, { type: t } = e, { selected: l = !1 } = e;
|
80 |
-
return
|
81 |
-
"value" in
|
82 |
}, [s, t, l];
|
83 |
}
|
84 |
-
class
|
85 |
constructor(e) {
|
86 |
-
super(),
|
87 |
}
|
88 |
}
|
89 |
export {
|
90 |
-
|
91 |
};
|
|
|
1 |
const {
|
2 |
+
SvelteComponent: f,
|
3 |
+
append_hydration: u,
|
4 |
+
attr: d,
|
5 |
+
children: o,
|
6 |
+
claim_element: h,
|
7 |
+
claim_text: g,
|
8 |
+
detach: _,
|
9 |
+
element: m,
|
10 |
+
init: y,
|
11 |
+
insert_hydration: v,
|
12 |
+
noop: c,
|
13 |
+
safe_not_equal: b,
|
14 |
+
set_data: E,
|
15 |
+
text: q,
|
16 |
+
toggle_class: r
|
17 |
} = window.__gradio__svelte__internal;
|
18 |
+
function w(n) {
|
19 |
+
let e, a = (
|
20 |
/*value*/
|
21 |
+
(n[0] ? (
|
22 |
/*value*/
|
23 |
+
n[0]
|
24 |
) : "") + ""
|
25 |
), s;
|
26 |
return {
|
27 |
c() {
|
28 |
+
e = m("pre"), s = q(a), this.h();
|
29 |
+
},
|
30 |
+
l(t) {
|
31 |
+
e = h(t, "PRE", { class: !0 });
|
32 |
+
var l = o(e);
|
33 |
+
s = g(l, a), l.forEach(_), this.h();
|
34 |
+
},
|
35 |
+
h() {
|
36 |
+
d(e, "class", "svelte-1ioyqn2"), r(
|
37 |
e,
|
38 |
"table",
|
39 |
/*type*/
|
40 |
+
n[1] === "table"
|
41 |
+
), r(
|
42 |
e,
|
43 |
"gallery",
|
44 |
/*type*/
|
45 |
+
n[1] === "gallery"
|
46 |
+
), r(
|
47 |
e,
|
48 |
"selected",
|
49 |
/*selected*/
|
50 |
+
n[2]
|
51 |
);
|
52 |
},
|
53 |
m(t, l) {
|
54 |
+
v(t, e, l), u(e, s);
|
55 |
},
|
56 |
p(t, [l]) {
|
57 |
l & /*value*/
|
58 |
+
1 && a !== (a = /*value*/
|
59 |
(t[0] ? (
|
60 |
/*value*/
|
61 |
t[0]
|
62 |
+
) : "") + "") && E(s, a), l & /*type*/
|
63 |
+
2 && r(
|
64 |
e,
|
65 |
"table",
|
66 |
/*type*/
|
67 |
t[1] === "table"
|
68 |
), l & /*type*/
|
69 |
+
2 && r(
|
70 |
e,
|
71 |
"gallery",
|
72 |
/*type*/
|
73 |
t[1] === "gallery"
|
74 |
), l & /*selected*/
|
75 |
+
4 && r(
|
76 |
e,
|
77 |
"selected",
|
78 |
/*selected*/
|
79 |
t[2]
|
80 |
);
|
81 |
},
|
82 |
+
i: c,
|
83 |
+
o: c,
|
84 |
d(t) {
|
85 |
+
t && _(e);
|
86 |
}
|
87 |
};
|
88 |
}
|
89 |
+
function p(n, e, a) {
|
90 |
let { value: s } = e, { type: t } = e, { selected: l = !1 } = e;
|
91 |
+
return n.$$set = (i) => {
|
92 |
+
"value" in i && a(0, s = i.value), "type" in i && a(1, t = i.type), "selected" in i && a(2, l = i.selected);
|
93 |
}, [s, t, l];
|
94 |
}
|
95 |
+
class C extends f {
|
96 |
constructor(e) {
|
97 |
+
super(), y(this, e, p, w, b, { value: 0, type: 1, selected: 2 });
|
98 |
}
|
99 |
}
|
100 |
export {
|
101 |
+
C as default
|
102 |
};
|
src/demo/space.py
CHANGED
@@ -3,8 +3,8 @@ import gradio as gr
|
|
3 |
from app import demo as app
|
4 |
import os
|
5 |
|
6 |
-
_docs = {'HighlightedCode': {'description': 'Creates a code editor for viewing code (as an ouptut component), or for entering and editing code (as an input component).', 'members': {'__init__': {'value': {'type': 'str | tuple[str] | None', 'default': 'None', 'description': 'Default value to show in the code editor. If callable, the function will be called whenever the app loads to set the initial value of the component.'}, 'language': {'type': '"python"\n | "markdown"\n | "json"\n | "html"\n | "css"\n | "javascript"\n | "typescript"\n | "yaml"\n | "dockerfile"\n | "shell"\n | "r"
|
7 |
-
|
8 |
abs_path = os.path.join(os.path.dirname(__file__), "css.css")
|
9 |
|
10 |
with gr.Blocks(
|
@@ -97,8 +97,8 @@ if __name__ == "__main__":
|
|
97 |
|
98 |
The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
|
99 |
|
100 |
-
- When used as an Input, the component only impacts the input signature of the user function.
|
101 |
-
- When used as an output, the component only impacts the return signature of the user function.
|
102 |
|
103 |
The code snippet below is accurate in cases where the component is used as both an input and an output.
|
104 |
|
@@ -134,7 +134,7 @@ def predict(
|
|
134 |
})
|
135 |
}
|
136 |
})
|
137 |
-
|
138 |
Object.entries(refs).forEach(([key, refs]) => {
|
139 |
if (refs.length > 0) {
|
140 |
const el = document.querySelector(`.${key}`);
|
|
|
3 |
from app import demo as app
|
4 |
import os
|
5 |
|
6 |
+
_docs = {'HighlightedCode': {'description': 'Creates a code editor for viewing code (as an ouptut component), or for entering and editing code (as an input component).', 'members': {'__init__': {'value': {'type': 'str | tuple[str] | None', 'default': 'None', 'description': 'Default value to show in the code editor. If callable, the function will be called whenever the app loads to set the initial value of the component.'}, 'language': {'type': 'typing.Optional[\n typing.Literal[\n "python",\n "markdown",\n "json",\n "html",\n "css",\n "javascript",\n "typescript",\n "yaml",\n "dockerfile",\n "shell",\n "r",\n ]\n][\n "python"\n | "markdown"\n | "json"\n | "html"\n | "css"\n | "javascript"\n | "typescript"\n | "yaml"\n | "dockerfile"\n | "shell"\n | "r",\n None,\n]', 'default': 'None', 'description': 'The language to display the code as. Supported languages listed in `gr.Code.languages`.'}, 'highlights': {'type': 'list[tuple[int, str]] | None', 'default': 'None', 'description': 'A list of tuples indicating lines to highlight. The first element of the tuple is the starting line number (1-indexed) and the second element is the highlight color (as a CSS hex string). The highlights are applied in order, with later highlights taking precedence over earlier ones.'}, 'every': {'type': 'float | None', 'default': 'None', 'description': "If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute."}, 'lines': {'type': 'int', 'default': '5', 'description': None}, 'label': {'type': 'str | None', 'default': 'None', 'description': 'The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.'}, 'interactive': {'type': 'bool | None', 'default': 'None', 'description': 'Whether user should be able to enter code or only view it.'}, 'show_label': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will display label.'}, 'container': {'type': 'bool', 'default': 'True', 'description': 'If True, will place the component in a container - providing some extra padding around the border.'}, 'scale': {'type': 'int | None', 'default': 'None', 'description': 'relative width compared to adjacent Components in a Row. For example, if Component A has scale=2, and Component B has scale=1, A will be twice as wide as B. Should be an integer.'}, 'min_width': {'type': 'int', 'default': '160', 'description': 'minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.'}, 'visible': {'type': 'bool', 'default': 'True', 'description': 'If False, component will be hidden.'}, 'elem_id': {'type': 'str | None', 'default': 'None', 'description': 'An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'elem_classes': {'type': 'list[str] | str | None', 'default': 'None', 'description': 'An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'render': {'type': 'bool', 'default': 'True', 'description': 'If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.'}}, 'postprocess': {'value': {'type': 'tuple[str] | str | None', 'description': 'Expects a `str` of code or a single-element `tuple`: (filepath,) with the `str` path to a file containing the code.'}}, 'preprocess': {'return': {'type': 'str | None', 'description': 'Passes the code entered as a `str`.'}, 'value': None}}, 'events': {'change': {'type': None, 'default': None, 'description': 'Triggered when the value of the HighlightedCode changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input.'}, 'input': {'type': None, 'default': None, 'description': 'This listener is triggered when the user changes the value of the HighlightedCode.'}, 'focus': {'type': None, 'default': None, 'description': 'This listener is triggered when the HighlightedCode is focused.'}, 'blur': {'type': None, 'default': None, 'description': 'This listener is triggered when the HighlightedCode is unfocused/blurred.'}}}, '__meta__': {'additional_interfaces': {}, 'user_fn_refs': {'HighlightedCode': []}}}
|
7 |
+
|
8 |
abs_path = os.path.join(os.path.dirname(__file__), "css.css")
|
9 |
|
10 |
with gr.Blocks(
|
|
|
97 |
|
98 |
The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
|
99 |
|
100 |
+
- When used as an Input, the component only impacts the input signature of the user function.
|
101 |
+
- When used as an output, the component only impacts the return signature of the user function.
|
102 |
|
103 |
The code snippet below is accurate in cases where the component is used as both an input and an output.
|
104 |
|
|
|
134 |
})
|
135 |
}
|
136 |
})
|
137 |
+
|
138 |
Object.entries(refs).forEach(([key, refs]) => {
|
139 |
if (refs.length > 0) {
|
140 |
const el = document.querySelector(`.${key}`);
|
src/frontend/package-lock.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
src/frontend/package.json
CHANGED
@@ -7,29 +7,29 @@
|
|
7 |
"license": "ISC",
|
8 |
"private": false,
|
9 |
"dependencies": {
|
10 |
-
"@codemirror/autocomplete": "^6.
|
11 |
-
"@codemirror/commands": "^6.1
|
12 |
-
"@codemirror/lang-css": "^6.
|
13 |
-
"@codemirror/lang-html": "^6.4.
|
14 |
-
"@codemirror/lang-javascript": "^6.
|
15 |
"@codemirror/lang-json": "^6.0.1",
|
16 |
-
"@codemirror/lang-markdown": "^6.
|
17 |
-
"@codemirror/lang-python": "^6.
|
18 |
-
"@codemirror/language": "^6.
|
19 |
-
"@codemirror/legacy-modes": "^6.
|
20 |
-
"@codemirror/lint": "^6.
|
21 |
-
"@codemirror/search": "^6.
|
22 |
-
"@codemirror/state": "^6.1
|
23 |
-
"@codemirror/view": "^6.
|
24 |
-
"@gradio/atoms": "0.
|
25 |
-
"@gradio/icons": "0.
|
26 |
-
"@gradio/statustracker": "0.
|
27 |
-
"@gradio/upload": "0.
|
28 |
-
"@gradio/utils": "0.
|
29 |
-
"@gradio/wasm": "0.
|
30 |
-
"@lezer/common": "^1.
|
31 |
-
"@lezer/highlight": "^1.1
|
32 |
-
"@lezer/markdown": "^1.
|
33 |
"cm6-theme-basic-dark": "^0.2.0",
|
34 |
"cm6-theme-basic-light": "^0.2.0",
|
35 |
"codemirror": "^6.0.1"
|
@@ -37,8 +37,15 @@
|
|
37 |
"main_changeset": true,
|
38 |
"main": "./Index.svelte",
|
39 |
"exports": {
|
40 |
-
".":
|
41 |
-
|
|
|
|
|
|
|
|
|
42 |
"./package.json": "./package.json"
|
|
|
|
|
|
|
43 |
}
|
44 |
-
}
|
|
|
7 |
"license": "ISC",
|
8 |
"private": false,
|
9 |
"dependencies": {
|
10 |
+
"@codemirror/autocomplete": "^6.18.1",
|
11 |
+
"@codemirror/commands": "^6.7.1",
|
12 |
+
"@codemirror/lang-css": "^6.3.0",
|
13 |
+
"@codemirror/lang-html": "^6.4.9",
|
14 |
+
"@codemirror/lang-javascript": "^6.2.2",
|
15 |
"@codemirror/lang-json": "^6.0.1",
|
16 |
+
"@codemirror/lang-markdown": "^6.3.0",
|
17 |
+
"@codemirror/lang-python": "^6.1.6",
|
18 |
+
"@codemirror/language": "^6.10.3",
|
19 |
+
"@codemirror/legacy-modes": "^6.4.1",
|
20 |
+
"@codemirror/lint": "^6.8.2",
|
21 |
+
"@codemirror/search": "^6.5.6",
|
22 |
+
"@codemirror/state": "^6.4.1",
|
23 |
+
"@codemirror/view": "^6.34.1",
|
24 |
+
"@gradio/atoms": "0.9.2",
|
25 |
+
"@gradio/icons": "0.8.0",
|
26 |
+
"@gradio/statustracker": "0.9.1",
|
27 |
+
"@gradio/upload": "0.13.3",
|
28 |
+
"@gradio/utils": "0.7.0",
|
29 |
+
"@gradio/wasm": "0.14.2",
|
30 |
+
"@lezer/common": "^1.2.3",
|
31 |
+
"@lezer/highlight": "^1.2.1",
|
32 |
+
"@lezer/markdown": "^1.3.1",
|
33 |
"cm6-theme-basic-dark": "^0.2.0",
|
34 |
"cm6-theme-basic-light": "^0.2.0",
|
35 |
"codemirror": "^6.0.1"
|
|
|
37 |
"main_changeset": true,
|
38 |
"main": "./Index.svelte",
|
39 |
"exports": {
|
40 |
+
".": {
|
41 |
+
"gradio": "./Index.svelte"
|
42 |
+
},
|
43 |
+
"./example": {
|
44 |
+
"gradio": "./Example.svelte"
|
45 |
+
},
|
46 |
"./package.json": "./package.json"
|
47 |
+
},
|
48 |
+
"devDependencies": {
|
49 |
+
"@gradio/preview": "^0.12.0"
|
50 |
}
|
51 |
+
}
|
src/pyproject.toml
CHANGED
@@ -8,7 +8,7 @@ build-backend = "hatchling.build"
|
|
8 |
|
9 |
[project]
|
10 |
name = "gradio_highlightedcode"
|
11 |
-
version = "0.0.
|
12 |
description = "A variant of the Code component that supports highlighting lines of code."
|
13 |
readme = "README.md"
|
14 |
license = "MIT"
|
@@ -16,7 +16,7 @@ requires-python = ">=3.8"
|
|
16 |
authors = [{ name = "YOUR NAME", email = "[email protected]" }]
|
17 |
keywords = ["gradio-custom-component", "gradio-template-Code", "code", "highlighted", "completion"]
|
18 |
# Add dependencies here
|
19 |
-
dependencies = ["gradio>=4.0,<
|
20 |
classifiers = [
|
21 |
'Development Status :: 3 - Alpha',
|
22 |
'License :: OSI Approved :: Apache Software License',
|
|
|
8 |
|
9 |
[project]
|
10 |
name = "gradio_highlightedcode"
|
11 |
+
version = "0.0.4"
|
12 |
description = "A variant of the Code component that supports highlighting lines of code."
|
13 |
readme = "README.md"
|
14 |
license = "MIT"
|
|
|
16 |
authors = [{ name = "YOUR NAME", email = "[email protected]" }]
|
17 |
keywords = ["gradio-custom-component", "gradio-template-Code", "code", "highlighted", "completion"]
|
18 |
# Add dependencies here
|
19 |
+
dependencies = ["gradio>=4.0,<6.0"]
|
20 |
classifiers = [
|
21 |
'Development Status :: 3 - Alpha',
|
22 |
'License :: OSI Approved :: Apache Software License',
|