abidlabs HF staff commited on
Commit
84bd47c
1 Parent(s): fead4cd

Upload folder using huggingface_hub

Browse files
.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
- tags: [gradio-custom-component,gradio-template-Code,code,highlighted,completion]
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
- # Name: gradio_highlightedcode
14
 
15
- Description: A variant of the Code component that supports highlighting lines of code.
 
 
16
 
17
- Install with: pip install gradio_highlightedcode
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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"\n | None', '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,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
- "python"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  | "markdown"
86
  | "json"
87
  | "html"
@@ -91,8 +106,9 @@ str | tuple[str] | None
91
  | "yaml"
92
  | "dockerfile"
93
  | "shell"
94
- | "r"
95
- | None
 
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-805076c9.js";
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: u,
3
- append: c,
4
- attr: o,
5
- detach: r,
6
- element: d,
7
- init: g,
8
- insert: v,
9
- noop: f,
10
- safe_not_equal: y,
11
- set_data: m,
12
- text: b,
13
- toggle_class: i
 
 
 
14
  } = window.__gradio__svelte__internal;
15
- function h(a) {
16
- let e, n = (
17
  /*value*/
18
- (a[0] ? (
19
  /*value*/
20
- a[0]
21
  ) : "") + ""
22
  ), s;
23
  return {
24
  c() {
25
- e = d("pre"), s = b(n), o(e, "class", "svelte-1ioyqn2"), i(
 
 
 
 
 
 
 
 
26
  e,
27
  "table",
28
  /*type*/
29
- a[1] === "table"
30
- ), i(
31
  e,
32
  "gallery",
33
  /*type*/
34
- a[1] === "gallery"
35
- ), i(
36
  e,
37
  "selected",
38
  /*selected*/
39
- a[2]
40
  );
41
  },
42
  m(t, l) {
43
- v(t, e, l), c(e, s);
44
  },
45
  p(t, [l]) {
46
  l & /*value*/
47
- 1 && n !== (n = /*value*/
48
  (t[0] ? (
49
  /*value*/
50
  t[0]
51
- ) : "") + "") && m(s, n), l & /*type*/
52
- 2 && i(
53
  e,
54
  "table",
55
  /*type*/
56
  t[1] === "table"
57
  ), l & /*type*/
58
- 2 && i(
59
  e,
60
  "gallery",
61
  /*type*/
62
  t[1] === "gallery"
63
  ), l & /*selected*/
64
- 4 && i(
65
  e,
66
  "selected",
67
  /*selected*/
68
  t[2]
69
  );
70
  },
71
- i: f,
72
- o: f,
73
  d(t) {
74
- t && r(e);
75
  }
76
  };
77
  }
78
- function p(a, e, n) {
79
  let { value: s } = e, { type: t } = e, { selected: l = !1 } = e;
80
- return a.$$set = (_) => {
81
- "value" in _ && n(0, s = _.value), "type" in _ && n(1, t = _.type), "selected" in _ && n(2, l = _.selected);
82
  }, [s, t, l];
83
  }
84
- class q extends u {
85
  constructor(e) {
86
- super(), g(this, e, p, h, y, { value: 0, type: 1, selected: 2 });
87
  }
88
  }
89
  export {
90
- q as default
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"\n | None', '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,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.3.0",
11
- "@codemirror/commands": "^6.1.2",
12
- "@codemirror/lang-css": "^6.1.0",
13
- "@codemirror/lang-html": "^6.4.2",
14
- "@codemirror/lang-javascript": "^6.1.4",
15
  "@codemirror/lang-json": "^6.0.1",
16
- "@codemirror/lang-markdown": "^6.1.0",
17
- "@codemirror/lang-python": "^6.0.4",
18
- "@codemirror/language": "^6.6.0",
19
- "@codemirror/legacy-modes": "^6.3.1",
20
- "@codemirror/lint": "^6.0.0",
21
- "@codemirror/search": "^6.2.2",
22
- "@codemirror/state": "^6.1.2",
23
- "@codemirror/view": "^6.4.1",
24
- "@gradio/atoms": "0.5.0",
25
- "@gradio/icons": "0.3.2",
26
- "@gradio/statustracker": "0.4.4",
27
- "@gradio/upload": "0.7.0",
28
- "@gradio/utils": "0.2.1",
29
- "@gradio/wasm": "0.5.1",
30
- "@lezer/common": "^1.0.2",
31
- "@lezer/highlight": "^1.1.3",
32
- "@lezer/markdown": "^1.0.2",
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
- ".": "./Index.svelte",
41
- "./example": "./Example.svelte",
 
 
 
 
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.3"
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,<5.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',