@galaxyproject/jupyterlite 0.0.17 → 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -3
- package/static/dist/_output/build/schemas/all_federated.json +1 -1
- package/static/dist/_output/extensions/@jupyterlite/ai/install.json +5 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/package.json +252 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/schemas/@jupyterlite/ai/settings-model.json +194 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/116.010504c67cccbe983101.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/155.33f38a7e48ddbeb5bb6e.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/180.96635ff74c0413e0c580.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/19.a1bb726875fe6561330e.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/306.17ff80cd7d3702012f98.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/313.e439dd0f4960f6e7585f.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/324.77487b82034275866b8c.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/340.e42ea25ea5b1b374a682.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/374.d7b4dcf29eb3d2ebfd70.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/472.05d097796e83ea9a22b4.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/529.600d1aebb2de2d73fecb.js +2 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/529.600d1aebb2de2d73fecb.js.LICENSE.txt +8 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/537.eb8d9ccd76231e36d75f.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/593.284fd5d2b50defc573f3.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/665.564d208c226b2753e13b.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/669.0094374ba6e3143702f7.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/692.911f4d7dca73b3737833.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/694.e439dd0f4960f6e7585f.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/709.7578153f9eed366ee430.js +2 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/709.7578153f9eed366ee430.js.LICENSE.txt +19 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/728.d7c2cb9a2f7fdd846b35.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/764.312b4b53ed50be5bf3f8.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/798.dca29a3fc3b23c555f6b.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/88.898492ebc5b41a4607c6.js +2 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/88.898492ebc5b41a4607c6.js.LICENSE.txt +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/885.1670a5138e0a13def795.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/918.e91fcd78edba173284a4.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/92.55c2fe71a33184c2e66d.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/952.003f03c751075980ac7f.js +183 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/remoteEntry.2f103c13fd640ab93eb9.js +1 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/style.js +4 -0
- package/static/dist/_output/extensions/@jupyterlite/ai/static/third-party-licenses.json +352 -0
- package/static/dist/_output/extensions/jl-galaxy/extension.js +1 -1
- package/static/dist/_output/extensions/jupyter-secrets-manager/install.json +5 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/package.json +207 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/schemas/jupyter-secrets-manager/manager.json +14 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/728.69cdb8043c4eb7a36084.js +1 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/810.7ac328ef761c19894484.js +1 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/remoteEntry.6610dc2c9e0921c7f94a.js +1 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/style.js +4 -0
- package/static/dist/_output/extensions/jupyter-secrets-manager/static/third-party-licenses.json +16 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/install.json +5 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/package.json +90 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/374.f7ab05aeba5c1aa173c9.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/432.7cb3263d05824765a0d2.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/509.9384daafd8fb72a4ff3a.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/993.f7ab05aeba5c1aa173c9.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/remoteEntry.f80ac7a8e97b08d2a2fd.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/style.js +4 -0
- package/static/dist/_output/extensions/jupyterlab-cell-input-footer-extension/static/third-party-licenses.json +22 -0
- package/static/dist/_output/extensions/jupyterlab-diff/install.json +5 -0
- package/static/dist/_output/extensions/jupyterlab-diff/package.json +224 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/299.07069b808cb23f84a242.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/379.2e2a6add1111d74422d2.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/383.dbd292b18614d410ed4b.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/499.e9c141febe62f251e965.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/680.07069b808cb23f84a242.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/728.559a28b17e14994cba46.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/747.e3256716cc1134700a59.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/879.749253139a5186f32109.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/remoteEntry.4830528fbe7c3ca55989.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/style.js +4 -0
- package/static/dist/_output/extensions/jupyterlab-diff/static/third-party-licenses.json +94 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/install.json +5 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/package.json +90 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/432.57100b29bc9fea211a0e.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/509.d1cc43983763b6a85f45.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/666.84cadfe40c86b502f11d.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/remoteEntry.5577376b289c1f9e2dc2.js +1 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/style.js +4 -0
- package/static/dist/_output/extensions/jupyterlab-eventlistener-extension/static/third-party-licenses.json +22 -0
- package/static/dist/_output/jupyter-lite.json +43 -20
- package/static/dist/_output/pypi/attrs-25.4.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/gxy-0.0.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/jupyter_core-5.9.1-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/narwhals-2.13.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/{platformdirs-4.4.0-py3-none-any.whl → platformdirs-4.5.1-py3-none-any.whl} +0 -0
- package/static/dist/_output/pypi/referencing-0.37.0-py3-none-any.whl +0 -0
- package/static/dist/index.js +2 -2
- package/static/dist/_output/pypi/attrs-25.3.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/jupyter_core-5.8.1-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/narwhals-2.6.0-py3-none-any.whl +0 -0
- package/static/dist/_output/pypi/referencing-0.36.2-py3-none-any.whl +0 -0
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "jupyterlab-diff",
|
|
3
|
+
"version": "0.6.1",
|
|
4
|
+
"description": "A JupyterLab Extension for showing cell (git) diffs.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"jupyter",
|
|
7
|
+
"jupyterlab",
|
|
8
|
+
"jupyterlab-extension"
|
|
9
|
+
],
|
|
10
|
+
"homepage": "https://github.com/jupyter-ai-contrib/jupyterlab-diff",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/jupyter-ai-contrib/jupyterlab-diff/issues"
|
|
13
|
+
},
|
|
14
|
+
"license": "BSD-3-Clause",
|
|
15
|
+
"author": {
|
|
16
|
+
"name": "Zach Sailer",
|
|
17
|
+
"email": "zachsailer@gmail.com"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
|
|
21
|
+
"style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
|
|
22
|
+
"src/**/*.{ts,tsx}",
|
|
23
|
+
"schema/*.json"
|
|
24
|
+
],
|
|
25
|
+
"main": "lib/index.js",
|
|
26
|
+
"types": "lib/index.d.ts",
|
|
27
|
+
"style": "style/index.css",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "https://github.com/jupyter-ai-contrib/jupyterlab-diff.git"
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "jlpm build:lib && jlpm build:labextension:dev",
|
|
34
|
+
"build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
|
|
35
|
+
"build:labextension": "jupyter labextension build .",
|
|
36
|
+
"build:labextension:dev": "jupyter labextension build --development True .",
|
|
37
|
+
"build:lib": "tsc --sourceMap",
|
|
38
|
+
"build:lib:prod": "tsc",
|
|
39
|
+
"clean": "jlpm clean:lib",
|
|
40
|
+
"clean:lib": "rimraf lib tsconfig.tsbuildinfo",
|
|
41
|
+
"clean:lintcache": "rimraf .eslintcache .stylelintcache",
|
|
42
|
+
"clean:labextension": "rimraf jupyterlab_diff/labextension jupyterlab_diff/_version.py",
|
|
43
|
+
"clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
|
|
44
|
+
"eslint": "jlpm eslint:check --fix",
|
|
45
|
+
"eslint:check": "eslint . --cache --ext .ts,.tsx",
|
|
46
|
+
"install:extension": "jlpm build",
|
|
47
|
+
"lint": "jlpm stylelint && jlpm prettier && jlpm eslint",
|
|
48
|
+
"lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check",
|
|
49
|
+
"prettier": "jlpm prettier:base --write --list-different",
|
|
50
|
+
"prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
|
|
51
|
+
"prettier:check": "jlpm prettier:base --check",
|
|
52
|
+
"stylelint": "jlpm stylelint:check --fix",
|
|
53
|
+
"stylelint:check": "stylelint --cache \"style/**/*.css\"",
|
|
54
|
+
"watch": "run-p watch:src watch:labextension",
|
|
55
|
+
"watch:src": "tsc -w --sourceMap",
|
|
56
|
+
"watch:labextension": "jupyter labextension watch ."
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"@codemirror/lang-python": "^6.2.1",
|
|
60
|
+
"@codemirror/merge": "^6.11.0",
|
|
61
|
+
"@codemirror/view": "^6.38.2",
|
|
62
|
+
"@jupyter/ydoc": "^3.1.0",
|
|
63
|
+
"@jupyterlab/application": "^4.0.0",
|
|
64
|
+
"@jupyterlab/cells": "^4.0.0",
|
|
65
|
+
"@jupyterlab/codeeditor": "^4.0.0",
|
|
66
|
+
"@jupyterlab/codemirror": "^4.4.7",
|
|
67
|
+
"@jupyterlab/coreutils": "^6.0.0",
|
|
68
|
+
"@jupyterlab/fileeditor": "^4.0.0",
|
|
69
|
+
"@jupyterlab/notebook": "^4.0.0",
|
|
70
|
+
"@jupyterlab/services": "^7.0.0",
|
|
71
|
+
"@jupyterlab/translation": "^4.0.0",
|
|
72
|
+
"@jupyterlab/ui-components": "^4.0.0",
|
|
73
|
+
"@lumino/widgets": "^2.0.0",
|
|
74
|
+
"codemirror": "^6.0.2",
|
|
75
|
+
"jupyterlab-cell-input-footer": "^0.3.0"
|
|
76
|
+
},
|
|
77
|
+
"devDependencies": {
|
|
78
|
+
"@jupyterlab/builder": "^4.0.0",
|
|
79
|
+
"@types/json-schema": "^7.0.11",
|
|
80
|
+
"@types/react": "^18.0.26",
|
|
81
|
+
"@types/react-addons-linked-state-mixin": "^0.14.22",
|
|
82
|
+
"@typescript-eslint/eslint-plugin": "^6.1.0",
|
|
83
|
+
"@typescript-eslint/parser": "^6.1.0",
|
|
84
|
+
"css-loader": "^6.7.1",
|
|
85
|
+
"eslint": "^8.36.0",
|
|
86
|
+
"eslint-config-prettier": "^8.8.0",
|
|
87
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
88
|
+
"mkdirp": "^1.0.3",
|
|
89
|
+
"npm-run-all2": "^7.0.1",
|
|
90
|
+
"prettier": "^3.0.0",
|
|
91
|
+
"rimraf": "^5.0.1",
|
|
92
|
+
"source-map-loader": "^1.0.2",
|
|
93
|
+
"style-loader": "^3.3.1",
|
|
94
|
+
"stylelint": "^15.10.1",
|
|
95
|
+
"stylelint-config-recommended": "^13.0.0",
|
|
96
|
+
"stylelint-config-standard": "^34.0.0",
|
|
97
|
+
"stylelint-csstree-validator": "^3.0.0",
|
|
98
|
+
"stylelint-prettier": "^4.0.0",
|
|
99
|
+
"typescript": "~5.0.2",
|
|
100
|
+
"yjs": "^13.5.0"
|
|
101
|
+
},
|
|
102
|
+
"sideEffects": [
|
|
103
|
+
"style/*.css",
|
|
104
|
+
"style/index.js"
|
|
105
|
+
],
|
|
106
|
+
"styleModule": "style/index.js",
|
|
107
|
+
"publishConfig": {
|
|
108
|
+
"access": "public"
|
|
109
|
+
},
|
|
110
|
+
"jupyterlab": {
|
|
111
|
+
"discovery": {
|
|
112
|
+
"server": {
|
|
113
|
+
"managers": [
|
|
114
|
+
"pip"
|
|
115
|
+
],
|
|
116
|
+
"base": {
|
|
117
|
+
"name": "jupyterlab_diff"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"extension": true,
|
|
122
|
+
"outputDir": "jupyterlab_diff/labextension",
|
|
123
|
+
"_build": {
|
|
124
|
+
"load": "static/remoteEntry.4830528fbe7c3ca55989.js",
|
|
125
|
+
"extension": "./extension",
|
|
126
|
+
"style": "./style"
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"eslintIgnore": [
|
|
130
|
+
"node_modules",
|
|
131
|
+
"dist",
|
|
132
|
+
"coverage",
|
|
133
|
+
"**/*.d.ts",
|
|
134
|
+
"tests",
|
|
135
|
+
"**/__tests__",
|
|
136
|
+
"ui-tests",
|
|
137
|
+
".venv"
|
|
138
|
+
],
|
|
139
|
+
"eslintConfig": {
|
|
140
|
+
"extends": [
|
|
141
|
+
"eslint:recommended",
|
|
142
|
+
"plugin:@typescript-eslint/eslint-recommended",
|
|
143
|
+
"plugin:@typescript-eslint/recommended",
|
|
144
|
+
"plugin:prettier/recommended"
|
|
145
|
+
],
|
|
146
|
+
"parser": "@typescript-eslint/parser",
|
|
147
|
+
"parserOptions": {
|
|
148
|
+
"project": "tsconfig.json",
|
|
149
|
+
"sourceType": "module"
|
|
150
|
+
},
|
|
151
|
+
"plugins": [
|
|
152
|
+
"@typescript-eslint"
|
|
153
|
+
],
|
|
154
|
+
"rules": {
|
|
155
|
+
"@typescript-eslint/naming-convention": [
|
|
156
|
+
"error",
|
|
157
|
+
{
|
|
158
|
+
"selector": "interface",
|
|
159
|
+
"format": [
|
|
160
|
+
"PascalCase"
|
|
161
|
+
],
|
|
162
|
+
"custom": {
|
|
163
|
+
"regex": "^I[A-Z]",
|
|
164
|
+
"match": true
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"@typescript-eslint/no-unused-vars": [
|
|
169
|
+
"warn",
|
|
170
|
+
{
|
|
171
|
+
"args": "none"
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
175
|
+
"@typescript-eslint/no-namespace": "off",
|
|
176
|
+
"@typescript-eslint/no-use-before-define": "off",
|
|
177
|
+
"@typescript-eslint/quotes": [
|
|
178
|
+
"error",
|
|
179
|
+
"single",
|
|
180
|
+
{
|
|
181
|
+
"avoidEscape": true,
|
|
182
|
+
"allowTemplateLiterals": false
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
"curly": [
|
|
186
|
+
"error",
|
|
187
|
+
"all"
|
|
188
|
+
],
|
|
189
|
+
"eqeqeq": "error",
|
|
190
|
+
"prefer-arrow-callback": "error"
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"prettier": {
|
|
194
|
+
"singleQuote": true,
|
|
195
|
+
"trailingComma": "none",
|
|
196
|
+
"arrowParens": "avoid",
|
|
197
|
+
"endOfLine": "auto",
|
|
198
|
+
"overrides": [
|
|
199
|
+
{
|
|
200
|
+
"files": "package.json",
|
|
201
|
+
"options": {
|
|
202
|
+
"tabWidth": 4
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
]
|
|
206
|
+
},
|
|
207
|
+
"stylelint": {
|
|
208
|
+
"extends": [
|
|
209
|
+
"stylelint-config-recommended",
|
|
210
|
+
"stylelint-config-standard",
|
|
211
|
+
"stylelint-prettier/recommended"
|
|
212
|
+
],
|
|
213
|
+
"plugins": [
|
|
214
|
+
"stylelint-csstree-validator"
|
|
215
|
+
],
|
|
216
|
+
"rules": {
|
|
217
|
+
"csstree/validator": true,
|
|
218
|
+
"property-no-vendor-prefix": null,
|
|
219
|
+
"selector-class-pattern": "^([a-z][A-z\\d]*)(-[A-z\\d]+)*$",
|
|
220
|
+
"selector-no-vendor-prefix": null,
|
|
221
|
+
"value-no-vendor-prefix": null
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkjupyterlab_diff=self.webpackChunkjupyterlab_diff||[]).push([[299,680],{680:(e,t,o)=>{o.r(t),o.d(t,{CellFooterTracker:()=>c,ContentFactoryWithFooter:()=>b,ICellFooterTracker:()=>d});var r=o(262),l=o(256),n=o(694),a=o(53);const i="jp-cellfooter";class s extends l.Panel{constructor(){super(),this.id=i,this.addClass(i),this.toolbar=new n.Toolbar,this.toolbar.addClass("jp-cellfooter-toolbar"),this.toolbar.addItem("spacer",n.Toolbar.createSpacerItem()),this.toolbar.addItem("clear",new n.ToolbarButton({icon:n.closeIcon,enabled:!0,onClick:()=>{this.hide()}})),this.addWidget(this.toolbar)}addToolbarItemOnLeft(e,t){var o;null===(o=this.toolbar)||void 0===o||o.insertBefore("spacer",e,t)}addToolbarItemOnRight(e,t){var o;null===(o=this.toolbar)||void 0===o||o.insertBefore("clear",e,t)}removeToolbarItem(e){if(!this.toolbar)return;const t=(0,a.map)(this.toolbar.names(),((e,t)=>({name:e,index:t}))),o=(0,a.find)(t,(t=>t.name===e));o&&[...this.toolbar.children()][o.index].dispose()}removeWidget(e){const t=this.widgets.find((t=>t.hasClass(e)));null==t||t.dispose()}}const d=new r.Token("cellFooterTracker");class c{constructor(e){this._notebookTracker=e}getFooter(e){var t;const o=e||(null===(t=this._notebookTracker.activeCell)||void 0===t?void 0:t.model.id);if(void 0===o)return;const{cell:r}=function(e,t){var o,r;const l=t.currentWidget,n=null===(r=null===(o=t.currentWidget)||void 0===o?void 0:o.content._findCellById(e))||void 0===r?void 0:r.cell;if(l&&n)return{cell:n,notebook:l};const a=t.find((t=>{var o;return!!(null===(o=t.content._findCellById(e))||void 0===o?void 0:o.cell)}));return{cell:n,notebook:a}}(o,this._notebookTracker);return r?function(e){return(null==e?void 0:e.layout).widgets.find((e=>e.id===i))}(r):void 0}addToolbarItemOnLeft(e){const t=this.getFooter(e.cellId);e.item&&(null==t||t.addToolbarItemOnLeft(e.name,e.item))}addToolbarItemOnRight(e){const t=this.getFooter(e.cellId);e.item&&(null==t||t.addToolbarItemOnRight(e.name,e.item))}removeToolbarItem(e){const t=this.getFooter(e.cellId);null==t||t.removeToolbarItem(e.name)}hideFooter(e){const t=this.getFooter(e);null==t||t.hide()}showFooter(e){const t=this.getFooter(e);null==t||t.show()}}var u=o(762);function h(e){const t=e.layout,o=t.widgets.findIndex(((e,t,o)=>e.hasClass("jp-Cell-inputWrapper")));if(-1===o)return void console.error("Could not find the correct element.");const r=new s;t.insertWidget(o+1,r),r.hide()}class b extends u.NotebookPanel.ContentFactory{createCodeCell(e){const t=super.createCodeCell(e);return t.ready.then((()=>{h(t)})),t}createMarkdownCell(e){const t=super.createMarkdownCell(e);return t.ready.then((()=>{h(t)})),t}createRawCell(e){const t=super.createRawCell(e);return t.ready.then((()=>{h(t)})),t}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkjupyterlab_diff=self.webpackChunkjupyterlab_diff||[]).push([[379],{379:(e,t,r)=>{r.r(t),r.d(t,{Change:()=>u,Chunk:()=>Q,MergeView:()=>Oe,acceptChunk:()=>_e,diff:()=>P,getChunks:()=>Z,getOriginalDoc:()=>Fe,goToNextChunk:()=>J,goToPreviousChunk:()=>K,originalDocChangeEffect:()=>Ge,presentableDiff:()=>I,rejectChunk:()=>Ie,uncollapseUnchanged:()=>we,unifiedMergeView:()=>Ve,updateOriginalDoc:()=>Ne});var n=r(24),i=r(195);const o="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),s="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class a{constructor(e,t){this.rules=[];let{finish:r}=t||{};function n(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function i(e,t,o,s){let l=[],a=/^@(\w+)\b/.exec(e[0]),f=a&&"keyframes"==a[1];if(a&&null==t)return o.push(e[0]+";");for(let r in t){let s=t[r];if(/&/.test(r))i(r.split(/,\s*/).map((t=>e.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),s,o);else if(s&&"object"==typeof s){if(!a)throw new RangeError("The value of a property ("+r+") should be a primitive value.");i(n(r),s,l,f)}else null!=s&&l.push(r.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+s+";")}(l.length||f)&&o.push((!r||a||s?e:e.map(r)).join(", ")+" {"+l.join(" ")+"}")}for(let t in e)i(n(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=l[o]||1;return l[o]=e+1,"ͼ"+e.toString(36)}static mount(e,t,r){let n=e[s],i=r&&r.nonce;n?i&&n.setNonce(i):n=new c(e,i),n.mount(Array.isArray(t)?t:[t],e)}}let f=new Map;class c{constructor(e,t){let r=e.ownerDocument||e,n=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let t=f.get(r);if(t)return e[s]=t;this.sheet=new n.CSSStyleSheet,f.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[s]=this}mount(e,t){let r=this.sheet,n=0,i=0;for(let t=0;t<e.length;t++){let o=e[t],s=this.modules.indexOf(o);if(s<i&&s>-1&&(this.modules.splice(s,1),i--,s=-1),-1==s){if(this.modules.splice(i++,0,o),r)for(let e=0;e<o.rules.length;e++)r.insertRule(o.rules[e],n++)}else{for(;i<s;)n+=this.modules[i++].rules.length;n+=o.rules.length,i++}}if(r)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let e="";for(let t=0;t<this.modules.length;t++)e+=this.modules[t].getRules()+"\n";this.styleTag.textContent=e;let r=t.head||t;this.styleTag.parentNode!=r&&r.insertBefore(this.styleTag,r.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var d=r(84),h=r(839);class u{constructor(e,t,r,n){this.fromA=e,this.toA=t,this.fromB=r,this.toB=n}offset(e,t=e){return new u(this.fromA+e,this.toA+e,this.fromB+t,this.toB+t)}}function m(e,t,r,n,i,o){if(e==n)return[];let s=k(e,t,r,n,i,o),l=x(e,t+s,r,n,i+s,o),a=(r-=l)-(t+=s),f=(o-=l)-(i+=s);if(!a||!f)return[new u(t,r,i,o)];if(a>f){let s=e.slice(t,r).indexOf(n.slice(i,o));if(s>-1)return[new u(t,t+s,i,i),new u(t+s+f,r,o,o)]}else if(f>a){let s=n.slice(i,o).indexOf(e.slice(t,r));if(s>-1)return[new u(t,t,i,i+s),new u(r,r,i+s+a,o)]}if(1==a||1==f)return[new u(t,r,i,o)];let c=D(e,t,r,n,i,o);if(c){let[s,l,a]=c;return m(e,t,s,n,i,l).concat(m(e,s+a,r,n,l+a,o))}return function(e,t,r,n,i,o){let s=r-t,l=o-i;if(g<1e9&&Math.min(s,l)>16*g||p>0&&Date.now()>p)return Math.min(s,l)>64*g?[new u(t,r,i,o)]:S(e,t,r,n,i,o);let a=Math.ceil((s+l)/2);b.reset(a),B.reset(a);let f=(r,o)=>e.charCodeAt(t+r)==n.charCodeAt(i+o),c=(t,i)=>e.charCodeAt(r-t-1)==n.charCodeAt(o-i-1),d=(s-l)%2!=0?B:null,h=d?null:b;for(let u=0;u<a;u++){if(u>g||p>0&&!(63&u)&&Date.now()>p)return S(e,t,r,n,i,o);let m=b.advance(u,s,l,a,d,!1,f)||B.advance(u,s,l,a,h,!0,c);if(m)return w(e,t,r,t+m[0],n,i,o,i+m[1])}return[new u(t,r,i,o)]}(e,t,r,n,i,o)}let g=1e9,p=0,A=!1;class v{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let e=0;e<this.len;e++)this.vec[e]=-1;this.vec[e+1]=0,this.start=this.end=0}advance(e,t,r,n,i,o,s){for(let l=-e+this.start;l<=e-this.end;l+=2){let a=n+l,f=l==-e||l!=e&&this.vec[a-1]<this.vec[a+1]?this.vec[a+1]:this.vec[a-1]+1,c=f-l;for(;f<t&&c<r&&s(f,c);)f++,c++;if(this.vec[a]=f,f>t)this.end+=2;else if(c>r)this.start+=2;else if(i){let e=n+(t-r)-l;if(e>=0&&e<this.len&&-1!=i.vec[e])if(o){let r=i.vec[e];if(r>=t-f)return[r,n+r-e]}else if(f>=t-i.vec[e])return[f,c]}}return null}}const b=new v,B=new v;function w(e,t,r,n,i,o,s,l){let a=!1;return U(e,n)||++n!=r||(a=!0),U(i,l)||++l!=s||(a=!0),a?[new u(t,r,o,s)]:m(e,t,n,i,o,l).concat(m(e,n,r,i,l,s))}function C(e,t){let r=1,n=Math.min(e,t);for(;r<n;)r<<=1;return r}function k(e,t,r,n,i,o){if(t==r||t==o||e.charCodeAt(t)!=n.charCodeAt(i))return 0;let s=C(r-t,o-i);for(let l=t,a=i;;){let i=l+s,f=a+s;if(i>r||f>o||e.slice(l,i)!=n.slice(a,f)){if(1==s)return l-t-(U(e,l)?0:1);s>>=1}else{if(i==r||f==o)return i-t;l=i,a=f}}}function x(e,t,r,n,i,o){if(t==r||i==o||e.charCodeAt(r-1)!=n.charCodeAt(o-1))return 0;let s=C(r-t,o-i);for(let l=r,a=o;;){let o=l-s,f=a-s;if(o<t||f<i||e.slice(o,l)!=n.slice(f,a)){if(1==s)return r-l-(U(e,l)?0:1);s>>=1}else{if(o==t||f==i)return r-o;l=o,a=f}}}function M(e,t,r,n,i,o,s,l){let a=n.slice(i,o),f=null;for(;;){if(f||s<l)return f;for(let l=t+s;;){U(e,l)||l++;let c=l+s;if(U(e,c)||(c+=c==l+1?1:-1),c>=r)break;let d=e.slice(l,c),h=-1;for(;-1!=(h=a.indexOf(d,h+1));){let s=k(e,c,r,n,i+h+d.length,o),a=x(e,t,l,n,i,i+h),u=d.length+s+a;(!f||f[2]<u)&&(f=[l-a,i+h-a,u])}l=c}if(l<0)return f;s>>=1}}function D(e,t,r,n,i,o){let s=r-t,l=o-i;if(s<l){let s=D(n,i,o,e,t,r);return s&&[s[1],s[0],s[2]]}return s<4||2*l<s?null:M(e,t,r,n,i,o,Math.floor(s/4),-1)}function S(e,t,r,n,i,o){A=!0;let s,l=r-t,a=o-i;if(l<a){let a=M(n,i,o,e,t,r,Math.floor(l/6),50);s=a&&[a[1],a[0],a[2]]}else s=M(e,t,r,n,i,o,Math.floor(a/6),50);if(!s)return[new u(t,r,i,o)];let[f,c,d]=s;return m(e,t,f,n,i,c).concat(m(e,f+d,r,n,c+d,o))}function y(e,t){for(let r=1;r<e.length;r++){let n=e[r-1],i=e[r];n.toA>i.fromA-t&&n.toB>i.fromB-t&&(e[r-1]=new u(n.fromA,i.toA,n.fromB,i.toB),e.splice(r--,1))}}let E;try{E=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch(e){}function O(e){return e>48&&e<58||e>64&&e<91||e>96&&e<123}function T(e,t){if(t==e.length)return 0;let r=e.charCodeAt(t);return r<192?O(r)?1:0:E?F(r)&&t!=e.length-1?E.test(e.slice(t,t+2))?2:0:E.test(String.fromCharCode(r))?1:0:0}function L(e,t){if(!t)return 0;let r=e.charCodeAt(t-1);return r<192?O(r)?1:0:E?H(r)&&1!=t?E.test(e.slice(t-2,t))?2:0:E.test(String.fromCharCode(r))?1:0:0}const R=8;function V(e,t,r){if(t==e.length||!L(e,t))return t;for(let n=t,i=t+r,o=0;o<R;o++){let t=T(e,n);if(!t||n+t>i)return n;n+=t}return t}function N(e,t,r){if(!t||!T(e,t))return t;for(let n=t,i=t-r,o=0;o<R;o++){let t=L(e,n);if(!t||n-t<i)return n;n-=t}return t}function G(e,t,r){for(;t!=r;t--)if(10==e.charCodeAt(t-1))return t;return-1}function j(e,t,r){for(;t!=r;t++)if(10==e.charCodeAt(t))return t;return-1}const F=e=>e>=55296&&e<=56319,H=e=>e>=56320&&e<=57343;function U(e,t){return!t||t==e.length||!F(e.charCodeAt(t-1))||!H(e.charCodeAt(t))}function P(e,t,r){var n;return g=(null!==(n=null==r?void 0:r.scanLimit)&&void 0!==n?n:1e9)>>1,p=(null==r?void 0:r.timeout)?Date.now()+r.timeout:0,A=!1,function(e,t,r){for(;;){y(r,1);let n=!1;for(let i=0;i<r.length;i++){let o,s,l=r[i];(o=k(e,l.fromA,l.toA,t,l.fromB,l.toB))&&(l=r[i]=new u(l.fromA+o,l.toA,l.fromB+o,l.toB)),(s=x(e,l.fromA,l.toA,t,l.fromB,l.toB))&&(l=r[i]=new u(l.fromA,l.toA-s,l.fromB,l.toB-s));let a=l.toA-l.fromA,f=l.toB-l.fromB;if(a&&f)continue;let c=l.fromA-(i?r[i-1].toA:0),d=(i<r.length-1?r[i+1].fromA:e.length)-l.toA;if(!c||!d)continue;let h=a?e.slice(l.fromA,l.toA):t.slice(l.fromB,l.toB);c<=h.length&&e.slice(l.fromA-c,l.fromA)==h.slice(h.length-c)?(r[i]=new u(l.fromA-c,l.toA-c,l.fromB-c,l.toB-c),n=!0):d<=h.length&&e.slice(l.toA,l.toA+d)==h.slice(0,d)&&(r[i]=new u(l.fromA+d,l.toA+d,l.fromB+d,l.toB+d),n=!0)}if(!n)break}return r}(e,t,m(e,0,e.length,t,0,t.length))}function _(){return!A}function I(e,t,r){return function(e,t,r){for(let n=0,i=0;i<e.length;i++){let o=e[i],s=o.toA-o.fromA,l=o.toB-o.fromB;if(s&&l||s>3||l>3){let a=i==e.length-1?t.length:e[i+1].fromA,f=o.fromA-n,c=a-o.toA,d=N(t,o.fromA,f),h=V(t,o.toA,c),m=o.fromA-d,g=h-o.toA;if((!s||!l)&&m&&g){let f=Math.max(s,l),[c,p,A]=s?[t,o.fromA,o.toA]:[r,o.fromB,o.toB];f>m&&t.slice(d,o.fromA)==c.slice(A-m,A)?(o=e[i]=new u(d,d+s,o.fromB-m,o.toB-m),d=o.fromA,h=V(t,o.toA,a-o.toA)):f>g&&t.slice(o.toA,h)==c.slice(p,p+g)&&(o=e[i]=new u(h-s,h,o.fromB+g,o.toB+g),h=o.toA,d=N(t,o.fromA,o.fromA-n)),m=o.fromA-d,g=h-o.toA}if(m||g)o=e[i]=new u(o.fromA-m,o.toA+g,o.fromB-m,o.toB+g);else if(s){if(!l){let r,n=j(t,o.fromA,o.toA),s=n<0?-1:G(t,o.toA,o.fromA);n>-1&&(r=n-o.fromA)<=c&&t.slice(o.fromA,n)==t.slice(o.toA,o.toA+r)?o=e[i]=o.offset(r):s>-1&&(r=o.toA-s)<=f&&t.slice(o.fromA-r,o.fromA)==t.slice(s,o.toA)&&(o=e[i]=o.offset(-r))}}else{let t,n=j(r,o.fromB,o.toB),s=n<0?-1:G(r,o.toB,o.fromB);n>-1&&(t=n-o.fromB)<=c&&r.slice(o.fromB,n)==r.slice(o.toB,o.toB+t)?o=e[i]=o.offset(t):s>-1&&(t=o.toB-s)<=f&&r.slice(o.fromB-t,o.fromB)==r.slice(s,o.toB)&&(o=e[i]=o.offset(-t))}}n=o.toA}return y(e,3),e}(P(e,t,r),e,t)}const W=i.Facet.define({combine:e=>e[0]}),q=i.StateEffect.define(),z=i.Facet.define(),Y=i.StateField.define({create:e=>null,update(e,t){for(let r of t.effects)r.is(q)&&(e=r.value);for(let r of t.state.facet(z))e=r(e,t);return e}});function Z(e){let t=e.field(Y,!1);if(!t)return null;let r=e.facet(W);return{chunks:t,side:r?r.side:null}}let $=e=>({state:t,dispatch:r})=>{let o=t.field(Y,!1),s=t.facet(W);if(!o||!o.length||!s)return!1;let{head:l}=t.selection.main,a=0;for(let t=o.length-1;t>=0;t--){let r=o[t],[n,i]="b"==s.side?[r.fromB,r.toB]:[r.fromA,r.toA];if(i<l){a=t+1;break}if(n<=l){if(1==o.length)return!1;a=t+(e<0?0:1);break}}let f=o[(a+(e<0?o.length-1:0))%o.length],[c,d]="b"==s.side?[f.fromB,f.toB]:[f.fromA,f.toA];return r(t.update({selection:{anchor:c},userEvent:"select.byChunk",effects:n.EditorView.scrollIntoView(i.EditorSelection.range(d,c))})),!0};const J=$(1),K=$(-1);class Q{constructor(e,t,r,n,i,o=!0){this.changes=e,this.fromA=t,this.toA=r,this.fromB=n,this.toB=i,this.precise=o}offset(e,t){return e||t?new Q(this.changes,this.fromA+e,this.toA+e,this.fromB+t,this.toB+t,this.precise):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(e,t,r){return te(I(e.toString(),t.toString(),r),e,t,0,0,_())}static updateA(e,t,r,n,i){return oe(ie(e,n,!0,r.length),e,t,r,i)}static updateB(e,t,r,n,i){return oe(ie(e,n,!1,t.length),e,t,r,i)}}function X(e,t,r,n){let i=r.lineAt(e),o=n.lineAt(t);return i.to==e&&o.to==t&&e<r.length&&t<n.length?[e+1,t+1]:[i.from,o.from]}function ee(e,t,r,n){let i=r.lineAt(e),o=n.lineAt(t);return i.from==e&&o.from==t?[e,t]:[i.to+1,o.to+1]}function te(e,t,r,n,i,o){let s=[];for(let l=0;l<e.length;l++){let a=e[l],[f,c]=X(a.fromA+n,a.fromB+i,t,r),[d,h]=ee(a.toA+n,a.toB+i,t,r),u=[a.offset(-f+n,-c+i)];for(;l<e.length-1;){let o=e[l+1],[s,a]=X(o.fromA+n,o.fromB+i,t,r);if(s>d+1&&a>h+1)break;u.push(o.offset(-f+n,-c+i)),[d,h]=ee(o.toA+n,o.toB+i,t,r),l++}s.push(new Q(u,f,Math.max(f,d),c,Math.max(c,h),o))}return s}const re=1e3;function ne(e,t,r,n){let i=0,o=e.length;for(;;){if(i==o){let n=0,o=0;i&&({toA:n,toB:o}=e[i-1]);let s=t-(r?n:o);return[n+s,o+s]}let s=i+o>>1,l=e[s],[a,f]=r?[l.fromA,l.toA]:[l.fromB,l.toB];if(a>t)o=s;else{if(!(f<=t))return n?[l.fromA,l.fromB]:[l.toA,l.toB];i=s+1}}}function ie(e,t,r,n){let i=[];return t.iterChangedRanges(((o,s,l,a)=>{let f=0,c=r?t.length:n,d=0,h=r?n:t.length;o>re&&([f,d]=ne(e,o-re,r,!0)),s<t.length-re&&([c,h]=ne(e,s+re,r,!1));let u,m=a-l-(s-o),[g,p]=r?[m,0]:[0,m];i.length&&(u=i[i.length-1]).toA>=f?i[i.length-1]={fromA:u.fromA,fromB:u.fromB,toA:c,toB:h,diffA:u.diffA+g,diffB:u.diffB+p}:i.push({fromA:f,toA:c,fromB:d,toB:h,diffA:g,diffB:p})})),i}function oe(e,t,r,n,i){if(!e.length)return t;let o=[];for(let s=0,l=0,a=0,f=0;;s++){let c=s==e.length?null:e[s],d=c?c.fromA+l:r.length,h=c?c.fromB+a:n.length;for(;f<t.length;){let e=t[f];if(e.toA+l>d||e.toB+a>h)break;o.push(e.offset(l,a)),f++}if(!c)break;let u=c.toA+l+c.diffA,m=c.toB+a+c.diffB,g=I(r.sliceString(d,u),n.sliceString(h,m),i);for(let e of te(g,r,n,d,h,_()))o.push(e);for(l+=c.diffA,a+=c.diffB;f<t.length;){let e=t[f];if(e.fromA+l>u&&e.fromB+a>m)break;f++}}return o}const se={scanLimit:500},le=n.ViewPlugin.fromClass(class{constructor(e){({deco:this.deco,gutter:this.gutter}=ge(e))}update(e){var t,r;(e.docChanged||e.viewportChanged||(t=e.startState,r=e.state,t.field(Y,!1)!=r.field(Y,!1))||function(e,t){return e.facet(W)!=t.facet(W)}(e.startState,e.state))&&({deco:this.deco,gutter:this.gutter}=ge(e.view))}},{decorations:e=>e.deco}),ae=i.Prec.low((0,n.gutter)({class:"cm-changeGutter",markers:e=>{var t;return(null===(t=e.plugin(le))||void 0===t?void 0:t.gutter)||i.RangeSet.empty}})),fe=n.Decoration.line({class:"cm-changedLine"}),ce=n.Decoration.mark({class:"cm-changedText"}),de=n.Decoration.mark({tagName:"ins",class:"cm-insertedLine"}),he=n.Decoration.mark({tagName:"del",class:"cm-deletedLine"}),ue=new class extends n.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function me(e,t,r,n,i,o){let s=r?e.fromA:e.fromB,l=r?e.toA:e.toB,a=0;if(s!=l){i.add(s,s,fe),i.add(s,l,r?he:de),o&&o.add(s,s,ue);for(let f=t.iterRange(s,l-1),c=s;!f.next().done;){if(f.lineBreak){c++,i.add(c,c,fe),o&&o.add(c,c,ue);continue}let t=c+f.value.length;if(n)for(;a<e.changes.length;){let n=e.changes[a],o=s+(r?n.fromA:n.fromB),l=s+(r?n.toA:n.toB),f=Math.max(c,o),d=Math.min(t,l);if(f<d&&i.add(f,d,ce),!(l<t))break;a++}c=t}}}function ge(e){let t=e.state.field(Y),{side:r,highlightChanges:n,markGutter:o,overrideChunk:s}=e.state.facet(W),l="a"==r,a=new i.RangeSetBuilder,f=o?new i.RangeSetBuilder:null,{from:c,to:d}=e.viewport;for(let r of t){if((l?r.fromA:r.fromB)>=d)break;(l?r.toA:r.toB)>c&&(s&&s(e.state,r,a,f)||me(r,e.state.doc,l,n,a,f))}return{deco:a.finish(),gutter:f&&f.finish()}}class pe extends n.WidgetType{constructor(e){super(),this.height=e}eq(e){return this.height==e.height}toDOM(){let e=document.createElement("div");return e.className="cm-mergeSpacer",e.style.height=this.height+"px",e}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}const Ae=i.StateEffect.define({map:(e,t)=>e.map(t)}),ve=i.StateField.define({create:()=>n.Decoration.none,update:(e,t)=>{for(let e of t.effects)if(e.is(Ae))return e.value;return e.map(t.changes)},provide:e=>n.EditorView.decorations.from(e)}),be=.01;function Be(e,t){if(e.size!=t.size)return!1;let r=e.iter(),n=t.iter();for(;r.value;){if(r.from!=n.from||Math.abs(r.value.spec.widget.height-n.value.spec.widget.height)>1)return!1;r.next(),n.next()}return!0}const we=i.StateEffect.define({map:(e,t)=>t.mapPos(e)});class Ce extends n.WidgetType{constructor(e){super(),this.lines=e}eq(e){return this.lines==e.lines}toDOM(e){let t=document.createElement("div");return t.className="cm-collapsedLines",t.textContent=e.state.phrase("$ unchanged lines",this.lines),t.addEventListener("click",(t=>{let r=e.posAtDOM(t.target);e.dispatch({effects:we.of(r)});let{side:n,sibling:i}=e.state.facet(W);i&&i().dispatch({effects:we.of(ke(r,e.state.field(Y),"a"==n))})})),t}ignoreEvent(e){return e instanceof MouseEvent}get estimatedHeight(){return 27}get type(){return"collapsed-unchanged-code"}}function ke(e,t,r){let n=0,i=0;for(let o=0;;o++){let s=o<t.length?t[o]:null;if(!s||(r?s.fromA:s.fromB)>=e)return i+(e-n);[n,i]=r?[s.toA,s.toB]:[s.toB,s.toA]}}const xe=i.StateField.define({create:e=>n.Decoration.none,update(e,t){e=e.map(t.changes);for(let r of t.effects)r.is(we)&&(e=e.update({filter:e=>e!=r.value}));return e},provide:e=>n.EditorView.decorations.from(e)});function Me({margin:e=3,minSize:t=4}){return xe.init((r=>function(e,t,r){let o=new i.RangeSetBuilder,s="a"==e.facet(W).side,l=e.field(Y),a=1;for(let i=0;;i++){let f=i<l.length?l[i]:null,c=i?a+t:1,d=f?e.doc.lineAt(s?f.fromA:f.fromB).number-1-t:e.doc.lines,h=d-c+1;if(h>=r&&o.add(e.doc.line(c).from,e.doc.line(d).to,n.Decoration.replace({widget:new Ce(h),block:!0})),!f)break;a=e.doc.lineAt(Math.min(e.doc.length,s?f.toA:f.toB)).number}return o.finish()}(r,e,t)))}const De=n.EditorView.styleModule.of(new a({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),Se=n.EditorView.baseTheme({".cm-mergeView & .cm-scroller, .cm-mergeView &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine, .cm-inlineChangedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb22aa, #22bb22aa) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff88aa, #88ff88aa) bottom/100% 2px no-repeat"},"&.cm-merge-b .cm-deletedText":{background:"#ff000033"},".cm-insertedLine, .cm-deletedLine, .cm-deletedLine del":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer","&:before":{content:'"⦚"',marginInlineEnd:"7px"},"&:after":{content:'"⦚"',marginInlineStart:"7px"}},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"},".cm-inlineChangedLineGutter":{background:"#75d"}}),ye=new i.Compartment,Ee=new i.Compartment;class Oe{constructor(e){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=e.diffConfig||se;let t=[i.Prec.low(le),Se,De,ve,n.EditorView.updateListener.of((e=>{this.measuring<0&&(e.heightChanged||e.viewportChanged)&&!e.transactions.some((e=>e.effects.some((e=>e.is(Ae)))))&&this.measure()}))],r=[W.of({side:"a",sibling:()=>this.b,highlightChanges:!1!==e.highlightChanges,markGutter:!1!==e.gutter})];!1!==e.gutter&&r.push(ae);let o=i.EditorState.create({doc:e.a.doc,selection:e.a.selection,extensions:[e.a.extensions||[],n.EditorView.editorAttributes.of({class:"cm-merge-a"}),Ee.of(r),t]}),s=[W.of({side:"b",sibling:()=>this.a,highlightChanges:!1!==e.highlightChanges,markGutter:!1!==e.gutter})];!1!==e.gutter&&s.push(ae);let l=i.EditorState.create({doc:e.b.doc,selection:e.b.selection,extensions:[e.b.extensions||[],n.EditorView.editorAttributes.of({class:"cm-merge-b"}),Ee.of(s),t]});this.chunks=Q.build(o.doc,l.doc,this.diffConf);let a=[Y.init((()=>this.chunks)),ye.of(e.collapseUnchanged?Me(e.collapseUnchanged):[])];o=o.update({effects:i.StateEffect.appendConfig.of(a)}).state,l=l.update({effects:i.StateEffect.appendConfig.of(a)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let f=e.orientation||"a-b",c=document.createElement("div");c.className="cm-mergeViewEditor";let d=document.createElement("div");d.className="cm-mergeViewEditor",this.editorDOM.appendChild("a-b"==f?c:d),this.editorDOM.appendChild("a-b"==f?d:c),this.a=new n.EditorView({state:o,parent:c,root:e.root,dispatchTransactions:e=>this.dispatch(e,this.a)}),this.b=new n.EditorView({state:l,parent:d,root:e.root,dispatchTransactions:e=>this.dispatch(e,this.b)}),this.setupRevertControls(!!e.revertControls,"b-to-a"==e.revertControls,e.renderRevertControl),e.parent&&e.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(e,t){if(e.some((e=>e.docChanged))){let r=e[e.length-1],n=e.reduce(((e,t)=>e.compose(t.changes)),i.ChangeSet.empty(e[0].startState.doc.length));this.chunks=t==this.a?Q.updateA(this.chunks,r.newDoc,this.b.state.doc,n,this.diffConf):Q.updateB(this.chunks,this.a.state.doc,r.newDoc,n,this.diffConf),t.update([...e,r.state.update({effects:q.of(this.chunks)})]);let o=t==this.a?this.b:this.a;o.update([o.state.update({effects:q.of(this.chunks)})]),this.scheduleMeasure()}else t.update(e)}reconfigure(e){if("diffConfig"in e&&(this.diffConf=e.diffConfig),"orientation"in e){let t="b-a"!=e.orientation;if(t!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let e=this.a.dom.parentNode,r=this.b.dom.parentNode;e.remove(),r.remove(),this.editorDOM.insertBefore(t?e:r,this.editorDOM.firstChild),this.editorDOM.appendChild(t?r:e),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in e||"renderRevertControl"in e){let t=!!this.revertDOM,r=this.revertToA,n=this.renderRevert;"revertControls"in e&&(t=!!e.revertControls,r="b-to-a"==e.revertControls),"renderRevertControl"in e&&(n=e.renderRevertControl),this.setupRevertControls(t,r,n)}let t="highlightChanges"in e,r="gutter"in e,n="collapseUnchanged"in e;if(t||r||n){let i=[],o=[];if(t||r){let n=this.a.state.facet(W),s=r?!1!==e.gutter:n.markGutter,l=t?!1!==e.highlightChanges:n.highlightChanges;i.push(Ee.reconfigure([W.of({side:"a",sibling:()=>this.b,highlightChanges:l,markGutter:s}),s?ae:[]])),o.push(Ee.reconfigure([W.of({side:"b",sibling:()=>this.a,highlightChanges:l,markGutter:s}),s?ae:[]]))}if(n){let t=ye.reconfigure(e.collapseUnchanged?Me(e.collapseUnchanged):[]);i.push(t),o.push(t)}this.a.dispatch({effects:i}),this.b.dispatch({effects:o})}this.scheduleMeasure()}setupRevertControls(e,t,r){this.revertToA=t,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=r,!e&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):e&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",(e=>this.revertClicked(e))),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let e=this.dom.ownerDocument.defaultView||window;this.measuring=e.requestAnimationFrame((()=>{this.measuring=-1,this.measure()}))}}measure(){!function(e,t,r){let o=new i.RangeSetBuilder,s=new i.RangeSetBuilder,l=e.state.field(ve).iter(),a=t.state.field(ve).iter(),f=0,c=0,d=0,h=0,u=e.viewport,m=t.viewport;for(let i=0;;i++){let g=i<r.length?r[i]:null,p=g?g.fromA:e.state.doc.length,A=g?g.fromB:t.state.doc.length;if(f<p){let r=e.lineBlockAt(f).top+d-(t.lineBlockAt(c).top+h);r<-.01?(d-=r,o.add(f,f,n.Decoration.widget({widget:new pe(-r),block:!0,side:-1}))):r>be&&(h+=r,s.add(c,c,n.Decoration.widget({widget:new pe(r),block:!0,side:-1})))}if(p>f+1e3&&f<u.from&&p>u.from&&c<m.from&&A>m.from){let e=Math.min(u.from-f,m.from-c);f+=e,c+=e,i--}else{if(!g)break;f=g.toA,c=g.toB}for(;l.value&&l.from<f;)d-=l.value.spec.widget.height,l.next();for(;a.value&&a.from<c;)h-=a.value.spec.widget.height,a.next()}for(;l.value;)d-=l.value.spec.widget.height,l.next();for(;a.value;)h-=a.value.spec.widget.height,a.next();let g=e.contentHeight+d-(t.contentHeight+h);g<be?o.add(e.state.doc.length,e.state.doc.length,n.Decoration.widget({widget:new pe(-g),block:!0,side:1})):g>be&&s.add(t.state.doc.length,t.state.doc.length,n.Decoration.widget({widget:new pe(g),block:!0,side:1}));let p=o.finish(),A=s.finish();Be(p,e.state.field(ve))||e.dispatch({effects:Ae.of(p)}),Be(A,t.state.field(ve))||t.dispatch({effects:Ae.of(A)})}(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let e=this.revertDOM,t=e.firstChild,r=this.a.viewport,n=this.b.viewport;for(let i=0;i<this.chunks.length;i++){let o=this.chunks[i];if(o.fromA>r.to||o.fromB>n.to)break;if(o.fromA<r.from||o.fromB<n.from)continue;let s=this.a.lineBlockAt(o.fromA).top+"px";for(;t&&+t.dataset.chunk<i;)t=Te(t);t&&t.dataset.chunk==String(i)?(t.style.top!=s&&(t.style.top=s),t=t.nextSibling):e.insertBefore(this.renderRevertButton(s,i),t)}for(;t;)t=Te(t)}renderRevertButton(e,t){let r;if(this.renderRevert)r=this.renderRevert();else{r=document.createElement("button");let e=this.a.state.phrase("Revert this chunk");r.setAttribute("aria-label",e),r.setAttribute("title",e),r.textContent=this.revertToLeft?"⇜":"⇝"}return r.style.top=e,r.setAttribute("data-chunk",String(t)),r}revertClicked(e){let t,r=e.target;for(;r&&r.parentNode!=this.revertDOM;)r=r.parentNode;if(r&&(t=this.chunks[r.dataset.chunk])){let[r,n,i,o,s,l]=this.revertToA?[this.b,this.a,t.fromB,t.toB,t.fromA,t.toA]:[this.a,this.b,t.fromA,t.toA,t.fromB,t.toB],a=r.state.sliceDoc(i,Math.max(i,o-1));i!=o&&l<=n.state.doc.length&&(a+=r.state.lineBreak),n.dispatch({changes:{from:s,to:Math.min(n.state.doc.length,l),insert:a},userEvent:"revert"}),e.preventDefault()}}destroy(){this.a.destroy(),this.b.destroy(),this.measuring>-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}}function Te(e){let t=e.nextSibling;return e.remove(),t}const Le=new class extends n.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-deletedLineGutter"}},Re=i.Prec.low((0,n.gutter)({class:"cm-changeGutter",markers:e=>{var t;return(null===(t=e.plugin(le))||void 0===t?void 0:t.gutter)||i.RangeSet.empty},widgetMarker:(e,t)=>t instanceof Ue?Le:null}));function Ve(e){var t;let r="string"==typeof e.original?i.Text.of(e.original.split(/\r?\n/)):e.original,o=e.diffConfig||se;return[i.Prec.low(le),qe,Se,n.EditorView.editorAttributes.of({class:"cm-merge-b"}),z.of(((e,t)=>{let r=t.effects.find((e=>e.is(Ne)));return r&&(e=Q.updateA(e,r.value.doc,t.startState.doc,r.value.changes,o)),t.docChanged&&(e=Q.updateB(e,t.state.field(je),t.newDoc,t.changes,o)),e})),W.of({highlightChanges:!1!==e.highlightChanges,markGutter:!1!==e.gutter,syntaxHighlightDeletions:!1!==e.syntaxHighlightDeletions,syntaxHighlightDeletionsMaxLength:3e3,mergeControls:null===(t=e.mergeControls)||void 0===t||t,overrideChunk:e.allowInlineDiffs?Ke:void 0,side:"b"}),je.init((()=>r)),!1!==e.gutter?Re:[],e.collapseUnchanged?Me(e.collapseUnchanged):[],Y.init((e=>Q.build(r,e.doc,o)))]}const Ne=i.StateEffect.define();function Ge(e,t){return Ne.of({doc:t.apply(Fe(e)),changes:t})}const je=i.StateField.define({create:()=>i.Text.empty,update(e,t){for(let r of t.effects)r.is(Ne)&&(e=r.value.doc);return e}});function Fe(e){return e.field(je)}const He=new WeakMap;class Ue extends n.WidgetType{constructor(e){super(),this.buildDOM=e,this.dom=null}eq(e){return this.dom==e.dom}toDOM(e){return this.dom||(this.dom=this.buildDOM(e))}}function Pe(e,t,r){let i=He.get(t.changes);if(i)return i;let o=n.Decoration.widget({block:!0,side:-1,widget:new Ue((n=>{let{highlightChanges:i,syntaxHighlightDeletions:o,syntaxHighlightDeletionsMaxLength:s,mergeControls:l}=e.facet(W),a=document.createElement("div");if(a.className="cm-deletedChunk",l){let t=a.appendChild(document.createElement("div"));t.className="cm-chunkButtons";let r=e=>{e.preventDefault(),_e(n,n.posAtDOM(a))},i=e=>{e.preventDefault(),Ie(n,n.posAtDOM(a))};if("function"==typeof l)t.appendChild(l("accept",r)),t.appendChild(l("reject",i));else{let n=t.appendChild(document.createElement("button"));n.name="accept",n.textContent=e.phrase("Accept"),n.onmousedown=r;let o=t.appendChild(document.createElement("button"));o.name="reject",o.textContent=e.phrase("Reject"),o.onmousedown=i}}if(r||t.fromA>=t.toA)return a;let f=n.state.field(je).sliceString(t.fromA,t.endA),c=o&&e.facet(d.language),u=A(),m=t.changes,g=0,p=!1;function A(){let e=a.appendChild(document.createElement("div"));return e.className="cm-deletedLine",e.appendChild(document.createElement("del"))}function v(e,t,r){for(let n=e;n<t;){if("\n"==f.charAt(n)){u.firstChild||u.appendChild(document.createElement("br")),u=A(),n++;continue}let e=t,o=r+(p?" cm-deletedText":""),s=!1,l=f.indexOf("\n",n);if(l>-1&&l<t&&(e=l),i&&g<m.length){let t=Math.max(0,p?m[g].toA:m[g].fromA);t<=e&&(e=t,p&&g++,s=!0)}if(e>n){let t=document.createTextNode(f.slice(n,e));if(o){let e=u.appendChild(document.createElement("span"));e.className=o,e.appendChild(t)}else u.appendChild(t);n=e}s&&(p=!p)}}if(c&&t.toA-t.fromA<=s){let t=c.parser.parse(f),r=0;(0,h.highlightTree)(t,{style:t=>(0,d.highlightingFor)(e,t)},((e,t,n)=>{e>r&&v(r,e,""),v(e,t,n),r=t})),v(r,f.length,"")}else v(0,f.length,"");return u.firstChild||u.appendChild(document.createElement("br")),a}))});return He.set(t.changes,o),o}function _e(e,t){let{state:r}=e,n=null!=t?t:r.selection.main.head,o=e.state.field(Y).find((e=>e.fromB<=n&&e.endB>=n));if(!o)return!1;let s=e.state.sliceDoc(o.fromB,Math.max(o.fromB,o.toB-1)),l=e.state.field(je);o.fromB!=o.toB&&o.toA<=l.length&&(s+=e.state.lineBreak);let a=i.ChangeSet.of({from:o.fromA,to:Math.min(l.length,o.toA),insert:s},l.length);return e.dispatch({effects:Ne.of({doc:a.apply(l),changes:a}),userEvent:"accept"}),!0}function Ie(e,t){let{state:r}=e,n=null!=t?t:r.selection.main.head,i=r.field(Y).find((e=>e.fromB<=n&&e.endB>=n));if(!i)return!1;let o=r.field(je).sliceString(i.fromA,Math.max(i.fromA,i.toA-1));return i.fromA!=i.toA&&i.toB<=r.doc.length&&(o+=r.lineBreak),e.dispatch({changes:{from:i.fromB,to:Math.min(r.doc.length,i.toB),insert:o},userEvent:"revert"}),!0}function We(e){let t=new i.RangeSetBuilder;for(let r of e.field(Y)){let n=e.facet(W).overrideChunk&&Ye(e,r);t.add(r.fromB,r.fromB,Pe(e,r,!!n))}return t.finish()}const qe=i.StateField.define({create:e=>We(e),update:(e,t)=>t.state.field(Y,!1)!=t.startState.field(Y,!1)?We(t.state):e,provide:e=>n.EditorView.decorations.from(e)}),ze=new WeakMap;function Ye(e,t){let r=ze.get(t);if(void 0!==r)return r;r=null;let i=e.field(je),o=e.doc,s=i.lineAt(t.endA).number-i.lineAt(t.fromA).number+1;e:if(s==o.lineAt(t.endB).number-o.lineAt(t.fromB).number+1&&s<10){let e=[],o=0,l=t.fromA,a=t.fromB;for(let r of t.changes){if(r.fromA<r.toA){o+=r.toA-r.fromA;let t=i.sliceString(l+r.fromA,l+r.toA);if(/\n/.test(t))break e;e.push(n.Decoration.widget({widget:new Ze(t),side:-1}).range(a+r.fromB))}r.fromB<r.toB&&e.push(ce.range(a+r.fromB,a+r.toB))}o<t.endA-t.fromA-2*s&&(r=e)}return ze.set(t,r),r}class Ze extends n.WidgetType{constructor(e){super(),this.text=e}eq(e){return this.text==e.text}toDOM(e){let t=document.createElement("del");return t.className="cm-deletedText",t.textContent=this.text,t}}const $e=new class extends n.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-inlineChangedLineGutter"}},Je=n.Decoration.line({class:"cm-inlineChangedLine"});function Ke(e,t,r,n){let i=Ye(e,t),o=0;if(!i)return!1;for(let s=e.doc.lineAt(t.fromB);;){for(n&&n.add(s.from,s.from,$e),r.add(s.from,s.from,Je);o<i.length&&i[o].to<=s.to;){let e=i[o++];r.add(e.from,e.to,e.value)}if(s.to>=t.endB)break;s=e.doc.lineAt(s.to+1)}return!0}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunkjupyterlab_diff=self.webpackChunkjupyterlab_diff||[]).push([[383],{383:(t,O,e)=>{"use strict";e.r(O),e.d(O,{globalCompletion:()=>ht,localCompletionSource:()=>rt,python:()=>ct,pythonLanguage:()=>Qt});var i=e(708),s=e(606);class n{constructor(t,O,e,i,s,n,r,a,o,h=0,l){this.p=t,this.stack=O,this.state=e,this.reducePos=i,this.pos=s,this.score=n,this.buffer=r,this.bufferBase=a,this.curContext=o,this.lookAhead=h,this.parent=l}toString(){return`[${this.stack.filter(((t,O)=>O%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,O,e=0){let i=t.parser.context;return new n(t,[],O,e,e,0,[],0,i?new r(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,O){this.stack.push(this.state,O,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var O;let e=t>>19,i=65535&t,{parser:s}=this.p,n=this.reducePos<this.pos-25;n&&this.setLookAhead(this.pos);let r=s.dynamicPrecedence(i);if(r&&(this.score+=r),0==e)return this.pushState(s.getGoto(this.state,i,!0),this.reducePos),i<s.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,n?8:4,!0),void this.reduceContext(i,this.reducePos);let a=this.stack.length-3*(e-1)-(262144&t?6:0),o=a?this.stack[a-2]:this.p.ranges[0].from,h=this.reducePos-o;h>=2e3&&!(null===(O=this.p.parser.nodeSet.types[i])||void 0===O?void 0:O.isAnonymous)&&(o==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=o,this.p.lastBigReductionSize=h));let l=a?this.stack[a-1]:0,d=this.bufferBase+this.buffer.length-l;if(i<s.minRepeatTerm||131072&t){let t=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,o,t,d+4,!0)}if(262144&t)this.state=this.stack[a];else{let t=this.stack[a-3];this.state=s.getGoto(t,i,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(i,o)}storeNode(t,O,e,i=4,s=!1){if(0==t&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let t=this,i=this.buffer.length;if(0==i&&t.parent&&(i=t.bufferBase-t.parent.bufferBase,t=t.parent),i>0&&0==t.buffer[i-4]&&t.buffer[i-1]>-1){if(O==e)return;if(t.buffer[i-2]>=O)return void(t.buffer[i-2]=e)}}if(s&&this.pos!=e){let s=this.buffer.length;if(s>0&&0!=this.buffer[s-4]){let t=!1;for(let O=s;O>0&&this.buffer[O-2]>e;O-=4)if(this.buffer[O-1]>=0){t=!0;break}if(t)for(;s>0&&this.buffer[s-2]>e;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,i>4&&(i-=4)}this.buffer[s]=t,this.buffer[s+1]=O,this.buffer[s+2]=e,this.buffer[s+3]=i}else this.buffer.push(t,O,e,i)}shift(t,O,e,i){if(131072&t)this.pushState(65535&t,this.pos);else if(262144&t)this.pos=i,this.shiftContext(O,e),O<=this.p.parser.maxNode&&this.buffer.push(O,e,i,4);else{let s=t,{parser:n}=this.p;(i>this.pos||O<=n.maxNode)&&(this.pos=i,n.stateFlag(s,1)||(this.reducePos=i)),this.pushState(s,e),this.shiftContext(O,e),O<=n.maxNode&&this.buffer.push(O,e,i,4)}}apply(t,O,e,i){65536&t?this.reduce(t):this.shift(t,O,e,i)}useNode(t,O){let e=this.p.reused.length-1;(e<0||this.p.reused[e]!=t)&&(this.p.reused.push(t),e++);let i=this.pos;this.reducePos=this.pos=i+t.length,this.pushState(O,i),this.buffer.push(e,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,O=t.buffer.length;for(;O>0&&t.buffer[O-2]>t.reducePos;)O-=4;let e=t.buffer.slice(O),i=t.bufferBase+O;for(;t&&i==t.bufferBase;)t=t.parent;return new n(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,e,i,this.curContext,this.lookAhead,t)}recoverByDelete(t,O){let e=t<=this.p.parser.maxNode;e&&this.storeNode(t,this.pos,O,4),this.storeNode(0,this.pos,O,e?8:4),this.pos=this.reducePos=O,this.score-=190}canShift(t){for(let O=new a(this);;){let e=this.p.parser.stateSlot(O.state,4)||this.p.parser.hasAction(O.state,t);if(0==e)return!1;if(!(65536&e))return!0;O.reduce(e)}}recoverByInsert(t){if(this.stack.length>=300)return[];let O=this.p.parser.nextStates(this.state);if(O.length>8||this.stack.length>=120){let e=[];for(let i,s=0;s<O.length;s+=2)(i=O[s+1])!=this.state&&this.p.parser.hasAction(i,t)&&e.push(O[s],i);if(this.stack.length<120)for(let t=0;e.length<8&&t<O.length;t+=2){let i=O[t+1];e.some(((t,O)=>1&O&&t==i))||e.push(O[t],i)}O=e}let e=[];for(let t=0;t<O.length&&e.length<4;t+=2){let i=O[t+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(O[t],this.pos),s.reducePos=this.pos,s.score-=200,e.push(s)}return e}forceReduce(){let{parser:t}=this.p,O=t.stateSlot(this.state,5);if(!(65536&O))return!1;if(!t.validAction(this.state,O)){let e=O>>19,i=65535&O,s=this.stack.length-3*e;if(s<0||t.getGoto(this.stack[s],i,!1)<0){let t=this.findForcedReduction();if(null==t)return!1;O=t}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(O),!0}findForcedReduction(){let{parser:t}=this.p,O=[],e=(i,s)=>{if(!O.includes(i))return O.push(i),t.allActions(i,(O=>{if(393216&O);else if(65536&O){let e=(O>>19)-s;if(e>1){let i=65535&O,s=this.stack.length-3*e;if(s>=0&&t.getGoto(this.stack[s],i,!1)>=0)return e<<19|65536|i}}else{let t=e(O,s+1);if(null!=t)return t}}))};return e(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:t}=this.p;return 65535==t.data[t.stateSlot(this.state,1)]&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let O=0;O<this.stack.length;O+=3)if(this.stack[O]!=t.stack[O])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,O){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(O)))}reduceContext(t,O){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(O)))}emitContext(){let t=this.buffer.length-1;(t<0||-3!=this.buffer[t])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||-4!=this.buffer[t])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let O=new r(this.curContext.tracker,t);O.hash!=this.curContext.hash&&this.emitContext(),this.curContext=O}}setLookAhead(t){t>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=t)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class r{constructor(t,O){this.tracker=t,this.context=O,this.hash=t.strict?t.hash(O):0}}class a{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let O=65535&t,e=t>>19;0==e?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(e-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],O,!0);this.state=i}}class o{constructor(t,O,e){this.stack=t,this.pos=O,this.index=e,this.buffer=t.buffer,0==this.index&&this.maybeNext()}static create(t,O=t.bufferBase+t.buffer.length){return new o(t,O,O-t.bufferBase)}maybeNext(){let t=this.stack.parent;null!=t&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new o(this.stack,this.pos,this.index)}}function h(t,O=Uint16Array){if("string"!=typeof t)return t;let e=null;for(let i=0,s=0;i<t.length;){let n=0;for(;;){let O=t.charCodeAt(i++),e=!1;if(126==O){n=65535;break}O>=92&&O--,O>=34&&O--;let s=O-32;if(s>=46&&(s-=46,e=!0),n+=s,e)break;n*=46}e?e[s++]=n:e=new O(n)}return e}class l{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const d=new l;class Q{constructor(t,O){this.input=t,this.ranges=O,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=d,this.rangeIndex=0,this.pos=this.chunkPos=O[0].from,this.range=O[0],this.end=O[O.length-1].to,this.readNext()}resolveOffset(t,O){let e=this.range,i=this.rangeIndex,s=this.pos+t;for(;s<e.from;){if(!i)return null;let t=this.ranges[--i];s-=e.from-t.to,e=t}for(;O<0?s>e.to:s>=e.to;){if(i==this.ranges.length-1)return null;let t=this.ranges[++i];s+=t.from-e.to,e=t}return s}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let O of this.ranges)if(O.to>t)return Math.max(t,O.from);return this.end}peek(t){let O,e,i=this.chunkOff+t;if(i>=0&&i<this.chunk.length)O=this.pos+t,e=this.chunk.charCodeAt(i);else{let i=this.resolveOffset(t,1);if(null==i)return-1;if(O=i,O>=this.chunk2Pos&&O<this.chunk2Pos+this.chunk2.length)e=this.chunk2.charCodeAt(O-this.chunk2Pos);else{let t=this.rangeIndex,i=this.range;for(;i.to<=O;)i=this.ranges[++t];this.chunk2=this.input.chunk(this.chunk2Pos=O),O+this.chunk2.length>i.to&&(this.chunk2=this.chunk2.slice(0,i.to-O)),e=this.chunk2.charCodeAt(0)}}return O>=this.token.lookAhead&&(this.token.lookAhead=O+1),e}acceptToken(t,O=0){let e=O?this.resolveOffset(O,-1):this.pos;if(null==e||e<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=t,this.token.end=e}acceptTokenTo(t,O){this.token.value=t,this.token.end=O}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:O}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=O,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),O=this.pos+t.length;this.chunk=O>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,O){if(O?(this.token=O,O.start=t,O.lookAhead=t+1,O.value=O.extended=-1):this.token=d,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;t>=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t<this.chunkPos+this.chunk.length?this.chunkOff=t-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(t,O){if(t>=this.chunkPos&&O<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,O-this.chunkPos);if(t>=this.chunk2Pos&&O<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,O-this.chunk2Pos);if(t>=this.range.from&&O<=this.range.to)return this.input.read(t,O);let e="";for(let i of this.ranges){if(i.from>=O)break;i.to>t&&(e+=this.input.read(Math.max(i.from,t),Math.min(i.to,O)))}return e}}class c{constructor(t,O){this.data=t,this.id=O}token(t,O){let{parser:e}=O.p;!function(t,O,e,i,s,n){let r=0,a=1<<i,{dialect:o}=e.p.parser;t:for(;a&t[r];){let e=t[r+1];for(let i=r+3;i<e;i+=2)if((t[i+1]&a)>0){let e=t[i];if(o.allows(e)&&(-1==O.token.value||O.token.value==e||f(e,O.token.value,s,n))){O.acceptToken(e);break}}let i=O.next,h=0,l=t[r+2];if(!(O.next<0&&l>h&&65535==t[e+3*l-3])){for(;h<l;){let s=h+l>>1,n=e+s+(s<<1),a=t[n],o=t[n+1]||65536;if(i<a)l=s;else{if(!(i>=o)){r=t[n+2],O.advance();continue t}h=s+1}}break}r=t[e+3*l-1]}}(this.data,t,O,this.id,e.data,e.tokenPrecTable)}}c.prototype.contextual=c.prototype.fallback=c.prototype.extend=!1,c.prototype.fallback=c.prototype.extend=!1;class p{constructor(t,O={}){this.token=t,this.contextual=!!O.contextual,this.fallback=!!O.fallback,this.extend=!!O.extend}}function u(t,O,e){for(let i,s=O;65535!=(i=t[s]);s++)if(i==e)return s-O;return-1}function f(t,O,e,i){let s=u(e,i,O);return s<0||u(e,i,t)<s}const g=void 0!==s&&s.env&&/\bparse\b/.test(s.env.LOG);let T=null;function S(t,O,e){let s=t.cursor(i.IterMode.IncludeAnonymous);for(s.moveTo(O);;)if(!(e<0?s.childBefore(O):s.childAfter(O)))for(;;){if((e<0?s.to<O:s.from>O)&&!s.type.isError)return e<0?Math.max(0,Math.min(s.to-1,O-25)):Math.min(t.length,Math.max(s.from+1,O+25));if(e<0?s.prevSibling():s.nextSibling())break;if(!s.parent())return e<0?0:t.length}}class m{constructor(t,O){this.fragments=t,this.nodeSet=O,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?S(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?S(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;for(;this.fragment&&this.safeTo<=t;)this.nextFragment();if(!this.fragment)return null;for(;;){let O=this.trees.length-1;if(O<0)return this.nextFragment(),null;let e=this.trees[O],s=this.index[O];if(s==e.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let n=e.children[s],r=this.start[O]+e.positions[s];if(r>t)return this.nextStart=r,null;if(n instanceof i.Tree){if(r==t){if(r<this.safeFrom)return null;let t=r+n.length;if(t<=this.safeTo){let O=n.prop(i.NodeProp.lookAhead);if(!O||t+O<this.fragment.to)return n}}this.index[O]++,r+n.length>=Math.max(this.safeFrom,t)&&(this.trees.push(n),this.start.push(r),this.index.push(0))}else this.index[O]++,this.nextStart=r+n.length}}}class k{constructor(t,O){this.stream=O,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map((t=>new l))}getActions(t){let O=0,e=null,{parser:i}=t.p,{tokenizers:s}=i,n=i.stateSlot(t.state,3),r=t.curContext?t.curContext.hash:0,a=0;for(let i=0;i<s.length;i++){if(!(1<<i&n))continue;let o=s[i],h=this.tokens[i];if((!e||o.fallback)&&((o.contextual||h.start!=t.pos||h.mask!=n||h.context!=r)&&(this.updateCachedToken(h,o,t),h.mask=n,h.context=r),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),0!=h.value)){let i=O;if(h.extended>-1&&(O=this.addActions(t,h.extended,h.end,O)),O=this.addActions(t,h.value,h.end,O),!o.extend&&(e=h,O>i))break}}for(;this.actions.length>O;)this.actions.pop();return a&&t.setLookAhead(a),e||t.pos!=this.stream.end||(e=new l,e.value=t.p.parser.eofTerm,e.start=e.end=t.pos,O=this.addActions(t,e.value,e.end,O)),this.mainToken=e,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let O=new l,{pos:e,p:i}=t;return O.start=e,O.end=Math.min(e+1,i.stream.end),O.value=e==i.stream.end?i.parser.eofTerm:0,O}updateCachedToken(t,O,e){let i=this.stream.clipPos(e.pos);if(O.token(this.stream.reset(i,t),e),t.value>-1){let{parser:O}=e.p;for(let i=0;i<O.specialized.length;i++)if(O.specialized[i]==t.value){let s=O.specializers[i](this.stream.read(t.start,t.end),e);if(s>=0&&e.p.parser.dialect.allows(s>>1)){1&s?t.extended=s>>1:t.value=s>>1;break}}}else t.value=0,t.end=this.stream.clipPos(i+1)}putAction(t,O,e,i){for(let O=0;O<i;O+=3)if(this.actions[O]==t)return i;return this.actions[i++]=t,this.actions[i++]=O,this.actions[i++]=e,i}addActions(t,O,e,i){let{state:s}=t,{parser:n}=t.p,{data:r}=n;for(let t=0;t<2;t++)for(let a=n.stateSlot(s,t?2:1);;a+=3){if(65535==r[a]){if(1!=r[a+1]){0==i&&2==r[a+1]&&(i=this.putAction(y(r,a+2),O,e,i));break}a=y(r,a+2)}r[a]==O&&(i=this.putAction(y(r,a+1),O,e,i))}return i}}class P{constructor(t,O,e,i){this.parser=t,this.input=O,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 Q(O,i),this.tokens=new k(t,this.stream),this.topTerm=t.top[1];let{from:s}=i[0];this.stacks=[n.start(this,t.top[0],s)],this.fragments=e.length&&this.stream.end-s>4*t.bufferLength?new m(e,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t,O,e=this.stacks,i=this.minStackPos,s=this.stacks=[];if(this.bigReductionCount>300&&1==e.length){let[t]=e;for(;t.forceReduce()&&t.stack.length&&t.stack[t.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let n=0;n<e.length;n++){let r=e[n];for(;;){if(this.tokens.mainToken=null,r.pos>i)s.push(r);else{if(this.advanceStack(r,s,e))continue;{t||(t=[],O=[]),t.push(r);let e=this.tokens.getMainToken(r);O.push(e.value,e.end)}}break}}if(!s.length){let O=t&&function(t){let O=null;for(let e of t){let t=e.p.stoppedAt;(e.pos==e.p.stream.end||null!=t&&e.pos>t)&&e.p.parser.stateFlag(e.state,2)&&(!O||O.score<e.score)&&(O=e)}return O}(t);if(O)return g&&console.log("Finish with "+this.stackID(O)),this.stackToTree(O);if(this.parser.strict)throw g&&t&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&t){let e=null!=this.stoppedAt&&t[0].pos>this.stoppedAt?t[0]:this.runRecovery(t,O,s);if(e)return g&&console.log("Force-finish "+this.stackID(e)),this.stackToTree(e.forceAll())}if(this.recovering){let t=1==this.recovering?1:3*this.recovering;if(s.length>t)for(s.sort(((t,O)=>O.score-t.score));s.length>t;)s.pop();s.some((t=>t.reducePos>i))&&this.recovering--}else if(s.length>1){t:for(let t=0;t<s.length-1;t++){let O=s[t];for(let e=t+1;e<s.length;e++){let i=s[e];if(O.sameState(i)||O.buffer.length>500&&i.buffer.length>500){if(!((O.score-i.score||O.buffer.length-i.buffer.length)>0)){s.splice(t--,1);continue t}s.splice(e--,1)}}}s.length>12&&s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let t=1;t<s.length;t++)s[t].pos<this.minStackPos&&(this.minStackPos=s[t].pos);return null}stopAt(t){if(null!=this.stoppedAt&&this.stoppedAt<t)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=t}advanceStack(t,O,e){let s=t.pos,{parser:n}=this,r=g?this.stackID(t)+" -> ":"";if(null!=this.stoppedAt&&s>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let O=t.curContext&&t.curContext.tracker.strict,e=O?t.curContext.hash:0;for(let a=this.fragments.nodeAt(s);a;){let s=this.parser.nodeSet.types[a.type.id]==a.type?n.getGoto(t.state,a.type.id):-1;if(s>-1&&a.length&&(!O||(a.prop(i.NodeProp.contextHash)||0)==e))return t.useNode(a,s),g&&console.log(r+this.stackID(t)+` (via reuse of ${n.getName(a.type.id)})`),!0;if(!(a instanceof i.Tree)||0==a.children.length||a.positions[0]>0)break;let o=a.children[0];if(!(o instanceof i.Tree&&0==a.positions[0]))break;a=o}}let a=n.stateSlot(t.state,4);if(a>0)return t.reduce(a),g&&console.log(r+this.stackID(t)+` (via always-reduce ${n.getName(65535&a)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let o=this.tokens.getActions(t);for(let i=0;i<o.length;){let a=o[i++],h=o[i++],l=o[i++],d=i==o.length||!e,Q=d?t:t.split(),c=this.tokens.mainToken;if(Q.apply(a,h,c?c.start:Q.pos,l),g&&console.log(r+this.stackID(Q)+` (via ${65536&a?`reduce of ${n.getName(65535&a)}`:"shift"} for ${n.getName(h)} @ ${s}${Q==t?"":", split"})`),d)return!0;Q.pos>s?O.push(Q):e.push(Q)}return!1}advanceFully(t,O){let e=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>e)return q(t,O),!0}}runRecovery(t,O,e){let i=null,s=!1;for(let n=0;n<t.length;n++){let r=t[n],a=O[n<<1],o=O[1+(n<<1)],h=g?this.stackID(r)+" -> ":"";if(r.deadEnd){if(s)continue;if(s=!0,r.restart(),g&&console.log(h+this.stackID(r)+" (restarted)"),this.advanceFully(r,e))continue}let l=r.split(),d=h;for(let t=0;l.forceReduce()&&t<10&&(g&&console.log(d+this.stackID(l)+" (via force-reduce)"),!this.advanceFully(l,e));t++)g&&(d=this.stackID(l)+" -> ");for(let t of r.recoverByInsert(a))g&&console.log(h+this.stackID(t)+" (via recover-insert)"),this.advanceFully(t,e);this.stream.end>r.pos?(o==r.pos&&(o++,a=0),r.recoverByDelete(a,o),g&&console.log(h+this.stackID(r)+` (via recover-delete ${this.parser.getName(a)})`),q(r,e)):(!i||i.score<r.score)&&(i=r)}return i}stackToTree(t){return t.close(),i.Tree.build({buffer:o.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let O=(T||(T=new WeakMap)).get(t);return O||T.set(t,O=String.fromCodePoint(this.nextStackID++)),O+t}}function q(t,O){for(let e=0;e<O.length;e++){let i=O[e];if(i.pos==t.pos&&i.sameState(t))return void(O[e].score<t.score&&(O[e]=t))}O.push(t)}class ${constructor(t,O,e){this.source=t,this.flags=O,this.disabled=e}allows(t){return!this.disabled||0==this.disabled[t]}}const x=t=>t;class v extends i.Parser{constructor(t){if(super(),this.wrappers=[],14!=t.version)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let O=t.nodeNames.split(" ");this.minRepeatTerm=O.length;for(let e=0;e<t.repeatNodeCount;e++)O.push("");let e=Object.keys(t.topRules).map((O=>t.topRules[O][1])),s=[];for(let t=0;t<O.length;t++)s.push([]);function n(t,O,e){s[t].push([O,O.deserialize(String(e))])}if(t.nodeProps)for(let O of t.nodeProps){let t=O[0];"string"==typeof t&&(t=i.NodeProp[t]);for(let e=1;e<O.length;){let i=O[e++];if(i>=0)n(i,t,O[e++]);else{let s=O[e+-i];for(let r=-i;r>0;r--)n(O[e++],t,s);e++}}}this.nodeSet=new i.NodeSet(O.map(((O,n)=>i.NodeType.define({name:n>=this.minRepeatTerm?void 0:O,id:n,props:s[n],top:e.indexOf(n)>-1,error:0==n,skipped:t.skippedNodes&&t.skippedNodes.indexOf(n)>-1})))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=i.DefaultBufferLength;let r=h(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let t=0;t<this.specializerSpecs.length;t++)this.specialized[t]=this.specializerSpecs[t].term;this.specializers=this.specializerSpecs.map(z),this.states=h(t.states,Uint32Array),this.data=h(t.stateData),this.goto=h(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map((t=>"number"==typeof t?new c(r,t):t)),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]]}createParse(t,O,e){let i=new P(this,t,O,e);for(let s of this.wrappers)i=s(i,t,O,e);return i}getGoto(t,O,e=!1){let i=this.goto;if(O>=i[0])return-1;for(let s=i[O+1];;){let O=i[s++],n=1&O,r=i[s++];if(n&&e)return r;for(let e=s+(O>>1);s<e;s++)if(i[s]==t)return r;if(n)return-1}}hasAction(t,O){let e=this.data;for(let i=0;i<2;i++)for(let s,n=this.stateSlot(t,i?2:1);;n+=3){if(65535==(s=e[n])){if(1!=e[n+1]){if(2==e[n+1])return y(e,n+2);break}s=e[n=y(e,n+2)]}if(s==O||0==s)return y(e,n+1)}return 0}stateSlot(t,O){return this.states[6*t+O]}stateFlag(t,O){return(this.stateSlot(t,0)&O)>0}validAction(t,O){return!!this.allActions(t,(t=>t==O||null))}allActions(t,O){let e=this.stateSlot(t,4),i=e?O(e):void 0;for(let e=this.stateSlot(t,1);null==i;e+=3){if(65535==this.data[e]){if(1!=this.data[e+1])break;e=y(this.data,e+2)}i=O(y(this.data,e+1))}return i}nextStates(t){let O=[];for(let e=this.stateSlot(t,1);;e+=3){if(65535==this.data[e]){if(1!=this.data[e+1])break;e=y(this.data,e+2)}if(!(1&this.data[e+2])){let t=this.data[e+1];O.some(((O,e)=>1&e&&O==t))||O.push(this.data[e],t)}}return O}configure(t){let O=Object.assign(Object.create(v.prototype),this);if(t.props&&(O.nodeSet=this.nodeSet.extend(...t.props)),t.top){let e=this.topRules[t.top];if(!e)throw new RangeError(`Invalid top rule name ${t.top}`);O.top=e}return t.tokenizers&&(O.tokenizers=this.tokenizers.map((O=>{let e=t.tokenizers.find((t=>t.from==O));return e?e.to:O}))),t.specializers&&(O.specializers=this.specializers.slice(),O.specializerSpecs=this.specializerSpecs.map(((e,i)=>{let s=t.specializers.find((t=>t.from==e.external));if(!s)return e;let n=Object.assign(Object.assign({},e),{external:s.to});return O.specializers[i]=z(n),n}))),t.contextTracker&&(O.context=t.contextTracker),t.dialect&&(O.dialect=this.parseDialect(t.dialect)),null!=t.strict&&(O.strict=t.strict),t.wrap&&(O.wrappers=O.wrappers.concat(t.wrap)),null!=t.bufferLength&&(O.bufferLength=t.bufferLength),O}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let O=this.dynamicPrecedences;return null==O?0:O[t]||0}parseDialect(t){let O=Object.keys(this.dialects),e=O.map((()=>!1));if(t)for(let i of t.split(" ")){let t=O.indexOf(i);t>=0&&(e[t]=!0)}let i=null;for(let t=0;t<O.length;t++)if(!e[t])for(let e,s=this.dialects[O[t]];65535!=(e=this.data[s++]);)(i||(i=new Uint8Array(this.maxTerm+1)))[e]=1;return new $(t,e,i)}static deserialize(t){return new v(t)}}function y(t,O){return t[O]|t[O+1]<<16}function z(t){if(t.external){let O=t.extend?1:0;return(e,i)=>t.external(e,i)<<1|O}return t.get}var X=e(839);const b=10,R=new Set([25,49,50,263,65,130,56,57,238,62,63,72,73,77,60,61,151,152,155,112]);function W(t){return t==b||13==t}function _(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}const w=new p(((t,O)=>{let e;if(t.next<0)t.acceptToken(199);else if(O.context.flags&G)W(t.next)&&t.acceptToken(198,1);else if(((e=t.peek(-1))<0||W(e))&&O.canShift(197)){let O=0;for(;32==t.next||9==t.next;)t.advance(),O++;t.next!=b&&13!=t.next&&35!=t.next||t.acceptToken(197,-O)}else W(t.next)&&t.acceptToken(196,1)}),{contextual:!0}),U=new p(((t,O)=>{let e=O.context;if(e.flags)return;let i=t.peek(-1);if(i==b||13==i){let O=0,i=0;for(;;){if(32==t.next)O++;else{if(9!=t.next)break;O+=8-O%8}t.advance(),i++}O!=e.indent&&t.next!=b&&13!=t.next&&35!=t.next&&(O<e.indent?t.acceptToken(195,-i):t.acceptToken(194))}})),G=1,V=4,j=8,Z=16,E=32;function A(t,O,e){this.parent=t,this.indent=O,this.flags=e,this.hash=(t?t.hash+t.hash<<8:0)+O+(O<<4)+e+(e<<6)}const Y=new A(null,0,0),C=new Map([[241,0],[242,V],[243,j],[244,j|V],[245,Z],[246,Z|V],[247,Z|j],[248,Z|j|V],[249,E],[250,E|V],[251,E|j],[252,E|j|V],[253,E|Z],[254,E|Z|V],[255,E|Z|j],[256,E|Z|j|V]].map((([t,O])=>[t,2|O]))),N=new class{constructor(t){this.start=t.start,this.shift=t.shift||x,this.reduce=t.reduce||x,this.reuse=t.reuse||x,this.hash=t.hash||(()=>0),this.strict=!1!==t.strict}}({start:Y,reduce:(t,O,e,i)=>t.flags&G&&R.has(O)||(71==O||72==O)&&2&t.flags?t.parent:t,shift:(t,O,e,i)=>194==O?new A(t,function(t){let O=0;for(let e=0;e<t.length;e++)O+=9==t.charCodeAt(e)?8-O%8:1;return O}(i.read(i.pos,e.pos)),0):195==O?t.parent:24==O||55==O||59==O||3==O?new A(t,0,G):C.has(O)?new A(t,0,C.get(O)|t.flags&G):t,hash:t=>t.hash}),F=new p((t=>{for(let O=0;O<5;O++){if(t.next!="print".charCodeAt(O))return;t.advance()}if(!/\w/.test(String.fromCharCode(t.next)))for(let O=0;;O++){let e=t.peek(O);if(32!=e&&9!=e)return void(40!=e&&46!=e&&e!=b&&13!=e&&35!=e&&t.acceptToken(1))}})),I=new p(((t,O)=>{let{flags:e}=O.context,i=e&V?34:39,s=(e&j)>0,n=!(e&Z),r=(e&E)>0,a=t.pos;for(;!(t.next<0);)if(r&&123==t.next){if(123!=t.peek(1)){if(t.pos==a)return void t.acceptToken(3,1);break}t.advance(2)}else{if(n&&92==t.next){if(t.pos==a){t.advance();let O=t.next;return O>=0&&(t.advance(),J(t,O)),void t.acceptToken(2)}break}if(t.next==i&&(!s||t.peek(1)==i&&t.peek(2)==i)){if(t.pos==a)return void t.acceptToken(201,s?3:1);break}if(t.next==b){if(s)t.advance();else if(t.pos==a)return void t.acceptToken(201);break}t.advance()}t.pos>a&&t.acceptToken(200)}));function J(t,O){if(111==O)for(let O=0;O<2&&t.next>=48&&t.next<=55;O++)t.advance();else if(120==O)for(let O=0;O<2&&_(t.next);O++)t.advance();else if(117==O)for(let O=0;O<4&&_(t.next);O++)t.advance();else if(85==O)for(let O=0;O<8&&_(t.next);O++)t.advance();else if(78==O&&123==t.next){for(t.advance();t.next>=0&&125!=t.next&&39!=t.next&&34!=t.next&&t.next!=b;)t.advance();125==t.next&&t.advance()}}const D=(0,X.styleTags)({'async "*" "**" FormatConversion FormatSpec':X.tags.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":X.tags.controlKeyword,"in not and or is del":X.tags.operatorKeyword,"from def class global nonlocal lambda":X.tags.definitionKeyword,import:X.tags.moduleKeyword,"with as print":X.tags.keyword,Boolean:X.tags.bool,None:X.tags.null,VariableName:X.tags.variableName,"CallExpression/VariableName":X.tags.function(X.tags.variableName),"FunctionDefinition/VariableName":X.tags.function(X.tags.definition(X.tags.variableName)),"ClassDefinition/VariableName":X.tags.definition(X.tags.className),PropertyName:X.tags.propertyName,"CallExpression/MemberExpression/PropertyName":X.tags.function(X.tags.propertyName),Comment:X.tags.lineComment,Number:X.tags.number,String:X.tags.string,FormatString:X.tags.special(X.tags.string),Escape:X.tags.escape,UpdateOp:X.tags.updateOperator,"ArithOp!":X.tags.arithmeticOperator,BitOp:X.tags.bitwiseOperator,CompareOp:X.tags.compareOperator,AssignOp:X.tags.definitionOperator,Ellipsis:X.tags.punctuation,At:X.tags.meta,"( )":X.tags.paren,"[ ]":X.tags.squareBracket,"{ }":X.tags.brace,".":X.tags.derefOperator,", ;":X.tags.separator}),B={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},L=v.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rOOQS,5>r,5>rO#KrQdO,5>qO#LTQdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#L]QdO1G1dOOQS7+)T7+)TP#LbQdO'#FwO#LrQdO1G2OO#MVQdO1G2OO#MgQdO1G2OP#MrQdO'#FxO#NPQdO7+)VO#NaQdO7+)VO#NaQdO7+)VO#NiQdO7+)VO#NyQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ dQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$ tQtO1G1|P$!OQdO'#FvOOQS1G2R1G2RP$!]QdO'#F{O$!jQdO7+)jO$#TQdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#cQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$#|QdO<<M[OOQS,5<q,5<qO$$_QdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$mQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(hQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$(uQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)WQfO7+'OO$)cQdO'#F_O$*jQdO7+'jO$*zQdO7+'jOOQS7+'j7+'jO$+VQdO<<LqO$+gQdO<<LqO$+gQdO<<LqO$+oQdO'#H^OOQS<<Lh<<LhO$+yQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,dQdO1G4RO$,lQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$,wQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-kQtO'#FaOOQS'#Fc'#FcO$-{QdO'#FbO$.mQdO'#FbOOQS'#Fb'#FbO$.rQdO'#IYO$)cQdO'#FiO$)cQdO'#FiO$/ZQdO'#FjO$)cQdO'#FkO$/bQdO'#IZOOQS'#IZ'#IZO$0PQdO,5;yOOQS<<KU<<KUO$0XQdO<<KUO$0iQdOANB]O$0yQdOANB]O$1RQdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1lQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2TQdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2]QtO,5<SO$)cQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$2}QdO,5;|O$3SQdO,5;|OOQS'#Fg'#FgO$)cQdO'#G`O$3tQdO,5<QO$4`QdO,5>tO$4pQdO,5>tO1XQdO,5<PO$5RQdO,5<TO$5WQdO,5<TO$)cQdO'#I[O$5]QdO'#I[O$5bQdO,5<UOOQS,5<V,5<VO'vQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5gQdOG27wO$5wQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$5|QtO'#FaO$6TQdO'#I]O$6cQdO'#I]O$6kQdO,5<XOOQS1G1h1G1hO$6pQdO1G1hO$6uQdO,5<zOOQS-E:^-E:^O$7aQdO,5=OO$7xQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8YQdO,5>vO$)cQdO,5>vOOQS1G1p1G1pO$8hQtO,5<[OOQU7+'P7+'PO$+oQdO1G/iO$)cQdO,5<YO$8oQdO,5>wO$8vQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)cQdO'#GdO$9OQdO1G4bO$9YQdO1G4bO$9bQdO1G4bOOQS7+%T7+%TO$9pQdO1G1tO$:OQtO'#FaO$:VQdO,5<}OOQS,5<},5<}O$:eQdO1G4cOOQS-E:a-E:aO$)cQdO,5<|O$:lQdO,5<|O$:qQdO7+)|OOQS-E:`-E:`O$:{QdO7+)|O$)cQdO,5<ZP$)cQdO'#GcO$;TQdO1G2hO$)cQdO1G2hP$;cQdO'#GbO$;jQdO<<MhO$;tQdO1G1uO$<SQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<bQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<uQdO'#GOO'vQdO'#GtO$=SQdO,59bO$=XQdO,59bO$=`QdO,59mO$=eQdO1G/UO1sQdO'#DRO8vQdO,59j",stateData:"$>O~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-VO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)oOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)cOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-VOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)cOz/zO#[/OO%j.yO!['Oa~O{$da~P%SOg'Pa~P$)cOz0SOg'Pa~Oa0UO!['Oi~P$)oOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-VO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)cO{0^O~Oa0UO!['Oq~P$)oOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)oOa0UO!['Oy~P$)oO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=l'QPPPPPP'RP'Z*s+]+v,b,}-kP.YP'Z.y.y'ZPPP'Z2cPPPPPP2c5VPP5VP7g7p=xPP={>m>pPP'Z'ZPP?PPP'Z'ZPP'Z'Z'Z'Z'Z?T?}'ZP@QP@WD_G{HPPHSH^Hb'ZPPPHeHn'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHtIQIYPIaIgPIaPIaIaPPPIaPKuPLOLYL`KuPIaLiPIaPLpLvPLzM`M}NhLzLzNnN{LzLzLzLz! a! g! j! o! r! |!!S!!`!!r!!x!#S!#Y!#v!#|!$S!$^!$d!$j!$|!%W!%^!%d!%n!%t!%z!&Q!&W!&^!&h!&n!&x!'O!'X!'_!'n!'v!(Q!(XPPPPPPPPPPP!(_!(b!(h!(q!({!)WPPPPPPPPPPPP!-z!/`!3`!6pPP!6x!7X!7b!8Z!8Q!8d!8j!8m!8p!8s!8{!9lPPPPPPPPPPPPPPPPP!9o!9s!9yP!:_!:c!:o!:x!;U!;l!;o!;r!;x!<O!<U!<XP!<a!<j!=f!=i]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r}!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!P!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!R!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!T!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!V!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!X!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g!]!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&cVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/Z/s0c0d0e0f0h0i0j0k0n0r%mXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aR,^*RX#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&bQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QQ/q/VR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uR.S-fhUOn#d#g$j%|&_'w(p(r)t,P%S!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!]!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v/q0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",nodeNames:"⚠ print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:277,context:N,nodeProps:[["isolate",-5,4,71,72,73,77,""],["group",-15,6,85,87,88,90,92,94,96,98,99,100,102,105,108,110,"Statement Statement",-22,8,18,21,25,40,49,50,56,57,60,61,62,63,64,67,70,71,72,79,80,81,82,"Expression",-10,114,116,119,121,122,126,128,133,135,138,"Statement",-9,143,144,147,148,150,151,152,153,154,"Pattern"],["openedBy",23,"(",54,"[",58,"{"],["closedBy",24,")",55,"]",59,"}"]],propSources:[D],skippedNodes:[0,4],repeatNodeCount:34,tokenData:"!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[F,U,w,I,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:t=>B[t]||-1}],tokenPrec:7664});var H=e(84),M=e(747);const K=new i.NodeWeakMap,tt=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Ot(t){return(O,e,i)=>{if(i)return!1;let s=O.node.getChild("VariableName");return s&&e(s,t),!0}}const et={FunctionDefinition:Ot("function"),ClassDefinition:Ot("class"),ForStatement(t,O,e){if(e)for(let e=t.node.firstChild;e;e=e.nextSibling)if("VariableName"==e.name)O(e,"variable");else if("in"==e.name)break},ImportStatement(t,O){var e,i;let{node:s}=t,n="from"==(null===(e=s.firstChild)||void 0===e?void 0:e.name);for(let t=s.getChild("import");t;t=t.nextSibling)"VariableName"==t.name&&"as"!=(null===(i=t.nextSibling)||void 0===i?void 0:i.name)&&O(t,n?"variable":"namespace")},AssignStatement(t,O){for(let e=t.node.firstChild;e;e=e.nextSibling)if("VariableName"==e.name)O(e,"variable");else if(":"==e.name||"AssignOp"==e.name)break},ParamList(t,O){for(let e=null,i=t.node.firstChild;i;i=i.nextSibling)"VariableName"!=i.name||e&&/\*|AssignOp/.test(e.name)||O(i,"variable"),e=i},CapturePattern:Ot("variable"),AsPattern:Ot("variable"),__proto__:null};function it(t,O){let e=K.get(O);if(e)return e;let s=[],n=!0;function r(O,e){let i=t.sliceString(O.from,O.to);s.push({label:i,type:e})}return O.cursor(i.IterMode.IncludeAnonymous).iterate((O=>{if(O.name){let t=et[O.name];if(t&&t(O,r,n)||!n&&tt.has(O.name))return!1;n=!1}else if(O.to-O.from>8192){for(let e of it(t,O.node))s.push(e);return!1}})),K.set(O,s),s}const st=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,nt=["String","FormatString","Comment","PropertyName"];function rt(t){let O=(0,H.syntaxTree)(t.state).resolveInner(t.pos,-1);if(nt.indexOf(O.name)>-1)return null;let e="VariableName"==O.name||O.to-O.from<20&&st.test(t.state.sliceDoc(O.from,O.to));if(!e&&!t.explicit)return null;let i=[];for(let e=O;e;e=e.parent)tt.has(e.name)&&(i=i.concat(it(t.state.doc,e)));return{options:i,from:e?O.from:t.pos,validFor:st}}const at=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map((t=>({label:t,type:"constant"}))).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map((t=>({label:t,type:"type"})))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map((t=>({label:t,type:"class"})))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map((t=>({label:t,type:"function"})))),ot=[(0,M.Gw)("def ${name}(${params}):\n\t${}",{label:"def",detail:"function",type:"keyword"}),(0,M.Gw)("for ${name} in ${collection}:\n\t${}",{label:"for",detail:"loop",type:"keyword"}),(0,M.Gw)("while ${}:\n\t${}",{label:"while",detail:"loop",type:"keyword"}),(0,M.Gw)("try:\n\t${}\nexcept ${error}:\n\t${}",{label:"try",detail:"/ except block",type:"keyword"}),(0,M.Gw)("if ${}:\n\t\n",{label:"if",detail:"block",type:"keyword"}),(0,M.Gw)("if ${}:\n\t${}\nelse:\n\t${}",{label:"if",detail:"/ else block",type:"keyword"}),(0,M.Gw)("class ${name}:\n\tdef __init__(self, ${params}):\n\t\t\t${}",{label:"class",detail:"definition",type:"keyword"}),(0,M.Gw)("import ${module}",{label:"import",detail:"statement",type:"keyword"}),(0,M.Gw)("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],ht=(0,M.Ar)(nt,(0,M.et)(at.concat(ot)));function lt(t){let{node:O,pos:e}=t,i=t.lineIndent(e,-1),s=null;for(;;){let n=O.childBefore(e);if(!n)break;if("Comment"==n.name)e=n.from;else if("Body"==n.name||"MatchBody"==n.name)t.baseIndentFor(n)+t.unit<=i&&(s=n),O=n;else if("MatchClause"==n.name)O=n;else{if(!n.type.is("Statement"))break;O=n}}return s}function dt(t,O){let e=t.baseIndentFor(O),i=t.lineAt(t.pos,-1),s=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&t.node.to<s+100&&!/\S/.test(t.state.sliceDoc(s,t.node.to))&&t.lineIndent(t.pos,-1)<=e||/^\s*(else:|elif |except |finally:|case\s+[^=:]+:)/.test(t.textAfter)&&t.lineIndent(t.pos,-1)>e?null:e+t.unit}const Qt=H.LRLanguage.define({name:"python",parser:L.configure({props:[H.indentNodeProp.add({Body:t=>{var O;return null!==(O=dt(t,/^\s*(#|$)/.test(t.textAfter)&<(t)||t.node))&&void 0!==O?O:t.continue()},MatchBody:t=>{var O;return null!==(O=dt(t,lt(t)||t.node))&&void 0!==O?O:t.continue()},IfStatement:t=>/^\s*(else:|elif )/.test(t.textAfter)?t.baseIndent:t.continue(),"ForStatement WhileStatement":t=>/^\s*else:/.test(t.textAfter)?t.baseIndent:t.continue(),TryStatement:t=>/^\s*(except[ :]|finally:|else:)/.test(t.textAfter)?t.baseIndent:t.continue(),MatchStatement:t=>/^\s*case /.test(t.textAfter)?t.baseIndent+t.unit:t.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":(0,H.delimitedIndent)({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":(0,H.delimitedIndent)({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":(0,H.delimitedIndent)({closing:"]"}),MemberExpression:t=>t.baseIndent+t.unit,"String FormatString":()=>null,Script:t=>{var O;let e=lt(t);return null!==(O=e&&dt(t,e))&&void 0!==O?O:t.continue()}}),H.foldNodeProp.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":H.foldInside,Body:(t,O)=>({from:t.from+1,to:t.to-(t.to==O.doc.length?0:1)}),"String FormatString":(t,O)=>({from:O.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function ct(){return new H.LanguageSupport(Qt,[Qt.data.of({autocomplete:rt}),Qt.data.of({autocomplete:ht})])}},606:t=>{var O,e,i=t.exports={};function s(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function r(t){if(O===setTimeout)return setTimeout(t,0);if((O===s||!O)&&setTimeout)return O=setTimeout,setTimeout(t,0);try{return O(t,0)}catch(e){try{return O.call(null,t,0)}catch(e){return O.call(this,t,0)}}}!function(){try{O="function"==typeof setTimeout?setTimeout:s}catch(t){O=s}try{e="function"==typeof clearTimeout?clearTimeout:n}catch(t){e=n}}();var a,o=[],h=!1,l=-1;function d(){h&&a&&(h=!1,a.length?o=a.concat(o):l=-1,o.length&&Q())}function Q(){if(!h){var t=r(d);h=!0;for(var O=o.length;O;){for(a=o,o=[];++l<O;)a&&a[l].run();l=-1,O=o.length}a=null,h=!1,function(t){if(e===clearTimeout)return clearTimeout(t);if((e===n||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(O){try{return e.call(null,t)}catch(O){return e.call(this,t)}}}(t)}}function c(t,O){this.fun=t,this.array=O}function p(){}i.nextTick=function(t){var O=new Array(arguments.length-1);if(arguments.length>1)for(var e=1;e<arguments.length;e++)O[e-1]=arguments[e];o.push(new c(t,O)),1!==o.length||h||r(Q)},c.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=p,i.addListener=p,i.once=p,i.off=p,i.removeListener=p,i.removeAllListeners=p,i.emit=p,i.prependListener=p,i.prependOnceListener=p,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkjupyterlab_diff=self.webpackChunkjupyterlab_diff||[]).push([[499],{499:(e,t,o)=>{o.r(t),o.d(t,{default:()=>y});var i=o(762),r=o(424),l=o(544),n=o(356),s=o(325),c=o(198),a=o(24),d=o(337),h=o(332),u=o(694),f=o(256);class p extends f.Widget{constructor(e){var t,o;super(),this._toggleButton=null,this._cell=e.cell,this._cellFooterTracker=e.cellFooterTracker,this._originalSource=e.originalSource,this._newSource=e.newSource||e.cell.sharedModel.getSource(),this._trans=e.trans,this._showActionButtons=null===(t=e.showActionButtons)||void 0===t||t,this._openDiff=null===(o=e.openDiff)||void 0===o||o}addToFooter(){if(!this._cellFooterTracker||!this._cell)return;const e=this._cell.id,t=this._cellFooterTracker.getFooter(e);t&&(t.removeWidget("jupyterlab-diff"),t.removeToolbarItem("accept-diff"),t.removeToolbarItem("reject-diff"),t.removeToolbarItem("toggle-diff"),t.removeToolbarItem("compare"),t.addWidget(this),this._createButtons(t),this._cellFooterTracker.showFooter(e))}onAcceptClick(){this._cell&&(this._cell.sharedModel.setSource(this._newSource),this._closeDiffView())}onRejectClick(){this._cell&&(this._cell.sharedModel.setSource(this._originalSource),this._closeDiffView())}onToggleClick(){this.isHidden?this.show():this.hide()}_createButtons(e){if(this._toggleButton=new u.ToolbarButton({label:this._trans.__("Compare changes"),tooltip:this._trans.__("Compare changes"),enabled:!0,className:"jp-DiffView-toggle",onClick:()=>{this.onToggleClick()}}),e.addToolbarItemOnLeft("toggle-diff",this._toggleButton),this._showActionButtons){const t=new u.ToolbarButton({icon:u.undoIcon,tooltip:this._trans.__("Reject Changes"),enabled:!0,className:"jp-DiffView-reject",onClick:()=>this.onRejectClick()}),o=new u.ToolbarButton({icon:u.checkIcon,tooltip:this._trans.__("Accept Changes"),enabled:!0,className:"jp-DiffView-accept",onClick:()=>this.onAcceptClick()});e.addToolbarItemOnRight("reject-diff",t),e.addToolbarItemOnRight("accept-diff",o)}this._openDiff?this.show():this.hide()}_closeDiffView(){if(this._cellFooterTracker&&this._cell){const e=this._cell.id,t=this._cellFooterTracker.getFooter(e);t&&(t.removeWidget("jupyterlab-diff"),t.removeToolbarItem("accept-diff"),t.removeToolbarItem("reject-diff"),t.removeToolbarItem("toggle-diff"),t.removeToolbarItem("compare")),this._cellFooterTracker.hideFooter(e)}}}class _ extends p{constructor(e){super(e),this._splitView=null,this._originalCode=e.originalSource,this._modifiedCode=e.newSource,this.addClass("jp-SplitDiffView")}onAfterAttach(e){super.onAfterAttach(e),this._createSplitView()}onBeforeDetach(e){this._destroySplitView(),super.onBeforeDetach(e)}_createSplitView(){this._splitView||(this._splitView=new c.MergeView({a:{doc:this._originalCode,extensions:[h.basicSetup,(0,s.python)(),a.EditorView.editable.of(!1),d.jupyterTheme]},b:{doc:this._modifiedCode,extensions:[h.basicSetup,(0,s.python)(),a.EditorView.editable.of(!1),d.jupyterTheme]},parent:this.node}))}_destroySplitView(){this._splitView&&(this._splitView.destroy(),this._splitView=null)}}var w=o(195);function g(e){const{editorView:t,compartment:o,originalSource:i,newSource:r,isInitialized:l,sharedModel:n,onChunkChange:s,allowInlineDiffs:d=!1}=e,h=function(e,t){var o;return(0,c.unifiedMergeView)({original:e,allowInlineDiffs:null!==(o=null==t?void 0:t.allowInlineDiffs)&&void 0!==o&&o,mergeControls:(e,t)=>function(e,t){const o=document.createElement("button");o.className=`jp-merge-${e}-button`,o.onclick=e=>{e.preventDefault(),t(e)};const i=("accept"===e?u.checkIcon:u.undoIcon).element({tag:"span",elementSize:"small"});return o.appendChild(i),o}(e,t)})}(i,{allowInlineDiffs:d}),f=a.EditorView.updateListener.of((e=>{e.transactions.length>0&&s&&!function(e){const t=(0,c.getChunks)(e.state);return!!(t&&t.chunks.length>0)}(t)&&s()})),p=[h,f],_=[];l?_.push(o.reconfigure(p)):_.push(w.StateEffect.appendConfig.of(o.of(p))),n.setSource(r),t.dispatch({effects:_})}class b{constructor(e){var t,o;this.acceptAllButton=null,this.rejectAllButton=null,this.editor=e.editor,this._originalSource=e.originalSource,this._newSource=e.newSource,this.trans=e.trans,this.showActionButtons=null===(t=e.showActionButtons)||void 0===t||t,this.allowInlineDiffs=null!==(o=e.allowInlineDiffs)&&void 0!==o&&o,this._isInitialized=!1,this._isDisposed=!1,this._diffCompartment=new w.Compartment}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this.deactivate())}hideCellToolbar(){}showCellToolbar(){}activate(){this._applyDiff(),this.addToolbarButtons(),this.hideCellToolbar()}deactivate(){this.removeToolbarButtons(),this._cleanupEditor(),this.showCellToolbar()}_cleanupEditor(){const e=this._getEditorView();e&&e.dispatch({effects:[this._diffCompartment.reconfigure([])]})}acceptAll(){this.deactivate()}rejectAll(){this.getSharedModel().setSource(this._originalSource),this.deactivate()}_applyDiff(){const e=this._getEditorView();e?(g({editorView:e,compartment:this._diffCompartment,originalSource:this._originalSource,newSource:this._newSource,isInitialized:this._isInitialized,sharedModel:this.getSharedModel(),onChunkChange:()=>this.deactivate(),allowInlineDiffs:this.allowInlineDiffs}),this._isInitialized=!0):console.warn("No editor view found for diff")}_getEditorView(){var e;return(null===(e=this.editor)||void 0===e?void 0:e.editor)||null}}class m extends b{constructor(e){super(e),this._wasRendered=!1,this._cell=e.cell,this._cellFooterTracker=e.cellFooterTracker,this.activate()}getSharedModel(){return this._cell.model.sharedModel}activate(){const{model:e}=this._cell;if("markdown"===e.type){const e=this._cell;e.rendered&&(this._wasRendered=!0,e.rendered=!1)}super.activate(),m._activeDiffCount++;const t=new MutationObserver((()=>{this.hideCellToolbar()}));t.observe(this._cell.node,{childList:!0,subtree:!0}),this._toolbarObserver=t}deactivate(){super.deactivate(),m._activeDiffCount=Math.max(0,m._activeDiffCount-1),this._wasRendered&&"markdown"===this._cell.model.type&&(this._cell.rendered=!0,this._wasRendered=!1),this._toolbarObserver&&(this._toolbarObserver.disconnect(),this._toolbarObserver=void 0)}hideCellToolbar(){const e=this._cell.node.querySelector("jp-toolbar");e&&(e.style.display="none")}showCellToolbar(){if(m._activeDiffCount>0)return;const e=this._cell.node.querySelector("jp-toolbar");e&&(e.style.display="")}addToolbarButtons(){if(!this._cellFooterTracker||!this._cell)return;const e=this._cell.id,t=this._cellFooterTracker.getFooter(e);t&&(this.acceptAllButton=new u.ToolbarButton({icon:u.checkIcon,label:this.trans.__("Accept All"),tooltip:this.trans.__("Accept all chunks"),enabled:!0,className:"jp-UnifiedDiff-acceptAll",onClick:()=>this.acceptAll()}),this.rejectAllButton=new u.ToolbarButton({icon:u.undoIcon,label:this.trans.__("Reject All"),tooltip:this.trans.__("Reject all chunks"),enabled:!0,className:"jp-UnifiedDiff-rejectAll",onClick:()=>this.rejectAll()}),this.showActionButtons&&(t.addToolbarItemOnRight("reject-all",this.rejectAllButton),t.addToolbarItemOnRight("accept-all",this.acceptAllButton)),this._cellFooterTracker.showFooter(e),this.hideCellToolbar())}removeToolbarButtons(){if(!this._cellFooterTracker||!this._cell)return;const e=this._cell.id,t=this._cellFooterTracker.getFooter(e);t&&(this.showActionButtons&&(t.removeToolbarItem("accept-all"),t.removeToolbarItem("reject-all")),this._cellFooterTracker.hideFooter(e),this.showCellToolbar())}}m._activeDiffCount=0;class S extends b{constructor(e){super(e),this._spacer=null,this._fileEditorWidget=e.fileEditorWidget,this.activate()}getSharedModel(){return this.editor.model.sharedModel}addToolbarButtons(){if(!this._fileEditorWidget||!this.showActionButtons)return;const e=this._fileEditorWidget.toolbar;e&&(e.node.hidden=!1,this._spacer=u.Toolbar.createSpacerItem(),this.acceptAllButton=new u.ToolbarButton({icon:u.checkIcon,label:this.trans.__("Accept All"),tooltip:this.trans.__("Accept all chunks"),enabled:!0,className:"jp-UnifiedFileDiff-acceptAll",onClick:()=>this.acceptAll()}),this.rejectAllButton=new u.ToolbarButton({icon:u.undoIcon,label:this.trans.__("Reject All"),tooltip:this.trans.__("Reject all chunks"),enabled:!0,className:"jp-UnifiedFileDiff-rejectAll",onClick:()=>this.rejectAll()}),e.addItem("diff-spacer",this._spacer),e.addItem("reject-all-diff",this.rejectAllButton),e.addItem("accept-all-diff",this.acceptAllButton))}removeToolbarButtons(){if(!this._fileEditorWidget)return;const e=this._fileEditorWidget.toolbar;e&&(this.showActionButtons&&(this._spacer&&(this._spacer.dispose(),this._spacer=null),this.acceptAllButton&&(this.acceptAllButton.dispose(),this.acceptAllButton=null),this.rejectAllButton&&(this.rejectAllButton.dispose(),this.rejectAllButton=null)),0===Array.from(e.names()).length&&(e.node.hidden=!0))}}const v="jupyterlab-diff";function T(e,t){const o=e.find((e=>e.context.path===t));return null!=o?o:e.currentWidget}function k(e,t){var o;const i=e.content,r=i.model;let l=null===(o=i.activeCell)||void 0===o?void 0:o.model;if(t&&r)for(let e=0;e<r.cells.length;e++){const o=r.cells.get(e);if(o.id===t){l=o;break}}return null!=l?l:null}const y=[{id:"jupyterlab-diff:split-cell-diff-plugin",description:"Show cell diff using side-by-side split view",requires:[n.ICellFooterTracker,i.INotebookTracker],optional:[r.ITranslator],autoStart:!0,activate:async(e,t,o,i)=>{const{commands:l}=e,n=(null!=i?i:r.nullTranslator).load(v);l.addCommand("jupyterlab-diff:split-cell-diff",{label:n.__("Show Cell Diff (Split View)"),describedBy:{args:{type:"object",properties:{cellId:{type:"string",description:n.__("ID of the cell to show diff for")},originalSource:{type:"string",description:n.__("Original source code to compare against")},newSource:{type:"string",description:n.__("New source code to compare with")},showActionButtons:{type:"boolean",description:n.__("Whether to show action buttons in the diff widget")},notebookPath:{type:"string",description:n.__("Path to the notebook containing the cell")},openDiff:{type:"boolean",description:n.__("Whether to open the diff widget automatically")}},required:["originalSource","newSource"]}},execute:async(e={})=>{const{cellId:i,originalSource:r,newSource:l,showActionButtons:s=!0,notebookPath:c,openDiff:a=!0}=e;if(!r||!l)return void console.error(n.__("Missing required arguments: originalSource and newSource"));const d=T(o,c);if(!d)return;const h=k(d,i);if(!h)return void console.error(n.__("Missing required arguments: cellId (or no active cell found)"));if(!t.getFooter(h.id))return void console.error(n.__("Footer not found for cell %1",h.id));const u={cell:h,cellFooterTracker:t,originalSource:r,newSource:l,showActionButtons:s,openDiff:a,trans:n};await async function(e){const{cell:t,cellFooterTracker:o,originalSource:i,newSource:r,trans:l,showActionButtons:n=!0,openDiff:s=!0}=e,c=new _({originalSource:i,newSource:r,cell:t,cellFooterTracker:o,showActionButtons:n,openDiff:s,trans:l});return c.addClass("jupyterlab-diff"),c.addToFooter(),c}(u)}})}},{id:"jupyterlab-diff:unified-cell-diff-plugin",description:"Show cell diff using unified view",requires:[n.ICellFooterTracker,i.INotebookTracker],optional:[r.ITranslator],autoStart:!0,activate:async(e,t,o,i)=>{const{commands:l}=e,n=(null!=i?i:r.nullTranslator).load(v),s=new Map;l.addCommand("jupyterlab-diff:unified-cell-diff",{label:n.__("Show Cell Diff (Unified)"),describedBy:{args:{type:"object",properties:{cellId:{type:"string",description:n.__("ID of the cell to show diff for")},originalSource:{type:"string",description:n.__("Original source code to compare against")},newSource:{type:"string",description:n.__("New source code to compare with")},showActionButtons:{type:"boolean",description:n.__("Whether to show action buttons for chunk acceptance")},allowInlineDiffs:{type:"boolean",description:n.__("Enable inline diffs (true) or disable (false)")},notebookPath:{type:"string",description:n.__("Path to the notebook containing the cell")}},required:["originalSource","newSource"]}},execute:async(e={})=>{const{cellId:i,originalSource:r,newSource:l,showActionButtons:c=!0,allowInlineDiffs:a=!1,notebookPath:d}=e;if(!r||!l)return void console.error(n.__("Missing required arguments: originalSource and newSource"));const h=T(o,d);if(!h)return;const u=k(h,i);if(!u)return void console.error(n.__("Missing required arguments: cellId (or no active cell found)"));const f=h.content.widgets.find((e=>e.model.id===u.id));if(!f||!f.editor)return void console.error(n.__("No editor found for cell %1",u.id));const p=s.get(u.id);p&&!p.isDisposed&&p.dispose();const _=await async function(e){return new m(e)}({cell:f,editor:f.editor,cellFooterTracker:t,originalSource:r,newSource:l,showActionButtons:c,allowInlineDiffs:a,trans:n});s.set(u.id,_)}})}},{id:"jupyterlab-diff:unified-file-diff-plugin",description:"Show file diff using unified view",requires:[l.IEditorTracker],optional:[r.ITranslator],autoStart:!0,activate:async(e,t,o)=>{const{commands:i}=e,l=(null!=o?o:r.nullTranslator).load(v),n=new Map;i.addCommand("jupyterlab-diff:unified-file-diff",{label:l.__("Diff File (Unified)"),describedBy:{args:{type:"object",properties:{filePath:{type:"string",description:l.__("Path to the file to diff. Defaults to current file in editor.")},originalSource:{type:"string",description:l.__("Original source code to compare against")},newSource:{type:"string",description:l.__("New source code to compare with")},showActionButtons:{type:"boolean",description:l.__("Whether to show action buttons for chunk acceptance. Defaults to true.")},allowInlineDiffs:{type:"boolean",description:l.__("Enable inline diffs (true) or disable (false)")}},required:["originalSource","newSource"]}},execute:async(e={})=>{var o;const{filePath:i,originalSource:r,newSource:s,showActionButtons:c=!0,allowInlineDiffs:a=!1}=e;if(!r||!s)return void console.error(l.__("Missing required arguments: originalSource and newSource"));let d=t.currentWidget;if(i){const e=t.find((e=>{var t;return(null===(t=e.context)||void 0===t?void 0:t.path)===i}));e&&(d=e)}if(d||(d=t.currentWidget),!d)return void console.error(l.__("No editor found for the file"));const h=d.content.editor;if(!h)return void console.error(l.__("No code editor found in the file widget"));const u=i||(null===(o=d.context)||void 0===o?void 0:o.path)||"default",f=n.get(u);f&&!f.isDisposed&&f.dispose();const p=await async function(e){return new S(e)}({editor:h,fileEditorWidget:d,originalSource:r,newSource:s,showActionButtons:c,allowInlineDiffs:a,trans:l});n.set(u,p)}})}}]}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkjupyterlab_diff=self.webpackChunkjupyterlab_diff||[]).push([[299,680],{680:(e,t,o)=>{o.r(t),o.d(t,{CellFooterTracker:()=>c,ContentFactoryWithFooter:()=>b,ICellFooterTracker:()=>d});var r=o(262),l=o(256),n=o(694),a=o(53);const i="jp-cellfooter";class s extends l.Panel{constructor(){super(),this.id=i,this.addClass(i),this.toolbar=new n.Toolbar,this.toolbar.addClass("jp-cellfooter-toolbar"),this.toolbar.addItem("spacer",n.Toolbar.createSpacerItem()),this.toolbar.addItem("clear",new n.ToolbarButton({icon:n.closeIcon,enabled:!0,onClick:()=>{this.hide()}})),this.addWidget(this.toolbar)}addToolbarItemOnLeft(e,t){var o;null===(o=this.toolbar)||void 0===o||o.insertBefore("spacer",e,t)}addToolbarItemOnRight(e,t){var o;null===(o=this.toolbar)||void 0===o||o.insertBefore("clear",e,t)}removeToolbarItem(e){if(!this.toolbar)return;const t=(0,a.map)(this.toolbar.names(),((e,t)=>({name:e,index:t}))),o=(0,a.find)(t,(t=>t.name===e));o&&[...this.toolbar.children()][o.index].dispose()}removeWidget(e){const t=this.widgets.find((t=>t.hasClass(e)));null==t||t.dispose()}}const d=new r.Token("cellFooterTracker");class c{constructor(e){this._notebookTracker=e}getFooter(e){var t;const o=e||(null===(t=this._notebookTracker.activeCell)||void 0===t?void 0:t.model.id);if(void 0===o)return;const{cell:r}=function(e,t){var o,r;const l=t.currentWidget,n=null===(r=null===(o=t.currentWidget)||void 0===o?void 0:o.content._findCellById(e))||void 0===r?void 0:r.cell;if(l&&n)return{cell:n,notebook:l};const a=t.find((t=>{var o;return!!(null===(o=t.content._findCellById(e))||void 0===o?void 0:o.cell)}));return{cell:n,notebook:a}}(o,this._notebookTracker);return r?function(e){return(null==e?void 0:e.layout).widgets.find((e=>e.id===i))}(r):void 0}addToolbarItemOnLeft(e){const t=this.getFooter(e.cellId);e.item&&(null==t||t.addToolbarItemOnLeft(e.name,e.item))}addToolbarItemOnRight(e){const t=this.getFooter(e.cellId);e.item&&(null==t||t.addToolbarItemOnRight(e.name,e.item))}removeToolbarItem(e){const t=this.getFooter(e.cellId);null==t||t.removeToolbarItem(e.name)}hideFooter(e){const t=this.getFooter(e);null==t||t.hide()}showFooter(e){const t=this.getFooter(e);null==t||t.show()}}var u=o(762);function h(e){const t=e.layout,o=t.widgets.findIndex(((e,t,o)=>e.hasClass("jp-Cell-inputWrapper")));if(-1===o)return void console.error("Could not find the correct element.");const r=new s;t.insertWidget(o+1,r),r.hide()}class b extends u.NotebookPanel.ContentFactory{createCodeCell(e){const t=super.createCodeCell(e);return t.ready.then((()=>{h(t)})),t}createMarkdownCell(e){const t=super.createMarkdownCell(e);return t.ready.then((()=>{h(t)})),t}createRawCell(e){const t=super.createRawCell(e);return t.ready.then((()=>{h(t)})),t}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkjupyterlab_diff=self.webpackChunkjupyterlab_diff||[]).push([[728],{475:(n,e,t)=>{t.d(e,{A:()=>i});var r=t(601),o=t.n(r),a=t(314),c=t.n(a)()(o());c.push([n.id,"/*\n See the JupyterLab Developer Guide for useful CSS Patterns:\n\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\n*/\n\n/* Unified merge view styling */\n.cm-unified {\n background-color: var(--jp-layout-color0);\n color: var(--jp-ui-font-color1);\n}\n\n/* Removed lines in unified diff */\n.cm-deletedLine {\n background-color: rgb(255 0 0 / 10%);\n}\n\n.cm-deletedChunk {\n background-color: rgb(255 0 0 / 15%);\n}\n\n/* Added lines in unified diff */\n.cm-addedLine {\n background-color: rgb(0 128 0 / 10%);\n}\n\n.cm-addedChunk {\n background-color: rgb(0 128 0 / 15%);\n}\n\n/* Unchanged lines */\n.cm-unchangedLine {\n background-color: transparent;\n}\n\n/* Conflict markers */\n.cm-conflictMarker {\n background-color: var(--jp-layout-color3);\n color: var(--jp-error-color0);\n}\n\n/* Custom merge control styling with JupyterLab icons */\n.cm-chunkButtons {\n display: flex;\n flex-direction: row-reverse;\n gap: 2px;\n padding: 0;\n line-height: 1;\n}\n\n/* Style our custom JupyterLab icon buttons to match CodeMirror line height */\n.jp-merge-accept-button,\n.jp-merge-reject-button {\n cursor: pointer;\n padding: 1px;\n border-radius: 2px;\n background-color: transparent;\n border: 1px solid transparent;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.1s;\n height: 1.4em;\n width: auto;\n vertical-align: middle;\n}\n\n/* Make the icon smaller to fit the line height */\n.jp-merge-accept-button svg,\n.jp-merge-reject-button svg {\n width: 14px;\n height: 14px;\n}\n\n.jp-merge-accept-button:hover,\n.jp-merge-reject-button:hover {\n background-color: var(--jp-layout-color3);\n border-color: var(--jp-border-color1);\n}\n",""]);const i=c},314:n=>{n.exports=function(n){var e=[];return e.toString=function(){return this.map((function(e){var t="",r=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),r&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=n(e),r&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t})).join("")},e.i=function(n,t,r,o,a){"string"==typeof n&&(n=[[null,n,void 0]]);var c={};if(r)for(var i=0;i<this.length;i++){var s=this[i][0];null!=s&&(c[s]=!0)}for(var u=0;u<n.length;u++){var l=[].concat(n[u]);r&&c[l[0]]||(void 0!==a&&(void 0===l[5]||(l[1]="@layer".concat(l[5].length>0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=a),t&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=t):l[2]=t),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},601:n=>{n.exports=function(n){return n[1]}},72:n=>{var e=[];function t(n){for(var t=-1,r=0;r<e.length;r++)if(e[r].identifier===n){t=r;break}return t}function r(n,r){for(var a={},c=[],i=0;i<n.length;i++){var s=n[i],u=r.base?s[0]+r.base:s[0],l=a[u]||0,d="".concat(u," ").concat(l);a[u]=l+1;var p=t(d),f={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==p)e[p].references++,e[p].updater(f);else{var h=o(f,r);r.byIndex=i,e.splice(i,0,{identifier:d,updater:h,references:1})}c.push(d)}return c}function o(n,e){var t=e.domAPI(e);return t.update(n),function(e){if(e){if(e.css===n.css&&e.media===n.media&&e.sourceMap===n.sourceMap&&e.supports===n.supports&&e.layer===n.layer)return;t.update(n=e)}else t.remove()}}n.exports=function(n,o){var a=r(n=n||[],o=o||{});return function(n){n=n||[];for(var c=0;c<a.length;c++){var i=t(a[c]);e[i].references--}for(var s=r(n,o),u=0;u<a.length;u++){var l=t(a[u]);0===e[l].references&&(e[l].updater(),e.splice(l,1))}a=s}}},659:n=>{var e={};n.exports=function(n,t){var r=function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(n){t=null}e[n]=t}return e[n]}(n);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}},540:n=>{n.exports=function(n){var e=document.createElement("style");return n.setAttributes(e,n.attributes),n.insert(e,n.options),e}},56:(n,e,t)=>{n.exports=function(n){var e=t.nc;e&&n.setAttribute("nonce",e)}},825:n=>{n.exports=function(n){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=n.insertStyleElement(n);return{update:function(t){!function(n,e,t){var r="";t.supports&&(r+="@supports (".concat(t.supports,") {")),t.media&&(r+="@media ".concat(t.media," {"));var o=void 0!==t.layer;o&&(r+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),r+=t.css,o&&(r+="}"),t.media&&(r+="}"),t.supports&&(r+="}");var a=t.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(r,n,e.options)}(e,n,t)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(e)}}}},113:n=>{n.exports=function(n,e){if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}},728:(n,e,t)=>{var r=t(72),o=t.n(r),a=t(825),c=t.n(a),i=t(659),s=t.n(i),u=t(56),l=t.n(u),d=t(540),p=t.n(d),f=t(113),h=t.n(f),m=t(475),v={};v.styleTagTransform=h(),v.setAttributes=l(),v.insert=s().bind(null,"head"),v.domAPI=c(),v.insertStyleElement=p(),o()(m.A,v),m.A&&m.A.locals&&m.A.locals}}]);
|