@galaxyproject/jupyterlite 0.0.10 → 0.0.11

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 CHANGED
@@ -1,10 +1,8 @@
1
1
  {
2
2
  "name": "@galaxyproject/jupyterlite",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "type": "module",
5
- "files": [
6
- "static/dist"
7
- ],
5
+ "files": ["static"],
8
6
  "scripts": {
9
7
  "build": "webpack && npm run build:jupyter && npm run build:gxy && npm run build:extension && npm run build:patch && npm run build:index",
10
8
  "build:extension": "node install-extension.js",
@@ -13,11 +11,14 @@
13
11
  "build:jupyter": "jupyter lite build --output-dir static/dist/_output --config static/dist/_output/jupyter-lite.json",
14
12
  "build:patch": "node patch-config.js",
15
13
  "dev": "jupyter lite serve --output-dir static/dist/_output --config static/dist/_output/jupyter-lite.json",
16
- "prettier": "prettier --write 'package.json' '*.js' 'src/*.js' 'src/*.ts'"
14
+ "prettier": "prettier --write 'package.json' '*.js' 'src/*.js' 'src/*.ts'",
15
+ "test": "npx playwright test --headed"
17
16
  },
18
17
  "devDependencies": {
18
+ "@playwright/test": "^1.52.0",
19
19
  "axios": "^1.9.0",
20
20
  "cpx": "^1.5.0",
21
+ "playwright": "^1.52.0",
21
22
  "prettier": "^3.5.3",
22
23
  "ts-loader": "^9.5.0",
23
24
  "typescript": "^5.4.2",
@@ -5,6 +5,21 @@
5
5
  "appVersion": "0.5.1",
6
6
  "baseUrl": "./",
7
7
  "defaultKernelName": "python",
8
+ "disabledExtensions": [
9
+ "@jupyterlab/filebrowser-extension",
10
+ "@jupyterlab/launcher-extension",
11
+ "@jupyterlab/running-extension",
12
+ "@jupyterlab/toc-extension",
13
+ "@jupyterlab/fileeditor-extension:plugin",
14
+ "@jupyterlab/fileeditor-extension:cursor-position",
15
+ "@jupyterlab/fileeditor-extension:completer",
16
+ "@jupyterlab/fileeditor-extension:language-server",
17
+ "@jupyterlab/fileeditor-extension:editor-syntax-status",
18
+ "@jupyterlab/fileeditor-extension:tab-space-status",
19
+ "@jupyterlab/notebook-extension:toc",
20
+ "@jupyterlite/application-extension:share-file",
21
+ "@jupyterlab/tooltip-extension:files"
22
+ ],
8
23
  "faviconUrl": "./lab/favicon.ico",
9
24
  "federated_extensions": [
10
25
  {
@@ -13,17 +28,17 @@
13
28
  "load": "static/remoteEntry.3ac7f76fb22d01270496.js",
14
29
  "name": "@jupyterlite/pyodide-kernel-extension"
15
30
  },
31
+ {
32
+ "extension": "./extension",
33
+ "load": "entry.js",
34
+ "name": "jl-galaxy"
35
+ },
16
36
  {
17
37
  "extension": "./extension",
18
38
  "liteExtension": false,
19
39
  "load": "static/remoteEntry.5cbb9d2323598fbda535.js",
20
40
  "name": "jupyterlab_pygments",
21
41
  "style": "./style"
22
- },
23
- {
24
- "name": "jl-galaxy",
25
- "load": "entry.js",
26
- "extension": "./extension"
27
42
  }
28
43
  ],
29
44
  "fileTypes": {
@@ -313,7 +328,7 @@
313
328
  "../../../../pypi/jsonschema-4.23.0-py3-none-any.whl",
314
329
  "../../../../pypi/jsonschema_specifications-2025.4.1-py3-none-any.whl",
315
330
  "../../../../pypi/jupyter_core-5.7.2-py3-none-any.whl",
316
- "../../../../pypi/narwhals-1.38.2-py3-none-any.whl",
331
+ "../../../../pypi/narwhals-1.39.0-py3-none-any.whl",
317
332
  "../../../../pypi/nbformat-5.10.4-py3-none-any.whl",
318
333
  "../../../../pypi/packaging-25.0-py3-none-any.whl",
319
334
  "../../../../pypi/platformdirs-4.3.8-py3-none-any.whl",
@@ -325,24 +340,13 @@
325
340
  "pandas",
326
341
  "rpds-py"
327
342
  ]
328
- }
343
+ },
344
+ "pipliteUrls": [
345
+ "./pypi/all.json?sha256=4ab6b5fd089188d3d12e0a6d237883bfca6fb146a6693a20635befc7f0b86b4d",
346
+ "./extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/all.json?sha256=8410129b75a5560182e60e67735d1efad22cde00c42736ad5f8841351d33b617"
347
+ ]
329
348
  }
330
- },
331
- "disabledExtensions": [
332
- "@jupyterlab/filebrowser-extension",
333
- "@jupyterlab/launcher-extension",
334
- "@jupyterlab/running-extension",
335
- "@jupyterlab/toc-extension",
336
- "@jupyterlab/fileeditor-extension:plugin",
337
- "@jupyterlab/fileeditor-extension:cursor-position",
338
- "@jupyterlab/fileeditor-extension:completer",
339
- "@jupyterlab/fileeditor-extension:language-server",
340
- "@jupyterlab/fileeditor-extension:editor-syntax-status",
341
- "@jupyterlab/fileeditor-extension:tab-space-status",
342
- "@jupyterlab/notebook-extension:toc",
343
- "@jupyterlite/application-extension:share-file",
344
- "@jupyterlab/tooltip-extension:files"
345
- ]
349
+ }
346
350
  },
