Spaces:
Runtime error
Runtime error
Upload folder using huggingface_hub
Browse files- README.md +3 -3
- __pycache__/__init__.cpython-311.pyc +0 -0
- __pycache__/app.cpython-311.pyc +0 -0
- app.py +22 -6
- space.py +23 -7
- src/README.md +23 -7
- src/backend/gradio_highlightedcode/highlightedcode.py +1 -1
- src/backend/gradio_highlightedcode/highlightedcode.pyi +1 -1
- src/backend/gradio_highlightedcode/templates/component/Index-805076c9.js +0 -0
- src/backend/gradio_highlightedcode/templates/component/frontmatter-4dfee5e8.js +44 -0
- src/backend/gradio_highlightedcode/templates/component/index-3f1cf095.js +1301 -0
- src/backend/gradio_highlightedcode/templates/component/index-55bcb1bf.js +76 -0
- src/backend/gradio_highlightedcode/templates/component/index-6c267d21.js +979 -0
- src/backend/gradio_highlightedcode/templates/component/index-8ba95b76.js +923 -0
- src/backend/gradio_highlightedcode/templates/component/index-8d61f887.js +546 -0
- src/backend/gradio_highlightedcode/templates/component/index-9f51af45.js +547 -0
- src/backend/gradio_highlightedcode/templates/component/index-b8615717.js +1758 -0
- src/backend/gradio_highlightedcode/templates/component/index.js +1 -1
- src/demo/app.py +22 -6
- src/demo/space.py +23 -7
- src/frontend/Index.svelte +2 -0
- src/frontend/shared/Code.svelte +16 -2
- src/pyproject.toml +2 -2
README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
|
2 |
---
|
3 |
tags: [gradio-custom-component,gradio-template-Code,code,highlighted,completion]
|
4 |
-
title: gradio_highlightedcode V0.0.
|
5 |
-
colorFrom:
|
6 |
-
colorTo:
|
7 |
sdk: docker
|
8 |
pinned: false
|
9 |
license: apache-2.0
|
|
|
1 |
|
2 |
---
|
3 |
tags: [gradio-custom-component,gradio-template-Code,code,highlighted,completion]
|
4 |
+
title: gradio_highlightedcode V0.0.2
|
5 |
+
colorFrom: gray
|
6 |
+
colorTo: blue
|
7 |
sdk: docker
|
8 |
pinned: false
|
9 |
license: apache-2.0
|
__pycache__/__init__.cpython-311.pyc
ADDED
Binary file (177 Bytes). View file
|
|
__pycache__/app.cpython-311.pyc
ADDED
Binary file (1.73 kB). View file
|
|
app.py
CHANGED
@@ -1,17 +1,33 @@
|
|
1 |
|
|
|
2 |
import gradio as gr
|
3 |
from gradio_highlightedcode import HighlightedCode
|
4 |
|
5 |
|
6 |
example = HighlightedCode().example_inputs()
|
7 |
|
8 |
-
|
9 |
-
lambda x:x,
|
10 |
-
HighlightedCode(), # interactive version of your component
|
11 |
-
HighlightedCode(), # static version of your component
|
12 |
-
# examples=[[example]], # uncomment this line to view the "example version" of your component
|
13 |
-
)
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
if __name__ == "__main__":
|
17 |
demo.launch()
|
|
|
1 |
|
2 |
+
import time
|
3 |
import gradio as gr
|
4 |
from gradio_highlightedcode import HighlightedCode
|
5 |
|
6 |
|
7 |
example = HighlightedCode().example_inputs()
|
8 |
|
9 |
+
initial_value = """import random
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
+
def scramble_name(name):
|
12 |
+
name_list = list(name)
|
13 |
+
"""
|
14 |
+
|
15 |
+
completion = """ random.shuffle(name_list)
|
16 |
+
return ''.join(name_list)
|
17 |
+
|
18 |
+
# Example usage:
|
19 |
+
print(scramble_name("Python"))
|
20 |
+
"""
|
21 |
+
|
22 |
+
def generate_code():
|
23 |
+
for i in range(len(completion)):
|
24 |
+
time.sleep(0.03)
|
25 |
+
yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
|
26 |
+
|
27 |
+
with gr.Blocks() as demo:
|
28 |
+
code = HighlightedCode(initial_value, language="python")
|
29 |
+
btn = gr.Button("Generate", variant="primary")
|
30 |
+
btn.click(generate_code, outputs=code)
|
31 |
|
32 |
if __name__ == "__main__":
|
33 |
demo.launch()
|
space.py
CHANGED
@@ -21,7 +21,7 @@ with gr.Blocks(
|
|
21 |
# `gradio_highlightedcode`
|
22 |
|
23 |
<div style="display: flex; gap: 7px;">
|
24 |
-
<img alt="
|
25 |
</div>
|
26 |
|
27 |
A variant of the Code component that supports highlighting lines of code.
|
@@ -39,19 +39,35 @@ pip install gradio_highlightedcode
|
|
39 |
|
40 |
```python
|
41 |
|
|
|
42 |
import gradio as gr
|
43 |
from gradio_highlightedcode import HighlightedCode
|
44 |
|
45 |
|
46 |
example = HighlightedCode().example_inputs()
|
47 |
|
48 |
-
|
49 |
-
lambda x:x,
|
50 |
-
HighlightedCode(), # interactive version of your component
|
51 |
-
HighlightedCode(), # static version of your component
|
52 |
-
# examples=[[example]], # uncomment this line to view the "example version" of your component
|
53 |
-
)
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
if __name__ == "__main__":
|
57 |
demo.launch()
|
|
|
21 |
# `gradio_highlightedcode`
|
22 |
|
23 |
<div style="display: flex; gap: 7px;">
|
24 |
+
<a href="https://pypi.org/project/gradio_highlightedcode/" target="_blank"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/gradio_highlightedcode"></a>
|
25 |
</div>
|
26 |
|
27 |
A variant of the Code component that supports highlighting lines of code.
|
|
|
39 |
|
40 |
```python
|
41 |
|
42 |
+
import time
|
43 |
import gradio as gr
|
44 |
from gradio_highlightedcode import HighlightedCode
|
45 |
|
46 |
|
47 |
example = HighlightedCode().example_inputs()
|
48 |
|
49 |
+
initial_value = """import random
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
+
def scramble_name(name):
|
52 |
+
name_list = list(name)
|
53 |
+
"""
|
54 |
+
|
55 |
+
completion = """ random.shuffle(name_list)
|
56 |
+
return ''.join(name_list)
|
57 |
+
|
58 |
+
# Example usage:
|
59 |
+
print(scramble_name("Python"))
|
60 |
+
"""
|
61 |
+
|
62 |
+
def generate_code():
|
63 |
+
for i in range(len(completion)):
|
64 |
+
time.sleep(0.03)
|
65 |
+
yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
|
66 |
+
|
67 |
+
with gr.Blocks() as demo:
|
68 |
+
code = HighlightedCode(initial_value, language="python")
|
69 |
+
btn = gr.Button("Generate", variant="primary")
|
70 |
+
btn.click(generate_code, outputs=code)
|
71 |
|
72 |
if __name__ == "__main__":
|
73 |
demo.launch()
|
src/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
|
2 |
# `gradio_highlightedcode`
|
3 |
-
<img alt="
|
4 |
|
5 |
A variant of the Code component that supports highlighting lines of code.
|
6 |
|
@@ -14,19 +14,35 @@ pip install gradio_highlightedcode
|
|
14 |
|
15 |
```python
|
16 |
|
|
|
17 |
import gradio as gr
|
18 |
from gradio_highlightedcode import HighlightedCode
|
19 |
|
20 |
|
21 |
example = HighlightedCode().example_inputs()
|
22 |
|
23 |
-
|
24 |
-
lambda x:x,
|
25 |
-
HighlightedCode(), # interactive version of your component
|
26 |
-
HighlightedCode(), # static version of your component
|
27 |
-
# examples=[[example]], # uncomment this line to view the "example version" of your component
|
28 |
-
)
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
if __name__ == "__main__":
|
32 |
demo.launch()
|
|
|
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 |
|
|
|
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()
|
src/backend/gradio_highlightedcode/highlightedcode.py
CHANGED
@@ -95,7 +95,7 @@ class HighlightedCode(Component):
|
|
95 |
|
96 |
self.language = language
|
97 |
self.lines = lines
|
98 |
-
self.highlights = highlights
|
99 |
super().__init__(
|
100 |
label=label,
|
101 |
every=every,
|
|
|
95 |
|
96 |
self.language = language
|
97 |
self.lines = lines
|
98 |
+
self.highlights = highlights or []
|
99 |
super().__init__(
|
100 |
label=label,
|
101 |
every=every,
|
src/backend/gradio_highlightedcode/highlightedcode.pyi
CHANGED
@@ -96,7 +96,7 @@ class HighlightedCode(Component):
|
|
96 |
|
97 |
self.language = language
|
98 |
self.lines = lines
|
99 |
-
self.highlights = highlights
|
100 |
super().__init__(
|
101 |
label=label,
|
102 |
every=every,
|
|
|
96 |
|
97 |
self.language = language
|
98 |
self.lines = lines
|
99 |
+
self.highlights = highlights or []
|
100 |
super().__init__(
|
101 |
label=label,
|
102 |
every=every,
|
src/backend/gradio_highlightedcode/templates/component/Index-805076c9.js
ADDED
The diff for this file is too large to render.
See raw diff
|
|
src/backend/gradio_highlightedcode/templates/component/frontmatter-4dfee5e8.js
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { s, f as m, c as l, p as i, t as o, S as f } from "./Index-805076c9.js";
|
2 |
+
import { yaml as p } from "./yaml-cef3802d.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-3f1cf095.js
ADDED
@@ -0,0 +1,1301 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { P as L, l as M, j as $, J as E, k as y, m as S, I as j } from "./Index-805076c9.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 = h.dynamicPrecedence(i);
|
47 |
+
if (r && (this.score += r), s == 0) {
|
48 |
+
this.pushState(h.getGoto(this.state, i, !0), this.reducePos), i < h.minRepeatTerm && this.storeNode(i, this.reducePos, this.reducePos, 4, !0), this.reduceContext(i, this.reducePos);
|
49 |
+
return;
|
50 |
+
}
|
51 |
+
let n = this.stack.length - (s - 1) * 3 - (t & 262144 ? 6 : 0), o = n ? this.stack[n - 2] : this.p.ranges[0].from, a = this.reducePos - o;
|
52 |
+
a >= 2e3 && !(!((e = this.p.parser.nodeSet.types[i]) === null || e === void 0) && e.isAnonymous) && (o == this.p.lastBigReductionStart ? (this.p.bigReductionCount++, this.p.lastBigReductionSize = a) : this.p.lastBigReductionSize < a && (this.p.bigReductionCount = 1, this.p.lastBigReductionStart = o, this.p.lastBigReductionSize = a));
|
53 |
+
let u = n ? this.stack[n - 1] : 0, f = this.bufferBase + this.buffer.length - u;
|
54 |
+
if (i < h.minRepeatTerm || t & 131072) {
|
55 |
+
let c = h.stateFlag(
|
56 |
+
this.state,
|
57 |
+
1
|
58 |
+
/* StateFlag.Skipped */
|
59 |
+
) ? this.pos : this.reducePos;
|
60 |
+
this.storeNode(i, o, c, f + 4, !0);
|
61 |
+
}
|
62 |
+
if (t & 262144)
|
63 |
+
this.state = this.stack[n];
|
64 |
+
else {
|
65 |
+
let c = this.stack[n - 3];
|
66 |
+
this.state = h.getGoto(c, i, !0);
|
67 |
+
}
|
68 |
+
for (; this.stack.length > n; )
|
69 |
+
this.stack.pop();
|
70 |
+
this.reduceContext(i, o);
|
71 |
+
}
|
72 |
+
// Shift a value into the buffer
|
73 |
+
/**
|
74 |
+
@internal
|
75 |
+
*/
|
76 |
+
storeNode(t, e, s, i = 4, h = !1) {
|
77 |
+
if (t == 0 && (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {
|
78 |
+
let r = this, n = this.buffer.length;
|
79 |
+
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) {
|
80 |
+
if (e == s)
|
81 |
+
return;
|
82 |
+
if (r.buffer[n - 2] >= e) {
|
83 |
+
r.buffer[n - 2] = s;
|
84 |
+
return;
|
85 |
+
}
|
86 |
+
}
|
87 |
+
}
|
88 |
+
if (!h || this.pos == s)
|
89 |
+
this.buffer.push(t, e, s, i);
|
90 |
+
else {
|
91 |
+
let r = this.buffer.length;
|
92 |
+
if (r > 0 && this.buffer[r - 4] != 0)
|
93 |
+
for (; r > 0 && this.buffer[r - 2] > s; )
|
94 |
+
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);
|
95 |
+
this.buffer[r] = t, this.buffer[r + 1] = e, this.buffer[r + 2] = s, this.buffer[r + 3] = i;
|
96 |
+
}
|
97 |
+
}
|
98 |
+
// Apply a shift action
|
99 |
+
/**
|
100 |
+
@internal
|
101 |
+
*/
|
102 |
+
shift(t, e, s, i) {
|
103 |
+
if (t & 131072)
|
104 |
+
this.pushState(t & 65535, this.pos);
|
105 |
+
else if (t & 262144)
|
106 |
+
this.pos = i, this.shiftContext(e, s), e <= this.p.parser.maxNode && this.buffer.push(e, s, i, 4);
|
107 |
+
else {
|
108 |
+
let h = t, { parser: r } = this.p;
|
109 |
+
(i > this.pos || e <= r.maxNode) && (this.pos = i, r.stateFlag(
|
110 |
+
h,
|
111 |
+
1
|
112 |
+
/* StateFlag.Skipped */
|
113 |
+
) || (this.reducePos = i)), this.pushState(h, s), this.shiftContext(e, s), e <= r.maxNode && this.buffer.push(e, s, i, 4);
|
114 |
+
}
|
115 |
+
}
|
116 |
+
// Apply an action
|
117 |
+
/**
|
118 |
+
@internal
|
119 |
+
*/
|
120 |
+
apply(t, e, s, i) {
|
121 |
+
t & 65536 ? this.reduce(t) : this.shift(t, e, s, i);
|
122 |
+
}
|
123 |
+
// Add a prebuilt (reused) node into the buffer.
|
124 |
+
/**
|
125 |
+
@internal
|
126 |
+
*/
|
127 |
+
useNode(t, e) {
|
128 |
+
let s = this.p.reused.length - 1;
|
129 |
+
(s < 0 || this.p.reused[s] != t) && (this.p.reused.push(t), s++);
|
130 |
+
let i = this.pos;
|
131 |
+
this.reducePos = this.pos = i + t.length, this.pushState(e, i), this.buffer.push(
|
132 |
+
s,
|
133 |
+
i,
|
134 |
+
this.reducePos,
|
135 |
+
-1
|
136 |
+
/* size == -1 means this is a reused value */
|
137 |
+
), this.curContext && this.updateContext(this.curContext.tracker.reuse(this.curContext.context, t, this, this.p.stream.reset(this.pos - t.length)));
|
138 |
+
}
|
139 |
+
// Split the stack. Due to the buffer sharing and the fact
|
140 |
+
// that `this.stack` tends to stay quite shallow, this isn't very
|
141 |
+
// expensive.
|
142 |
+
/**
|
143 |
+
@internal
|
144 |
+
*/
|
145 |
+
split() {
|
146 |
+
let t = this, e = t.buffer.length;
|
147 |
+
for (; e > 0 && t.buffer[e - 2] > t.reducePos; )
|
148 |
+
e -= 4;
|
149 |
+
let s = t.buffer.slice(e), i = t.bufferBase + e;
|
150 |
+
for (; t && i == t.bufferBase; )
|
151 |
+
t = t.parent;
|
152 |
+
return new v(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, s, i, this.curContext, this.lookAhead, t);
|
153 |
+
}
|
154 |
+
// Try to recover from an error by 'deleting' (ignoring) one token.
|
155 |
+
/**
|
156 |
+
@internal
|
157 |
+
*/
|
158 |
+
recoverByDelete(t, e) {
|
159 |
+
let s = t <= this.p.parser.maxNode;
|
160 |
+
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;
|
161 |
+
}
|
162 |
+
/**
|
163 |
+
Check if the given term would be able to be shifted (optionally
|
164 |
+
after some reductions) on this stack. This can be useful for
|
165 |
+
external tokenizers that want to make sure they only provide a
|
166 |
+
given token when it applies.
|
167 |
+
*/
|
168 |
+
canShift(t) {
|
169 |
+
for (let e = new G(this); ; ) {
|
170 |
+
let s = this.p.parser.stateSlot(
|
171 |
+
e.state,
|
172 |
+
4
|
173 |
+
/* ParseState.DefaultReduce */
|
174 |
+
) || this.p.parser.hasAction(e.state, t);
|
175 |
+
if (s == 0)
|
176 |
+
return !1;
|
177 |
+
if (!(s & 65536))
|
178 |
+
return !0;
|
179 |
+
e.reduce(s);
|
180 |
+
}
|
181 |
+
}
|
182 |
+
// Apply up to Recover.MaxNext recovery actions that conceptually
|
183 |
+
// inserts some missing token or rule.
|
184 |
+
/**
|
185 |
+
@internal
|
186 |
+
*/
|
187 |
+
recoverByInsert(t) {
|
188 |
+
if (this.stack.length >= 300)
|
189 |
+
return [];
|
190 |
+
let e = this.p.parser.nextStates(this.state);
|
191 |
+
if (e.length > 8 || this.stack.length >= 120) {
|
192 |
+
let i = [];
|
193 |
+
for (let h = 0, r; h < e.length; h += 2)
|
194 |
+
(r = e[h + 1]) != this.state && this.p.parser.hasAction(r, t) && i.push(e[h], r);
|
195 |
+
if (this.stack.length < 120)
|
196 |
+
for (let h = 0; i.length < 8 && h < e.length; h += 2) {
|
197 |
+
let r = e[h + 1];
|
198 |
+
i.some((n, o) => o & 1 && n == r) || i.push(e[h], r);
|
199 |
+
}
|
200 |
+
e = i;
|
201 |
+
}
|
202 |
+
let s = [];
|
203 |
+
for (let i = 0; i < e.length && s.length < 4; i += 2) {
|
204 |
+
let h = e[i + 1];
|
205 |
+
if (h == this.state)
|
206 |
+
continue;
|
207 |
+
let r = this.split();
|
208 |
+
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);
|
209 |
+
}
|
210 |
+
return s;
|
211 |
+
}
|
212 |
+
// Force a reduce, if possible. Return false if that can't
|
213 |
+
// be done.
|
214 |
+
/**
|
215 |
+
@internal
|
216 |
+
*/
|
217 |
+
forceReduce() {
|
218 |
+
let { parser: t } = this.p, e = t.stateSlot(
|
219 |
+
this.state,
|
220 |
+
5
|
221 |
+
/* ParseState.ForcedReduce */
|
222 |
+
);
|
223 |
+
if (!(e & 65536))
|
224 |
+
return !1;
|
225 |
+
if (!t.validAction(this.state, e)) {
|
226 |
+
let s = e >> 19, i = e & 65535, h = this.stack.length - s * 3;
|
227 |
+
if (h < 0 || t.getGoto(this.stack[h], i, !1) < 0) {
|
228 |
+
let r = this.findForcedReduction();
|
229 |
+
if (r == null)
|
230 |
+
return !1;
|
231 |
+
e = r;
|
232 |
+
}
|
233 |
+
this.storeNode(0, this.pos, this.pos, 4, !0), this.score -= 100;
|
234 |
+
}
|
235 |
+
return this.reducePos = this.pos, this.reduce(e), !0;
|
236 |
+
}
|
237 |
+
/**
|
238 |
+
Try to scan through the automaton to find some kind of reduction
|
239 |
+
that can be applied. Used when the regular ForcedReduce field
|
240 |
+
isn't a valid action. @internal
|
241 |
+
*/
|
242 |
+
findForcedReduction() {
|
243 |
+
let { parser: t } = this.p, e = [], s = (i, h) => {
|
244 |
+
if (!e.includes(i))
|
245 |
+
return e.push(i), t.allActions(i, (r) => {
|
246 |
+
if (!(r & 393216))
|
247 |
+
if (r & 65536) {
|
248 |
+
let n = (r >> 19) - h;
|
249 |
+
if (n > 1) {
|
250 |
+
let o = r & 65535, a = this.stack.length - n * 3;
|
251 |
+
if (a >= 0 && t.getGoto(this.stack[a], o, !1) >= 0)
|
252 |
+
return n << 19 | 65536 | o;
|
253 |
+
}
|
254 |
+
} else {
|
255 |
+
let n = s(r, h + 1);
|
256 |
+
if (n != null)
|
257 |
+
return n;
|
258 |
+
}
|
259 |
+
});
|
260 |
+
};
|
261 |
+
return s(this.state, 0);
|
262 |
+
}
|
263 |
+
/**
|
264 |
+
@internal
|
265 |
+
*/
|
266 |
+
forceAll() {
|
267 |
+
for (; !this.p.parser.stateFlag(
|
268 |
+
this.state,
|
269 |
+
2
|
270 |
+
/* StateFlag.Accepting */
|
271 |
+
); )
|
272 |
+
if (!this.forceReduce()) {
|
273 |
+
this.storeNode(0, this.pos, this.pos, 4, !0);
|
274 |
+
break;
|
275 |
+
}
|
276 |
+
return this;
|
277 |
+
}
|
278 |
+
/**
|
279 |
+
Check whether this state has no further actions (assumed to be a direct descendant of the
|
280 |
+
top state, since any other states must be able to continue
|
281 |
+
somehow). @internal
|
282 |
+
*/
|
283 |
+
get deadEnd() {
|
284 |
+
if (this.stack.length != 3)
|
285 |
+
return !1;
|
286 |
+
let { parser: t } = this.p;
|
287 |
+
return t.data[t.stateSlot(
|
288 |
+
this.state,
|
289 |
+
1
|
290 |
+
/* ParseState.Actions */
|
291 |
+
)] == 65535 && !t.stateSlot(
|
292 |
+
this.state,
|
293 |
+
4
|
294 |
+
/* ParseState.DefaultReduce */
|
295 |
+
);
|
296 |
+
}
|
297 |
+
/**
|
298 |
+
Restart the stack (put it back in its start state). Only safe
|
299 |
+
when this.stack.length == 3 (state is directly below the top
|
300 |
+
state). @internal
|
301 |
+
*/
|
302 |
+
restart() {
|
303 |
+
this.storeNode(0, this.pos, this.pos, 4, !0), this.state = this.stack[0], this.stack.length = 0;
|
304 |
+
}
|
305 |
+
/**
|
306 |
+
@internal
|
307 |
+
*/
|
308 |
+
sameState(t) {
|
309 |
+
if (this.state != t.state || this.stack.length != t.stack.length)
|
310 |
+
return !1;
|
311 |
+
for (let e = 0; e < this.stack.length; e += 3)
|
312 |
+
if (this.stack[e] != t.stack[e])
|
313 |
+
return !1;
|
314 |
+
return !0;
|
315 |
+
}
|
316 |
+
/**
|
317 |
+
Get the parser used by this stack.
|
318 |
+
*/
|
319 |
+
get parser() {
|
320 |
+
return this.p.parser;
|
321 |
+
}
|
322 |
+
/**
|
323 |
+
Test whether a given dialect (by numeric ID, as exported from
|
324 |
+
the terms file) is enabled.
|
325 |
+
*/
|
326 |
+
dialectEnabled(t) {
|
327 |
+
return this.p.parser.dialect.flags[t];
|
328 |
+
}
|
329 |
+
shiftContext(t, e) {
|
330 |
+
this.curContext && this.updateContext(this.curContext.tracker.shift(this.curContext.context, t, this, this.p.stream.reset(e)));
|
331 |
+
}
|
332 |
+
reduceContext(t, e) {
|
333 |
+
this.curContext && this.updateContext(this.curContext.tracker.reduce(this.curContext.context, t, this, this.p.stream.reset(e)));
|
334 |
+
}
|
335 |
+
/**
|
336 |
+
@internal
|
337 |
+
*/
|
338 |
+
emitContext() {
|
339 |
+
let t = this.buffer.length - 1;
|
340 |
+
(t < 0 || this.buffer[t] != -3) && this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);
|
341 |
+
}
|
342 |
+
/**
|
343 |
+
@internal
|
344 |
+
*/
|
345 |
+
emitLookAhead() {
|
346 |
+
let t = this.buffer.length - 1;
|
347 |
+
(t < 0 || this.buffer[t] != -4) && this.buffer.push(this.lookAhead, this.pos, this.pos, -4);
|
348 |
+
}
|
349 |
+
updateContext(t) {
|
350 |
+
if (t != this.curContext.context) {
|
351 |
+
let e = new N(this.curContext.tracker, t);
|
352 |
+
e.hash != this.curContext.hash && this.emitContext(), this.curContext = e;
|
353 |
+
}
|
354 |
+
}
|
355 |
+
/**
|
356 |
+
@internal
|
357 |
+
*/
|
358 |
+
setLookAhead(t) {
|
359 |
+
t > this.lookAhead && (this.emitLookAhead(), this.lookAhead = t);
|
360 |
+
}
|
361 |
+
/**
|
362 |
+
@internal
|
363 |
+
*/
|
364 |
+
close() {
|
365 |
+
this.curContext && this.curContext.tracker.strict && this.emitContext(), this.lookAhead > 0 && this.emitLookAhead();
|
366 |
+
}
|
367 |
+
}
|
368 |
+
class N {
|
369 |
+
constructor(t, e) {
|
370 |
+
this.tracker = t, this.context = e, this.hash = t.strict ? t.hash(e) : 0;
|
371 |
+
}
|
372 |
+
}
|
373 |
+
class G {
|
374 |
+
constructor(t) {
|
375 |
+
this.start = t, this.state = t.state, this.stack = t.stack, this.base = this.stack.length;
|
376 |
+
}
|
377 |
+
reduce(t) {
|
378 |
+
let e = t & 65535, s = t >> 19;
|
379 |
+
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;
|
380 |
+
let i = this.start.p.parser.getGoto(this.stack[this.base - 3], e, !0);
|
381 |
+
this.state = i;
|
382 |
+
}
|
383 |
+
}
|
384 |
+
class A {
|
385 |
+
constructor(t, e, s) {
|
386 |
+
this.stack = t, this.pos = e, this.index = s, this.buffer = t.buffer, this.index == 0 && this.maybeNext();
|
387 |
+
}
|
388 |
+
static create(t, e = t.bufferBase + t.buffer.length) {
|
389 |
+
return new A(t, e, e - t.bufferBase);
|
390 |
+
}
|
391 |
+
maybeNext() {
|
392 |
+
let t = this.stack.parent;
|
393 |
+
t != null && (this.index = this.stack.bufferBase - t.bufferBase, this.stack = t, this.buffer = t.buffer);
|
394 |
+
}
|
395 |
+
get id() {
|
396 |
+
return this.buffer[this.index - 4];
|
397 |
+
}
|
398 |
+
get start() {
|
399 |
+
return this.buffer[this.index - 3];
|
400 |
+
}
|
401 |
+
get end() {
|
402 |
+
return this.buffer[this.index - 2];
|
403 |
+
}
|
404 |
+
get size() {
|
405 |
+
return this.buffer[this.index - 1];
|
406 |
+
}
|
407 |
+
next() {
|
408 |
+
this.index -= 4, this.pos -= 4, this.index == 0 && this.maybeNext();
|
409 |
+
}
|
410 |
+
fork() {
|
411 |
+
return new A(this.stack, this.pos, this.index);
|
412 |
+
}
|
413 |
+
}
|
414 |
+
function x(l, t = Uint16Array) {
|
415 |
+
if (typeof l != "string")
|
416 |
+
return l;
|
417 |
+
let e = null;
|
418 |
+
for (let s = 0, i = 0; s < l.length; ) {
|
419 |
+
let h = 0;
|
420 |
+
for (; ; ) {
|
421 |
+
let r = l.charCodeAt(s++), n = !1;
|
422 |
+
if (r == 126) {
|
423 |
+
h = 65535;
|
424 |
+
break;
|
425 |
+
}
|
426 |
+
r >= 92 && r--, r >= 34 && r--;
|
427 |
+
let o = r - 32;
|
428 |
+
if (o >= 46 && (o -= 46, n = !0), h += o, n)
|
429 |
+
break;
|
430 |
+
h *= 46;
|
431 |
+
}
|
432 |
+
e ? e[i++] = h : e = new t(h);
|
433 |
+
}
|
434 |
+
return e;
|
435 |
+
}
|
436 |
+
class P {
|
437 |
+
constructor() {
|
438 |
+
this.start = -1, this.value = -1, this.end = -1, this.extended = -1, this.lookAhead = 0, this.mask = 0, this.context = 0;
|
439 |
+
}
|
440 |
+
}
|
441 |
+
const R = new P();
|
442 |
+
class U {
|
443 |
+
/**
|
444 |
+
@internal
|
445 |
+
*/
|
446 |
+
constructor(t, e) {
|
447 |
+
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();
|
448 |
+
}
|
449 |
+
/**
|
450 |
+
@internal
|
451 |
+
*/
|
452 |
+
resolveOffset(t, e) {
|
453 |
+
let s = this.range, i = this.rangeIndex, h = this.pos + t;
|
454 |
+
for (; h < s.from; ) {
|
455 |
+
if (!i)
|
456 |
+
return null;
|
457 |
+
let r = this.ranges[--i];
|
458 |
+
h -= s.from - r.to, s = r;
|
459 |
+
}
|
460 |
+
for (; e < 0 ? h > s.to : h >= s.to; ) {
|
461 |
+
if (i == this.ranges.length - 1)
|
462 |
+
return null;
|
463 |
+
let r = this.ranges[++i];
|
464 |
+
h += r.from - s.to, s = r;
|
465 |
+
}
|
466 |
+
return h;
|
467 |
+
}
|
468 |
+
/**
|
469 |
+
@internal
|
470 |
+
*/
|
471 |
+
clipPos(t) {
|
472 |
+
if (t >= this.range.from && t < this.range.to)
|
473 |
+
return t;
|
474 |
+
for (let e of this.ranges)
|
475 |
+
if (e.to > t)
|
476 |
+
return Math.max(t, e.from);
|
477 |
+
return this.end;
|
478 |
+
}
|
479 |
+
/**
|
480 |
+
Look at a code unit near the stream position. `.peek(0)` equals
|
481 |
+
`.next`, `.peek(-1)` gives you the previous character, and so
|
482 |
+
on.
|
483 |
+
|
484 |
+
Note that looking around during tokenizing creates dependencies
|
485 |
+
on potentially far-away content, which may reduce the
|
486 |
+
effectiveness incremental parsing—when looking forward—or even
|
487 |
+
cause invalid reparses when looking backward more than 25 code
|
488 |
+
units, since the library does not track lookbehind.
|
489 |
+
*/
|
490 |
+
peek(t) {
|
491 |
+
let e = this.chunkOff + t, s, i;
|
492 |
+
if (e >= 0 && e < this.chunk.length)
|
493 |
+
s = this.pos + t, i = this.chunk.charCodeAt(e);
|
494 |
+
else {
|
495 |
+
let h = this.resolveOffset(t, 1);
|
496 |
+
if (h == null)
|
497 |
+
return -1;
|
498 |
+
if (s = h, s >= this.chunk2Pos && s < this.chunk2Pos + this.chunk2.length)
|
499 |
+
i = this.chunk2.charCodeAt(s - this.chunk2Pos);
|
500 |
+
else {
|
501 |
+
let r = this.rangeIndex, n = this.range;
|
502 |
+
for (; n.to <= s; )
|
503 |
+
n = this.ranges[++r];
|
504 |
+
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);
|
505 |
+
}
|
506 |
+
}
|
507 |
+
return s >= this.token.lookAhead && (this.token.lookAhead = s + 1), i;
|
508 |
+
}
|
509 |
+
/**
|
510 |
+
Accept a token. By default, the end of the token is set to the
|
511 |
+
current stream position, but you can pass an offset (relative to
|
512 |
+
the stream position) to change that.
|
513 |
+
*/
|
514 |
+
acceptToken(t, e = 0) {
|
515 |
+
let s = e ? this.resolveOffset(e, -1) : this.pos;
|
516 |
+
if (s == null || s < this.token.start)
|
517 |
+
throw new RangeError("Token end out of bounds");
|
518 |
+
this.token.value = t, this.token.end = s;
|
519 |
+
}
|
520 |
+
/**
|
521 |
+
Accept a token ending at a specific given position.
|
522 |
+
*/
|
523 |
+
acceptTokenTo(t, e) {
|
524 |
+
this.token.value = t, this.token.end = e;
|
525 |
+
}
|
526 |
+
getChunk() {
|
527 |
+
if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {
|
528 |
+
let { chunk: t, chunkPos: e } = this;
|
529 |
+
this.chunk = this.chunk2, this.chunkPos = this.chunk2Pos, this.chunk2 = t, this.chunk2Pos = e, this.chunkOff = this.pos - this.chunkPos;
|
530 |
+
} else {
|
531 |
+
this.chunk2 = this.chunk, this.chunk2Pos = this.chunkPos;
|
532 |
+
let t = this.input.chunk(this.pos), e = this.pos + t.length;
|
533 |
+
this.chunk = e > this.range.to ? t.slice(0, this.range.to - this.pos) : t, this.chunkPos = this.pos, this.chunkOff = 0;
|
534 |
+
}
|
535 |
+
}
|
536 |
+
readNext() {
|
537 |
+
return this.chunkOff >= this.chunk.length && (this.getChunk(), this.chunkOff == this.chunk.length) ? this.next = -1 : this.next = this.chunk.charCodeAt(this.chunkOff);
|
538 |
+
}
|
539 |
+
/**
|
540 |
+
Move the stream forward N (defaults to 1) code units. Returns
|
541 |
+
the new value of [`next`](#lr.InputStream.next).
|
542 |
+
*/
|
543 |
+
advance(t = 1) {
|
544 |
+
for (this.chunkOff += t; this.pos + t >= this.range.to; ) {
|
545 |
+
if (this.rangeIndex == this.ranges.length - 1)
|
546 |
+
return this.setDone();
|
547 |
+
t -= this.range.to - this.pos, this.range = this.ranges[++this.rangeIndex], this.pos = this.range.from;
|
548 |
+
}
|
549 |
+
return this.pos += t, this.pos >= this.token.lookAhead && (this.token.lookAhead = this.pos + 1), this.readNext();
|
550 |
+
}
|
551 |
+
setDone() {
|
552 |
+
return this.pos = this.chunkPos = this.end, this.range = this.ranges[this.rangeIndex = this.ranges.length - 1], this.chunk = "", this.next = -1;
|
553 |
+
}
|
554 |
+
/**
|
555 |
+
@internal
|
556 |
+
*/
|
557 |
+
reset(t, e) {
|
558 |
+
if (e ? (this.token = e, e.start = t, e.lookAhead = t + 1, e.value = e.extended = -1) : this.token = R, this.pos != t) {
|
559 |
+
if (this.pos = t, t == this.end)
|
560 |
+
return this.setDone(), this;
|
561 |
+
for (; t < this.range.from; )
|
562 |
+
this.range = this.ranges[--this.rangeIndex];
|
563 |
+
for (; t >= this.range.to; )
|
564 |
+
this.range = this.ranges[++this.rangeIndex];
|
565 |
+
t >= this.chunkPos && t < this.chunkPos + this.chunk.length ? this.chunkOff = t - this.chunkPos : (this.chunk = "", this.chunkOff = 0), this.readNext();
|
566 |
+
}
|
567 |
+
return this;
|
568 |
+
}
|
569 |
+
/**
|
570 |
+
@internal
|
571 |
+
*/
|
572 |
+
read(t, e) {
|
573 |
+
if (t >= this.chunkPos && e <= this.chunkPos + this.chunk.length)
|
574 |
+
return this.chunk.slice(t - this.chunkPos, e - this.chunkPos);
|
575 |
+
if (t >= this.chunk2Pos && e <= this.chunk2Pos + this.chunk2.length)
|
576 |
+
return this.chunk2.slice(t - this.chunk2Pos, e - this.chunk2Pos);
|
577 |
+
if (t >= this.range.from && e <= this.range.to)
|
578 |
+
return this.input.read(t, e);
|
579 |
+
let s = "";
|
580 |
+
for (let i of this.ranges) {
|
581 |
+
if (i.from >= e)
|
582 |
+
break;
|
583 |
+
i.to > t && (s += this.input.read(Math.max(i.from, t), Math.min(i.to, e)));
|
584 |
+
}
|
585 |
+
return s;
|
586 |
+
}
|
587 |
+
}
|
588 |
+
class m {
|
589 |
+
constructor(t, e) {
|
590 |
+
this.data = t, this.id = e;
|
591 |
+
}
|
592 |
+
token(t, e) {
|
593 |
+
let { parser: s } = e.p;
|
594 |
+
F(this.data, t, e, this.id, s.data, s.tokenPrecTable);
|
595 |
+
}
|
596 |
+
}
|
597 |
+
m.prototype.contextual = m.prototype.fallback = m.prototype.extend = !1;
|
598 |
+
class H {
|
599 |
+
constructor(t, e, s) {
|
600 |
+
this.precTable = e, this.elseToken = s, this.data = typeof t == "string" ? x(t) : t;
|
601 |
+
}
|
602 |
+
token(t, e) {
|
603 |
+
let s = t.pos, i = 0;
|
604 |
+
for (; ; ) {
|
605 |
+
let h = t.next < 0, r = t.resolveOffset(1, 1);
|
606 |
+
if (F(this.data, t, e, 0, this.data, this.precTable), t.token.value > -1)
|
607 |
+
break;
|
608 |
+
if (this.elseToken == null)
|
609 |
+
return;
|
610 |
+
if (h || i++, r == null)
|
611 |
+
break;
|
612 |
+
t.reset(r, t.token);
|
613 |
+
}
|
614 |
+
i && (t.reset(s, t.token), t.acceptToken(this.elseToken, i));
|
615 |
+
}
|
616 |
+
}
|
617 |
+
H.prototype.contextual = m.prototype.fallback = m.prototype.extend = !1;
|
618 |
+
class Y {
|
619 |
+
/**
|
620 |
+
Create a tokenizer. The first argument is the function that,
|
621 |
+
given an input stream, scans for the types of tokens it
|
622 |
+
recognizes at the stream's position, and calls
|
623 |
+
[`acceptToken`](#lr.InputStream.acceptToken) when it finds
|
624 |
+
one.
|
625 |
+
*/
|
626 |
+
constructor(t, e = {}) {
|
627 |
+
this.token = t, this.contextual = !!e.contextual, this.fallback = !!e.fallback, this.extend = !!e.extend;
|
628 |
+
}
|
629 |
+
}
|
630 |
+
function F(l, t, e, s, i, h) {
|
631 |
+
let r = 0, n = 1 << s, { dialect: o } = e.p.parser;
|
632 |
+
t:
|
633 |
+
for (; n & l[r]; ) {
|
634 |
+
let a = l[r + 1];
|
635 |
+
for (let p = r + 3; p < a; p += 2)
|
636 |
+
if ((l[p + 1] & n) > 0) {
|
637 |
+
let d = l[p];
|
638 |
+
if (o.allows(d) && (t.token.value == -1 || t.token.value == d || W(d, t.token.value, i, h))) {
|
639 |
+
t.acceptToken(d);
|
640 |
+
break;
|
641 |
+
}
|
642 |
+
}
|
643 |
+
let u = t.next, f = 0, c = l[r + 2];
|
644 |
+
if (t.next < 0 && c > f && l[a + c * 3 - 3] == 65535) {
|
645 |
+
r = l[a + c * 3 - 1];
|
646 |
+
continue t;
|
647 |
+
}
|
648 |
+
for (; f < c; ) {
|
649 |
+
let p = f + c >> 1, d = a + p + (p << 1), b = l[d], O = l[d + 1] || 65536;
|
650 |
+
if (u < b)
|
651 |
+
c = p;
|
652 |
+
else if (u >= O)
|
653 |
+
f = p + 1;
|
654 |
+
else {
|
655 |
+
r = l[d + 2], t.advance();
|
656 |
+
continue t;
|
657 |
+
}
|
658 |
+
}
|
659 |
+
break;
|
660 |
+
}
|
661 |
+
}
|
662 |
+
function z(l, t, e) {
|
663 |
+
for (let s = t, i; (i = l[s]) != 65535; s++)
|
664 |
+
if (i == e)
|
665 |
+
return s - t;
|
666 |
+
return -1;
|
667 |
+
}
|
668 |
+
function W(l, t, e, s) {
|
669 |
+
let i = z(e, s, t);
|
670 |
+
return i < 0 || z(e, s, l) < i;
|
671 |
+
}
|
672 |
+
const g = typeof process < "u" && process.env && /\bparse\b/.test(process.env.LOG);
|
673 |
+
let T = null;
|
674 |
+
function I(l, t, e) {
|
675 |
+
let s = l.cursor(j.IncludeAnonymous);
|
676 |
+
for (s.moveTo(t); ; )
|
677 |
+
if (!(e < 0 ? s.childBefore(t) : s.childAfter(t)))
|
678 |
+
for (; ; ) {
|
679 |
+
if ((e < 0 ? s.to < t : s.from > t) && !s.type.isError)
|
680 |
+
return e < 0 ? Math.max(0, Math.min(
|
681 |
+
s.to - 1,
|
682 |
+
t - 25
|
683 |
+
/* Safety.Margin */
|
684 |
+
)) : Math.min(l.length, Math.max(
|
685 |
+
s.from + 1,
|
686 |
+
t + 25
|
687 |
+
/* Safety.Margin */
|
688 |
+
));
|
689 |
+
if (e < 0 ? s.prevSibling() : s.nextSibling())
|
690 |
+
break;
|
691 |
+
if (!s.parent())
|
692 |
+
return e < 0 ? 0 : l.length;
|
693 |
+
}
|
694 |
+
}
|
695 |
+
class J {
|
696 |
+
constructor(t, e) {
|
697 |
+
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();
|
698 |
+
}
|
699 |
+
nextFragment() {
|
700 |
+
let t = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];
|
701 |
+
if (t) {
|
702 |
+
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; )
|
703 |
+
this.trees.pop(), this.start.pop(), this.index.pop();
|
704 |
+
this.trees.push(t.tree), this.start.push(-t.offset), this.index.push(0), this.nextStart = this.safeFrom;
|
705 |
+
} else
|
706 |
+
this.nextStart = 1e9;
|
707 |
+
}
|
708 |
+
// `pos` must be >= any previously given `pos` for this cursor
|
709 |
+
nodeAt(t) {
|
710 |
+
if (t < this.nextStart)
|
711 |
+
return null;
|
712 |
+
for (; this.fragment && this.safeTo <= t; )
|
713 |
+
this.nextFragment();
|
714 |
+
if (!this.fragment)
|
715 |
+
return null;
|
716 |
+
for (; ; ) {
|
717 |
+
let e = this.trees.length - 1;
|
718 |
+
if (e < 0)
|
719 |
+
return this.nextFragment(), null;
|
720 |
+
let s = this.trees[e], i = this.index[e];
|
721 |
+
if (i == s.children.length) {
|
722 |
+
this.trees.pop(), this.start.pop(), this.index.pop();
|
723 |
+
continue;
|
724 |
+
}
|
725 |
+
let h = s.children[i], r = this.start[e] + s.positions[i];
|
726 |
+
if (r > t)
|
727 |
+
return this.nextStart = r, null;
|
728 |
+
if (h instanceof S) {
|
729 |
+
if (r == t) {
|
730 |
+
if (r < this.safeFrom)
|
731 |
+
return null;
|
732 |
+
let n = r + h.length;
|
733 |
+
if (n <= this.safeTo) {
|
734 |
+
let o = h.prop(y.lookAhead);
|
735 |
+
if (!o || n + o < this.fragment.to)
|
736 |
+
return h;
|
737 |
+
}
|
738 |
+
}
|
739 |
+
this.index[e]++, r + h.length >= Math.max(this.safeFrom, t) && (this.trees.push(h), this.start.push(r), this.index.push(0));
|
740 |
+
} else
|
741 |
+
this.index[e]++, this.nextStart = r + h.length;
|
742 |
+
}
|
743 |
+
}
|
744 |
+
}
|
745 |
+
class q {
|
746 |
+
constructor(t, e) {
|
747 |
+
this.stream = e, this.tokens = [], this.mainToken = null, this.actions = [], this.tokens = t.tokenizers.map((s) => new P());
|
748 |
+
}
|
749 |
+
getActions(t) {
|
750 |
+
let e = 0, s = null, { parser: i } = t.p, { tokenizers: h } = i, r = i.stateSlot(
|
751 |
+
t.state,
|
752 |
+
3
|
753 |
+
/* ParseState.TokenizerMask */
|
754 |
+
), n = t.curContext ? t.curContext.hash : 0, o = 0;
|
755 |
+
for (let a = 0; a < h.length; a++) {
|
756 |
+
if (!(1 << a & r))
|
757 |
+
continue;
|
758 |
+
let u = h[a], f = this.tokens[a];
|
759 |
+
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)) {
|
760 |
+
let c = e;
|
761 |
+
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 > c))
|
762 |
+
break;
|
763 |
+
}
|
764 |
+
}
|
765 |
+
for (; this.actions.length > e; )
|
766 |
+
this.actions.pop();
|
767 |
+
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;
|
768 |
+
}
|
769 |
+
getMainToken(t) {
|
770 |
+
if (this.mainToken)
|
771 |
+
return this.mainToken;
|
772 |
+
let e = new P(), { pos: s, p: i } = t;
|
773 |
+
return e.start = s, e.end = Math.min(s + 1, i.stream.end), e.value = s == i.stream.end ? i.parser.eofTerm : 0, e;
|
774 |
+
}
|
775 |
+
updateCachedToken(t, e, s) {
|
776 |
+
let i = this.stream.clipPos(s.pos);
|
777 |
+
if (e.token(this.stream.reset(i, t), s), t.value > -1) {
|
778 |
+
let { parser: h } = s.p;
|
779 |
+
for (let r = 0; r < h.specialized.length; r++)
|
780 |
+
if (h.specialized[r] == t.value) {
|
781 |
+
let n = h.specializers[r](this.stream.read(t.start, t.end), s);
|
782 |
+
if (n >= 0 && s.p.parser.dialect.allows(n >> 1)) {
|
783 |
+
n & 1 ? t.extended = n >> 1 : t.value = n >> 1;
|
784 |
+
break;
|
785 |
+
}
|
786 |
+
}
|
787 |
+
} else
|
788 |
+
t.value = 0, t.end = this.stream.clipPos(i + 1);
|
789 |
+
}
|
790 |
+
putAction(t, e, s, i) {
|
791 |
+
for (let h = 0; h < i; h += 3)
|
792 |
+
if (this.actions[h] == t)
|
793 |
+
return i;
|
794 |
+
return this.actions[i++] = t, this.actions[i++] = e, this.actions[i++] = s, i;
|
795 |
+
}
|
796 |
+
addActions(t, e, s, i) {
|
797 |
+
let { state: h } = t, { parser: r } = t.p, { data: n } = r;
|
798 |
+
for (let o = 0; o < 2; o++)
|
799 |
+
for (let a = r.stateSlot(
|
800 |
+
h,
|
801 |
+
o ? 2 : 1
|
802 |
+
/* ParseState.Actions */
|
803 |
+
); ; a += 3) {
|
804 |
+
if (n[a] == 65535)
|
805 |
+
if (n[a + 1] == 1)
|
806 |
+
a = k(n, a + 2);
|
807 |
+
else {
|
808 |
+
i == 0 && n[a + 1] == 2 && (i = this.putAction(k(n, a + 2), e, s, i));
|
809 |
+
break;
|
810 |
+
}
|
811 |
+
n[a] == e && (i = this.putAction(k(n, a + 1), e, s, i));
|
812 |
+
}
|
813 |
+
return i;
|
814 |
+
}
|
815 |
+
}
|
816 |
+
class K {
|
817 |
+
constructor(t, e, s, i) {
|
818 |
+
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];
|
819 |
+
let { from: h } = i[0];
|
820 |
+
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;
|
821 |
+
}
|
822 |
+
get parsedPos() {
|
823 |
+
return this.minStackPos;
|
824 |
+
}
|
825 |
+
// Move the parser forward. This will process all parse stacks at
|
826 |
+
// `this.pos` and try to advance them to a further position. If no
|
827 |
+
// stack for such a position is found, it'll start error-recovery.
|
828 |
+
//
|
829 |
+
// When the parse is finished, this will return a syntax tree. When
|
830 |
+
// not, it returns `null`.
|
831 |
+
advance() {
|
832 |
+
let t = this.stacks, e = this.minStackPos, s = this.stacks = [], i, h;
|
833 |
+
if (this.bigReductionCount > 300 && t.length == 1) {
|
834 |
+
let [r] = t;
|
835 |
+
for (; r.forceReduce() && r.stack.length && r.stack[r.stack.length - 2] >= this.lastBigReductionStart; )
|
836 |
+
;
|
837 |
+
this.bigReductionCount = this.lastBigReductionSize = 0;
|
838 |
+
}
|
839 |
+
for (let r = 0; r < t.length; r++) {
|
840 |
+
let n = t[r];
|
841 |
+
for (; ; ) {
|
842 |
+
if (this.tokens.mainToken = null, n.pos > e)
|
843 |
+
s.push(n);
|
844 |
+
else {
|
845 |
+
if (this.advanceStack(n, s, t))
|
846 |
+
continue;
|
847 |
+
{
|
848 |
+
i || (i = [], h = []), i.push(n);
|
849 |
+
let o = this.tokens.getMainToken(n);
|
850 |
+
h.push(o.value, o.end);
|
851 |
+
}
|
852 |
+
}
|
853 |
+
break;
|
854 |
+
}
|
855 |
+
}
|
856 |
+
if (!s.length) {
|
857 |
+
let r = i && V(i);
|
858 |
+
if (r)
|
859 |
+
return g && console.log("Finish with " + this.stackID(r)), this.stackToTree(r);
|
860 |
+
if (this.parser.strict)
|
861 |
+
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);
|
862 |
+
this.recovering || (this.recovering = 5);
|
863 |
+
}
|
864 |
+
if (this.recovering && i) {
|
865 |
+
let r = this.stoppedAt != null && i[0].pos > this.stoppedAt ? i[0] : this.runRecovery(i, h, s);
|
866 |
+
if (r)
|
867 |
+
return g && console.log("Force-finish " + this.stackID(r)), this.stackToTree(r.forceAll());
|
868 |
+
}
|
869 |
+
if (this.recovering) {
|
870 |
+
let r = this.recovering == 1 ? 1 : this.recovering * 3;
|
871 |
+
if (s.length > r)
|
872 |
+
for (s.sort((n, o) => o.score - n.score); s.length > r; )
|
873 |
+
s.pop();
|
874 |
+
s.some((n) => n.reducePos > e) && this.recovering--;
|
875 |
+
} else if (s.length > 1) {
|
876 |
+
t:
|
877 |
+
for (let r = 0; r < s.length - 1; r++) {
|
878 |
+
let n = s[r];
|
879 |
+
for (let o = r + 1; o < s.length; o++) {
|
880 |
+
let a = s[o];
|
881 |
+
if (n.sameState(a) || n.buffer.length > 500 && a.buffer.length > 500)
|
882 |
+
if ((n.score - a.score || n.buffer.length - a.buffer.length) > 0)
|
883 |
+
s.splice(o--, 1);
|
884 |
+
else {
|
885 |
+
s.splice(r--, 1);
|
886 |
+
continue t;
|
887 |
+
}
|
888 |
+
}
|
889 |
+
}
|
890 |
+
s.length > 12 && s.splice(
|
891 |
+
12,
|
892 |
+
s.length - 12
|
893 |
+
/* Rec.MaxStackCount */
|
894 |
+
);
|
895 |
+
}
|
896 |
+
this.minStackPos = s[0].pos;
|
897 |
+
for (let r = 1; r < s.length; r++)
|
898 |
+
s[r].pos < this.minStackPos && (this.minStackPos = s[r].pos);
|
899 |
+
return null;
|
900 |
+
}
|
901 |
+
stopAt(t) {
|
902 |
+
if (this.stoppedAt != null && this.stoppedAt < t)
|
903 |
+
throw new RangeError("Can't move stoppedAt forward");
|
904 |
+
this.stoppedAt = t;
|
905 |
+
}
|
906 |
+
// Returns an updated version of the given stack, or null if the
|
907 |
+
// stack can't advance normally. When `split` and `stacks` are
|
908 |
+
// given, stacks split off by ambiguous operations will be pushed to
|
909 |
+
// `split`, or added to `stacks` if they move `pos` forward.
|
910 |
+
advanceStack(t, e, s) {
|
911 |
+
let i = t.pos, { parser: h } = this, r = g ? this.stackID(t) + " -> " : "";
|
912 |
+
if (this.stoppedAt != null && i > this.stoppedAt)
|
913 |
+
return t.forceReduce() ? t : null;
|
914 |
+
if (this.fragments) {
|
915 |
+
let a = t.curContext && t.curContext.tracker.strict, u = a ? t.curContext.hash : 0;
|
916 |
+
for (let f = this.fragments.nodeAt(i); f; ) {
|
917 |
+
let c = this.parser.nodeSet.types[f.type.id] == f.type ? h.getGoto(t.state, f.type.id) : -1;
|
918 |
+
if (c > -1 && f.length && (!a || (f.prop(y.contextHash) || 0) == u))
|
919 |
+
return t.useNode(f, c), g && console.log(r + this.stackID(t) + ` (via reuse of ${h.getName(f.type.id)})`), !0;
|
920 |
+
if (!(f instanceof S) || f.children.length == 0 || f.positions[0] > 0)
|
921 |
+
break;
|
922 |
+
let p = f.children[0];
|
923 |
+
if (p instanceof S && f.positions[0] == 0)
|
924 |
+
f = p;
|
925 |
+
else
|
926 |
+
break;
|
927 |
+
}
|
928 |
+
}
|
929 |
+
let n = h.stateSlot(
|
930 |
+
t.state,
|
931 |
+
4
|
932 |
+
/* ParseState.DefaultReduce */
|
933 |
+
);
|
934 |
+
if (n > 0)
|
935 |
+
return t.reduce(n), g && console.log(r + this.stackID(t) + ` (via always-reduce ${h.getName(
|
936 |
+
n & 65535
|
937 |
+
/* Action.ValueMask */
|
938 |
+
)})`), !0;
|
939 |
+
if (t.stack.length >= 8400)
|
940 |
+
for (; t.stack.length > 6e3 && t.forceReduce(); )
|
941 |
+
;
|
942 |
+
let o = this.tokens.getActions(t);
|
943 |
+
for (let a = 0; a < o.length; ) {
|
944 |
+
let u = o[a++], f = o[a++], c = o[a++], p = a == o.length || !s, d = p ? t : t.split(), b = this.tokens.mainToken;
|
945 |
+
if (d.apply(u, f, b ? b.start : d.pos, c), g && console.log(r + this.stackID(d) + ` (via ${u & 65536 ? `reduce of ${h.getName(
|
946 |
+
u & 65535
|
947 |
+
/* Action.ValueMask */
|
948 |
+
)}` : "shift"} for ${h.getName(f)} @ ${i}${d == t ? "" : ", split"})`), p)
|
949 |
+
return !0;
|
950 |
+
d.pos > i ? e.push(d) : s.push(d);
|
951 |
+
}
|
952 |
+
return !1;
|
953 |
+
}
|
954 |
+
// Advance a given stack forward as far as it will go. Returns the
|
955 |
+
// (possibly updated) stack if it got stuck, or null if it moved
|
956 |
+
// forward and was given to `pushStackDedup`.
|
957 |
+
advanceFully(t, e) {
|
958 |
+
let s = t.pos;
|
959 |
+
for (; ; ) {
|
960 |
+
if (!this.advanceStack(t, null, null))
|
961 |
+
return !1;
|
962 |
+
if (t.pos > s)
|
963 |
+
return D(t, e), !0;
|
964 |
+
}
|
965 |
+
}
|
966 |
+
runRecovery(t, e, s) {
|
967 |
+
let i = null, h = !1;
|
968 |
+
for (let r = 0; r < t.length; r++) {
|
969 |
+
let n = t[r], o = e[r << 1], a = e[(r << 1) + 1], u = g ? this.stackID(n) + " -> " : "";
|
970 |
+
if (n.deadEnd && (h || (h = !0, n.restart(), g && console.log(u + this.stackID(n) + " (restarted)"), this.advanceFully(n, s))))
|
971 |
+
continue;
|
972 |
+
let f = n.split(), c = u;
|
973 |
+
for (let p = 0; f.forceReduce() && p < 10 && (g && console.log(c + this.stackID(f) + " (via force-reduce)"), !this.advanceFully(f, s)); p++)
|
974 |
+
g && (c = this.stackID(f) + " -> ");
|
975 |
+
for (let p of n.recoverByInsert(o))
|
976 |
+
g && console.log(u + this.stackID(p) + " (via recover-insert)"), this.advanceFully(p, s);
|
977 |
+
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);
|
978 |
+
}
|
979 |
+
return i;
|
980 |
+
}
|
981 |
+
// Convert the stack's buffer to a syntax tree.
|
982 |
+
stackToTree(t) {
|
983 |
+
return t.close(), S.build({
|
984 |
+
buffer: A.create(t),
|
985 |
+
nodeSet: this.parser.nodeSet,
|
986 |
+
topID: this.topTerm,
|
987 |
+
maxBufferLength: this.parser.bufferLength,
|
988 |
+
reused: this.reused,
|
989 |
+
start: this.ranges[0].from,
|
990 |
+
length: t.pos - this.ranges[0].from,
|
991 |
+
minRepeatType: this.parser.minRepeatTerm
|
992 |
+
});
|
993 |
+
}
|
994 |
+
stackID(t) {
|
995 |
+
let e = (T || (T = /* @__PURE__ */ new WeakMap())).get(t);
|
996 |
+
return e || T.set(t, e = String.fromCodePoint(this.nextStackID++)), e + t;
|
997 |
+
}
|
998 |
+
}
|
999 |
+
function D(l, t) {
|
1000 |
+
for (let e = 0; e < t.length; e++) {
|
1001 |
+
let s = t[e];
|
1002 |
+
if (s.pos == l.pos && s.sameState(l)) {
|
1003 |
+
t[e].score < l.score && (t[e] = l);
|
1004 |
+
return;
|
1005 |
+
}
|
1006 |
+
}
|
1007 |
+
t.push(l);
|
1008 |
+
}
|
1009 |
+
class Q {
|
1010 |
+
constructor(t, e, s) {
|
1011 |
+
this.source = t, this.flags = e, this.disabled = s;
|
1012 |
+
}
|
1013 |
+
allows(t) {
|
1014 |
+
return !this.disabled || this.disabled[t] == 0;
|
1015 |
+
}
|
1016 |
+
}
|
1017 |
+
const C = (l) => l;
|
1018 |
+
class Z {
|
1019 |
+
/**
|
1020 |
+
Define a context tracker.
|
1021 |
+
*/
|
1022 |
+
constructor(t) {
|
1023 |
+
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;
|
1024 |
+
}
|
1025 |
+
}
|
1026 |
+
class w extends L {
|
1027 |
+
/**
|
1028 |
+
@internal
|
1029 |
+
*/
|
1030 |
+
constructor(t) {
|
1031 |
+
if (super(), this.wrappers = [], t.version != 14)
|
1032 |
+
throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);
|
1033 |
+
let e = t.nodeNames.split(" ");
|
1034 |
+
this.minRepeatTerm = e.length;
|
1035 |
+
for (let n = 0; n < t.repeatNodeCount; n++)
|
1036 |
+
e.push("");
|
1037 |
+
let s = Object.keys(t.topRules).map((n) => t.topRules[n][1]), i = [];
|
1038 |
+
for (let n = 0; n < e.length; n++)
|
1039 |
+
i.push([]);
|
1040 |
+
function h(n, o, a) {
|
1041 |
+
i[n].push([o, o.deserialize(String(a))]);
|
1042 |
+
}
|
1043 |
+
if (t.nodeProps)
|
1044 |
+
for (let n of t.nodeProps) {
|
1045 |
+
let o = n[0];
|
1046 |
+
typeof o == "string" && (o = y[o]);
|
1047 |
+
for (let a = 1; a < n.length; ) {
|
1048 |
+
let u = n[a++];
|
1049 |
+
if (u >= 0)
|
1050 |
+
h(u, o, n[a++]);
|
1051 |
+
else {
|
1052 |
+
let f = n[a + -u];
|
1053 |
+
for (let c = -u; c > 0; c--)
|
1054 |
+
h(n[a++], o, f);
|
1055 |
+
a++;
|
1056 |
+
}
|
1057 |
+
}
|
1058 |
+
}
|
1059 |
+
this.nodeSet = new M(e.map((n, o) => $.define({
|
1060 |
+
name: o >= this.minRepeatTerm ? void 0 : n,
|
1061 |
+
id: o,
|
1062 |
+
props: i[o],
|
1063 |
+
top: s.indexOf(o) > -1,
|
1064 |
+
error: o == 0,
|
1065 |
+
skipped: t.skippedNodes && t.skippedNodes.indexOf(o) > -1
|
1066 |
+
}))), t.propSources && (this.nodeSet = this.nodeSet.extend(...t.propSources)), this.strict = !1, this.bufferLength = E;
|
1067 |
+
let r = x(t.tokenData);
|
1068 |
+
this.context = t.context, this.specializerSpecs = t.specialized || [], this.specialized = new Uint16Array(this.specializerSpecs.length);
|
1069 |
+
for (let n = 0; n < this.specializerSpecs.length; n++)
|
1070 |
+
this.specialized[n] = this.specializerSpecs[n].term;
|
1071 |
+
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]];
|
1072 |
+
}
|
1073 |
+
createParse(t, e, s) {
|
1074 |
+
let i = new K(this, t, e, s);
|
1075 |
+
for (let h of this.wrappers)
|
1076 |
+
i = h(i, t, e, s);
|
1077 |
+
return i;
|
1078 |
+
}
|
1079 |
+
/**
|
1080 |
+
Get a goto table entry @internal
|
1081 |
+
*/
|
1082 |
+
getGoto(t, e, s = !1) {
|
1083 |
+
let i = this.goto;
|
1084 |
+
if (e >= i[0])
|
1085 |
+
return -1;
|
1086 |
+
for (let h = i[e + 1]; ; ) {
|
1087 |
+
let r = i[h++], n = r & 1, o = i[h++];
|
1088 |
+
if (n && s)
|
1089 |
+
return o;
|
1090 |
+
for (let a = h + (r >> 1); h < a; h++)
|
1091 |
+
if (i[h] == t)
|
1092 |
+
return o;
|
1093 |
+
if (n)
|
1094 |
+
return -1;
|
1095 |
+
}
|
1096 |
+
}
|
1097 |
+
/**
|
1098 |
+
Check if this state has an action for a given terminal @internal
|
1099 |
+
*/
|
1100 |
+
hasAction(t, e) {
|
1101 |
+
let s = this.data;
|
1102 |
+
for (let i = 0; i < 2; i++)
|
1103 |
+
for (let h = this.stateSlot(
|
1104 |
+
t,
|
1105 |
+
i ? 2 : 1
|
1106 |
+
/* ParseState.Actions */
|
1107 |
+
), r; ; h += 3) {
|
1108 |
+
if ((r = s[h]) == 65535)
|
1109 |
+
if (s[h + 1] == 1)
|
1110 |
+
r = s[h = k(s, h + 2)];
|
1111 |
+
else {
|
1112 |
+
if (s[h + 1] == 2)
|
1113 |
+
return k(s, h + 2);
|
1114 |
+
break;
|
1115 |
+
}
|
1116 |
+
if (r == e || r == 0)
|
1117 |
+
return k(s, h + 1);
|
1118 |
+
}
|
1119 |
+
return 0;
|
1120 |
+
}
|
1121 |
+
/**
|
1122 |
+
@internal
|
1123 |
+
*/
|
1124 |
+
stateSlot(t, e) {
|
1125 |
+
return this.states[t * 6 + e];
|
1126 |
+
}
|
1127 |
+
/**
|
1128 |
+
@internal
|
1129 |
+
*/
|
1130 |
+
stateFlag(t, e) {
|
1131 |
+
return (this.stateSlot(
|
1132 |
+
t,
|
1133 |
+
0
|
1134 |
+
/* ParseState.Flags */
|
1135 |
+
) & e) > 0;
|
1136 |
+
}
|
1137 |
+
/**
|
1138 |
+
@internal
|
1139 |
+
*/
|
1140 |
+
validAction(t, e) {
|
1141 |
+
return !!this.allActions(t, (s) => s == e ? !0 : null);
|
1142 |
+
}
|
1143 |
+
/**
|
1144 |
+
@internal
|
1145 |
+
*/
|
1146 |
+
allActions(t, e) {
|
1147 |
+
let s = this.stateSlot(
|
1148 |
+
t,
|
1149 |
+
4
|
1150 |
+
/* ParseState.DefaultReduce */
|
1151 |
+
), i = s ? e(s) : void 0;
|
1152 |
+
for (let h = this.stateSlot(
|
1153 |
+
t,
|
1154 |
+
1
|
1155 |
+
/* ParseState.Actions */
|
1156 |
+
); i == null; h += 3) {
|
1157 |
+
if (this.data[h] == 65535)
|
1158 |
+
if (this.data[h + 1] == 1)
|
1159 |
+
h = k(this.data, h + 2);
|
1160 |
+
else
|
1161 |
+
break;
|
1162 |
+
i = e(k(this.data, h + 1));
|
1163 |
+
}
|
1164 |
+
return i;
|
1165 |
+
}
|
1166 |
+
/**
|
1167 |
+
Get the states that can follow this one through shift actions or
|
1168 |
+
goto jumps. @internal
|
1169 |
+
*/
|
1170 |
+
nextStates(t) {
|
1171 |
+
let e = [];
|
1172 |
+
for (let s = this.stateSlot(
|
1173 |
+
t,
|
1174 |
+
1
|
1175 |
+
/* ParseState.Actions */
|
1176 |
+
); ; s += 3) {
|
1177 |
+
if (this.data[s] == 65535)
|
1178 |
+
if (this.data[s + 1] == 1)
|
1179 |
+
s = k(this.data, s + 2);
|
1180 |
+
else
|
1181 |
+
break;
|
1182 |
+
if (!(this.data[s + 2] & 1)) {
|
1183 |
+
let i = this.data[s + 1];
|
1184 |
+
e.some((h, r) => r & 1 && h == i) || e.push(this.data[s], i);
|
1185 |
+
}
|
1186 |
+
}
|
1187 |
+
return e;
|
1188 |
+
}
|
1189 |
+
/**
|
1190 |
+
Configure the parser. Returns a new parser instance that has the
|
1191 |
+
given settings modified. Settings not provided in `config` are
|
1192 |
+
kept from the original parser.
|
1193 |
+
*/
|
1194 |
+
configure(t) {
|
1195 |
+
let e = Object.assign(Object.create(w.prototype), this);
|
1196 |
+
if (t.props && (e.nodeSet = this.nodeSet.extend(...t.props)), t.top) {
|
1197 |
+
let s = this.topRules[t.top];
|
1198 |
+
if (!s)
|
1199 |
+
throw new RangeError(`Invalid top rule name ${t.top}`);
|
1200 |
+
e.top = s;
|
1201 |
+
}
|
1202 |
+
return t.tokenizers && (e.tokenizers = this.tokenizers.map((s) => {
|
1203 |
+
let i = t.tokenizers.find((h) => h.from == s);
|
1204 |
+
return i ? i.to : s;
|
1205 |
+
})), t.specializers && (e.specializers = this.specializers.slice(), e.specializerSpecs = this.specializerSpecs.map((s, i) => {
|
1206 |
+
let h = t.specializers.find((n) => n.from == s.external);
|
1207 |
+
if (!h)
|
1208 |
+
return s;
|
1209 |
+
let r = Object.assign(Object.assign({}, s), { external: h.to });
|
1210 |
+
return e.specializers[i] = B(r), r;
|
1211 |
+
})), 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;
|
1212 |
+
}
|
1213 |
+
/**
|
1214 |
+
Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)
|
1215 |
+
are registered for this parser.
|
1216 |
+
*/
|
1217 |
+
hasWrappers() {
|
1218 |
+
return this.wrappers.length > 0;
|
1219 |
+
}
|
1220 |
+
/**
|
1221 |
+
Returns the name associated with a given term. This will only
|
1222 |
+
work for all terms when the parser was generated with the
|
1223 |
+
`--names` option. By default, only the names of tagged terms are
|
1224 |
+
stored.
|
1225 |
+
*/
|
1226 |
+
getName(t) {
|
1227 |
+
return this.termNames ? this.termNames[t] : String(t <= this.maxNode && this.nodeSet.types[t].name || t);
|
1228 |
+
}
|
1229 |
+
/**
|
1230 |
+
The eof term id is always allocated directly after the node
|
1231 |
+
types. @internal
|
1232 |
+
*/
|
1233 |
+
get eofTerm() {
|
1234 |
+
return this.maxNode + 1;
|
1235 |
+
}
|
1236 |
+
/**
|
1237 |
+
The type of top node produced by the parser.
|
1238 |
+
*/
|
1239 |
+
get topNode() {
|
1240 |
+
return this.nodeSet.types[this.top[1]];
|
1241 |
+
}
|
1242 |
+
/**
|
1243 |
+
@internal
|
1244 |
+
*/
|
1245 |
+
dynamicPrecedence(t) {
|
1246 |
+
let e = this.dynamicPrecedences;
|
1247 |
+
return e == null ? 0 : e[t] || 0;
|
1248 |
+
}
|
1249 |
+
/**
|
1250 |
+
@internal
|
1251 |
+
*/
|
1252 |
+
parseDialect(t) {
|
1253 |
+
let e = Object.keys(this.dialects), s = e.map(() => !1);
|
1254 |
+
if (t)
|
1255 |
+
for (let h of t.split(" ")) {
|
1256 |
+
let r = e.indexOf(h);
|
1257 |
+
r >= 0 && (s[r] = !0);
|
1258 |
+
}
|
1259 |
+
let i = null;
|
1260 |
+
for (let h = 0; h < e.length; h++)
|
1261 |
+
if (!s[h])
|
1262 |
+
for (let r = this.dialects[e[h]], n; (n = this.data[r++]) != 65535; )
|
1263 |
+
(i || (i = new Uint8Array(this.maxTerm + 1)))[n] = 1;
|
1264 |
+
return new Q(t, s, i);
|
1265 |
+
}
|
1266 |
+
/**
|
1267 |
+
Used by the output of the parser generator. Not available to
|
1268 |
+
user code. @hide
|
1269 |
+
*/
|
1270 |
+
static deserialize(t) {
|
1271 |
+
return new w(t);
|
1272 |
+
}
|
1273 |
+
}
|
1274 |
+
function k(l, t) {
|
1275 |
+
return l[t] | l[t + 1] << 16;
|
1276 |
+
}
|
1277 |
+
function V(l) {
|
1278 |
+
let t = null;
|
1279 |
+
for (let e of l) {
|
1280 |
+
let s = e.p.stoppedAt;
|
1281 |
+
(e.pos == e.p.stream.end || s != null && e.pos > s) && e.p.parser.stateFlag(
|
1282 |
+
e.state,
|
1283 |
+
2
|
1284 |
+
/* StateFlag.Accepting */
|
1285 |
+
) && (!t || t.score < e.score) && (t = e);
|
1286 |
+
}
|
1287 |
+
return t;
|
1288 |
+
}
|
1289 |
+
function B(l) {
|
1290 |
+
if (l.external) {
|
1291 |
+
let t = l.extend ? 1 : 0;
|
1292 |
+
return (e, s) => l.external(e, s) << 1 | t;
|
1293 |
+
}
|
1294 |
+
return l.get;
|
1295 |
+
}
|
1296 |
+
export {
|
1297 |
+
Z as C,
|
1298 |
+
Y as E,
|
1299 |
+
w as L,
|
1300 |
+
H as a
|
1301 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-55bcb1bf.js
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { L as s } from "./index-3f1cf095.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-805076c9.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-6c267d21.js
ADDED
@@ -0,0 +1,979 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { C as be, E as k, L as Pe } from "./index-3f1cf095.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-805076c9.js";
|
3 |
+
import { cssLanguage as J, css as _e } from "./index-8ba95b76.js";
|
4 |
+
import { typescriptLanguage as qe, jsxLanguage as Ce, tsxLanguage as Ae, javascriptLanguage as M, javascript as Qe } from "./index-9f51af45.js";
|
5 |
+
const Ye = 54, Me = 1, Re = 55, Ee = 2, Ze = 56, Be = 3, W = 4, We = 5, v = 6, ee = 7, te = 8, ae = 9, le = 10, ze = 11, De = 12, Ne = 13, $ = 57, Ge = 14, z = 58, re = 20, je = 22, ne = 23, Ie = 24, Q = 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, j = 0;
|
88 |
+
function Y(e, a) {
|
89 |
+
let r = e.pos + a;
|
90 |
+
if (j == r && G == e)
|
91 |
+
return N;
|
92 |
+
let l = e.peek(a);
|
93 |
+
for (; oe(l); )
|
94 |
+
l = e.peek(++a);
|
95 |
+
let t = "";
|
96 |
+
for (; lt(l); )
|
97 |
+
t += String.fromCharCode(l), l = e.peek(++a);
|
98 |
+
return G = e, j = r, N = t ? t.toLowerCase() : l == rt || l == nt ? void 0 : null;
|
99 |
+
}
|
100 |
+
const ue = 60, X = 62, R = 47, rt = 63, nt = 33, st = 45;
|
101 |
+
function I(e, a) {
|
102 |
+
this.name = e, this.parent = a, this.hash = a ? a.hash : 0;
|
103 |
+
for (let r = 0; r < e.length; r++)
|
104 |
+
this.hash += (this.hash << 4) + e.charCodeAt(r) + (e.charCodeAt(r) << 8);
|
105 |
+
}
|
106 |
+
const ot = [v, le, ee, te, ae], ut = new be({
|
107 |
+
start: null,
|
108 |
+
shift(e, a, r, l) {
|
109 |
+
return ot.indexOf(a) > -1 ? new I(Y(l, 1) || "", e) : e;
|
110 |
+
},
|
111 |
+
reduce(e, a) {
|
112 |
+
return a == re && e ? e.parent : e;
|
113 |
+
},
|
114 |
+
reuse(e, a, r, l) {
|
115 |
+
let t = a.type.id;
|
116 |
+
return t == v || t == He ? new I(Y(l, 1) || "", e) : e;
|
117 |
+
},
|
118 |
+
hash(e) {
|
119 |
+
return e ? e.hash : 0;
|
120 |
+
},
|
121 |
+
strict: !1
|
122 |
+
}), it = new k((e, a) => {
|
123 |
+
if (e.next != ue) {
|
124 |
+
e.next < 0 && a.context && e.acceptToken($);
|
125 |
+
return;
|
126 |
+
}
|
127 |
+
e.advance();
|
128 |
+
let r = e.next == R;
|
129 |
+
r && e.advance();
|
130 |
+
let l = Y(e, 0);
|
131 |
+
if (l === void 0)
|
132 |
+
return;
|
133 |
+
if (!l)
|
134 |
+
return e.acceptToken(r ? Ge : v);
|
135 |
+
let t = a.context ? a.context.name : null;
|
136 |
+
if (r) {
|
137 |
+
if (l == t)
|
138 |
+
return e.acceptToken(ze);
|
139 |
+
if (t && at[t])
|
140 |
+
return e.acceptToken($, -2);
|
141 |
+
if (a.dialectEnabled(Je))
|
142 |
+
return e.acceptToken(De);
|
143 |
+
for (let s = a.context; s; s = s.parent)
|
144 |
+
if (s.name == l)
|
145 |
+
return;
|
146 |
+
e.acceptToken(Ne);
|
147 |
+
} else {
|
148 |
+
if (l == "script")
|
149 |
+
return e.acceptToken(ee);
|
150 |
+
if (l == "style")
|
151 |
+
return e.acceptToken(te);
|
152 |
+
if (l == "textarea")
|
153 |
+
return e.acceptToken(ae);
|
154 |
+
if (tt.hasOwnProperty(l))
|
155 |
+
return e.acceptToken(le);
|
156 |
+
t && D[t] && D[t][l] ? e.acceptToken($, -1) : e.acceptToken(v);
|
157 |
+
}
|
158 |
+
}, { contextual: !0 }), Ot = new k((e) => {
|
159 |
+
for (let a = 0, r = 0; ; r++) {
|
160 |
+
if (e.next < 0) {
|
161 |
+
r && e.acceptToken(z);
|
162 |
+
break;
|
163 |
+
}
|
164 |
+
if (e.next == st)
|
165 |
+
a++;
|
166 |
+
else if (e.next == X && a >= 2) {
|
167 |
+
r >= 3 && e.acceptToken(z, -2);
|
168 |
+
break;
|
169 |
+
} else
|
170 |
+
a = 0;
|
171 |
+
e.advance();
|
172 |
+
}
|
173 |
+
});
|
174 |
+
function ct(e) {
|
175 |
+
for (; e; e = e.parent)
|
176 |
+
if (e.name == "svg" || e.name == "math")
|
177 |
+
return !0;
|
178 |
+
return !1;
|
179 |
+
}
|
180 |
+
const dt = new k((e, a) => {
|
181 |
+
if (e.next == R && e.peek(1) == X) {
|
182 |
+
let r = a.dialectEnabled(et) || ct(a.context);
|
183 |
+
e.acceptToken(r ? We : W, 2);
|
184 |
+
} else
|
185 |
+
e.next == X && e.acceptToken(W, 1);
|
186 |
+
});
|
187 |
+
function E(e, a, r) {
|
188 |
+
let l = 2 + e.length;
|
189 |
+
return new k((t) => {
|
190 |
+
for (let s = 0, o = 0, u = 0; ; u++) {
|
191 |
+
if (t.next < 0) {
|
192 |
+
u && t.acceptToken(a);
|
193 |
+
break;
|
194 |
+
}
|
195 |
+
if (s == 0 && t.next == ue || s == 1 && t.next == R || s >= 2 && s < l && t.next == e.charCodeAt(s - 2))
|
196 |
+
s++, o++;
|
197 |
+
else if ((s == 2 || s == l) && oe(t.next))
|
198 |
+
o++;
|
199 |
+
else if (s == l && t.next == X) {
|
200 |
+
u > o ? t.acceptToken(a, -o) : t.acceptToken(r, -(o - 2));
|
201 |
+
break;
|
202 |
+
} else if ((t.next == 10 || t.next == 13) && u) {
|
203 |
+
t.acceptToken(a, 1);
|
204 |
+
break;
|
205 |
+
} else
|
206 |
+
s = o = 0;
|
207 |
+
t.advance();
|
208 |
+
}
|
209 |
+
});
|
210 |
+
}
|
211 |
+
const pt = E("script", Ye, Me), mt = E("style", Re, Ee), ft = E("textarea", Ze, Be), St = xe({
|
212 |
+
"Text RawText": h.content,
|
213 |
+
"StartTag StartCloseTag SelfClosingEndTag EndTag": h.angleBracket,
|
214 |
+
TagName: h.tagName,
|
215 |
+
"MismatchedCloseTag/TagName": [h.tagName, h.invalid],
|
216 |
+
AttributeName: h.attributeName,
|
217 |
+
"AttributeValue UnquotedAttributeValue": h.attributeValue,
|
218 |
+
Is: h.definitionOperator,
|
219 |
+
"EntityReference CharacterReference": h.character,
|
220 |
+
Comment: h.blockComment,
|
221 |
+
ProcessingInst: h.processingInstruction,
|
222 |
+
DoctypeDecl: h.documentMeta
|
223 |
+
}), gt = Pe.deserialize({
|
224 |
+
version: 14,
|
225 |
+
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%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",
|
226 |
+
stateData: "+s~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|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~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!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~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~",
|
227 |
+
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{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",
|
228 |
+
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",
|
229 |
+
maxTerm: 67,
|
230 |
+
context: ut,
|
231 |
+
nodeProps: [
|
232 |
+
["closedBy", -10, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13, "EndTag", 6, "EndTag SelfClosingEndTag", -4, 21, 30, 33, 36, "CloseTag"],
|
233 |
+
["openedBy", 4, "StartTag StartCloseTag", 5, "StartTag", -4, 29, 32, 35, 37, "OpenTag"],
|
234 |
+
["group", -9, 14, 17, 18, 19, 20, 39, 40, 41, 42, "Entity", 16, "Entity TextContent", -3, 28, 31, 34, "TextContent Entity"],
|
235 |
+
["isolate", -11, 21, 29, 30, 32, 33, 35, 36, 37, 38, 41, 42, "ltr", -3, 26, 27, 39, ""]
|
236 |
+
],
|
237 |
+
propSources: [St],
|
238 |
+
skippedNodes: [0],
|
239 |
+
repeatNodeCount: 9,
|
240 |
+
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",
|
241 |
+
tokenizers: [pt, mt, ft, dt, it, Ot, 0, 1, 2, 3, 4, 5],
|
242 |
+
topRules: { Document: [0, 15] },
|
243 |
+
dialects: { noMatch: 0, selfClosing: 485 },
|
244 |
+
tokenPrec: 487
|
245 |
+
});
|
246 |
+
function ie(e, a) {
|
247 |
+
let r = /* @__PURE__ */ Object.create(null);
|
248 |
+
for (let l of e.getChildren(ne)) {
|
249 |
+
let t = l.getChild(Ie), s = l.getChild(Q) || l.getChild(se);
|
250 |
+
t && (r[a.read(t.from, t.to)] = s ? s.type.id == Q ? a.read(s.from + 1, s.to - 1) : a.read(s.from, s.to) : "");
|
251 |
+
}
|
252 |
+
return r;
|
253 |
+
}
|
254 |
+
function U(e, a) {
|
255 |
+
let r = e.getChild(je);
|
256 |
+
return r ? a.read(r.from, r.to) : " ";
|
257 |
+
}
|
258 |
+
function _(e, a, r) {
|
259 |
+
let l;
|
260 |
+
for (let t of r)
|
261 |
+
if (!t.attrs || t.attrs(l || (l = ie(e.node.parent.firstChild, a))))
|
262 |
+
return { parser: t.parser };
|
263 |
+
return null;
|
264 |
+
}
|
265 |
+
function Oe(e = [], a = []) {
|
266 |
+
let r = [], l = [], t = [], s = [];
|
267 |
+
for (let u of e)
|
268 |
+
(u.tag == "script" ? r : u.tag == "style" ? l : u.tag == "textarea" ? t : s).push(u);
|
269 |
+
let o = a.length ? /* @__PURE__ */ Object.create(null) : null;
|
270 |
+
for (let u of a)
|
271 |
+
(o[u.name] || (o[u.name] = [])).push(u);
|
272 |
+
return Te((u, i) => {
|
273 |
+
let f = u.type.id;
|
274 |
+
if (f == Ue)
|
275 |
+
return _(u, i, r);
|
276 |
+
if (f == Le)
|
277 |
+
return _(u, i, l);
|
278 |
+
if (f == Fe)
|
279 |
+
return _(u, i, t);
|
280 |
+
if (f == re && s.length) {
|
281 |
+
let p = u.node, d = p.firstChild, m = d && U(d, i), c;
|
282 |
+
if (m) {
|
283 |
+
for (let O of s)
|
284 |
+
if (O.tag == m && (!O.attrs || O.attrs(c || (c = ie(p, i))))) {
|
285 |
+
let g = p.lastChild, b = g.type.id == Ke ? g.from : p.to;
|
286 |
+
if (b > d.to)
|
287 |
+
return { parser: O.parser, overlay: [{ from: d.to, to: b }] };
|
288 |
+
}
|
289 |
+
}
|
290 |
+
}
|
291 |
+
if (o && f == ne) {
|
292 |
+
let p = u.node, d;
|
293 |
+
if (d = p.firstChild) {
|
294 |
+
let m = o[i.read(d.from, d.to)];
|
295 |
+
if (m)
|
296 |
+
for (let c of m) {
|
297 |
+
if (c.tagName && c.tagName != U(p.parent, i))
|
298 |
+
continue;
|
299 |
+
let O = p.lastChild;
|
300 |
+
if (O.type.id == Q) {
|
301 |
+
let g = O.from + 1, b = O.lastChild, P = O.to - (b && b.isError ? 0 : 1);
|
302 |
+
if (P > g)
|
303 |
+
return { parser: c.parser, overlay: [{ from: g, to: P }] };
|
304 |
+
} else if (O.type.id == se)
|
305 |
+
return { parser: c.parser, overlay: [{ from: O.from, to: O.to }] };
|
306 |
+
}
|
307 |
+
}
|
308 |
+
}
|
309 |
+
return null;
|
310 |
+
});
|
311 |
+
}
|
312 |
+
const V = ["_blank", "_self", "_top", "_parent"], q = ["ascii", "utf-8", "utf-16", "latin1", "latin1"], C = ["get", "post", "put", "delete"], A = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], S = ["true", "false"], n = {}, ht = {
|
313 |
+
a: {
|
314 |
+
attrs: {
|
315 |
+
href: null,
|
316 |
+
ping: null,
|
317 |
+
type: null,
|
318 |
+
media: null,
|
319 |
+
target: V,
|
320 |
+
hreflang: null
|
321 |
+
}
|
322 |
+
},
|
323 |
+
abbr: n,
|
324 |
+
address: n,
|
325 |
+
area: {
|
326 |
+
attrs: {
|
327 |
+
alt: null,
|
328 |
+
coords: null,
|
329 |
+
href: null,
|
330 |
+
target: null,
|
331 |
+
ping: null,
|
332 |
+
media: null,
|
333 |
+
hreflang: null,
|
334 |
+
type: null,
|
335 |
+
shape: ["default", "rect", "circle", "poly"]
|
336 |
+
}
|
337 |
+
},
|
338 |
+
article: n,
|
339 |
+
aside: n,
|
340 |
+
audio: {
|
341 |
+
attrs: {
|
342 |
+
src: null,
|
343 |
+
mediagroup: null,
|
344 |
+
crossorigin: ["anonymous", "use-credentials"],
|
345 |
+
preload: ["none", "metadata", "auto"],
|
346 |
+
autoplay: ["autoplay"],
|
347 |
+
loop: ["loop"],
|
348 |
+
controls: ["controls"]
|
349 |
+
}
|
350 |
+
},
|
351 |
+
b: n,
|
352 |
+
base: { attrs: { href: null, target: V } },
|
353 |
+
bdi: n,
|
354 |
+
bdo: n,
|
355 |
+
blockquote: { attrs: { cite: null } },
|
356 |
+
body: n,
|
357 |
+
br: n,
|
358 |
+
button: {
|
359 |
+
attrs: {
|
360 |
+
form: null,
|
361 |
+
formaction: null,
|
362 |
+
name: null,
|
363 |
+
value: null,
|
364 |
+
autofocus: ["autofocus"],
|
365 |
+
disabled: ["autofocus"],
|
366 |
+
formenctype: A,
|
367 |
+
formmethod: C,
|
368 |
+
formnovalidate: ["novalidate"],
|
369 |
+
formtarget: V,
|
370 |
+
type: ["submit", "reset", "button"]
|
371 |
+
}
|
372 |
+
},
|
373 |
+
canvas: { attrs: { width: null, height: null } },
|
374 |
+
caption: n,
|
375 |
+
center: n,
|
376 |
+
cite: n,
|
377 |
+
code: n,
|
378 |
+
col: { attrs: { span: null } },
|
379 |
+
colgroup: { attrs: { span: null } },
|
380 |
+
command: {
|
381 |
+
attrs: {
|
382 |
+
type: ["command", "checkbox", "radio"],
|
383 |
+
label: null,
|
384 |
+
icon: null,
|
385 |
+
radiogroup: null,
|
386 |
+
command: null,
|
387 |
+
title: null,
|
388 |
+
disabled: ["disabled"],
|
389 |
+
checked: ["checked"]
|
390 |
+
}
|
391 |
+
},
|
392 |
+
data: { attrs: { value: null } },
|
393 |
+
datagrid: { attrs: { disabled: ["disabled"], multiple: ["multiple"] } },
|
394 |
+
datalist: { attrs: { data: null } },
|
395 |
+
dd: n,
|
396 |
+
del: { attrs: { cite: null, datetime: null } },
|
397 |
+
details: { attrs: { open: ["open"] } },
|
398 |
+
dfn: n,
|
399 |
+
div: n,
|
400 |
+
dl: n,
|
401 |
+
dt: n,
|
402 |
+
em: n,
|
403 |
+
embed: { attrs: { src: null, type: null, width: null, height: null } },
|
404 |
+
eventsource: { attrs: { src: null } },
|
405 |
+
fieldset: { attrs: { disabled: ["disabled"], form: null, name: null } },
|
406 |
+
figcaption: n,
|
407 |
+
figure: n,
|
408 |
+
footer: n,
|
409 |
+
form: {
|
410 |
+
attrs: {
|
411 |
+
action: null,
|
412 |
+
name: null,
|
413 |
+
"accept-charset": q,
|
414 |
+
autocomplete: ["on", "off"],
|
415 |
+
enctype: A,
|
416 |
+
method: C,
|
417 |
+
novalidate: ["novalidate"],
|
418 |
+
target: V
|
419 |
+
}
|
420 |
+
},
|
421 |
+
h1: n,
|
422 |
+
h2: n,
|
423 |
+
h3: n,
|
424 |
+
h4: n,
|
425 |
+
h5: n,
|
426 |
+
h6: n,
|
427 |
+
head: {
|
428 |
+
children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"]
|
429 |
+
},
|
430 |
+
header: n,
|
431 |
+
hgroup: n,
|
432 |
+
hr: n,
|
433 |
+
html: {
|
434 |
+
attrs: { manifest: null }
|
435 |
+
},
|
436 |
+
i: n,
|
437 |
+
iframe: {
|
438 |
+
attrs: {
|
439 |
+
src: null,
|
440 |
+
srcdoc: null,
|
441 |
+
name: null,
|
442 |
+
width: null,
|
443 |
+
height: null,
|
444 |
+
sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"],
|
445 |
+
seamless: ["seamless"]
|
446 |
+
}
|
447 |
+
},
|
448 |
+
img: {
|
449 |
+
attrs: {
|
450 |
+
alt: null,
|
451 |
+
src: null,
|
452 |
+
ismap: null,
|
453 |
+
usemap: null,
|
454 |
+
width: null,
|
455 |
+
height: null,
|
456 |
+
crossorigin: ["anonymous", "use-credentials"]
|
457 |
+
}
|
458 |
+
},
|
459 |
+
input: {
|
460 |
+
attrs: {
|
461 |
+
alt: null,
|
462 |
+
dirname: null,
|
463 |
+
form: null,
|
464 |
+
formaction: null,
|
465 |
+
height: null,
|
466 |
+
list: null,
|
467 |
+
max: null,
|
468 |
+
maxlength: null,
|
469 |
+
min: null,
|
470 |
+
name: null,
|
471 |
+
pattern: null,
|
472 |
+
placeholder: null,
|
473 |
+
size: null,
|
474 |
+
src: null,
|
475 |
+
step: null,
|
476 |
+
value: null,
|
477 |
+
width: null,
|
478 |
+
accept: ["audio/*", "video/*", "image/*"],
|
479 |
+
autocomplete: ["on", "off"],
|
480 |
+
autofocus: ["autofocus"],
|
481 |
+
checked: ["checked"],
|
482 |
+
disabled: ["disabled"],
|
483 |
+
formenctype: A,
|
484 |
+
formmethod: C,
|
485 |
+
formnovalidate: ["novalidate"],
|
486 |
+
formtarget: V,
|
487 |
+
multiple: ["multiple"],
|
488 |
+
readonly: ["readonly"],
|
489 |
+
required: ["required"],
|
490 |
+
type: [
|
491 |
+
"hidden",
|
492 |
+
"text",
|
493 |
+
"search",
|
494 |
+
"tel",
|
495 |
+
"url",
|
496 |
+
"email",
|
497 |
+
"password",
|
498 |
+
"datetime",
|
499 |
+
"date",
|
500 |
+
"month",
|
501 |
+
"week",
|
502 |
+
"time",
|
503 |
+
"datetime-local",
|
504 |
+
"number",
|
505 |
+
"range",
|
506 |
+
"color",
|
507 |
+
"checkbox",
|
508 |
+
"radio",
|
509 |
+
"file",
|
510 |
+
"submit",
|
511 |
+
"image",
|
512 |
+
"reset",
|
513 |
+
"button"
|
514 |
+
]
|
515 |
+
}
|
516 |
+
},
|
517 |
+
ins: { attrs: { cite: null, datetime: null } },
|
518 |
+
kbd: n,
|
519 |
+
keygen: {
|
520 |
+
attrs: {
|
521 |
+
challenge: null,
|
522 |
+
form: null,
|
523 |
+
name: null,
|
524 |
+
autofocus: ["autofocus"],
|
525 |
+
disabled: ["disabled"],
|
526 |
+
keytype: ["RSA"]
|
527 |
+
}
|
528 |
+
},
|
529 |
+
label: { attrs: { for: null, form: null } },
|
530 |
+
legend: n,
|
531 |
+
li: { attrs: { value: null } },
|
532 |
+
link: {
|
533 |
+
attrs: {
|
534 |
+
href: null,
|
535 |
+
type: null,
|
536 |
+
hreflang: null,
|
537 |
+
media: null,
|
538 |
+
sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"]
|
539 |
+
}
|
540 |
+
},
|
541 |
+
map: { attrs: { name: null } },
|
542 |
+
mark: n,
|
543 |
+
menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } },
|
544 |
+
meta: {
|
545 |
+
attrs: {
|
546 |
+
content: null,
|
547 |
+
charset: q,
|
548 |
+
name: ["viewport", "application-name", "author", "description", "generator", "keywords"],
|
549 |
+
"http-equiv": ["content-language", "content-type", "default-style", "refresh"]
|
550 |
+
}
|
551 |
+
},
|
552 |
+
meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },
|
553 |
+
nav: n,
|
554 |
+
noscript: n,
|
555 |
+
object: {
|
556 |
+
attrs: {
|
557 |
+
data: null,
|
558 |
+
type: null,
|
559 |
+
name: null,
|
560 |
+
usemap: null,
|
561 |
+
form: null,
|
562 |
+
width: null,
|
563 |
+
height: null,
|
564 |
+
typemustmatch: ["typemustmatch"]
|
565 |
+
}
|
566 |
+
},
|
567 |
+
ol: {
|
568 |
+
attrs: { reversed: ["reversed"], start: null, type: ["1", "a", "A", "i", "I"] },
|
569 |
+
children: ["li", "script", "template", "ul", "ol"]
|
570 |
+
},
|
571 |
+
optgroup: { attrs: { disabled: ["disabled"], label: null } },
|
572 |
+
option: { attrs: { disabled: ["disabled"], label: null, selected: ["selected"], value: null } },
|
573 |
+
output: { attrs: { for: null, form: null, name: null } },
|
574 |
+
p: n,
|
575 |
+
param: { attrs: { name: null, value: null } },
|
576 |
+
pre: n,
|
577 |
+
progress: { attrs: { value: null, max: null } },
|
578 |
+
q: { attrs: { cite: null } },
|
579 |
+
rp: n,
|
580 |
+
rt: n,
|
581 |
+
ruby: n,
|
582 |
+
samp: n,
|
583 |
+
script: {
|
584 |
+
attrs: {
|
585 |
+
type: ["text/javascript"],
|
586 |
+
src: null,
|
587 |
+
async: ["async"],
|
588 |
+
defer: ["defer"],
|
589 |
+
charset: q
|
590 |
+
}
|
591 |
+
},
|
592 |
+
section: n,
|
593 |
+
select: {
|
594 |
+
attrs: {
|
595 |
+
form: null,
|
596 |
+
name: null,
|
597 |
+
size: null,
|
598 |
+
autofocus: ["autofocus"],
|
599 |
+
disabled: ["disabled"],
|
600 |
+
multiple: ["multiple"]
|
601 |
+
}
|
602 |
+
},
|
603 |
+
slot: { attrs: { name: null } },
|
604 |
+
small: n,
|
605 |
+
source: { attrs: { src: null, type: null, media: null } },
|
606 |
+
span: n,
|
607 |
+
strong: n,
|
608 |
+
style: {
|
609 |
+
attrs: {
|
610 |
+
type: ["text/css"],
|
611 |
+
media: null,
|
612 |
+
scoped: null
|
613 |
+
}
|
614 |
+
},
|
615 |
+
sub: n,
|
616 |
+
summary: n,
|
617 |
+
sup: n,
|
618 |
+
table: n,
|
619 |
+
tbody: n,
|
620 |
+
td: { attrs: { colspan: null, rowspan: null, headers: null } },
|
621 |
+
template: n,
|
622 |
+
textarea: {
|
623 |
+
attrs: {
|
624 |
+
dirname: null,
|
625 |
+
form: null,
|
626 |
+
maxlength: null,
|
627 |
+
name: null,
|
628 |
+
placeholder: null,
|
629 |
+
rows: null,
|
630 |
+
cols: null,
|
631 |
+
autofocus: ["autofocus"],
|
632 |
+
disabled: ["disabled"],
|
633 |
+
readonly: ["readonly"],
|
634 |
+
required: ["required"],
|
635 |
+
wrap: ["soft", "hard"]
|
636 |
+
}
|
637 |
+
},
|
638 |
+
tfoot: n,
|
639 |
+
th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } },
|
640 |
+
thead: n,
|
641 |
+
time: { attrs: { datetime: null } },
|
642 |
+
title: n,
|
643 |
+
tr: n,
|
644 |
+
track: {
|
645 |
+
attrs: {
|
646 |
+
src: null,
|
647 |
+
label: null,
|
648 |
+
default: null,
|
649 |
+
kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"],
|
650 |
+
srclang: null
|
651 |
+
}
|
652 |
+
},
|
653 |
+
ul: { children: ["li", "script", "template", "ul", "ol"] },
|
654 |
+
var: n,
|
655 |
+
video: {
|
656 |
+
attrs: {
|
657 |
+
src: null,
|
658 |
+
poster: null,
|
659 |
+
width: null,
|
660 |
+
height: null,
|
661 |
+
crossorigin: ["anonymous", "use-credentials"],
|
662 |
+
preload: ["auto", "metadata", "none"],
|
663 |
+
autoplay: ["autoplay"],
|
664 |
+
mediagroup: ["movie"],
|
665 |
+
muted: ["muted"],
|
666 |
+
controls: ["controls"]
|
667 |
+
}
|
668 |
+
},
|
669 |
+
wbr: n
|
670 |
+
}, ce = {
|
671 |
+
accesskey: null,
|
672 |
+
class: null,
|
673 |
+
contenteditable: S,
|
674 |
+
contextmenu: null,
|
675 |
+
dir: ["ltr", "rtl", "auto"],
|
676 |
+
draggable: ["true", "false", "auto"],
|
677 |
+
dropzone: ["copy", "move", "link", "string:", "file:"],
|
678 |
+
hidden: ["hidden"],
|
679 |
+
id: null,
|
680 |
+
inert: ["inert"],
|
681 |
+
itemid: null,
|
682 |
+
itemprop: null,
|
683 |
+
itemref: null,
|
684 |
+
itemscope: ["itemscope"],
|
685 |
+
itemtype: null,
|
686 |
+
lang: ["ar", "bn", "de", "en-GB", "en-US", "es", "fr", "hi", "id", "ja", "pa", "pt", "ru", "tr", "zh"],
|
687 |
+
spellcheck: S,
|
688 |
+
autocorrect: S,
|
689 |
+
autocapitalize: S,
|
690 |
+
style: null,
|
691 |
+
tabindex: null,
|
692 |
+
title: null,
|
693 |
+
translate: ["yes", "no"],
|
694 |
+
rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"],
|
695 |
+
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(" "),
|
696 |
+
"aria-activedescendant": null,
|
697 |
+
"aria-atomic": S,
|
698 |
+
"aria-autocomplete": ["inline", "list", "both", "none"],
|
699 |
+
"aria-busy": S,
|
700 |
+
"aria-checked": ["true", "false", "mixed", "undefined"],
|
701 |
+
"aria-controls": null,
|
702 |
+
"aria-describedby": null,
|
703 |
+
"aria-disabled": S,
|
704 |
+
"aria-dropeffect": null,
|
705 |
+
"aria-expanded": ["true", "false", "undefined"],
|
706 |
+
"aria-flowto": null,
|
707 |
+
"aria-grabbed": ["true", "false", "undefined"],
|
708 |
+
"aria-haspopup": S,
|
709 |
+
"aria-hidden": S,
|
710 |
+
"aria-invalid": ["true", "false", "grammar", "spelling"],
|
711 |
+
"aria-label": null,
|
712 |
+
"aria-labelledby": null,
|
713 |
+
"aria-level": null,
|
714 |
+
"aria-live": ["off", "polite", "assertive"],
|
715 |
+
"aria-multiline": S,
|
716 |
+
"aria-multiselectable": S,
|
717 |
+
"aria-owns": null,
|
718 |
+
"aria-posinset": null,
|
719 |
+
"aria-pressed": ["true", "false", "mixed", "undefined"],
|
720 |
+
"aria-readonly": S,
|
721 |
+
"aria-relevant": null,
|
722 |
+
"aria-required": S,
|
723 |
+
"aria-selected": ["true", "false", "undefined"],
|
724 |
+
"aria-setsize": null,
|
725 |
+
"aria-sort": ["ascending", "descending", "none", "other"],
|
726 |
+
"aria-valuemax": null,
|
727 |
+
"aria-valuemin": null,
|
728 |
+
"aria-valuenow": null,
|
729 |
+
"aria-valuetext": null
|
730 |
+
}, 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);
|
731 |
+
for (let e of de)
|
732 |
+
ce[e] = null;
|
733 |
+
class w {
|
734 |
+
constructor(a, r) {
|
735 |
+
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);
|
736 |
+
}
|
737 |
+
}
|
738 |
+
w.default = /* @__PURE__ */ new w();
|
739 |
+
function x(e, a, r = e.length) {
|
740 |
+
if (!a)
|
741 |
+
return "";
|
742 |
+
let l = a.firstChild, t = l && l.getChild("TagName");
|
743 |
+
return t ? e.sliceString(t.from, Math.min(t.to, r)) : "";
|
744 |
+
}
|
745 |
+
function T(e, a = !1) {
|
746 |
+
for (; e; e = e.parent)
|
747 |
+
if (e.name == "Element")
|
748 |
+
if (a)
|
749 |
+
a = !1;
|
750 |
+
else
|
751 |
+
return e;
|
752 |
+
return null;
|
753 |
+
}
|
754 |
+
function pe(e, a, r) {
|
755 |
+
let l = r.tags[x(e, T(a))];
|
756 |
+
return (l == null ? void 0 : l.children) || r.allTags;
|
757 |
+
}
|
758 |
+
function Z(e, a) {
|
759 |
+
let r = [];
|
760 |
+
for (let l = T(a); l && !l.type.isTop; l = T(l.parent)) {
|
761 |
+
let t = x(e, l);
|
762 |
+
if (t && l.lastChild.name == "CloseTag")
|
763 |
+
break;
|
764 |
+
t && r.indexOf(t) < 0 && (a.name == "EndTag" || a.from >= l.firstChild.to) && r.push(t);
|
765 |
+
}
|
766 |
+
return r;
|
767 |
+
}
|
768 |
+
const me = /^[:\-\.\w\u00b7-\uffff]*$/;
|
769 |
+
function L(e, a, r, l, t) {
|
770 |
+
let s = /\s*>/.test(e.sliceDoc(t, t + 5)) ? "" : ">", o = T(r, !0);
|
771 |
+
return {
|
772 |
+
from: l,
|
773 |
+
to: t,
|
774 |
+
options: pe(e.doc, o, a).map((u) => ({ label: u, type: "type" })).concat(Z(e.doc, r).map((u, i) => ({
|
775 |
+
label: "/" + u,
|
776 |
+
apply: "/" + u + s,
|
777 |
+
type: "type",
|
778 |
+
boost: 99 - i
|
779 |
+
}))),
|
780 |
+
validFor: /^\/?[:\-\.\w\u00b7-\uffff]*$/
|
781 |
+
};
|
782 |
+
}
|
783 |
+
function F(e, a, r, l) {
|
784 |
+
let t = /\s*>/.test(e.sliceDoc(l, l + 5)) ? "" : ">";
|
785 |
+
return {
|
786 |
+
from: r,
|
787 |
+
to: l,
|
788 |
+
options: Z(e.doc, a).map((s, o) => ({ label: s, apply: s + t, type: "type", boost: 99 - o })),
|
789 |
+
validFor: me
|
790 |
+
};
|
791 |
+
}
|
792 |
+
function bt(e, a, r, l) {
|
793 |
+
let t = [], s = 0;
|
794 |
+
for (let o of pe(e.doc, r, a))
|
795 |
+
t.push({ label: "<" + o, type: "type" });
|
796 |
+
for (let o of Z(e.doc, r))
|
797 |
+
t.push({ label: "</" + o + ">", type: "type", boost: 99 - s++ });
|
798 |
+
return { from: l, to: l, options: t, validFor: /^<\/?[:\-\.\w\u00b7-\uffff]*$/ };
|
799 |
+
}
|
800 |
+
function Pt(e, a, r, l, t) {
|
801 |
+
let s = T(r), o = s ? a.tags[x(e.doc, s)] : null, u = o && o.attrs ? Object.keys(o.attrs) : [], i = o && o.globalAttrs === !1 ? u : u.length ? u.concat(a.globalAttrNames) : a.globalAttrNames;
|
802 |
+
return {
|
803 |
+
from: l,
|
804 |
+
to: t,
|
805 |
+
options: i.map((f) => ({ label: f, type: "property" })),
|
806 |
+
validFor: me
|
807 |
+
};
|
808 |
+
}
|
809 |
+
function xt(e, a, r, l, t) {
|
810 |
+
var s;
|
811 |
+
let o = (s = r.parent) === null || s === void 0 ? void 0 : s.getChild("AttributeName"), u = [], i;
|
812 |
+
if (o) {
|
813 |
+
let f = e.sliceDoc(o.from, o.to), p = a.globalAttrs[f];
|
814 |
+
if (!p) {
|
815 |
+
let d = T(r), m = d ? a.tags[x(e.doc, d)] : null;
|
816 |
+
p = (m == null ? void 0 : m.attrs) && m.attrs[f];
|
817 |
+
}
|
818 |
+
if (p) {
|
819 |
+
let d = e.sliceDoc(l, t).toLowerCase(), m = '"', c = '"';
|
820 |
+
/^['"]/.test(d) ? (i = d[0] == '"' ? /^[^"]*$/ : /^[^']*$/, m = "", c = e.sliceDoc(t, t + 1) == d[0] ? "" : d[0], d = d.slice(1), l++) : i = /^[^\s<>='"]*$/;
|
821 |
+
for (let O of p)
|
822 |
+
u.push({ label: O, apply: m + O + c, type: "constant" });
|
823 |
+
}
|
824 |
+
}
|
825 |
+
return { from: l, to: t, options: u, validFor: i };
|
826 |
+
}
|
827 |
+
function fe(e, a) {
|
828 |
+
let { state: r, pos: l } = a, t = K(r).resolveInner(l, -1), s = t.resolve(l);
|
829 |
+
for (let o = l, u; s == t && (u = t.childBefore(o)); ) {
|
830 |
+
let i = u.lastChild;
|
831 |
+
if (!i || !i.type.isError || i.from < i.to)
|
832 |
+
break;
|
833 |
+
s = t = u, o = i.from;
|
834 |
+
}
|
835 |
+
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;
|
836 |
+
}
|
837 |
+
function $t(e) {
|
838 |
+
return fe(w.default, e);
|
839 |
+
}
|
840 |
+
function Tt(e) {
|
841 |
+
let { extraTags: a, extraGlobalAttributes: r } = e, l = r || a ? new w(a, r) : w.default;
|
842 |
+
return (t) => fe(l, t);
|
843 |
+
}
|
844 |
+
const Vt = /* @__PURE__ */ M.parser.configure({ top: "SingleExpression" }), Se = [
|
845 |
+
{
|
846 |
+
tag: "script",
|
847 |
+
attrs: (e) => e.type == "text/typescript" || e.lang == "ts",
|
848 |
+
parser: qe.parser
|
849 |
+
},
|
850 |
+
{
|
851 |
+
tag: "script",
|
852 |
+
attrs: (e) => e.type == "text/babel" || e.type == "text/jsx",
|
853 |
+
parser: Ce.parser
|
854 |
+
},
|
855 |
+
{
|
856 |
+
tag: "script",
|
857 |
+
attrs: (e) => e.type == "text/typescript-jsx",
|
858 |
+
parser: Ae.parser
|
859 |
+
},
|
860 |
+
{
|
861 |
+
tag: "script",
|
862 |
+
attrs(e) {
|
863 |
+
return /^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type);
|
864 |
+
},
|
865 |
+
parser: Vt
|
866 |
+
},
|
867 |
+
{
|
868 |
+
tag: "script",
|
869 |
+
attrs(e) {
|
870 |
+
return !e.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type);
|
871 |
+
},
|
872 |
+
parser: M.parser
|
873 |
+
},
|
874 |
+
{
|
875 |
+
tag: "style",
|
876 |
+
attrs(e) {
|
877 |
+
return (!e.lang || e.lang == "css") && (!e.type || /^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type));
|
878 |
+
},
|
879 |
+
parser: J.parser
|
880 |
+
}
|
881 |
+
], ge = /* @__PURE__ */ [
|
882 |
+
{
|
883 |
+
name: "style",
|
884 |
+
parser: /* @__PURE__ */ J.parser.configure({ top: "Styles" })
|
885 |
+
}
|
886 |
+
].concat(/* @__PURE__ */ de.map((e) => ({ name: e, parser: M.parser }))), he = /* @__PURE__ */ Ve.define({
|
887 |
+
name: "html",
|
888 |
+
parser: /* @__PURE__ */ gt.configure({
|
889 |
+
props: [
|
890 |
+
/* @__PURE__ */ we.add({
|
891 |
+
Element(e) {
|
892 |
+
let a = /^(\s*)(<\/)?/.exec(e.textAfter);
|
893 |
+
return e.node.to <= e.pos + a[0].length ? e.continue() : e.lineIndent(e.node.from) + (a[2] ? 0 : e.unit);
|
894 |
+
},
|
895 |
+
"OpenTag CloseTag SelfClosingTag"(e) {
|
896 |
+
return e.column(e.node.from) + e.unit;
|
897 |
+
},
|
898 |
+
Document(e) {
|
899 |
+
if (e.pos + /\s*/.exec(e.textAfter)[0].length < e.node.to)
|
900 |
+
return e.continue();
|
901 |
+
let a = null, r;
|
902 |
+
for (let l = e.node; ; ) {
|
903 |
+
let t = l.lastChild;
|
904 |
+
if (!t || t.name != "Element" || t.to != l.to)
|
905 |
+
break;
|
906 |
+
a = l = t;
|
907 |
+
}
|
908 |
+
return a && !((r = a.lastChild) && (r.name == "CloseTag" || r.name == "SelfClosingTag")) ? e.lineIndent(a.from) + e.unit : null;
|
909 |
+
}
|
910 |
+
}),
|
911 |
+
/* @__PURE__ */ ye.add({
|
912 |
+
Element(e) {
|
913 |
+
let a = e.firstChild, r = e.lastChild;
|
914 |
+
return !a || a.name != "OpenTag" ? null : { from: a.to, to: r.name == "CloseTag" ? r.from : e.to };
|
915 |
+
}
|
916 |
+
}),
|
917 |
+
/* @__PURE__ */ ve.add({
|
918 |
+
"OpenTag CloseTag": (e) => e.getChild("TagName")
|
919 |
+
})
|
920 |
+
]
|
921 |
+
}),
|
922 |
+
languageData: {
|
923 |
+
commentTokens: { block: { open: "<!--", close: "-->" } },
|
924 |
+
indentOnInput: /^\s*<\/\w+\W$/,
|
925 |
+
wordChars: "-._"
|
926 |
+
}
|
927 |
+
}), y = /* @__PURE__ */ he.configure({
|
928 |
+
wrap: /* @__PURE__ */ Oe(Se, ge)
|
929 |
+
});
|
930 |
+
function _t(e = {}) {
|
931 |
+
let a = "", r;
|
932 |
+
e.matchClosingTags === !1 && (a = "noMatch"), e.selfClosingTags === !0 && (a = (a ? a + " " : "") + "selfClosing"), (e.nestedLanguages && e.nestedLanguages.length || e.nestedAttributes && e.nestedAttributes.length) && (r = Oe((e.nestedLanguages || []).concat(Se), (e.nestedAttributes || []).concat(ge)));
|
933 |
+
let l = r ? he.configure({ wrap: r, dialect: a }) : a ? y.configure({ dialect: a }) : y;
|
934 |
+
return new Xe(l, [
|
935 |
+
y.data.of({ autocomplete: Tt(e) }),
|
936 |
+
e.autoCloseTags !== !1 ? wt : [],
|
937 |
+
Qe().support,
|
938 |
+
_e().support
|
939 |
+
]);
|
940 |
+
}
|
941 |
+
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) => {
|
942 |
+
if (e.composing || e.state.readOnly || a != r || l != ">" && l != "/" || !y.isActiveAt(e.state, a, -1))
|
943 |
+
return !1;
|
944 |
+
let s = t(), { state: o } = s, u = o.changeByRange((i) => {
|
945 |
+
var f, p, d;
|
946 |
+
let m = o.doc.sliceString(i.from - 1, i.to) == l, { head: c } = i, O = K(o).resolveInner(c - 1, -1), g;
|
947 |
+
if ((O.name == "TagName" || O.name == "StartTag") && (O = O.parent), m && l == ">" && O.name == "OpenTag") {
|
948 |
+
if (((p = (f = O.parent) === null || f === void 0 ? void 0 : f.lastChild) === null || p === void 0 ? void 0 : p.name) != "CloseTag" && (g = x(o.doc, O.parent, c)) && !H.has(g)) {
|
949 |
+
let b = c + (o.doc.sliceString(c, c + 1) === ">" ? 1 : 0), P = `</${g}>`;
|
950 |
+
return { range: i, changes: { from: c, to: b, insert: P } };
|
951 |
+
}
|
952 |
+
} else if (m && l == "/" && O.name == "IncompleteCloseTag") {
|
953 |
+
let b = O.parent;
|
954 |
+
if (O.from == c - 2 && ((d = b.lastChild) === null || d === void 0 ? void 0 : d.name) != "CloseTag" && (g = x(o.doc, b, c)) && !H.has(g)) {
|
955 |
+
let P = c + (o.doc.sliceString(c, c + 1) === ">" ? 1 : 0), B = `${g}>`;
|
956 |
+
return {
|
957 |
+
range: $e.cursor(c + B.length, -1),
|
958 |
+
changes: { from: c, to: P, insert: B }
|
959 |
+
};
|
960 |
+
}
|
961 |
+
}
|
962 |
+
return { range: i };
|
963 |
+
});
|
964 |
+
return u.changes.empty ? !1 : (e.dispatch([
|
965 |
+
s,
|
966 |
+
o.update(u, {
|
967 |
+
userEvent: "input.complete",
|
968 |
+
scrollIntoView: !0
|
969 |
+
})
|
970 |
+
]), !0);
|
971 |
+
});
|
972 |
+
export {
|
973 |
+
wt as autoCloseTags,
|
974 |
+
_t as html,
|
975 |
+
$t as htmlCompletionSource,
|
976 |
+
Tt as htmlCompletionSourceWith,
|
977 |
+
y as htmlLanguage,
|
978 |
+
he as htmlPlain
|
979 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-8ba95b76.js
ADDED
@@ -0,0 +1,923 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { E as m, L as w, a as v } from "./index-3f1cf095.js";
|
2 |
+
import { s as z, t as o, a as k, L as x, b as T, B as W, f as R, c as U, e as Y, I as q, N as _ } from "./Index-805076c9.js";
|
3 |
+
const E = 99, S = 1, Z = 100, C = 101, g = 2, y = [
|
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 |
+
], G = 58, N = 40, P = 95, V = 91, Q = 45, j = 46, D = 35, I = 37, B = 38, F = 92, K = 10;
|
30 |
+
function d(e) {
|
31 |
+
return e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 161;
|
32 |
+
}
|
33 |
+
function L(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 == Q || r == P || l && L(r))
|
40 |
+
!l && (r != Q || O > 0) && (l = !0), a === O && r == Q && a++, e.advance();
|
41 |
+
else if (r == F && e.peek(1) != K)
|
42 |
+
e.advance(), e.next > -1 && e.advance(), l = !0;
|
43 |
+
else {
|
44 |
+
l && e.acceptToken(r == N ? Z : a == 2 && t.canShift(g) ? g : C);
|
45 |
+
break;
|
46 |
+
}
|
47 |
+
}
|
48 |
+
}), J = new m((e) => {
|
49 |
+
if (y.includes(e.peek(-1))) {
|
50 |
+
let { next: t } = e;
|
51 |
+
(d(t) || t == P || t == D || t == j || t == V || t == G && d(e.peek(1)) || t == Q || t == B) && e.acceptToken(E);
|
52 |
+
}
|
53 |
+
}), H = new m((e) => {
|
54 |
+
if (!y.includes(e.peek(-1))) {
|
55 |
+
let { next: t } = e;
|
56 |
+
if (t == I && (e.advance(), e.acceptToken(S)), d(t)) {
|
57 |
+
do
|
58 |
+
e.advance();
|
59 |
+
while (d(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 = w.deserialize({
|
97 |
+
version: 14,
|
98 |
+
states: ":^QYQ[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${QdO,59}O-kQ[O'#E^O-xQWO,5;_O-xQWO,5;_POOO'#EV'#EVP.TO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.zQXO,5:vOOQO-E8Y-E8YOOQS1G.g1G.gOOQP1G.n1G.nO)gQWO1G.nO)lQWO1G.nOOQP1G/Z1G/ZO/XQ`O1G/^O/rQXO1G/aO0YQXO1G/cO0pQXO1G/dO1WQWO,59|O1]Q[O'#DSO1dQdO'#CoOOQP1G/^1G/^O${QdO1G/^O1kQpO,59]OOQS,59_,59_O${QdO,59aO1sQWO1G/mOOQS,59c,59cO1xQ!bO,59eOOQS'#DP'#DPOOQS'#EY'#EYO2QQ[O,59jOOQS,59j,59jO2YQWO'#DjO2eQWO,5:VO2jQWO,5:]O&`Q[O,5:XO&`Q[O'#E_O2rQWO,5;`O2}QWO,5:ZO(aQ[O,5:^OOQS1G/z1G/zOOQS1G/|1G/|OOQS1G0O1G0OO3`QWO1G0OO3eQdO'#EOOOQS1G0R1G0ROOQS1G0X1G0XOOQS1G0Z1G0ZO3pQtO1G/iOOQO,5:x,5:xO4WQ[O,5:xOOQO-E8[-E8[O4eQWO1G0yPOOO-E8T-E8TPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$x7+$xO${QdO7+$xOOQS1G/h1G/hO4pQXO'#ErO4wQWO,59nO4|QtO'#EXO5tQdO'#EoO6OQWO,59ZO6TQpO7+$xOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%X7+%XO6]QWO1G/POOQS-E8W-E8WOOQS1G/U1G/UO${QdO1G/qOOQO1G/w1G/wOOQO1G/s1G/sO6bQWO,5:yOOQO-E8]-E8]O6pQXO1G/xOOQS7+%j7+%jO6wQYO'#CsOOQO'#EQ'#EQO7SQ`O'#EPOOQO'#EP'#EPO7_QWO'#E`O7gQdO,5:jOOQS,5:j,5:jO7rQtO'#E]O${QdO'#E]O8sQdO7+%TOOQO7+%T7+%TOOQO1G0d1G0dO9WQpO<<HdO9`QWO,5;^OOQP1G/Y1G/YOOQS-E8V-E8VO${QdO'#EZO9hQWO,5;ZOOQT1G.u1G.uOOQP<<Hd<<HdOOQS7+$k7+$kO9pQdO7+%]OOQO7+%d7+%dOOQO,5:k,5:kO3hQdO'#EaO7_QWO,5:zOOQS,5:z,5:zOOQS-E8^-E8^OOQS1G0U1G0UO9wQtO,5:wOOQS-E8Z-E8ZOOQO<<Ho<<HoOOQPAN>OAN>OO:xQdO,5:uOOQO-E8X-E8XOOQO<<Hw<<HwOOQO,5:{,5:{OOQO-E8_-E8_OOQS1G0f1G0f",
|
99 |
+
stateData: ";[~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!Y#QX#U#QX!S#QX~P!ZO!Y!nO#U#ga!S#ga~O#]!qO#^!qO#_#wO~O]qO^qOqsOxrO!OtO!RvO#VuO#bnO~Ot#Oa!T#Oaa#Oa~P.`Op#yO|#zO~O]qO^qOqsOxrO#bnO~Ot}i!O}i!R}i!T}i#V}ia}i~P/aOt!Pi!O!Pi!R!Pi!T!Pi#V!Pia!Pi~P/aOt!Qi!O!Qi!R!Qi!T!Qi#V!Qia!Qi~P/aO!S#{O~Oa#fP~P(aOa#cP~P${Oa$SOj#XO~O!Y$UO~Oh$VOo$VO~Op$XO#X#]O~O]!`Xa!^X!b!^X~O]$YO~Oa$ZO!b#dO~Ot#eO!T#ha!Y#ha~O!b#dOt!ca!T!ca!Y!caa!ca~O!Y$`O~O!S$gO#X$bO#e$aO~Oj#XOt$iO!X$kO!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$oO~Oj#XOQ!{Xa!{Xb!{Xf!{Xh!{Xn!{Xq!{Xt!{X#W!{X#X!{X#e!{X~Ot$qOa#cX~P${Oa$sO~Oj#XOp$tO~Oa$uO~O!b#dOt#Ra!T#Ra!Y#Ra~Oa$wO~P.`OP#WOtgX!TgX~O#e$aOt!sX!T!sX~Ot$yO!TwO~O!S$}O#X$bO#e$aO~Oj#XOQ#PXb#PXf#PXh#PXn#PXq#PXt#PX!X#PX!Y#PX#U#PX#W#PX#X#PX#e#PX!S#PX~Ot$iO!X%QO!Y!Vq#U!Vq!S!Vq~P${Oj#XOp%RO~OtoOa#fa~Ot$qOa#ca~Oa%UO~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#skYOPdhotuvw!n#R#h#skSOPdhotuvw!n#R#h#sQmTR!tnQ{VR!xqQ!x}Q#Z!XR#x!zq![Z]!T!m#S#U#X#q#z$P$Y$i$j$q$v%Sp![Z]!T!m#S#U#X#q#z$P$Y$i$j$q$v%SU$d#m$f$yR$x$cq!XZ]!T!m#S#U#X#q#z$P$Y$i$j$q$v%Sp![Z]!T!m#S#U#X#q#z$P$Y$i$j$q$v%SQ!f^R#l!gT#^!Z#_Q|VR!yqQ!x|R#x!yQ!PWR!{rQ!RXR!|sQxUQ!wpQ#i!cQ#o!jQ#p!kQ${$eR%X$zSgPwQ!phQ#r!nR$l#sZfPhw!n#sa!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$e#m$fR%V$yV$c#m$f$yQ!rjR#v!rQdOShPwU!ldh#sR#s!nQ$P#SU$p$P$v%SQ$v$YR%S$qQ#_!ZR$W#_Q$r$PR%T$rQpUS!vp$nR$n#|Q$j#qR%P$jQ!ogS#t!o#uR#u!pQ#f!_R$^#fQ$f#mR$|$fQ$z$eR%W$z_cOPdhw!n#s^UOPdhw!n#sQ!uoQ!}tQ#OuQ#PvQ#|#RR$_#hR$Q#SQ!VZQ!d]Q#V!TQ#q!m[$O#S$P$Y$q$v%SQ$R#UQ$T#XS$h#q$jQ$m#zR%O$iR#}#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: 1200
|
116 |
+
});
|
117 |
+
let p = null;
|
118 |
+
function u() {
|
119 |
+
if (!p && 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 |
+
p = t.sort().map((a) => ({ type: "property", label: a }));
|
124 |
+
}
|
125 |
+
return p || [];
|
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 })), s = /^(\w[\w-]*|-\w[\w-]*|)$/, re = /^-(-[\w-]*)?$/;
|
834 |
+
function le(e, t) {
|
835 |
+
var l;
|
836 |
+
if ((e.name == "(" || e.type.isError) && (e = e.parent || e), e.name != "ArgList")
|
837 |
+
return !1;
|
838 |
+
let a = (l = e.parent) === null || l === void 0 ? void 0 : l.firstChild;
|
839 |
+
return (a == null ? void 0 : a.name) != "Callee" ? !1 : t.sliceString(a.from, a.to) == "var";
|
840 |
+
}
|
841 |
+
const b = /* @__PURE__ */ new _(), ie = ["Declaration"];
|
842 |
+
function ne(e) {
|
843 |
+
for (let t = e; ; ) {
|
844 |
+
if (t.type.isTop)
|
845 |
+
return t;
|
846 |
+
if (!(t = t.parent))
|
847 |
+
return e;
|
848 |
+
}
|
849 |
+
}
|
850 |
+
function X(e, t, l) {
|
851 |
+
if (t.to - t.from > 4096) {
|
852 |
+
let a = b.get(t);
|
853 |
+
if (a)
|
854 |
+
return a;
|
855 |
+
let O = [], r = /* @__PURE__ */ new Set(), i = t.cursor(q.IncludeAnonymous);
|
856 |
+
if (i.firstChild())
|
857 |
+
do
|
858 |
+
for (let n of X(e, i.node, l))
|
859 |
+
r.has(n.label) || (r.add(n.label), O.push(n));
|
860 |
+
while (i.nextSibling());
|
861 |
+
return b.set(t, O), O;
|
862 |
+
} else {
|
863 |
+
let a = [], O = /* @__PURE__ */ new Set();
|
864 |
+
return t.cursor().iterate((r) => {
|
865 |
+
var i;
|
866 |
+
if (l(r) && r.matchContext(ie) && ((i = r.node.nextSibling) === null || i === void 0 ? void 0 : i.name) == ":") {
|
867 |
+
let n = e.sliceString(r.from, r.to);
|
868 |
+
O.has(n) || (O.add(n), a.push({ label: n, type: "variable" }));
|
869 |
+
}
|
870 |
+
}), a;
|
871 |
+
}
|
872 |
+
}
|
873 |
+
const se = (e) => (t) => {
|
874 |
+
let { state: l, pos: a } = t, O = k(l).resolveInner(a, -1), r = O.type.isError && O.from == O.to - 1 && l.doc.sliceString(O.from, O.to) == "-";
|
875 |
+
if (O.name == "PropertyName" || (r || O.name == "TagName") && /^(Block|Styles)$/.test(O.resolve(O.to).name))
|
876 |
+
return { from: O.from, options: u(), validFor: s };
|
877 |
+
if (O.name == "ValueName")
|
878 |
+
return { from: O.from, options: h, validFor: s };
|
879 |
+
if (O.name == "PseudoClassName")
|
880 |
+
return { from: O.from, options: f, validFor: s };
|
881 |
+
if (e(O) || (t.explicit || r) && le(O, l.doc))
|
882 |
+
return {
|
883 |
+
from: e(O) || r ? O.from : a,
|
884 |
+
options: X(l.doc, ne(O), e),
|
885 |
+
validFor: re
|
886 |
+
};
|
887 |
+
if (O.name == "TagName") {
|
888 |
+
for (let { parent: c } = O; c; c = c.parent)
|
889 |
+
if (c.name == "Block")
|
890 |
+
return { from: O.from, options: u(), validFor: s };
|
891 |
+
return { from: O.from, options: oe, validFor: s };
|
892 |
+
}
|
893 |
+
if (!t.explicit)
|
894 |
+
return null;
|
895 |
+
let i = O.resolve(a), n = i.childBefore(a);
|
896 |
+
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;
|
897 |
+
}, de = /* @__PURE__ */ se((e) => e.name == "VariableName"), $ = /* @__PURE__ */ x.define({
|
898 |
+
name: "css",
|
899 |
+
parser: /* @__PURE__ */ te.configure({
|
900 |
+
props: [
|
901 |
+
/* @__PURE__ */ T.add({
|
902 |
+
Declaration: /* @__PURE__ */ W()
|
903 |
+
}),
|
904 |
+
/* @__PURE__ */ R.add({
|
905 |
+
"Block KeyframeList": U
|
906 |
+
})
|
907 |
+
]
|
908 |
+
}),
|
909 |
+
languageData: {
|
910 |
+
commentTokens: { block: { open: "/*", close: "*/" } },
|
911 |
+
indentOnInput: /^\s*\}$/,
|
912 |
+
wordChars: "-"
|
913 |
+
}
|
914 |
+
});
|
915 |
+
function pe() {
|
916 |
+
return new Y($, $.data.of({ autocomplete: de }));
|
917 |
+
}
|
918 |
+
export {
|
919 |
+
pe as css,
|
920 |
+
de as cssCompletionSource,
|
921 |
+
$ as cssLanguage,
|
922 |
+
se as defineCSSCompletionSource
|
923 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-8d61f887.js
ADDED
@@ -0,0 +1,546 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { E as P, C as G, L as k } from "./index-3f1cf095.js";
|
2 |
+
import { s as E, t as i, a as _, i as U, L as z, b as j, d as $, f as A, c as F, e as I, I as N, g as C, N as D, h as S } from "./Index-805076c9.js";
|
3 |
+
const L = 1, m = 206, y = 207, H = 208, c = 209, J = 210, B = 211, M = 212, K = 2, OO = 213, rO = 214, oO = 3, aO = 215, iO = 216, eO = 4, QO = 217, xO = 218, SO = 5, sO = 219, TO = 26, tO = 27, nO = 51, PO = 52, lO = 57, pO = 58, $O = 59, qO = 61, XO = 62, wO = 63, dO = 64, YO = 65, cO = 67, ZO = 256, fO = 74, bO = 275, vO = 120, mO = 138, yO = 159, RO = 160, uO = 163, T = 10, t = 13, d = 32, l = 9, Y = 35, WO = 40, VO = 46, Z = 123, R = 39, u = 34, gO = 92, hO = /* @__PURE__ */ new Set([
|
4 |
+
tO,
|
5 |
+
nO,
|
6 |
+
PO,
|
7 |
+
bO,
|
8 |
+
cO,
|
9 |
+
mO,
|
10 |
+
pO,
|
11 |
+
$O,
|
12 |
+
ZO,
|
13 |
+
dO,
|
14 |
+
YO,
|
15 |
+
fO,
|
16 |
+
XO,
|
17 |
+
wO,
|
18 |
+
yO,
|
19 |
+
RO,
|
20 |
+
uO,
|
21 |
+
vO
|
22 |
+
]);
|
23 |
+
function q(O) {
|
24 |
+
return O == T || O == t;
|
25 |
+
}
|
26 |
+
const GO = new P((O, r) => {
|
27 |
+
let o;
|
28 |
+
if (O.next < 0)
|
29 |
+
O.acceptToken(B);
|
30 |
+
else if (r.context.depth < 0)
|
31 |
+
q(O.next) && O.acceptToken(J, 1);
|
32 |
+
else if (((o = O.peek(-1)) < 0 || q(o)) && r.canShift(c)) {
|
33 |
+
let a = 0;
|
34 |
+
for (; O.next == d || O.next == l; )
|
35 |
+
O.advance(), a++;
|
36 |
+
(O.next == T || O.next == t || O.next == Y) && O.acceptToken(c, -a);
|
37 |
+
} else
|
38 |
+
q(O.next) && O.acceptToken(H, 1);
|
39 |
+
}, { contextual: !0 }), kO = new P((O, r) => {
|
40 |
+
let o = r.context.depth;
|
41 |
+
if (o < 0)
|
42 |
+
return;
|
43 |
+
let a = O.peek(-1);
|
44 |
+
if (a == T || a == t) {
|
45 |
+
let e = 0, Q = 0;
|
46 |
+
for (; ; ) {
|
47 |
+
if (O.next == d)
|
48 |
+
e++;
|
49 |
+
else if (O.next == l)
|
50 |
+
e += 8 - e % 8;
|
51 |
+
else
|
52 |
+
break;
|
53 |
+
O.advance(), Q++;
|
54 |
+
}
|
55 |
+
e != o && O.next != T && O.next != t && O.next != Y && (e < o ? O.acceptToken(y, -Q) : O.acceptToken(m));
|
56 |
+
}
|
57 |
+
});
|
58 |
+
function w(O, r) {
|
59 |
+
this.parent = O, this.depth = r, this.hash = (O ? O.hash + O.hash << 8 : 0) + r + (r << 4);
|
60 |
+
}
|
61 |
+
const EO = new w(null, 0);
|
62 |
+
function _O(O) {
|
63 |
+
let r = 0;
|
64 |
+
for (let o = 0; o < O.length; o++)
|
65 |
+
r += O.charCodeAt(o) == l ? 8 - r % 8 : 1;
|
66 |
+
return r;
|
67 |
+
}
|
68 |
+
const UO = new G({
|
69 |
+
start: EO,
|
70 |
+
reduce(O, r) {
|
71 |
+
return O.depth < 0 && hO.has(r) ? O.parent : O;
|
72 |
+
},
|
73 |
+
shift(O, r, o, a) {
|
74 |
+
return r == m ? new w(O, _O(a.read(a.pos, o.pos))) : r == y ? O.parent : r == TO || r == lO || r == qO ? new w(O, -1) : O;
|
75 |
+
},
|
76 |
+
hash(O) {
|
77 |
+
return O.hash;
|
78 |
+
}
|
79 |
+
}), zO = new P((O) => {
|
80 |
+
for (let r = 0; r < 5; r++) {
|
81 |
+
if (O.next != "print".charCodeAt(r))
|
82 |
+
return;
|
83 |
+
O.advance();
|
84 |
+
}
|
85 |
+
if (!/\w/.test(String.fromCharCode(O.next)))
|
86 |
+
for (let r = 0; ; r++) {
|
87 |
+
let o = O.peek(r);
|
88 |
+
if (!(o == d || o == l)) {
|
89 |
+
o != WO && o != VO && o != T && o != t && o != Y && O.acceptToken(L);
|
90 |
+
return;
|
91 |
+
}
|
92 |
+
}
|
93 |
+
});
|
94 |
+
function p(O, r, o, a, e) {
|
95 |
+
return new P((Q) => {
|
96 |
+
let x = Q.pos;
|
97 |
+
for (; !(Q.next < 0); )
|
98 |
+
if (Q.next == Z)
|
99 |
+
if (Q.peek(1) == Z)
|
100 |
+
Q.advance(2);
|
101 |
+
else {
|
102 |
+
if (Q.pos == x) {
|
103 |
+
Q.acceptToken(a, 1);
|
104 |
+
return;
|
105 |
+
}
|
106 |
+
break;
|
107 |
+
}
|
108 |
+
else if (Q.next == gO)
|
109 |
+
Q.advance(), Q.next >= 0 && Q.advance();
|
110 |
+
else if (Q.next == O && (r == 1 || Q.peek(1) == O && Q.peek(2) == O)) {
|
111 |
+
if (Q.pos == x) {
|
112 |
+
Q.acceptToken(e, r);
|
113 |
+
return;
|
114 |
+
}
|
115 |
+
break;
|
116 |
+
} else
|
117 |
+
Q.advance();
|
118 |
+
Q.pos > x && Q.acceptToken(o);
|
119 |
+
});
|
120 |
+
}
|
121 |
+
const jO = p(R, 1, M, K, OO), AO = p(u, 1, rO, oO, aO), FO = p(R, 3, iO, eO, QO), IO = p(u, 3, xO, SO, sO), NO = E({
|
122 |
+
'async "*" "**" FormatConversion FormatSpec': i.modifier,
|
123 |
+
"for while if elif else try except finally return raise break continue with pass assert await yield match case": i.controlKeyword,
|
124 |
+
"in not and or is del": i.operatorKeyword,
|
125 |
+
"from def class global nonlocal lambda": i.definitionKeyword,
|
126 |
+
import: i.moduleKeyword,
|
127 |
+
"with as print": i.keyword,
|
128 |
+
Boolean: i.bool,
|
129 |
+
None: i.null,
|
130 |
+
VariableName: i.variableName,
|
131 |
+
"CallExpression/VariableName": i.function(i.variableName),
|
132 |
+
"FunctionDefinition/VariableName": i.function(i.definition(i.variableName)),
|
133 |
+
"ClassDefinition/VariableName": i.definition(i.className),
|
134 |
+
PropertyName: i.propertyName,
|
135 |
+
"CallExpression/MemberExpression/PropertyName": i.function(i.propertyName),
|
136 |
+
Comment: i.lineComment,
|
137 |
+
Number: i.number,
|
138 |
+
String: i.string,
|
139 |
+
FormatString: i.special(i.string),
|
140 |
+
UpdateOp: i.updateOperator,
|
141 |
+
"ArithOp!": i.arithmeticOperator,
|
142 |
+
BitOp: i.bitwiseOperator,
|
143 |
+
CompareOp: i.compareOperator,
|
144 |
+
AssignOp: i.definitionOperator,
|
145 |
+
Ellipsis: i.punctuation,
|
146 |
+
At: i.meta,
|
147 |
+
"( )": i.paren,
|
148 |
+
"[ ]": i.squareBracket,
|
149 |
+
"{ }": i.brace,
|
150 |
+
".": i.derefOperator,
|
151 |
+
", ;": i.separator
|
152 |
+
}), CO = { __proto__: null, await: 48, or: 58, and: 60, in: 64, not: 66, is: 68, if: 74, else: 76, lambda: 80, yield: 98, from: 100, async: 106, for: 108, None: 178, True: 180, False: 180, del: 194, pass: 198, break: 202, continue: 206, return: 210, raise: 218, import: 222, as: 224, global: 228, nonlocal: 230, assert: 234, type: 239, elif: 252, while: 256, try: 262, except: 264, finally: 266, with: 270, def: 274, class: 284, match: 295, case: 301 }, DO = k.deserialize({
|
153 |
+
version: 14,
|
154 |
+
states: "#)WO`Q#yOOP$bOSOOO%kQ&nO'#HhOOQS'#Cq'#CqOOQS'#Cr'#CrO'ZQ#xO'#CpO(|Q&nO'#HgOOQS'#Hh'#HhOOQS'#DW'#DWOOQS'#Hg'#HgO)jQ#xO'#DaO)}Q#xO'#DhO*_Q#xO'#DlOOQS'#Dw'#DwO*rO,UO'#DwO*zO7[O'#DwO+SOWO'#DxO+_O`O'#DxO+jOpO'#DxO+uO!bO'#DxO-wQ&nO'#HXOOQS'#HX'#HXO'ZQ#xO'#HWO/ZQ&nO'#HWOOQS'#Ej'#EjO/rQ#xO'#EkOOQS'#HV'#HVO/|Q#xO'#HUOOQV'#HU'#HUO0XQ#xO'#FbOOQS'#Gj'#GjO0^Q#xO'#FaOOQV'#I_'#I_OOQV'#HT'#HTOOQV'#Fy'#FyQ`Q#yOOO'ZQ#xO'#CsO0lQ#xO'#DPO0sQ#xO'#DTO1RQ#xO'#HlO1cQ&nO'#E_O'ZQ#xO'#E`OOQS'#Eb'#EbOOQS'#Ed'#EdOOQS'#Ef'#EfO1wQ#xO'#EhO2_Q#xO'#ElO0XQ#xO'#EnO2rQ&nO'#EnO0XQ#xO'#EqO/rQ#xO'#EtO0XQ#xO'#EvO/rQ#xO'#E|O/rQ#xO'#FPO2}Q#xO'#FRO3UQ#xO'#FWO3aQ#xO'#FSO/rQ#xO'#FWO0XQ#xO'#FYO0XQ#xO'#F_O3fQ#xO'#FdP3mO#xO'#HSPOOO)CBv)CBvOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Ck'#CkOOQS'#Cl'#ClOOQS'#Cn'#CnO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO3xQ#xO'#DqOOQS,5:[,5:[O4]Q#xO'#HvOOQS,5:_,5:_O4jQMlO,5:_O4oQ&nO,59[O0lQ#xO,59dO0lQ#xO,59dO0lQ#xO,59dO7_Q#xO,59dO7dQ#xO,59dO7kQ#xO,59lO7rQ#xO'#HgO8xQ#xO'#HfOOQS'#Hf'#HfOOQS'#D^'#D^O9aQ#xO,59cO'ZQ#xO,59cO9oQ#xO,59cOOQS,59{,59{O9tQ#xO,5:TO'ZQ#xO,5:TOOQS,5:S,5:SO:SQ#xO,5:SO:XQ#xO,5:ZO'ZQ#xO,5:ZO'ZQ#xO,5:XOOQS,5:W,5:WO:jQ#xO,5:WO:oQ#xO,5:YOOOO'#GR'#GRO:tO,UO,5:cOOQS,5:c,5:cOOOO'#GS'#GSO:|O7[O,5:cO;UQ#xO'#DyOOOW'#GT'#GTO;fOWO,5:dOOQS,5:d,5:dO;UQ#xO'#EPOOO`'#GW'#GWO;qO`O,5:dO;UQ#xO'#EROOOp'#GX'#GXO;|OpO,5:dO;UQ#xO'#ETOOO!b'#GY'#GYO<XO!bO,5:dOOQS'#GZ'#GZO<dQ&nO,5:qO?UQ&nO,5=rO?oQ!LUO,5=rO@`Q&nO,5=rOOQS,5;V,5;VO@wQ#yO'#GdOBZQ#xO,5;fOOQV,5=p,5=pOBfQ&nO'#IYOB}Q#xO,5;|OOQS-E:h-E:hOOQV,5;{,5;{O3[Q#xO'#FYOOQV-E9w-E9wOCVQ&nO,59_OE^Q&nO,59kOEwQ#xO'#HiOFSQ#xO'#HiO0XQ#xO'#HiOF_Q#xO'#DVOFgQ#xO,59oOFlQ#xO'#HmO'ZQ#xO'#HmO/rQ#xO,5>WOOQS,5>W,5>WO/rQ#xO'#EZOOQS'#E['#E[OGZQ#xO'#G]OGkQ#xO,59OOGkQ#xO,59OO)pQ#xO,5:wOGyQ&nO'#HoOOQS,5:z,5:zOOQS,5;S,5;SOH^Q#xO,5;WOHoQ#xO,5;YOOQS'#G`'#G`OH}Q&nO,5;YOI]Q#xO,5;YOIbQ#xO'#I]OOQS,5;],5;]OIpQ#xO'#IXOOQS,5;`,5;`OJRQ#xO,5;bO3aQ#xO,5;hO3aQ#xO,5;kOJZQ&nO'#I`O'ZQ#xO'#I`OJeQ#xO,5;mO2}Q#xO,5;mO/rQ#xO,5;rO0XQ#xO,5;tOJjQ#yO'#E}OKvQ#{O,5;nO! [Q#xO'#IaO3aQ#xO,5;rO! gQ#xO,5;tO! oQ#xO,5;yO! zQ&nO,5<OO'ZQ#xO,5<OPOOO,5=n,5=nP!!ROSO,5=nP!!WO#xO,5=nO!${Q&nO1G.lO!%SQ&nO1G.lO!'sQ&nO1G.lO!'}Q&nO1G.lO!*hQ&nO1G.lO!*{Q&nO1G.lO!+`Q#xO'#HuO!+nQ&nO'#HXO/rQ#xO'#HuO!+xQ#xO'#HtOOQS,5:],5:]O!,QQ#xO,5:]O!,VQ#xO'#HwO!,bQ#xO'#HwO!,uQ#xO,5>bOOQS'#Du'#DuOOQS1G/y1G/yOOQS1G/O1G/OO!-uQ&nO1G/OO!-|Q&nO1G/OO0lQ#xO1G/OO!.iQ#xO1G/WOOQS'#D]'#D]O/rQ#xO,59vOOQS1G.}1G.}O!.pQ#xO1G/gO!/QQ#xO1G/gO!/YQ#xO1G/hO'ZQ#xO'#HnO!/_Q#xO'#HnO!/dQ&nO1G.}O!/tQ#xO,59kO!0zQ#xO,5>^O!1[Q#xO,5>^O!1dQ#xO1G/oO!1iQ&nO1G/oOOQS1G/n1G/nO!1yQ#xO,5>XO!2pQ#xO,5>XO/rQ#xO1G/sO!3_Q#xO1G/uO!3dQ&nO1G/uO!3tQ&nO1G/sOOQS1G/r1G/rOOQS1G/t1G/tOOOO-E:P-E:POOQS1G/}1G/}OOOO-E:Q-E:QO!4UQ#xO'#IRO/rQ#xO'#IRO!4gQ#xO,5:eOOOW-E:R-E:ROOQS1G0O1G0OO!4uQ#xO,5:kOOO`-E:U-E:UO!5TQ#xO,5:mOOOp-E:V-E:VO!5cQ#xO,5:oOOO!b-E:W-E:WOOQS-E:X-E:XO!5qQ!LUO1G3^O!6bQ&nO1G3^O'ZQ#xO,5<vOOQS,5<v,5<vOOQS-E:Y-E:YOOQS,5=O,5=OOOQS-E:b-E:bOOQV1G1Q1G1QO0XQ#xO'#G_O!6yQ&nO,5>tOOQS1G1h1G1hO!7bQ#xO1G1hOOQS'#DX'#DXO/rQ#xO,5>TOOQS,5>T,5>TO!7gQ#xO'#FzO!7rQ#xO,59qO!7zQ#xO1G/ZO!8UQ&nO,5>XOOQS1G3r1G3rOOQS,5:u,5:uO!8uQ#xO'#HWOOQS,5<w,5<wOOQS-E:Z-E:ZO!9WQ#xO1G.jOOQS1G0c1G0cO!9fQ#xO,5>ZO!9vQ#xO,5>ZO/rQ#xO1G0rO/rQ#xO1G0rO0XQ#xO1G0tOOQS-E:^-E:^O!:XQ#xO1G0tO!:dQ#xO1G0tO!:iQ#xO,5>wO!:wQ#xO,5>wO!;VQ#xO,5>sO!;mQ#xO,5>sO!<OQ#xO'#ExO/rQ#xO1G0|O!<ZQ#xO1G0|O!<`Q#{O1G1SO!?qQ#{O1G1VO!CPQ#xO,5>zO!CZQ#xO,5>zO!CcQ&nO,5>zO/rQ#xO1G1XO!CmQ#xO1G1XO3aQ#xO1G1^O! gQ#xO1G1`OOQV,5;i,5;iO!CrQ#zO,5;iO!CwQ#{O1G1YO!G]Q#xO'#GgO3aQ#xO1G1YO3aQ#xO1G1YO!GmQ#xO,5>{O!GzQ#xO,5>{O0XQ#xO,5>{OOQV1G1^1G1^O!HSQ#xO'#F[O!HeQMlO1G1`O!HmQ#xO1G1`OOQV1G1e1G1eO3aQ#xO1G1eO!HrQ#xO1G1eO!HzQ#xO'#FfOOQV1G1j1G1jO! zQ&nO1G1jPOOO1G3Y1G3YP!IPOSO1G3YOOQS,5>a,5>aOOQS'#Dr'#DrO/rQ#xO,5>aO!IUQ#xO,5>`O!IiQ#xO,5>`OOQS1G/w1G/wO!IqQ#xO,5>cO!JRQ#xO,5>cO!JZQ#xO,5>cO!JnQ#xO,5>cO!KOQ#xO,5>cOOQS1G3|1G3|OOQS7+$j7+$jO!7zQ#xO7+$rO!LqQ#xO1G/OO!LxQ#xO1G/OOOQS1G/b1G/bOOQS,5<h,5<hO'ZQ#xO,5<hOOQS7+%R7+%RO!MPQ#xO7+%ROOQS-E9z-E9zOOQS7+%S7+%SO!MaQ#xO,5>YO'ZQ#xO,5>YOOQS7+$i7+$iO!MfQ#xO7+%RO!MnQ#xO7+%SO!MsQ#xO1G3xOOQS7+%Z7+%ZO!NTQ#xO1G3xO!N]Q#xO7+%ZOOQS,5<g,5<gO'ZQ#xO,5<gO!NbQ#xO1G3sOOQS-E9y-E9yO# XQ#xO7+%_OOQS7+%a7+%aO# gQ#xO1G3sO#!UQ#xO7+%aO#!ZQ#xO1G3yO#!kQ#xO1G3yO#!sQ#xO7+%_O#!xQ#xO,5>mO##cQ#xO,5>mO##cQ#xO,5>mOOQS'#Dz'#DzO##tO$ISO'#D|O#$PO#tO'#ISOOOW1G0P1G0PO#$UQ#xO1G0PO#$^Q#xO1G0POOQS'#EQ'#EQOOO`1G0V1G0VO#$iQ#xO1G0VO#$qQ#xO1G0VOOQS'#ES'#ESOOOp1G0X1G0XO#$|Q#xO1G0XO#%UQ#xO1G0XOOQS'#EU'#EUOOO!b1G0Z1G0ZO#%aQ#xO1G0ZO#%iQ#xO1G0ZO#%tQ!LUO7+(xO#&eQ&nO1G2bP#'OQ#xO'#G[OOQS,5<y,5<yOOQS-E:]-E:]OOQS7+'S7+'SOOQS1G3o1G3oOOQS,5<f,5<fOOQS-E9x-E9xOOQS7+$u7+$uO#']Q#xO,5=rO#'vQ#xO,5=rO#(XQ&nO,5<iO#(lQ#xO1G3uOOQS-E9{-E9{OOQS7+&^7+&^O#(|Q#xO7+&^OOQS7+&`7+&`O#)[Q#xO'#I[O0XQ#xO'#IZO#)pQ#xO7+&`OOQS,5<|,5<|O#){Q#xO1G4cOOQS-E:`-E:`OOQS,5<x,5<xO#*ZQ#xO1G4_OOQS-E:[-E:[O0XQ#xO'#EyO#*qQ#xO'#EyO#*|Q#xO'#I^O#+UQ#xO,5;dOOQS7+&h7+&hO/rQ#xO7+&hO#+ZQ#{O7+&nO!G`Q#xO'#GeO3aQ#xO7+&nO3aQ#xO7+&qO#.lQ&nO,5=QO'ZQ#xO,5=QO#.vQ#xO1G4fOOQS-E:d-E:dO#/QQ#xO1G4fO3aQ#xO7+&sO/rQ#xO7+&sOOQV7+&x7+&xO!HeQMlO7+&zO!HmQ#xO7+&zO`Q#yO1G1TOOQV-E:e-E:eO3aQ#xO7+&tO3aQ#xO7+&tOOQV,5=R,5=RO#/YQ#xO,5=RO!G`Q#xO,5=ROOQV7+&t7+&tO#/eQ#{O7+&tO#2sQ#xO,5=SO#3OQ#xO1G4gOOQS-E:f-E:fO#3]Q#xO1G4gO#3eQ#xO'#IcO#3sQ#xO'#IcO0XQ#xO'#IcOOQS'#Ic'#IcO#4OQ#xO'#IbOOQS,5;v,5;vO#4WQ#xO,5;vO/rQ#xO'#F^OOQV7+&z7+&zO3aQ#xO7+&zOOQV7+'P7+'PO3aQ#xO7+'PO#4]Q#zO,5<QOOQV7+'U7+'UPOOO7+(t7+(tO#4bQ#xO1G3{OOQS,5<k,5<kO#4pQ#xO1G3zOOQS-E9}-E9}O#5TQ#xO,5<lO#5`Q#xO,5<lO#5sQ#xO1G3}OOQS-E:O-E:OO#6TQ#xO1G3}O#6]Q#xO1G3}O#6mQ#xO1G3}O#6TQ#xO1G3}OOQS<<H^<<H^O#6xQ&nO1G2SOOQS<<Hm<<HmP#7VQ#xO'#F|O7kQ#xO1G3tO#7dQ#xO1G3tO#7iQ#xO<<HmOOQS<<Hn<<HnO#7yQ#xO7+)dOOQS<<Hu<<HuO#8ZQ&nO1G2RP#8zQ#xO'#F{O#9XQ#xO7+)eO#9iQ#xO7+)eO#9qQ#xO<<HyO#9vQ#xO7+)_OOQS<<H{<<H{O#:mQ#xO,5<jO'ZQ#xO,5<jOOQS-E9|-E9|OOQS<<Hy<<HyOOQS,5<p,5<pO/rQ#xO,5<pO#:rQ#xO1G4XOOQS-E:S-E:SO#;]Q#xO1G4XO;UQ#xO'#D}OOOO'#GV'#GVO#;nO$ISO,5:hOOO#l,5>n,5>nOOOW7+%k7+%kO#;yQ#xO7+%kOOO`7+%q7+%qO#<RQ#xO7+%qOOOp7+%s7+%sO#<ZQ#xO7+%sOOO!b7+%u7+%uO#<cQ#xO7+%uO#<kQ#xO1G3^O#=UQ#xO1G3^P'ZQ#xO'#F}O/rQ#xO<<IxO#=gQ#xO,5>vO#=xQ#xO,5>vO0XQ#xO,5>vO#>ZQ#xO,5>uOOQS<<Iz<<IzP0XQ#xO'#GbP/rQ#xO'#G^OOQS,5;e,5;eO#>`Q#xO,5>xO#>nQ#xO,5>xOOQS1G1O1G1OOOQS<<JS<<JSOOQV-E:c-E:cO3aQ#xO<<JYOOQV,5=P,5=PO3aQ#xO,5=POOQV<<JY<<JYOOQV<<J]<<J]O#>vQ&nO1G2lP#?QQ#xO'#GfO#?XQ#xO7+*QO#?cQ#{O<<J_O3aQ#xO<<J_OOQV<<Jf<<JfO3aQ#xO<<JfO!HeQMlO<<JfO#BqQ#{O7+&oOOQV<<J`<<J`O#B{Q#{O<<J`OOQV1G2m1G2mO0XQ#xO1G2mO#FZQ#xO1G2mO3aQ#xO<<J`O0XQ#xO1G2nP/rQ#xO'#GhO#FfQ#xO7+*RO#FsQ#xO7+*ROOQS'#F]'#F]O/rQ#xO,5>}O#F{Q#xO,5>}OOQS,5>},5>}O#GWQ#xO,5>|O#GiQ#xO,5>|OOQS1G1b1G1bOOQS,5;x,5;xOOQV<<Jk<<JkO#GqQ#xO1G1lOOQS7+)g7+)gP#GvQ#xO'#GPO#HWQ#xO1G2WO#HkQ#xO1G2WO#H{Q#xO1G2WP#IWQ#xO'#GQO#IeQ#xO7+)iO#IuQ#xO7+)iO#IuQ#xO7+)iO#I}Q#xO7+)iO#J_Q#xO7+)`O7kQ#xO7+)`OOQSAN>XAN>XO#JxQ#xO<<MPOOQSAN>eAN>eO/rQ#xO1G2UO#KYQ&nO1G2UP#KdQ#xO'#GOOOQS1G2[1G2[P#KqQ#xO'#GUO#LOQ#xO7+)sO#LiQ#xO,5:iOOOO-E:T-E:TOOOW<<IV<<IVOOO`<<I]<<I]OOOp<<I_<<I_OOO!b<<Ia<<IaO#LwQ#xO7+(xOOQSAN?dAN?dO#MbQ#xO,5<{O#MvQ#xO1G4bOOQS-E:_-E:_O#NXQ#xO1G4bOOQS1G4a1G4aOOQS,5<},5<}O#NjQ#xO1G4dOOQS-E:a-E:aOOQVAN?tAN?tOOQV1G2k1G2kO3aQ#xOAN?yO#NxQ#{OAN?yOOQVAN@QAN@QO3aQ#xOAN@QOOQV<<JZ<<JZO3aQ#xOAN?zO3aQ#xO7+(XOOQV7+(X7+(XO0XQ#xO7+(XOOQVAN?zAN?zOOQS7+(Y7+(YO$$WQ#xO<<MmOOQS1G4i1G4iO/rQ#xO1G4iOOQS,5=T,5=TO$$eQ#xO1G4hOOQS-E:g-E:gOOQU'#Gk'#GkO$$vQ#zO7+'WO$%RQ#xO'#FgO$%yQ#xO7+'rO$&ZQ#xO7+'rOOQS7+'r7+'rO$&fQ#xO<<MTO$&vQ#xO<<MTO$&vQ#xO<<MTO$'OQ#xO'#HpOOQS<<Lz<<LzO$'YQ#xO<<LzOOQS7+'p7+'pOOQS'#EO'#EOOOOO1G0T1G0TO$'sQ#xO1G0TO$'{Q#xO1G0TO0XQ#xO1G2gP0XQ#xO'#GaO$(WQ#xO7+)|O$(iQ#xO7+)|P!<OQ#xO'#GcOOQVG25eG25eO3aQ#xOG25eOOQVG25lG25lOOQVG25fG25fOOQV<<Ks<<KsO3aQ#xO<<KsOOQS7+*T7+*TP$(zQ#xO'#GiOOQU-E:i-E:iOOQV<<Jr<<JrO$)nQ&nO'#FiOOQS'#Fk'#FkO$*OQ#xO'#FjO$*pQ#xO'#FjOOQS'#Fj'#FjO$*uQ#xO'#IeO$%RQ#xO'#FqO$%RQ#xO'#FqO$+^Q#xO'#FrO$%RQ#xO'#FsO$+eQ#xO'#IfOOQS'#If'#IfO$,SQ#xO,5<ROOQS<<K^<<K^O$,[Q#xO<<K^O$,lQ#xOANBoO$,|Q#xOANBoO$-UQ#xO'#HqOOQS'#Hq'#HqO0sQ#xO'#DeO$-oQ#xO,5>[OOQSANBfANBfOOOO7+%o7+%oO$.WQ#xO7+%oOOQS7+(R7+(RO$.`Q#xO<<MhOOQVLD+PLD+POOQVANA_ANA_O4jQMlO'#GmO$.qQ&nO,5<[O$%RQ#xO'#FuOOQS,5<`,5<`OOQS'#Fl'#FlO$/cQ#xO,5<UO$/hQ#xO,5<UOOQS'#Fo'#FoO$%RQ#xO'#GlO$0YQ#xO,5<YO$0tQ#xO,5?PO$1UQ#xO,5?PO0XQ#xO,5<XO$1gQ#xO,5<]O$1lQ#xO,5<]O$%RQ#xO'#IgO$1qQ#xO'#IgO$1vQ#xO,5<^OOQS,5<_,5<_O'ZQ#xO'#FxOOQU1G1m1G1mO3aQ#xO1G1mOOQSAN@xAN@xO$1{Q#xOG28ZO$2]Q#xO,5:POOQS1G3v1G3vOOOO<<IZ<<IZOOQS,5=X,5=XOOQS-E:k-E:kO$2bQ&nO'#FiO$2iQ#xO'#IhO$2wQ#xO'#IhO$3PQ#xO,5<aOOQS1G1p1G1pO$3UQ#xO1G1pO$3ZQ#xO,5=WOOQS-E:j-E:jO$3uQ#xO,5=[O$4^Q#xO1G4kOOQS-E:n-E:nOOQS1G1s1G1sOOQS1G1w1G1wO$4nQ#xO,5?RO$%RQ#xO,5?ROOQS1G1x1G1xO$4|Q&nO,5<dOOQU7+'X7+'XO$'OQ#xO1G/kO$%RQ#xO,5<bO$5TQ#xO,5?SO$5[Q#xO,5?SOOQS1G1{1G1{OOQS7+'[7+'[P$%RQ#xO'#GpO$5dQ#xO1G4mO$5nQ#xO1G4mO$5vQ#xO1G4mOOQS7+%V7+%VO$6UQ#xO1G1|O$6dQ&nO'#FiO$6kQ#xO,5=ZOOQS,5=Z,5=ZO$6yQ#xO1G4nOOQS-E:m-E:mO$%RQ#xO,5=YO$7QQ#xO,5=YO$7VQ#xO7+*XOOQS-E:l-E:lO$7aQ#xO7+*XO$%RQ#xO,5<cP$%RQ#xO'#GoO$7iQ#xO1G2tO$%RQ#xO1G2tP$7wQ#xO'#GnO$8OQ#xO<<MsO$8YQ#xO1G1}O$8hQ#xO7+(`O7kQ#xO'#DPO7kQ#xO,59dO7kQ#xO,59dO7kQ#xO,59dO$8vQ&nO,5=rO7kQ#xO1G/OO/rQ#xO1G/ZO/rQ#xO7+$rP$9ZQ#xO'#G[O'ZQ#xO'#HWO$9hQ#xO,59dO$9mQ#xO,59dO$9tQ#xO,59oO$9yQ#xO1G/WO0sQ#xO'#DTO7kQ#xO,59l",
|
155 |
+
stateData: "$:[~O%uOS%jOSUOS%iPQ~OPiOXfOhtOjYOquOu!UOxvO!RwO!S!QO!V!XO!W!WO!ZZO!_[O!jeO!zeO!{eO!|eO#TyO#VzO#X{O#Z|O#]}O#a!OO#c!PO#f!RO#g!RO#i!SO#k!TO#t!VO#w!YO#{!ZO#}![O$S!]O$VmO$X!^O&RRO&SRO&WSO&XWO&m]O&n^O&q_O&t`O&xaO&ybO&zcO~O%i!_O~OX!fOa!fOc!gOj!nO!Z!pO!h!rO%|!aO%}!bO&O!cO&P!dO&Q!dO&R!eO&S!eO&T!fO&U!fO&V!fO~Om&[Xn&[Xo&[Xp&[Xq&[Xr&[Xu&[X|&[X}&[X#Q&[X#o&[X%h&[X%k&[X&^&[Xi&[X!V&[X!W&[X&_&[X!Y&[X!^&[X!S&[X#d&[Xv&[X!o&[X~P$gOhtOjYO!ZZO!_[O!jeO!zeO!{eO!|eO&RRO&SRO&WSO&XWO&m]O&n^O&q_O&t`O&xaO&ybO&zcO~O|&ZX}&ZX#o&ZX%h&ZX%k&ZX&^&ZX~Om!uOn!vOo!tOp!tOq!wOr!xOu!yO#Q&ZX~P(hOX#POi#ROq1`Ox1nO!RwO~P'ZOX#TOq1`Ox1nO!Y#UO~P'ZOX#XOc#YOq1`Ox1nO!^#ZO~P'ZO&o#^O&p#`O~O&r#aO&s#`O~OQ#cO%l#dO%m#fO~OR#gO%n#hO%o#fO~OS#jO%p#kO%q#fO~OT#mO%r#nO%s#fO~OX%{Xa%{Xc%{Xj%{Xm%{Xn%{Xo%{Xp%{Xq%{Xr%{Xu%{X|%{X!Z%{X!h%{X%|%{X%}%{X&O%{X&P%{X&Q%{X&R%{X&S%{X&T%{X&U%{X&V%{Xi%{X!V%{X!W%{X~O&m]O&n^O&q_O&t`O&xaO&ybO&zcO}%{X#Q%{X#o%{X%h%{X%k%{X&^%{X&_%{X!Y%{X!^%{X!S%{X#d%{Xv%{X!o%{X~P,QO|#sO}%zX#Q%zX#o%zX%h%zX%k%zX&^%zX~Oq1`Ox1nO~P'ZO#o#vO%h#xO%k#xO~O&XWO~O!V#}O#}![O$S!]O$VmO~OquO~P'ZOX$SOc$TO&XWO}yP~OX$XOq1`Ox1nO!S$YO~P'ZO}$[O#Q$aO&^$]O#o#RX%h#RX%k#RX~OX$XOq1`Ox1nO#o#[X%h#[X%k#[X~P'ZOq1`Ox1nO#o#`X%h#`X%k#`X~P'ZO!h$gO!z$gO&XWO~OX$rO~P'ZO!W$tO#{$uO#}$vO~O}$wO~OX%OO~P'ZOU%QO%h%PO%u%RO~OX%[Oc%[Oi%^Oq1`Ox1nO~P'ZOq1`Ox1nO}%aO~P'ZO&l%cO~Oc!gOj!nO!Z!pO!h!rOXdaadamdandaodapdaqdardauda|da}da#Qda#oda%hda%kda%|da%}da&Oda&Pda&Qda&Rda&Sda&Tda&Uda&Vda&^daida!Vda!Wda&_da!Yda!^da!Sda#ddavda!oda~Op%hO~Oq%hO~P'ZOq1`O~P'ZOm1bOn1cOo1aOp1aOq1jOr1kOu1oOi&ZX!V&ZX!W&ZX&_&ZX!Y&ZX!^&ZX!S&ZX#d&ZX!o&ZX~P(hO&_%jOi&YX|&YX!V&YX!W&YX!Y&YX}&YX~Oi%lO|%mO!V%qO!W%pO~Oi%lO~O|%tO!V%qO!W%pO!Y&fX~O!Y%xO~O|%yO}%{O!V%qO!W%pO!^&aX~O!^&PO~O!^&QO~O&o#^O&p&SO~O&r#aO&s&SO~OX&VOq1`Ox1nO!RwO~P'ZOQ#cO%l#dO%m&YO~OR#gO%n#hO%o&YO~OS#jO%p#kO%q&YO~OT#mO%r#nO%s&YO~OX!yaa!yac!yaj!yam!yan!yao!yap!yaq!yar!yau!ya|!ya}!ya!Z!ya!h!ya#Q!ya#o!ya%h!ya%k!ya%|!ya%}!ya&O!ya&P!ya&Q!ya&R!ya&S!ya&T!ya&U!ya&V!ya&^!yai!ya!V!ya!W!ya&_!ya!Y!ya!^!ya!S!ya#d!yav!ya!o!ya~P#yO|&bO}%za#Q%za#o%za%h%za%k%za&^%za~P$gOX&dOquOxvO}%za#Q%za#o%za%h%za%k%za&^%za~P'ZO|&bO}%za#Q%za#o%za%h%za%k%za&^%za~OPiOXfOquOxvO!RwO!S!QO#TyO#VzO#X{O#Z|O#]}O#a!OO#c!PO#f!RO#g!RO#i!SO#k!TO#o%WX%h%WX%k%WX~P'ZO#o#vO%h&iO%k&iO~O!h&jOj&|X%h&|X#d&|X#o&|X%k&|X#c&|X~Oj!nO%h&lO~Omgangaogapgaqgargauga|ga}ga#Qga#oga%hga%kga&^gaiga!Vga!Wga&_ga!Yga!^ga!Sga#dgavga!oga~P$gOusa|sa}sa#osa%hsa%ksa&^sa~Om!uOn!vOo!tOp!tOq!wOr!xO#Qsa~PDuO&^&nO|&]X}&]X~O&XWO|&]X}&]X~O|&qO}yX~O}&sO~O|%yO#o&aX%h&aX%k&aXi&aX}&aX!^&aX!o&aX&^&aX~OX1iOq1`Ox1nO!RwO~P'ZO&^$]O#oWa%hWa%kWa~O|&|O#o&cX%h&cX%k&cXp&cX~P$gO|'PO!S'OO#o#`a%h#`a%k#`a~O#d'QO#o#ba%h#ba%k#ba~O!h$gO!z$gO#c'SO&XWO~O#c'SO~O|'UO#o'PX%h'PX%k'PX~O|'WO#o&{X%h&{X%k&{X}&{X~O!Z'YO&^'ZO~O|'_Op'SX~P$gOp'bO~OPiOXfOquOxvO!RwO!S!QO#TyO#VzO#X{O#Z|O#]}O#a!OO#c!PO#f!RO#g!RO#i!SO#k!TO%h'gO~P'ZOv'kO#x'iO#y'jOP#vaX#vah#vaj#vaq#vau#vax#va!R#va!S#va!V#va!W#va!Z#va!_#va!j#va!z#va!{#va!|#va#T#va#V#va#X#va#Z#va#]#va#a#va#c#va#f#va#g#va#i#va#k#va#t#va#w#va#{#va#}#va$S#va$V#va$X#va%e#va&R#va&S#va&W#va&X#va&m#va&n#va&q#va&t#va&x#va&y#va&z#va%g#va%k#va~O|'lO#d'nO}'TX~Oj'pO!Z'YO~Oj!nO}$wO!Z'YO~O}'vO~P$gO%h'yO~OU'zO%h'yO~OX!fOa!fOc!gOj!nO!Z!pO!h!rO&O!cO&P!dO&Q!dO&R!eO&S!eO&T!fO&U!fO&V!fOmYinYioYipYiqYirYiuYi|Yi}Yi#QYi#oYi%hYi%kYi%|Yi&^YiiYi!VYi!WYi&_Yi!YYi!^Yi!SYi#dYivYi!oYi~O%}!bO~P!!`O%}Yi~P!!`OX!fOa!fOc!gOj!nO!Z!pO!h!rO&R!eO&S!eO&T!fO&U!fO&V!fOmYinYioYipYiqYirYiuYi|Yi}Yi#QYi#oYi%hYi%kYi%|Yi%}Yi&OYi&^YiiYi!VYi!WYi&_Yi!YYi!^Yi!SYi#dYivYi!oYi~O&P!dO&Q!dO~P!%ZO&PYi&QYi~P!%ZOc!gOj!nO!Z!pO!h!rOmYinYioYipYiqYirYiuYi|Yi}Yi#QYi#oYi%hYi%kYi%|Yi%}Yi&OYi&PYi&QYi&RYi&SYi&^YiiYi!VYi!WYi&_Yi!YYi!^Yi!SYi#dYivYi!oYi~OX!fOa!fO&T!fO&U!fO&V!fO~P!(XOXYiaYi&TYi&UYi&VYi~P!(XO!V%qO!W%pOi&iX|&iX~O&^'|O&_'|O~P,QO|(OOi&hX~Oi(QO~O|(RO}(TO!Y&kX~Oq1`Ox1nO|(RO}(UO!Y&kX~P'ZO!Y(WO~Oo!tOp!tOq!wOr!xOmliuli|li}li#Qli#oli%hli%kli&^li~On!vO~P!,zOnli~P!,zOm1bOn1cOo1aOp1aOq1jOr1kO~Ov(YO~P!.TOX(_Oi(`Oq1`Ox1nO~P'ZOi(`O|(aO~Oi(cO~O!W(eO~Oi(fO|(aO!V%qO!W%pO~P$gOm1bOn1cOo1aOp1aOq1jOr1kOisa!Vsa!Wsa&_sa!Ysa!^sa!Ssa#dsavsa!osa~PDuOX(_Oq1`Ox1nO!Y&fa~P'ZO|(iO!Y&fa~O!Y(jO~O|(iO!V%qO!W%pO!Y&fa~P$gOX(nOq1`Ox1nO!^&aa#o&aa%h&aa%k&aai&aa}&aa!o&aa&^&aa~P'ZO|(oO!^&aa#o&aa%h&aa%k&aai&aa}&aa!o&aa&^&aa~O!^(rO~O|(oO!V%qO!W%pO!^&aa~P$gO|(uO!V%qO!W%pO!^&ga~P$gO|(xO}&uX!^&uX!o&uX&^&uX~O}(|O!^)OO!o)PO&^({O~O}(|O!^)SO!o)TO&^)RO~O}(|O!^)WO!o)XO&^)VO~O}(|O!^)[O!o)]O&^)ZO~OX&dOquOxvO}%zi#Q%zi#o%zi%h%zi%k%zi&^%zi~P'ZO|)_O}%zi#Q%zi#o%zi%h%zi%k%zi&^%zi~O!h&jOj&|a%h&|a#d&|a#o&|a%k&|a#c&|a~O%h)dO~OX$SOc$TO&XWO~O|&qO}ya~OquOxvO~P'ZO|(oO#o&aa%h&aa%k&aai&aa}&aa!^&aa!o&aa&^&aa~P$gO|)iO#o%zX%h%zX%k%zX&^%zX~O&^$]O#oWi%hWi%kWi~O#o&ca%h&ca%k&cap&ca~P'ZO|)lO#o&ca%h&ca%k&cap&ca~OX)pOj)rO&XWO~O#c)sO~O&XWO#o'Pa%h'Pa%k'Pa~O|)uO#o'Pa%h'Pa%k'Pa~Oq1`Ox1nO#o&{a%h&{a%k&{a}&{a~P'ZO|)xO#o&{a%h&{a%k&{a}&{a~OX)zOc)zO&XWO~O&^*PO~Ov*SO#r*ROP#piX#pih#pij#piq#piu#pix#pi!R#pi!S#pi!V#pi!W#pi!Z#pi!_#pi!j#pi!z#pi!{#pi!|#pi#T#pi#V#pi#X#pi#Z#pi#]#pi#a#pi#c#pi#f#pi#g#pi#i#pi#k#pi#t#pi#w#pi#{#pi#}#pi$S#pi$V#pi$X#pi%e#pi&R#pi&S#pi&W#pi&X#pi&m#pi&n#pi&q#pi&t#pi&x#pi&y#pi&z#pi%g#pi%k#pi~Ov*TOP#siX#sih#sij#siq#siu#six#si!R#si!S#si!V#si!W#si!Z#si!_#si!j#si!z#si!{#si!|#si#T#si#V#si#X#si#Z#si#]#si#a#si#c#si#f#si#g#si#i#si#k#si#t#si#w#si#{#si#}#si$S#si$V#si$X#si%e#si&R#si&S#si&W#si&X#si&m#si&n#si&q#si&t#si&x#si&y#si&z#si%g#si%k#si~OX*VOp'Sa~P'ZO|*WOp'Sa~O|*WOp'Sa~P$gOp*[O~O%f*`O~Ov*cO#x'iO#y*bOP#viX#vih#vij#viq#viu#vix#vi!R#vi!S#vi!V#vi!W#vi!Z#vi!_#vi!j#vi!z#vi!{#vi!|#vi#T#vi#V#vi#X#vi#Z#vi#]#vi#a#vi#c#vi#f#vi#g#vi#i#vi#k#vi#t#vi#w#vi#{#vi#}#vi$S#vi$V#vi$X#vi%e#vi&R#vi&S#vi&W#vi&X#vi&m#vi&n#vi&q#vi&t#vi&x#vi&y#vi&z#vi%g#vi%k#vi~OX*fOq1`Ox1nO}$wO~P'ZOq1`Ox1nO}'Ta~P'ZO|*jO}'Ta~OX*nOc*oOi*rO&T*pO&XWO~O}$wO'W*tO~Oj'pO~Oj!nO}$wO~O%h*yO~O%h*{O~OX%[Oc%[Oq1`Ox1nOi&ha~P'ZO|+OOi&ha~Oq1`Ox1nO}+RO!Y&ka~P'ZO|+SO!Y&ka~Oq1`Ox1nO|+SO}+VO!Y&ka~P'ZOq1`Ox1nO|+SO!Y&ka~P'ZO|+SO}+VO!Y&ka~Oo1aOp1aOq1jOr1kOilimliuli|li!Vli!Wli&_li!Yli}li!^li#oli%hli%kli!Sli#dlivli!oli&^li~On1cO~P!KZOnli~P!KZOX(_Oi+[Oq1`Ox1nO~P'ZOp+^O~Oi+[O|+`O~Oi+aO~OX(_Oq1`Ox1nO!Y&fi~P'ZO|+bO!Y&fi~O!Y+cO~OX(nOq1`Ox1nO!^&ai#o&ai%h&ai%k&aii&ai}&ai!o&ai&^&ai~P'ZO|+fO!V%qO!W%pO!^&gi~O|+iO!^&ai#o&ai%h&ai%k&aii&ai}&ai!o&ai&^&ai~O!^+jO~Oc+lOq1`Ox1nO!^&gi~P'ZO|+fO!^&gi~O!^+nO~OX+pOq1`Ox1nO}&ua!^&ua!o&ua&^&ua~P'ZO|+qO}&ua!^&ua!o&ua&^&ua~O!_+tO&w+uO!^!pX~O!^+wO~O}(|O!^+xO~O}(|O!^+xO!o+yO~O}(|O!^+zO~O}(|O!^+zO!o+{O~O}(|O!^+|O~O}(|O!^+|O!o+}O~O}(|O!^,OO~O}(|O!^,OO!o,PO~OX&dOquOxvO}%zq#Q%zq#o%zq%h%zq%k%zq&^%zq~P'ZO|%Oi}%Oi#Q%Oi#o%Oi%h%Oi%k%Oi&^%Oi~P$gOX&dOquOxvO~P'ZOX&dOq1`Ox1nO#o%za%h%za%k%za&^%za~P'ZO|,QO#o%za%h%za%k%za&^%za~O|$qa#o$qa%h$qa%k$qap$qa~P$gO#o&ci%h&ci%k&cip&ci~P'ZO|,TO#o#`q%h#`q%k#`q~O|,UO#d,WO#o'OX%h'OX%k'OXi'OX~OX,YOj)rO&XWO~O&XWO#o'Pi%h'Pi%k'Pi~Oq1`Ox1nO#o&{i%h&{i%k&{i}&{i~P'ZO}$[O|#mX!Y#mX~O|,^O!Y'QX~O!Y,`O~Ov,cO#r*ROP#pqX#pqh#pqj#pqq#pqu#pqx#pq!R#pq!S#pq!V#pq!W#pq!Z#pq!_#pq!j#pq!z#pq!{#pq!|#pq#T#pq#V#pq#X#pq#Z#pq#]#pq#a#pq#c#pq#f#pq#g#pq#i#pq#k#pq#t#pq#w#pq#{#pq#}#pq$S#pq$V#pq$X#pq%e#pq&R#pq&S#pq&W#pq&X#pq&m#pq&n#pq&q#pq&t#pq&x#pq&y#pq&z#pq%g#pq%k#pq~Op%Ya|%Ya~P$gOX*VOp'Si~P'ZO|,jOp'Si~O|,tO}$wO#d,tO~O#y,vOP#vqX#vqh#vqj#vqq#vqu#vqx#vq!R#vq!S#vq!V#vq!W#vq!Z#vq!_#vq!j#vq!z#vq!{#vq!|#vq#T#vq#V#vq#X#vq#Z#vq#]#vq#a#vq#c#vq#f#vq#g#vq#i#vq#k#vq#t#vq#w#vq#{#vq#}#vq$S#vq$V#vq$X#vq%e#vq&R#vq&S#vq&W#vq&X#vq&m#vq&n#vq&q#vq&t#vq&x#vq&y#vq&z#vq%g#vq%k#vq~O#d,wO|%[a}%[a~Oq1`Ox1nO}'Ti~P'ZO|,yO}'Ti~O}$[O&^,{Oi'VX|'VX~O&XWOi'VX|'VX~O|-POi'UX~Oi-RO~O%f-UO~O!V%qO!W%pOi&ii|&ii~OX%[Oc%[Oq1`Ox1nOi&hi~P'ZO}-XO|$ta!Y$ta~Oq1`Ox1nO}-YO|$ta!Y$ta~P'ZOq1`Ox1nO}+RO!Y&ki~P'ZO|-]O!Y&ki~Oq1`Ox1nO|-]O!Y&ki~P'ZO|-]O}-`O!Y&ki~Oi$pi|$pi!Y$pi~P$gOX(_Oq1`Ox1nO~P'ZOp-bO~OX(_Oi-cOq1`Ox1nO~P'ZOX(_Oq1`Ox1nO!Y&fq~P'ZO|$oi!^$oi#o$oi%h$oi%k$oii$oi}$oi!o$oi&^$oi~P$gOX(nOq1`Ox1nO~P'ZOc+lOq1`Ox1nO!^&gq~P'ZO|-dO!^&gq~O!^-eO~OX(nOq1`Ox1nO!^&aq#o&aq%h&aq%k&aqi&aq}&aq!o&aq&^&aq~P'ZO}-fO~OX+pOq1`Ox1nO}&ui!^&ui!o&ui&^&ui~P'ZO|-kO}&ui!^&ui!o&ui&^&ui~O!_+tO&w+uO!^!pa~O}(|O!^-nO~O}(|O!^-oO~O}(|O!^-pO~O}(|O!^-qO~OX&dOq1`Ox1nO#o%zi%h%zi%k%zi&^%zi~P'ZO|-rO#o%zi%h%zi%k%zi&^%zi~O&XWO#o'Oa%h'Oa%k'Oai'Oa~O|-uO#o'Oa%h'Oa%k'Oai'Oa~Oi-xO~OX)zOc)zO&XWO!Y'Qa~O|-zO!Y'Qa~Op%Yi|%Yi~P$gOX*VO~P'ZOX*VOp'Sq~P'ZOv.OOP#uyX#uyh#uyj#uyq#uyu#uyx#uy!R#uy!S#uy!V#uy!W#uy!Z#uy!_#uy!j#uy!z#uy!{#uy!|#uy#T#uy#V#uy#X#uy#Z#uy#]#uy#a#uy#c#uy#f#uy#g#uy#i#uy#k#uy#t#uy#w#uy#{#uy#}#uy$S#uy$V#uy$X#uy%e#uy&R#uy&S#uy&W#uy&X#uy&m#uy&n#uy&q#uy&t#uy&x#uy&y#uy&z#uy%g#uy%k#uy~O%g.SO%k.SO~P`O#y.TOP#vyX#vyh#vyj#vyq#vyu#vyx#vy!R#vy!S#vy!V#vy!W#vy!Z#vy!_#vy!j#vy!z#vy!{#vy!|#vy#T#vy#V#vy#X#vy#Z#vy#]#vy#a#vy#c#vy#f#vy#g#vy#i#vy#k#vy#t#vy#w#vy#{#vy#}#vy$S#vy$V#vy$X#vy%e#vy&R#vy&S#vy&W#vy&X#vy&m#vy&n#vy&q#vy&t#vy&x#vy&y#vy&z#vy%g#vy%k#vy~O|.WO}$wO#d.WO~Oq1`Ox1nO}'Tq~P'ZO|.ZO}'Tq~O&^,{Oi'Va|'Va~OX*nOc*oO&T*pO&XWOi'Ua~O|._Oi'Ua~O$[.cO~OX%[Oc%[Oq1`Ox1nO~P'ZOq1`Ox1nO}.dO|$ti!Y$ti~P'ZOq1`Ox1nO|$ti!Y$ti~P'ZO}.dO|$ti!Y$ti~Oq1`Ox1nO}+RO~P'ZOq1`Ox1nO}+RO!Y&kq~P'ZO|.gO!Y&kq~Oq1`Ox1nO|.gO!Y&kq~P'ZOu.jO!V%qO!W%pOi&bq!Y&bq!^&bq|&bq~P!.TOc+lOq1`Ox1nO!^&gy~P'ZO|$ri!^$ri~P$gOc+lOq1`Ox1nO~P'ZOX+pOq1`Ox1nO~P'ZOX+pOq1`Ox1nO}&uq!^&uq!o&uq&^&uq~P'ZO}(|O!^.oO!o.pO&^.nO~OX&dOq1`Ox1nO#o%zq%h%zq%k%zq&^%zq~P'ZO#d.rO|%Ta#o%Ta%h%Ta%k%Tai%Ta~O&XWO#o'Oi%h'Oi%k'Oii'Oi~O|.tO#o'Oi%h'Oi%k'Oii'Oi~OX)zOc)zO&XWO!Y'Qi~Ov.xOP#u!RX#u!Rh#u!Rj#u!Rq#u!Ru#u!Rx#u!R!R#u!R!S#u!R!V#u!R!W#u!R!Z#u!R!_#u!R!j#u!R!z#u!R!{#u!R!|#u!R#T#u!R#V#u!R#X#u!R#Z#u!R#]#u!R#a#u!R#c#u!R#f#u!R#g#u!R#i#u!R#k#u!R#t#u!R#w#u!R#{#u!R#}#u!R$S#u!R$V#u!R$X#u!R%e#u!R&R#u!R&S#u!R&W#u!R&X#u!R&m#u!R&n#u!R&q#u!R&t#u!R&x#u!R&y#u!R&z#u!R%g#u!R%k#u!R~Oq1`Ox1nO}'Ty~P'ZOX*nOc*oO&T*pO&XWOi'Ui~O$[.cO%g/QO%k/QO~OX/[Oj/YO!Z/XO!_/ZO!j/TO!{/VO!|/VO&S/SO&XWO&m]O&n^O&q_O~Oq1`Ox1nO|$tq!Y$tq~P'ZO}/aO|$tq!Y$tq~Oq1`Ox1nO}+RO!Y&ky~P'ZO|/bO!Y&ky~Oq1`Ox/fO~P'ZOu.jO!V%qO!W%pOi&by!Y&by!^&by|&by~P!.TO}(|O!^/iO~O}(|O!^/iO!o/jO~O&XWO#o'Oq%h'Oq%k'Oqi'Oq~O|/lO#o'Oq%h'Oq%k'Oqi'Oq~OX*nOc*oO&T*pO&XWO~Oj/qO!h/oO|$]X#d$]X%|$]Xi$]X~Ou$]X}$]X!Y$]X!^$]X~P$)YO&R/sO&S/sOu$^X|$^X}$^X#d$^X%|$^X!Y$^Xi$^X!^$^X~O!j/uO~O|/yO#d/{O%|/vOu'XX}'XX!Y'XXi'XX~Oc0OO~P$%_Oj/qOu'YX|'YX}'YX#d'YX%|'YX!Y'YXi'YX!^'YX~Ou0SO}$wO~Oq1`Ox1nO|$ty!Y$ty~P'ZOq1`Ox1nO}+RO!Y&k!R~P'ZO|0WO!Y&k!R~Oi&eXu&eX!V&eX!W&eX!Y&eX!^&eX|&eX~P!.TOu.jO!V%qO!W%pOi&da!Y&da!^&da|&da~O}(|O!^0ZO~O&XWO#o'Oy%h'Oy%k'Oyi'Oy~O!h/oOj$dau$da|$da}$da#d$da%|$da!Y$dai$da!^$da~O!j0bO~O&R/sO&S/sOu$^a|$^a}$^a#d$^a%|$^a!Y$^ai$^a!^$^a~O%|/vOu$ba|$ba}$ba#d$ba!Y$bai$ba!^$ba~Ou'Xa}'Xa!Y'Xai'Xa~P$%RO|0gOu'Xa}'Xa!Y'Xai'Xa~O!Y0jO~Oi0jO~O}0lO~O!^0mO~Oq1`Ox1nO}+RO!Y&k!Z~P'ZO}0pO~O&^0qO~P$)YO|0rO#d/{O%|/vOi'[X~O|0rOi'[X~Oi0tO~O!j0uO~O#d/{Ou%`a|%`a}%`a%|%`a!Y%`ai%`a!^%`a~O#d/{O%|/vOu%da|%da}%da!Y%dai%da~Ou'Xi}'Xi!Y'Xii'Xi~P$%RO|0wO#d/{O%|/vO!^'Za~O}$la~P$gOi'[a~P$%RO|1POi'[a~Oc1RO!^'Zi~P$%_O|1TO!^'Zi~O|1TO#d/{O%|/vO!^'Zi~O#d/{O%|/vOi$ji|$ji~O&^1WO~P$)YO#d/{O%|/vOi%ca|%ca~Oi'[i~P$%RO}1ZO~Oc1RO!^'Zq~P$%_O|1]O!^'Zq~O#d/{O%|/vO|%bi!^%bi~Oc1RO~P$%_Oc1RO!^'Zy~P$%_O#d/{O%|/vOi$ki|$ki~O#d/{O%|/vO|%bq!^%bq~O|,QO#o%za%h%za%k%za&^%za~P$gOX&dOq1`Ox1nO~P'ZOp1eO~Oq1eO~P'ZO}1fO~Ov1gO~P!.TO&n&q&y&z&m&t&x&X&m~",
|
156 |
+
goto: "!@f']PPPPPPPP'^P'f+R+k,U,p-]-yP.hP'f/X/X'fPPP'f2tPPPPPP2t5kPP5kP8O8X>kPP>n?`?cPP'f'fPP?{PP'f'fPP'f'f'f'f'f@P@y'fP@|PASE^H}IRPIUIlIpIsIwIzJOJRJV'fPPPJYJc'^P'^'^P'^P'^P'^P'^P'^'^'^P'^PP'^PP'^P'^PJiJuJ}PKUK[PKUPKUKUPPPKUPMjPMsM}NTMjPKUN^PKUPNeNkPNo! T! r!!]NoNo!!c!!pNoNoNoNo!#U!#[!#_!#d!#g!#q!#w!$T!$g!$m!$w!$}!%k!%q!%w!%}!&X!&_!&e!&k!&q!&w!'Z!'e!'k!'q!'w!(R!(X!(_!(e!(k!(u!({!)V!)]!)f!)l!){!*T!*_!*fPPPPPPPPPPPPPPPPP!*l!*o!*u!+O!+Y!+ePPPPPPPPPPPP!0[!1p!5s!9WPP!9`!9r!9{!:t!:k!:}!;T!;W!;Z!;^!;f!<VPPPPPPPPP!<Y!<iPPPP!=m!=y!>V!>]!>f!>i!>l!>r!>x!?O!?RP!?Z!?d!@`!@c]jOs#v$w*`,p(TeOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1o}!hQ#r$P$b$q$}%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!P!iQ#r$P$b$q$}%S%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!R!jQ#r$P$b$q$}%S%T%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!T!kQ#r$P$b$q$}%S%T%U%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!V!lQ#r$P$b$q$}%S%T%U%V%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!X!mQ#r$P$b$q$}%S%T%U%V%W%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!]!mQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d(TTOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1o&iVOYZ[isuw}!O!S!U!V!Z!n!p!t!u!v!x!y#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%h%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)_)a)i)x*P*R*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+p+q+t,Q,T,[,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0W0p1`1a1b1c1e1f1g1h1k1o%sXOYZ[isw}!O!S!U!V!Z!n!p#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)_)a)i)x*P*R*[*`*f*j*t+O+R+S+V+]+`+b+e+f+i+p+q+t,Q,T,[,p,x,y,|-W-X-Y-[-]-`-d-f-h-j-k-r.Z.].d.g/a/b0W1f1g1hQ$VvQ0X/fR1l1n'zeOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1oW#ym!P!Q$hW$Rv&q/f1nQ$j!RQ$n!TQ${![Q$|!]W%Z!n(O+O-WS&p$S$TQ'e$vQ)b&jQ)p'QU)q'S)r)sU)t'U)u,ZW){'Y,^-z.vQ*l'nW*m'p-P._/OQ,])zS-O*n*oY-t,U-u.s.t/lQ-w,WQ.U,tQ.Y,wQ.|.Wl/R.c/X/Y/[/w/y0O0g0l0q0v1R1W1ZQ/k.rQ0P/ZQ0^/qQ0i/{U0|0r1P1XX1S0w1T1[1]R&o$R!_!|YZ!U!V!p%a%m%t(R(T(U(a(i*R+R+S+V+]+`+b-X-Y-[-]-`.d.g/a/b0WR%k!{Q#QYQ&W#cQ&Z#gQ&]#jQ&_#mQ&x$^Q&{$aR-l+tT/e.j0p![!oQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1dQ&m#zQ't$|R*x'uR'}%ZQ%d!rR0[/o(SdOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1oS#pd#q!P/V.c/X/Y/Z/[/q/w/y0O0g0l0q0r0v0w1P1R1T1W1X1Z1[1](SdOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1oT#pd#qT#d`#eR)Q&Wy(}&W&Z&]&_)P)Q)T)U)X)Y)])^+y+{+},P-l.p.q/jT+u(|+vR.q-lT#ha#iR)U&ZT#kb#lR)Y&]T#nc#oR)^&_Q$`xQ,]){R,}*mX$^x$_$`&zQ'[$nQ'r${Q'u$|R*_'eQ)|'YV-y,^-z.vZlOs$w*`,pXpOs*`,pQ$x!YQ']$oQ'^$pQ'o$zQ's$|Q*]'dQ*d'iQ*g'jQ*h'kQ*u'qS*w't'uQ,d*RQ,f*SQ,g*TQ,k*ZS,m*^*vQ,q*bQ,r*cS,s*e*fQ-T*xQ-|,cQ-},eQ.P,lS.Q,n,oQ.V,uQ.X,vQ.w.OQ.y.RQ.z.TQ.{.UQ/m.xQ/n.|Q0T/_R0o0UWpOs*`,pR#|oQ'q${S*^'e'rR,o*_Q,|*mR.],}Q*v'qQ,n*^R.R,oZnOos*`,pQ'w$}R*z'xT.a-U.bu/^.c/X/Y/[/q/w/y0O0g0l0q0r0v1P1R1W1X1Zt/^.c/X/Y/[/q/w/y0O0g0l0q0r0v1P1R1W1X1ZQ0P/ZX1S0w1T1[1]!P/U.c/X/Y/Z/[/q/w/y0O0g0l0q0r0v0w1P1R1T1W1X1Z1[1]Q/t/TR0c/ug/w/W/x0_0f0k0y0{0}1Y1^1_u/].c/X/Y/[/q/w/y0O0g0l0q0r0v1P1R1W1X1ZX/r/R/]0^0|R0`/qV1O0r1P1XR0U/_QsOS$Os,pR,p*`Q&r$UR)g&rS%z#W$WS(p%z(sT(s%}&tQ%n#OQ%u#SW(b%n%u(g(kQ(g%rR(k%wQ&}$bR)m&}Q(v&OQ+g(qT+m(v+gQ(P%]R+P(PS(S%`%aY+T(S+U-^.h/cU+U(T(U(VU-^+V+W+XS.h-_-`R/c.iQ#_^R&R#_Q#b_R&T#bQ#e`R&X#eQ(y&US+r(y+sR+s(zQ+v(|R-m+vQ#iaR&[#iQ#lbR&^#lQ#ocR&`#oQ#qdR&a#qQ#tgQ&c#rW&f#t&c)j,RQ)j&wR,R1dQ$_xS&y$_&zR&z$`Q'X$lR)y'XQ&k#yR)c&kQ$h!QR'R$hQ,V)qS-v,V.uR.u-wQ'V$jR)v'VQ,_)|R-{,_Q#wkR&h#wQ*Q']R,b*QQ'`$qS*X'`*YR*Y'aQ'h$xR*a'hQ'm$yS*k'm,zR,z*lQ-Q*qR.`-QWoOs*`,pR#{oQ.b-UR/P.bd/x/W0_0f0k0y0{0}1Y1^1_R0e/xU/p/R0^0|R0]/pQ0x0kS1U0x1VR1V0yS0s0_0`R1Q0sQ/z/WR0h/zR!`PXrOs*`,pWqOs*`,pR'f$wYkOs$w*`,pR&g#v[xOs#v$w*`,pR&x$^&hQOYZ[isuw}!O!S!U!V!Z!n!p!t!u!v!x!y#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%h%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)_)a)i)x*P*R*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+p+q+t,Q,T,[,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0W0p1`1a1b1c1e1f1g1h1k1oQ!sTQ#rfQ$PtU$by%p(eS$q!W$tQ$}!^Q%S!hQ%T!iQ%U!jQ%V!kQ%W!lQ%X!mQ%r#PQ%w#TQ%}#XQ&O#YQ&t$XQ'a$rQ'x%OQ)`&dU)k&|)l,SW*U'_*W,i,jQ+Z(_Q+d(nQ,h*VQ-g+lQ0n0SR1d1iQ#OYQ#SZQ$o!UQ$p!VQ%`!pQ(V%a^(^%m%t(a(i+]+`+b^+Q(R+S-[-].g/b0WQ+W(TQ+X(UQ,e*RQ-Z+RQ-_+VQ.e-XQ.f-YQ.i-`Q/`.dR0V/a[gOs#v$w*`,p!^!{YZ!U!V!p%a%m%t(R(T(U(a(i*R+R+S+V+]+`+b-X-Y-[-]-`.d.g/a/b0WQ#W[Q#uiS$Ww}Q$e!OW$l!S$a'b*[S$y!Z$uW%Y!n(O+O-WY&U#c#g#j#m+t`&e#s&b)_)a)i,Q-r1hQ&u$YQ&v$[Q&w$^Q'{%[Q(]%kW(m%y(o+e+iQ(q%{Q(z&VQ)e&oS)h&s1fQ)n'OQ)o'PU)w'W)x,[Q*O'ZQ*e'iY*i'l*j,x,y.ZQ*|'}S+Y(Y1gW+k(u+f-d-hW+o(x+q-j-kQ,a*PQ,u*fQ-S*tQ-i+pQ-s,TQ.[,|Q.m-fR.}.]hUOs#s#v$w&b&s(Y)_)a*`,p%Y!zYZ[iw}!O!S!U!V!Z!n!p#c#g#j#m$Y$[$^$a$u%[%a%k%m%t%y%{&V&o'O'P'W'Z'b'i'l'}(O(R(T(U(a(i(o(u(x)i)x*P*R*[*f*j*t+O+R+S+V+]+`+b+e+f+i+p+q+t,Q,T,[,x,y,|-W-X-Y-[-]-`-d-f-h-j-k-r.Z.].d.g/a/b0W1f1g1hQ$QuW%e!t!x1a1kQ%f!uQ%g!vQ%i!yQ%s1`S(X%h1eQ(Z1bQ([1cQ-a+^Q.l-bS/d.j0pR1m1oU$Uv/f1nR)f&q[hOs#v$w*`,pa!}Y#c#g#j#m$^$a+tQ#][Q$ZwR$d}Q%o#OQ%v#SQ%|#WQ'{%YQ(h%rQ(l%wQ(t%}Q(w&OQ+h(qQ-V*|Q.k-aQ/h.lR0Y/gQ$cyQ(d%pR+_(eQ/g.jR0z0pR#VZR#[[R%_!nQ%]!nV*}(O+O-W!]!qQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1dR%b!pQ&W#cQ&Z#gQ&]#jQ&_#mR-l+tQ)O&WQ)S&ZQ)W&]Q)[&_S+x)P)QS+z)T)US+|)X)YS,O)])^Q-n+yQ-o+{Q-p+}Q-q,PQ.o-lS/i.p.qR0Z/jQ$m!SQ&{$aQ*Z'bR,l*[Q#zmQ$f!PQ$i!QR'T$hQ)p'SR,Y)sQ)p'SQ,X)rR,Y)sR$k!RR)}'YXqOs*`,pQ$s!WR'c$tQ$z!ZR'd$uR*s'pQ*q'pV.^-P._/OQ/_.cQ/|/XR/}/YU/W.c/X/YQ0R/[Q0_/qQ0d/wU0f/y0g0vQ0k0OQ0y0lQ0{0qU0}0r1P1XQ1Y1RQ1^1WR1_1ZR0Q/ZR0a/q",
|
157 |
+
nodeNames: "⚠ print { { { { 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 FormatReplacement FormatSelfDoc FormatReplacement FormatSelfDoc 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",
|
158 |
+
maxTerm: 288,
|
159 |
+
context: UO,
|
160 |
+
nodeProps: [
|
161 |
+
["isolate", -8, 6, 73, 74, 75, 79, 81, 83, 85, ""],
|
162 |
+
["group", -15, 8, 93, 95, 96, 98, 100, 102, 104, 106, 107, 108, 110, 113, 116, 118, "Statement Statement", -22, 10, 20, 23, 27, 42, 51, 52, 58, 59, 62, 63, 64, 65, 66, 69, 72, 73, 74, 87, 88, 89, 90, "Expression", -10, 122, 124, 127, 129, 130, 134, 136, 141, 143, 146, "Statement", -9, 151, 152, 155, 156, 158, 159, 160, 161, 162, "Pattern"],
|
163 |
+
["openedBy", 25, "(", 56, "[", 60, "{"],
|
164 |
+
["closedBy", 26, ")", 57, "]", 61, "}"]
|
165 |
+
],
|
166 |
+
propSources: [NO],
|
167 |
+
skippedNodes: [0, 6],
|
168 |
+
repeatNodeCount: 38,
|
169 |
+
tokenData: "%-W#sR!`OX%TXY=|Y[%T[]=|]p%Tpq=|qr@_rsDOst!+|tu%Tuv!Nnvw#!|wx#$Wxy#:Uyz#;Yz{#<^{|#>x|}#@S}!O#AW!O!P#Ci!P!Q#N_!Q!R$!y!R![$&w![!]$1e!]!^$3s!^!_$4w!_!`$7c!`!a$8m!a!b%T!b!c$;U!c!d$<b!d!e$>W!e!h$<b!h!i$H[!i!t$<b!t!u%#r!u!w$<b!w!x$Fl!x!}$<b!}#O%%z#O#P?d#P#Q%'O#Q#R%(S#R#S$<b#S#T%T#T#U$<b#U#V$>W#V#Y$<b#Y#Z$H[#Z#f$<b#f#g%#r#g#i$<b#i#j$Fl#j#o$<b#o#p%)^#p#q%*S#q#r%+^#r#s%,S#s$g%T$g;'S$<b;'S;=`$>Q<%lO$<b!n%^]&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!n&^]&w!b&oSOr%Trs'Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!n'^]&w!b&oSOr%Trs(Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!f(^Z&w!b&oSOw(Vwx)Px#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V!f)UZ&w!bOw(Vwx)wx#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V!f)|Z&w!bOw(Vwx*ox#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V!b*tT&w!bO#o*o#p#q*o#r;'S*o;'S;=`+T<%lO*o!b+WP;=`<%l*o!f+`W&w!bO#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`.d;=`<%l+x<%lO(VS+}V&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^<%lO+xS,gVOw+xwx,|x#O+x#O#P-c#P;'S+x;'S;=`.^<%lO+xS-PUOw+xx#O+x#O#P-c#P;'S+x;'S;=`.^<%lO+xS-fRO;'S+x;'S;=`-o;=`O+xS-tW&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^;=`<%l+x<%lO+xS.aP;=`<%l+x!f.iW&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^;=`<%l(V<%lO+x!f/UP;=`<%l(V!n/`]&w!b&rWOr%Trs&Vsw%Twx0Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!n0`]&w!b&rWOr%Trs&Vsw%Twx1Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!j1`Z&w!b&rWOr1Xrs2Rs#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X!j2WZ&w!bOr1Xrs2ys#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X!j3OZ&w!bOr1Xrs*os#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X!j3vW&w!bO#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`6z;=`<%l4`<%lO1XW4eV&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`W4}VOr4`rs5ds#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`W5gUOr4`s#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`W5|RO;'S4`;'S;=`6V;=`O4`W6[W&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l4`<%lO4`W6wP;=`<%l4`!j7PW&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l1X<%lO4`!j7lP;=`<%l1X!n7tW&w!bO#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=P;=`<%l8^<%lO%T[8eX&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[9VX&oSOr8^rs9rsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[9wX&oSOr8^rs+xsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[:iX&rWOr8^rs9Qsw8^wx;Ux#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[;ZX&rWOr8^rs9Qsw8^wx4`x#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[;yRO;'S8^;'S;=`<S;=`O8^[<ZY&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y;=`<%l8^<%lO8^[<|P;=`<%l8^!n=WY&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y;=`<%l%T<%lO8^!n=yP;=`<%l%T#s>Xc&w!b&oS&rW%u!TOX%TXY=|Y[%T[]=|]p%Tpq=|qr%Trs&Vsw%Twx/Xx#O%T#O#P?d#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s?i[&w!bOY%TYZ=|Z]%T]^=|^#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=P;=`<%l8^<%lO%T!q@hd&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`Av!`#O%T#O#P7o#P#T%T#T#UBz#U#f%T#f#gBz#g#hBz#h#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!qBR]oR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!qCV]!oR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#cDXa&w!b&oS&msOYE^YZ%TZ]E^]^%T^rE^rs!)|swE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cEia&w!b&oS&rW&msOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cFw]&w!b&oS&msOr%Trs'Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#cGya&w!b&rW&msOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxIOx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cIXa&w!b&rW&msOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxJ^x#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#_Jg_&w!b&rW&msOYJ^YZ1XZ]J^]^1X^rJ^rsKfs#OJ^#O#PL`#P#oJ^#o#pL}#p#qJ^#q#rL}#r;'SJ^;'S;=`!!o<%lOJ^#_KmZ&w!b&msOr1Xrs2ys#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#_LeW&w!bO#oJ^#o#pL}#p#qJ^#q#rL}#r;'SJ^;'S;=`! r;=`<%lL}<%lOJ^{MUZ&rW&msOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l<%lOL}{M|V&msOr4`rs5ds#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`{NfRO;'SL};'S;=`No;=`OL}{Nv[&rW&msOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l;=`<%lL}<%lOL}{! oP;=`<%lL}#_! y[&rW&msOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l;=`<%lJ^<%lOL}#_!!rP;=`<%lJ^#c!!zW&w!bO#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!(q;=`<%l!#d<%lOE^!P!#m]&oS&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!%Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k<%lO!#d!P!$mX&oS&msOr8^rs9rsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^!P!%a]&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!&Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k<%lO!#d!P!&a]&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwxL}x#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k<%lO!#d!P!']RO;'S!#d;'S;=`!'f;=`O!#d!P!'o^&oS&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!%Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k;=`<%l!#d<%lO!#d!P!(nP;=`<%l!#d#c!(z^&oS&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!%Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k;=`<%lE^<%lO!#d#c!)yP;=`<%lE^#c!*V]&w!b&oS&msOr%Trs!+Osw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c!+ZZ&sW&w!b&oS&qsOw(Vwx)Px#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V#s!,XaU!T&w!b&oS&rWOY!+|YZ%TZ]!+|]^%T^r!+|rs!-^sw!+|wx!:hx#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#s!-gaU!T&w!b&oSOY!+|YZ%TZ]!+|]^%T^r!+|rs!.lsw!+|wx!:hx#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#s!.uaU!T&w!b&oSOY!+|YZ%TZ]!+|]^%T^r!+|rs!/zsw!+|wx!:hx#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#k!0T_U!T&w!b&oSOY!/zYZ(VZ]!/z]^(V^w!/zwx!1Sx#O!/z#O#P!4z#P#o!/z#o#p!5w#p#q!/z#q#r!5w#r;'S!/z;'S;=`!:b<%lO!/z#k!1Z_U!T&w!bOY!/zYZ(VZ]!/z]^(V^w!/zwx!2Yx#O!/z#O#P!4z#P#o!/z#o#p!5w#p#q!/z#q#r!5w#r;'S!/z;'S;=`!:b<%lO!/z#k!2a_U!T&w!bOY!/zYZ(VZ]!/z]^(V^w!/zwx!3`x#O!/z#O#P!4z#P#o!/z#o#p!5w#p#q!/z#q#r!5w#r;'S!/z;'S;=`!:b<%lO!/z#g!3gZU!T&w!bOY!3`YZ*oZ]!3`]^*o^#o!3`#o#p!4Y#p#q!3`#q#r!4Y#r;'S!3`;'S;=`!4t<%lO!3`!T!4_TU!TOY!4YZ]!4Y^;'S!4Y;'S;=`!4n<%lO!4Y!T!4qP;=`<%l!4Y#g!4wP;=`<%l!3`#k!5R[U!T&w!bOY!/zYZ(VZ]!/z]^(V^#o!/z#o#p!5w#p#q!/z#q#r!5w#r;'S!/z;'S;=`!9s;=`<%l+x<%lO!/z!X!6OZU!T&oSOY!5wYZ+xZ]!5w]^+x^w!5wwx!6qx#O!5w#O#P!8a#P;'S!5w;'S;=`!9m<%lO!5w!X!6vZU!TOY!5wYZ+xZ]!5w]^+x^w!5wwx!7ix#O!5w#O#P!8a#P;'S!5w;'S;=`!9m<%lO!5w!X!7nZU!TOY!5wYZ+xZ]!5w]^+x^w!5wwx!4Yx#O!5w#O#P!8a#P;'S!5w;'S;=`!9m<%lO!5w!X!8fWU!TOY!5wYZ+xZ]!5w]^+x^;'S!5w;'S;=`!9O;=`<%l+x<%lO!5w!X!9TW&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^;=`<%l!5w<%lO+x!X!9pP;=`<%l!5w#k!9xW&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^;=`<%l!/z<%lO+x#k!:eP;=`<%l!/z#s!:qaU!T&w!b&rWOY!+|YZ%TZ]!+|]^%T^r!+|rs!-^sw!+|wx!;vx#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#s!<PaU!T&w!b&rWOY!+|YZ%TZ]!+|]^%T^r!+|rs!-^sw!+|wx!=Ux#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#o!=__U!T&w!b&rWOY!=UYZ1XZ]!=U]^1X^r!=Urs!>^s#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!>e_U!T&w!bOY!=UYZ1XZ]!=U]^1X^r!=Urs!?ds#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!?k_U!T&w!bOY!=UYZ1XZ]!=U]^1X^r!=Urs!3`s#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!@q[U!T&w!bOY!=UYZ1XZ]!=U]^1X^#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!Ec;=`<%l4`<%lO!=U!]!AnZU!T&rWOY!AgYZ4`Z]!Ag]^4`^r!Agrs!Bas#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!BfZU!TOY!AgYZ4`Z]!Ag]^4`^r!Agrs!CXs#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!C^ZU!TOY!AgYZ4`Z]!Ag]^4`^r!Agrs!4Ys#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!DUWU!TOY!AgYZ4`Z]!Ag]^4`^;'S!Ag;'S;=`!Dn;=`<%l4`<%lO!Ag!]!DsW&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l!Ag<%lO4`!]!E`P;=`<%l!Ag#o!EhW&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l!=U<%lO4`#o!FTP;=`<%l!=U#s!F_[U!T&w!bOY!+|YZ%TZ]!+|]^%T^#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Mq;=`<%l8^<%lO!+|!a!G^]U!T&oS&rWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!H^]U!T&oSOY!GTYZ8^Z]!GT]^8^^r!GTrs!IVsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!I^]U!T&oSOY!GTYZ8^Z]!GT]^8^^r!GTrs!5wsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!J^]U!T&rWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!KVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!K^]U!T&rWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!Agx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!L[WU!TOY!GTYZ8^Z]!GT]^8^^;'S!GT;'S;=`!Lt;=`<%l8^<%lO!GT!a!L{Y&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y;=`<%l!GT<%lO8^!a!MnP;=`<%l!GT#s!MxY&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y;=`<%l!+|<%lO8^#s!NkP;=`<%l!+|#b!Ny_&UQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b#!T]#Qr&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b##X_&OQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#$aa&w!b&rW&msOY#%fYZ%TZ]#%f]^%T^r#%frs#&vsw#%fwx#8Ux#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#c#%qa&w!b&oS&rW&msOY#%fYZ%TZ]#%f]^%T^r#%frs#&vsw#%fwx#/{x#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#c#'Pa&w!b&oS&msOY#%fYZ%TZ]#%f]^%T^r#%frs#(Usw#%fwx#/{x#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#c#(_a&w!b&oS&msOY#%fYZ%TZ]#%f]^%T^r#%frs#)dsw#%fwx#/{x#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#Z#)m_&w!b&oS&msOY#)dYZ(VZ]#)d]^(V^w#)dwx#*lx#O#)d#O#P#+f#P#o#)d#o#p#,T#p#q#)d#q#r#,T#r;'S#)d;'S;=`#/u<%lO#)d#Z#*sZ&w!b&msOw(Vwx)wx#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V#Z#+kW&w!bO#o#)d#o#p#,T#p#q#)d#q#r#,T#r;'S#)d;'S;=`#.x;=`<%l#,T<%lO#)dw#,[Z&oS&msOY#,TYZ+xZ]#,T]^+x^w#,Twx#,}x#O#,T#O#P#-i#P;'S#,T;'S;=`#.r<%lO#,Tw#-SV&msOw+xwx,|x#O+x#O#P-c#P;'S+x;'S;=`.^<%lO+xw#-lRO;'S#,T;'S;=`#-u;=`O#,Tw#-|[&oS&msOY#,TYZ+xZ]#,T]^+x^w#,Twx#,}x#O#,T#O#P#-i#P;'S#,T;'S;=`#.r;=`<%l#,T<%lO#,Tw#.uP;=`<%l#,T#Z#/P[&oS&msOY#,TYZ+xZ]#,T]^+x^w#,Twx#,}x#O#,T#O#P#-i#P;'S#,T;'S;=`#.r;=`<%l#)d<%lO#,T#Z#/xP;=`<%l#)d#c#0U]&w!b&rW&msOr%Trs&Vsw%Twx0Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#1SW&w!bO#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#6y;=`<%l#1l<%lO#%f!P#1u]&oS&rW&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#2nsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s<%lO#1l!P#2u]&oS&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#3nsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s<%lO#1l!P#3u]&oS&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#,Tsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s<%lO#1l!P#4uX&rW&msOr8^rs9Qsw8^wx;Ux#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^!P#5eRO;'S#1l;'S;=`#5n;=`O#1l!P#5w^&oS&rW&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#2nsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s;=`<%l#1l<%lO#1l!P#6vP;=`<%l#1l#c#7S^&oS&rW&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#2nsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s;=`<%l#%f<%lO#1l#c#8RP;=`<%l#%f#c#8_]&w!b&rW&msOr%Trs&Vsw%Twx#9Wx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#9cZ&pS&w!b&rW&nsOr1Xrs2Rs#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#c#:a]js&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q#;e]iR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#<iaXs&w!b&oS&rWOr%Trs&Vsw%Twx/Xxz%Tz{#=n{!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#=y_cR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#?T_&Rs&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q#@_]|R&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s#Ac`&Ss&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`!a#Be!a#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#O#Bp]'W`&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#Cta!hQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!O%T!O!P#Dy!P!Q%T!Q![#GV![#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#ES_&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!O%T!O!P#FR!P#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#F^]!zs&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#Gbi!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![#GV![!g%T!g!h#IP!h!l%T!l!m#MZ!m#O%T#O#P7o#P#R%T#R#S#GV#S#X%T#X#Y#IP#Y#^%T#^#_#MZ#_#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#IYc&w!b&oS&rWOr%Trs&Vsw%Twx/Xx{%T{|#Je|}%T}!O#Je!O!Q%T!Q![#Km![#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#Jn_&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![#Km![#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#Kxe!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![#Km![!l%T!l!m#MZ!m#O%T#O#P7o#P#R%T#R#S#Km#S#^%T#^#_#MZ#_#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#Mf]!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#Nja&TR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!P%T!P!Q$ o!Q!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b$ z_&VQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$#Uw!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!O%T!O!P$%o!P!Q%T!Q![$&w![!d%T!d!e$(w!e!g%T!g!h#IP!h!l%T!l!m#MZ!m!q%T!q!r$+m!r!z%T!z!{$.]!{#O%T#O#P7o#P#R%T#R#S$&w#S#U%T#U#V$(w#V#X%T#X#Y#IP#Y#^%T#^#_#MZ#_#c%T#c#d$+m#d#l%T#l#m$.]#m#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$%x_&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![#GV![#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$'Sk!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!O%T!O!P$%o!P!Q%T!Q![$&w![!g%T!g!h#IP!h!l%T!l!m#MZ!m#O%T#O#P7o#P#R%T#R#S$&w#S#X%T#X#Y#IP#Y#^%T#^#_#MZ#_#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$)Qb&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q!R$*Y!R!S$*Y!S#O%T#O#P7o#P#R%T#R#S$*Y#S#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$*eb!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q!R$*Y!R!S$*Y!S#O%T#O#P7o#P#R%T#R#S$*Y#S#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$+va&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q!Y$,{!Y#O%T#O#P7o#P#R%T#R#S$,{#S#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$-Wa!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q!Y$,{!Y#O%T#O#P7o#P#R%T#R#S$,{#S#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$.fe&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![$/w![!c%T!c!i$/w!i#O%T#O#P7o#P#R%T#R#S$/w#S#T%T#T#Z$/w#Z#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$0Se!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![$/w![!c%T!c!i$/w!i#O%T#O#P7o#P#R%T#R#S$/w#S#T%T#T#Z$/w#Z#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s$1p_}!T&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`$2o!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q$2z]&_R&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$4O]#os&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$5SaoR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!^%T!^!_$6X!_!`Av!`!aAv!a#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b$6d_&PQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$7n_&^s&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`Av!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$8x`oR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`Av!`!a$9z!a#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b$:V_&QQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$;c_aQ$VP&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s$<oe&w!b&oS&rW&l`&XsOr%Trs&Vsw%Twx/Xx!Q%T!Q![$<b![!c%T!c!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#s$>TP;=`<%l$<b#s$>ei&w!b&oS&rW&l`&XsOr%Trs$@Ssw%Twx$C`x!Q%T!Q![$<b![!c%T!c!t$<b!t!u$Fl!u!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#f$<b#f#g$Fl#g#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#c$@]a&w!b&oS&msOYE^YZ%TZ]E^]^%T^rE^rs$AbswE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#c$Ak]&w!b&oS&msOr%Trs$Bdsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#Z$BmZ&w!b&oS&qsOw(Vwx)Px#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V#c$Cia&w!b&rW&msOY#%fYZ%TZ]#%f]^%T^r#%frs#&vsw#%fwx$Dnx#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#c$Dw]&w!b&rW&msOr%Trs&Vsw%Twx$Epx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#_$EyZ&w!b&rW&nsOr1Xrs2Rs#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#s$Fye&w!b&oS&rW&l`&XsOr%Trs$@Ssw%Twx$C`x!Q%T!Q![$<b![!c%T!c!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#s$Hii&w!b&oS&rW&l`&XsOr%Trs$JWsw%Twx$MUx!Q%T!Q![$<b![!c%T!c!t$<b!t!u%!S!u!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#f$<b#f#g%!S#g#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#c$Ja]&w!b&oS&xsOr%Trs$KYsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$Ka]&w!b&oSOr%Trs$LYsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#Z$LcZ&w!b&oS&zsOw(Vwx)Px#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V#c$M_]&w!b&rW&tsOr%Trs&Vsw%Twx$NWx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$N_]&w!b&rWOr%Trs&Vsw%Twx% Wx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#_% aZ&w!b&rW&ysOr1Xrs2Rs#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#s%!ae&w!b&oS&rW&l`&XsOr%Trs$JWsw%Twx$MUx!Q%T!Q![$<b![!c%T!c!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#s%$Pm&w!b&oS&rW&l`&XsOr%Trs$@Ssw%Twx$C`x!Q%T!Q![$<b![!c%T!c!h$<b!h!i%!S!i!t$<b!t!u$Fl!u!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#U$<b#U#V$Fl#V#Y$<b#Y#Z%!S#Z#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#c%&V]!Zs&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q%'Z]!YR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b%(__%}Q&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a%)gX!_#T&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^#c%*__%|R&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q%+gX!^!e&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^#a%,_]&Wq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T",
|
170 |
+
tokenizers: [zO, kO, GO, jO, AO, FO, IO, 0, 1, 2, 3, 4, 5, 6],
|
171 |
+
topRules: { Script: [0, 7] },
|
172 |
+
specialized: [{ term: 239, get: (O) => CO[O] || -1 }],
|
173 |
+
tokenPrec: 7500
|
174 |
+
}), f = /* @__PURE__ */ new D(), W = /* @__PURE__ */ new Set([
|
175 |
+
"Script",
|
176 |
+
"Body",
|
177 |
+
"FunctionDefinition",
|
178 |
+
"ClassDefinition",
|
179 |
+
"LambdaExpression",
|
180 |
+
"ForStatement",
|
181 |
+
"MatchClause"
|
182 |
+
]);
|
183 |
+
function n(O) {
|
184 |
+
return (r, o, a) => {
|
185 |
+
if (a)
|
186 |
+
return !1;
|
187 |
+
let e = r.node.getChild("VariableName");
|
188 |
+
return e && o(e, O), !0;
|
189 |
+
};
|
190 |
+
}
|
191 |
+
const LO = {
|
192 |
+
FunctionDefinition: /* @__PURE__ */ n("function"),
|
193 |
+
ClassDefinition: /* @__PURE__ */ n("class"),
|
194 |
+
ForStatement(O, r, o) {
|
195 |
+
if (o) {
|
196 |
+
for (let a = O.node.firstChild; a; a = a.nextSibling)
|
197 |
+
if (a.name == "VariableName")
|
198 |
+
r(a, "variable");
|
199 |
+
else if (a.name == "in")
|
200 |
+
break;
|
201 |
+
}
|
202 |
+
},
|
203 |
+
ImportStatement(O, r) {
|
204 |
+
var o, a;
|
205 |
+
let { node: e } = O, Q = ((o = e.firstChild) === null || o === void 0 ? void 0 : o.name) == "from";
|
206 |
+
for (let x = e.getChild("import"); x; x = x.nextSibling)
|
207 |
+
x.name == "VariableName" && ((a = x.nextSibling) === null || a === void 0 ? void 0 : a.name) != "as" && r(x, Q ? "variable" : "namespace");
|
208 |
+
},
|
209 |
+
AssignStatement(O, r) {
|
210 |
+
for (let o = O.node.firstChild; o; o = o.nextSibling)
|
211 |
+
if (o.name == "VariableName")
|
212 |
+
r(o, "variable");
|
213 |
+
else if (o.name == ":" || o.name == "AssignOp")
|
214 |
+
break;
|
215 |
+
},
|
216 |
+
ParamList(O, r) {
|
217 |
+
for (let o = null, a = O.node.firstChild; a; a = a.nextSibling)
|
218 |
+
a.name == "VariableName" && (!o || !/\*|AssignOp/.test(o.name)) && r(a, "variable"), o = a;
|
219 |
+
},
|
220 |
+
CapturePattern: /* @__PURE__ */ n("variable"),
|
221 |
+
AsPattern: /* @__PURE__ */ n("variable"),
|
222 |
+
__proto__: null
|
223 |
+
};
|
224 |
+
function V(O, r) {
|
225 |
+
let o = f.get(r);
|
226 |
+
if (o)
|
227 |
+
return o;
|
228 |
+
let a = [], e = !0;
|
229 |
+
function Q(x, s) {
|
230 |
+
let h = O.sliceString(x.from, x.to);
|
231 |
+
a.push({ label: h, type: s });
|
232 |
+
}
|
233 |
+
return r.cursor(N.IncludeAnonymous).iterate((x) => {
|
234 |
+
if (x.name) {
|
235 |
+
let s = LO[x.name];
|
236 |
+
if (s && s(x, Q, e) || !e && W.has(x.name))
|
237 |
+
return !1;
|
238 |
+
e = !1;
|
239 |
+
} else if (x.to - x.from > 8192) {
|
240 |
+
for (let s of V(O, x.node))
|
241 |
+
a.push(s);
|
242 |
+
return !1;
|
243 |
+
}
|
244 |
+
}), f.set(r, a), a;
|
245 |
+
}
|
246 |
+
const b = /^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/, g = ["String", "FormatString", "Comment", "PropertyName"];
|
247 |
+
function HO(O) {
|
248 |
+
let r = _(O.state).resolveInner(O.pos, -1);
|
249 |
+
if (g.indexOf(r.name) > -1)
|
250 |
+
return null;
|
251 |
+
let o = r.name == "VariableName" || r.to - r.from < 20 && b.test(O.state.sliceDoc(r.from, r.to));
|
252 |
+
if (!o && !O.explicit)
|
253 |
+
return null;
|
254 |
+
let a = [];
|
255 |
+
for (let e = r; e; e = e.parent)
|
256 |
+
W.has(e.name) && (a = a.concat(V(O.state.doc, e)));
|
257 |
+
return {
|
258 |
+
options: a,
|
259 |
+
from: o ? r.from : O.pos,
|
260 |
+
validFor: b
|
261 |
+
};
|
262 |
+
}
|
263 |
+
const JO = /* @__PURE__ */ [
|
264 |
+
"__annotations__",
|
265 |
+
"__builtins__",
|
266 |
+
"__debug__",
|
267 |
+
"__doc__",
|
268 |
+
"__import__",
|
269 |
+
"__name__",
|
270 |
+
"__loader__",
|
271 |
+
"__package__",
|
272 |
+
"__spec__",
|
273 |
+
"False",
|
274 |
+
"None",
|
275 |
+
"True"
|
276 |
+
].map((O) => ({ label: O, type: "constant" })).concat(/* @__PURE__ */ [
|
277 |
+
"ArithmeticError",
|
278 |
+
"AssertionError",
|
279 |
+
"AttributeError",
|
280 |
+
"BaseException",
|
281 |
+
"BlockingIOError",
|
282 |
+
"BrokenPipeError",
|
283 |
+
"BufferError",
|
284 |
+
"BytesWarning",
|
285 |
+
"ChildProcessError",
|
286 |
+
"ConnectionAbortedError",
|
287 |
+
"ConnectionError",
|
288 |
+
"ConnectionRefusedError",
|
289 |
+
"ConnectionResetError",
|
290 |
+
"DeprecationWarning",
|
291 |
+
"EOFError",
|
292 |
+
"Ellipsis",
|
293 |
+
"EncodingWarning",
|
294 |
+
"EnvironmentError",
|
295 |
+
"Exception",
|
296 |
+
"FileExistsError",
|
297 |
+
"FileNotFoundError",
|
298 |
+
"FloatingPointError",
|
299 |
+
"FutureWarning",
|
300 |
+
"GeneratorExit",
|
301 |
+
"IOError",
|
302 |
+
"ImportError",
|
303 |
+
"ImportWarning",
|
304 |
+
"IndentationError",
|
305 |
+
"IndexError",
|
306 |
+
"InterruptedError",
|
307 |
+
"IsADirectoryError",
|
308 |
+
"KeyError",
|
309 |
+
"KeyboardInterrupt",
|
310 |
+
"LookupError",
|
311 |
+
"MemoryError",
|
312 |
+
"ModuleNotFoundError",
|
313 |
+
"NameError",
|
314 |
+
"NotADirectoryError",
|
315 |
+
"NotImplemented",
|
316 |
+
"NotImplementedError",
|
317 |
+
"OSError",
|
318 |
+
"OverflowError",
|
319 |
+
"PendingDeprecationWarning",
|
320 |
+
"PermissionError",
|
321 |
+
"ProcessLookupError",
|
322 |
+
"RecursionError",
|
323 |
+
"ReferenceError",
|
324 |
+
"ResourceWarning",
|
325 |
+
"RuntimeError",
|
326 |
+
"RuntimeWarning",
|
327 |
+
"StopAsyncIteration",
|
328 |
+
"StopIteration",
|
329 |
+
"SyntaxError",
|
330 |
+
"SyntaxWarning",
|
331 |
+
"SystemError",
|
332 |
+
"SystemExit",
|
333 |
+
"TabError",
|
334 |
+
"TimeoutError",
|
335 |
+
"TypeError",
|
336 |
+
"UnboundLocalError",
|
337 |
+
"UnicodeDecodeError",
|
338 |
+
"UnicodeEncodeError",
|
339 |
+
"UnicodeError",
|
340 |
+
"UnicodeTranslateError",
|
341 |
+
"UnicodeWarning",
|
342 |
+
"UserWarning",
|
343 |
+
"ValueError",
|
344 |
+
"Warning",
|
345 |
+
"ZeroDivisionError"
|
346 |
+
].map((O) => ({ label: O, type: "type" }))).concat(/* @__PURE__ */ [
|
347 |
+
"bool",
|
348 |
+
"bytearray",
|
349 |
+
"bytes",
|
350 |
+
"classmethod",
|
351 |
+
"complex",
|
352 |
+
"float",
|
353 |
+
"frozenset",
|
354 |
+
"int",
|
355 |
+
"list",
|
356 |
+
"map",
|
357 |
+
"memoryview",
|
358 |
+
"object",
|
359 |
+
"range",
|
360 |
+
"set",
|
361 |
+
"staticmethod",
|
362 |
+
"str",
|
363 |
+
"super",
|
364 |
+
"tuple",
|
365 |
+
"type"
|
366 |
+
].map((O) => ({ label: O, type: "class" }))).concat(/* @__PURE__ */ [
|
367 |
+
"abs",
|
368 |
+
"aiter",
|
369 |
+
"all",
|
370 |
+
"anext",
|
371 |
+
"any",
|
372 |
+
"ascii",
|
373 |
+
"bin",
|
374 |
+
"breakpoint",
|
375 |
+
"callable",
|
376 |
+
"chr",
|
377 |
+
"compile",
|
378 |
+
"delattr",
|
379 |
+
"dict",
|
380 |
+
"dir",
|
381 |
+
"divmod",
|
382 |
+
"enumerate",
|
383 |
+
"eval",
|
384 |
+
"exec",
|
385 |
+
"exit",
|
386 |
+
"filter",
|
387 |
+
"format",
|
388 |
+
"getattr",
|
389 |
+
"globals",
|
390 |
+
"hasattr",
|
391 |
+
"hash",
|
392 |
+
"help",
|
393 |
+
"hex",
|
394 |
+
"id",
|
395 |
+
"input",
|
396 |
+
"isinstance",
|
397 |
+
"issubclass",
|
398 |
+
"iter",
|
399 |
+
"len",
|
400 |
+
"license",
|
401 |
+
"locals",
|
402 |
+
"max",
|
403 |
+
"min",
|
404 |
+
"next",
|
405 |
+
"oct",
|
406 |
+
"open",
|
407 |
+
"ord",
|
408 |
+
"pow",
|
409 |
+
"print",
|
410 |
+
"property",
|
411 |
+
"quit",
|
412 |
+
"repr",
|
413 |
+
"reversed",
|
414 |
+
"round",
|
415 |
+
"setattr",
|
416 |
+
"slice",
|
417 |
+
"sorted",
|
418 |
+
"sum",
|
419 |
+
"vars",
|
420 |
+
"zip"
|
421 |
+
].map((O) => ({ label: O, type: "function" }))), BO = [
|
422 |
+
/* @__PURE__ */ S("def ${name}(${params}):\n ${}", {
|
423 |
+
label: "def",
|
424 |
+
detail: "function",
|
425 |
+
type: "keyword"
|
426 |
+
}),
|
427 |
+
/* @__PURE__ */ S("for ${name} in ${collection}:\n ${}", {
|
428 |
+
label: "for",
|
429 |
+
detail: "loop",
|
430 |
+
type: "keyword"
|
431 |
+
}),
|
432 |
+
/* @__PURE__ */ S("while ${}:\n ${}", {
|
433 |
+
label: "while",
|
434 |
+
detail: "loop",
|
435 |
+
type: "keyword"
|
436 |
+
}),
|
437 |
+
/* @__PURE__ */ S("try:\n ${}\nexcept ${error}:\n ${}", {
|
438 |
+
label: "try",
|
439 |
+
detail: "/ except block",
|
440 |
+
type: "keyword"
|
441 |
+
}),
|
442 |
+
/* @__PURE__ */ S(`if \${}:
|
443 |
+
|
444 |
+
`, {
|
445 |
+
label: "if",
|
446 |
+
detail: "block",
|
447 |
+
type: "keyword"
|
448 |
+
}),
|
449 |
+
/* @__PURE__ */ S("if ${}:\n ${}\nelse:\n ${}", {
|
450 |
+
label: "if",
|
451 |
+
detail: "/ else block",
|
452 |
+
type: "keyword"
|
453 |
+
}),
|
454 |
+
/* @__PURE__ */ S("class ${name}:\n def __init__(self, ${params}):\n ${}", {
|
455 |
+
label: "class",
|
456 |
+
detail: "definition",
|
457 |
+
type: "keyword"
|
458 |
+
}),
|
459 |
+
/* @__PURE__ */ S("import ${module}", {
|
460 |
+
label: "import",
|
461 |
+
detail: "statement",
|
462 |
+
type: "keyword"
|
463 |
+
}),
|
464 |
+
/* @__PURE__ */ S("from ${module} import ${names}", {
|
465 |
+
label: "from",
|
466 |
+
detail: "import",
|
467 |
+
type: "keyword"
|
468 |
+
})
|
469 |
+
], MO = /* @__PURE__ */ U(g, /* @__PURE__ */ C(/* @__PURE__ */ JO.concat(BO)));
|
470 |
+
function v(O, r) {
|
471 |
+
let o = O.baseIndentFor(r), a = O.lineAt(O.pos, -1), e = a.from + a.text.length;
|
472 |
+
return /^\s*($|#)/.test(a.text) && O.node.to < e + 100 && !/\S/.test(O.state.sliceDoc(e, O.node.to)) && O.lineIndent(O.pos, -1) <= o || /^\s*(else:|elif |except |finally:)/.test(O.textAfter) && O.lineIndent(O.pos, -1) > o ? null : o + O.unit;
|
473 |
+
}
|
474 |
+
const X = /* @__PURE__ */ z.define({
|
475 |
+
name: "python",
|
476 |
+
parser: /* @__PURE__ */ DO.configure({
|
477 |
+
props: [
|
478 |
+
/* @__PURE__ */ j.add({
|
479 |
+
Body: (O) => {
|
480 |
+
var r;
|
481 |
+
return (r = v(O, O.node)) !== null && r !== void 0 ? r : O.continue();
|
482 |
+
},
|
483 |
+
IfStatement: (O) => /^\s*(else:|elif )/.test(O.textAfter) ? O.baseIndent : O.continue(),
|
484 |
+
TryStatement: (O) => /^\s*(except |finally:|else:)/.test(O.textAfter) ? O.baseIndent : O.continue(),
|
485 |
+
"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression": /* @__PURE__ */ $({ closing: ")" }),
|
486 |
+
"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression": /* @__PURE__ */ $({ closing: "}" }),
|
487 |
+
"ArrayExpression ArrayComprehensionExpression": /* @__PURE__ */ $({ closing: "]" }),
|
488 |
+
"String FormatString": () => null,
|
489 |
+
Script: (O) => {
|
490 |
+
if (O.pos + /\s*/.exec(O.textAfter)[0].length >= O.node.to) {
|
491 |
+
let r = null;
|
492 |
+
for (let o = O.node, a = o.to; o = o.lastChild, !(!o || o.to != a); )
|
493 |
+
o.type.name == "Body" && (r = o);
|
494 |
+
if (r) {
|
495 |
+
let o = v(O, r);
|
496 |
+
if (o != null)
|
497 |
+
return o;
|
498 |
+
}
|
499 |
+
}
|
500 |
+
return O.continue();
|
501 |
+
}
|
502 |
+
}),
|
503 |
+
/* @__PURE__ */ A.add({
|
504 |
+
"ArrayExpression DictionaryExpression SetExpression TupleExpression": F,
|
505 |
+
Body: (O, r) => ({ from: O.from + 1, to: O.to - (O.to == r.doc.length ? 0 : 1) })
|
506 |
+
})
|
507 |
+
]
|
508 |
+
}),
|
509 |
+
languageData: {
|
510 |
+
closeBrackets: {
|
511 |
+
brackets: ["(", "[", "{", "'", '"', "'''", '"""'],
|
512 |
+
stringPrefixes: [
|
513 |
+
"f",
|
514 |
+
"fr",
|
515 |
+
"rf",
|
516 |
+
"r",
|
517 |
+
"u",
|
518 |
+
"b",
|
519 |
+
"br",
|
520 |
+
"rb",
|
521 |
+
"F",
|
522 |
+
"FR",
|
523 |
+
"RF",
|
524 |
+
"R",
|
525 |
+
"U",
|
526 |
+
"B",
|
527 |
+
"BR",
|
528 |
+
"RB"
|
529 |
+
]
|
530 |
+
},
|
531 |
+
commentTokens: { line: "#" },
|
532 |
+
indentOnInput: /^\s*([\}\]\)]|else:|elif |except |finally:)$/
|
533 |
+
}
|
534 |
+
});
|
535 |
+
function rr() {
|
536 |
+
return new I(X, [
|
537 |
+
X.data.of({ autocomplete: HO }),
|
538 |
+
X.data.of({ autocomplete: MO })
|
539 |
+
]);
|
540 |
+
}
|
541 |
+
export {
|
542 |
+
MO as globalCompletion,
|
543 |
+
HO as localCompletionSource,
|
544 |
+
rr as python,
|
545 |
+
X as pythonLanguage
|
546 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-9f51af45.js
ADDED
@@ -0,0 +1,547 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { C, E as d, L as I, a as x } from "./index-3f1cf095.js";
|
2 |
+
import { s as A, t as i, h as n, a as j, L as J, b as N, B as m, G as D, d as K, f as B, c as L, H as R, e as F, i as H, g as M, F as OO, E as aO, I as QO, w as iO, N as eO } from "./Index-805076c9.js";
|
3 |
+
const ZO = 309, h = 1, $O = 2, rO = 3, tO = 310, oO = 312, nO = 313, pO = 4, PO = 5, cO = 0, g = [
|
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 |
+
], G = 125, SO = 59, y = 47, lO = 42, sO = 43, XO = 45, YO = 60, dO = 44, fO = new C({
|
30 |
+
start: !1,
|
31 |
+
shift(O, a) {
|
32 |
+
return a == pO || a == PO || a == oO ? O : a == nO;
|
33 |
+
},
|
34 |
+
strict: !1
|
35 |
+
}), mO = new d((O, a) => {
|
36 |
+
let { next: Q } = O;
|
37 |
+
(Q == G || Q == -1 || a.context) && O.acceptToken(tO);
|
38 |
+
}, { contextual: !0, fallback: !0 }), wO = new d((O, a) => {
|
39 |
+
let { next: Q } = O, e;
|
40 |
+
g.indexOf(Q) > -1 || Q == y && ((e = O.peek(1)) == y || e == lO) || Q != G && Q != SO && Q != -1 && !a.context && O.acceptToken(ZO);
|
41 |
+
}, { contextual: !0 }), WO = new d((O, a) => {
|
42 |
+
let { next: Q } = O;
|
43 |
+
if ((Q == sO || Q == XO) && (O.advance(), Q == O.next)) {
|
44 |
+
O.advance();
|
45 |
+
let e = !a.context && a.canShift(h);
|
46 |
+
O.acceptToken(e ? h : $O);
|
47 |
+
}
|
48 |
+
}, { contextual: !0 });
|
49 |
+
function w(O, a) {
|
50 |
+
return O >= 65 && O <= 90 || O >= 97 && O <= 122 || O == 95 || O >= 192 || !a && O >= 48 && O <= 57;
|
51 |
+
}
|
52 |
+
const gO = new d((O, a) => {
|
53 |
+
if (O.next != YO || !a.dialectEnabled(cO) || (O.advance(), O.next == y))
|
54 |
+
return;
|
55 |
+
let Q = 0;
|
56 |
+
for (; g.indexOf(O.next) > -1; )
|
57 |
+
O.advance(), Q++;
|
58 |
+
if (w(O.next, !0)) {
|
59 |
+
for (O.advance(), Q++; w(O.next, !1); )
|
60 |
+
O.advance(), Q++;
|
61 |
+
for (; g.indexOf(O.next) > -1; )
|
62 |
+
O.advance(), Q++;
|
63 |
+
if (O.next == dO)
|
64 |
+
return;
|
65 |
+
for (let e = 0; ; e++) {
|
66 |
+
if (e == 7) {
|
67 |
+
if (!w(O.next, !0))
|
68 |
+
return;
|
69 |
+
break;
|
70 |
+
}
|
71 |
+
if (O.next != "extends".charCodeAt(e))
|
72 |
+
break;
|
73 |
+
O.advance(), Q++;
|
74 |
+
}
|
75 |
+
}
|
76 |
+
O.acceptToken(rO, -Q);
|
77 |
+
}), yO = A({
|
78 |
+
"get set async static": i.modifier,
|
79 |
+
"for while do if else switch try catch finally return throw break continue default case": i.controlKeyword,
|
80 |
+
"in of await yield void typeof delete instanceof": i.operatorKeyword,
|
81 |
+
"let var const using function class extends": i.definitionKeyword,
|
82 |
+
"import export from": i.moduleKeyword,
|
83 |
+
"with debugger as new": i.keyword,
|
84 |
+
TemplateString: i.special(i.string),
|
85 |
+
super: i.atom,
|
86 |
+
BooleanLiteral: i.bool,
|
87 |
+
this: i.self,
|
88 |
+
null: i.null,
|
89 |
+
Star: i.modifier,
|
90 |
+
VariableName: i.variableName,
|
91 |
+
"CallExpression/VariableName TaggedTemplateExpression/VariableName": i.function(i.variableName),
|
92 |
+
VariableDefinition: i.definition(i.variableName),
|
93 |
+
Label: i.labelName,
|
94 |
+
PropertyName: i.propertyName,
|
95 |
+
PrivatePropertyName: i.special(i.propertyName),
|
96 |
+
"CallExpression/MemberExpression/PropertyName": i.function(i.propertyName),
|
97 |
+
"FunctionDeclaration/VariableDefinition": i.function(i.definition(i.variableName)),
|
98 |
+
"ClassDeclaration/VariableDefinition": i.definition(i.className),
|
99 |
+
PropertyDefinition: i.definition(i.propertyName),
|
100 |
+
PrivatePropertyDefinition: i.definition(i.special(i.propertyName)),
|
101 |
+
UpdateOp: i.updateOperator,
|
102 |
+
"LineComment Hashbang": i.lineComment,
|
103 |
+
BlockComment: i.blockComment,
|
104 |
+
Number: i.number,
|
105 |
+
String: i.string,
|
106 |
+
Escape: i.escape,
|
107 |
+
ArithOp: i.arithmeticOperator,
|
108 |
+
LogicOp: i.logicOperator,
|
109 |
+
BitOp: i.bitwiseOperator,
|
110 |
+
CompareOp: i.compareOperator,
|
111 |
+
RegExp: i.regexp,
|
112 |
+
Equals: i.definitionOperator,
|
113 |
+
Arrow: i.function(i.punctuation),
|
114 |
+
": Spread": i.punctuation,
|
115 |
+
"( )": i.paren,
|
116 |
+
"[ ]": i.squareBracket,
|
117 |
+
"{ }": i.brace,
|
118 |
+
"InterpolationStart InterpolationEnd": i.special(i.brace),
|
119 |
+
".": i.derefOperator,
|
120 |
+
", ;": i.separator,
|
121 |
+
"@": i.meta,
|
122 |
+
TypeName: i.typeName,
|
123 |
+
TypeDefinition: i.definition(i.typeName),
|
124 |
+
"type enum interface implements namespace module declare": i.definitionKeyword,
|
125 |
+
"abstract global Privacy readonly override": i.modifier,
|
126 |
+
"is keyof unique infer": i.operatorKeyword,
|
127 |
+
JSXAttributeValue: i.attributeValue,
|
128 |
+
JSXText: i.content,
|
129 |
+
"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": i.angleBracket,
|
130 |
+
"JSXIdentifier JSXNameSpacedName": i.tagName,
|
131 |
+
"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": i.attributeName,
|
132 |
+
"JSXBuiltin/JSXIdentifier": i.standard(i.tagName)
|
133 |
+
}), jO = { __proto__: null, export: 18, as: 23, from: 31, default: 34, async: 39, function: 40, extends: 52, this: 56, true: 64, false: 64, null: 76, void: 80, typeof: 84, super: 102, new: 136, delete: 152, yield: 161, await: 165, class: 170, public: 227, private: 227, protected: 227, readonly: 229, instanceof: 248, satisfies: 251, in: 252, const: 254, import: 286, keyof: 339, unique: 343, infer: 349, is: 385, abstract: 405, implements: 407, type: 409, let: 412, var: 414, using: 417, interface: 423, enum: 427, namespace: 433, module: 435, declare: 439, global: 443, for: 462, of: 471, while: 474, with: 478, do: 482, if: 486, else: 488, switch: 492, case: 498, try: 504, catch: 508, finally: 512, return: 516, throw: 520, break: 524, continue: 528, debugger: 532 }, kO = { __proto__: null, async: 123, get: 125, set: 127, declare: 187, public: 189, private: 189, protected: 189, static: 191, abstract: 193, override: 195, readonly: 201, accessor: 203, new: 389 }, bO = { __proto__: null, "<": 143 }, xO = I.deserialize({
|
134 |
+
version: 14,
|
135 |
+
states: "$<UO%TQ^OOO%[Q^OOO'_Q`OOP(lOWOOO*zQ08SO'#ChO+RO!bO'#CiO+aO#tO'#CiO+oO?MpO'#D^O.QQ^O'#DdO.bQ^O'#DoO%[Q^O'#DyO0fQ^O'#EROOQ07b'#EZ'#EZO1PQWO'#EWOOQO'#El'#ElOOQO'#Ie'#IeO1XQWO'#GmO1dQWO'#EkO1iQWO'#EkO3kQ08SO'#JiO6[Q08SO'#JjO6xQWO'#FZO6}Q&jO'#FqOOQ07b'#Fc'#FcO7YO,YO'#FcO7hQ7[O'#FxO9UQWO'#FwOOQ07b'#Jj'#JjOOQ07`'#Ji'#JiO9ZQWO'#GqOOQU'#KU'#KUO9fQWO'#IRO9kQ07hO'#ISOOQU'#JW'#JWOOQU'#IW'#IWQ`Q^OOO`Q^OOO%[Q^O'#DqO9sQ^O'#D}O9zQ^O'#EPO9aQWO'#GmO:RQ7[O'#CnO:aQWO'#EjO:lQWO'#EuO:qQ7[O'#FbO;`QWO'#GmOOQO'#KV'#KVO;eQWO'#KVO;sQWO'#GuO;sQWO'#GvO;sQWO'#GxO9aQWO'#G{O<jQWO'#HOO>RQWO'#CdO>cQWO'#H[O>kQWO'#HbO>kQWO'#HdO`Q^O'#HfO>kQWO'#HhO>kQWO'#HkO>pQWO'#HqO>uQ07iO'#HwO%[Q^O'#HyO?QQ07iO'#H{O?]Q07iO'#H}O9kQ07hO'#IPO?hQ08SO'#ChO@jQ`O'#DiQOQWOOO%[Q^O'#EPOAQQWO'#ESO:RQ7[O'#EjOA]QWO'#EjOAhQpO'#FbOOQU'#Cf'#CfOOQ07`'#Dn'#DnOOQ07`'#Jm'#JmO%[Q^O'#JmOOQO'#Jq'#JqOOQO'#Ib'#IbOBhQ`O'#EcOOQ07`'#Eb'#EbOCdQ07pO'#EcOCnQ`O'#EVOOQO'#Jp'#JpODSQ`O'#JqOEaQ`O'#EVOCnQ`O'#EcPEnO!0LbO'#CaPOOO)CDu)CDuOOOO'#IX'#IXOEyO!bO,59TOOQ07b,59T,59TOOOO'#IY'#IYOFXO#tO,59TO%[Q^O'#D`OOOO'#I['#I[OFgO?MpO,59xOOQ07b,59x,59xOFuQ^O'#I]OGYQWO'#JkOI[QrO'#JkO+}Q^O'#JkOIcQWO,5:OOIyQWO'#ElOJWQWO'#JyOJcQWO'#JxOJcQWO'#JxOJkQWO,5;YOJpQWO'#JwOOQ07f,5:Z,5:ZOJwQ^O,5:ZOLxQ08SO,5:eOMiQWO,5:mONSQ07hO'#JvONZQWO'#JuO9ZQWO'#JuONoQWO'#JuONwQWO,5;XON|QWO'#JuO!#UQrO'#JjOOQ07b'#Ch'#ChO%[Q^O'#ERO!#tQpO,5:rOOQO'#Jr'#JrOOQO-E<c-E<cO9aQWO,5=XO!$[QWO,5=XO!$aQ^O,5;VO!&dQ7[O'#EgO!'}QWO,5;VO!)mQ7[O'#DsO!)tQ^O'#DxO!*OQ`O,5;`O!*WQ`O,5;`O%[Q^O,5;`OOQU'#FR'#FROOQU'#FT'#FTO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aOOQU'#FX'#FXO!*fQ^O,5;rOOQ07b,5;w,5;wOOQ07b,5;x,5;xO!,iQWO,5;xOOQ07b,5;y,5;yO%[Q^O'#IiO!,qQ07hO,5<eO!&dQ7[O,5;aO!-`Q7[O,5;aO%[Q^O,5;uO!-gQ&jO'#FgO!.dQ&jO'#J}O!.OQ&jO'#J}O!.kQ&jO'#J}OOQO'#J}'#J}O!/PQ&jO,5<POOOS,5<],5<]O!/bQ^O'#FsOOOS'#Ih'#IhO7YO,YO,5;}O!/iQ&jO'#FuOOQ07b,5;},5;}O!0YQMhO'#CuOOQ07b'#Cy'#CyO!0mQWO'#CyO!0rO?MpO'#C}O!1`Q7[O,5<bO!1gQWO,5<dO!3SQ!LQO'#GSO!3aQWO'#GTO!3fQWO'#GTO!3kQ!LQO'#GXO!4jQ`O'#G]OOQO'#Gh'#GhO!(SQ7[O'#GgOOQO'#Gj'#GjO!(SQ7[O'#GiO!5]QMhO'#JdOOQ07b'#Jd'#JdO!5gQWO'#JcO!5uQWO'#JbO!5}QWO'#CtOOQ07b'#Cw'#CwOOQ07b'#DR'#DROOQ07b'#DT'#DTO1SQWO'#DVO!(SQ7[O'#FzO!(SQ7[O'#F|O!6VQWO'#GOO!6[QWO'#GPO!3fQWO'#GVO!(SQ7[O'#G[O!6aQWO'#EmO!7OQWO,5<cOOQ07`'#Cq'#CqO!7WQWO'#EnO!8QQ`O'#EoOOQ07`'#Jw'#JwO!8XQ07hO'#KWO9kQ07hO,5=]O`Q^O,5>mOOQU'#J`'#J`OOQU,5>n,5>nOOQU-E<U-E<UO!:ZQ08SO,5:]O!<wQ08SO,5:iO%[Q^O,5:iO!?bQ08SO,5:kOOQO,5@q,5@qO!@RQ7[O,5=XO!@aQ07hO'#JaO9UQWO'#JaO!@rQ07hO,59YO!@}Q`O,59YO!AVQ7[O,59YO:RQ7[O,59YO!AbQWO,5;VO!AjQWO'#HZO!BOQWO'#KZO%[Q^O,5;zO!7{Q`O,5;|O!BWQWO,5=tO!B]QWO,5=tO!BbQWO,5=tO9kQ07hO,5=tO;sQWO,5=dOOQO'#Cu'#CuO!BpQ`O,5=aO!BxQ7[O,5=bO!CTQWO,5=dO!CYQpO,5=gO!CbQWO'#KVO>pQWO'#HQO9aQWO'#HSO!CgQWO'#HSO:RQ7[O'#HUO!ClQWO'#HUOOQU,5=j,5=jO!CqQWO'#HVO!DSQWO'#CnO!DXQWO,59OO!DcQWO,59OO!FhQ^O,59OOOQU,59O,59OO!FxQ07hO,59OO%[Q^O,59OO!ITQ^O'#H^OOQU'#H_'#H_OOQU'#H`'#H`O`Q^O,5=vO!IkQWO,5=vO`Q^O,5=|O`Q^O,5>OO!IpQWO,5>QO`Q^O,5>SO!IuQWO,5>VO!IzQ^O,5>]OOQU,5>c,5>cO%[Q^O,5>cO9kQ07hO,5>eOOQU,5>g,5>gO!NUQWO,5>gOOQU,5>i,5>iO!NUQWO,5>iOOQU,5>k,5>kO!NZQ`O'#D[O%[Q^O'#JmO!NxQ`O'#JmO# gQ`O'#DjO# xQ`O'#DjO#$ZQ^O'#DjO#$bQWO'#JlO#$jQWO,5:TO#$oQWO'#EpO#$}QWO'#JzO#%VQWO,5;ZO#%[Q`O'#DjO#%iQ`O'#EUOOQ07b,5:n,5:nO%[Q^O,5:nO#%pQWO,5:nO>pQWO,5;UO!@}Q`O,5;UO!AVQ7[O,5;UO:RQ7[O,5;UO#%xQWO,5@XO#%}Q$ISO,5:rOOQO-E<`-E<`O#'TQ07pO,5:}OCnQ`O,5:qO#'_Q`O,5:qOCnQ`O,5:}O!@rQ07hO,5:qOOQ07`'#Ef'#EfOOQO,5:},5:}O%[Q^O,5:}O#'lQ07hO,5:}O#'wQ07hO,5:}O!@}Q`O,5:qOOQO,5;T,5;TO#(VQ07hO,5:}POOO'#IV'#IVP#(kO!0LbO,58{POOO,58{,58{OOOO-E<V-E<VOOQ07b1G.o1G.oOOOO-E<W-E<WO#(vQpO,59zOOOO-E<Y-E<YOOQ07b1G/d1G/dO#({QrO,5>wO+}Q^O,5>wOOQO,5>},5>}O#)VQ^O'#I]OOQO-E<Z-E<ZO#)dQWO,5@VO#)lQrO,5@VO#)sQWO,5@dOOQ07b1G/j1G/jO%[Q^O,5@eO#){QWO'#IcOOQO-E<a-E<aO#)sQWO,5@dOOQ07`1G0t1G0tOOQ07f1G/u1G/uOOQ07f1G0X1G0XO%[Q^O,5@bO#*aQ07hO,5@bO#*rQ07hO,5@bO#*yQWO,5@aO9ZQWO,5@aO#+RQWO,5@aO#+aQWO'#IfO#*yQWO,5@aOOQ07`1G0s1G0sO!*OQ`O,5:tO!*ZQ`O,5:tOOQO,5:v,5:vO#,RQWO,5:vO#,ZQ7[O1G2sO9aQWO1G2sOOQ07b1G0q1G0qO#,iQ08SO1G0qO#-nQ08QO,5;ROOQ07b'#GR'#GRO#.[Q08SO'#JdO!$aQ^O1G0qO#0dQ7[O'#JnO#0nQWO,5:_O#0sQrO'#JoO%[Q^O'#JoO#0}QWO,5:dOOQ07b'#D['#D[OOQ07b1G0z1G0zO%[Q^O1G0zOOQ07b1G1d1G1dO#1SQWO1G0zO#3kQ08SO1G0{O#3rQ08SO1G0{O#6]Q08SO1G0{O#6dQ08SO1G0{O#8nQ08SO1G0{O#9UQ08SO1G0{O#<OQ08SO1G0{O#<VQ08SO1G0{O#>jQ08SO1G0{O#>wQ08SO1G0{O#@uQ08SO1G0{O#CuQ(CYO'#ChO#EsQ(CYO1G1^O#EzQ(CYO'#JjO!,lQWO1G1dO#F[Q08SO,5?TOOQ07`-E<g-E<gO#GOQ08SO1G0{OOQ07b1G0{1G0{O#IZQ08SO1G1aO#I}Q&jO,5<TO#JVQ&jO,5<UO#J_Q&jO'#FlO#JvQWO'#FkOOQO'#KO'#KOOOQO'#Ig'#IgO#J{Q&jO1G1kOOQ07b1G1k1G1kOOOS1G1v1G1vO#K^Q(CYO'#JiO#KhQWO,5<_O!*fQ^O,5<_OOOS-E<f-E<fOOQ07b1G1i1G1iO#KmQ`O'#J}OOQ07b,5<a,5<aO#KuQ`O,5<aOOQ07b,59e,59eO!&dQ7[O'#DPOOOO'#IZ'#IZO#KzO?MpO,59iOOQ07b,59i,59iO%[Q^O1G1|O!6[QWO'#IkO#LVQ7[O,5<uOOQ07b,5<r,5<rO!(SQ7[O'#InO#LuQ7[O,5=RO!(SQ7[O'#IpO#MhQ7[O,5=TO!&dQ7[O,5=VOOQO1G2O1G2OO#MrQpO'#CqO#NVQpO,5<nO#N^QWO'#KRO9aQWO'#KRO#NlQWO,5<pO!(SQ7[O,5<oO#NqQWO'#GUO#N|QWO,5<oO$ RQpO'#GRO$ `QpO'#KSO$ jQWO'#KSO!&dQ7[O'#KSO$ oQWO,5<sO$ tQ`O'#G^O!4eQ`O'#G^O$!VQWO'#G`O$![QWO'#GbO!3fQWO'#GeO$!aQ07hO'#ImO$!lQ`O,5<wOOQ07f,5<w,5<wO$!sQ`O'#G^O$#RQ`O'#G_O$#ZQ`O'#G_O$#`Q7[O,5=RO$#pQ7[O,5=TOOQ07b,5=W,5=WO!(SQ7[O,5?}O!(SQ7[O,5?}O$$QQWO'#IrO$$]QWO,5?|O$$eQWO,59`O$%UQ7[O,59qOOQ07b,59q,59qO$%wQ7[O,5<fO$&jQ7[O,5<hO@bQWO,5<jOOQ07b,5<k,5<kO$&tQWO,5<qO$&yQ7[O,5<vO$'ZQWO'#JuO!$aQ^O1G1}O$'`QWO1G1}O9ZQWO'#JxO9ZQWO'#EpO%[Q^O'#EpO9ZQWO'#ItO$'eQ07hO,5@rOOQU1G2w1G2wOOQU1G4X1G4XOOQ07b1G/w1G/wO!,iQWO1G/wO$)jQ08SO1G0TOOQU1G2s1G2sO!&dQ7[O1G2sO%[Q^O1G2sO#,^QWO1G2sO$+nQ7[O'#EgOOQ07`,5?{,5?{O$+xQ07hO,5?{[email protected]!@}Q`O1G.tO!AVQ7[O1G.tO$,ZQWO1G0qO$,`QWO'#ChO$,kQWO'#K[O$,sQWO,5=uO$,xQWO'#K[O$,}QWO'#K[O$-]QWO'#IzO$-kQWO,5@uO$-sQrO1G1fOOQ07b1G1h1G1hO9aQWO1G3`O@bQWO1G3`O$-zQWO1G3`O$.PQWO1G3`OOQU1G3`1G3`O!CTQWO1G3OO!&dQ7[O1G2{O$.UQWO1G2{OOQU1G2|1G2|O!&dQ7[O1G2|O$.ZQWO1G2|O$.cQ`O'#GzOOQU1G3O1G3OO!4eQ`O'#IvO!CYQpO1G3ROOQU1G3R1G3ROOQU,5=l,5=lO$.kQ7[O,5=nO9aQWO,5=nO$![QWO,5=pO9UQWO,5=pO!@}Q`O,5=pO!AVQ7[O,5=pO:RQ7[O,5=pO$.yQWO'#KYO$/UQWO,5=qOOQU1G.j1G.jO$/[email protected]$/fQWO1G.jO9kQ07hO1G.jO$1kQrO,5@wO$1{QWO,5@wO9ZQWO,5@wO$2WQ^O,5=xO$2_QWO,5=xOOQU1G3b1G3bO`Q^O1G3bOOQU1G3h1G3hOOQU1G3j1G3jO>kQWO1G3lO$2dQ^O1G3nO$6hQ^O'#HmOOQU1G3q1G3qO$6uQWO'#HsO>pQWO'#HuOOQU1G3w1G3wO$6}Q^O1G3wO9kQ07hO1G3}OOQU1G4P1G4POOQ07`'#GY'#GYO9kQ07hO1G4RO9kQ07hO1G4TO$;UQWO,5@XO!*fQ^O,5;[O9ZQWO,5;[O>pQWO,5:UO!*fQ^O,5:UO!@}Q`O,5:UO$;ZQ(CYO,5:UOOQO,5;[,5;[O$;eQ`O'#I^O$;{QWO,5@WOOQ07b1G/o1G/oO$<TQ`O'#IdO$<_QWO,5@fOOQ07`1G0u1G0uO# xQ`O,5:UOOQO'#Ia'#IaO$<gQ`O,5:pOOQ07f,5:p,5:pO#%sQWO1G0YOOQ07b1G0Y1G0YO%[Q^O1G0YOOQ07b1G0p1G0pO>pQWO1G0pO!@}Q`O1G0pO!AVQ7[O1G0pOOQ07`1G5s1G5sO!@rQ07hO1G0]OOQO1G0i1G0iO%[Q^O1G0iO$<nQ07hO1G0iO$<yQ07hO1G0iO!@}Q`O1G0]OCnQ`O1G0]O$=XQ07hO1G0iOOQO1G0]1G0]O$=mQ08SO1G0iPOOO-E<T-E<TPOOO1G.g1G.gOOOO1G/f1G/fO$=wQpO,5<eO$>PQrO1G4cOOQO1G4i1G4iO%[Q^O,5>wO$>ZQWO1G5qO$>cQWO1G6OO$>kQrO1G6PO9ZQWO,5>}O$>uQ08SO1G5|O%[Q^O1G5|O$?VQ07hO1G5|O$?hQWO1G5{O$?hQWO1G5{O9ZQWO1G5{O$?pQWO,5?QO9ZQWO,5?QOOQO,5?Q,5?QO$@UQWO,5?QO$'ZQWO,5?QOOQO-E<d-E<dOOQO1G0`1G0`OOQO1G0b1G0bO!,lQWO1G0bOOQU7+(_7+(_O!&dQ7[O7+(_O%[Q^O7+(_O$@dQWO7+(_O$@oQ7[O7+(_O$@}Q08SO,5=RO$CYQ08SO,5=TO$EeQ08SO,5=RO$GvQ08SO,5=TO$JXQ08SO,59qO$LaQ08SO,5<fO$NlQ08SO,5<hO%!wQ08SO,5<vOOQ07b7+&]7+&]O%%YQ08SO7+&]O%%|Q7[O'#I_O%&WQWO,5@YOOQ07b1G/y1G/yO%&`Q^O'#I`O%&mQWO,5@ZO%&uQrO,5@ZOOQ07b1G0O1G0OO%'PQWO7+&fOOQ07b7+&f7+&fO%'UQ(CYO,5:eO%[Q^O7+&xO%'`Q(CYO,5:]O%'mQ(CYO,5:iO%'wQ(CYO,5:kOOQ07b7+'O7+'OOOQO1G1o1G1oOOQO1G1p1G1pO%(RQtO,5<WO!*fQ^O,5<VOOQO-E<e-E<eOOQ07b7+'V7+'VOOOS7+'b7+'bOOOS1G1y1G1yO%(^QWO1G1yOOQ07b1G1{1G1{O%(cQpO,59kOOOO-E<X-E<XOOQ07b1G/T1G/TO%(jQ08SO7+'hOOQ07b,5?V,5?VO%)^QpO,5?VOOQ07b1G2a1G2aP!&dQ7[O'#IkPOQ07b-E<i-E<iO%)|Q7[O,5?YOOQ07b-E<l-E<lO%*oQ7[O,5?[OOQ07b-E<n-E<nO%*yQpO1G2qOOQ07b1G2Y1G2YO%+QQWO'#IjO%+`QWO,5@mO%+`QWO,5@mO%+hQWO,5@mO%+sQWO,5@mOOQO1G2[1G2[O%,RQ7[O1G2ZO!(SQ7[O1G2ZO%,cQ!LQO'#IlO%,sQWO,5@nO!&dQ7[O,5@nO%,{QpO,5@nOOQ07b1G2_1G2_OOQ07`,5<x,5<xOOQ07`,5<y,5<yO$'ZQWO,5<yOC_QWO,5<yO!@}Q`O,5<xOOQO'#Ga'#GaO%-VQWO,5<zOOQ07`,5<|,5<|O$'ZQWO,5=POOQO,5?X,5?XOOQO-E<k-E<kOOQ07f1G2c1G2cO!4eQ`O,5<xO%-_QWO,5<yO$!VQWO,5<zO!4eQ`O,5<yO!(SQ7[O'#InO%.RQ7[O1G2mO!(SQ7[O'#IpO%.tQ7[O1G2oO%/OQ7[O1G5iO%/YQ7[O1G5iOOQO,5?^,5?^OOQO-E<p-E<pOOQO1G.z1G.zO!7{Q`O,59sO%[Q^O,59sO%/gQWO1G2UO!(SQ7[O1G2]O%/lQ08SO7+'iOOQ07b7+'i7+'iO!$aQ^O7+'iO%0`QWO,5;[OOQ07`,5?`,5?`OOQ07`-E<r-E<rOOQ07b7+%c7+%cO%0eQpO'#KTO#%sQWO7+(_O%0oQrO7+(_O$@gQWO7+(_O%0vQ08QO'#ChO%1ZQ08QO,5<}O%1{QWO,5<}OOQ07`1G5g1G5gOOQU7+$`7+$`O!@rQ07hO7+$`O!@}Q`O7+$`O!$aQ^O7+&]O%2QQWO'#IyO%2iQWO,5@vOOQO1G3a1G3aO9aQWO,5@vO%2iQWO,5@vO%2qQWO,5@vOOQO,5?f,5?fOOQO-E<x-E<xOOQ07b7+'Q7+'QO%2vQWO7+(zO9kQ07hO7+(zO9aQWO7+(zO@bQWO7+(zOOQU7+(j7+(jO%2{Q08QO7+(gO!&dQ7[O7+(gO%3VQpO7+(hOOQU7+(h7+(hO!&dQ7[O7+(hO%3^QWO'#KXO%3iQWO,5=fOOQO,5?b,5?bOOQO-E<t-E<tOOQU7+(m7+(mO%4xQ`O'#HTOOQU1G3Y1G3YO!&dQ7[O1G3YO%[Q^O1G3YO%5PQWO1G3YO%5[Q7[O1G3YO9kQ07hO1G3[O$![QWO1G3[O9UQWO1G3[O!@}Q`O1G3[O!AVQ7[O1G3[O%5jQWO'#IxO%6OQWO,5@tO%6WQ`O,5@tOOQ07`1G3]1G3]OOQU7+$U7+$UO@bQWO7+$UO9kQ07hO7+$UO%6cQWO7+$UO%[Q^O1G6cO%[Q^O1G6dO%6hQ07hO1G6cO%6rQ^O1G3dO%6yQWO1G3dO%7OQ^O1G3dOOQU7+(|7+(|O9kQ07hO7+)WO`Q^O7+)YOOQU'#K_'#K_OOQU'#I{'#I{O%7VQ^O,5>XOOQU,5>X,5>XO%[Q^O'#HnO%7dQWO'#HpOOQU,5>_,5>_O9ZQWO,5>_OOQU,5>a,5>aOOQU7+)c7+)cOOQU7+)i7+)iOOQU7+)m7+)mOOQU7+)o7+)oO%7iQ`O1G5sO%7}Q(CYO1G0vO%8XQWO1G0vOOQO1G/p1G/pO%8dQ(CYO1G/pO>pQWO1G/pO!*fQ^O'#DjOOQO,5>x,5>xOOQO-E<[-E<[OOQO,5?O,5?OOOQO-E<b-E<bO!@}Q`O1G/pOOQO-E<_-E<_OOQ07f1G0[1G0[OOQ07b7+%t7+%tO#%sQWO7+%tOOQ07b7+&[7+&[O>pQWO7+&[O!@}Q`O7+&[OOQO7+%w7+%wO$=mQ08SO7+&TOOQO7+&T7+&TO%[Q^O7+&TO%8nQ07hO7+&TO!@rQ07hO7+%wO!@}Q`O7+%wO%8yQ07hO7+&TO%9XQ08SO7++hO%[Q^O7++hO%9iQWO7++gO%9iQWO7++gOOQO1G4l1G4lO9ZQWO1G4lO%9qQWO1G4lOOQO7+%|7+%|O#%sQWO<<KyO%0oQrO<<KyO%:PQWO<<KyOOQU<<Ky<<KyO!&dQ7[O<<KyO%[Q^O<<KyO%:XQWO<<KyO%:dQ08SO,5?YO%<oQ08SO,5?[O%>zQ08SO1G2ZO%A]Q08SO1G2mO%ChQ08SO1G2oO%EsQ7[O,5>yOOQO-E<]-E<]O%E}QrO,5>zO%[Q^O,5>zOOQO-E<^-E<^O%FXQWO1G5uOOQ07b<<JQ<<JQO%FaQ(CYO1G0qO%HkQ(CYO1G0{O%HrQ(CYO1G0{O%JvQ(CYO1G0{O%J}Q(CYO1G0{O%LrQ(CYO1G0{O%MYQ(CYO1G0{O& mQ(CYO1G0{O& tQ(CYO1G0{O&#rQ(CYO1G0{O&$PQ(CYO1G0{O&%}Q(CYO1G0{O&&bQ08SO<<JdO&'gQ(CYO1G0{O&)]Q(CYO'#JdO&+`Q(CYO1G1aO&+mQ(CYO1G0TO!*fQ^O'#FnOOQO'#KP'#KPOOQO1G1r1G1rO&+wQWO1G1qO&+|Q(CYO,5?TOOOS7+'e7+'eOOOO1G/V1G/VOOQ07b1G4q1G4qO!(SQ7[O7+(]O&,WQWO,5?UO9aQWO,5?UOOQO-E<h-E<hO&,fQWO1G6XO&,fQWO1G6XO&,nQWO1G6XO&,yQ7[O7+'uO&-ZQpO,5?WO&-eQWO,5?WO!&dQ7[O,5?WOOQO-E<j-E<jO&-jQpO1G6YO&-tQWO1G6YOOQ07`1G2e1G2eO$'ZQWO1G2eOOQ07`1G2d1G2dO&-|QWO1G2fO!&dQ7[O1G2fOOQ07`1G2k1G2kO!@}Q`O1G2dOC_QWO1G2eO&.RQWO1G2fO&.ZQWO1G2eO&.}Q7[O,5?YOOQ07b-E<m-E<mO&/pQ7[O,5?[OOQ07b-E<o-E<oO!(SQ7[O7++TOOQ07b1G/_1G/_O&/zQWO1G/_OOQ07b7+'p7+'pO&0PQ7[O7+'wO&0aQ08SO<<KTOOQ07b<<KT<<KTO&1TQWO1G0vO!&dQ7[O'#IsO&1YQWO,5@oO!&dQ7[O1G2iOOQU<<Gz<<GzO!@rQ07hO<<GzO&1bQ08SO<<IwOOQ07b<<Iw<<IwOOQO,5?e,5?eO&2UQWO,5?eO&2ZQWO,5?eOOQO-E<w-E<wO&2iQWO1G6bO&2iQWO1G6bO9aQWO1G6bO@bQWO<<LfOOQU<<Lf<<LfO&2qQWO<<LfO9kQ07hO<<LfOOQU<<LR<<LRO%2{Q08QO<<LROOQU<<LS<<LSO%3VQpO<<LSO&2vQ`O'#IuO&3RQWO,5@sO!*fQ^O,5@sOOQU1G3Q1G3QO&3ZQ^O'#JmOOQO'#Iw'#IwO9kQ07hO'#IwO&3eQ`O,5=oOOQU,5=o,5=oO&3lQ`O'#EcO&4QQWO7+(tO&4VQWO7+(tOOQU7+(t7+(tO!&dQ7[O7+(tO%[Q^O7+(tO&4_QWO7+(tOOQU7+(v7+(vO9kQ07hO7+(vO$![QWO7+(vO9UQWO7+(vO!@}Q`O7+(vO&4jQWO,5?dOOQO-E<v-E<vOOQO'#HW'#HWO&4uQWO1G6`O9kQ07hO<<GpOOQU<<Gp<<GpO@bQWO<<GpO&4}QWO7++}O&5SQWO7+,OO%[Q^O7++}O%[Q^O7+,OOOQU7+)O7+)OO&5XQWO7+)OO&5^Q^O7+)OO&5eQWO7+)OOOQU<<Lr<<LrOOQU<<Lt<<LtOOQU-E<y-E<yOOQU1G3s1G3sO&5jQWO,5>YOOQU,5>[,5>[O&5oQWO1G3yO9ZQWO7+&bO!*fQ^O7+&bOOQO7+%[7+%[O&5tQ(CYO1G6PO>pQWO7+%[OOQ07b<<I`<<I`OOQ07b<<Iv<<IvO>pQWO<<IvOOQO<<Io<<IoO$=mQ08SO<<IoO%[Q^O<<IoOOQO<<Ic<<IcO!@rQ07hO<<IcO&6OQ07hO<<IoO&6ZQ08SO<= SO&6kQWO<= ROOQO7+*W7+*WO9ZQWO7+*WOOQUANAeANAeO&6sQWOANAeO!&dQ7[OANAeO#%sQWOANAeO%0oQrOANAeO%[Q^OANAeO&6{Q08SO7+'uO&9^Q08SO,5?YO&;iQ08SO,5?[O&=tQ08SO7+'wO&@VQrO1G4fO&@aQ(CYO7+&]O&BeQ(CYO,5=RO&DlQ(CYO,5=TO&D|Q(CYO,5=RO&E^Q(CYO,5=TO&EnQ(CYO,59qO&GqQ(CYO,5<fO&ItQ(CYO,5<hO&KwQ(CYO,5<vO&MmQ(CYO7+'hO&MzQ(CYO7+'iO&NXQWO,5<YOOQO7+']7+']O&N^Q7[O<<KwOOQO1G4p1G4pO&NeQWO1G4pO&NpQWO1G4pO' OQWO7++sO' OQWO7++sO!&dQ7[O1G4rO' WQpO1G4rO' bQWO7++tOOQ07`7+(P7+(PO$'ZQWO7+(QO' jQpO7+(QOOQ07`7+(O7+(OO$'ZQWO7+(PO' qQWO7+(QO!&dQ7[O7+(QOC_QWO7+(PO' vQ7[O<<NoOOQ07b7+$y7+$yO'!QQpO,5?_OOQO-E<q-E<qO'![Q08QO7+(TOOQUAN=fAN=fO9aQWO1G5POOQO1G5P1G5PO'!lQWO1G5PO'!qQWO7++|O'!qQWO7++|O9kQ07hOANBQO@bQWOANBQOOQUANBQANBQOOQUANAmANAmOOQUANAnANAnO'!yQWO,5?aOOQO-E<s-E<sO'#UQ(CYO1G6_O'%fQrO'#ChOOQO,5?c,5?cOOQO-E<u-E<uOOQU1G3Z1G3ZO&3ZQ^O,5<zOOQU<<L`<<L`O!&dQ7[O<<L`O&4QQWO<<L`O'%pQWO<<L`O%[Q^O<<L`OOQU<<Lb<<LbO9kQ07hO<<LbO$![QWO<<LbO9UQWO<<LbO'%xQ`O1G5OO'&TQWO7++zOOQUAN=[AN=[O9kQ07hOAN=[OOQU<= i<= iOOQU<= j<= jO'&]QWO<= iO'&bQWO<= jOOQU<<Lj<<LjO'&gQWO<<LjO'&lQ^O<<LjOOQU1G3t1G3tO>pQWO7+)eO'&sQWO<<I|O''OQ(CYO<<I|OOQO<<Hv<<HvOOQ07bAN?bAN?bOOQOAN?ZAN?ZO$=mQ08SOAN?ZOOQOAN>}AN>}O%[Q^OAN?ZOOQO<<Mr<<MrOOQUG27PG27PO!&dQ7[OG27PO#%sQWOG27PO''YQWOG27PO%0oQrOG27PO''bQ(CYO<<JdO''oQ(CYO1G2ZO')eQ(CYO,5?YO'+hQ(CYO,5?[O'-kQ(CYO1G2mO'/nQ(CYO1G2oO'1qQ(CYO<<KTO'2OQ(CYO<<IwOOQO1G1t1G1tO!(SQ7[OANAcOOQO7+*[7+*[O'2]QWO7+*[O'2hQWO<= _O'2pQpO7+*^OOQ07`<<Kl<<KlO$'ZQWO<<KlOOQ07`<<Kk<<KkO'2zQpO<<KlO$'ZQWO<<KkOOQO7+*k7+*kO9aQWO7+*kO'3RQWO<= hOOQUG27lG27lO9kQ07hOG27lO!*fQ^O1G4{O'3ZQWO7++yO&4QQWOANAzOOQUANAzANAzO!&dQ7[OANAzO'3cQWOANAzOOQUANA|ANA|O9kQ07hOANA|O$![QWOANA|OOQO'#HX'#HXOOQO7+*j7+*jOOQUG22vG22vOOQUANETANETOOQUANEUANEUOOQUANBUANBUO'3kQWOANBUOOQU<<MP<<MPO!*fQ^OAN?hOOQOG24uG24uO$=mQ08SOG24uO#%sQWOLD,kOOQULD,kLD,kO!&dQ7[OLD,kO'3pQWOLD,kO'3xQ(CYO7+'uO'5nQ(CYO,5?YO'7qQ(CYO,5?[O'9tQ(CYO7+'wO';jQ7[OG26}OOQO<<Mv<<MvOOQ07`ANAWANAWO$'ZQWOANAWOOQ07`ANAVANAVOOQO<<NV<<NVOOQULD-WLD-WO';zQ(CYO7+*gOOQUG27fG27fO&4QQWOG27fO!&dQ7[OG27fOOQUG27hG27hO9kQ07hOG27hOOQUG27pG27pO'<UQ(CYOG25SOOQOLD*aLD*aOOQU!$(!V!$(!VO#%sQWO!$(!VO!&dQ7[O!$(!VO'<`Q08SOG26}OOQ07`G26rG26rOOQULD-QLD-QO&4QQWOLD-QOOQULD-SLD-SOOQU!)9Eq!)9EqO#%sQWO!)9EqOOQU!$(!l!$(!lOOQU!.K;]!.K;]O'>qQ(CYOG26}O!*fQ^O'#DyO1PQWO'#EWO'@gQrO'#JiO!*fQ^O'#DqO'@nQ^O'#D}O'@uQrO'#ChO'C]QrO'#ChO!*fQ^O'#EPO'CmQ^O,5;VO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O'#IiO'EpQWO,5<eO'ExQ7[O,5;aO'GcQ7[O,5;aO!*fQ^O,5;uO!&dQ7[O'#GgO'ExQ7[O'#GgO!&dQ7[O'#GiO'ExQ7[O'#GiO1SQWO'#DVO1SQWO'#DVO!&dQ7[O'#FzO'ExQ7[O'#FzO!&dQ7[O'#F|O'ExQ7[O'#F|O!&dQ7[O'#G[O'ExQ7[O'#G[O!*fQ^O,5:iO!*fQ^O,5@eO'CmQ^O1G0qO'GjQ(CYO'#ChO!*fQ^O1G1|O!&dQ7[O'#InO'ExQ7[O'#InO!&dQ7[O'#IpO'ExQ7[O'#IpO!&dQ7[O,5<oO'ExQ7[O,5<oO'CmQ^O1G1}O!*fQ^O7+&xO!&dQ7[O1G2ZO'ExQ7[O1G2ZO!&dQ7[O'#InO'ExQ7[O'#InO!&dQ7[O'#IpO'ExQ7[O'#IpO!&dQ7[O1G2]O'ExQ7[O1G2]O'CmQ^O7+'iO'CmQ^O7+&]O!&dQ7[OANAcO'ExQ7[OANAcO'GtQWO'#EkO'GyQWO'#EkO'HRQWO'#FZO'HWQWO'#EuO'H]QWO'#JyO'HhQWO'#JwO'HsQWO,5;VO'HxQ7[O,5<bO'IPQWO'#GTO'IUQWO'#GTO'IZQWO,5<cO'IcQWO,5;VO'IkQ(CYO1G1^O'IrQWO,5<oO'IwQWO,5<oO'I|QWO,5<qO'JRQWO,5<qO'JWQWO1G1}O'J]QWO1G0qO'JbQ7[O<<KwO'JiQ7[O<<KwO7hQ7[O'#FxO9UQWO'#FwOA]QWO'#EjO!*fQ^O,5;rO!3fQWO'#GTO!3fQWO'#GTO!3fQWO'#GVO!3fQWO'#GVO!(SQ7[O7+(]O!(SQ7[O7+(]O%*yQpO1G2qO%*yQpO1G2qO!&dQ7[O,5=VO!&dQ7[O,5=V",
|
136 |
+
stateData: "'Km~O'tOS'uOSSOS'vRQ~OPYOQYORfOX!VO`qOczOdyOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![XO!fuO!kZO!nYO!oYO!pYO!rvO!twO!wxO!{]O#s!PO$T|O%b}O%d!QO%f!OO%g!OO%h!OO%k!RO%m!SO%p!TO%q!TO%s!UO&P!WO&V!XO&X!YO&Z!ZO&]![O&`!]O&f!^O&l!_O&n!`O&p!aO&r!bO&t!cO'{SO'}TO(QUO(XVO(g[O(tiO~OVtO~P`OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'{!dO'}TO(QUO(XVO(g[O(tiO~O`!vOo!nO!P!oO!_!xO!`!uO!a!uO!{:dO#P!pO#Q!pO#R!wO#S!pO#T!pO#W!yO#X!yO'|!lO'}TO(QUO([!mO(g!sO~O'v!zO~OP[XZ[X`[Xn[X|[X}[X!P[X!Y[X!h[X!i[X!k[X!o[X#[[X#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X'r[X(X[X(h[X(o[X(p[X~O!d$|X~P(qO^!|O'}#OO(O!|O(P#OO~O^#PO(P#OO(Q#OO(R#PO~Ot#RO!R#SO(Y#SO(Z#UO~OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'{:hO'}TO(QUO(XVO(g[O(tiO~O!X#YO!Y#VO!V(_P!V(lP~P+}O!Z#bO~P`OPYOQYORfOc!jOd!iOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'}TO(QUO(XVO(g[O(tiO~Ol#lO!X#hO!{]O#e#kO#f#hO'{:iO!j(iP~P.iO!k#nO'{#mO~O!w#rO!{]O%b#sO~O#g#tO~O!d#uO#g#tO~OP$]OZ$dOn$QO|#yO}#zO!P#{O!Y$aO!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO#y$YO(XVO(h$ZO(o#|O(p#}O~O`(]X'r(]X'p(]X!j(]X!V(]X![(]X%c(]X!d(]X~P1qO#[$eO$O$eOP(^XZ(^Xn(^X|(^X}(^X!P(^X!Y(^X!h(^X!k(^X!o(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#t(^X#v(^X#x(^X#y(^X(X(^X(h(^X(o(^X(p(^X![(^X%c(^X~O`(^X!i(^X'r(^X'p(^X!V(^X!j(^Xr(^X!d(^X~P4XO#[$eO~O$Y$gO$[$fO$c$lO~ORfO![$mO$f$nO$h$pO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz%ZO!P${O![$|O!f%`O!k$xO#f%aO$T%^O$o%[O$q%]O$t%_O'{$rO'}TO(QUO(X$uO(o$}O(p%POf(UP~O!k%bO~O!P%eO![%fO'{%dO~O!d%jO~O`%kO'r%kO~O'|!lO~P%[O%h%rO~P%[Og%VO!k%bO'{%dO'|!lO~Od%yO!k%bO'{%dO~O#r$SO~O|&OO![%{O!k%}O%d&RO'{%dO'|!lO'}TO(QUO_(}P~O!w#rO~O%m&TO!P(yX![(yX'{(yX~O'{&UO~O!t&ZO#s!PO%d!QO%f!OO%g!OO%h!OO%k!RO%m!SO%p!TO%q!TO~Oc&`Od&_O!w&]O%b&^O%u&[O~P;xOc&cOdyO![&bO!t&ZO!wxO!{]O#s!PO%b}O%f!OO%g!OO%h!OO%k!RO%m!SO%p!TO%q!TO%s!UO~Oa&fO#[&iO%d&dO'|!lO~P<}O!k&jO!t&nO~O!k#nO~O![XO~O`%kO'q&vO'r%kO~O`%kO'q&yO'r%kO~O`%kO'q&{O'r%kO~O'p[X!V[Xr[X!j[X&T[X![[X%c[X!d[X~P(qO!_'YO!`'RO!a'RO'|!lO'}TO(QUO~Oo'PO!P'OO!X'SO([&}O!Z(`P!Z(nP~P@UOj']O!['ZO'{%dO~Od'bO!k%bO'{%dO~O|&OO!k%}O~Oo!nO!P!oO!{:dO#P!pO#Q!pO#S!pO#T!pO'|!lO'}TO(QUO([!mO(g!sO~O!_'hO!`'gO!a'gO#R!pO#W'iO#X'iO~PApO`%kOg%VO!d#uO!k%bO'r%kO(h'kO~O!o'oO#['mO~PCOOo!nO!P!oO'}TO(QUO([!mO(g!sO~O![XOo(eX!P(eX!_(eX!`(eX!a(eX!{(eX#P(eX#Q(eX#R(eX#S(eX#T(eX#W(eX#X(eX'|(eX'}(eX(Q(eX([(eX(g(eX~O!`'gO!a'gO'|!lO~PCnO'w'sO'x'sO'y'uO~O^!|O'}'wO(O!|O(P'wO~O^#PO(P'wO(Q'wO(R#PO~Ot#RO!R#SO(Y#SO(Z'{O~O!X'}O!V'PX!V'VX!Y'PX!Y'VX~P+}O!Y(PO!V(_X~OP$]OZ$dOn$QO|#yO}#zO!P#{O!Y(PO!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO#y$YO(XVO(h$ZO(o#|O(p#}O~O!V(_X~PGbO!V(UO~O!V(kX!Y(kX!d(kX!j(kX(h(kX~O#[(kX#g#`X!Z(kX~PIhO#[(VO!V(mX!Y(mX~O!Y(WO!V(lX~O!V(ZO~O#[$eO~PIhO!Z([O~P`O|#yO}#zO!P#{O!i#wO!k#xO(XVOP!maZ!man!ma!Y!ma!h!ma!o!ma#j!ma#k!ma#l!ma#m!ma#n!ma#o!ma#p!ma#q!ma#r!ma#t!ma#v!ma#x!ma#y!ma(h!ma(o!ma(p!ma~O`!ma'r!ma'p!ma!V!ma!j!mar!ma![!ma%c!ma!d!ma~PKOO!j(]O~O!d#uO#[(^O(h'kO!Y(jX`(jX'r(jX~O!j(jX~PMnO!P%eO![%fO!{]O#e(cO#f(bO'{%dO~O!Y(dO!j(iX~O!j(fO~O!P%eO![%fO#f(bO'{%dO~OP(^XZ(^Xn(^X|(^X}(^X!P(^X!Y(^X!h(^X!i(^X!k(^X!o(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#t(^X#v(^X#x(^X#y(^X(X(^X(h(^X(o(^X(p(^X~O!d#uO!j(^X~P! [O|(gO}(hO!i#wO!k#xO!{!za!P!za~O!w!za%b!za![!za#e!za#f!za'{!za~P!#`O!w(lO~OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![XO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'{!dO'}TO(QUO(XVO(g[O(tiO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz;QO!P${O![$|O!f<`O!k$xO#f;WO$T%^O$o;SO$q;UO$t%_O'{(pO'}TO(QUO(X$uO(o$}O(p%PO~O#g(rO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz%ZO!P${O![$|O!f%`O!k$xO#f%aO$T%^O$o%[O$q%]O$t%_O'{(pO'}TO(QUO(X$uO(o$}O(p%PO~Of(bP~P!(SO!X(vO!j(cP~P%[O([(xO(g[O~O!P(zO!k#xO([(xO(g[O~OP:cOQ:cORfOc<[Od!iOlkOn:cOokOpkOvkOx:cOz:cO!PWO!TkO!UkO![!eO!f:fO!kZO!n:cO!o:cO!p:cO!r:gO!t:jO!w!hO$T!kO'{)YO'}TO(QUO(XVO(g[O(t<YO~O})]O!k#xO~O!Y$aO`$ma'r$ma'p$ma!j$ma!V$ma![$ma%c$ma!d$ma~O#s)aO~P!&dO|)dO!d)cO![$ZX$W$ZX$Y$ZX$[$ZX$c$ZX~O!d)cO![(qX$W(qX$Y(qX$[(qX$c(qX~O|)dO~P!.OO|)dO![(qX$W(qX$Y(qX$[(qX$c(qX~O![)fO$W)jO$Y)eO$[)eO$c)kO~O!X)nO~P!*fO$Y$gO$[$fO$c)rO~Oj$uX|$uX!P$uX!i$uX(o$uX(p$uX~OfiXf$uXjiX!YiX#[iX~P!/tOo)tO~Ot)uO(Y)vO(Z)xO~Oj*RO|)zO!P){O(o$}O(p%PO~Of)yO~P!0}Of*SO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz;QO!P${O![$|O!f<`O!k$xO#f;WO$T%^O$o;SO$q;UO$t%_O'}TO(QUO(X$uO(o$}O(p%PO~O!X*WO'{*TO!j(uP~P!1lO#g*YO~O!k*ZO~O!X*`O'{*]O!V(vP~P!1lOn*lO!P*dO!_*jO!`*cO!a*cO!k*ZO#W*kO%Y*fO'|!lO([!mO~O!Z*iO~P!3xO!i#wOj(WX|(WX!P(WX(o(WX(p(WX!Y(WX#[(WX~Of(WX#|(WX~P!4qOj*qO#[*pOf(VX!Y(VX~O!Y*rOf(UX~O'{&UOf(UP~O!k*yO~O'{(pO~Ol*}O!P%eO!X#hO![%fO!{]O#e#kO#f#hO'{%dO!j(iP~O!d#uO#g+OO~O!P%eO!X+QO!Y(WO![%fO'{%dO!V(lP~Oo'VO!P+SO!X+RO'}TO(QUO([(xO~O!Z(nP~P!7lO!Y+TO`(zX'r(zX~OP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO#y$YO(XVO(h$ZO(o#|O(p#}O~O`!ea!Y!ea'r!ea'p!ea!V!ea!j!ear!ea![!ea%c!ea!d!ea~P!8dO|#yO}#zO!P#{O!i#wO!k#xO(XVOP!qaZ!qan!qa!Y!qa!h!qa!o!qa#j!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#q!qa#r!qa#t!qa#v!qa#x!qa#y!qa(h!qa(o!qa(p!qa~O`!qa'r!qa'p!qa!V!qa!j!qar!qa![!qa%c!qa!d!qa~P!:}O|#yO}#zO!P#{O!i#wO!k#xO(XVOP!saZ!san!sa!Y!sa!h!sa!o!sa#j!sa#k!sa#l!sa#m!sa#n!sa#o!sa#p!sa#q!sa#r!sa#t!sa#v!sa#x!sa#y!sa(h!sa(o!sa(p!sa~O`!sa'r!sa'p!sa!V!sa!j!sar!sa![!sa%c!sa!d!sa~P!=hOg%VOj+^O!['ZO%c+]O~O!d+`O`(TX![(TX'r(TX!Y(TX~O`%kO![XO'r%kO~Og%VO!k%bO~Og%VO!k%bO'{%dO~O!d#uO#g(rO~Oa+kO%d+lO'{+hO'}TO(QUO!Z)OP~O!Y+mO_(}X~OZ+qO~O_+rO~O![%{O'{%dO'|!lO_(}P~Og%VO#[+wO~Og%VOj+zO![$|O~O![+|O~O|,OO![XO~O%h%rO~O!w,TO~Od,YO~Oa,ZO'{#mO'}TO(QUO!Z(|P~Od%yO~O%d!QO'{&UO~P<}OZ,`O_,_O~OPYOQYORfOczOdyOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO!fuO!kZO!nYO!oYO!pYO!rvO!wxO!{]O%b}O'}TO(QUO(XVO(g[O(tiO~O![!eO!t!gO$T!kO'{!dO~P!DkO_,_O`%kO'r%kO~OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!w!hO$T!kO'{!dO'}TO(QUO(XVO(g[O(tiO~O`,eO!twO#s!OO%f!OO%g!OO%h!OO~P!GTO!k&jO~O&V,kO~O![,mO~O&h,oO&j,pOP&eaQ&eaR&eaX&ea`&eac&ead&eal&ean&eao&eap&eav&eax&eaz&ea!P&ea!T&ea!U&ea![&ea!f&ea!k&ea!n&ea!o&ea!p&ea!r&ea!t&ea!w&ea!{&ea#s&ea$T&ea%b&ea%d&ea%f&ea%g&ea%h&ea%k&ea%m&ea%p&ea%q&ea%s&ea&P&ea&V&ea&X&ea&Z&ea&]&ea&`&ea&f&ea&l&ea&n&ea&p&ea&r&ea&t&ea'p&ea'{&ea'}&ea(Q&ea(X&ea(g&ea(t&ea!Z&ea&^&eaa&ea&c&ea~O'{,uO~Og!bX!Y!OX!Y!bX!Z!OX!Z!bX!d!OX!d!bX!k!bX#[!OX~O!d,zO#[,yOg(aX!Y#dX!Y(aX!Z#dX!Z(aX!d(aX!k(aX~Og%VO!d,|O!k%bO!Y!^X!Z!^X~Oo!nO!P!oO'}TO(QUO([!mO~OP:cOQ:cORfOc<[Od!iOlkOn:cOokOpkOvkOx:cOz:cO!PWO!TkO!UkO![!eO!f:fO!kZO!n:cO!o:cO!p:cO!r:gO!t:jO!w!hO$T!kO'}TO(QUO(XVO(g[O(t<YO~O'{;]O~P#!ZO!Y-QO!Z(`X~O!Z-SO~O!d,zO#[,yO!Y#dX!Z#dX~O!Y-TO!Z(nX~O!Z-VO~O!`-WO!a-WO'|!lO~P# xO!Z-ZO~P'_Oj-^O!['ZO~O!V-cO~Oo!za!_!za!`!za!a!za#P!za#Q!za#R!za#S!za#T!za#W!za#X!za'|!za'}!za(Q!za([!za(g!za~P!#`O!o-hO#[-fO~PCOO!`-jO!a-jO'|!lO~PCnO`%kO#[-fO'r%kO~O`%kO!d#uO#[-fO'r%kO~O`%kO!d#uO!o-hO#[-fO'r%kO(h'kO~O'w'sO'x'sO'y-oO~Or-pO~O!V'Pa!Y'Pa~P!8dO!X-tO!V'PX!Y'PX~P%[O!Y(PO!V(_a~O!V(_a~PGbO!Y(WO!V(la~O!P%eO!X-xO![%fO'{%dO!V'VX!Y'VX~O#[-zO!Y(ja!j(ja`(ja'r(ja~O!d#uO~P#*aO!Y(dO!j(ia~O!P%eO![%fO#f.OO'{%dO~Ol.TO!P%eO!X.QO![%fO!{]O#e.SO#f.QO'{%dO!Y'YX!j'YX~O}.XO!k#xO~Og%VOj.[O!['ZO%c.ZO~O`#_i!Y#_i'r#_i'p#_i!V#_i!j#_ir#_i![#_i%c#_i!d#_i~P!8dOj<fO|)zO!P){O(o$}O(p%PO~O#g#Za`#Za#[#Za'r#Za!Y#Za!j#Za![#Za!V#Za~P#-]O#g(WXP(WXZ(WX`(WXn(WX}(WX!h(WX!k(WX!o(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#q(WX#r(WX#t(WX#v(WX#x(WX#y(WX'r(WX(X(WX(h(WX!j(WX!V(WX'p(WXr(WX![(WX%c(WX!d(WX~P!4qO!Y.iOf(bX~P!0}Of.kO~O!Y.lO!j(cX~P!8dO!j.oO~O!V.qO~OP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O(XVOZ#ii`#iin#ii!Y#ii!h#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii'r#ii(h#ii(o#ii(p#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~O#j#ii~P#1XO#j$OO~P#1XOP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO(XVOZ#ii`#ii!Y#ii!h#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii'r#ii(h#ii(o#ii(p#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~On#ii~P#3yOn$QO~P#3yOP$]On$QO|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO(XVO`#ii!Y#ii#t#ii#v#ii#x#ii#y#ii'r#ii(h#ii(o#ii(p#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~OZ#ii!h#ii#o#ii#p#ii#q#ii#r#ii~P#6kOZ$dO!h$SO#o$SO#p$SO#q$cO#r$SO~P#6kOP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO(XVO(p#}O`#ii!Y#ii#x#ii#y#ii'r#ii(h#ii(o#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~O#v$VO~P#9lO#v#ii~P#9lOP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO(XVO`#ii!Y#ii#x#ii#y#ii'r#ii(h#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~O#v#ii(o#ii(p#ii~P#<^O#v$VO(o#|O(p#}O~P#<^OP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO(XVO(o#|O(p#}O~O`#ii!Y#ii#y#ii'r#ii(h#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~P#?UOP[XZ[Xn[X|[X}[X!P[X!h[X!i[X!k[X!o[X#[[X#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X(X[X(h[X(o[X(p[X!Y[X!Z[X~O#|[X~P#AoOP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO#v:sO#x:uO#y:vO(XVO(h$ZO(o#|O(p#}O~O#|.sO~P#C|O#[:{O$O:{O#|(^X!Z(^X~P! [O`']a!Y']a'r']a'p']a!j']a!V']ar']a![']a%c']a!d']a~P!8dOP#iiZ#ii`#iin#ii}#ii!Y#ii!h#ii!i#ii!k#ii!o#ii#j#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii'r#ii(X#ii(h#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~P#-]O`#}i!Y#}i'r#}i'p#}i!V#}i!j#}ir#}i![#}i%c#}i!d#}i~P!8dO$Y.xO$[.xO~O$Y.yO$[.yO~O!d)cO#[.zO![$`X$W$`X$Y$`X$[$`X$c$`X~O!X.{O~O![)fO$W.}O$Y)eO$[)eO$c/OO~O!Y:wO!Z(]X~P#C|O!Z/PO~O!d)cO$c(qX~O$c/RO~Ot)uO(Y)vO(Z/UO~O!V/YO~P!&dO(o$}Oj%Za|%Za!P%Za(p%Za!Y%Za#[%Za~Of%Za#|%Za~P#L^O(p%POj%]a|%]a!P%]a(o%]a!Y%]a#[%]a~Of%]a#|%]a~P#MPO!YeX!deX!jeX!j$uX(heX~P!/tO!j/bO~P#-]O!Y/cO!d#uO(h'kO!j(uX~O!j/hO~O!X*WO'{%dO!j(uP~O#g/jO~O!V$uX!Y$uX!d$|X~P!/tO!Y/kO!V(vX~P#-]O!d/mO~O!V/oO~Og%VOn/sO!d#uO!k%bO(h'kO~O'{/uO~O!d+`O~O`%kO!Y/yO'r%kO~O!Z/{O~P!3xO!`/|O!a/|O'|!lO([!mO~O!P0OO([!mO~O#W0PO~Of%Za!Y%Za#[%Za#|%Za~P!0}Of%]a!Y%]a#[%]a#|%]a~P!0}O'{&UOf'fX!Y'fX~O!Y*rOf(Ua~Of0YO~O|0ZO}0ZO!P0[Ojya(oya(pya!Yya#[ya~Ofya#|ya~P$$jO|)zO!P){Oj$na(o$na(p$na!Y$na#[$na~Of$na#|$na~P$%`O|)zO!P){Oj$pa(o$pa(p$pa!Y$pa#[$pa~Of$pa#|$pa~P$&RO#g0^O~Of%Oa!Y%Oa#[%Oa#|%Oa~P!0}O!d#uO~O#g0aO~O!Y+TO`(za'r(za~O|#yO}#zO!P#{O!i#wO!k#xO(XVOP!qiZ!qin!qi!Y!qi!h!qi!o!qi#j!qi#k!qi#l!qi#m!qi#n!qi#o!qi#p!qi#q!qi#r!qi#t!qi#v!qi#x!qi#y!qi(h!qi(o!qi(p!qi~O`!qi'r!qi'p!qi!V!qi!j!qir!qi![!qi%c!qi!d!qi~P$'pOg%VOn$tOo$sOp$sOv%XOx%YOz;QO!P${O![$|O!f<`O!k$xO#f;WO$T%^O$o;SO$q;UO$t%_O'}TO(QUO(X$uO(o$}O(p%PO~Ol0kO'{0jO~P$*ZO!d+`O`(Ta![(Ta'r(Ta!Y(Ta~O#g0qO~OZ[X!YeX!ZeX~O!Y0rO!Z)OX~O!Z0tO~OZ0uO~Oa0wO'{+hO'}TO(QUO~O![%{O'{%dO_'nX!Y'nX~O!Y+mO_(}a~O!j0zO~P!8dOZ0}O~O_1OO~O#[1RO~Oj1UO![$|O~O([(xO!Z({P~Og%VOj1_O![1[O%c1^O~OZ1iO!Y1gO!Z(|X~O!Z1jO~O_1lO`%kO'r%kO~O'{#mO'}TO(QUO~O#[$eO$O$eOP(^XZ(^Xn(^X|(^X}(^X!P(^X!Y(^X!h(^X!k(^X!o(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#t(^X#v(^X#x(^X#y(^X(X(^X(h(^X(o(^X(p(^X~O#r1oO&T1pO`(^X!i(^X~P$/qO#[$eO#r1oO&T1pO~O`1rO~P%[O`1tO~O&^1wOP&[iQ&[iR&[iX&[i`&[ic&[id&[il&[in&[io&[ip&[iv&[ix&[iz&[i!P&[i!T&[i!U&[i![&[i!f&[i!k&[i!n&[i!o&[i!p&[i!r&[i!t&[i!w&[i!{&[i#s&[i$T&[i%b&[i%d&[i%f&[i%g&[i%h&[i%k&[i%m&[i%p&[i%q&[i%s&[i&P&[i&V&[i&X&[i&Z&[i&]&[i&`&[i&f&[i&l&[i&n&[i&p&[i&r&[i&t&[i'p&[i'{&[i'}&[i(Q&[i(X&[i(g&[i(t&[i!Z&[ia&[i&c&[i~Oa1}O!Z1{O&c1|O~P`O![XO!k2PO~O&j,pOP&eiQ&eiR&eiX&ei`&eic&eid&eil&ein&eio&eip&eiv&eix&eiz&ei!P&ei!T&ei!U&ei![&ei!f&ei!k&ei!n&ei!o&ei!p&ei!r&ei!t&ei!w&ei!{&ei#s&ei$T&ei%b&ei%d&ei%f&ei%g&ei%h&ei%k&ei%m&ei%p&ei%q&ei%s&ei&P&ei&V&ei&X&ei&Z&ei&]&ei&`&ei&f&ei&l&ei&n&ei&p&ei&r&ei&t&ei'p&ei'{&ei'}&ei(Q&ei(X&ei(g&ei(t&ei!Z&ei&^&eia&ei&c&ei~O!V2VO~O!Y!^a!Z!^a~P#C|Oo!nO!P!oO!X2]O([!mO!Y'QX!Z'QX~P@UO!Y-QO!Z(`a~O!Y'WX!Z'WX~P!7lO!Y-TO!Z(na~O!Z2dO~P'_O`%kO#[2mO'r%kO~O`%kO!d#uO#[2mO'r%kO~O`%kO!d#uO!o2qO#[2mO'r%kO(h'kO~O`%kO'r%kO~P!8dO!Y$aOr$ma~O!V'Pi!Y'Pi~P!8dO!Y(PO!V(_i~O!Y(WO!V(li~O!V(mi!Y(mi~P!8dO!Y(ji!j(ji`(ji'r(ji~P!8dO#[2sO!Y(ji!j(ji`(ji'r(ji~O!Y(dO!j(ii~O!P%eO![%fO!{]O#e2xO#f2wO'{%dO~O!P%eO![%fO#f2wO'{%dO~Oj3PO!['ZO%c3OO~Og%VOj3PO!['ZO%c3OO~O#g%ZaP%ZaZ%Za`%Zan%Za}%Za!h%Za!i%Za!k%Za!o%Za#j%Za#k%Za#l%Za#m%Za#n%Za#o%Za#p%Za#q%Za#r%Za#t%Za#v%Za#x%Za#y%Za'r%Za(X%Za(h%Za!j%Za!V%Za'p%Zar%Za![%Za%c%Za!d%Za~P#L^O#g%]aP%]aZ%]a`%]an%]a}%]a!h%]a!i%]a!k%]a!o%]a#j%]a#k%]a#l%]a#m%]a#n%]a#o%]a#p%]a#q%]a#r%]a#t%]a#v%]a#x%]a#y%]a'r%]a(X%]a(h%]a!j%]a!V%]a'p%]ar%]a![%]a%c%]a!d%]a~P#MPO#g%ZaP%ZaZ%Za`%Zan%Za}%Za!Y%Za!h%Za!i%Za!k%Za!o%Za#j%Za#k%Za#l%Za#m%Za#n%Za#o%Za#p%Za#q%Za#r%Za#t%Za#v%Za#x%Za#y%Za'r%Za(X%Za(h%Za!j%Za!V%Za'p%Za#[%Zar%Za![%Za%c%Za!d%Za~P#-]O#g%]aP%]aZ%]a`%]an%]a}%]a!Y%]a!h%]a!i%]a!k%]a!o%]a#j%]a#k%]a#l%]a#m%]a#n%]a#o%]a#p%]a#q%]a#r%]a#t%]a#v%]a#x%]a#y%]a'r%]a(X%]a(h%]a!j%]a!V%]a'p%]a#[%]ar%]a![%]a%c%]a!d%]a~P#-]O#gyaPyaZya`yanya!hya!iya!kya!oya#jya#kya#lya#mya#nya#oya#pya#qya#rya#tya#vya#xya#yya'rya(Xya(hya!jya!Vya'pyarya![ya%cya!dya~P$$jO#g$naP$naZ$na`$nan$na}$na!h$na!i$na!k$na!o$na#j$na#k$na#l$na#m$na#n$na#o$na#p$na#q$na#r$na#t$na#v$na#x$na#y$na'r$na(X$na(h$na!j$na!V$na'p$nar$na![$na%c$na!d$na~P$%`O#g$paP$paZ$pa`$pan$pa}$pa!h$pa!i$pa!k$pa!o$pa#j$pa#k$pa#l$pa#m$pa#n$pa#o$pa#p$pa#q$pa#r$pa#t$pa#v$pa#x$pa#y$pa'r$pa(X$pa(h$pa!j$pa!V$pa'p$par$pa![$pa%c$pa!d$pa~P$&RO#g%OaP%OaZ%Oa`%Oan%Oa}%Oa!Y%Oa!h%Oa!i%Oa!k%Oa!o%Oa#j%Oa#k%Oa#l%Oa#m%Oa#n%Oa#o%Oa#p%Oa#q%Oa#r%Oa#t%Oa#v%Oa#x%Oa#y%Oa'r%Oa(X%Oa(h%Oa!j%Oa!V%Oa'p%Oa#[%Oar%Oa![%Oa%c%Oa!d%Oa~P#-]O`#_q!Y#_q'r#_q'p#_q!V#_q!j#_qr#_q![#_q%c#_q!d#_q~P!8dOf'RX!Y'RX~P!(SO!Y.iOf(ba~O!X3ZO!Y'SX!j'SX~P%[O!Y.lO!j(ca~O!Y.lO!j(ca~P!8dO!V3^O~O#|!ma!Z!ma~PKOO#|!ea!Y!ea!Z!ea~P#C|O#|!qa!Z!qa~P!:}O#|!sa!Z!sa~P!=hORfO![3pO$a3qO~O!Z3uO~Or3vO~P#-]O`$jq!Y$jq'r$jq'p$jq!V$jq!j$jqr$jq![$jq%c$jq!d$jq~P!8dO!V3wO~P#-]O|)zO!P){O(p%POj'ba(o'ba!Y'ba#['ba~Of'ba#|'ba~P%)eO|)zO!P){Oj'da(o'da(p'da!Y'da#['da~Of'da#|'da~P%*WO(h$ZO~P#-]O!X3zO'{%dO!Y'^X!j'^X~O!Y/cO!j(ua~O!Y/cO!d#uO!j(ua~O!Y/cO!d#uO(h'kO!j(ua~Of$wi!Y$wi#[$wi#|$wi~P!0}O!X4SO'{*]O!V'`X!Y'`X~P!1lO!Y/kO!V(va~O!Y/kO!V(va~P#-]O!d#uO#r4[O~On4_O!d#uO(h'kO~O(o$}Oj%Zi|%Zi!P%Zi(p%Zi!Y%Zi#[%Zi~Of%Zi#|%Zi~P%-jO(p%POj%]i|%]i!P%]i(o%]i!Y%]i#[%]i~Of%]i#|%]i~P%.]Of(Vi!Y(Vi~P!0}O#[4fOf(Vi!Y(Vi~P!0}O!j4iO~O`$kq!Y$kq'r$kq'p$kq!V$kq!j$kqr$kq![$kq%c$kq!d$kq~P!8dO!V4mO~O!Y4nO![(wX~P#-]O!i#wO~P4XO`$uX![$uX%W[X'r$uX!Y$uX~P!/tO%W4pO`kXjkX|kX!PkX![kX'rkX(okX(pkX!YkX~O%W4pO~Oa4vO%d4wO'{+hO'}TO(QUO!Y'mX!Z'mX~O!Y0rO!Z)Oa~OZ4{O~O_4|O~O`%kO'r%kO~P#-]O![$|O~P#-]O!Y5UO#[5WO!Z({X~O!Z5XO~Oo!nO!P5YO!_!xO!`!uO!a!uO!{:dO#P!pO#Q!pO#R!pO#S!pO#T!pO#W5_O#X!yO'|!lO'}TO(QUO([!mO(g!sO~O!Z5^O~P%3nOj5dO![1[O%c5cO~Og%VOj5dO![1[O%c5cO~Oa5kO'{#mO'}TO(QUO!Y'lX!Z'lX~O!Y1gO!Z(|a~O'}TO(QUO([5mO~O_5qO~O#r5tO&T5uO~PMnO!j5vO~P%[O`5xO~O`5xO~P%[Oa1}O!Z5}O&c1|O~P`O!d6PO~O!d6ROg(ai!Y(ai!Z(ai!d(ai!k(ai~O!Y#di!Z#di~P#C|O#[6SO!Y#di!Z#di~O!Y!^i!Z!^i~P#C|O`%kO#[6]O'r%kO~O`%kO!d#uO#[6]O'r%kO~O!Y(jq!j(jq`(jq'r(jq~P!8dO!Y(dO!j(iq~O!P%eO![%fO#f6dO'{%dO~O!['ZO%c6gO~Oj6jO!['ZO%c6gO~O#g'baP'baZ'ba`'ban'ba}'ba!h'ba!i'ba!k'ba!o'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#q'ba#r'ba#t'ba#v'ba#x'ba#y'ba'r'ba(X'ba(h'ba!j'ba!V'ba'p'bar'ba!['ba%c'ba!d'ba~P%)eO#g'daP'daZ'da`'dan'da}'da!h'da!i'da!k'da!o'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#q'da#r'da#t'da#v'da#x'da#y'da'r'da(X'da(h'da!j'da!V'da'p'dar'da!['da%c'da!d'da~P%*WO#g$wiP$wiZ$wi`$win$wi}$wi!Y$wi!h$wi!i$wi!k$wi!o$wi#j$wi#k$wi#l$wi#m$wi#n$wi#o$wi#p$wi#q$wi#r$wi#t$wi#v$wi#x$wi#y$wi'r$wi(X$wi(h$wi!j$wi!V$wi'p$wi#[$wir$wi![$wi%c$wi!d$wi~P#-]O#g%ZiP%ZiZ%Zi`%Zin%Zi}%Zi!h%Zi!i%Zi!k%Zi!o%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#p%Zi#q%Zi#r%Zi#t%Zi#v%Zi#x%Zi#y%Zi'r%Zi(X%Zi(h%Zi!j%Zi!V%Zi'p%Zir%Zi![%Zi%c%Zi!d%Zi~P%-jO#g%]iP%]iZ%]i`%]in%]i}%]i!h%]i!i%]i!k%]i!o%]i#j%]i#k%]i#l%]i#m%]i#n%]i#o%]i#p%]i#q%]i#r%]i#t%]i#v%]i#x%]i#y%]i'r%]i(X%]i(h%]i!j%]i!V%]i'p%]ir%]i![%]i%c%]i!d%]i~P%.]Of'Ra!Y'Ra~P!0}O!Y'Sa!j'Sa~P!8dO!Y.lO!j(ci~O#|#_i!Y#_i!Z#_i~P#C|OP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O(XVOZ#iin#ii!h#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii#|#ii(h#ii(o#ii(p#ii!Y#ii!Z#ii~O#j#ii~P%FnO#j:lO~P%FnOP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO(XVOZ#ii!h#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii#|#ii(h#ii(o#ii(p#ii!Y#ii!Z#ii~On#ii~P%HyOn:nO~P%HyOP$]On:nO|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO(XVO#t#ii#v#ii#x#ii#y#ii#|#ii(h#ii(o#ii(p#ii!Y#ii!Z#ii~OZ#ii!h#ii#o#ii#p#ii#q#ii#r#ii~P%KUOZ:zO!h:pO#o:pO#p:pO#q:yO#r:pO~P%KUOP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO(XVO(p#}O#x#ii#y#ii#|#ii(h#ii(o#ii!Y#ii!Z#ii~O#v:sO~P%MpO#v#ii~P%MpOP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO(XVO#x#ii#y#ii#|#ii(h#ii!Y#ii!Z#ii~O#v#ii(o#ii(p#ii~P& {O#v:sO(o#|O(p#}O~P& {OP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO#v:sO#x:uO(XVO(o#|O(p#}O~O#y#ii#|#ii(h#ii!Y#ii!Z#ii~P&$^O`#zy!Y#zy'r#zy'p#zy!V#zy!j#zyr#zy![#zy%c#zy!d#zy~P!8dOj<gO|)zO!P){O(o$}O(p%PO~OP#iiZ#iin#ii}#ii!h#ii!i#ii!k#ii!o#ii#j#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii#|#ii(X#ii(h#ii!Y#ii!Z#ii~P&'UO!i#wOP(WXZ(WXj(WXn(WX|(WX}(WX!P(WX!h(WX!k(WX!o(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#q(WX#r(WX#t(WX#v(WX#x(WX#y(WX#|(WX(X(WX(h(WX(o(WX(p(WX!Y(WX!Z(WX~O#|#}i!Y#}i!Z#}i~P#C|O#|!qi!Z!qi~P$'pO!Z6|O~O!Y']a!Z']a~P#C|O!d#uO(h'kO!Y'^a!j'^a~O!Y/cO!j(ui~O!Y/cO!d#uO!j(ui~Of$wq!Y$wq#[$wq#|$wq~P!0}O!V'`a!Y'`a~P#-]O!d7TO~O!Y/kO!V(vi~P#-]O!Y/kO!V(vi~O!V7XO~O!d#uO#r7^O~On7_O!d#uO(h'kO~O|)zO!P){O(p%POj'ca(o'ca!Y'ca#['ca~Of'ca#|'ca~P&.fO|)zO!P){Oj'ea(o'ea(p'ea!Y'ea#['ea~Of'ea#|'ea~P&/XO!V7aO~Of$yq!Y$yq#[$yq#|$yq~P!0}O`$ky!Y$ky'r$ky'p$ky!V$ky!j$kyr$ky![$ky%c$ky!d$ky~P!8dO!d6RO~O!Y4nO![(wa~O`#_y!Y#_y'r#_y'p#_y!V#_y!j#_yr#_y![#_y%c#_y!d#_y~P!8dOZ7fO~Oa7hO'{+hO'}TO(QUO~O!Y0rO!Z)Oi~O_7lO~O([(xO!Y'iX!Z'iX~O!Y5UO!Z({a~OlkO'{7sO~P.iO!Z7vO~P%3nOo!nO!P7wO'}TO(QUO([!mO(g!sO~O![1[O~O![1[O%c7yO~Oj7|O![1[O%c7yO~OZ8RO!Y'la!Z'la~O!Y1gO!Z(|i~O!j8VO~O!j8WO~O!j8ZO~O!j8ZO~P%[O`8]O~O!d8^O~O!j8_O~O!Y(mi!Z(mi~P#C|O`%kO#[8gO'r%kO~O!Y(jy!j(jy`(jy'r(jy~P!8dO!Y(dO!j(iy~O!['ZO%c8jO~O#g$wqP$wqZ$wq`$wqn$wq}$wq!Y$wq!h$wq!i$wq!k$wq!o$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#p$wq#q$wq#r$wq#t$wq#v$wq#x$wq#y$wq'r$wq(X$wq(h$wq!j$wq!V$wq'p$wq#[$wqr$wq![$wq%c$wq!d$wq~P#-]O#g'caP'caZ'ca`'can'ca}'ca!h'ca!i'ca!k'ca!o'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#q'ca#r'ca#t'ca#v'ca#x'ca#y'ca'r'ca(X'ca(h'ca!j'ca!V'ca'p'car'ca!['ca%c'ca!d'ca~P&.fO#g'eaP'eaZ'ea`'ean'ea}'ea!h'ea!i'ea!k'ea!o'ea#j'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#t'ea#v'ea#x'ea#y'ea'r'ea(X'ea(h'ea!j'ea!V'ea'p'ear'ea!['ea%c'ea!d'ea~P&/XO#g$yqP$yqZ$yq`$yqn$yq}$yq!Y$yq!h$yq!i$yq!k$yq!o$yq#j$yq#k$yq#l$yq#m$yq#n$yq#o$yq#p$yq#q$yq#r$yq#t$yq#v$yq#x$yq#y$yq'r$yq(X$yq(h$yq!j$yq!V$yq'p$yq#[$yqr$yq![$yq%c$yq!d$yq~P#-]O!Y'Si!j'Si~P!8dO#|#_q!Y#_q!Z#_q~P#C|O(o$}OP%ZaZ%Zan%Za}%Za!h%Za!i%Za!k%Za!o%Za#j%Za#k%Za#l%Za#m%Za#n%Za#o%Za#p%Za#q%Za#r%Za#t%Za#v%Za#x%Za#y%Za#|%Za(X%Za(h%Za!Y%Za!Z%Za~Oj%Za|%Za!P%Za(p%Za~P&@nO(p%POP%]aZ%]an%]a}%]a!h%]a!i%]a!k%]a!o%]a#j%]a#k%]a#l%]a#m%]a#n%]a#o%]a#p%]a#q%]a#r%]a#t%]a#v%]a#x%]a#y%]a#|%]a(X%]a(h%]a!Y%]a!Z%]a~Oj%]a|%]a!P%]a(o%]a~P&BuOj<gO|)zO!P){O(p%PO~P&@nOj<gO|)zO!P){O(o$}O~P&BuO|0ZO}0ZO!P0[OPyaZyajyanya!hya!iya!kya!oya#jya#kya#lya#mya#nya#oya#pya#qya#rya#tya#vya#xya#yya#|ya(Xya(hya(oya(pya!Yya!Zya~O|)zO!P){OP$naZ$naj$nan$na}$na!h$na!i$na!k$na!o$na#j$na#k$na#l$na#m$na#n$na#o$na#p$na#q$na#r$na#t$na#v$na#x$na#y$na#|$na(X$na(h$na(o$na(p$na!Y$na!Z$na~O|)zO!P){OP$paZ$paj$pan$pa}$pa!h$pa!i$pa!k$pa!o$pa#j$pa#k$pa#l$pa#m$pa#n$pa#o$pa#p$pa#q$pa#r$pa#t$pa#v$pa#x$pa#y$pa#|$pa(X$pa(h$pa(o$pa(p$pa!Y$pa!Z$pa~OP%OaZ%Oan%Oa}%Oa!h%Oa!i%Oa!k%Oa!o%Oa#j%Oa#k%Oa#l%Oa#m%Oa#n%Oa#o%Oa#p%Oa#q%Oa#r%Oa#t%Oa#v%Oa#x%Oa#y%Oa#|%Oa(X%Oa(h%Oa!Y%Oa!Z%Oa~P&'UO#|$jq!Y$jq!Z$jq~P#C|O#|$kq!Y$kq!Z$kq~P#C|O!Z8vO~O#|8wO~P!0}O!d#uO!Y'^i!j'^i~O!d#uO(h'kO!Y'^i!j'^i~O!Y/cO!j(uq~O!V'`i!Y'`i~P#-]O!Y/kO!V(vq~O!V8}O~P#-]O!V8}O~Of(Vy!Y(Vy~P!0}O!Y'ga!['ga~P#-]O`%Vq![%Vq'r%Vq!Y%Vq~P#-]OZ9SO~O!Y0rO!Z)Oq~O#[9WO!Y'ia!Z'ia~O!Y5UO!Z({i~P#C|OP[XZ[Xn[X|[X}[X!P[X!V[X!Y[X!h[X!i[X!k[X!o[X#[[X#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X(X[X(h[X(o[X(p[X~O!d%TX#r%TX~P'#`O![1[O%c9[O~O'}TO(QUO([9aO~O!Y1gO!Z(|q~O!j9dO~O!j9eO~O!j9fO~O!j9fO~P%[O#[9iO!Y#dy!Z#dy~O!Y#dy!Z#dy~P#C|O!['ZO%c9nO~O#|#zy!Y#zy!Z#zy~P#C|OP$wiZ$win$wi}$wi!h$wi!i$wi!k$wi!o$wi#j$wi#k$wi#l$wi#m$wi#n$wi#o$wi#p$wi#q$wi#r$wi#t$wi#v$wi#x$wi#y$wi#|$wi(X$wi(h$wi!Y$wi!Z$wi~P&'UO|)zO!P){O(p%POP'baZ'baj'ban'ba}'ba!h'ba!i'ba!k'ba!o'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#q'ba#r'ba#t'ba#v'ba#x'ba#y'ba#|'ba(X'ba(h'ba(o'ba!Y'ba!Z'ba~O|)zO!P){OP'daZ'daj'dan'da}'da!h'da!i'da!k'da!o'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#q'da#r'da#t'da#v'da#x'da#y'da#|'da(X'da(h'da(o'da(p'da!Y'da!Z'da~O(o$}OP%ZiZ%Zij%Zin%Zi|%Zi}%Zi!P%Zi!h%Zi!i%Zi!k%Zi!o%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#p%Zi#q%Zi#r%Zi#t%Zi#v%Zi#x%Zi#y%Zi#|%Zi(X%Zi(h%Zi(p%Zi!Y%Zi!Z%Zi~O(p%POP%]iZ%]ij%]in%]i|%]i}%]i!P%]i!h%]i!i%]i!k%]i!o%]i#j%]i#k%]i#l%]i#m%]i#n%]i#o%]i#p%]i#q%]i#r%]i#t%]i#v%]i#x%]i#y%]i#|%]i(X%]i(h%]i(o%]i!Y%]i!Z%]i~O#|$ky!Y$ky!Z$ky~P#C|O#|#_y!Y#_y!Z#_y~P#C|O!d#uO!Y'^q!j'^q~O!Y/cO!j(uy~O!V'`q!Y'`q~P#-]O!V9wO~P#-]O!Y0rO!Z)Oy~O!Y5UO!Z({q~O![1[O%c:OO~O!j:RO~O!['ZO%c:WO~OP$wqZ$wqn$wq}$wq!h$wq!i$wq!k$wq!o$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#p$wq#q$wq#r$wq#t$wq#v$wq#x$wq#y$wq#|$wq(X$wq(h$wq!Y$wq!Z$wq~P&'UO|)zO!P){O(p%POP'caZ'caj'can'ca}'ca!h'ca!i'ca!k'ca!o'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#q'ca#r'ca#t'ca#v'ca#x'ca#y'ca#|'ca(X'ca(h'ca(o'ca!Y'ca!Z'ca~O|)zO!P){OP'eaZ'eaj'ean'ea}'ea!h'ea!i'ea!k'ea!o'ea#j'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#t'ea#v'ea#x'ea#y'ea#|'ea(X'ea(h'ea(o'ea(p'ea!Y'ea!Z'ea~OP$yqZ$yqn$yq}$yq!h$yq!i$yq!k$yq!o$yq#j$yq#k$yq#l$yq#m$yq#n$yq#o$yq#p$yq#q$yq#r$yq#t$yq#v$yq#x$yq#y$yq#|$yq(X$yq(h$yq!Y$yq!Z$yq~P&'UOf%_!Z!Y%_!Z#[%_!Z#|%_!Z~P!0}O!Y'iq!Z'iq~P#C|O!Y#d!Z!Z#d!Z~P#C|O#g%_!ZP%_!ZZ%_!Z`%_!Zn%_!Z}%_!Z!Y%_!Z!h%_!Z!i%_!Z!k%_!Z!o%_!Z#j%_!Z#k%_!Z#l%_!Z#m%_!Z#n%_!Z#o%_!Z#p%_!Z#q%_!Z#r%_!Z#t%_!Z#v%_!Z#x%_!Z#y%_!Z'r%_!Z(X%_!Z(h%_!Z!j%_!Z!V%_!Z'p%_!Z#[%_!Zr%_!Z![%_!Z%c%_!Z!d%_!Z~P#-]OP%_!ZZ%_!Zn%_!Z}%_!Z!h%_!Z!i%_!Z!k%_!Z!o%_!Z#j%_!Z#k%_!Z#l%_!Z#m%_!Z#n%_!Z#o%_!Z#p%_!Z#q%_!Z#r%_!Z#t%_!Z#v%_!Z#x%_!Z#y%_!Z#|%_!Z(X%_!Z(h%_!Z!Y%_!Z!Z%_!Z~P&'UOr(]X~P1qO'|!lO~P!*fO!VeX!YeX#[eX~P'#`OP[XZ[Xn[X|[X}[X!P[X!Y[X!YeX!h[X!i[X!k[X!o[X#[[X#[eX#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X(X[X(h[X(o[X(p[X~O!deX!j[X!jeX(heX~P'ASOP:cOQ:cORfOc<[Od!iOlkOn:cOokOpkOvkOx:cOz:cO!PWO!TkO!UkO![XO!f:fO!kZO!n:cO!o:cO!p:cO!r:gO!t:jO!w!hO$T!kO'{)YO'}TO(QUO(XVO(g[O(t<YO~O!Y:wO!Z$ma~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz;RO!P${O![$|O!f<aO!k$xO#f;XO$T%^O$o;TO$q;VO$t%_O'{(pO'}TO(QUO(X$uO(o$}O(p%PO~O#s)aO~P'ExO!Z[X!ZeX~P'ASO#g:kO~O!d#uO#g:kO~O#[:{O~O#r:pO~O#[;ZO!Y(mX!Z(mX~O#[:{O!Y(kX!Z(kX~O#g;[O~Of;^O~P!0}O#g;cO~O#g;dO~O!d#uO#g;eO~O!d#uO#g;[O~O#|;fO~P#C|O#g;gO~O#g;hO~O#g;mO~O#g;nO~O#g;oO~O#g;pO~O#|;qO~P!0}O#|;rO~P!0}O!i#P#Q#S#T#W#e#f#q(t$o$q$t%W%b%c%d%k%m%p%q%s%u~'vS#k!U't'|#lo#j#mn|'u$Y'u'{$[([~",
|
137 |
+
goto: "$2p)SPPPPP)TPP)WP)iP*x.|PPPP5pPP6WPP<S?gP?zP?zPPP?zPAxP?zP?zP?zPA|PPBRPBlPGdPPPGhPPPPGhJiPPPJoKjPGhPMxPPPP!!WGhPPPGhPGhP!$fGhP!'z!(|!)VP!)y!)}!)yPPPPP!-Y!(|PP!-v!.pP!1dGhGh!1i!4s!9Y!9Y!=OPPP!=VGhPPPPPPPPPPP!@dP!AqPPGh!CSPGhPGhGhGhGhPGh!DfP!GnP!JrP!Jv!KQ!KU!KUP!GkP!KY!KYP!N^P!NbGhGh!Nh##k?zP?zP?z?zP#$v?z?z#'O?z#)k?z#+m?z?z#,[#.f#.f#.j#.r#.f#.zP#.fP?z#/d?z#3R?z?z5pPPP#6vPPP#7a#7aP#7aP#7w#7aPP#7}P#7tP#7t#8b#7t#8|#9S5m)W#9V)WP#9^#9^#9^P)WP)WP)WP)WPP)WP#9d#9gP#9g)WP#9kP#9nP)WP)WP)WP)WP)WP)W)WPP#9t#9z#:V#:]#:c#:i#:o#:}#;T#;Z#;e#;k#;u#<U#<[#<|#=`#=f#=l#=z#>a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#Ip#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ&S|Q'P!eS'V%f-TQ+k%{Q,Z&bQ0]*yQ0w+lQ0|+rQ1m,_Q1n,`Q4v0rQ5P1OQ5k1gQ5n1iQ5o1lQ7h4wQ7k4|Q8U5qQ9V7lR9b8RrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR,]&f&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O']'m(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<[<][#[WZ#V#Y'S'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ%sxQ%wyS%||&RQ&Y!TQ'^!hQ'`!iQ(k#rS*V$x*ZS+e%x%yQ+i%{Q,S&]Q,W&_S-a'a'bQ.^(lQ/g*WQ0p+fQ0v+lQ0x+mQ0{+qQ1a,TS1e,X,YQ2i-bQ3y/cQ4u0rQ4y0uQ5O0}Q5j1fQ7Q3zQ7g4wQ7j4{Q9R7fR9y9S!O$zi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c!S%uy!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^Q+_%sQ+x&VQ+{&WQ,V&_Q.](kQ1`,SU1d,W,X,YQ3Q.^Q5e1aS5i1e1fQ8Q5j#W<^#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go<_:y:z:};P;T;V;X;`;b;d;h;j;l;n;rW%Ti%V*r<YS&V!Q&dQ&W!RQ&X!SR+v&T$w%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gT)v$u)wV*v%Z;Q;RU'V!e%f-TS(y#y#zQ+p&OS.V(g(hQ1V+|Q4g0ZR7p5U&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]$i$`c#X#d%n%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.t.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q'T!eR2^-Qv!nQ!e!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_S*b$|*hS/t*c*jQ/}*kQ1X,OQ4^/|R4a0PnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&t!^Q'q!wS(m#t:kQ+c%vQ,Q&YQ,R&[Q-_'_Q-l'jS.g(r;[S0`+O;eQ0n+dQ1Z,PQ2O,oQ2Q,pQ2Y,{Q2g-`Q2j-dS4l0a;oQ4q0oS4t0q;pQ6T2[Q6X2hQ6^2oQ7e4rQ8b6VQ8c6YQ8f6_R9h8_$d$_c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(j#o'dU*o%R(q3mS+Y%n.tQ2|0hQ6f2{Q8l6iR9o8m$d$^c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(i#o'dS({#z$_S+X%n.tS.W(h(jQ.w)]Q0e+YR2y.X&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S#p]:dQ&o!XQ&p!YQ&r![Q&s!]R1v,kQ'[!hQ+[%sQ-]'^S.Y(k+_Q2e-[W2}.].^0g0iQ6W2fU6e2z2|3QS8i6f6hS9m8k8lS:U9l9oQ:^:VR:a:_U!vQ'Z-YT5Z1[5]!Q_OXZ`st!V!Z#c#g%b%j&d&f&m&o&p&r(d,h,m.P1w1z]!pQ!r'Z-Y1[5]T#p]:d%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS(y#y#zS.V(g(h!s;v$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Y!tQ'Z-Y1[5]Q'f!rS'p!u!xS'r!y5_S-i'g'hQ-k'iR2p-jQ'o!tS(`#f1qS-h'f'rQ/f*VQ/r*bQ2q-kQ4O/gS4X/s/}Q7P3yS7[4_4aQ8y7QR9Q7_Q#vbQ'n!tS(_#f1qS(a#l*}Q+P%cQ+a%tQ+g%zU-g'f'o'rQ-{(`Q/e*VQ/q*bQ/w*eQ0m+bQ1b,US2n-h-kQ2v.TS3}/f/gS4W/r/}Q4Z/vQ4]/xQ5g1cQ6`2qQ7O3yQ7S4OS7W4X4aQ7]4`Q8O5hS8x7P7QQ8|7XQ9O7[Q9_8PQ9u8yQ9v8}Q9x9QQ:Q9`Q:Y9wQ;y;tQ<U;}R<V<OV!vQ'Z-Y%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS#vz!j!r;s$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;y<[%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gQ%cj!S%ty!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^S%zz!jQ+b%uQ,U&_W1c,V,W,X,YU5h1d1e1fS8P5i5jQ9`8Q!r;t$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q;}<ZR<O<[$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gY#aWZ#V#Y'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ,c&j!p;u$[$m)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;x'SS'W!e%fR2`-T%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8g!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q,b&jQ0h+^Q2{.[Q6i3PR8m6j!b$Uc#X%n'|(S(n(u)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!P:r)Z)l-O.t2W2Z3_3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!f$Wc#X%n'|(S(n(u)T)U)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!T:t)Z)l-O.t2W2Z3_3f3g3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!^$[c#X%n'|(S(n(u)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:eQ3x/az<])Z)l-O.t2W2Z3_3n3t6U6p6y6z7r8a8n8t8u9{:S<PQ<b<dR<c<e&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S$nh$oR3q.z'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$jf$pQ$hfS)e$k)iR)q$pT$if$pT)g$k)i'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$nh$oQ$qhR)p$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8g!s<Z$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]#clOPXZst!Z!`!o#R#c#n#{$m%j&f&i&j&m&o&p&r&v'O'](z)n+S+^,e,h,m-^.[.{0[1_1o1p1r1t1w1z1|3P3p5Y5d5t5u5x6j7w7|8]!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gQ*z%_Q/W)zo3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!O$yi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cQ*[$zS*e$|*hQ*{%`Q/x*f#W;{#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;|:y:z:};P;T;V;X;`;b;d;h;j;l;n;rQ<Q<^Q<R<_Q<S<`R<T<a!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;rnoOXst!Z#c%j&m&o&p&r,h,m1w1zQ*_${Q,v&yQ,w&{R4R/k$v%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ+y&WQ1T+{Q5S1SR7o5TT*g$|*hS*g$|*hT5[1[5]S/v*d5YT4`0O7wQ+a%tQ/w*eQ0m+bQ1b,UQ5g1cQ8O5hQ9_8PR:Q9`!O%Oi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cr)}$v(s*O*n*|/i0U0V3W4P4j6}7`9t;z<W<XS0Q*m0R#W:|#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn:}:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!^;_(o)`*U*^._.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<e`;`3l6q6t6x8o9p9s:bS;i.a3UT;j6s8r!O%Qi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cv*P$v(s*Q*m*|/]/i0U0V3W4P4b4j6}7`9t;z<W<XS0S*n0T#W;O#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;P:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!b;a(o)`*U*^.`.a.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<ed;b3l6r6s6x8o8p9p9q9s:bS;k.b3VT;l6t8srnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ&a!UR,e&jrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR&a!UQ+}&XR1P+vsnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ1],SS5b1`1aU7x5`5a5eS9Z7z7{S9|9Y9]Q:Z9}R:`:[Q&h!VR,^&dR5n1iS%||&RR0x+mQ&m!WR,h&nR,n&sT1x,m1zR,r&tQ,q&tR2R,rQ't!zR-n'tSsOtQ#cXT%ms#cQ!}TR'v!}Q#QUR'x#QQ)w$uR/T)wQ#TVR'z#TQ#WWU(Q#W(R-uQ(R#XR-u(SQ-R'TR2_-RQ.j(sR3X.jQ.m(uS3[.m3]R3].nQ-Y'ZR2c-YY!rQ'Z-Y1[5]R'e!rS#^W%eU(X#^(Y-vQ(Y#_R-v(TQ-U'WR2a-Ut`OXst!V!Z#c%j&d&f&m&o&p&r,h,m1w1zS#gZ%bU#q`#g.PR.P(dQ(e#iQ-|(aW.U(e-|2t6bQ2t-}R6b2uQ)i$kR.|)iQ$ohR)o$oQ$bcU)_$b-q:xQ-q:eR:x)lQ/d*VW3{/d3|7R8zU3|/e/f/gS7R3}4OR8z7S$X)|$v(o(s)`*U*^*m*n*w*x*|.a.b.d.e.f/S/X/]/_/a/i/n0U0V0f1Q1S3R3S3T3W3l4P4Q4U4b4d4j5R5T6k6l6m6n6s6t6v6w6x6}7U7Y7`7b7d8o8p8q8{9P9p9q9r9s9t:X:b;z<W<X<d<eQ/l*^U4T/l4V7VQ4V/nR7V4UQ*h$|R/z*hr*O$v(s*m*n*|/i0U0V3W4P4j6}7`9t;z<W<X!^._(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<eU/^*O._6qa6q3l6s6t6x8o9p9s:bQ0R*mQ3U.aU4c0R3U8rR8r6sv*Q$v(s*m*n*|/]/i0U0V3W4P4b4j6}7`9t;z<W<X!b.`(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<eU/`*Q.`6re6r3l6s6t6x8o8p9p9q9s:bQ0T*nQ3V.bU4e0T3V8sR8s6tQ*s%UR0X*sQ4o0fR7c4oQ+U%hR0d+UQ5V1VS7q5V9XR9X7rQ,P&YR1Y,PQ5]1[R7u5]Q1h,ZS5l1h8SR8S5nQ0s+iW4x0s4z7i9TQ4z0vQ7i4yR9T7jQ+n%|R0y+nQ1z,mR5|1zYrOXst#cQ&q!ZQ+W%jQ,g&mQ,i&oQ,j&pQ,l&rQ1u,hS1x,m1zR5{1wQ%lpQ&u!_Q&x!aQ&z!bQ&|!cQ'l!tQ+V%iQ+c%vQ+u&SQ,]&hQ,t&wW-e'f'n'o'rQ-l'jQ/y*gQ0n+dS1k,^,aQ2S,sQ2T,vQ2U,wQ2j-dW2l-g-h-k-mQ4q0oQ4}0|Q5Q1QQ5f1bQ5p1mQ5z1vU6Z2k2n2qQ6^2oQ7e4rQ7m5PQ7n5RQ7t5[Q7}5gQ8T5oS8d6[6`Q8f6_Q9U7kQ9^8OQ9c8UQ9j8eQ9z9VQ:P9_Q:T9kR:]:QQ%vyQ'_!iQ'j!tU+d%w%x%yQ,{'QU-`'`'a'bS-d'f'pQ/p*bS0o+e+fQ2[,}S2h-a-bQ2o-iQ4Y/tQ4r0pQ6V2bQ6Y2iQ6_2pR7Z4^S$wi<YR*t%VU%Ui%V<YR0W*rQ$viS(o#u+`Q(s#wS)`$c$dQ*U$xQ*^${Q*m%OQ*n%QQ*w%[Q*x%]Q*|%aQ.a:|Q.b;OQ.d;SQ.e;UQ.f;WQ/S)uS/X){/ZQ/])}Q/_*PQ/a*RQ/i*YQ/n*`Q0U*pQ0V*qh0f+].Z1^3O5c6g7y8j9[9n:O:WQ1Q+wQ1S+zQ3R;_Q3S;aQ3T;cQ3W.iS3l:y:zQ4P/jQ4Q/kQ4U/mQ4b0QQ4d0SQ4j0^Q5R1RQ5T1UQ6k;gQ6l;iQ6m;kQ6n;mQ6s:}Q6t;PQ6v;TQ6w;VQ6x;XQ6}3xQ7U4SQ7Y4[Q7`4fQ7b4nQ7d4pQ8o;dQ8p;`Q8q;bQ8{7TQ9P7^Q9p;hQ9q;jQ9r;lQ9s;nQ9t8wQ:X;qQ:b;rQ;z<YQ<W<bQ<X<cQ<d<fR<e<gnpOXst!Z#c%j&m&o&p&r,h,m1w1zQ!fPS#eZ#nQ&w!`U'c!o5Y7wQ'y#RQ(|#{Q)m$mS,a&f&iQ,f&jQ,s&vQ,x'OQ-[']Q.p(zQ/Q)nQ0b+SQ0i+^Q1s,eQ2f-^Q2|.[Q3s.{Q4h0[Q5a1_Q5r1oQ5s1pQ5w1rQ5y1tQ6O1|Q6f3PQ6{3pQ7{5dQ8X5tQ8Y5uQ8[5xQ8l6jQ9]7|R9g8]#WcOPXZst!Z!`!o#c#n#{%j&f&i&j&m&o&p&r&v'O'](z+S+^,e,h,m-^.[0[1_1o1p1r1t1w1z1|3P5Y5d5t5u5x6j7w7|8]Q#XWQ#dYQ%nuQ%ovS%qw!gS'|#V(PQ(S#YQ(n#tQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)^$aQ)b$eW)l$m)n.{3pQ+Z%pQ+o%}S-O'S2]Q-m'mS-r'}-tQ-w(VQ-y(^Q.h(rQ.n(vQ.r:cQ.t:fQ.u:gQ.v:jQ/V)yQ0_+OQ2W,yQ2Z,|Q2k-fQ2r-zQ3Y.lQ3_:kQ3`:lQ3a:mQ3b:nQ3c:oQ3d:pQ3e:qQ3f:rQ3g:sQ3h:tQ3i:uQ3j:vQ3k.sQ3n:{Q3o;YQ3t:wQ4k0aQ4s0qQ6U;ZQ6[2mQ6a2sQ6o3ZQ6p;[Q6y;^Q6z;eQ7r5WQ8a6SQ8e6]Q8n;fQ8t;oQ8u;pQ9k8gQ9{9WQ:S9iQ:e#RR<P<]R#ZWR'U!eY!tQ'Z-Y1[5]S'Q!e-QQ'f!rS'p!u!xS'r!y5_S,}'R'YS-i'g'hQ-k'iQ2b-WR2p-jR(t#wR(w#xQ!fQT-X'Z-Y]!qQ!r'Z-Y1[5]Q#o]R'd:dT#jZ%bS#iZ%bS%hm,dU(a#g#h#kS-}(b(cQ.R(dQ0c+TQ2u.OU2v.P.Q.SS6c2w2xR8h6d`#]W#V#Y%e'}(W+Q-xr#fZm#g#h#k%b(b(c(d+T.O.P.Q.S2w2x6dQ1q,dQ2X,zQ6Q2PQ8`6RT;w'S+RT#`W%eS#_W%eS(O#V(WS(T#Y+QS-P'S+RT-s'}-xT'X!e%fQ$kfR)s$pT)h$k)iR3r.zT*X$x*ZR*a${Q0g+]Q2z.ZQ5`1^Q6h3OQ7z5cQ8k6gQ9Y7yQ9l8jQ9}9[Q:V9nQ:[:OR:_:WnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&g!VR,]&dtmOXst!U!V!Z#c%j&d&m&o&p&r,h,m1w1zR,d&jT%im,dR1W+|R,[&bQ&Q|R+t&RR+j%{T&k!W&nT&l!W&nT1y,m1z",
|
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 : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression 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 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 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: 371,
|
140 |
+
context: fO,
|
141 |
+
nodeProps: [
|
142 |
+
["isolate", -8, 4, 5, 13, 33, 35, 48, 50, 52, ""],
|
143 |
+
["group", -26, 8, 16, 18, 65, 201, 205, 209, 210, 212, 215, 218, 228, 230, 236, 238, 240, 242, 245, 251, 257, 259, 261, 263, 265, 267, 268, "Statement", -32, 12, 13, 28, 31, 32, 38, 48, 51, 52, 54, 59, 67, 75, 79, 81, 83, 84, 106, 107, 116, 117, 134, 137, 139, 140, 141, 142, 144, 145, 164, 165, 167, "Expression", -23, 27, 29, 33, 37, 39, 41, 168, 170, 172, 173, 175, 176, 177, 179, 180, 181, 183, 184, 185, 195, 197, 199, 200, "Type", -3, 87, 99, 105, "ClassItem"],
|
144 |
+
["openedBy", 22, "<", 34, "InterpolationStart", 53, "[", 57, "{", 72, "(", 157, "JSXStartCloseTag"],
|
145 |
+
["closedBy", 23, ">", 36, "InterpolationEnd", 47, "]", 58, "}", 73, ")", 162, "JSXEndTag"]
|
146 |
+
],
|
147 |
+
propSources: [yO],
|
148 |
+
skippedNodes: [0, 4, 5, 271],
|
149 |
+
repeatNodeCount: 37,
|
150 |
+
tokenData: "$Fj(CSR!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#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Ns!`!a$#_!a!b$(l!b!c$,k!c!}Er!}#O$-u#O#P$/P#P#Q$4h#Q#R$5r#R#SEr#S#T$7P#T#o$8Z#o#p$<k#p#q$=a#q#r$>q#r#s$?}#s$f%Z$f$g+g$g#BYEr#BY#BZ$AX#BZ$ISEr$IS$I_$AX$I_$I|Er$I|$I}$Dd$I}$JO$Dd$JO$JTEr$JT$JU$AX$JU$KVEr$KV$KW$AX$KW&FUEr&FU&FV$AX&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AX?HUOEr(n%d_$f&j(Op(R!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$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$f&j(R!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(R!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$f&j(OpOY(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(OpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$f&j(Op(R!b't(;dOX%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%Z(CS.ST(P#S$f&j'u(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$f&j(Op(R!b'u(;dOY%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`$f&j!o$Ip(Op(R!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%#S1V`#t$Id$f&j(Op(R!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%#S2d_#t$Id$f&j(Op(R!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$/|3l_'}$(n$f&j(R!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$f&j(R!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$f&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$a`$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$a``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$a`$f&j(R!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(R!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$a`(R!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k#%|:hh$f&j(Op(R!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<__VS$f&j(Op(R!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]VS$f&j(R!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXVS$f&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSVSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWVS(R!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]VS$f&j(OpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWVS(OpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYVS(Op(R!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S#%|C}i$f&j(g!L^(Op(R!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#%|EoP;=`<%lCr(CSFRk$f&j(Op(R!b$Y#t'{&;d([!LYOY%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$f&j(Op(R!b$Y#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;=`<%lGv(CSJPP;=`<%lEr%#SJ_`$f&j(Op(R!b#l$IdOY%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%#SKl_$f&j$O$Id(Op(R!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&COLva(p&;`$f&j(Op(R!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%#SNW`$f&j#x$Id(Op(R!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$/|! c_(Q$)`$f&j(OpOY!!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_$f&j(OpOY!!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$f&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]$a`$f&j(OpOY(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(OpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$a`(OpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b(*Q!'t_!k(!b$f&j(Op(R!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!'l!)O_!jM|$f&j(Op(R!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'+h!*[b$f&j(Op(R!b'|#)d#m$IdOY%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%#S!+o`$f&j(Op(R!b#j$IdOY%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&-O!,|`$f&j(Op(R!bn&%`OY%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&C[!.Z_!Y&;l$f&j(Op(R!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(CS!/ec$f&j(Op(R!b|'<nOY%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!'d!0ya$f&j(Op(R!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!'d!2Z_!XMt$f&j(Op(R!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$/l!3eg$f&j(Op(R!bo$'|OY%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$/l!5Vg$f&j(Op(R!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$/l!6wc$f&j(Op(R!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$/l!8_c$f&j(Op(R!bo$'|OY%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(CS!9uf$f&j(Op(R!b#k$IdOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpxz!;Zz{#,f{!P!;Z!P!Q#-{!Q!^!;Z!^!_#'Z!_!`#5k!`!a#7Q!a!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(r!;fb$f&j(Op(R!b!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(Q!<w`$f&j(R!b!USOY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eb!Q!^!<n!^!_!GY!_!}!<n!}#O!Ja#O#P!Dj#P#o!<n#o#p!GY#p;'S!<n;'S;=`!Kj<%lO!<n&n!>Q^$f&j!USOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$f&j!USO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!USOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!US#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$f&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$f&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$f&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$f&j(R!b!USOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(R!b!USOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(R!b!USOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(R!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$f&j(R!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!<n#Q#o!Ja#o#p!Ic#p;'S!Ja;'S;=`!Kd<%lO!Ja(Q!KgP;=`<%l!Ja(Q!KmP;=`<%l!<n'`!Ky`$f&j(Op!USOY!KpYZ&cZr!Kprs!=ys!P!Kp!P!Q!L{!Q!^!Kp!^!_!Ns!_!}!Kp!}#O##z#O#P!Dj#P#o!Kp#o#p!Ns#p;'S!Kp;'S;=`#%T<%lO!Kp'`!MUi$f&j(Op!USOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!L{#[#](r#]#^!L{#^#a(r#a#b!L{#b#g(r#g#h!L{#h#i(r#i#j!L{#j#m(r#m#n!L{#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!NzZ(Op!USOY!NsZr!Nsrs!@Ys!P!Ns!P!Q# m!Q!}!Ns!}#O#!|#O#P!Bb#P;'S!Ns;'S;=`##t<%lO!Nst# tb(Op!USOY)rZr)rs#O)r#P#Z)r#Z#[# m#[#])r#]#^# m#^#a)r#a#b# m#b#g)r#g#h# m#h#i)r#i#j# m#j#m)r#m#n# m#n;'S)r;'S;=`*Z<%lO)rt##RX(OpOY#!|Zr#!|rs!Acs#O#!|#O#P!A{#P#Q!Ns#Q;'S#!|;'S;=`##n<%lO#!|t##qP;=`<%l#!|t##wP;=`<%l!Ns'`#$R^$f&j(OpOY##zYZ&cZr##zrs!Bws!^##z!^!_#!|!_#O##z#O#P!Cr#P#Q!Kp#Q#o##z#o#p#!|#p;'S##z;'S;=`#$}<%lO##z'`#%QP;=`<%l##z'`#%WP;=`<%l!Kp(r#%fk$f&j(Op(R!b!USOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[#%Z#[#]%Z#]#^#%Z#^#a%Z#a#b#%Z#b#g%Z#g#h#%Z#h#i%Z#i#j#%Z#j#m%Z#m#n#%Z#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W#'d](Op(R!b!USOY#'ZZr#'Zrs!GYsw#'Zwx!Nsx!P#'Z!P!Q#(]!Q!}#'Z!}#O#)w#O#P!Bb#P;'S#'Z;'S;=`#*w<%lO#'Z#W#(fe(Op(R!b!USOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[#(]#[#]*g#]#^#(]#^#a*g#a#b#(]#b#g*g#g#h#(]#h#i*g#i#j#(]#j#m*g#m#n#(]#n;'S*g;'S;=`+Z<%lO*g#W#*OZ(Op(R!bOY#)wZr#)wrs!Icsw#)wwx#!|x#O#)w#O#P!A{#P#Q#'Z#Q;'S#)w;'S;=`#*q<%lO#)w#W#*tP;=`<%l#)w#W#*zP;=`<%l#'Z(r#+W`$f&j(Op(R!bOY#*}YZ&cZr#*}rs!Jasw#*}wx##zx!^#*}!^!_#)w!_#O#*}#O#P!Cr#P#Q!;Z#Q#o#*}#o#p#)w#p;'S#*};'S;=`#,Y<%lO#*}(r#,]P;=`<%l#*}(r#,cP;=`<%l!;Z(CS#,sb$f&j(Op(R!b'v(;d!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(CS#.W_$f&j(Op(R!bS(;dOY#-{YZ&cZr#-{rs#/Vsw#-{wx#2gx!^#-{!^!_#4f!_#O#-{#O#P#0X#P#o#-{#o#p#4f#p;'S#-{;'S;=`#5e<%lO#-{(Bb#/`]$f&j(R!bS(;dOY#/VYZ&cZw#/Vwx#0Xx!^#/V!^!_#1j!_#O#/V#O#P#0X#P#o#/V#o#p#1j#p;'S#/V;'S;=`#2a<%lO#/V(AO#0`X$f&jS(;dOY#0XYZ&cZ!^#0X!^!_#0{!_#o#0X#o#p#0{#p;'S#0X;'S;=`#1d<%lO#0X(;d#1QSS(;dOY#0{Z;'S#0{;'S;=`#1^<%lO#0{(;d#1aP;=`<%l#0{(AO#1gP;=`<%l#0X(<v#1qW(R!bS(;dOY#1jZw#1jwx#0{x#O#1j#O#P#0{#P;'S#1j;'S;=`#2Z<%lO#1j(<v#2^P;=`<%l#1j(Bb#2dP;=`<%l#/V(Ap#2p]$f&j(OpS(;dOY#2gYZ&cZr#2grs#0Xs!^#2g!^!_#3i!_#O#2g#O#P#0X#P#o#2g#o#p#3i#p;'S#2g;'S;=`#4`<%lO#2g(<U#3pW(OpS(;dOY#3iZr#3irs#0{s#O#3i#O#P#0{#P;'S#3i;'S;=`#4Y<%lO#3i(<U#4]P;=`<%l#3i(Ap#4cP;=`<%l#2g(=h#4oY(Op(R!bS(;dOY#4fZr#4frs#1jsw#4fwx#3ix#O#4f#O#P#0{#P;'S#4f;'S;=`#5_<%lO#4f(=h#5bP;=`<%l#4f(CS#5hP;=`<%l#-{%#W#5xb$f&j$O$Id(Op(R!b!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z+h#7_b$W#t$f&j(Op(R!b!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z$/l#8rp$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#U%Z#U#V#>Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#d#AY#d#l%Z#l#m#D[#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;Rk$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#=R_$f&j(Op(R!bo$'|OY%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$/l#>Zd$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Acc$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Bye$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Deg$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#FXi$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#HT_!d$b$f&j#|%<f(Op(R!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)[#I__`l$f&j(Op(R!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(@^#Jk^g!*v!h'.r(Op(R!b(tSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Kg!Q!^*g!^!_#L]!_!`#M}!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#KpX$h&j(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#LfZ#n$Id(Op(R!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#MX!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#MbX$O$Id(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#NWX#o$Id(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh$ Oa#[%?x$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$!T!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W$!`_#g$Ih$f&j(Op(R!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%Gh$#nafBf#o$Id$c#|$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$$s!`!a$%}!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$%O_#o$Id$f&j(Op(R!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%#S$&Ya#n$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$'_!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$'j`#n$Id$f&j(Op(R!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'+h$(wc(h$Ip$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$*S!P!^%Z!^!_*g!_!a%Z!a!b$+^!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$*__}'#p$f&j(Op(R!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%#S$+i`$f&j#y$Id(Op(R!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#&^$,v_!{!Ln$f&j(Op(R!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(@^$.Q_!P(8n$f&j(Op(R!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$/UZ$f&jO!^$/w!^!_$0_!_#i$/w#i#j$0d#j#l$/w#l#m$2V#m#o$/w#o#p$0_#p;'S$/w;'S;=`$4b<%lO$/w(n$0OT^#S$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0dO^#S(n$0i[$f&jO!Q&c!Q![$1_![!^&c!_!c&c!c!i$1_!i#T&c#T#Z$1_#Z#o&c#o#p$3u#p;'S&c;'S;=`&w<%lO&c(n$1dZ$f&jO!Q&c!Q![$2V![!^&c!_!c&c!c!i$2V!i#T&c#T#Z$2V#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2[Z$f&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$3SZ$f&jO!Q&c!Q![$/w![!^&c!_!c&c!c!i$/w!i#T&c#T#Z$/w#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$3xR!Q![$4R!c!i$4R#T#Z$4R#S$4US!Q![$4R!c!i$4R#T#Z$4R#q#r$0_(n$4eP;=`<%l$/w!2r$4s_!V!+S$f&j(Op(R!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%#S$5}`#v$Id$f&j(Op(R!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&,v$7[_$f&j(Op(R!b(X&%WOY%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(CS$8jk$f&j(Op(R!b'{&;d$[#t([!LYOY%ZYZ&cZr%Zrs&}st%Ztu$8Zuw%Zwx(rx}%Z}!O$:_!O!Q%Z!Q![$8Z![!^%Z!^!_*g!_!c%Z!c!}$8Z!}#O%Z#O#P&c#P#R%Z#R#S$8Z#S#T%Z#T#o$8Z#o#p*g#p$g%Z$g;'S$8Z;'S;=`$<e<%lO$8Z+d$:jk$f&j(Op(R!b$[#tOY%ZYZ&cZr%Zrs&}st%Ztu$:_uw%Zwx(rx}%Z}!O$:_!O!Q%Z!Q![$:_![!^%Z!^!_*g!_!c%Z!c!}$:_!}#O%Z#O#P&c#P#R%Z#R#S$:_#S#T%Z#T#o$:_#o#p*g#p$g%Z$g;'S$:_;'S;=`$<_<%lO$:_+d$<bP;=`<%l$:_(CS$<hP;=`<%l$8Z!5p$<tX![!3l(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g&CO$=la(o&;`$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+^#q;'S%Z;'S;=`+a<%lO%Z%#`$?O_!Z$I`r`$f&j(Op(R!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(r$@Y_!pS$f&j(Op(R!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(CS$Aj|$f&j(Op(R!b't(;d$Y#t'{&;d([!LYOX%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$AX#BZ$ISEr$IS$I_$AX$I_$JTEr$JT$JU$AX$JU$KVEr$KV$KW$AX$KW&FUEr&FU&FV$AX&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AX?HUOEr(CS$Duk$f&j(Op(R!b'u(;d$Y#t'{&;d([!LYOY%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: [wO, WO, gO, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, mO, new x("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOt~~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(Z~~", 141, 332), new x("j~RQYZXz{^~^O'x~~aP!P!Qd~iO'y~~", 25, 315)],
|
152 |
+
topRules: { Script: [0, 6], SingleExpression: [1, 269], SingleClassItem: [2, 270] },
|
153 |
+
dialects: { jsx: 0, ts: 14614 },
|
154 |
+
dynamicPrecedences: { 69: 1, 79: 1, 81: 1, 165: 1, 193: 1 },
|
155 |
+
specialized: [{ term: 319, get: (O) => jO[O] || -1 }, { term: 334, get: (O) => kO[O] || -1 }, { term: 70, get: (O) => bO[O] || -1 }],
|
156 |
+
tokenPrec: 14638
|
157 |
+
}), T = [
|
158 |
+
/* @__PURE__ */ n("function ${name}(${params}) {\n ${}\n}", {
|
159 |
+
label: "function",
|
160 |
+
detail: "definition",
|
161 |
+
type: "keyword"
|
162 |
+
}),
|
163 |
+
/* @__PURE__ */ n("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}", {
|
164 |
+
label: "for",
|
165 |
+
detail: "loop",
|
166 |
+
type: "keyword"
|
167 |
+
}),
|
168 |
+
/* @__PURE__ */ n("for (let ${name} of ${collection}) {\n ${}\n}", {
|
169 |
+
label: "for",
|
170 |
+
detail: "of loop",
|
171 |
+
type: "keyword"
|
172 |
+
}),
|
173 |
+
/* @__PURE__ */ n("do {\n ${}\n} while (${})", {
|
174 |
+
label: "do",
|
175 |
+
detail: "loop",
|
176 |
+
type: "keyword"
|
177 |
+
}),
|
178 |
+
/* @__PURE__ */ n("while (${}) {\n ${}\n}", {
|
179 |
+
label: "while",
|
180 |
+
detail: "loop",
|
181 |
+
type: "keyword"
|
182 |
+
}),
|
183 |
+
/* @__PURE__ */ n(`try {
|
184 |
+
\${}
|
185 |
+
} catch (\${error}) {
|
186 |
+
\${}
|
187 |
+
}`, {
|
188 |
+
label: "try",
|
189 |
+
detail: "/ catch block",
|
190 |
+
type: "keyword"
|
191 |
+
}),
|
192 |
+
/* @__PURE__ */ n("if (${}) {\n ${}\n}", {
|
193 |
+
label: "if",
|
194 |
+
detail: "block",
|
195 |
+
type: "keyword"
|
196 |
+
}),
|
197 |
+
/* @__PURE__ */ n(`if (\${}) {
|
198 |
+
\${}
|
199 |
+
} else {
|
200 |
+
\${}
|
201 |
+
}`, {
|
202 |
+
label: "if",
|
203 |
+
detail: "/ else block",
|
204 |
+
type: "keyword"
|
205 |
+
}),
|
206 |
+
/* @__PURE__ */ n(`class \${name} {
|
207 |
+
constructor(\${params}) {
|
208 |
+
\${}
|
209 |
+
}
|
210 |
+
}`, {
|
211 |
+
label: "class",
|
212 |
+
detail: "definition",
|
213 |
+
type: "keyword"
|
214 |
+
}),
|
215 |
+
/* @__PURE__ */ n('import {${names}} from "${module}"\n${}', {
|
216 |
+
label: "import",
|
217 |
+
detail: "named",
|
218 |
+
type: "keyword"
|
219 |
+
}),
|
220 |
+
/* @__PURE__ */ n('import ${name} from "${module}"\n${}', {
|
221 |
+
label: "import",
|
222 |
+
detail: "default",
|
223 |
+
type: "keyword"
|
224 |
+
})
|
225 |
+
], hO = /* @__PURE__ */ T.concat([
|
226 |
+
/* @__PURE__ */ n("interface ${name} {\n ${}\n}", {
|
227 |
+
label: "interface",
|
228 |
+
detail: "definition",
|
229 |
+
type: "keyword"
|
230 |
+
}),
|
231 |
+
/* @__PURE__ */ n("type ${name} = ${type}", {
|
232 |
+
label: "type",
|
233 |
+
detail: "definition",
|
234 |
+
type: "keyword"
|
235 |
+
}),
|
236 |
+
/* @__PURE__ */ n("enum ${name} {\n ${}\n}", {
|
237 |
+
label: "enum",
|
238 |
+
detail: "definition",
|
239 |
+
type: "keyword"
|
240 |
+
})
|
241 |
+
]), q = /* @__PURE__ */ new eO(), V = /* @__PURE__ */ new Set([
|
242 |
+
"Script",
|
243 |
+
"Block",
|
244 |
+
"FunctionExpression",
|
245 |
+
"FunctionDeclaration",
|
246 |
+
"ArrowFunction",
|
247 |
+
"MethodDeclaration",
|
248 |
+
"ForStatement"
|
249 |
+
]);
|
250 |
+
function s(O) {
|
251 |
+
return (a, Q) => {
|
252 |
+
let e = a.node.getChild("VariableDefinition");
|
253 |
+
return e && Q(e, O), !0;
|
254 |
+
};
|
255 |
+
}
|
256 |
+
const qO = ["FunctionDeclaration"], _O = {
|
257 |
+
FunctionDeclaration: /* @__PURE__ */ s("function"),
|
258 |
+
ClassDeclaration: /* @__PURE__ */ s("class"),
|
259 |
+
ClassExpression: () => !0,
|
260 |
+
EnumDeclaration: /* @__PURE__ */ s("constant"),
|
261 |
+
TypeAliasDeclaration: /* @__PURE__ */ s("type"),
|
262 |
+
NamespaceDeclaration: /* @__PURE__ */ s("namespace"),
|
263 |
+
VariableDefinition(O, a) {
|
264 |
+
O.matchContext(qO) || a(O, "variable");
|
265 |
+
},
|
266 |
+
TypeDefinition(O, a) {
|
267 |
+
a(O, "type");
|
268 |
+
},
|
269 |
+
__proto__: null
|
270 |
+
};
|
271 |
+
function U(O, a) {
|
272 |
+
let Q = q.get(a);
|
273 |
+
if (Q)
|
274 |
+
return Q;
|
275 |
+
let e = [], $ = !0;
|
276 |
+
function r(Z, t) {
|
277 |
+
let p = O.sliceString(Z.from, Z.to);
|
278 |
+
e.push({ label: p, type: t });
|
279 |
+
}
|
280 |
+
return a.cursor(QO.IncludeAnonymous).iterate((Z) => {
|
281 |
+
if ($)
|
282 |
+
$ = !1;
|
283 |
+
else if (Z.name) {
|
284 |
+
let t = _O[Z.name];
|
285 |
+
if (t && t(Z, r) || V.has(Z.name))
|
286 |
+
return !1;
|
287 |
+
} else if (Z.to - Z.from > 8192) {
|
288 |
+
for (let t of U(O, Z.node))
|
289 |
+
e.push(t);
|
290 |
+
return !1;
|
291 |
+
}
|
292 |
+
}), q.set(a, e), e;
|
293 |
+
}
|
294 |
+
const Y = /^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/, k = [
|
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 = j(O.state).resolveInner(O.pos, -1);
|
312 |
+
if (k.indexOf(a.name) > -1)
|
313 |
+
return null;
|
314 |
+
let Q = a.name == "VariableName" || a.to - a.from < 20 && Y.test(O.state.sliceDoc(a.from, a.to));
|
315 |
+
if (!Q && !O.explicit)
|
316 |
+
return null;
|
317 |
+
let e = [];
|
318 |
+
for (let $ = a; $; $ = $.parent)
|
319 |
+
V.has($.name) && (e = e.concat(U(O.state.doc, $)));
|
320 |
+
return {
|
321 |
+
options: e,
|
322 |
+
from: Q ? a.from : O.pos,
|
323 |
+
validFor: Y
|
324 |
+
};
|
325 |
+
}
|
326 |
+
function W(O, a, Q) {
|
327 |
+
var e;
|
328 |
+
let $ = [];
|
329 |
+
for (; ; ) {
|
330 |
+
let r = a.firstChild, Z;
|
331 |
+
if ((r == null ? void 0 : r.name) == "VariableName")
|
332 |
+
return $.push(O(r)), { path: $.reverse(), name: Q };
|
333 |
+
if ((r == null ? void 0 : r.name) == "MemberExpression" && ((e = Z = r.lastChild) === null || e === void 0 ? void 0 : e.name) == "PropertyName")
|
334 |
+
$.push(O(Z)), a = r;
|
335 |
+
else
|
336 |
+
return null;
|
337 |
+
}
|
338 |
+
}
|
339 |
+
function RO(O) {
|
340 |
+
let a = (e) => O.state.doc.sliceString(e.from, e.to), Q = j(O.state).resolveInner(O.pos, -1);
|
341 |
+
return Q.name == "PropertyName" ? W(a, Q.parent, a(Q)) : (Q.name == "." || Q.name == "?.") && Q.parent.name == "MemberExpression" ? W(a, Q.parent, "") : k.indexOf(Q.name) > -1 ? null : Q.name == "VariableName" || Q.to - Q.from < 20 && Y.test(a(Q)) ? { path: [], name: a(Q) } : Q.name == "MemberExpression" ? W(a, Q, "") : O.explicit ? { path: [], name: "" } : null;
|
342 |
+
}
|
343 |
+
function GO(O, a) {
|
344 |
+
let Q = [], e = /* @__PURE__ */ new Set();
|
345 |
+
for (let $ = 0; ; $++) {
|
346 |
+
for (let Z of (Object.getOwnPropertyNames || Object.keys)(O)) {
|
347 |
+
if (!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(Z) || e.has(Z))
|
348 |
+
continue;
|
349 |
+
e.add(Z);
|
350 |
+
let t;
|
351 |
+
try {
|
352 |
+
t = O[Z];
|
353 |
+
} catch {
|
354 |
+
continue;
|
355 |
+
}
|
356 |
+
Q.push({
|
357 |
+
label: Z,
|
358 |
+
type: typeof t == "function" ? /^[A-Z]/.test(Z) ? "class" : a ? "function" : "method" : a ? "variable" : "property",
|
359 |
+
boost: -$
|
360 |
+
});
|
361 |
+
}
|
362 |
+
let r = Object.getPrototypeOf(O);
|
363 |
+
if (!r)
|
364 |
+
return Q;
|
365 |
+
O = r;
|
366 |
+
}
|
367 |
+
}
|
368 |
+
function NO(O) {
|
369 |
+
let a = /* @__PURE__ */ new Map();
|
370 |
+
return (Q) => {
|
371 |
+
let e = RO(Q);
|
372 |
+
if (!e)
|
373 |
+
return null;
|
374 |
+
let $ = O;
|
375 |
+
for (let Z of e.path)
|
376 |
+
if ($ = $[Z], !$)
|
377 |
+
return null;
|
378 |
+
let r = a.get($);
|
379 |
+
return r || a.set($, r = GO($, !e.path.length)), {
|
380 |
+
from: Q.pos - e.name.length,
|
381 |
+
options: r,
|
382 |
+
validFor: Y
|
383 |
+
};
|
384 |
+
};
|
385 |
+
}
|
386 |
+
const c = /* @__PURE__ */ J.define({
|
387 |
+
name: "javascript",
|
388 |
+
parser: /* @__PURE__ */ xO.configure({
|
389 |
+
props: [
|
390 |
+
/* @__PURE__ */ N.add({
|
391 |
+
IfStatement: /* @__PURE__ */ m({ except: /^\s*({|else\b)/ }),
|
392 |
+
TryStatement: /* @__PURE__ */ m({ except: /^\s*({|catch\b|finally\b)/ }),
|
393 |
+
LabeledStatement: D,
|
394 |
+
SwitchBody: (O) => {
|
395 |
+
let a = O.textAfter, Q = /^\s*\}/.test(a), e = /^\s*(case|default)\b/.test(a);
|
396 |
+
return O.baseIndent + (Q ? 0 : e ? 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__ */ m({ 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__ */ B.add({
|
415 |
+
"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType": L,
|
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 |
+
}), v = {
|
429 |
+
test: (O) => /^JSX/.test(O.name),
|
430 |
+
facet: /* @__PURE__ */ iO({ commentTokens: { block: { open: "{/*", close: "*/}" } } })
|
431 |
+
}, TO = /* @__PURE__ */ c.configure({ dialect: "ts" }, "typescript"), VO = /* @__PURE__ */ c.configure({
|
432 |
+
dialect: "jsx",
|
433 |
+
props: [/* @__PURE__ */ R.add((O) => O.isTop ? [v] : void 0)]
|
434 |
+
}), UO = /* @__PURE__ */ c.configure({
|
435 |
+
dialect: "jsx ts",
|
436 |
+
props: [/* @__PURE__ */ R.add((O) => O.isTop ? [v] : void 0)]
|
437 |
+
}, "typescript");
|
438 |
+
let z = (O) => ({ label: O, type: "keyword" });
|
439 |
+
const E = /* @__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(z), vO = /* @__PURE__ */ E.concat(/* @__PURE__ */ ["declare", "implements", "private", "protected", "public"].map(z));
|
440 |
+
function DO(O = {}) {
|
441 |
+
let a = O.jsx ? O.typescript ? UO : VO : O.typescript ? TO : c, Q = O.typescript ? hO.concat(vO) : T.concat(E);
|
442 |
+
return new F(a, [
|
443 |
+
c.data.of({
|
444 |
+
autocomplete: H(k, M(Q))
|
445 |
+
}),
|
446 |
+
c.data.of({
|
447 |
+
autocomplete: uO
|
448 |
+
}),
|
449 |
+
O.jsx ? CO : []
|
450 |
+
]);
|
451 |
+
}
|
452 |
+
function zO(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 _(O, a, Q = O.length) {
|
462 |
+
for (let e = a == null ? void 0 : a.firstChild; e; e = e.nextSibling)
|
463 |
+
if (e.name == "JSXIdentifier" || e.name == "JSXBuiltin" || e.name == "JSXNamespacedName" || e.name == "JSXMemberExpression")
|
464 |
+
return O.sliceString(e.from, Math.min(e.to, Q));
|
465 |
+
return "";
|
466 |
+
}
|
467 |
+
const EO = typeof navigator == "object" && /* @__PURE__ */ /Android\b/.test(navigator.userAgent), CO = /* @__PURE__ */ OO.inputHandler.of((O, a, Q, e, $) => {
|
468 |
+
if ((EO ? O.composing : O.compositionStarted) || O.state.readOnly || a != Q || e != ">" && e != "/" || !c.isActiveAt(O.state, a, -1))
|
469 |
+
return !1;
|
470 |
+
let r = $(), { state: Z } = r, t = Z.changeByRange((p) => {
|
471 |
+
var S;
|
472 |
+
let { head: o } = p, P = j(Z).resolveInner(o - 1, -1), X;
|
473 |
+
if (P.name == "JSXStartTag" && (P = P.parent), !(Z.doc.sliceString(o - 1, o) != e || P.name == "JSXAttributeValue" && P.to > o)) {
|
474 |
+
if (e == ">" && P.name == "JSXFragmentTag")
|
475 |
+
return { range: p, changes: { from: o, insert: "</>" } };
|
476 |
+
if (e == "/" && P.name == "JSXStartCloseTag") {
|
477 |
+
let l = P.parent, f = l.parent;
|
478 |
+
if (f && l.from == o - 2 && ((X = _(Z.doc, f.firstChild, o)) || ((S = f.firstChild) === null || S === void 0 ? void 0 : S.name) == "JSXFragmentTag")) {
|
479 |
+
let b = `${X}>`;
|
480 |
+
return { range: aO.cursor(o + b.length, -1), changes: { from: o, insert: b } };
|
481 |
+
}
|
482 |
+
} else if (e == ">") {
|
483 |
+
let l = zO(P);
|
484 |
+
if (l && !/^\/?>|^<\//.test(Z.doc.sliceString(o, o + 2)) && (X = _(Z.doc, l, o)))
|
485 |
+
return { range: p, changes: { from: o, insert: `</${X}>` } };
|
486 |
+
}
|
487 |
+
}
|
488 |
+
return { range: p };
|
489 |
+
});
|
490 |
+
return t.changes.empty ? !1 : (O.dispatch([
|
491 |
+
r,
|
492 |
+
Z.update(t, { userEvent: "input.complete", scrollIntoView: !0 })
|
493 |
+
]), !0);
|
494 |
+
});
|
495 |
+
function KO(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, e) => {
|
501 |
+
Q.meta.docs.recommended && (a.rules[e] = 2);
|
502 |
+
})), (Q) => {
|
503 |
+
let { state: e } = Q, $ = [];
|
504 |
+
for (let { from: r, to: Z } of c.findRegions(e)) {
|
505 |
+
let t = e.doc.lineAt(r), p = { line: t.number - 1, col: r - t.from, pos: r };
|
506 |
+
for (let S of O.verify(e.sliceDoc(r, Z), a))
|
507 |
+
$.push(IO(S, e.doc, p));
|
508 |
+
}
|
509 |
+
return $;
|
510 |
+
};
|
511 |
+
}
|
512 |
+
function u(O, a, Q, e) {
|
513 |
+
return Q.line(O + e.line).from + a + (O == 1 ? e.col - 1 : -1);
|
514 |
+
}
|
515 |
+
function IO(O, a, Q) {
|
516 |
+
let e = u(O.line, O.column, a, Q), $ = {
|
517 |
+
from: e,
|
518 |
+
to: O.endLine != null && O.endColumn != 1 ? u(O.endLine, O.endColumn, a, Q) : e,
|
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: r, text: Z } = O.fix, t = r[0] + Q.pos - e, p = r[1] + Q.pos - e;
|
525 |
+
$.actions = [{
|
526 |
+
name: "fix",
|
527 |
+
apply(S, o) {
|
528 |
+
S.dispatch({ changes: { from: o + t, to: o + p, insert: Z }, scrollIntoView: !0 });
|
529 |
+
}
|
530 |
+
}];
|
531 |
+
}
|
532 |
+
return $;
|
533 |
+
}
|
534 |
+
export {
|
535 |
+
CO as autoCloseTags,
|
536 |
+
RO as completionPath,
|
537 |
+
KO as esLint,
|
538 |
+
DO as javascript,
|
539 |
+
c as javascriptLanguage,
|
540 |
+
VO as jsxLanguage,
|
541 |
+
uO as localCompletionSource,
|
542 |
+
NO as scopeCompletionSource,
|
543 |
+
T as snippets,
|
544 |
+
UO as tsxLanguage,
|
545 |
+
TO as typescriptLanguage,
|
546 |
+
hO as typescriptSnippets
|
547 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index-b8615717.js
ADDED
@@ -0,0 +1,1758 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { j as _, k as H, s as Ae, l as Ie, t as c, P as rt, T as nt, m as E, p as st, a as q, E as P, n as T, e as ae, o as it, q as ot, C as at, r as lt, u as ht, v as ft, w as ut, f as Be, b as dt, x as pt, y as ct, z as le, A as mt } from "./Index-805076c9.js";
|
2 |
+
import { htmlCompletionSource as gt, html as kt } from "./index-6c267d21.js";
|
3 |
+
import "./index-3f1cf095.js";
|
4 |
+
import "./index-8ba95b76.js";
|
5 |
+
import "./index-9f51af45.js";
|
6 |
+
class j {
|
7 |
+
static create(e, r, n, s, i) {
|
8 |
+
let o = s + (s << 8) + e + (r << 4) | 0;
|
9 |
+
return new j(e, r, n, o, i, [], []);
|
10 |
+
}
|
11 |
+
constructor(e, r, n, s, i, o, a) {
|
12 |
+
this.type = e, this.value = r, this.from = n, this.hash = s, this.end = i, this.children = o, this.positions = a, this.hashProp = [[H.contextHash, s]];
|
13 |
+
}
|
14 |
+
addChild(e, r) {
|
15 |
+
e.prop(H.contextHash) != this.hash && (e = new E(e.type, e.children, e.positions, e.length, this.hashProp)), this.children.push(e), this.positions.push(r);
|
16 |
+
}
|
17 |
+
toTree(e, r = this.end) {
|
18 |
+
let n = this.children.length - 1;
|
19 |
+
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({
|
20 |
+
makeTree: (s, i, o) => new E(_.none, s, i, o, this.hashProp)
|
21 |
+
});
|
22 |
+
}
|
23 |
+
}
|
24 |
+
var u;
|
25 |
+
(function(t) {
|
26 |
+
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";
|
27 |
+
})(u || (u = {}));
|
28 |
+
class Lt {
|
29 |
+
/// @internal
|
30 |
+
constructor(e, r) {
|
31 |
+
this.start = e, this.content = r, this.marks = [], this.parsers = [];
|
32 |
+
}
|
33 |
+
}
|
34 |
+
class bt {
|
35 |
+
constructor() {
|
36 |
+
this.text = "", this.baseIndent = 0, this.basePos = 0, this.depth = 0, this.markers = [], this.pos = 0, this.indent = 0, this.next = -1;
|
37 |
+
}
|
38 |
+
/// @internal
|
39 |
+
forward() {
|
40 |
+
this.basePos > this.pos && this.forwardInner();
|
41 |
+
}
|
42 |
+
/// @internal
|
43 |
+
forwardInner() {
|
44 |
+
let e = this.skipSpace(this.basePos);
|
45 |
+
this.indent = this.countIndent(e, this.pos, this.indent), this.pos = e, this.next = e == this.text.length ? -1 : this.text.charCodeAt(e);
|
46 |
+
}
|
47 |
+
/// Skip whitespace after the given position, return the position of
|
48 |
+
/// the next non-space character or the end of the line if there's
|
49 |
+
/// only space after `from`.
|
50 |
+
skipSpace(e) {
|
51 |
+
return R(this.text, e);
|
52 |
+
}
|
53 |
+
/// @internal
|
54 |
+
reset(e) {
|
55 |
+
for (this.text = e, this.baseIndent = this.basePos = this.pos = this.indent = 0, this.forwardInner(), this.depth = 1; this.markers.length; )
|
56 |
+
this.markers.pop();
|
57 |
+
}
|
58 |
+
/// Move the line's base position forward to the given position.
|
59 |
+
/// This should only be called by composite [block
|
60 |
+
/// parsers](#BlockParser.parse) or [markup skipping
|
61 |
+
/// functions](#NodeSpec.composite).
|
62 |
+
moveBase(e) {
|
63 |
+
this.basePos = e, this.baseIndent = this.countIndent(e, this.pos, this.indent);
|
64 |
+
}
|
65 |
+
/// Move the line's base position forward to the given _column_.
|
66 |
+
moveBaseColumn(e) {
|
67 |
+
this.baseIndent = e, this.basePos = this.findColumn(e);
|
68 |
+
}
|
69 |
+
/// Store a composite-block-level marker. Should be called from
|
70 |
+
/// [markup skipping functions](#NodeSpec.composite) when they
|
71 |
+
/// consume any non-whitespace characters.
|
72 |
+
addMarker(e) {
|
73 |
+
this.markers.push(e);
|
74 |
+
}
|
75 |
+
/// Find the column position at `to`, optionally starting at a given
|
76 |
+
/// position and column.
|
77 |
+
countIndent(e, r = 0, n = 0) {
|
78 |
+
for (let s = r; s < e; s++)
|
79 |
+
n += this.text.charCodeAt(s) == 9 ? 4 - n % 4 : 1;
|
80 |
+
return n;
|
81 |
+
}
|
82 |
+
/// Find the position corresponding to the given column.
|
83 |
+
findColumn(e) {
|
84 |
+
let r = 0;
|
85 |
+
for (let n = 0; r < this.text.length && n < e; r++)
|
86 |
+
n += this.text.charCodeAt(r) == 9 ? 4 - n % 4 : 1;
|
87 |
+
return r;
|
88 |
+
}
|
89 |
+
/// @internal
|
90 |
+
scrub() {
|
91 |
+
if (!this.baseIndent)
|
92 |
+
return this.text;
|
93 |
+
let e = "";
|
94 |
+
for (let r = 0; r < this.basePos; r++)
|
95 |
+
e += " ";
|
96 |
+
return e + this.text.slice(this.basePos);
|
97 |
+
}
|
98 |
+
}
|
99 |
+
function he(t, e, r) {
|
100 |
+
if (r.pos == r.text.length || t != e.block && r.indent >= e.stack[r.depth + 1].value + r.baseIndent)
|
101 |
+
return !0;
|
102 |
+
if (r.indent >= r.baseIndent + 4)
|
103 |
+
return !1;
|
104 |
+
let n = (t.type == u.OrderedList ? se : ne)(r, e, !1);
|
105 |
+
return n > 0 && (t.type != u.BulletList || re(r, e, !1) < 0) && r.text.charCodeAt(r.pos + n - 1) == t.value;
|
106 |
+
}
|
107 |
+
const Ee = {
|
108 |
+
[u.Blockquote](t, e, r) {
|
109 |
+
return r.next != 62 ? !1 : (r.markers.push(g(u.QuoteMark, e.lineStart + r.pos, e.lineStart + r.pos + 1)), r.moveBase(r.pos + (C(r.text.charCodeAt(r.pos + 1)) ? 2 : 1)), t.end = e.lineStart + r.text.length, !0);
|
110 |
+
},
|
111 |
+
[u.ListItem](t, e, r) {
|
112 |
+
return r.indent < r.baseIndent + t.value && r.next > -1 ? !1 : (r.moveBaseColumn(r.baseIndent + t.value), !0);
|
113 |
+
},
|
114 |
+
[u.OrderedList]: he,
|
115 |
+
[u.BulletList]: he,
|
116 |
+
[u.Document]() {
|
117 |
+
return !0;
|
118 |
+
}
|
119 |
+
};
|
120 |
+
function C(t) {
|
121 |
+
return t == 32 || t == 9 || t == 10 || t == 13;
|
122 |
+
}
|
123 |
+
function R(t, e = 0) {
|
124 |
+
for (; e < t.length && C(t.charCodeAt(e)); )
|
125 |
+
e++;
|
126 |
+
return e;
|
127 |
+
}
|
128 |
+
function fe(t, e, r) {
|
129 |
+
for (; e > r && C(t.charCodeAt(e - 1)); )
|
130 |
+
e--;
|
131 |
+
return e;
|
132 |
+
}
|
133 |
+
function Me(t) {
|
134 |
+
if (t.next != 96 && t.next != 126)
|
135 |
+
return -1;
|
136 |
+
let e = t.pos + 1;
|
137 |
+
for (; e < t.text.length && t.text.charCodeAt(e) == t.next; )
|
138 |
+
e++;
|
139 |
+
if (e < t.pos + 3)
|
140 |
+
return -1;
|
141 |
+
if (t.next == 96) {
|
142 |
+
for (let r = e; r < t.text.length; r++)
|
143 |
+
if (t.text.charCodeAt(r) == 96)
|
144 |
+
return -1;
|
145 |
+
}
|
146 |
+
return e;
|
147 |
+
}
|
148 |
+
function Pe(t) {
|
149 |
+
return t.next != 62 ? -1 : t.text.charCodeAt(t.pos + 1) == 32 ? 2 : 1;
|
150 |
+
}
|
151 |
+
function re(t, e, r) {
|
152 |
+
if (t.next != 42 && t.next != 45 && t.next != 95)
|
153 |
+
return -1;
|
154 |
+
let n = 1;
|
155 |
+
for (let s = t.pos + 1; s < t.text.length; s++) {
|
156 |
+
let i = t.text.charCodeAt(s);
|
157 |
+
if (i == t.next)
|
158 |
+
n++;
|
159 |
+
else if (!C(i))
|
160 |
+
return -1;
|
161 |
+
}
|
162 |
+
return r && t.next == 45 && Ne(t) > -1 && t.depth == e.stack.length || n < 3 ? -1 : 1;
|
163 |
+
}
|
164 |
+
function He(t, e) {
|
165 |
+
for (let r = t.stack.length - 1; r >= 0; r--)
|
166 |
+
if (t.stack[r].type == e)
|
167 |
+
return !0;
|
168 |
+
return !1;
|
169 |
+
}
|
170 |
+
function ne(t, e, r) {
|
171 |
+
return (t.next == 45 || t.next == 43 || t.next == 42) && (t.pos == t.text.length - 1 || C(t.text.charCodeAt(t.pos + 1))) && (!r || He(e, u.BulletList) || t.skipSpace(t.pos + 2) < t.text.length) ? 1 : -1;
|
172 |
+
}
|
173 |
+
function se(t, e, r) {
|
174 |
+
let n = t.pos, s = t.next;
|
175 |
+
for (; s >= 48 && s <= 57; ) {
|
176 |
+
n++;
|
177 |
+
if (n == t.text.length)
|
178 |
+
return -1;
|
179 |
+
s = t.text.charCodeAt(n);
|
180 |
+
}
|
181 |
+
return n == t.pos || n > t.pos + 9 || s != 46 && s != 41 || n < t.text.length - 1 && !C(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;
|
182 |
+
}
|
183 |
+
function ve(t) {
|
184 |
+
if (t.next != 35)
|
185 |
+
return -1;
|
186 |
+
let e = t.pos + 1;
|
187 |
+
for (; e < t.text.length && t.text.charCodeAt(e) == 35; )
|
188 |
+
e++;
|
189 |
+
if (e < t.text.length && t.text.charCodeAt(e) != 32)
|
190 |
+
return -1;
|
191 |
+
let r = e - t.pos;
|
192 |
+
return r > 6 ? -1 : r;
|
193 |
+
}
|
194 |
+
function Ne(t) {
|
195 |
+
if (t.next != 45 && t.next != 61 || t.indent >= t.baseIndent + 4)
|
196 |
+
return -1;
|
197 |
+
let e = t.pos + 1;
|
198 |
+
for (; e < t.text.length && t.text.charCodeAt(e) == t.next; )
|
199 |
+
e++;
|
200 |
+
let r = e;
|
201 |
+
for (; e < t.text.length && C(t.text.charCodeAt(e)); )
|
202 |
+
e++;
|
203 |
+
return e == t.text.length ? r : -1;
|
204 |
+
}
|
205 |
+
const K = /^[ \t]*$/, ye = /-->/, Re = /\?>/, J = [
|
206 |
+
[/^<(?:script|pre|style)(?:\s|>|$)/i, /<\/(?:script|pre|style)>/i],
|
207 |
+
[/^\s*<!--/, ye],
|
208 |
+
[/^\s*<\?/, Re],
|
209 |
+
[/^\s*<![A-Z]/, />/],
|
210 |
+
[/^\s*<!\[CDATA\[/, /\]\]>/],
|
211 |
+
[/^\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],
|
212 |
+
[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i, K]
|
213 |
+
];
|
214 |
+
function Oe(t, e, r) {
|
215 |
+
if (t.next != 60)
|
216 |
+
return -1;
|
217 |
+
let n = t.text.slice(t.pos);
|
218 |
+
for (let s = 0, i = J.length - (r ? 1 : 0); s < i; s++)
|
219 |
+
if (J[s][0].test(n))
|
220 |
+
return s;
|
221 |
+
return -1;
|
222 |
+
}
|
223 |
+
function ue(t, e) {
|
224 |
+
let r = t.countIndent(e, t.pos, t.indent), n = t.countIndent(t.skipSpace(e), e, r);
|
225 |
+
return n >= r + 5 ? r + 1 : n;
|
226 |
+
}
|
227 |
+
function B(t, e, r) {
|
228 |
+
let n = t.length - 1;
|
229 |
+
n >= 0 && t[n].to == e && t[n].type == u.CodeText ? t[n].to = r : t.push(g(u.CodeText, e, r));
|
230 |
+
}
|
231 |
+
const F = {
|
232 |
+
LinkReference: void 0,
|
233 |
+
IndentedCode(t, e) {
|
234 |
+
let r = e.baseIndent + 4;
|
235 |
+
if (e.indent < r)
|
236 |
+
return !1;
|
237 |
+
let n = e.findColumn(r), s = t.lineStart + n, i = t.lineStart + e.text.length, o = [], a = [];
|
238 |
+
for (B(o, s, i); t.nextLine() && e.depth >= t.stack.length; )
|
239 |
+
if (e.pos == e.text.length) {
|
240 |
+
B(a, t.lineStart - 1, t.lineStart);
|
241 |
+
for (let l of e.markers)
|
242 |
+
a.push(l);
|
243 |
+
} else {
|
244 |
+
if (e.indent < r)
|
245 |
+
break;
|
246 |
+
{
|
247 |
+
if (a.length) {
|
248 |
+
for (let f of a)
|
249 |
+
f.type == u.CodeText ? B(o, f.from, f.to) : o.push(f);
|
250 |
+
a = [];
|
251 |
+
}
|
252 |
+
B(o, t.lineStart - 1, t.lineStart);
|
253 |
+
for (let f of e.markers)
|
254 |
+
o.push(f);
|
255 |
+
i = t.lineStart + e.text.length;
|
256 |
+
let l = t.lineStart + e.findColumn(e.baseIndent + 4);
|
257 |
+
l < i && B(o, l, i);
|
258 |
+
}
|
259 |
+
}
|
260 |
+
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;
|
261 |
+
},
|
262 |
+
FencedCode(t, e) {
|
263 |
+
let r = Me(e);
|
264 |
+
if (r < 0)
|
265 |
+
return !1;
|
266 |
+
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)];
|
267 |
+
o < a && l.push(g(u.CodeInfo, t.lineStart + o, t.lineStart + a));
|
268 |
+
for (let f = !0; t.nextLine() && e.depth >= t.stack.length; f = !1) {
|
269 |
+
let h = e.pos;
|
270 |
+
if (e.indent - e.baseIndent < 4)
|
271 |
+
for (; h < e.text.length && e.text.charCodeAt(h) == s; )
|
272 |
+
h++;
|
273 |
+
if (h - e.pos >= i && e.skipSpace(h) == e.text.length) {
|
274 |
+
for (let p of e.markers)
|
275 |
+
l.push(p);
|
276 |
+
l.push(g(u.CodeMark, t.lineStart + e.pos, t.lineStart + h)), t.nextLine();
|
277 |
+
break;
|
278 |
+
} else {
|
279 |
+
f || B(l, t.lineStart - 1, t.lineStart);
|
280 |
+
for (let m of e.markers)
|
281 |
+
l.push(m);
|
282 |
+
let p = t.lineStart + e.basePos, d = t.lineStart + e.text.length;
|
283 |
+
p < d && B(l, p, d);
|
284 |
+
}
|
285 |
+
}
|
286 |
+
return t.addNode(t.buffer.writeElements(l, -n).finish(u.FencedCode, t.prevLineEnd() - n), n), !0;
|
287 |
+
},
|
288 |
+
Blockquote(t, e) {
|
289 |
+
let r = Pe(e);
|
290 |
+
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);
|
291 |
+
},
|
292 |
+
HorizontalRule(t, e) {
|
293 |
+
if (re(e, t, !1) < 0)
|
294 |
+
return !1;
|
295 |
+
let r = t.lineStart + e.pos;
|
296 |
+
return t.nextLine(), t.addNode(u.HorizontalRule, r), !0;
|
297 |
+
},
|
298 |
+
BulletList(t, e) {
|
299 |
+
let r = ne(e, t, !1);
|
300 |
+
if (r < 0)
|
301 |
+
return !1;
|
302 |
+
t.block.type != u.BulletList && t.startContext(u.BulletList, e.basePos, e.next);
|
303 |
+
let n = ue(e, e.pos + 1);
|
304 |
+
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;
|
305 |
+
},
|
306 |
+
OrderedList(t, e) {
|
307 |
+
let r = se(e, t, !1);
|
308 |
+
if (r < 0)
|
309 |
+
return !1;
|
310 |
+
t.block.type != u.OrderedList && t.startContext(u.OrderedList, e.basePos, e.text.charCodeAt(e.pos + r - 1));
|
311 |
+
let n = ue(e, e.pos + r);
|
312 |
+
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;
|
313 |
+
},
|
314 |
+
ATXHeading(t, e) {
|
315 |
+
let r = ve(e);
|
316 |
+
if (r < 0)
|
317 |
+
return !1;
|
318 |
+
let n = e.pos, s = t.lineStart + n, i = fe(e.text, e.text.length, n), o = i;
|
319 |
+
for (; o > n && e.text.charCodeAt(o - 1) == e.next; )
|
320 |
+
o--;
|
321 |
+
(o == i || o == n || !C(e.text.charCodeAt(o - 1))) && (o = e.text.length);
|
322 |
+
let a = t.buffer.write(u.HeaderMark, 0, r).writeElements(t.parser.parseInline(e.text.slice(n + r + 1, o), s + r + 1), -s);
|
323 |
+
o < e.text.length && a.write(u.HeaderMark, o - n, i - n);
|
324 |
+
let l = a.finish(u.ATXHeading1 - 1 + r, e.text.length - n);
|
325 |
+
return t.nextLine(), t.addNode(l, s), !0;
|
326 |
+
},
|
327 |
+
HTMLBlock(t, e) {
|
328 |
+
let r = Oe(e, t, !1);
|
329 |
+
if (r < 0)
|
330 |
+
return !1;
|
331 |
+
let n = t.lineStart + e.pos, s = J[r][1], i = [], o = s != K;
|
332 |
+
for (; !s.test(e.text) && t.nextLine(); ) {
|
333 |
+
if (e.depth < t.stack.length) {
|
334 |
+
o = !1;
|
335 |
+
break;
|
336 |
+
}
|
337 |
+
for (let f of e.markers)
|
338 |
+
i.push(f);
|
339 |
+
}
|
340 |
+
o && t.nextLine();
|
341 |
+
let a = s == ye ? u.CommentBlock : s == Re ? u.ProcessingInstructionBlock : u.HTMLBlock, l = t.prevLineEnd();
|
342 |
+
return t.addNode(t.buffer.writeElements(i, -n).finish(a, l - n), n), !0;
|
343 |
+
},
|
344 |
+
SetextHeading: void 0
|
345 |
+
// Specifies relative precedence for block-continue function
|
346 |
+
};
|
347 |
+
class wt {
|
348 |
+
constructor(e) {
|
349 |
+
this.stage = 0, this.elts = [], this.pos = 0, this.start = e.start, this.advance(e.content);
|
350 |
+
}
|
351 |
+
nextLine(e, r, n) {
|
352 |
+
if (this.stage == -1)
|
353 |
+
return !1;
|
354 |
+
let s = n.content + `
|
355 |
+
` + r.scrub(), i = this.advance(s);
|
356 |
+
return i > -1 && i < s.length ? this.complete(e, n, i) : !1;
|
357 |
+
}
|
358 |
+
finish(e, r) {
|
359 |
+
return (this.stage == 2 || this.stage == 3) && R(r.content, this.pos) == r.content.length ? this.complete(e, r, r.content.length) : !1;
|
360 |
+
}
|
361 |
+
complete(e, r, n) {
|
362 |
+
return e.addLeafElement(r, g(u.LinkReference, this.start, this.start + n, this.elts)), !0;
|
363 |
+
}
|
364 |
+
nextStage(e) {
|
365 |
+
return e ? (this.pos = e.to - this.start, this.elts.push(e), this.stage++, !0) : (e === !1 && (this.stage = -1), !1);
|
366 |
+
}
|
367 |
+
advance(e) {
|
368 |
+
for (; ; ) {
|
369 |
+
if (this.stage == -1)
|
370 |
+
return -1;
|
371 |
+
if (this.stage == 0) {
|
372 |
+
if (!this.nextStage(qe(e, this.pos, this.start, !0)))
|
373 |
+
return -1;
|
374 |
+
if (e.charCodeAt(this.pos) != 58)
|
375 |
+
return this.stage = -1;
|
376 |
+
this.elts.push(g(u.LinkMark, this.pos + this.start, this.pos + this.start + 1)), this.pos++;
|
377 |
+
} else if (this.stage == 1) {
|
378 |
+
if (!this.nextStage(je(e, R(e, this.pos), this.start)))
|
379 |
+
return -1;
|
380 |
+
} else if (this.stage == 2) {
|
381 |
+
let r = R(e, this.pos), n = 0;
|
382 |
+
if (r > this.pos) {
|
383 |
+
let s = _e(e, r, this.start);
|
384 |
+
if (s) {
|
385 |
+
let i = Q(e, s.to - this.start);
|
386 |
+
i > 0 && (this.nextStage(s), n = i);
|
387 |
+
}
|
388 |
+
}
|
389 |
+
return n || (n = Q(e, this.pos)), n > 0 && n < e.length ? n : -1;
|
390 |
+
} else
|
391 |
+
return Q(e, this.pos);
|
392 |
+
}
|
393 |
+
}
|
394 |
+
}
|
395 |
+
function Q(t, e) {
|
396 |
+
for (; e < t.length; e++) {
|
397 |
+
let r = t.charCodeAt(e);
|
398 |
+
if (r == 10)
|
399 |
+
break;
|
400 |
+
if (!C(r))
|
401 |
+
return -1;
|
402 |
+
}
|
403 |
+
return e;
|
404 |
+
}
|
405 |
+
class St {
|
406 |
+
nextLine(e, r, n) {
|
407 |
+
let s = r.depth < e.stack.length ? -1 : Ne(r), i = r.next;
|
408 |
+
if (s < 0)
|
409 |
+
return !1;
|
410 |
+
let o = g(u.HeaderMark, e.lineStart + r.pos, e.lineStart + s);
|
411 |
+
return e.nextLine(), e.addLeafElement(n, g(i == 61 ? u.SetextHeading1 : u.SetextHeading2, n.start, e.prevLineEnd(), [
|
412 |
+
...e.parser.parseInline(n.content, n.start),
|
413 |
+
o
|
414 |
+
])), !0;
|
415 |
+
}
|
416 |
+
finish() {
|
417 |
+
return !1;
|
418 |
+
}
|
419 |
+
}
|
420 |
+
const Ct = {
|
421 |
+
LinkReference(t, e) {
|
422 |
+
return e.content.charCodeAt(0) == 91 ? new wt(e) : null;
|
423 |
+
},
|
424 |
+
SetextHeading() {
|
425 |
+
return new St();
|
426 |
+
}
|
427 |
+
}, xt = [
|
428 |
+
(t, e) => ve(e) >= 0,
|
429 |
+
(t, e) => Me(e) >= 0,
|
430 |
+
(t, e) => Pe(e) >= 0,
|
431 |
+
(t, e) => ne(e, t, !0) >= 0,
|
432 |
+
(t, e) => se(e, t, !0) >= 0,
|
433 |
+
(t, e) => re(e, t, !0) >= 0,
|
434 |
+
(t, e) => Oe(e, t, !0) >= 0
|
435 |
+
], At = { text: "", end: 0 };
|
436 |
+
class It {
|
437 |
+
/// @internal
|
438 |
+
constructor(e, r, n, s) {
|
439 |
+
this.parser = e, this.input = r, this.ranges = s, this.line = new bt(), 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 Pt(n, r) : null, this.readLine();
|
440 |
+
}
|
441 |
+
get parsedPos() {
|
442 |
+
return this.absoluteLineStart;
|
443 |
+
}
|
444 |
+
advance() {
|
445 |
+
if (this.stoppedAt != null && this.absoluteLineStart > this.stoppedAt)
|
446 |
+
return this.finish();
|
447 |
+
let { line: e } = this;
|
448 |
+
for (; ; ) {
|
449 |
+
for (let n = 0; ; ) {
|
450 |
+
let s = e.depth < this.stack.length ? this.stack[this.stack.length - 1] : null;
|
451 |
+
for (; n < e.markers.length && (!s || e.markers[n].from < s.end); ) {
|
452 |
+
let i = e.markers[n++];
|
453 |
+
this.addNode(i.type, i.from, i.to);
|
454 |
+
}
|
455 |
+
if (!s)
|
456 |
+
break;
|
457 |
+
this.finishContext();
|
458 |
+
}
|
459 |
+
if (e.pos < e.text.length)
|
460 |
+
break;
|
461 |
+
if (!this.nextLine())
|
462 |
+
return this.finish();
|
463 |
+
}
|
464 |
+
if (this.fragments && this.reuseFragment(e.basePos))
|
465 |
+
return null;
|
466 |
+
e:
|
467 |
+
for (; ; ) {
|
468 |
+
for (let n of this.parser.blockParsers)
|
469 |
+
if (n) {
|
470 |
+
let s = n(this, e);
|
471 |
+
if (s != !1) {
|
472 |
+
if (s == !0)
|
473 |
+
return null;
|
474 |
+
e.forward();
|
475 |
+
continue e;
|
476 |
+
}
|
477 |
+
}
|
478 |
+
break;
|
479 |
+
}
|
480 |
+
let r = new Lt(this.lineStart + e.pos, e.text.slice(e.pos));
|
481 |
+
for (let n of this.parser.leafBlockParsers)
|
482 |
+
if (n) {
|
483 |
+
let s = n(this, r);
|
484 |
+
s && r.parsers.push(s);
|
485 |
+
}
|
486 |
+
e:
|
487 |
+
for (; this.nextLine() && e.pos != e.text.length; ) {
|
488 |
+
if (e.indent < e.baseIndent + 4) {
|
489 |
+
for (let n of this.parser.endLeafBlock)
|
490 |
+
if (n(this, e, r))
|
491 |
+
break e;
|
492 |
+
}
|
493 |
+
for (let n of r.parsers)
|
494 |
+
if (n.nextLine(this, e, r))
|
495 |
+
return null;
|
496 |
+
r.content += `
|
497 |
+
` + e.scrub();
|
498 |
+
for (let n of e.markers)
|
499 |
+
r.marks.push(n);
|
500 |
+
}
|
501 |
+
return this.finishLeaf(r), null;
|
502 |
+
}
|
503 |
+
stopAt(e) {
|
504 |
+
if (this.stoppedAt != null && this.stoppedAt < e)
|
505 |
+
throw new RangeError("Can't move stoppedAt forward");
|
506 |
+
this.stoppedAt = e;
|
507 |
+
}
|
508 |
+
reuseFragment(e) {
|
509 |
+
if (!this.fragments.moveTo(this.absoluteLineStart + e, this.absoluteLineStart) || !this.fragments.matches(this.block.hash))
|
510 |
+
return !1;
|
511 |
+
let r = this.fragments.takeNodes(this);
|
512 |
+
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;
|
513 |
+
}
|
514 |
+
/// The number of parent blocks surrounding the current block.
|
515 |
+
get depth() {
|
516 |
+
return this.stack.length;
|
517 |
+
}
|
518 |
+
/// Get the type of the parent block at the given depth. When no
|
519 |
+
/// depth is passed, return the type of the innermost parent.
|
520 |
+
parentType(e = this.depth - 1) {
|
521 |
+
return this.parser.nodeSet.types[this.stack[e].type];
|
522 |
+
}
|
523 |
+
/// Move to the next input line. This should only be called by
|
524 |
+
/// (non-composite) [block parsers](#BlockParser.parse) that consume
|
525 |
+
/// the line directly, or leaf block parser
|
526 |
+
/// [`nextLine`](#LeafBlockParser.nextLine) methods when they
|
527 |
+
/// consume the current line (and return true).
|
528 |
+
nextLine() {
|
529 |
+
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);
|
530 |
+
}
|
531 |
+
moveRangeI() {
|
532 |
+
for (; this.rangeI < this.ranges.length - 1 && this.absoluteLineStart >= this.ranges[this.rangeI].to; )
|
533 |
+
this.rangeI++, this.absoluteLineStart = Math.max(this.absoluteLineStart, this.ranges[this.rangeI].from);
|
534 |
+
}
|
535 |
+
/// @internal
|
536 |
+
scanLine(e) {
|
537 |
+
let r = At;
|
538 |
+
if (r.end = e, e >= this.to)
|
539 |
+
r.text = "";
|
540 |
+
else if (r.text = this.lineChunkAt(e), r.end += r.text.length, this.ranges.length > 1) {
|
541 |
+
let n = this.absoluteLineStart, s = this.rangeI;
|
542 |
+
for (; this.ranges[s].to < r.end; ) {
|
543 |
+
s++;
|
544 |
+
let i = this.ranges[s].from, o = this.lineChunkAt(i);
|
545 |
+
r.end = i + o.length, r.text = r.text.slice(0, this.ranges[s - 1].to - n) + o, n = r.end - r.text.length;
|
546 |
+
}
|
547 |
+
}
|
548 |
+
return r;
|
549 |
+
}
|
550 |
+
/// @internal
|
551 |
+
readLine() {
|
552 |
+
let { line: e } = this, { text: r, end: n } = this.scanLine(this.absoluteLineStart);
|
553 |
+
for (this.absoluteLineEnd = n, e.reset(r); e.depth < this.stack.length; e.depth++) {
|
554 |
+
let s = this.stack[e.depth], i = this.parser.skipContextMarkup[s.type];
|
555 |
+
if (!i)
|
556 |
+
throw new Error("Unhandled block context " + u[s.type]);
|
557 |
+
if (!i(s, this, e))
|
558 |
+
break;
|
559 |
+
e.forward();
|
560 |
+
}
|
561 |
+
}
|
562 |
+
lineChunkAt(e) {
|
563 |
+
let r = this.input.chunk(e), n;
|
564 |
+
if (this.input.lineChunks)
|
565 |
+
n = r == `
|
566 |
+
` ? "" : r;
|
567 |
+
else {
|
568 |
+
let s = r.indexOf(`
|
569 |
+
`);
|
570 |
+
n = s < 0 ? r : r.slice(0, s);
|
571 |
+
}
|
572 |
+
return e + n.length > this.to ? n.slice(0, this.to - e) : n;
|
573 |
+
}
|
574 |
+
/// The end position of the previous line.
|
575 |
+
prevLineEnd() {
|
576 |
+
return this.atEnd ? this.lineStart : this.lineStart - 1;
|
577 |
+
}
|
578 |
+
/// @internal
|
579 |
+
startContext(e, r, n = 0) {
|
580 |
+
this.block = j.create(e, n, this.lineStart + r, this.block.hash, this.lineStart + this.line.text.length), this.stack.push(this.block);
|
581 |
+
}
|
582 |
+
/// Start a composite block. Should only be called from [block
|
583 |
+
/// parser functions](#BlockParser.parse) that return null.
|
584 |
+
startComposite(e, r, n = 0) {
|
585 |
+
this.startContext(this.parser.getNodeType(e), r, n);
|
586 |
+
}
|
587 |
+
/// @internal
|
588 |
+
addNode(e, r, n) {
|
589 |
+
typeof e == "number" && (e = new E(this.parser.nodeSet.types[e], v, v, (n ?? this.prevLineEnd()) - r)), this.block.addChild(e, r - this.block.from);
|
590 |
+
}
|
591 |
+
/// Add a block element. Can be called by [block
|
592 |
+
/// parsers](#BlockParser.parse).
|
593 |
+
addElement(e) {
|
594 |
+
this.block.addChild(e.toTree(this.parser.nodeSet), e.from - this.block.from);
|
595 |
+
}
|
596 |
+
/// Add a block element from a [leaf parser](#LeafBlockParser). This
|
597 |
+
/// makes sure any extra composite block markup (such as blockquote
|
598 |
+
/// markers) inside the block are also added to the syntax tree.
|
599 |
+
addLeafElement(e, r) {
|
600 |
+
this.addNode(this.buffer.writeElements(W(r.children, e.marks), -r.from).finish(r.type, r.to - r.from), r.from);
|
601 |
+
}
|
602 |
+
/// @internal
|
603 |
+
finishContext() {
|
604 |
+
let e = this.stack.pop(), r = this.stack[this.stack.length - 1];
|
605 |
+
r.addChild(e.toTree(this.parser.nodeSet), e.from - r.from), this.block = r;
|
606 |
+
}
|
607 |
+
finish() {
|
608 |
+
for (; this.stack.length > 1; )
|
609 |
+
this.finishContext();
|
610 |
+
return this.addGaps(this.block.toTree(this.parser.nodeSet, this.lineStart));
|
611 |
+
}
|
612 |
+
addGaps(e) {
|
613 |
+
return this.ranges.length > 1 ? Te(this.ranges, 0, e.topNode, this.ranges[0].from, this.reusePlaceholders) : e;
|
614 |
+
}
|
615 |
+
/// @internal
|
616 |
+
finishLeaf(e) {
|
617 |
+
for (let n of e.parsers)
|
618 |
+
if (n.finish(this, e))
|
619 |
+
return;
|
620 |
+
let r = W(this.parser.parseInline(e.content, e.start), e.marks);
|
621 |
+
this.addNode(this.buffer.writeElements(r, -e.start).finish(u.Paragraph, e.content.length), e.start);
|
622 |
+
}
|
623 |
+
elt(e, r, n, s) {
|
624 |
+
return typeof e == "string" ? g(this.parser.getNodeType(e), r, n, s) : new Fe(e, r);
|
625 |
+
}
|
626 |
+
/// @internal
|
627 |
+
get buffer() {
|
628 |
+
return new De(this.parser.nodeSet);
|
629 |
+
}
|
630 |
+
}
|
631 |
+
function Te(t, e, r, n, s) {
|
632 |
+
let i = t[e].to, o = [], a = [], l = r.from + n;
|
633 |
+
function f(h, p) {
|
634 |
+
for (; p ? h >= i : h > i; ) {
|
635 |
+
let d = t[e + 1].from - i;
|
636 |
+
n += d, h += d, e++, i = t[e].to;
|
637 |
+
}
|
638 |
+
}
|
639 |
+
for (let h = r.firstChild; h; h = h.nextSibling) {
|
640 |
+
f(h.from + n, !0);
|
641 |
+
let p = h.from + n, d, m = s.get(h.tree);
|
642 |
+
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);
|
643 |
+
}
|
644 |
+
return f(r.to + n, !1), new E(r.type, o, a, r.to + n - l, r.tree ? r.tree.propValues : void 0);
|
645 |
+
}
|
646 |
+
class U extends rt {
|
647 |
+
/// @internal
|
648 |
+
constructor(e, r, n, s, i, o, a, l, f) {
|
649 |
+
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);
|
650 |
+
for (let h of e.types)
|
651 |
+
this.nodeTypes[h.name] = h.id;
|
652 |
+
}
|
653 |
+
createParse(e, r, n) {
|
654 |
+
let s = new It(this, e, r, n);
|
655 |
+
for (let i of this.wrappers)
|
656 |
+
s = i(s, e, r, n);
|
657 |
+
return s;
|
658 |
+
}
|
659 |
+
/// Reconfigure the parser.
|
660 |
+
configure(e) {
|
661 |
+
let r = Y(e);
|
662 |
+
if (!r)
|
663 |
+
return this;
|
664 |
+
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;
|
665 |
+
if (N(r.defineNodes)) {
|
666 |
+
s = Object.assign({}, s);
|
667 |
+
let d = n.types.slice(), m;
|
668 |
+
for (let L of r.defineNodes) {
|
669 |
+
let { name: k, block: w, composite: S, style: b } = typeof L == "string" ? { name: L } : L;
|
670 |
+
if (d.some((I) => I.name == k))
|
671 |
+
continue;
|
672 |
+
S && (s[d.length] = (I, et, tt) => S(et, tt, I.value));
|
673 |
+
let A = d.length, M = S ? ["Block", "BlockContext"] : w ? A >= u.ATXHeading1 && A <= u.SetextHeading2 ? ["Block", "LeafBlock", "Heading"] : ["Block", "LeafBlock"] : void 0;
|
674 |
+
d.push(_.define({
|
675 |
+
id: A,
|
676 |
+
name: k,
|
677 |
+
props: M && [[H.group, M]]
|
678 |
+
})), b && (m || (m = {}), Array.isArray(b) || b instanceof nt ? m[k] = b : Object.assign(m, b));
|
679 |
+
}
|
680 |
+
n = new Ie(d), m && (n = n.extend(Ae(m)));
|
681 |
+
}
|
682 |
+
if (N(r.props) && (n = n.extend(...r.props)), N(r.remove))
|
683 |
+
for (let d of r.remove) {
|
684 |
+
let m = this.blockNames.indexOf(d), L = this.inlineNames.indexOf(d);
|
685 |
+
m > -1 && (i[m] = o[m] = void 0), L > -1 && (l[L] = void 0);
|
686 |
+
}
|
687 |
+
if (N(r.parseBlock))
|
688 |
+
for (let d of r.parseBlock) {
|
689 |
+
let m = a.indexOf(d.name);
|
690 |
+
if (m > -1)
|
691 |
+
i[m] = d.parse, o[m] = d.leaf;
|
692 |
+
else {
|
693 |
+
let L = d.before ? X(a, d.before) : d.after ? X(a, d.after) + 1 : a.length - 1;
|
694 |
+
i.splice(L, 0, d.parse), o.splice(L, 0, d.leaf), a.splice(L, 0, d.name);
|
695 |
+
}
|
696 |
+
d.endLeaf && h.push(d.endLeaf);
|
697 |
+
}
|
698 |
+
if (N(r.parseInline))
|
699 |
+
for (let d of r.parseInline) {
|
700 |
+
let m = f.indexOf(d.name);
|
701 |
+
if (m > -1)
|
702 |
+
l[m] = d.parse;
|
703 |
+
else {
|
704 |
+
let L = d.before ? X(f, d.before) : d.after ? X(f, d.after) + 1 : f.length - 1;
|
705 |
+
l.splice(L, 0, d.parse), f.splice(L, 0, d.name);
|
706 |
+
}
|
707 |
+
}
|
708 |
+
return r.wrap && (p = p.concat(r.wrap)), new U(n, i, o, a, h, s, l, f, p);
|
709 |
+
}
|
710 |
+
/// @internal
|
711 |
+
getNodeType(e) {
|
712 |
+
let r = this.nodeTypes[e];
|
713 |
+
if (r == null)
|
714 |
+
throw new RangeError(`Unknown node type '${e}'`);
|
715 |
+
return r;
|
716 |
+
}
|
717 |
+
/// Parse the given piece of inline text at the given offset,
|
718 |
+
/// returning an array of [`Element`](#Element) objects representing
|
719 |
+
/// the inline content.
|
720 |
+
parseInline(e, r) {
|
721 |
+
let n = new Et(this, e, r);
|
722 |
+
e:
|
723 |
+
for (let s = r; s < n.end; ) {
|
724 |
+
let i = n.char(s);
|
725 |
+
for (let o of this.inlineParsers)
|
726 |
+
if (o) {
|
727 |
+
let a = o(n, i, s);
|
728 |
+
if (a >= 0) {
|
729 |
+
s = a;
|
730 |
+
continue e;
|
731 |
+
}
|
732 |
+
}
|
733 |
+
s++;
|
734 |
+
}
|
735 |
+
return n.resolveMarkers(0);
|
736 |
+
}
|
737 |
+
}
|
738 |
+
function N(t) {
|
739 |
+
return t != null && t.length > 0;
|
740 |
+
}
|
741 |
+
function Y(t) {
|
742 |
+
if (!Array.isArray(t))
|
743 |
+
return t;
|
744 |
+
if (t.length == 0)
|
745 |
+
return null;
|
746 |
+
let e = Y(t[0]);
|
747 |
+
if (t.length == 1)
|
748 |
+
return e;
|
749 |
+
let r = Y(t.slice(1));
|
750 |
+
if (!r || !e)
|
751 |
+
return e || r;
|
752 |
+
let n = (o, a) => (o || v).concat(a || v), s = e.wrap, i = r.wrap;
|
753 |
+
return {
|
754 |
+
props: n(e.props, r.props),
|
755 |
+
defineNodes: n(e.defineNodes, r.defineNodes),
|
756 |
+
parseBlock: n(e.parseBlock, r.parseBlock),
|
757 |
+
parseInline: n(e.parseInline, r.parseInline),
|
758 |
+
remove: n(e.remove, r.remove),
|
759 |
+
wrap: s ? i ? (o, a, l, f) => s(i(o, a, l, f), a, l, f) : s : i
|
760 |
+
};
|
761 |
+
}
|
762 |
+
function X(t, e) {
|
763 |
+
let r = t.indexOf(e);
|
764 |
+
if (r < 0)
|
765 |
+
throw new RangeError(`Position specified relative to unknown parser ${e}`);
|
766 |
+
return r;
|
767 |
+
}
|
768 |
+
let ze = [_.none];
|
769 |
+
for (let t = 1, e; e = u[t]; t++)
|
770 |
+
ze[t] = _.define({
|
771 |
+
id: t,
|
772 |
+
name: e,
|
773 |
+
props: t >= u.Escape ? [] : [[H.group, t in Ee ? ["Block", "BlockContext"] : ["Block", "LeafBlock"]]],
|
774 |
+
top: e == "Document"
|
775 |
+
});
|
776 |
+
const v = [];
|
777 |
+
class De {
|
778 |
+
constructor(e) {
|
779 |
+
this.nodeSet = e, this.content = [], this.nodes = [];
|
780 |
+
}
|
781 |
+
write(e, r, n, s = 0) {
|
782 |
+
return this.content.push(e, r, n, 4 + s * 4), this;
|
783 |
+
}
|
784 |
+
writeElements(e, r = 0) {
|
785 |
+
for (let n of e)
|
786 |
+
n.writeTo(this, r);
|
787 |
+
return this;
|
788 |
+
}
|
789 |
+
finish(e, r) {
|
790 |
+
return E.build({
|
791 |
+
buffer: this.content,
|
792 |
+
nodeSet: this.nodeSet,
|
793 |
+
reused: this.nodes,
|
794 |
+
topID: e,
|
795 |
+
length: r
|
796 |
+
});
|
797 |
+
}
|
798 |
+
}
|
799 |
+
class z {
|
800 |
+
/// @internal
|
801 |
+
constructor(e, r, n, s = v) {
|
802 |
+
this.type = e, this.from = r, this.to = n, this.children = s;
|
803 |
+
}
|
804 |
+
/// @internal
|
805 |
+
writeTo(e, r) {
|
806 |
+
let n = e.content.length;
|
807 |
+
e.writeElements(this.children, r), e.content.push(this.type, this.from + r, this.to + r, e.content.length + 4 - n);
|
808 |
+
}
|
809 |
+
/// @internal
|
810 |
+
toTree(e) {
|
811 |
+
return new De(e).writeElements(this.children, -this.from).finish(this.type, this.to - this.from);
|
812 |
+
}
|
813 |
+
}
|
814 |
+
class Fe {
|
815 |
+
constructor(e, r) {
|
816 |
+
this.tree = e, this.from = r;
|
817 |
+
}
|
818 |
+
get to() {
|
819 |
+
return this.from + this.tree.length;
|
820 |
+
}
|
821 |
+
get type() {
|
822 |
+
return this.tree.type.id;
|
823 |
+
}
|
824 |
+
get children() {
|
825 |
+
return v;
|
826 |
+
}
|
827 |
+
writeTo(e, r) {
|
828 |
+
e.nodes.push(this.tree), e.content.push(e.nodes.length - 1, this.from + r, this.to + r, -1);
|
829 |
+
}
|
830 |
+
toTree() {
|
831 |
+
return this.tree;
|
832 |
+
}
|
833 |
+
}
|
834 |
+
function g(t, e, r, n) {
|
835 |
+
return new z(t, e, r, n);
|
836 |
+
}
|
837 |
+
const Xe = { resolve: "Emphasis", mark: "EmphasisMark" }, $e = { resolve: "Emphasis", mark: "EmphasisMark" }, y = {}, de = {};
|
838 |
+
class x {
|
839 |
+
constructor(e, r, n, s) {
|
840 |
+
this.type = e, this.from = r, this.to = n, this.side = s;
|
841 |
+
}
|
842 |
+
}
|
843 |
+
const pe = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
|
844 |
+
let D = /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;
|
845 |
+
try {
|
846 |
+
D = new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]", "u");
|
847 |
+
} catch {
|
848 |
+
}
|
849 |
+
const Z = {
|
850 |
+
Escape(t, e, r) {
|
851 |
+
if (e != 92 || r == t.end - 1)
|
852 |
+
return -1;
|
853 |
+
let n = t.char(r + 1);
|
854 |
+
for (let s = 0; s < pe.length; s++)
|
855 |
+
if (pe.charCodeAt(s) == n)
|
856 |
+
return t.append(g(u.Escape, r, r + 2));
|
857 |
+
return -1;
|
858 |
+
},
|
859 |
+
Entity(t, e, r) {
|
860 |
+
if (e != 38)
|
861 |
+
return -1;
|
862 |
+
let n = /^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(t.slice(r + 1, r + 31));
|
863 |
+
return n ? t.append(g(u.Entity, r, r + 1 + n[0].length)) : -1;
|
864 |
+
},
|
865 |
+
InlineCode(t, e, r) {
|
866 |
+
if (e != 96 || r && t.char(r - 1) == 96)
|
867 |
+
return -1;
|
868 |
+
let n = r + 1;
|
869 |
+
for (; n < t.end && t.char(n) == 96; )
|
870 |
+
n++;
|
871 |
+
let s = n - r, i = 0;
|
872 |
+
for (; n < t.end; n++)
|
873 |
+
if (t.char(n) == 96) {
|
874 |
+
if (i++, i == s && t.char(n + 1) != 96)
|
875 |
+
return t.append(g(u.InlineCode, r, n + 1, [
|
876 |
+
g(u.CodeMark, r, r + s),
|
877 |
+
g(u.CodeMark, n + 1 - s, n + 1)
|
878 |
+
]));
|
879 |
+
} else
|
880 |
+
i = 0;
|
881 |
+
return -1;
|
882 |
+
},
|
883 |
+
HTMLTag(t, e, r) {
|
884 |
+
if (e != 60 || r == t.end - 1)
|
885 |
+
return -1;
|
886 |
+
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);
|
887 |
+
if (s)
|
888 |
+
return t.append(g(u.Autolink, r, r + 1 + s[0].length, [
|
889 |
+
g(u.LinkMark, r, r + 1),
|
890 |
+
// url[0] includes the closing bracket, so exclude it from this slice
|
891 |
+
g(u.URL, r + 1, r + s[0].length),
|
892 |
+
g(u.LinkMark, r + s[0].length, r + 1 + s[0].length)
|
893 |
+
]));
|
894 |
+
let i = /^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);
|
895 |
+
if (i)
|
896 |
+
return t.append(g(u.Comment, r, r + 1 + i[0].length));
|
897 |
+
let o = /^\?[^]*?\?>/.exec(n);
|
898 |
+
if (o)
|
899 |
+
return t.append(g(u.ProcessingInstruction, r, r + 1 + o[0].length));
|
900 |
+
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);
|
901 |
+
return a ? t.append(g(u.HTMLTag, r, r + 1 + a[0].length)) : -1;
|
902 |
+
},
|
903 |
+
Emphasis(t, e, r) {
|
904 |
+
if (e != 95 && e != 42)
|
905 |
+
return -1;
|
906 |
+
let n = r + 1;
|
907 |
+
for (; t.char(n) == e; )
|
908 |
+
n++;
|
909 |
+
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);
|
910 |
+
return t.append(new x(e == 95 ? Xe : $e, r, n, (d ? 1 : 0) | (m ? 2 : 0)));
|
911 |
+
},
|
912 |
+
HardBreak(t, e, r) {
|
913 |
+
if (e == 92 && t.char(r + 1) == 10)
|
914 |
+
return t.append(g(u.HardBreak, r, r + 2));
|
915 |
+
if (e == 32) {
|
916 |
+
let n = r + 1;
|
917 |
+
for (; t.char(n) == 32; )
|
918 |
+
n++;
|
919 |
+
if (t.char(n) == 10 && n >= r + 2)
|
920 |
+
return t.append(g(u.HardBreak, r, n + 1));
|
921 |
+
}
|
922 |
+
return -1;
|
923 |
+
},
|
924 |
+
Link(t, e, r) {
|
925 |
+
return e == 91 ? t.append(new x(
|
926 |
+
y,
|
927 |
+
r,
|
928 |
+
r + 1,
|
929 |
+
1
|
930 |
+
/* Mark.Open */
|
931 |
+
)) : -1;
|
932 |
+
},
|
933 |
+
Image(t, e, r) {
|
934 |
+
return e == 33 && t.char(r + 1) == 91 ? t.append(new x(
|
935 |
+
de,
|
936 |
+
r,
|
937 |
+
r + 2,
|
938 |
+
1
|
939 |
+
/* Mark.Open */
|
940 |
+
)) : -1;
|
941 |
+
},
|
942 |
+
LinkEnd(t, e, r) {
|
943 |
+
if (e != 93)
|
944 |
+
return -1;
|
945 |
+
for (let n = t.parts.length - 1; n >= 0; n--) {
|
946 |
+
let s = t.parts[n];
|
947 |
+
if (s instanceof x && (s.type == y || s.type == de)) {
|
948 |
+
if (!s.side || t.skipSpace(s.to) == r && !/[(\[]/.test(t.slice(r + 1, r + 2)))
|
949 |
+
return t.parts[n] = null, -1;
|
950 |
+
let i = t.takeContent(n), o = t.parts[n] = Bt(t, i, s.type == y ? u.Link : u.Image, s.from, r + 1);
|
951 |
+
if (s.type == y)
|
952 |
+
for (let a = 0; a < n; a++) {
|
953 |
+
let l = t.parts[a];
|
954 |
+
l instanceof x && l.type == y && (l.side = 0);
|
955 |
+
}
|
956 |
+
return o.to;
|
957 |
+
}
|
958 |
+
}
|
959 |
+
return -1;
|
960 |
+
}
|
961 |
+
};
|
962 |
+
function Bt(t, e, r, n, s) {
|
963 |
+
let { text: i } = t, o = t.char(s), a = s;
|
964 |
+
if (e.unshift(g(u.LinkMark, n, n + (r == u.Image ? 2 : 1))), e.push(g(u.LinkMark, s - 1, s)), o == 40) {
|
965 |
+
let l = t.skipSpace(s + 1), f = je(i, l - t.offset, t.offset), h;
|
966 |
+
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)));
|
967 |
+
} else if (o == 91) {
|
968 |
+
let l = qe(i, s - t.offset, t.offset, !1);
|
969 |
+
l && (e.push(l), a = l.to);
|
970 |
+
}
|
971 |
+
return g(r, n, a, e);
|
972 |
+
}
|
973 |
+
function je(t, e, r) {
|
974 |
+
if (t.charCodeAt(e) == 60) {
|
975 |
+
for (let s = e + 1; s < t.length; s++) {
|
976 |
+
let i = t.charCodeAt(s);
|
977 |
+
if (i == 62)
|
978 |
+
return g(u.URL, e + r, s + 1 + r);
|
979 |
+
if (i == 60 || i == 10)
|
980 |
+
return !1;
|
981 |
+
}
|
982 |
+
return null;
|
983 |
+
} else {
|
984 |
+
let s = 0, i = e;
|
985 |
+
for (let o = !1; i < t.length; i++) {
|
986 |
+
let a = t.charCodeAt(i);
|
987 |
+
if (C(a))
|
988 |
+
break;
|
989 |
+
if (o)
|
990 |
+
o = !1;
|
991 |
+
else if (a == 40)
|
992 |
+
s++;
|
993 |
+
else if (a == 41) {
|
994 |
+
if (!s)
|
995 |
+
break;
|
996 |
+
s--;
|
997 |
+
} else
|
998 |
+
a == 92 && (o = !0);
|
999 |
+
}
|
1000 |
+
return i > e ? g(u.URL, e + r, i + r) : i == t.length ? null : !1;
|
1001 |
+
}
|
1002 |
+
}
|
1003 |
+
function _e(t, e, r) {
|
1004 |
+
let n = t.charCodeAt(e);
|
1005 |
+
if (n != 39 && n != 34 && n != 40)
|
1006 |
+
return !1;
|
1007 |
+
let s = n == 40 ? 41 : n;
|
1008 |
+
for (let i = e + 1, o = !1; i < t.length; i++) {
|
1009 |
+
let a = t.charCodeAt(i);
|
1010 |
+
if (o)
|
1011 |
+
o = !1;
|
1012 |
+
else {
|
1013 |
+
if (a == s)
|
1014 |
+
return g(u.LinkTitle, e + r, i + 1 + r);
|
1015 |
+
a == 92 && (o = !0);
|
1016 |
+
}
|
1017 |
+
}
|
1018 |
+
return null;
|
1019 |
+
}
|
1020 |
+
function qe(t, e, r, n) {
|
1021 |
+
for (let s = !1, i = e + 1, o = Math.min(t.length, i + 999); i < o; i++) {
|
1022 |
+
let a = t.charCodeAt(i);
|
1023 |
+
if (s)
|
1024 |
+
s = !1;
|
1025 |
+
else {
|
1026 |
+
if (a == 93)
|
1027 |
+
return n ? !1 : g(u.LinkLabel, e + r, i + 1 + r);
|
1028 |
+
if (n && !C(a) && (n = !1), a == 91)
|
1029 |
+
return !1;
|
1030 |
+
a == 92 && (s = !0);
|
1031 |
+
}
|
1032 |
+
}
|
1033 |
+
return null;
|
1034 |
+
}
|
1035 |
+
class Et {
|
1036 |
+
/// @internal
|
1037 |
+
constructor(e, r, n) {
|
1038 |
+
this.parser = e, this.text = r, this.offset = n, this.parts = [];
|
1039 |
+
}
|
1040 |
+
/// Get the character code at the given (document-relative)
|
1041 |
+
/// position.
|
1042 |
+
char(e) {
|
1043 |
+
return e >= this.end ? -1 : this.text.charCodeAt(e - this.offset);
|
1044 |
+
}
|
1045 |
+
/// The position of the end of this inline section.
|
1046 |
+
get end() {
|
1047 |
+
return this.offset + this.text.length;
|
1048 |
+
}
|
1049 |
+
/// Get a substring of this inline section. Again uses
|
1050 |
+
/// document-relative positions.
|
1051 |
+
slice(e, r) {
|
1052 |
+
return this.text.slice(e - this.offset, r - this.offset);
|
1053 |
+
}
|
1054 |
+
/// @internal
|
1055 |
+
append(e) {
|
1056 |
+
return this.parts.push(e), e.to;
|
1057 |
+
}
|
1058 |
+
/// Add a [delimiter](#DelimiterType) at this given position. `open`
|
1059 |
+
/// and `close` indicate whether this delimiter is opening, closing,
|
1060 |
+
/// or both. Returns the end of the delimiter, for convenient
|
1061 |
+
/// returning from [parse functions](#InlineParser.parse).
|
1062 |
+
addDelimiter(e, r, n, s, i) {
|
1063 |
+
return this.append(new x(e, r, n, (s ? 1 : 0) | (i ? 2 : 0)));
|
1064 |
+
}
|
1065 |
+
/// Add an inline element. Returns the end of the element.
|
1066 |
+
addElement(e) {
|
1067 |
+
return this.append(e);
|
1068 |
+
}
|
1069 |
+
/// Resolve markers between this.parts.length and from, wrapping matched markers in the
|
1070 |
+
/// appropriate node and updating the content of this.parts. @internal
|
1071 |
+
resolveMarkers(e) {
|
1072 |
+
for (let n = e; n < this.parts.length; n++) {
|
1073 |
+
let s = this.parts[n];
|
1074 |
+
if (!(s instanceof x && s.type.resolve && s.side & 2))
|
1075 |
+
continue;
|
1076 |
+
let i = s.type == Xe || s.type == $e, o = s.to - s.from, a, l = n - 1;
|
1077 |
+
for (; l >= e; l--) {
|
1078 |
+
let k = this.parts[l];
|
1079 |
+
if (k instanceof x && k.side & 1 && k.type == s.type && // Ignore emphasis delimiters where the character count doesn't match
|
1080 |
+
!(i && (s.side & 1 || k.side & 2) && (k.to - k.from + o) % 3 == 0 && ((k.to - k.from) % 3 || o % 3))) {
|
1081 |
+
a = k;
|
1082 |
+
break;
|
1083 |
+
}
|
1084 |
+
}
|
1085 |
+
if (!a)
|
1086 |
+
continue;
|
1087 |
+
let f = s.type.resolve, h = [], p = a.from, d = s.to;
|
1088 |
+
if (i) {
|
1089 |
+
let k = Math.min(2, a.to - a.from, o);
|
1090 |
+
p = a.to - k, d = s.from + k, f = k == 1 ? "Emphasis" : "StrongEmphasis";
|
1091 |
+
}
|
1092 |
+
a.type.mark && h.push(this.elt(a.type.mark, p, a.to));
|
1093 |
+
for (let k = l + 1; k < n; k++)
|
1094 |
+
this.parts[k] instanceof z && h.push(this.parts[k]), this.parts[k] = null;
|
1095 |
+
s.type.mark && h.push(this.elt(s.type.mark, s.from, d));
|
1096 |
+
let m = this.elt(f, p, d, h);
|
1097 |
+
this.parts[l] = i && a.from != p ? new x(a.type, a.from, p, a.side) : null, (this.parts[n] = i && s.to != d ? new x(s.type, d, s.to, s.side) : null) ? this.parts.splice(n, 0, m) : this.parts[n] = m;
|
1098 |
+
}
|
1099 |
+
let r = [];
|
1100 |
+
for (let n = e; n < this.parts.length; n++) {
|
1101 |
+
let s = this.parts[n];
|
1102 |
+
s instanceof z && r.push(s);
|
1103 |
+
}
|
1104 |
+
return r;
|
1105 |
+
}
|
1106 |
+
/// Find an opening delimiter of the given type. Returns `null` if
|
1107 |
+
/// no delimiter is found, or an index that can be passed to
|
1108 |
+
/// [`takeContent`](#InlineContext.takeContent) otherwise.
|
1109 |
+
findOpeningDelimiter(e) {
|
1110 |
+
for (let r = this.parts.length - 1; r >= 0; r--) {
|
1111 |
+
let n = this.parts[r];
|
1112 |
+
if (n instanceof x && n.type == e)
|
1113 |
+
return r;
|
1114 |
+
}
|
1115 |
+
return null;
|
1116 |
+
}
|
1117 |
+
/// Remove all inline elements and delimiters starting from the
|
1118 |
+
/// given index (which you should get from
|
1119 |
+
/// [`findOpeningDelimiter`](#InlineContext.findOpeningDelimiter),
|
1120 |
+
/// resolve delimiters inside of them, and return them as an array
|
1121 |
+
/// of elements.
|
1122 |
+
takeContent(e) {
|
1123 |
+
let r = this.resolveMarkers(e);
|
1124 |
+
return this.parts.length = e, r;
|
1125 |
+
}
|
1126 |
+
/// Skip space after the given (document) position, returning either
|
1127 |
+
/// the position of the next non-space character or the end of the
|
1128 |
+
/// section.
|
1129 |
+
skipSpace(e) {
|
1130 |
+
return R(this.text, e - this.offset) + this.offset;
|
1131 |
+
}
|
1132 |
+
elt(e, r, n, s) {
|
1133 |
+
return typeof e == "string" ? g(this.parser.getNodeType(e), r, n, s) : new Fe(e, r);
|
1134 |
+
}
|
1135 |
+
}
|
1136 |
+
function W(t, e) {
|
1137 |
+
if (!e.length)
|
1138 |
+
return t;
|
1139 |
+
if (!t.length)
|
1140 |
+
return e;
|
1141 |
+
let r = t.slice(), n = 0;
|
1142 |
+
for (let s of e) {
|
1143 |
+
for (; n < r.length && r[n].to < s.to; )
|
1144 |
+
n++;
|
1145 |
+
if (n < r.length && r[n].from < s.from) {
|
1146 |
+
let i = r[n];
|
1147 |
+
i instanceof z && (r[n] = new z(i.type, i.from, i.to, W(i.children, [s])));
|
1148 |
+
} else
|
1149 |
+
r.splice(n++, 0, s);
|
1150 |
+
}
|
1151 |
+
return r;
|
1152 |
+
}
|
1153 |
+
const Mt = [u.CodeBlock, u.ListItem, u.OrderedList, u.BulletList];
|
1154 |
+
class Pt {
|
1155 |
+
constructor(e, r) {
|
1156 |
+
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++]);
|
1157 |
+
}
|
1158 |
+
nextFragment() {
|
1159 |
+
this.fragment = this.i < this.fragments.length ? this.fragments[this.i++] : null, this.cursor = null, this.fragmentEnd = -1;
|
1160 |
+
}
|
1161 |
+
moveTo(e, r) {
|
1162 |
+
for (; this.fragment && this.fragment.to <= e; )
|
1163 |
+
this.nextFragment();
|
1164 |
+
if (!this.fragment || this.fragment.from > (e ? e - 1 : 0))
|
1165 |
+
return !1;
|
1166 |
+
if (this.fragmentEnd < 0) {
|
1167 |
+
let i = this.fragment.to;
|
1168 |
+
for (; i > 0 && this.input.read(i - 1, i) != `
|
1169 |
+
`; )
|
1170 |
+
i--;
|
1171 |
+
this.fragmentEnd = i ? i - 1 : 0;
|
1172 |
+
}
|
1173 |
+
let n = this.cursor;
|
1174 |
+
n || (n = this.cursor = this.fragment.tree.cursor(), n.firstChild());
|
1175 |
+
let s = e + this.fragment.offset;
|
1176 |
+
for (; n.to <= s; )
|
1177 |
+
if (!n.parent())
|
1178 |
+
return !1;
|
1179 |
+
for (; ; ) {
|
1180 |
+
if (n.from >= s)
|
1181 |
+
return this.fragment.from <= r;
|
1182 |
+
if (!n.childAfter(s))
|
1183 |
+
return !1;
|
1184 |
+
}
|
1185 |
+
}
|
1186 |
+
matches(e) {
|
1187 |
+
let r = this.cursor.tree;
|
1188 |
+
return r && r.prop(H.contextHash) == e;
|
1189 |
+
}
|
1190 |
+
takeNodes(e) {
|
1191 |
+
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;
|
1192 |
+
for (; ; ) {
|
1193 |
+
if (r.to - n > s) {
|
1194 |
+
if (r.type.isAnonymous && r.firstChild())
|
1195 |
+
continue;
|
1196 |
+
break;
|
1197 |
+
}
|
1198 |
+
let h = Ue(r.from - n, e.ranges);
|
1199 |
+
if (r.to - n <= e.ranges[e.rangeI].to)
|
1200 |
+
e.addNode(r.tree, h);
|
1201 |
+
else {
|
1202 |
+
let p = new E(e.parser.nodeSet.types[u.Paragraph], [], [], 0, e.block.hashProp);
|
1203 |
+
e.reusePlaceholders.set(p, r.tree), e.addNode(p, h);
|
1204 |
+
}
|
1205 |
+
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())
|
1206 |
+
break;
|
1207 |
+
}
|
1208 |
+
for (; e.block.children.length > a; )
|
1209 |
+
e.block.children.pop(), e.block.positions.pop();
|
1210 |
+
return o - i;
|
1211 |
+
}
|
1212 |
+
}
|
1213 |
+
function Ue(t, e) {
|
1214 |
+
let r = t;
|
1215 |
+
for (let n = 1; n < e.length; n++) {
|
1216 |
+
let s = e[n - 1].to, i = e[n].from;
|
1217 |
+
s < t && (r -= i - s);
|
1218 |
+
}
|
1219 |
+
return r;
|
1220 |
+
}
|
1221 |
+
const Ht = Ae({
|
1222 |
+
"Blockquote/...": c.quote,
|
1223 |
+
HorizontalRule: c.contentSeparator,
|
1224 |
+
"ATXHeading1/... SetextHeading1/...": c.heading1,
|
1225 |
+
"ATXHeading2/... SetextHeading2/...": c.heading2,
|
1226 |
+
"ATXHeading3/...": c.heading3,
|
1227 |
+
"ATXHeading4/...": c.heading4,
|
1228 |
+
"ATXHeading5/...": c.heading5,
|
1229 |
+
"ATXHeading6/...": c.heading6,
|
1230 |
+
"Comment CommentBlock": c.comment,
|
1231 |
+
Escape: c.escape,
|
1232 |
+
Entity: c.character,
|
1233 |
+
"Emphasis/...": c.emphasis,
|
1234 |
+
"StrongEmphasis/...": c.strong,
|
1235 |
+
"Link/... Image/...": c.link,
|
1236 |
+
"OrderedList/... BulletList/...": c.list,
|
1237 |
+
"BlockQuote/...": c.quote,
|
1238 |
+
"InlineCode CodeText": c.monospace,
|
1239 |
+
"URL Autolink": c.url,
|
1240 |
+
"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark": c.processingInstruction,
|
1241 |
+
"CodeInfo LinkLabel": c.labelName,
|
1242 |
+
LinkTitle: c.string,
|
1243 |
+
Paragraph: c.content
|
1244 |
+
}), vt = new U(new Ie(ze).extend(Ht), Object.keys(F).map((t) => F[t]), Object.keys(F).map((t) => Ct[t]), Object.keys(F), xt, Ee, Object.keys(Z).map((t) => Z[t]), Object.keys(Z), []);
|
1245 |
+
function Nt(t, e, r) {
|
1246 |
+
let n = [];
|
1247 |
+
for (let s = t.firstChild, i = e; ; s = s.nextSibling) {
|
1248 |
+
let o = s ? s.from : r;
|
1249 |
+
if (o > i && n.push({ from: i, to: o }), !s)
|
1250 |
+
break;
|
1251 |
+
i = s.to;
|
1252 |
+
}
|
1253 |
+
return n;
|
1254 |
+
}
|
1255 |
+
function yt(t) {
|
1256 |
+
let { codeParser: e, htmlParser: r } = t;
|
1257 |
+
return { wrap: st((s, i) => {
|
1258 |
+
let o = s.type.id;
|
1259 |
+
if (e && (o == u.CodeBlock || o == u.FencedCode)) {
|
1260 |
+
let a = "";
|
1261 |
+
if (o == u.FencedCode) {
|
1262 |
+
let f = s.node.getChild(u.CodeInfo);
|
1263 |
+
f && (a = i.read(f.from, f.to));
|
1264 |
+
}
|
1265 |
+
let l = e(a);
|
1266 |
+
if (l)
|
1267 |
+
return { parser: l, overlay: (f) => f.type.id == u.CodeText };
|
1268 |
+
} else if (r && (o == u.HTMLBlock || o == u.HTMLTag))
|
1269 |
+
return { parser: r, overlay: Nt(s.node, s.from, s.to) };
|
1270 |
+
return null;
|
1271 |
+
}) };
|
1272 |
+
}
|
1273 |
+
const Rt = { resolve: "Strikethrough", mark: "StrikethroughMark" }, Ot = {
|
1274 |
+
defineNodes: [{
|
1275 |
+
name: "Strikethrough",
|
1276 |
+
style: { "Strikethrough/...": c.strikethrough }
|
1277 |
+
}, {
|
1278 |
+
name: "StrikethroughMark",
|
1279 |
+
style: c.processingInstruction
|
1280 |
+
}],
|
1281 |
+
parseInline: [{
|
1282 |
+
name: "Strikethrough",
|
1283 |
+
parse(t, e, r) {
|
1284 |
+
if (e != 126 || t.char(r + 1) != 126 || t.char(r + 2) == 126)
|
1285 |
+
return -1;
|
1286 |
+
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);
|
1287 |
+
return t.addDelimiter(Rt, r, r + 2, !o && (!l || i || a), !i && (!a || o || l));
|
1288 |
+
},
|
1289 |
+
after: "Emphasis"
|
1290 |
+
}]
|
1291 |
+
};
|
1292 |
+
function O(t, e, r = 0, n, s = 0) {
|
1293 |
+
let i = 0, o = !0, a = -1, l = -1, f = !1, h = () => {
|
1294 |
+
n.push(t.elt("TableCell", s + a, s + l, t.parser.parseInline(e.slice(a, l), s + a)));
|
1295 |
+
};
|
1296 |
+
for (let p = r; p < e.length; p++) {
|
1297 |
+
let d = e.charCodeAt(p);
|
1298 |
+
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;
|
1299 |
+
}
|
1300 |
+
return a > -1 && (i++, n && h()), i;
|
1301 |
+
}
|
1302 |
+
function ce(t, e) {
|
1303 |
+
for (let r = e; r < t.length; r++) {
|
1304 |
+
let n = t.charCodeAt(r);
|
1305 |
+
if (n == 124)
|
1306 |
+
return !0;
|
1307 |
+
n == 92 && r++;
|
1308 |
+
}
|
1309 |
+
return !1;
|
1310 |
+
}
|
1311 |
+
const Qe = /^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;
|
1312 |
+
class me {
|
1313 |
+
constructor() {
|
1314 |
+
this.rows = null;
|
1315 |
+
}
|
1316 |
+
nextLine(e, r, n) {
|
1317 |
+
if (this.rows == null) {
|
1318 |
+
this.rows = !1;
|
1319 |
+
let s;
|
1320 |
+
if ((r.next == 45 || r.next == 58 || r.next == 124) && Qe.test(s = r.text.slice(r.pos))) {
|
1321 |
+
let i = [];
|
1322 |
+
O(e, n.content, 0, i, n.start) == O(e, s, r.pos) && (this.rows = [
|
1323 |
+
e.elt("TableHeader", n.start, n.start + n.content.length, i),
|
1324 |
+
e.elt("TableDelimiter", e.lineStart + r.pos, e.lineStart + r.text.length)
|
1325 |
+
]);
|
1326 |
+
}
|
1327 |
+
} else if (this.rows) {
|
1328 |
+
let s = [];
|
1329 |
+
O(e, r.text, r.pos, s, e.lineStart), this.rows.push(e.elt("TableRow", e.lineStart + r.pos, e.lineStart + r.text.length, s));
|
1330 |
+
}
|
1331 |
+
return !1;
|
1332 |
+
}
|
1333 |
+
finish(e, r) {
|
1334 |
+
return this.rows ? (e.addLeafElement(r, e.elt("Table", r.start, r.start + r.content.length, this.rows)), !0) : !1;
|
1335 |
+
}
|
1336 |
+
}
|
1337 |
+
const Tt = {
|
1338 |
+
defineNodes: [
|
1339 |
+
{ name: "Table", block: !0 },
|
1340 |
+
{ name: "TableHeader", style: { "TableHeader/...": c.heading } },
|
1341 |
+
"TableRow",
|
1342 |
+
{ name: "TableCell", style: c.content },
|
1343 |
+
{ name: "TableDelimiter", style: c.processingInstruction }
|
1344 |
+
],
|
1345 |
+
parseBlock: [{
|
1346 |
+
name: "Table",
|
1347 |
+
leaf(t, e) {
|
1348 |
+
return ce(e.content, 0) ? new me() : null;
|
1349 |
+
},
|
1350 |
+
endLeaf(t, e, r) {
|
1351 |
+
if (r.parsers.some((s) => s instanceof me) || !ce(e.text, e.basePos))
|
1352 |
+
return !1;
|
1353 |
+
let n = t.scanLine(t.absoluteLineEnd + 1).text;
|
1354 |
+
return Qe.test(n) && O(t, e.text, e.basePos) == O(t, n, e.basePos);
|
1355 |
+
},
|
1356 |
+
before: "SetextHeading"
|
1357 |
+
}]
|
1358 |
+
};
|
1359 |
+
class zt {
|
1360 |
+
nextLine() {
|
1361 |
+
return !1;
|
1362 |
+
}
|
1363 |
+
finish(e, r) {
|
1364 |
+
return e.addLeafElement(r, e.elt("Task", r.start, r.start + r.content.length, [
|
1365 |
+
e.elt("TaskMarker", r.start, r.start + 3),
|
1366 |
+
...e.parser.parseInline(r.content.slice(3), r.start + 3)
|
1367 |
+
])), !0;
|
1368 |
+
}
|
1369 |
+
}
|
1370 |
+
const Dt = {
|
1371 |
+
defineNodes: [
|
1372 |
+
{ name: "Task", block: !0, style: c.list },
|
1373 |
+
{ name: "TaskMarker", style: c.atom }
|
1374 |
+
],
|
1375 |
+
parseBlock: [{
|
1376 |
+
name: "TaskList",
|
1377 |
+
leaf(t, e) {
|
1378 |
+
return /^\[[ xX]\][ \t]/.test(e.content) && t.parentType().name == "ListItem" ? new zt() : null;
|
1379 |
+
},
|
1380 |
+
after: "SetextHeading"
|
1381 |
+
}]
|
1382 |
+
}, ge = /(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy, ke = /[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy, Ft = /[\w-]+\.[\w-]+($|\/)/, Le = /[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy, be = /\/[a-zA-Z\d@.]+/gy;
|
1383 |
+
function we(t, e, r, n) {
|
1384 |
+
let s = 0;
|
1385 |
+
for (let i = e; i < r; i++)
|
1386 |
+
t[i] == n && s++;
|
1387 |
+
return s;
|
1388 |
+
}
|
1389 |
+
function Xt(t, e) {
|
1390 |
+
ke.lastIndex = e;
|
1391 |
+
let r = ke.exec(t);
|
1392 |
+
if (!r || Ft.exec(r[0])[0].indexOf("_") > -1)
|
1393 |
+
return -1;
|
1394 |
+
let n = e + r[0].length;
|
1395 |
+
for (; ; ) {
|
1396 |
+
let s = t[n - 1], i;
|
1397 |
+
if (/[?!.,:*_~]/.test(s) || s == ")" && we(t, e, n, ")") > we(t, e, n, "("))
|
1398 |
+
n--;
|
1399 |
+
else if (s == ";" && (i = /&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(t.slice(e, n))))
|
1400 |
+
n = e + i.index;
|
1401 |
+
else
|
1402 |
+
break;
|
1403 |
+
}
|
1404 |
+
return n;
|
1405 |
+
}
|
1406 |
+
function Se(t, e) {
|
1407 |
+
Le.lastIndex = e;
|
1408 |
+
let r = Le.exec(t);
|
1409 |
+
if (!r)
|
1410 |
+
return -1;
|
1411 |
+
let n = r[0][r[0].length - 1];
|
1412 |
+
return n == "_" || n == "-" ? -1 : e + r[0].length - (n == "." ? 1 : 0);
|
1413 |
+
}
|
1414 |
+
const $t = {
|
1415 |
+
parseInline: [{
|
1416 |
+
name: "Autolink",
|
1417 |
+
parse(t, e, r) {
|
1418 |
+
let n = r - t.offset;
|
1419 |
+
ge.lastIndex = n;
|
1420 |
+
let s = ge.exec(t.text), i = -1;
|
1421 |
+
return !s || (s[1] || s[2] ? i = Xt(t.text, n + s[0].length) : s[3] ? i = Se(t.text, n) : (i = Se(t.text, n + s[0].length), i > -1 && s[0] == "xmpp:" && (be.lastIndex = i, s = be.exec(t.text), s && (i = s.index + s[0].length))), i < 0) ? -1 : (t.addElement(t.elt("URL", r, i + t.offset)), i + t.offset);
|
1422 |
+
}
|
1423 |
+
}]
|
1424 |
+
}, jt = [Tt, Dt, Ot, $t];
|
1425 |
+
function Ze(t, e, r) {
|
1426 |
+
return (n, s, i) => {
|
1427 |
+
if (s != t || n.char(i + 1) == t)
|
1428 |
+
return -1;
|
1429 |
+
let o = [n.elt(r, i, i + 1)];
|
1430 |
+
for (let a = i + 1; a < n.end; a++) {
|
1431 |
+
let l = n.char(a);
|
1432 |
+
if (l == t)
|
1433 |
+
return n.addElement(n.elt(e, i, a + 1, o.concat(n.elt(r, a, a + 1))));
|
1434 |
+
if (l == 92 && o.push(n.elt("Escape", a, a++ + 2)), C(l))
|
1435 |
+
break;
|
1436 |
+
}
|
1437 |
+
return -1;
|
1438 |
+
};
|
1439 |
+
}
|
1440 |
+
const _t = {
|
1441 |
+
defineNodes: [
|
1442 |
+
{ name: "Superscript", style: c.special(c.content) },
|
1443 |
+
{ name: "SuperscriptMark", style: c.processingInstruction }
|
1444 |
+
],
|
1445 |
+
parseInline: [{
|
1446 |
+
name: "Superscript",
|
1447 |
+
parse: Ze(94, "Superscript", "SuperscriptMark")
|
1448 |
+
}]
|
1449 |
+
}, qt = {
|
1450 |
+
defineNodes: [
|
1451 |
+
{ name: "Subscript", style: c.special(c.content) },
|
1452 |
+
{ name: "SubscriptMark", style: c.processingInstruction }
|
1453 |
+
],
|
1454 |
+
parseInline: [{
|
1455 |
+
name: "Subscript",
|
1456 |
+
parse: Ze(126, "Subscript", "SubscriptMark")
|
1457 |
+
}]
|
1458 |
+
}, Ut = {
|
1459 |
+
defineNodes: [{ name: "Emoji", style: c.character }],
|
1460 |
+
parseInline: [{
|
1461 |
+
name: "Emoji",
|
1462 |
+
parse(t, e, r) {
|
1463 |
+
let n;
|
1464 |
+
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));
|
1465 |
+
}
|
1466 |
+
}]
|
1467 |
+
}, Ge = /* @__PURE__ */ ut({ commentTokens: { block: { open: "<!--", close: "-->" } } }), Ve = /* @__PURE__ */ new H(), Ke = /* @__PURE__ */ vt.configure({
|
1468 |
+
props: [
|
1469 |
+
/* @__PURE__ */ Be.add((t) => !t.is("Block") || t.is("Document") || ee(t) != null ? void 0 : (e, r) => ({ from: r.doc.lineAt(e.from).to, to: e.to })),
|
1470 |
+
/* @__PURE__ */ Ve.add(ee),
|
1471 |
+
/* @__PURE__ */ dt.add({
|
1472 |
+
Document: () => null
|
1473 |
+
}),
|
1474 |
+
/* @__PURE__ */ pt.add({
|
1475 |
+
Document: Ge
|
1476 |
+
})
|
1477 |
+
]
|
1478 |
+
});
|
1479 |
+
function ee(t) {
|
1480 |
+
let e = /^(?:ATX|Setext)Heading(\d)$/.exec(t.name);
|
1481 |
+
return e ? +e[1] : void 0;
|
1482 |
+
}
|
1483 |
+
function Qt(t, e) {
|
1484 |
+
let r = t;
|
1485 |
+
for (; ; ) {
|
1486 |
+
let n = r.nextSibling, s;
|
1487 |
+
if (!n || (s = ee(n.type)) != null && s <= e)
|
1488 |
+
break;
|
1489 |
+
r = n;
|
1490 |
+
}
|
1491 |
+
return r.to;
|
1492 |
+
}
|
1493 |
+
const Zt = /* @__PURE__ */ ct.of((t, e, r) => {
|
1494 |
+
for (let n = q(t).resolveInner(r, -1); n && !(n.from < e); n = n.parent) {
|
1495 |
+
let s = n.type.prop(Ve);
|
1496 |
+
if (s == null)
|
1497 |
+
continue;
|
1498 |
+
let i = Qt(n, s);
|
1499 |
+
if (i > r)
|
1500 |
+
return { from: r, to: i };
|
1501 |
+
}
|
1502 |
+
return null;
|
1503 |
+
});
|
1504 |
+
function ie(t) {
|
1505 |
+
return new ht(Ge, t, [Zt], "markdown");
|
1506 |
+
}
|
1507 |
+
const Gt = /* @__PURE__ */ ie(Ke), Vt = /* @__PURE__ */ Ke.configure([jt, qt, _t, Ut, {
|
1508 |
+
props: [
|
1509 |
+
/* @__PURE__ */ Be.add({
|
1510 |
+
Table: (t, e) => ({ from: e.doc.lineAt(t.from).to, to: t.to })
|
1511 |
+
})
|
1512 |
+
]
|
1513 |
+
}]), Je = /* @__PURE__ */ ie(Vt);
|
1514 |
+
function Kt(t, e) {
|
1515 |
+
return (r) => {
|
1516 |
+
if (r && t) {
|
1517 |
+
let n = null;
|
1518 |
+
if (r = /\S*/.exec(r)[0], typeof t == "function" ? n = t(r) : n = le.matchLanguageName(t, r, !0), n instanceof le)
|
1519 |
+
return n.support ? n.support.language.parser : mt.getSkippingParser(n.load());
|
1520 |
+
if (n)
|
1521 |
+
return n.parser;
|
1522 |
+
}
|
1523 |
+
return e ? e.parser : null;
|
1524 |
+
};
|
1525 |
+
}
|
1526 |
+
class $ {
|
1527 |
+
constructor(e, r, n, s, i, o, a) {
|
1528 |
+
this.node = e, this.from = r, this.to = n, this.spaceBefore = s, this.spaceAfter = i, this.type = o, this.item = a;
|
1529 |
+
}
|
1530 |
+
blank(e, r = !0) {
|
1531 |
+
let n = this.spaceBefore + (this.node.name == "Blockquote" ? ">" : "");
|
1532 |
+
if (e != null) {
|
1533 |
+
for (; n.length < e; )
|
1534 |
+
n += " ";
|
1535 |
+
return n;
|
1536 |
+
} else {
|
1537 |
+
for (let s = this.to - this.from - n.length - this.spaceAfter.length; s > 0; s--)
|
1538 |
+
n += " ";
|
1539 |
+
return n + (r ? this.spaceAfter : "");
|
1540 |
+
}
|
1541 |
+
}
|
1542 |
+
marker(e, r) {
|
1543 |
+
let n = this.node.name == "OrderedList" ? String(+We(this.item, e)[2] + r) : "";
|
1544 |
+
return this.spaceBefore + n + this.type + this.spaceAfter;
|
1545 |
+
}
|
1546 |
+
}
|
1547 |
+
function Ye(t, e) {
|
1548 |
+
let r = [];
|
1549 |
+
for (let s = t; s && s.name != "Document"; s = s.parent)
|
1550 |
+
(s.name == "ListItem" || s.name == "Blockquote" || s.name == "FencedCode") && r.push(s);
|
1551 |
+
let n = [];
|
1552 |
+
for (let s = r.length - 1; s >= 0; s--) {
|
1553 |
+
let i = r[s], o, a = e.lineAt(i.from), l = i.from - a.from;
|
1554 |
+
if (i.name == "FencedCode")
|
1555 |
+
n.push(new $(i, l, l, "", "", "", null));
|
1556 |
+
else if (i.name == "Blockquote" && (o = /^ *>( ?)/.exec(a.text.slice(l))))
|
1557 |
+
n.push(new $(i, l, l + o[0].length, "", o[1], ">", null));
|
1558 |
+
else if (i.name == "ListItem" && i.parent.name == "OrderedList" && (o = /^( *)\d+([.)])( *)/.exec(a.text.slice(l)))) {
|
1559 |
+
let f = o[3], h = o[0].length;
|
1560 |
+
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));
|
1561 |
+
} else if (i.name == "ListItem" && i.parent.name == "BulletList" && (o = /^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))) {
|
1562 |
+
let f = o[4], h = o[0].length;
|
1563 |
+
f.length > 4 && (f = f.slice(0, f.length - 4), h -= 4);
|
1564 |
+
let p = o[2];
|
1565 |
+
o[3] && (p += o[3].replace(/[xX]/, " ")), n.push(new $(i.parent, l, l + h, o[1], f, p, i));
|
1566 |
+
}
|
1567 |
+
}
|
1568 |
+
return n;
|
1569 |
+
}
|
1570 |
+
function We(t, e) {
|
1571 |
+
return /^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from, t.from + 10));
|
1572 |
+
}
|
1573 |
+
function G(t, e, r, n = 0) {
|
1574 |
+
for (let s = -1, i = t; ; ) {
|
1575 |
+
if (i.name == "ListItem") {
|
1576 |
+
let a = We(i, e), l = +a[2];
|
1577 |
+
if (s >= 0) {
|
1578 |
+
if (l != s + 1)
|
1579 |
+
return;
|
1580 |
+
r.push({ from: i.from + a[1].length, to: i.from + a[0].length, insert: String(s + 2 + n) });
|
1581 |
+
}
|
1582 |
+
s = l;
|
1583 |
+
}
|
1584 |
+
let o = i.nextSibling;
|
1585 |
+
if (!o)
|
1586 |
+
break;
|
1587 |
+
i = o;
|
1588 |
+
}
|
1589 |
+
}
|
1590 |
+
function oe(t, e) {
|
1591 |
+
let r = /^[ \t]*/.exec(t)[0].length;
|
1592 |
+
if (!r || e.facet(ft) != " ")
|
1593 |
+
return t;
|
1594 |
+
let n = T(t, 4, r), s = "";
|
1595 |
+
for (let i = n; i > 0; )
|
1596 |
+
i >= 4 ? (s += " ", i -= 4) : (s += " ", i--);
|
1597 |
+
return s + t.slice(r);
|
1598 |
+
}
|
1599 |
+
const Jt = ({ state: t, dispatch: e }) => {
|
1600 |
+
let r = q(t), { doc: n } = t, s = null, i = t.changeByRange((o) => {
|
1601 |
+
if (!o.empty || !Je.isActiveAt(t, o.from))
|
1602 |
+
return s = { range: o };
|
1603 |
+
let a = o.from, l = n.lineAt(a), f = Ye(r.resolveInner(a, -1), n);
|
1604 |
+
for (; f.length && f[f.length - 1].from > a - l.from; )
|
1605 |
+
f.pop();
|
1606 |
+
if (!f.length)
|
1607 |
+
return s = { range: o };
|
1608 |
+
let h = f[f.length - 1];
|
1609 |
+
if (h.to - h.spaceAfter.length > a - l.from)
|
1610 |
+
return s = { range: o };
|
1611 |
+
let p = a >= h.to - h.spaceAfter.length && !/\S/.test(l.text.slice(h.to));
|
1612 |
+
if (h.item && p) {
|
1613 |
+
let w = h.node.firstChild, S = h.node.getChild("ListItem", "ListItem");
|
1614 |
+
if (w.to >= a || S && S.to < a || l.from > 0 && !/[^\s>]/.test(n.lineAt(l.from - 1).text)) {
|
1615 |
+
let b = f.length > 1 ? f[f.length - 2] : null, A, M = "";
|
1616 |
+
b && b.item ? (A = l.from + b.from, M = b.marker(n, 1)) : A = l.from + (b ? b.to : 0);
|
1617 |
+
let I = [{ from: A, to: a, insert: M }];
|
1618 |
+
return h.node.name == "OrderedList" && G(h.item, n, I, -2), b && b.node.name == "OrderedList" && G(b.item, n, I), { range: P.cursor(A + M.length), changes: I };
|
1619 |
+
} else {
|
1620 |
+
let b = xe(f, t, l);
|
1621 |
+
return {
|
1622 |
+
range: P.cursor(a + b.length + 1),
|
1623 |
+
changes: { from: l.from, insert: b + t.lineBreak }
|
1624 |
+
};
|
1625 |
+
}
|
1626 |
+
}
|
1627 |
+
if (h.node.name == "Blockquote" && p && l.from) {
|
1628 |
+
let w = n.lineAt(l.from - 1), S = />\s*$/.exec(w.text);
|
1629 |
+
if (S && S.index == h.from) {
|
1630 |
+
let b = t.changes([
|
1631 |
+
{ from: w.from + S.index, to: w.to },
|
1632 |
+
{ from: l.from + h.from, to: l.to }
|
1633 |
+
]);
|
1634 |
+
return { range: o.map(b), changes: b };
|
1635 |
+
}
|
1636 |
+
}
|
1637 |
+
let d = [];
|
1638 |
+
h.node.name == "OrderedList" && G(h.item, n, d);
|
1639 |
+
let m = h.item && h.item.from < l.from, L = "";
|
1640 |
+
if (!m || /^[\s\d.)\-+*>]*/.exec(l.text)[0].length >= h.to)
|
1641 |
+
for (let w = 0, S = f.length - 1; w <= S; w++)
|
1642 |
+
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);
|
1643 |
+
let k = a;
|
1644 |
+
for (; k > l.from && /\s/.test(l.text.charAt(k - l.from - 1)); )
|
1645 |
+
k--;
|
1646 |
+
return L = oe(L, t), Yt(h.node, t.doc) && (L = xe(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 };
|
1647 |
+
});
|
1648 |
+
return s ? !1 : (e(t.update(i, { scrollIntoView: !0, userEvent: "input" })), !0);
|
1649 |
+
};
|
1650 |
+
function Ce(t) {
|
1651 |
+
return t.name == "QuoteMark" || t.name == "ListMark";
|
1652 |
+
}
|
1653 |
+
function Yt(t, e) {
|
1654 |
+
if (t.name != "OrderedList" && t.name != "BulletList")
|
1655 |
+
return !1;
|
1656 |
+
let r = t.firstChild, n = t.getChild("ListItem", "ListItem");
|
1657 |
+
if (!n)
|
1658 |
+
return !1;
|
1659 |
+
let s = e.lineAt(r.to), i = e.lineAt(n.from), o = /^[\s>]*$/.test(s.text);
|
1660 |
+
return s.number + (o ? 0 : 1) < i.number;
|
1661 |
+
}
|
1662 |
+
function xe(t, e, r) {
|
1663 |
+
let n = "";
|
1664 |
+
for (let s = 0, i = t.length - 2; s <= i; s++)
|
1665 |
+
n += t[s].blank(s < i ? T(r.text, 4, t[s + 1].from) - n.length : null, s < i);
|
1666 |
+
return oe(n, e);
|
1667 |
+
}
|
1668 |
+
function Wt(t, e) {
|
1669 |
+
let r = t.resolveInner(e, -1), n = e;
|
1670 |
+
Ce(r) && (n = r.from, r = r.parent);
|
1671 |
+
for (let s; s = r.childBefore(n); )
|
1672 |
+
if (Ce(s))
|
1673 |
+
n = s.from;
|
1674 |
+
else if (s.name == "OrderedList" || s.name == "BulletList")
|
1675 |
+
r = s.lastChild, n = r.to;
|
1676 |
+
else
|
1677 |
+
break;
|
1678 |
+
return r;
|
1679 |
+
}
|
1680 |
+
const er = ({ state: t, dispatch: e }) => {
|
1681 |
+
let r = q(t), n = null, s = t.changeByRange((i) => {
|
1682 |
+
let o = i.from, { doc: a } = t;
|
1683 |
+
if (i.empty && Je.isActiveAt(t, i.from)) {
|
1684 |
+
let l = a.lineAt(o), f = Ye(Wt(r, o), a);
|
1685 |
+
if (f.length) {
|
1686 |
+
let h = f[f.length - 1], p = h.to - h.spaceAfter.length + (h.spaceAfter ? 1 : 0);
|
1687 |
+
if (o - l.from > p && !/\S/.test(l.text.slice(p, o - l.from)))
|
1688 |
+
return {
|
1689 |
+
range: P.cursor(l.from + p),
|
1690 |
+
changes: { from: l.from + p, to: o }
|
1691 |
+
};
|
1692 |
+
if (o - l.from == p && // Only apply this if we're on the line that has the
|
1693 |
+
// construct's syntax, or there's only indentation in the
|
1694 |
+
// target range
|
1695 |
+
(!h.item || l.from <= h.item.from || !/\S/.test(l.text.slice(0, h.to)))) {
|
1696 |
+
let d = l.from + h.from;
|
1697 |
+
if (h.item && h.node.from < h.item.from && /\S/.test(l.text.slice(h.from, h.to))) {
|
1698 |
+
let m = h.blank(T(l.text, 4, h.to) - T(l.text, 4, h.from));
|
1699 |
+
return d == l.from && (m = oe(m, t)), {
|
1700 |
+
range: P.cursor(d + m.length),
|
1701 |
+
changes: { from: d, to: l.from + h.to, insert: m }
|
1702 |
+
};
|
1703 |
+
}
|
1704 |
+
if (d < o)
|
1705 |
+
return { range: P.cursor(d), changes: { from: d, to: o } };
|
1706 |
+
}
|
1707 |
+
}
|
1708 |
+
}
|
1709 |
+
return n = { range: i };
|
1710 |
+
});
|
1711 |
+
return n ? !1 : (e(t.update(s, { scrollIntoView: !0, userEvent: "delete" })), !0);
|
1712 |
+
}, tr = [
|
1713 |
+
{ key: "Enter", run: Jt },
|
1714 |
+
{ key: "Backspace", run: er }
|
1715 |
+
], te = /* @__PURE__ */ kt({ matchClosingTags: !1 });
|
1716 |
+
function hr(t = {}) {
|
1717 |
+
let { codeLanguages: e, defaultCodeLanguage: r, addKeymap: n = !0, base: { parser: s } = Gt, completeHTMLTags: i = !0 } = t;
|
1718 |
+
if (!(s instanceof U))
|
1719 |
+
throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");
|
1720 |
+
let o = t.extensions ? [t.extensions] : [], a = [te.support], l;
|
1721 |
+
r instanceof ae ? (a.push(r.support), l = r.language) : r && (l = r);
|
1722 |
+
let f = e || l ? Kt(e, l) : void 0;
|
1723 |
+
o.push(yt({ codeParser: f, htmlParser: te.language.parser })), n && a.push(it.high(ot.of(tr)));
|
1724 |
+
let h = ie(s.configure(o));
|
1725 |
+
return i && a.push(h.data.of({ autocomplete: rr })), new ae(h, a);
|
1726 |
+
}
|
1727 |
+
function rr(t) {
|
1728 |
+
let { state: e, pos: r } = t, n = /<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(r - 25, r));
|
1729 |
+
if (!n)
|
1730 |
+
return null;
|
1731 |
+
let s = q(e).resolveInner(r, -1);
|
1732 |
+
for (; s && !s.type.isTop; ) {
|
1733 |
+
if (s.name == "CodeBlock" || s.name == "FencedCode" || s.name == "ProcessingInstructionBlock" || s.name == "CommentBlock" || s.name == "Link" || s.name == "Image")
|
1734 |
+
return null;
|
1735 |
+
s = s.parent;
|
1736 |
+
}
|
1737 |
+
return {
|
1738 |
+
from: r - n[0].length,
|
1739 |
+
to: r,
|
1740 |
+
options: nr(),
|
1741 |
+
validFor: /^<[:\-\.\w\u00b7-\uffff]*$/
|
1742 |
+
};
|
1743 |
+
}
|
1744 |
+
let V = null;
|
1745 |
+
function nr() {
|
1746 |
+
if (V)
|
1747 |
+
return V;
|
1748 |
+
let t = gt(new at(lt.create({ extensions: te }), 0, !0));
|
1749 |
+
return V = t ? t.options : [];
|
1750 |
+
}
|
1751 |
+
export {
|
1752 |
+
Gt as commonmarkLanguage,
|
1753 |
+
er as deleteMarkupBackward,
|
1754 |
+
Jt as insertNewlineContinueMarkup,
|
1755 |
+
hr as markdown,
|
1756 |
+
tr as markdownKeymap,
|
1757 |
+
Je as markdownLanguage
|
1758 |
+
};
|
src/backend/gradio_highlightedcode/templates/component/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
import { R as e, Q as o, O as B, M as d, W as l, K as p } from "./Index-
|
2 |
export {
|
3 |
e as BaseCode,
|
4 |
o as BaseCopy,
|
|
|
1 |
+
import { R as e, Q as o, O as B, M as d, W as l, K as p } from "./Index-805076c9.js";
|
2 |
export {
|
3 |
e as BaseCode,
|
4 |
o as BaseCopy,
|
src/demo/app.py
CHANGED
@@ -1,17 +1,33 @@
|
|
1 |
|
|
|
2 |
import gradio as gr
|
3 |
from gradio_highlightedcode import HighlightedCode
|
4 |
|
5 |
|
6 |
example = HighlightedCode().example_inputs()
|
7 |
|
8 |
-
|
9 |
-
lambda x:x,
|
10 |
-
HighlightedCode(), # interactive version of your component
|
11 |
-
HighlightedCode(), # static version of your component
|
12 |
-
# examples=[[example]], # uncomment this line to view the "example version" of your component
|
13 |
-
)
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
if __name__ == "__main__":
|
17 |
demo.launch()
|
|
|
1 |
|
2 |
+
import time
|
3 |
import gradio as gr
|
4 |
from gradio_highlightedcode import HighlightedCode
|
5 |
|
6 |
|
7 |
example = HighlightedCode().example_inputs()
|
8 |
|
9 |
+
initial_value = """import random
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
+
def scramble_name(name):
|
12 |
+
name_list = list(name)
|
13 |
+
"""
|
14 |
+
|
15 |
+
completion = """ random.shuffle(name_list)
|
16 |
+
return ''.join(name_list)
|
17 |
+
|
18 |
+
# Example usage:
|
19 |
+
print(scramble_name("Python"))
|
20 |
+
"""
|
21 |
+
|
22 |
+
def generate_code():
|
23 |
+
for i in range(len(completion)):
|
24 |
+
time.sleep(0.03)
|
25 |
+
yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
|
26 |
+
|
27 |
+
with gr.Blocks() as demo:
|
28 |
+
code = HighlightedCode(initial_value, language="python")
|
29 |
+
btn = gr.Button("Generate", variant="primary")
|
30 |
+
btn.click(generate_code, outputs=code)
|
31 |
|
32 |
if __name__ == "__main__":
|
33 |
demo.launch()
|
src/demo/space.py
CHANGED
@@ -21,7 +21,7 @@ with gr.Blocks(
|
|
21 |
# `gradio_highlightedcode`
|
22 |
|
23 |
<div style="display: flex; gap: 7px;">
|
24 |
-
<img alt="
|
25 |
</div>
|
26 |
|
27 |
A variant of the Code component that supports highlighting lines of code.
|
@@ -39,19 +39,35 @@ pip install gradio_highlightedcode
|
|
39 |
|
40 |
```python
|
41 |
|
|
|
42 |
import gradio as gr
|
43 |
from gradio_highlightedcode import HighlightedCode
|
44 |
|
45 |
|
46 |
example = HighlightedCode().example_inputs()
|
47 |
|
48 |
-
|
49 |
-
lambda x:x,
|
50 |
-
HighlightedCode(), # interactive version of your component
|
51 |
-
HighlightedCode(), # static version of your component
|
52 |
-
# examples=[[example]], # uncomment this line to view the "example version" of your component
|
53 |
-
)
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
if __name__ == "__main__":
|
57 |
demo.launch()
|
|
|
21 |
# `gradio_highlightedcode`
|
22 |
|
23 |
<div style="display: flex; gap: 7px;">
|
24 |
+
<a href="https://pypi.org/project/gradio_highlightedcode/" target="_blank"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/gradio_highlightedcode"></a>
|
25 |
</div>
|
26 |
|
27 |
A variant of the Code component that supports highlighting lines of code.
|
|
|
39 |
|
40 |
```python
|
41 |
|
42 |
+
import time
|
43 |
import gradio as gr
|
44 |
from gradio_highlightedcode import HighlightedCode
|
45 |
|
46 |
|
47 |
example = HighlightedCode().example_inputs()
|
48 |
|
49 |
+
initial_value = """import random
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
+
def scramble_name(name):
|
52 |
+
name_list = list(name)
|
53 |
+
"""
|
54 |
+
|
55 |
+
completion = """ random.shuffle(name_list)
|
56 |
+
return ''.join(name_list)
|
57 |
+
|
58 |
+
# Example usage:
|
59 |
+
print(scramble_name("Python"))
|
60 |
+
"""
|
61 |
+
|
62 |
+
def generate_code():
|
63 |
+
for i in range(len(completion)):
|
64 |
+
time.sleep(0.03)
|
65 |
+
yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
|
66 |
+
|
67 |
+
with gr.Blocks() as demo:
|
68 |
+
code = HighlightedCode(initial_value, language="python")
|
69 |
+
btn = gr.Button("Generate", variant="primary")
|
70 |
+
btn.click(generate_code, outputs=code)
|
71 |
|
72 |
if __name__ == "__main__":
|
73 |
demo.launch()
|
src/frontend/Index.svelte
CHANGED
@@ -36,6 +36,7 @@
|
|
36 |
export let show_label = true;
|
37 |
export let loading_status: LoadingStatus;
|
38 |
export let scale: number | null = null;
|
|
|
39 |
|
40 |
export let interactive: boolean;
|
41 |
|
@@ -81,6 +82,7 @@
|
|
81 |
{language}
|
82 |
{lines}
|
83 |
{dark_mode}
|
|
|
84 |
readonly={!interactive}
|
85 |
on:blur={() => gradio.dispatch("blur")}
|
86 |
on:focus={() => gradio.dispatch("focus")}
|
|
|
36 |
export let show_label = true;
|
37 |
export let loading_status: LoadingStatus;
|
38 |
export let scale: number | null = null;
|
39 |
+
export let highlights: [number, string][] = [];
|
40 |
|
41 |
export let interactive: boolean;
|
42 |
|
|
|
82 |
{language}
|
83 |
{lines}
|
84 |
{dark_mode}
|
85 |
+
{highlights}
|
86 |
readonly={!interactive}
|
87 |
on:blur={() => gradio.dispatch("blur")}
|
88 |
on:focus={() => gradio.dispatch("focus")}
|
src/frontend/shared/Code.svelte
CHANGED
@@ -1,8 +1,9 @@
|
|
1 |
<script lang="ts">
|
2 |
-
import type { ViewUpdate } from "@codemirror/view";
|
3 |
import { createEventDispatcher, onMount } from "svelte";
|
4 |
import {
|
|
|
5 |
EditorView,
|
|
|
6 |
keymap,
|
7 |
placeholder as placeholderExt
|
8 |
} from "@codemirror/view";
|
@@ -22,7 +23,7 @@
|
|
22 |
export let language: string;
|
23 |
export let lines = 5;
|
24 |
export let extensions: Extension[] = [];
|
25 |
-
|
26 |
export let useTab = true;
|
27 |
|
28 |
export let readonly = false;
|
@@ -48,6 +49,18 @@
|
|
48 |
$: setDoc(value);
|
49 |
$: updateLines();
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
function setDoc(newDoc: string): void {
|
52 |
if (view && newDoc !== view.state.doc.toString()) {
|
53 |
view.dispatch({
|
@@ -110,6 +123,7 @@
|
|
110 |
let node = gutters[i];
|
111 |
node.style.minHeight = `calc(${lineHeight} * ${_lines})`;
|
112 |
}
|
|
|
113 |
return null;
|
114 |
}
|
115 |
|
|
|
1 |
<script lang="ts">
|
|
|
2 |
import { createEventDispatcher, onMount } from "svelte";
|
3 |
import {
|
4 |
+
Decoration,
|
5 |
EditorView,
|
6 |
+
ViewUpdate,
|
7 |
keymap,
|
8 |
placeholder as placeholderExt
|
9 |
} from "@codemirror/view";
|
|
|
23 |
export let language: string;
|
24 |
export let lines = 5;
|
25 |
export let extensions: Extension[] = [];
|
26 |
+
export let highlights: [number, string][] = [];
|
27 |
export let useTab = true;
|
28 |
|
29 |
export let readonly = false;
|
|
|
49 |
$: setDoc(value);
|
50 |
$: updateLines();
|
51 |
|
52 |
+
function highlight_lines(root_element: HTMLDivElement) {
|
53 |
+
const lines = root_element.querySelectorAll('.cm-line');
|
54 |
+
let old_color = 'transparent';
|
55 |
+
lines.forEach((e, index) => {
|
56 |
+
const line_number = index + 1;
|
57 |
+
let new_color = highlights.find(([l, c]) => l === line_number)?.[1] ?? old_color;
|
58 |
+
e.style.backgroundColor = new_color;
|
59 |
+
old_color = new_color;
|
60 |
+
});
|
61 |
+
}
|
62 |
+
|
63 |
+
|
64 |
function setDoc(newDoc: string): void {
|
65 |
if (view && newDoc !== view.state.doc.toString()) {
|
66 |
view.dispatch({
|
|
|
123 |
let node = gutters[i];
|
124 |
node.style.minHeight = `calc(${lineHeight} * ${_lines})`;
|
125 |
}
|
126 |
+
highlight_lines(element);
|
127 |
return null;
|
128 |
}
|
129 |
|
src/pyproject.toml
CHANGED
@@ -8,7 +8,7 @@ build-backend = "hatchling.build"
|
|
8 |
|
9 |
[project]
|
10 |
name = "gradio_highlightedcode"
|
11 |
-
version = "0.0.
|
12 |
description = "A variant of the Code component that supports highlighting lines of code."
|
13 |
readme = "README.md"
|
14 |
license = "MIT"
|
@@ -36,7 +36,7 @@ classifiers = [
|
|
36 |
dev = ["build", "twine"]
|
37 |
|
38 |
[tool.hatch.build]
|
39 |
-
artifacts = ["/backend/gradio_highlightedcode/templates", "*.pyi", "backend/gradio_highlightedcode/templates"]
|
40 |
|
41 |
[tool.hatch.build.targets.wheel]
|
42 |
packages = ["/backend/gradio_highlightedcode"]
|
|
|
8 |
|
9 |
[project]
|
10 |
name = "gradio_highlightedcode"
|
11 |
+
version = "0.0.2"
|
12 |
description = "A variant of the Code component that supports highlighting lines of code."
|
13 |
readme = "README.md"
|
14 |
license = "MIT"
|
|
|
36 |
dev = ["build", "twine"]
|
37 |
|
38 |
[tool.hatch.build]
|
39 |
+
artifacts = ["/backend/gradio_highlightedcode/templates", "*.pyi", "backend/gradio_highlightedcode/templates", "backend/gradio_highlightedcode/templates"]
|
40 |
|
41 |
[tool.hatch.build.targets.wheel]
|
42 |
packages = ["/backend/gradio_highlightedcode"]
|