347
351
  "jupyter-lite-schema-version": 0
348
352
  }
@@ -0,0 +1,366 @@
1
+ {
2
+ "attrs": {
3
+ "releases": {
4
+ "25.3.0": [
5
+ {
6
+ "comment_text": "",
7
+ "digests": {
8
+ "md5": "a14ebc7e5f8ba18887b09460ada729e6",
9
+ "sha256": "427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3"
10
+ },
11
+ "downloads": -1,
12
+ "filename": "attrs-25.3.0-py3-none-any.whl",
13
+ "has_sig": false,
14
+ "md5_digest": "a14ebc7e5f8ba18887b09460ada729e6",
15
+ "packagetype": "bdist_wheel",
16
+ "python_version": "py3",
17
+ "requires_python": ">=3.8",
18
+ "size": 63815,
19
+ "upload_time": "2025-05-15T03:07:10.602872Z",
20
+ "upload_time_iso_8601": "2025-05-15T03:07:10.602872Z",
21
+ "url": "./attrs-25.3.0-py3-none-any.whl",
22
+ "yanked": false,
23
+ "yanked_reason": null
24
+ }
25
+ ]
26
+ }
27
+ },
28
+ "fastjsonschema": {
29
+ "releases": {
30
+ "2.21.1": [
31
+ {
32
+ "comment_text": "",
33
+ "digests": {
34
+ "md5": "723462e317f01698922e54887c209c94",
35
+ "sha256": "c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"
36
+ },
37
+ "downloads": -1,
38
+ "filename": "fastjsonschema-2.21.1-py3-none-any.whl",
39
+ "has_sig": false,
40
+ "md5_digest": "723462e317f01698922e54887c209c94",
41
+ "packagetype": "bdist_wheel",
42
+ "python_version": "py3",
43
+ "requires_python": null,
44
+ "size": 23924,
45
+ "upload_time": "2025-05-15T03:07:10.599014Z",
46
+ "upload_time_iso_8601": "2025-05-15T03:07:10.599014Z",
47
+ "url": "./fastjsonschema-2.21.1-py3-none-any.whl",
48
+ "yanked": false,
49
+ "yanked_reason": null
50
+ }
51
+ ]
52
+ }
53
+ },
54
+ "gxy": {
55
+ "releases": {
56
+ "0.0.0": [
57
+ {
58
+ "comment_text": "",
59
+ "digests": {
60
+ "md5": "56b728409365a5d666f3d0bb4f2cfcb0",
61
+ "sha256": "fa489a4b44320ee7b95e572aa4522c44cf0f9ba62a1068e6dd419231afc0bb02"
62
+ },
63
+ "downloads": -1,
64
+ "filename": "gxy-0.0.0-py3-none-any.whl",
65
+ "has_sig": false,
66
+ "md5_digest": "56b728409365a5d666f3d0bb4f2cfcb0",
67
+ "packagetype": "bdist_wheel",
68
+ "python_version": "py3",
69
+ "requires_python": ">=3.7",
70
+ "size": 3920,
71
+ "upload_time": "2025-05-15T03:07:08.213990Z",
72
+ "upload_time_iso_8601": "2025-05-15T03:07:08.213990Z",
73
+ "url": "./gxy-0.0.0-py3-none-any.whl",
74
+ "yanked": false,
75
+ "yanked_reason": null
76
+ }
77
+ ]
78
+ }
79
+ },
80
+ "jsonschema": {
81
+ "releases": {
82
+ "4.23.0": [
83
+ {
84
+ "comment_text": "",
85
+ "digests": {
86
+ "md5": "be79227c146cfb34935b5bacaafb47fa",
87
+ "sha256": "fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"
88
+ },
89
+ "downloads": -1,
90
+ "filename": "jsonschema-4.23.0-py3-none-any.whl",
91
+ "has_sig": false,
92
+ "md5_digest": "be79227c146cfb34935b5bacaafb47fa",
93
+ "packagetype": "bdist_wheel",
94
+ "python_version": "py3",
95
+ "requires_python": ">=3.8",
96
+ "size": 88462,
97
+ "upload_time": "2025-05-15T03:07:10.599639Z",
98
+ "upload_time_iso_8601": "2025-05-15T03:07:10.599639Z",
99
+ "url": "./jsonschema-4.23.0-py3-none-any.whl",
100
+ "yanked": false,
101
+ "yanked_reason": null
102
+ }
103
+ ]
104
+ }
105
+ },
106
+ "jsonschema-specifications": {
107
+ "releases": {
108
+ "2025.4.1": [
109
+ {
110
+ "comment_text": "",
111
+ "digests": {
112
+ "md5": "228e6ee38058d79f9cbd0ca19e6bca3c",
113
+ "sha256": "4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af"
114
+ },
115
+ "downloads": -1,
116
+ "filename": "jsonschema_specifications-2025.4.1-py3-none-any.whl",
117
+ "has_sig": false,
118
+ "md5_digest": "228e6ee38058d79f9cbd0ca19e6bca3c",
119
+ "packagetype": "bdist_wheel",
120
+ "python_version": "py3",
121
+ "requires_python": ">=3.9",
122
+ "size": 18437,
123
+ "upload_time": "2025-05-15T03:07:10.603462Z",
124
+ "upload_time_iso_8601": "2025-05-15T03:07:10.603462Z",
125
+ "url": "./jsonschema_specifications-2025.4.1-py3-none-any.whl",
126
+ "yanked": false,
127
+ "yanked_reason": null
128
+ }
129
+ ]
130
+ }
131
+ },
132
+ "jupyter-core": {
133
+ "releases": {
134
+ "5.7.2": [
135
+ {
136
+ "comment_text": "",
137
+ "digests": {
138
+ "md5": "8980f44e273bf2aa6005e629dfd80da1",
139
+ "sha256": "4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"
140
+ },
141
+ "downloads": -1,
142
+ "filename": "jupyter_core-5.7.2-py3-none-any.whl",
143
+ "has_sig": false,
144
+ "md5_digest": "8980f44e273bf2aa6005e629dfd80da1",
145
+ "packagetype": "bdist_wheel",
146
+ "python_version": "py3",
147
+ "requires_python": ">=3.8",
148
+ "size": 28965,
149
+ "upload_time": "2025-05-15T03:07:10.600242Z",
150
+ "upload_time_iso_8601": "2025-05-15T03:07:10.600242Z",
151
+ "url": "./jupyter_core-5.7.2-py3-none-any.whl",
152
+ "yanked": false,
153
+ "yanked_reason": null
154
+ }
155
+ ]
156
+ }
157
+ },
158
+ "narwhals": {
159
+ "releases": {
160
+ "1.39.0": [
161
+ {
162
+ "comment_text": "",
163
+ "digests": {
164
+ "md5": "d2c10eb622f128197743fded05eda533",
165
+ "sha256": "50b6778f4b4249eb86c88dd17c3907dd004a16ec25b02d5effaf226a2bcfb940"
166
+ },
167
+ "downloads": -1,
168
+ "filename": "narwhals-1.39.0-py3-none-any.whl",
169
+ "has_sig": false,
170
+ "md5_digest": "d2c10eb622f128197743fded05eda533",
171
+ "packagetype": "bdist_wheel",
172
+ "python_version": "py3",
173
+ "requires_python": ">=3.8",
174
+ "size": 339242,
175
+ "upload_time": "2025-05-15T03:07:10.600937Z",
176
+ "upload_time_iso_8601": "2025-05-15T03:07:10.600937Z",
177
+ "url": "./narwhals-1.39.0-py3-none-any.whl",
178
+ "yanked": false,
179
+ "yanked_reason": null
180
+ }
181
+ ]
182
+ }
183
+ },
184
+ "nbformat": {
185
+ "releases": {
186
+ "5.10.4": [
187
+ {
188
+ "comment_text": "",
189
+ "digests": {
190
+ "md5": "a6d58960984e33b0d52d74feb54177f6",
191
+ "sha256": "3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"
192
+ },
193
+ "downloads": -1,
194
+ "filename": "nbformat-5.10.4-py3-none-any.whl",
195
+ "has_sig": false,
196
+ "md5_digest": "a6d58960984e33b0d52d74feb54177f6",
197
+ "packagetype": "bdist_wheel",
198
+ "python_version": "py3",
199
+ "requires_python": ">=3.8",
200
+ "size": 78454,
201
+ "upload_time": "2025-05-15T03:07:10.597763Z",
202
+ "upload_time_iso_8601": "2025-05-15T03:07:10.597763Z",
203
+ "url": "./nbformat-5.10.4-py3-none-any.whl",
204
+ "yanked": false,
205
+ "yanked_reason": null
206
+ }
207
+ ]
208
+ }
209
+ },
210
+ "packaging": {
211
+ "releases": {
212
+ "25.0": [
213
+ {
214
+ "comment_text": "",
215
+ "digests": {
216
+ "md5": "5fa4842e2eb0d7883b4b0e7c42d6229e",
217
+ "sha256": "29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"
218
+ },
219
+ "downloads": -1,
220
+ "filename": "packaging-25.0-py3-none-any.whl",
221
+ "has_sig": false,
222
+ "md5_digest": "5fa4842e2eb0d7883b4b0e7c42d6229e",
223
+ "packagetype": "bdist_wheel",
224
+ "python_version": "py3",
225
+ "requires_python": ">=3.8",
226
+ "size": 66469,
227
+ "upload_time": "2025-05-15T03:07:10.602266Z",
228
+ "upload_time_iso_8601": "2025-05-15T03:07:10.602266Z",
229
+ "url": "./packaging-25.0-py3-none-any.whl",
230
+ "yanked": false,
231
+ "yanked_reason": null
232
+ }
233
+ ]
234
+ }
235
+ },
236
+ "platformdirs": {
237
+ "releases": {
238
+ "4.3.8": [
239
+ {
240
+ "comment_text": "",
241
+ "digests": {
242
+ "md5": "45b36cb8234d36f3d02eb41acda1a6fa",
243
+ "sha256": "ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"
244
+ },
245
+ "downloads": -1,
246
+ "filename": "platformdirs-4.3.8-py3-none-any.whl",
247
+ "has_sig": false,
248
+ "md5_digest": "45b36cb8234d36f3d02eb41acda1a6fa",
249
+ "packagetype": "bdist_wheel",
250
+ "python_version": "py3",
251
+ "requires_python": ">=3.9",
252
+ "size": 18567,
253
+ "upload_time": "2025-05-15T03:07:10.604054Z",
254
+ "upload_time_iso_8601": "2025-05-15T03:07:10.604054Z",
255
+ "url": "./platformdirs-4.3.8-py3-none-any.whl",
256
+ "yanked": false,
257
+ "yanked_reason": null
258
+ }
259
+ ]
260
+ }
261
+ },
262
+ "plotly": {
263
+ "releases": {
264
+ "6.0.1": [
265
+ {
266
+ "comment_text": "",
267
+ "digests": {
268
+ "md5": "10f9fe29050d7cabef43bbbc59410a0e",
269
+ "sha256": "4714db20fea57a435692c548a4eb4fae454f7daddf15f8d8ba7e1045681d7768"
270
+ },
271
+ "downloads": -1,
272
+ "filename": "plotly-6.0.1-py3-none-any.whl",
273
+ "has_sig": false,
274
+ "md5_digest": "10f9fe29050d7cabef43bbbc59410a0e",
275
+ "packagetype": "bdist_wheel",
276
+ "python_version": "py3",
277
+ "requires_python": ">=3.8",
278
+ "size": 14805757,
279
+ "upload_time": "2025-05-15T03:07:10.596504Z",
280
+ "upload_time_iso_8601": "2025-05-15T03:07:10.596504Z",
281
+ "url": "./plotly-6.0.1-py3-none-any.whl",
282
+ "yanked": false,
283
+ "yanked_reason": null
284
+ }
285
+ ]
286
+ }
287
+ },
288
+ "referencing": {
289
+ "releases": {
290
+ "0.36.2": [
291
+ {
292
+ "comment_text": "",
293
+ "digests": {
294
+ "md5": "d531b05b57e25723830b8f1b7e7e3644",
295
+ "sha256": "e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"
296
+ },
297
+ "downloads": -1,
298
+ "filename": "referencing-0.36.2-py3-none-any.whl",
299
+ "has_sig": false,
300
+ "md5_digest": "d531b05b57e25723830b8f1b7e7e3644",
301
+ "packagetype": "bdist_wheel",
302
+ "python_version": "py3",
303
+ "requires_python": ">=3.9",
304
+ "size": 26775,
305
+ "upload_time": "2025-05-15T03:07:10.604654Z",
306
+ "upload_time_iso_8601": "2025-05-15T03:07:10.604654Z",
307
+ "url": "./referencing-0.36.2-py3-none-any.whl",
308
+ "yanked": false,
309
+ "yanked_reason": null
310
+ }
311
+ ]
312
+ }
313
+ },
314
+ "traitlets": {
315
+ "releases": {
316
+ "5.14.3": [
317
+ {
318
+ "comment_text": "",
319
+ "digests": {
320
+ "md5": "38dd65501ff11b109942b2c9569ba8e2",
321
+ "sha256": "b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"
322
+ },
323
+ "downloads": -1,
324
+ "filename": "traitlets-5.14.3-py3-none-any.whl",
325
+ "has_sig": false,
326
+ "md5_digest": "38dd65501ff11b109942b2c9569ba8e2",
327
+ "packagetype": "bdist_wheel",
328
+ "python_version": "py3",
329
+ "requires_python": ">=3.8",
330
+ "size": 85359,
331
+ "upload_time": "2025-05-15T03:07:10.601558Z",
332
+ "upload_time_iso_8601": "2025-05-15T03:07:10.601558Z",
333
+ "url": "./traitlets-5.14.3-py3-none-any.whl",
334
+ "yanked": false,
335
+ "yanked_reason": null
336
+ }
337
+ ]
338
+ }
339
+ },
340
+ "typing-extensions": {
341
+ "releases": {
342
+ "4.13.2": [
343
+ {
344
+ "comment_text": "",
345
+ "digests": {
346
+ "md5": "0d9ada689b5a7c88163dd4c3417b8cc8",
347
+ "sha256": "a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c"
348
+ },
349
+ "downloads": -1,
350
+ "filename": "typing_extensions-4.13.2-py3-none-any.whl",
351
+ "has_sig": false,
352
+ "md5_digest": "0d9ada689b5a7c88163dd4c3417b8cc8",
353
+ "packagetype": "bdist_wheel",
354
+ "python_version": "py3",
355
+ "requires_python": ">=3.8",
356
+ "size": 45806,
357
+ "upload_time": "2025-05-15T03:07:10.598398Z",
358
+ "upload_time_iso_8601": "2025-05-15T03:07:10.598398Z",
359
+ "url": "./typing_extensions-4.13.2-py3-none-any.whl",
360
+ "yanked": false,
361
+ "yanked_reason": null
362
+ }
363
+ ]
364
+ }
365
+ }
366
+ }
@@ -0,0 +1,81 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE visualization SYSTEM "../../visualization.dtd">
3
+ <visualization name="JupyterLite" embeddable="true">
4
+ <description>Pyodide-based Jupyter Notebooks</description>
5
+ <data_sources>
6
+ <data_source>
7
+ <model_class>HistoryDatasetAssociation</model_class>
8
+ <test test_attr="ext">ipynb</test>
9
+ </data_source>
10
+ </data_sources>
11
+ <params>
12
+ <param required="true">dataset_id</param>
13
+ </params>
14
+ <entry_point entry_point_type="script" src="dist/index.js" />
15
+ <tests>
16
+ <test>
17
+ <param name="dataset_id" value="http://cdn.jsdelivr.net/gh/galaxyproject/galaxy-test-data/1.ipynb" ftype="ipynb" />
18
+ </test>
19
+ </tests>
20
+ <help format="markdown"><![CDATA[
21
+ # What is JupyterLite?
22
+
23
+ **JupyterLite** is a lightweight version of JupyterLab that runs entirely in your web browser—no server required. It allows you to create, edit, and run notebooks using WebAssembly-based Python kernels (like Pyodide) or JavaScript kernels, all without installing anything on your local machine.
24
+
25
+ For best performance, we recommend: 🦊 **Firefox**.
26
+
27
+ This integration brings JupyterLite directly into Galaxy, enabling you to:
28
+
29
+ - Open and run notebooks attached to Galaxy datasets.
30
+ - Perform interactive data analysis within the Galaxy interface.
31
+ - Save notebooks back into your Galaxy history.
32
+
33
+ ## Key Features
34
+
35
+ - **Fully Browser-Based**: No backend required—everything runs in the browser.
36
+ - **Notebook Editing**: Create and edit `.ipynb` notebooks with code, text, and outputs.
37
+ - **Language Support**: Run Python (via Pyodide) and other WebAssembly-compatible kernels.
38
+ - **Galaxy Integration**: Open notebooks from your Galaxy datasets and export your changes directly back into your history.
39
+
40
+ Whether you're exploring data, prototyping analyses, or documenting workflows, JupyterLite provides a smooth, install-free notebook experience right inside Galaxy.
41
+
42
+ To learn more, visit:
43
+ [https://jupyterlite.readthedocs.io/](https://jupyterlite.readthedocs.io/)
44
+
45
+ ---
46
+
47
+ ## What is `gxy`?
48
+
49
+ The `gxy` Python module is available inside JupyterLite and provides helper functions to interact with your Galaxy history programmatically. It uses the Galaxy API in the background and supports operations like file upload, download, and metadata lookup—all within the browser.
50
+
51
+ ### Examples
52
+
53
+ ```python
54
+ # Preloaded in the kernel — no installation required
55
+ import gxy
56
+
57
+ # Perform arbitrary Galaxy API requests
58
+ await gxy.api("/api/histories", method="GET")
59
+
60
+ # Download a dataset by HID into the virtual filesystem
61
+ await gxy.get(3)
62
+
63
+ # Upload a local file to the associated Galaxy history (renamed to "newname.txt")
64
+ await gxy.put("output.txt", "newname.txt")
65
+
66
+ # List all datasets in the associated history
67
+ await gxy.get_history()
68
+
69
+ # Retrieve the associated history ID (auto-detected from the dataset context)
70
+ await gxy.get_history_id()
71
+
72
+ # Access the injected environment info (e.g., dataset ID and root URL)
73
+ gxy.get_environment()
74
+ ```
75
+
76
+ This makes it easy to load, process, and save data inside Jupyter notebooks while fully integrated with Galaxy’s dataset system.
77
+
78
+ A complete reference of available functions is available at:
79
+ [https://www.npmjs.com/package/@galaxyproject/jupyterlite](https://www.npmjs.com/package/@galaxyproject/jupyterlite)
80
+ ]]></help>
81
+ </visualization>
@@ -0,0 +1,202 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="68"
13
+ height="68"
14
+ viewBox="0 0 17.991666 17.991667"
15
+ version="1.1"
16
+ id="svg8"
17
+ inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
18
+ sodipodi:docname="icon.svg">
19
+ <defs
20
+ id="defs2">
21
+ <path
22
+ d="m 1.74498,5.47533 c 0,1.55802 -0.12464,2.06549 -0.44515,2.43941 C 0.943119,8.23595 0.480024,8.41358 0,8.41331 L 0.124642,9.3036 C 0.86884,9.31366 1.59095,9.05078 2.15452,8.56466 2.45775,8.19487 2.6834,7.76781 2.818,7.30893 2.95261,6.85005 2.99341,6.36876 2.93798,5.89377 V 0 h -1.193 v 5.43972 z"
23
+ id="path0_fill"
24
+ inkscape:connector-curvature="0" />
25
+ <path
26
+ d="m 5.50204,4.76309 c 0,0.66772 0,1.26422 0.05341,1.78059 H 4.496 L 4.42478,5.48423 C 4.20318,5.85909 3.88627,6.16858 3.50628,6.38125 3.12628,6.59392 2.69675,6.70219 2.26135,6.69503 1.22861,6.69503 0,6.13415 0,3.84608 V 0.0445149 H 1.193 V 3.6057 c 0,1.23752 0.38283,2.06549 1.46009,2.06549 C 2.87472,5.67358 3.09459,5.63168 3.29982,5.54796 3.50505,5.46424 3.69149,5.34039 3.84822,5.18366 4.00494,5.02694 4.1288,4.84049 4.21252,4.63527 4.29623,4.43004 4.33813,4.21016 4.33575,3.98853 V 0 h 1.19299 v 4.72748 z"
27
+ id="path1_fill"
28
+ inkscape:connector-curvature="0" />
29
+ <path
30
+ d="m 0.0534178,2.27264 c 0,-0.82798 0,-1.504604 -0.0534178,-2.118909 H 1.06836 L 1.12177,1.2666 C 1.3598,0.864535 1.70247,0.534594 2.11325,0.311954 2.52404,0.0893145 2.98754,-0.0176786 3.45435,0.00238095 c 1.58473,0 2.77773,1.32653905 2.77773,3.30299905 0,2.33258 -1.43338,3.48997 -2.9825,3.48997 C 2.85309,6.81304 2.45874,6.7281 2.10469,6.54874 1.75064,6.36937 1.44888,6.10166 1.22861,5.77151 v 0 3.56118 H 0.0534178 V 2.29935 Z M 1.22861,4.00872 c 0.00323,0.16154 0.02111,0.32245 0.05342,0.48076 0.10101,0.39531 0.33096,0.74565 0.65345,0.99558 0.3225,0.24994 0.71913,0.3852 1.12714,0.38438 1.25532,0 1.99427,-1.02384 1.99427,-2.51064 0,-1.29983 -0.69443,-2.412704 -1.94975,-2.412704 C 2.61036,0.986777 2.14548,1.20726 1.79965,1.5662 1.45382,1.92514 1.25079,2.3979 1.22861,2.89585 Z"
31
+ id="path2_fill"
32
+ inkscape:connector-curvature="0" />
33
+ <path
34
+ d="M 1.31764,0.0178059 2.75102,3.85499 C 2.90237,4.28233 3.06262,4.7987 3.16946,5.18153 3.2941,4.7898 3.42764,4.29123 3.5879,3.82828 L 4.88773,0.0178059 H 6.14305 L 4.36246,4.64735 C 3.47216,6.87309 2.92908,8.02158 2.11,8.71601 1.69745,9.09283 1.19448,9.35658 0.649917,9.48166 L 0.356119,8.48453 C 0.736886,8.35942 1.09038,8.16304 1.39777,7.90584 1.8321,7.55188 2.17678,7.10044 2.4038,6.5882 2.45239,6.49949 2.48551,6.40314 2.50173,6.3033 2.49161,6.19586 2.46457,6.0907 2.42161,5.9917 L 0,0 h 1.29983 z"
35
+ id="path3_fill"
36
+ inkscape:connector-curvature="0" />
37
+ <path
38
+ d="M 2.19013,0 V 1.86962 H 3.8995 v 0.8903 H 2.19013 v 3.50777 c 0,0.80127 0.23148,1.26422 0.8903,1.26422 C 3.31442,7.53574 3.54789,7.5088 3.77486,7.45179 L 3.82828,8.34208 C 3.48794,8.45999 3.12881,8.51431 2.76882,8.50234 2.53042,8.51726 2.29161,8.48043 2.06878,8.39437 1.84595,8.30831 1.64438,8.17506 1.47789,8.00377 1.11525,7.51873 0.949826,6.91431 1.01494,6.31221 V 2.75102 H 0 V 1.86072 H 1.03274 V 0.275992 Z"
39
+ id="path4_fill"
40
+ inkscape:connector-curvature="0" />
41
+ <path
42
+ d="M 1.17716,3.57899 C 1.153,3.88093 1.19468,4.18451 1.29933,4.46876 1.40398,4.75301 1.5691,5.01114 1.78329,5.22532 1.99747,5.43951 2.2556,5.60463 2.53985,5.70928 2.8241,5.81393 3.12768,5.85561 3.42962,5.83145 4.04033,5.84511 4.64706,5.72983 5.21021,5.49313 l 0.20477,0.8903 C 4.72393,6.66809 3.98085,6.80458 3.23375,6.78406 2.79821,6.81388 2.36138,6.74914 1.95322,6.59427 1.54505,6.43941 1.17522,6.19809 0.869071,5.88688 0.562928,5.57566 0.327723,5.2019 0.179591,4.79125 0.0314584,4.38059 -0.0260962,3.94276 0.0108748,3.50777 0.0108748,1.54912 1.17716,0 3.0824,0 c 2.13671,0 2.67089,1.86962 2.67089,3.06262 0.01142,0.18382 0.01142,0.36817 0,0.55199 H 1.15046 Z M 4.66713,2.6887 C 4.70149,2.45067 4.68443,2.20805 4.61709,1.97718 4.54976,1.74631 4.43372,1.53255 4.2768,1.35031 4.11987,1.16808 3.92571,1.0216 3.70739,0.920744 3.48907,0.81989 3.25166,0.767006 3.01118,0.765656 2.52201,0.801064 2.06371,1.01788 1.72609,1.37362 1.38847,1.72935 1.19588,2.19835 1.18607,2.6887 Z"
43
+ id="path5_fill"
44
+ inkscape:connector-curvature="0" />
45
+ <path
46
+ d="m 0.0534178,2.19228 c 0,-0.76565 0,-1.424474 -0.0534178,-2.029876 H 1.06836 V 1.43553 H 1.12177 C 1.23391,1.04259 1.4656,0.694314 1.78468,0.439049 2.10376,0.183783 2.4944,0.034196 2.90237,0.0110538 c 0.11229,-0.01473839 0.22602,-0.01473839 0.33831,0 V 1.12393 C 3.10462,1.10817 2.9672,1.10817 2.83114,1.12393 2.427,1.13958 2.04237,1.30182 1.7491,1.58035 1.45583,1.85887 1.27398,2.23462 1.23751,2.63743 1.20422,2.8196 1.18635,3.00425 1.1841,3.18941 V 6.65267 H 0.00890297 V 2.20118 Z"
47
+ id="path6_fill"
48
+ inkscape:connector-curvature="0" />
49
+ <path
50
+ d="M 6.03059,2.83565 C 6.06715,3.43376 5.92485,4.02921 5.6218,4.54615 5.31875,5.0631 4.86869,5.47813 4.32893,5.73839 3.78917,5.99864 3.18416,6.09233 2.59097,6.00753 1.99778,5.92272 1.44326,5.66326 0.998048,5.26219 0.552837,4.86113 0.23709,4.33661 0.0910307,3.75546 -0.0550287,3.17431 -0.0247891,2.56283 0.177897,1.99893 0.380583,1.43503 0.746541,0.944221 1.22915,0.589037 1.71176,0.233853 2.28918,0.0303686 2.88784,0.00450543 3.28035,-0.0170932 3.67326,0.0391144 4.04396,0.169896 4.41467,0.300677 4.75587,0.503453 5.04794,0.766561 5.34,1.02967 5.57718,1.34792 5.74582,1.70301 5.91446,2.0581 6.01124,2.44303 6.03059,2.83565 Z"
51
+ id="path7_fill"
52
+ inkscape:connector-curvature="0" />
53
+ <path
54
+ d="M 18.6962,7.12238 C 10.6836,7.12238 3.64131,4.24672 0,0 1.41284,3.82041 3.96215,7.1163 7.30479,9.44404 10.6474,11.7718 14.623,13.0196 18.6962,13.0196 c 4.0733,0 8.0488,-1.2478 11.3915,-3.57556 C 33.4303,7.1163 35.9796,3.82041 37.3925,0 33.7601,4.24672 26.7445,7.12238 18.6962,7.12238 Z"
55
+ id="path8_fill"
56
+ inkscape:connector-curvature="0" />
57
+ <path
58
+ d="m 18.6962,5.89725 c 8.0127,0 15.055,2.87566 18.6963,7.12235 C 35.9796,9.19922 33.4303,5.90333 30.0877,3.57559 26.745,1.24785 22.7695,0 18.6962,0 14.623,0 10.6474,1.24785 7.30479,3.57559 3.96215,5.90333 1.41284,9.19922 0,13.0196 3.64131,8.76401 10.648,5.89725 18.6962,5.89725 Z"
59
+ id="path9_fill"
60
+ inkscape:connector-curvature="0" />
61
+ <path
62
+ d="M 7.59576,3.56656 C 7.64276,4.31992 7.46442,5.07022 7.08347,5.72186 6.70251,6.3735 6.13619,6.89698 5.45666,7.22561 4.77713,7.55424 4.01515,7.67314 3.26781,7.56716 2.52046,7.46117 1.82158,7.13511 1.26021,6.63051 0.698839,6.12591 0.300394,5.46561 0.115637,4.73375 -0.0691191,4.00188 -0.0318219,3.23159 0.222777,2.52099 0.477376,1.8104 0.93775,1.19169 1.54524,0.743685 2.15274,0.295678 2.87985,0.0386595 3.63394,0.00537589 4.12793,-0.0210471 4.62229,0.0501173 5.08878,0.214803 5.55526,0.37949 5.98473,0.63447 6.35264,0.965179 6.72055,1.29589 7.01971,1.69584 7.233,2.1422 7.4463,2.58855 7.56957,3.07256 7.59576,3.56656 Z"
63
+ id="path10_fill"
64
+ inkscape:connector-curvature="0" />
65
+ <path
66
+ d="M 2.25061,4.37943 C 1.81886,4.39135 1.39322,4.27535 1.02722,4.04602 0.661224,3.81668 0.371206,3.48424 0.193641,3.09052 0.0160762,2.69679 -0.0411078,2.25935 0.0292804,1.83321 0.0996686,1.40707 0.294486,1.01125 0.589233,0.695542 0.883981,0.37983 1.2655,0.158316 1.68581,0.0588577 2.10611,-0.0406005 2.54644,-0.0135622 2.95143,0.136572 3.35641,0.286707 3.70796,0.553234 3.96186,0.902636 4.21577,1.25204 4.3607,1.66872 4.37842,2.10027 4.39529,2.6838 4.18131,3.25044 3.78293,3.67715 3.38455,4.10387 2.83392,4.35623 2.25061,4.37943 Z"
67
+ id="path11_fill"
68
+ inkscape:connector-curvature="0" />
69
+ </defs>
70
+ <sodipodi:namedview
71
+ id="base"
72
+ pagecolor="#ffffff"
73
+ bordercolor="#666666"
74
+ borderopacity="1.0"
75
+ inkscape:pageopacity="0.0"
76
+ inkscape:pageshadow="2"
77
+ inkscape:zoom="8"
78
+ inkscape:cx="58.67987"
79
+ inkscape:cy="22.888549"
80
+ inkscape:document-units="px"
81
+ inkscape:current-layer="layer4"
82
+ showgrid="false"
83
+ inkscape:window-width="3840"
84
+ inkscape:window-height="2032"
85
+ inkscape:window-x="0"
86
+ inkscape:window-y="54"
87
+ inkscape:window-maximized="1"
88
+ units="px"
89
+ fit-margin-top="2"
90
+ fit-margin-left="2"
91
+ fit-margin-right="2"
92
+ fit-margin-bottom="2"
93
+ showguides="true"
94
+ inkscape:guide-bbox="true">
95
+ <inkscape:grid
96
+ type="xygrid"
97
+ id="grid2278"
98
+ originx="-1.4085345"
99
+ originy="0.61043046" />
100
+ </sodipodi:namedview>
101
+ <metadata
102
+ id="metadata5">
103
+ <rdf:RDF>
104
+ <cc:Work
105
+ rdf:about="">
106
+ <dc:format>image/svg+xml</dc:format>
107
+ <dc:type
108
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
109
+ <dc:title></dc:title>
110
+ </cc:Work>
111
+ </rdf:RDF>
112
+ </metadata>
113
+ <g
114
+ inkscape:label="full text"
115
+ inkscape:groupmode="layer"
116
+ id="layer1"
117
+ transform="translate(-76.599629,-78.577013)"
118
+ style="display:inline">
119
+ <g
120
+ aria-label="{"
121
+ transform="rotate(90)"
122
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.28888893px;line-height:1.25;font-family:Vibur;-inkscape-font-specification:'Vibur, Normal';font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;opacity:1;vector-effect:none;fill:#f37726;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill"
123
+ id="text2386" />
124
+ </g>
125
+ <g
126
+ inkscape:groupmode="layer"
127
+ id="layer4"
128
+ inkscape:label="as paths"
129
+ transform="translate(-1.4085358,0.44790044)">
130
+ <g
131
+ id="g1762"
132
+ transform="translate(1.8684494)">
133
+ <circle
134
+ style="display:inline;opacity:1;vector-effect:none;fill:#f7dc1e;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill"
135
+ id="circle2280"
136
+ cx="83.727013"
137
+ cy="85.632706"
138
+ r="6.5982165"
139
+ transform="translate(-75.191093,-79.024914)" />
140
+ <rect
141
+ style="display:inline;opacity:1;vector-effect:none;fill:#9e9e9e;fill-opacity:1;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
142
+ id="rect2282"
143
+ width="5.6534319"
144
+ height="1.0099131"
145
+ x="80.831047"
146
+ y="92.343979"
147
+ ry="0.4125087"
148
+ rx="0.4125087"
149
+ transform="translate(-75.191093,-79.024914)" />
150
+ <rect
151
+ y="93.671165"
152
+ x="80.837059"
153
+ height="1.030736"
154
+ width="5.6413827"
155
+ id="rect2284"
156
+ style="display:inline;opacity:1;vector-effect:none;fill:#767677;fill-opacity:1;stroke:none;stroke-width:1.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
157
+ ry="0.42101401"
158
+ rx="0.42101401"
159
+ transform="translate(-75.191093,-79.024914)" />
160
+ <rect
161
+ style="display:inline;opacity:1;vector-effect:none;fill:#616262;fill-opacity:1;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
162
+ id="rect2286"
163
+ width="3.2399781"
164
+ height="1.0203246"
165
+ x="82.037766"
166
+ y="95.019188"
167
+ ry="0.41676137"
168
+ rx="0.41676137"
169
+ transform="translate(-75.191093,-79.024914)" />
170
+ <g
171
+ style="display:inline;fill:#1a1a1a"
172
+ id="g2302-0"
173
+ transform="translate(-76.408728,-79.472762)">
174
+ <g
175
+ id="text2294-2"
176
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666718px;line-height:1.25;font-family:Vibur;-inkscape-font-specification:'Vibur, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1a1a1a;stroke-width:0.26458335"
177
+ aria-label="l">
178
+ <path
179
+ inkscape:connector-curvature="0"
180
+ id="path3517"
181
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666718px;font-family:Vibur;-inkscape-font-specification:'Vibur, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#1a1a1a;stroke-width:0.26458335"
182
+ d="m 87.065449,90.288925 q -0.996322,-0.04134 -1.475879,-1.21543 -0.355534,-0.8847 -0.355534,-2.166276 0,-0.06615 0.0083,-0.169498 0.05788,-0.872299 0.322461,-1.599903 0.429948,-1.174089 1.21543,-1.174089 0.04134,0 0.08682,0.0041 0.715202,0.04547 0.715202,0.830957 0,0.855761 -0.735872,1.901692 -0.467155,0.665593 -0.979786,1.079004 0.14056,0.785482 0.310059,1.178223 0.314193,0.727604 0.93431,0.727604 0.04134,0 0.08682,-0.0083 0.136426,-0.02481 0.380339,-0.198437 0.235644,-0.161231 0.367936,-0.161231 0.05788,0 0.111621,0.03721 0.11989,0.08268 0.11989,0.223242 -0.0083,0.214974 -0.305925,0.442351 -0.37207,0.268717 -0.806152,0.268717 z m -0.28112,-5.700944 q -0.243913,0.0041 -0.429948,0.21084 -0.471289,0.5333 -0.516764,2.228288 0.248046,-0.252181 0.496093,-0.595313 0.686263,-0.938444 0.686263,-1.583366 0,-0.03307 -0.01654,-0.07855 -0.06615,-0.181901 -0.219108,-0.181901 z" />
183
+ </g>
184
+ <path
185
+ inkscape:connector-curvature="0"
186
+ id="circle2296-6"
187
+ d="m 84.998267,83.663261 a 0.69437253,0.69437253 0 0 1 -0.694373,0.694373 0.69437253,0.69437253 0 0 1 -0.694372,-0.694373 0.69437253,0.69437253 0 0 1 0.694372,-0.694372 0.69437253,0.69437253 0 0 1 0.694373,0.694372 z"
188
+ style="opacity:1;vector-effect:none;fill:#1a1a1a;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" />
189
+ <g
190
+ id="text2300-1"
191
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666718px;line-height:1.25;font-family:Vibur;-inkscape-font-specification:'Vibur, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1a1a1a;stroke-width:0.26458335"
192
+ aria-label="j">
193
+ <path
194
+ inkscape:connector-curvature="0"
195
+ id="path3521"
196
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666718px;font-family:Vibur;-inkscape-font-specification:'Vibur, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#1a1a1a;stroke-width:0.26458335"
197
+ d="m 84.15503,84.666527 q 0.268717,0.0041 0.276986,0.3514 l -0.458887,3.282487 q 1.033529,-0.789616 1.161686,-0.892969 0.152962,-0.132291 0.314193,-0.136426 0.05788,0 0.111621,0.03721 0.119889,0.08268 0.119889,0.21084 -0.0041,0.198438 -0.223242,0.384473 -0.607715,0.51263 -1.608171,1.260905 l -0.190169,1.368392 q -0.0124,0.09508 -0.03721,0.186035 -0.190169,0.727604 -0.95498,0.727604 -0.380339,0 -0.669727,-0.285254 -0.285254,-0.285253 -0.285254,-0.640787 0,-0.372071 0.177767,-0.611849 0.09922,-0.124024 0.388607,-0.338998 l 0.992187,-0.74414 q 0.525033,-3.468523 0.537435,-3.64629 0,-0.0248 0.0041,-0.04548 0.04548,-0.467155 0.343132,-0.467155 z m -1.087272,5.53558 q 0,0 0.07028,-0.504362 l -0.458887,0.3514 q -0.297656,0.223242 -0.30179,0.421679 0,0.07028 0.0248,0.132292 0.07028,0.181901 0.264584,0.181901 0.07855,0 0.140559,-0.02481 0.198438,-0.08682 0.26045,-0.558105 z m 0.897103,-6.325196 q 0,-0.07441 0.03721,-0.14056 0.08682,-0.16123 0.268717,-0.16123 0.07441,0 0.144694,0.03721 0.157096,0.08682 0.157096,0.264583 0,0.07441 -0.03721,0.144694 -0.08682,0.157097 -0.264583,0.157097 -0.07441,0 -0.144694,-0.03721 -0.16123,-0.08268 -0.16123,-0.264584 z" />
198
+ </g>
199
+ </g>
200
+ </g>
201
+ </g>
202
+ </svg>