datalab-platform 0.0.1.dev0__py3-none-any.whl → 1.0.1__py3-none-any.whl

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.
Files changed (496) hide show
  1. datalab/__init__.py +35 -2
  2. datalab/adapters_metadata/__init__.py +31 -0
  3. datalab/adapters_metadata/base_adapter.py +316 -0
  4. datalab/adapters_metadata/common.py +422 -0
  5. datalab/adapters_metadata/geometry_adapter.py +98 -0
  6. datalab/adapters_metadata/table_adapter.py +84 -0
  7. datalab/adapters_plotpy/__init__.py +54 -0
  8. datalab/adapters_plotpy/annotations.py +124 -0
  9. datalab/adapters_plotpy/base.py +110 -0
  10. datalab/adapters_plotpy/converters.py +86 -0
  11. datalab/adapters_plotpy/factories.py +80 -0
  12. datalab/adapters_plotpy/objects/__init__.py +0 -0
  13. datalab/adapters_plotpy/objects/base.py +197 -0
  14. datalab/adapters_plotpy/objects/image.py +157 -0
  15. datalab/adapters_plotpy/objects/scalar.py +565 -0
  16. datalab/adapters_plotpy/objects/signal.py +264 -0
  17. datalab/adapters_plotpy/roi/__init__.py +0 -0
  18. datalab/adapters_plotpy/roi/base.py +146 -0
  19. datalab/adapters_plotpy/roi/factory.py +93 -0
  20. datalab/adapters_plotpy/roi/image.py +207 -0
  21. datalab/adapters_plotpy/roi/signal.py +72 -0
  22. datalab/app.py +98 -0
  23. datalab/config.py +817 -0
  24. datalab/control/__init__.py +0 -0
  25. datalab/control/baseproxy.py +776 -0
  26. datalab/control/proxy.py +343 -0
  27. datalab/control/remote.py +1005 -0
  28. datalab/data/doc/DataLab_en.pdf +0 -0
  29. datalab/data/doc/DataLab_fr.pdf +0 -0
  30. datalab/data/icons/analysis/delete_results.svg +109 -0
  31. datalab/data/icons/analysis/fw1e2.svg +156 -0
  32. datalab/data/icons/analysis/fwhm.svg +156 -0
  33. datalab/data/icons/analysis/histogram.svg +49 -0
  34. datalab/data/icons/analysis/peak_detect.svg +160 -0
  35. datalab/data/icons/analysis/plot_results.svg +151 -0
  36. datalab/data/icons/analysis/show_results.svg +83 -0
  37. datalab/data/icons/analysis/stats.svg +49 -0
  38. datalab/data/icons/analysis.svg +120 -0
  39. datalab/data/icons/apply.svg +3 -0
  40. datalab/data/icons/check_all.svg +15 -0
  41. datalab/data/icons/collapse.svg +44 -0
  42. datalab/data/icons/collapse_selection.svg +63 -0
  43. datalab/data/icons/console.svg +101 -0
  44. datalab/data/icons/create/1d-normal.svg +8 -0
  45. datalab/data/icons/create/1d-poisson.svg +9 -0
  46. datalab/data/icons/create/1d-uniform.svg +8 -0
  47. datalab/data/icons/create/1d-zero.svg +57 -0
  48. datalab/data/icons/create/2d-gaussian.svg +56 -0
  49. datalab/data/icons/create/2d-normal.svg +38 -0
  50. datalab/data/icons/create/2d-poisson.svg +38 -0
  51. datalab/data/icons/create/2d-ramp.svg +90 -0
  52. datalab/data/icons/create/2d-sinc.svg +62 -0
  53. datalab/data/icons/create/2d-uniform.svg +38 -0
  54. datalab/data/icons/create/2d-zero.svg +13 -0
  55. datalab/data/icons/create/checkerboard.svg +39 -0
  56. datalab/data/icons/create/cosine.svg +12 -0
  57. datalab/data/icons/create/exponential.svg +55 -0
  58. datalab/data/icons/create/gaussian.svg +12 -0
  59. datalab/data/icons/create/grating.svg +29 -0
  60. datalab/data/icons/create/linear_chirp.svg +7 -0
  61. datalab/data/icons/create/logistic.svg +7 -0
  62. datalab/data/icons/create/lorentzian.svg +12 -0
  63. datalab/data/icons/create/planck.svg +12 -0
  64. datalab/data/icons/create/polynomial.svg +7 -0
  65. datalab/data/icons/create/pulse.svg +12 -0
  66. datalab/data/icons/create/ring.svg +18 -0
  67. datalab/data/icons/create/sawtooth.svg +7 -0
  68. datalab/data/icons/create/siemens.svg +35 -0
  69. datalab/data/icons/create/sinc.svg +12 -0
  70. datalab/data/icons/create/sine.svg +7 -0
  71. datalab/data/icons/create/square.svg +7 -0
  72. datalab/data/icons/create/square_pulse.svg +7 -0
  73. datalab/data/icons/create/step.svg +7 -0
  74. datalab/data/icons/create/step_pulse.svg +12 -0
  75. datalab/data/icons/create/triangle.svg +7 -0
  76. datalab/data/icons/create/voigt.svg +12 -0
  77. datalab/data/icons/edit/annotations.svg +72 -0
  78. datalab/data/icons/edit/annotations_copy.svg +114 -0
  79. datalab/data/icons/edit/annotations_delete.svg +83 -0
  80. datalab/data/icons/edit/annotations_edit.svg +98 -0
  81. datalab/data/icons/edit/annotations_export.svg +85 -0
  82. datalab/data/icons/edit/annotations_import.svg +85 -0
  83. datalab/data/icons/edit/annotations_paste.svg +100 -0
  84. datalab/data/icons/edit/copy_titles.svg +109 -0
  85. datalab/data/icons/edit/delete.svg +84 -0
  86. datalab/data/icons/edit/delete_all.svg +214 -0
  87. datalab/data/icons/edit/duplicate.svg +64 -0
  88. datalab/data/icons/edit/goto_source.svg +60 -0
  89. datalab/data/icons/edit/metadata.svg +60 -0
  90. datalab/data/icons/edit/metadata_add.svg +80 -0
  91. datalab/data/icons/edit/metadata_copy.svg +96 -0
  92. datalab/data/icons/edit/metadata_delete.svg +62 -0
  93. datalab/data/icons/edit/metadata_export.svg +68 -0
  94. datalab/data/icons/edit/metadata_import.svg +68 -0
  95. datalab/data/icons/edit/metadata_paste.svg +79 -0
  96. datalab/data/icons/edit/move_down.svg +55 -0
  97. datalab/data/icons/edit/move_up.svg +54 -0
  98. datalab/data/icons/edit/new_group.svg +76 -0
  99. datalab/data/icons/edit/recompute.svg +60 -0
  100. datalab/data/icons/edit/rename.svg +49 -0
  101. datalab/data/icons/edit.svg +16 -0
  102. datalab/data/icons/expand.svg +44 -0
  103. datalab/data/icons/expand_selection.svg +63 -0
  104. datalab/data/icons/fit/cdf_fit.svg +56 -0
  105. datalab/data/icons/fit/exponential_fit.svg +55 -0
  106. datalab/data/icons/fit/gaussian_fit.svg +62 -0
  107. datalab/data/icons/fit/interactive_fit.svg +101 -0
  108. datalab/data/icons/fit/linear_fit.svg +57 -0
  109. datalab/data/icons/fit/lorentzian_fit.svg +209 -0
  110. datalab/data/icons/fit/multigaussian_fit.svg +85 -0
  111. datalab/data/icons/fit/multilorentzian_fit.svg +85 -0
  112. datalab/data/icons/fit/piecewiseexponential_fit.svg +209 -0
  113. datalab/data/icons/fit/planckian_fit.svg +62 -0
  114. datalab/data/icons/fit/polynomial_fit.svg +59 -0
  115. datalab/data/icons/fit/sigmoid_fit.svg +56 -0
  116. datalab/data/icons/fit/sinusoidal_fit.svg +72 -0
  117. datalab/data/icons/fit/twohalfgaussian_fit.svg +63 -0
  118. datalab/data/icons/fit/voigt_fit.svg +57 -0
  119. datalab/data/icons/group.svg +56 -0
  120. datalab/data/icons/h5/h5array.svg +59 -0
  121. datalab/data/icons/h5/h5attrs.svg +75 -0
  122. datalab/data/icons/h5/h5browser.svg +133 -0
  123. datalab/data/icons/h5/h5file.svg +69 -0
  124. datalab/data/icons/h5/h5group.svg +49 -0
  125. datalab/data/icons/h5/h5scalar.svg +1 -0
  126. datalab/data/icons/help_pdf.svg +46 -0
  127. datalab/data/icons/history.svg +7 -0
  128. datalab/data/icons/image.svg +135 -0
  129. datalab/data/icons/io/fileopen_directory.svg +60 -0
  130. datalab/data/icons/io/fileopen_h5.svg +84 -0
  131. datalab/data/icons/io/fileopen_ima.svg +187 -0
  132. datalab/data/icons/io/fileopen_py.svg +123 -0
  133. datalab/data/icons/io/fileopen_sig.svg +138 -0
  134. datalab/data/icons/io/filesave_h5.svg +97 -0
  135. datalab/data/icons/io/filesave_ima.svg +200 -0
  136. datalab/data/icons/io/filesave_py.svg +136 -0
  137. datalab/data/icons/io/filesave_sig.svg +151 -0
  138. datalab/data/icons/io/import_text.svg +144 -0
  139. datalab/data/icons/io/save_to_directory.svg +134 -0
  140. datalab/data/icons/io.svg +84 -0
  141. datalab/data/icons/libre-camera-flash-off.svg +1 -0
  142. datalab/data/icons/libre-camera-flash-on.svg +1 -0
  143. datalab/data/icons/libre-gui-about.svg +1 -0
  144. datalab/data/icons/libre-gui-action-delete.svg +1 -0
  145. datalab/data/icons/libre-gui-add.svg +1 -0
  146. datalab/data/icons/libre-gui-arrow-down.svg +1 -0
  147. datalab/data/icons/libre-gui-arrow-left.svg +1 -0
  148. datalab/data/icons/libre-gui-arrow-right.svg +1 -0
  149. datalab/data/icons/libre-gui-arrow-up.svg +1 -0
  150. datalab/data/icons/libre-gui-close.svg +40 -0
  151. datalab/data/icons/libre-gui-cogs.svg +1 -0
  152. datalab/data/icons/libre-gui-globe.svg +1 -0
  153. datalab/data/icons/libre-gui-help.svg +1 -0
  154. datalab/data/icons/libre-gui-link.svg +1 -0
  155. datalab/data/icons/libre-gui-menu.svg +1 -0
  156. datalab/data/icons/libre-gui-pencil.svg +1 -0
  157. datalab/data/icons/libre-gui-plugin.svg +1 -0
  158. datalab/data/icons/libre-gui-questions.svg +1 -0
  159. datalab/data/icons/libre-gui-settings.svg +1 -0
  160. datalab/data/icons/libre-gui-unlink.svg +1 -0
  161. datalab/data/icons/libre-tech-ram.svg +1 -0
  162. datalab/data/icons/libre-toolbox.svg +1 -0
  163. datalab/data/icons/logs.svg +1 -0
  164. datalab/data/icons/markers.svg +74 -0
  165. datalab/data/icons/menu.svg +13 -0
  166. datalab/data/icons/new_ima.svg +148 -0
  167. datalab/data/icons/new_sig.svg +123 -0
  168. datalab/data/icons/operations/abs.svg +116 -0
  169. datalab/data/icons/operations/arithmetic.svg +123 -0
  170. datalab/data/icons/operations/average.svg +124 -0
  171. datalab/data/icons/operations/complex_from_magnitude_phase.svg +116 -0
  172. datalab/data/icons/operations/complex_from_real_imag.svg +124 -0
  173. datalab/data/icons/operations/constant.svg +116 -0
  174. datalab/data/icons/operations/constant_add.svg +109 -0
  175. datalab/data/icons/operations/constant_divide.svg +109 -0
  176. datalab/data/icons/operations/constant_multiply.svg +109 -0
  177. datalab/data/icons/operations/constant_subtract.svg +109 -0
  178. datalab/data/icons/operations/convert_dtype.svg +117 -0
  179. datalab/data/icons/operations/convolution.svg +46 -0
  180. datalab/data/icons/operations/deconvolution.svg +57 -0
  181. datalab/data/icons/operations/derivative.svg +127 -0
  182. datalab/data/icons/operations/difference.svg +52 -0
  183. datalab/data/icons/operations/division.svg +139 -0
  184. datalab/data/icons/operations/exp.svg +116 -0
  185. datalab/data/icons/operations/flip_horizontally.svg +69 -0
  186. datalab/data/icons/operations/flip_vertically.svg +74 -0
  187. datalab/data/icons/operations/im.svg +124 -0
  188. datalab/data/icons/operations/integral.svg +50 -0
  189. datalab/data/icons/operations/inverse.svg +143 -0
  190. datalab/data/icons/operations/log10.svg +109 -0
  191. datalab/data/icons/operations/phase.svg +116 -0
  192. datalab/data/icons/operations/power.svg +118 -0
  193. datalab/data/icons/operations/product.svg +124 -0
  194. datalab/data/icons/operations/profile.svg +379 -0
  195. datalab/data/icons/operations/profile_average.svg +399 -0
  196. datalab/data/icons/operations/profile_radial.svg +261 -0
  197. datalab/data/icons/operations/profile_segment.svg +262 -0
  198. datalab/data/icons/operations/quadratic_difference.svg +84 -0
  199. datalab/data/icons/operations/re.svg +124 -0
  200. datalab/data/icons/operations/rotate_left.svg +72 -0
  201. datalab/data/icons/operations/rotate_right.svg +72 -0
  202. datalab/data/icons/operations/signals_to_image.svg +314 -0
  203. datalab/data/icons/operations/sqrt.svg +110 -0
  204. datalab/data/icons/operations/std.svg +124 -0
  205. datalab/data/icons/operations/sum.svg +102 -0
  206. datalab/data/icons/play_demo.svg +9 -0
  207. datalab/data/icons/processing/axis_transform.svg +62 -0
  208. datalab/data/icons/processing/bandpass.svg +79 -0
  209. datalab/data/icons/processing/bandstop.svg +71 -0
  210. datalab/data/icons/processing/binning.svg +126 -0
  211. datalab/data/icons/processing/clip.svg +119 -0
  212. datalab/data/icons/processing/detrending.svg +173 -0
  213. datalab/data/icons/processing/distribute_on_grid.svg +769 -0
  214. datalab/data/icons/processing/edge_detection.svg +46 -0
  215. datalab/data/icons/processing/erase.svg +1 -0
  216. datalab/data/icons/processing/exposure.svg +143 -0
  217. datalab/data/icons/processing/fourier.svg +104 -0
  218. datalab/data/icons/processing/highpass.svg +59 -0
  219. datalab/data/icons/processing/interpolation.svg +71 -0
  220. datalab/data/icons/processing/level_adjustment.svg +70 -0
  221. datalab/data/icons/processing/lowpass.svg +60 -0
  222. datalab/data/icons/processing/morphology.svg +49 -0
  223. datalab/data/icons/processing/noise_addition.svg +114 -0
  224. datalab/data/icons/processing/noise_reduction.svg +38 -0
  225. datalab/data/icons/processing/normalize.svg +84 -0
  226. datalab/data/icons/processing/offset_correction.svg +131 -0
  227. datalab/data/icons/processing/resampling1d.svg +101 -0
  228. datalab/data/icons/processing/resampling2d.svg +240 -0
  229. datalab/data/icons/processing/reset_positions.svg +185 -0
  230. datalab/data/icons/processing/resize.svg +9 -0
  231. datalab/data/icons/processing/reverse_signal_x.svg +171 -0
  232. datalab/data/icons/processing/stability.svg +11 -0
  233. datalab/data/icons/processing/swap_x_y.svg +65 -0
  234. datalab/data/icons/processing/thresholding.svg +63 -0
  235. datalab/data/icons/processing/windowing.svg +45 -0
  236. datalab/data/icons/properties.svg +26 -0
  237. datalab/data/icons/reset.svg +9 -0
  238. datalab/data/icons/restore.svg +40 -0
  239. datalab/data/icons/roi/roi.svg +76 -0
  240. datalab/data/icons/roi/roi_coordinate.svg +78 -0
  241. datalab/data/icons/roi/roi_copy.svg +112 -0
  242. datalab/data/icons/roi/roi_delete.svg +81 -0
  243. datalab/data/icons/roi/roi_export.svg +87 -0
  244. datalab/data/icons/roi/roi_graphical.svg +78 -0
  245. datalab/data/icons/roi/roi_grid.svg +67 -0
  246. datalab/data/icons/roi/roi_ima.svg +188 -0
  247. datalab/data/icons/roi/roi_import.svg +87 -0
  248. datalab/data/icons/roi/roi_new.svg +81 -0
  249. datalab/data/icons/roi/roi_new_circle.svg +95 -0
  250. datalab/data/icons/roi/roi_new_polygon.svg +110 -0
  251. datalab/data/icons/roi/roi_new_rectangle.svg +70 -0
  252. datalab/data/icons/roi/roi_paste.svg +98 -0
  253. datalab/data/icons/roi/roi_sig.svg +124 -0
  254. datalab/data/icons/shapes.svg +134 -0
  255. datalab/data/icons/signal.svg +103 -0
  256. datalab/data/icons/table.svg +85 -0
  257. datalab/data/icons/table_unavailable.svg +102 -0
  258. datalab/data/icons/to_signal.svg +124 -0
  259. datalab/data/icons/tour/next.svg +44 -0
  260. datalab/data/icons/tour/previous.svg +44 -0
  261. datalab/data/icons/tour/rewind.svg +51 -0
  262. datalab/data/icons/tour/stop.svg +47 -0
  263. datalab/data/icons/tour/tour.svg +16 -0
  264. datalab/data/icons/uncheck_all.svg +78 -0
  265. datalab/data/icons/view/curve_antialiasing.svg +50 -0
  266. datalab/data/icons/view/new_window.svg +98 -0
  267. datalab/data/icons/view/refresh-auto.svg +57 -0
  268. datalab/data/icons/view/refresh-manual.svg +51 -0
  269. datalab/data/icons/view/reset_curve_styles.svg +96 -0
  270. datalab/data/icons/view/show_first.svg +55 -0
  271. datalab/data/icons/view/show_titles.svg +46 -0
  272. datalab/data/icons/visualization.svg +51 -0
  273. datalab/data/logo/DataLab-Banner-150.png +0 -0
  274. datalab/data/logo/DataLab-Banner-200.png +0 -0
  275. datalab/data/logo/DataLab-Banner2-100.png +0 -0
  276. datalab/data/logo/DataLab-Splash.png +0 -0
  277. datalab/data/logo/DataLab-watermark.png +0 -0
  278. datalab/data/logo/DataLab.svg +83 -0
  279. datalab/data/tests/reordering_test.h5 +0 -0
  280. datalab/data/tutorials/fabry_perot/fabry-perot1.jpg +0 -0
  281. datalab/data/tutorials/fabry_perot/fabry-perot2.jpg +0 -0
  282. datalab/data/tutorials/laser_beam/TEM00_z_13.jpg +0 -0
  283. datalab/data/tutorials/laser_beam/TEM00_z_18.jpg +0 -0
  284. datalab/data/tutorials/laser_beam/TEM00_z_23.jpg +0 -0
  285. datalab/data/tutorials/laser_beam/TEM00_z_30.jpg +0 -0
  286. datalab/data/tutorials/laser_beam/TEM00_z_35.jpg +0 -0
  287. datalab/data/tutorials/laser_beam/TEM00_z_40.jpg +0 -0
  288. datalab/data/tutorials/laser_beam/TEM00_z_45.jpg +0 -0
  289. datalab/data/tutorials/laser_beam/TEM00_z_50.jpg +0 -0
  290. datalab/data/tutorials/laser_beam/TEM00_z_55.jpg +0 -0
  291. datalab/data/tutorials/laser_beam/TEM00_z_60.jpg +0 -0
  292. datalab/data/tutorials/laser_beam/TEM00_z_65.jpg +0 -0
  293. datalab/data/tutorials/laser_beam/TEM00_z_70.jpg +0 -0
  294. datalab/data/tutorials/laser_beam/TEM00_z_75.jpg +0 -0
  295. datalab/data/tutorials/laser_beam/TEM00_z_80.jpg +0 -0
  296. datalab/env.py +542 -0
  297. datalab/gui/__init__.py +89 -0
  298. datalab/gui/actionhandler.py +1701 -0
  299. datalab/gui/docks.py +473 -0
  300. datalab/gui/h5io.py +150 -0
  301. datalab/gui/macroeditor.py +310 -0
  302. datalab/gui/main.py +2081 -0
  303. datalab/gui/newobject.py +217 -0
  304. datalab/gui/objectview.py +766 -0
  305. datalab/gui/panel/__init__.py +48 -0
  306. datalab/gui/panel/base.py +3254 -0
  307. datalab/gui/panel/image.py +157 -0
  308. datalab/gui/panel/macro.py +607 -0
  309. datalab/gui/panel/signal.py +164 -0
  310. datalab/gui/plothandler.py +800 -0
  311. datalab/gui/processor/__init__.py +84 -0
  312. datalab/gui/processor/base.py +2456 -0
  313. datalab/gui/processor/catcher.py +75 -0
  314. datalab/gui/processor/image.py +1214 -0
  315. datalab/gui/processor/signal.py +755 -0
  316. datalab/gui/profiledialog.py +333 -0
  317. datalab/gui/roieditor.py +633 -0
  318. datalab/gui/roigrideditor.py +208 -0
  319. datalab/gui/settings.py +612 -0
  320. datalab/gui/tour.py +908 -0
  321. datalab/h5/__init__.py +12 -0
  322. datalab/h5/common.py +314 -0
  323. datalab/h5/generic.py +580 -0
  324. datalab/h5/native.py +39 -0
  325. datalab/h5/utils.py +95 -0
  326. datalab/objectmodel.py +640 -0
  327. datalab/plugins/_readme_.txt +9 -0
  328. datalab/plugins/datalab_imageformats.py +175 -0
  329. datalab/plugins/datalab_testdata.py +190 -0
  330. datalab/plugins.py +355 -0
  331. datalab/tests/__init__.py +199 -0
  332. datalab/tests/backbone/__init__.py +1 -0
  333. datalab/tests/backbone/config_unit_test.py +170 -0
  334. datalab/tests/backbone/config_versioning_unit_test.py +34 -0
  335. datalab/tests/backbone/dictlistserial_app_test.py +38 -0
  336. datalab/tests/backbone/errorcatcher_unit_test.py +69 -0
  337. datalab/tests/backbone/errormsgbox_unit_test.py +50 -0
  338. datalab/tests/backbone/execenv_unit.py +262 -0
  339. datalab/tests/backbone/loadtest_gdi.py +147 -0
  340. datalab/tests/backbone/long_callback.py +96 -0
  341. datalab/tests/backbone/main_app_test.py +137 -0
  342. datalab/tests/backbone/memory_leak.py +43 -0
  343. datalab/tests/backbone/procisolation1_unit.py +128 -0
  344. datalab/tests/backbone/procisolation2_unit.py +171 -0
  345. datalab/tests/backbone/procisolation_unit_test.py +22 -0
  346. datalab/tests/backbone/profiling_app.py +27 -0
  347. datalab/tests/backbone/strings_unit_test.py +65 -0
  348. datalab/tests/backbone/title_formatting_unit_test.py +82 -0
  349. datalab/tests/conftest.py +131 -0
  350. datalab/tests/features/__init__.py +1 -0
  351. datalab/tests/features/applauncher/__init__.py +1 -0
  352. datalab/tests/features/applauncher/launcher1_app_test.py +28 -0
  353. datalab/tests/features/applauncher/launcher2_app_test.py +30 -0
  354. datalab/tests/features/common/__init__.py +1 -0
  355. datalab/tests/features/common/add_metadata_app_test.py +134 -0
  356. datalab/tests/features/common/add_metadata_unit_test.py +267 -0
  357. datalab/tests/features/common/annotations_management_unit_test.py +152 -0
  358. datalab/tests/features/common/auto_analysis_recompute_unit_test.py +240 -0
  359. datalab/tests/features/common/createobject_unit_test.py +50 -0
  360. datalab/tests/features/common/geometry_results_app_test.py +135 -0
  361. datalab/tests/features/common/interactive_processing_test.py +1109 -0
  362. datalab/tests/features/common/io_app_test.py +75 -0
  363. datalab/tests/features/common/large_results_app_test.py +187 -0
  364. datalab/tests/features/common/metadata_all_patterns_test.py +103 -0
  365. datalab/tests/features/common/metadata_app_test.py +139 -0
  366. datalab/tests/features/common/metadata_io_unit_test.py +60 -0
  367. datalab/tests/features/common/misc_app_test.py +236 -0
  368. datalab/tests/features/common/multiple_geometry_results_unit_test.py +122 -0
  369. datalab/tests/features/common/multiple_table_results_unit_test.py +64 -0
  370. datalab/tests/features/common/operation_modes_app_test.py +392 -0
  371. datalab/tests/features/common/plot_results_app_test.py +278 -0
  372. datalab/tests/features/common/reorder_app_test.py +75 -0
  373. datalab/tests/features/common/result_deletion_unit_test.py +96 -0
  374. datalab/tests/features/common/result_merged_label_unit_test.py +154 -0
  375. datalab/tests/features/common/result_shape_settings_unit_test.py +223 -0
  376. datalab/tests/features/common/roi_plotitem_unit_test.py +64 -0
  377. datalab/tests/features/common/roieditor_unit_test.py +102 -0
  378. datalab/tests/features/common/save_to_dir_app_test.py +163 -0
  379. datalab/tests/features/common/save_to_dir_unit_test.py +474 -0
  380. datalab/tests/features/common/stat_app_test.py +40 -0
  381. datalab/tests/features/common/stats_tools_unit_test.py +77 -0
  382. datalab/tests/features/common/table_results_app_test.py +52 -0
  383. datalab/tests/features/common/textimport_unit_test.py +131 -0
  384. datalab/tests/features/common/uuid_preservation_test.py +281 -0
  385. datalab/tests/features/common/worker_unit_test.py +402 -0
  386. datalab/tests/features/control/__init__.py +1 -0
  387. datalab/tests/features/control/connect_dialog.py +28 -0
  388. datalab/tests/features/control/embedded1_unit_test.py +304 -0
  389. datalab/tests/features/control/embedded2_unit_test.py +52 -0
  390. datalab/tests/features/control/remoteclient_app_test.py +219 -0
  391. datalab/tests/features/control/remoteclient_unit.py +75 -0
  392. datalab/tests/features/control/simpleclient_unit_test.py +321 -0
  393. datalab/tests/features/hdf5/__init__.py +1 -0
  394. datalab/tests/features/hdf5/h5browser1_unit_test.py +31 -0
  395. datalab/tests/features/hdf5/h5browser2_unit.py +55 -0
  396. datalab/tests/features/hdf5/h5browser_app_test.py +77 -0
  397. datalab/tests/features/hdf5/h5import_app_test.py +25 -0
  398. datalab/tests/features/hdf5/h5importer_app_test.py +34 -0
  399. datalab/tests/features/image/__init__.py +1 -0
  400. datalab/tests/features/image/annotations_app_test.py +28 -0
  401. datalab/tests/features/image/annotations_unit_test.py +80 -0
  402. datalab/tests/features/image/average_app_test.py +46 -0
  403. datalab/tests/features/image/background_dialog_test.py +70 -0
  404. datalab/tests/features/image/blobs_app_test.py +50 -0
  405. datalab/tests/features/image/contour_app_test.py +42 -0
  406. datalab/tests/features/image/contour_fabryperot_app_test.py +51 -0
  407. datalab/tests/features/image/denoise_app_test.py +31 -0
  408. datalab/tests/features/image/distribute_on_grid_app_test.py +95 -0
  409. datalab/tests/features/image/edges_app_test.py +31 -0
  410. datalab/tests/features/image/erase_app_test.py +21 -0
  411. datalab/tests/features/image/fft2d_app_test.py +27 -0
  412. datalab/tests/features/image/flatfield_app_test.py +40 -0
  413. datalab/tests/features/image/geometry_transform_unit_test.py +396 -0
  414. datalab/tests/features/image/imagetools_app_test.py +51 -0
  415. datalab/tests/features/image/imagetools_unit_test.py +27 -0
  416. datalab/tests/features/image/load_app_test.py +73 -0
  417. datalab/tests/features/image/morph_app_test.py +32 -0
  418. datalab/tests/features/image/offsetcorrection_app_test.py +30 -0
  419. datalab/tests/features/image/peak2d_app_test.py +53 -0
  420. datalab/tests/features/image/profile_app_test.py +73 -0
  421. datalab/tests/features/image/profile_dialog_test.py +56 -0
  422. datalab/tests/features/image/roi_app_test.py +98 -0
  423. datalab/tests/features/image/roi_circ_app_test.py +62 -0
  424. datalab/tests/features/image/roi_manipulation_app_test.py +268 -0
  425. datalab/tests/features/image/roigrid_unit_test.py +60 -0
  426. datalab/tests/features/image/side_by_side_app_test.py +52 -0
  427. datalab/tests/features/macro/__init__.py +1 -0
  428. datalab/tests/features/macro/macro_app_test.py +28 -0
  429. datalab/tests/features/macro/macroeditor_unit_test.py +102 -0
  430. datalab/tests/features/signal/__init__.py +1 -0
  431. datalab/tests/features/signal/baseline_dialog_test.py +53 -0
  432. datalab/tests/features/signal/deltax_dialog_unit_test.py +34 -0
  433. datalab/tests/features/signal/fft1d_app_test.py +26 -0
  434. datalab/tests/features/signal/filter_app_test.py +44 -0
  435. datalab/tests/features/signal/fitdialog_unit_test.py +50 -0
  436. datalab/tests/features/signal/interpolation_app_test.py +110 -0
  437. datalab/tests/features/signal/loadbigsignal_app_test.py +80 -0
  438. datalab/tests/features/signal/multiple_rois_unit_test.py +132 -0
  439. datalab/tests/features/signal/pulse_features_app_test.py +118 -0
  440. datalab/tests/features/signal/pulse_features_roi_app_test.py +55 -0
  441. datalab/tests/features/signal/roi_app_test.py +78 -0
  442. datalab/tests/features/signal/roi_manipulation_app_test.py +261 -0
  443. datalab/tests/features/signal/select_xy_cursor_unit_test.py +46 -0
  444. datalab/tests/features/signal/signalpeakdetection_dialog_test.py +33 -0
  445. datalab/tests/features/signal/signals_to_image_app_test.py +98 -0
  446. datalab/tests/features/signal/xarray_compat_app_test.py +128 -0
  447. datalab/tests/features/tour_unit_test.py +22 -0
  448. datalab/tests/features/utilities/__init__.py +1 -0
  449. datalab/tests/features/utilities/installconf_unit_test.py +21 -0
  450. datalab/tests/features/utilities/logview_app_test.py +21 -0
  451. datalab/tests/features/utilities/logview_error.py +24 -0
  452. datalab/tests/features/utilities/logview_unit_test.py +21 -0
  453. datalab/tests/features/utilities/memstatus_app_test.py +42 -0
  454. datalab/tests/features/utilities/settings_unit_test.py +88 -0
  455. datalab/tests/scenarios/__init__.py +1 -0
  456. datalab/tests/scenarios/beautiful_app.py +121 -0
  457. datalab/tests/scenarios/common.py +463 -0
  458. datalab/tests/scenarios/demo.py +212 -0
  459. datalab/tests/scenarios/example_app_test.py +47 -0
  460. datalab/tests/scenarios/scenario_h5_app_test.py +75 -0
  461. datalab/tests/scenarios/scenario_ima1_app_test.py +34 -0
  462. datalab/tests/scenarios/scenario_ima2_app_test.py +34 -0
  463. datalab/tests/scenarios/scenario_mac_app_test.py +58 -0
  464. datalab/tests/scenarios/scenario_sig1_app_test.py +36 -0
  465. datalab/tests/scenarios/scenario_sig2_app_test.py +35 -0
  466. datalab/utils/__init__.py +1 -0
  467. datalab/utils/conf.py +304 -0
  468. datalab/utils/dephash.py +105 -0
  469. datalab/utils/qthelpers.py +633 -0
  470. datalab/utils/strings.py +34 -0
  471. datalab/utils/tests.py +0 -0
  472. datalab/widgets/__init__.py +1 -0
  473. datalab/widgets/connection.py +138 -0
  474. datalab/widgets/filedialog.py +91 -0
  475. datalab/widgets/fileviewer.py +84 -0
  476. datalab/widgets/fitdialog.py +788 -0
  477. datalab/widgets/h5browser.py +1048 -0
  478. datalab/widgets/imagebackground.py +111 -0
  479. datalab/widgets/instconfviewer.py +175 -0
  480. datalab/widgets/logviewer.py +80 -0
  481. datalab/widgets/signalbaseline.py +90 -0
  482. datalab/widgets/signalcursor.py +208 -0
  483. datalab/widgets/signaldeltax.py +151 -0
  484. datalab/widgets/signalpeak.py +199 -0
  485. datalab/widgets/status.py +249 -0
  486. datalab/widgets/textimport.py +786 -0
  487. datalab/widgets/warningerror.py +223 -0
  488. datalab/widgets/wizard.py +286 -0
  489. datalab_platform-1.0.1.dist-info/METADATA +121 -0
  490. datalab_platform-1.0.1.dist-info/RECORD +494 -0
  491. datalab_platform-0.0.1.dev0.dist-info/METADATA +0 -67
  492. datalab_platform-0.0.1.dev0.dist-info/RECORD +0 -7
  493. {datalab_platform-0.0.1.dev0.dist-info → datalab_platform-1.0.1.dist-info}/WHEEL +0 -0
  494. {datalab_platform-0.0.1.dev0.dist-info → datalab_platform-1.0.1.dist-info}/entry_points.txt +0 -0
  495. {datalab_platform-0.0.1.dev0.dist-info → datalab_platform-1.0.1.dist-info}/licenses/LICENSE +0 -0
  496. {datalab_platform-0.0.1.dev0.dist-info → datalab_platform-1.0.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,214 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
+
4
+ <svg
5
+ height="800px"
6
+ width="800px"
7
+ version="1.1"
8
+ id="Layer_1"
9
+ viewBox="0 0 511.88 511.88"
10
+ xml:space="preserve"
11
+ sodipodi:docname="delete_all.svg"
12
+ inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
13
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
15
+ xmlns="http://www.w3.org/2000/svg"
16
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
17
+ id="defs579" /><sodipodi:namedview
18
+ id="namedview577"
19
+ pagecolor="#ffffff"
20
+ bordercolor="#000000"
21
+ borderopacity="0.25"
22
+ inkscape:showpageshadow="2"
23
+ inkscape:pageopacity="0.0"
24
+ inkscape:pagecheckerboard="0"
25
+ inkscape:deskcolor="#d1d1d1"
26
+ showgrid="false"
27
+ inkscape:zoom="1.07875"
28
+ inkscape:cx="280.41715"
29
+ inkscape:cy="401.3905"
30
+ inkscape:window-width="1920"
31
+ inkscape:window-height="1017"
32
+ inkscape:window-x="-8"
33
+ inkscape:window-y="-8"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="Layer_1" />
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+ <g
66
+ id="g308"
67
+ transform="matrix(1.1260756,0,0,1.1260756,-7.4519114,-64.204836)"><g
68
+ id="g504">
69
+ <polygon
70
+ style="fill:#596366"
71
+ points="82.365,334.599 427.364,334.599 427.364,346.075 82.365,346.075 "
72
+ id="polygon500" />
73
+ <path
74
+ style="fill:#596366"
75
+ d="m 365.68,307.583 c 25.343,0 46.861,16.019 54.99,38.493 H 310.571 c 8.248,-22.474 29.766,-38.493 54.989,-38.493 z"
76
+ id="path502" />
77
+ </g><path
78
+ style="fill:#e6e6e6"
79
+ d="m 325.275,166.762 h 65.151 c 9.563,0 13.389,8.846 17.334,17.573 l 29.647,65.868 c 1.554,3.467 2.271,6.814 2.152,10.639 l -2.032,73.758 h -24.148 c -10.639,-15.182 -28.092,-25.104 -47.817,-25.104 -19.725,0 -37.178,9.922 -47.817,25.104 h -9.922 V 184.334 c 0,-9.683 7.77,-17.573 17.334,-17.573 h 0.118 z"
80
+ id="path506" /><circle
81
+ style="fill:#6b7f9e"
82
+ cx="365.67999"
83
+ cy="366.15799"
84
+ r="47.817001"
85
+ id="circle508" /><circle
86
+ style="fill:#ecf0f1"
87
+ cx="365.67999"
88
+ cy="366.15799"
89
+ r="28.451"
90
+ id="circle510" /><circle
91
+ style="fill:#ffffff"
92
+ cx="365.67999"
93
+ cy="366.15799"
94
+ r="13.747"
95
+ id="circle512" /><path
96
+ style="fill:#5fdc68"
97
+ d="M 296.106,157.079 H 80.213 c -6.455,0 -8.607,6.097 -11.835,11.835 l -48.654,86.668 c -4.304,7.77 -1.913,16.616 3.108,23.908 l 30.722,43.992 c 3.706,5.26 8.248,10.998 14.704,10.998 h 227.848 c 6.455,0 11.835,-5.26 11.835,-11.835 V 168.794 c 0,-6.455 -5.26,-11.835 -11.835,-11.835 z"
98
+ id="path514" /><path
99
+ style="fill:#7beb82"
100
+ d="m 152.895,158.752 v 173.934 c 0,5.499 -8.488,5.499 -8.488,0 V 158.752 c 0,-5.499 8.488,-5.499 8.488,0 z m 134.365,0 v 173.934 c 0,5.499 -8.487,5.499 -8.487,0 V 158.752 c 0,-5.499 8.487,-5.499 8.487,0 z m -33.591,0 v 173.934 c 0,5.499 -8.488,5.499 -8.488,0 V 158.752 c 0,-5.499 8.488,-5.499 8.488,0 z m -33.591,0 v 173.934 c 0,5.499 -8.488,5.499 -8.488,0 V 158.752 c 0,-5.499 8.488,-5.499 8.488,0 z m -33.592,0 v 173.934 c 0,5.499 -8.488,5.499 -8.488,0 V 158.752 c 0.001,-5.499 8.488,-5.499 8.488,0 z"
101
+ id="path516" /><g
102
+ id="g522">
103
+ <path
104
+ style="fill:#56bf5d"
105
+ d="m 132.692,157.079 h -3.108 l -40.525,85.353 c -1.076,2.391 -1.793,4.543 -2.152,7.173 l -4.304,33.233 c -0.12,1.076 -0.239,2.032 -0.239,3.108 v 48.773 h 3.108 v -48.773 c 0,-1.076 0.12,-2.032 0.239,-3.108 l 4.304,-33.233 c 0.359,-2.63 0.956,-4.782 2.152,-7.173 z"
106
+ id="path518" />
107
+ <polygon
108
+ style="fill:#56bf5d"
109
+ points="111.174,242.671 139.984,282.479 129.106,290.368 100.296,250.561 "
110
+ id="polygon520" />
111
+ </g><polygon
112
+ style="fill:#ecf0f1"
113
+ points="80.332,206.808 108.425,244.823 102.209,249.246 74.236,211.231 "
114
+ id="polygon524" /><circle
115
+ style="fill:#ffe356"
116
+ cx="78.419998"
117
+ cy="211.231"
118
+ r="10.281"
119
+ id="circle526" /><circle
120
+ style="fill:#fefefe"
121
+ cx="78.419998"
122
+ cy="211.231"
123
+ r="4.184"
124
+ id="circle528" /><path
125
+ style="fill:#6b7f9e"
126
+ d="m 219.599,342.728 h 57.141 c 5.499,0 9.922,4.543 9.922,9.922 v 14.823 c 0,5.499 -4.543,9.922 -9.922,9.922 h -57.141 c -5.499,0 -9.922,-4.543 -9.922,-9.922 V 352.65 c 0,-5.499 4.543,-9.922 9.922,-9.922 z"
127
+ id="path530" /><circle
128
+ style="fill:#ffe356"
129
+ cx="134.246"
130
+ cy="286.065"
131
+ r="10.281"
132
+ id="circle532" /><circle
133
+ style="fill:#fefefe"
134
+ cx="134.246"
135
+ cy="286.065"
136
+ r="4.184"
137
+ id="circle534" /><path
138
+ style="fill:#8597b1"
139
+ d="m 348.346,186.247 h 40.405 c 6.097,0 10.042,4.901 12.193,9.922 l 21.996,51.164 c 2.152,5.021 -1.195,11.476 -7.292,11.476 h -67.302 c -6.097,0 -10.998,-4.423 -10.998,-9.922 v -52.718 c 10e-4,-5.499 5.021,-9.922 10.998,-9.922 z"
140
+ id="path536" /><path
141
+ style="fill:#6c7678"
142
+ d="m 427.364,315.114 h 13.986 c 4.901,0 8.966,4.064 8.966,8.966 v 21.757 c 0,4.901 -4.064,8.966 -8.966,8.966 h -13.986 z"
143
+ id="path538" /><path
144
+ style="fill:#596366"
145
+ d="m 153.492,307.583 c 25.343,0 46.861,16.019 54.989,38.493 H 98.383 c 8.248,-22.474 29.766,-38.493 54.989,-38.493 z"
146
+ id="path540" /><circle
147
+ style="fill:#6b7f9e"
148
+ cx="153.492"
149
+ cy="366.15799"
150
+ r="47.817001"
151
+ id="circle542" /><circle
152
+ style="fill:#ecf0f1"
153
+ cx="153.492"
154
+ cy="366.15799"
155
+ r="28.451"
156
+ id="circle544" /><circle
157
+ style="fill:#ffffff"
158
+ cx="153.492"
159
+ cy="366.15799"
160
+ r="13.747"
161
+ id="circle546" /><circle
162
+ style="fill:#5da668"
163
+ cx="215.29601"
164
+ cy="237.64999"
165
+ r="52.119999"
166
+ id="circle548" /><circle
167
+ style="fill:#ffe356"
168
+ cx="215.29601"
169
+ cy="237.64999"
170
+ r="47.099998"
171
+ id="circle550" /><g
172
+ id="g558">
173
+ <path
174
+ style="fill:#56bf5d"
175
+ d="m 189.116,225.218 16.138,-4.423 4.423,16.138 -3.706,-2.152 -7.173,12.432 h 11.117 -11.117 c -5.499,9.563 1.435,15.899 12.313,15.899 h -14.465 c -5.14,0 -9.563,-2.51 -12.193,-7.053 -2.63,-4.423 -2.63,-9.563 0,-13.986 l 8.488,-14.704 z"
176
+ id="path552" />
177
+ <path
178
+ style="fill:#56bf5d"
179
+ d="m 218.763,266.34 -11.835,-11.835 11.835,-11.835 v 4.543 h 13.15 v 0 c 10.998,0.837 12.432,-8.368 7.651,-16.616 l 6.575,11.476 c 2.63,4.423 2.63,9.563 0,13.986 -2.63,4.423 -7.053,7.053 -12.193,7.053 h -15.182 v 3.228 z"
180
+ id="path554" />
181
+ <path
182
+ style="fill:#56bf5d"
183
+ d="m 227.489,209.797 7.173,12.552 3.945,-2.271 -4.304,16.138 -16.138,-4.304 3.586,-2.032 -6.455,-11.237 c -7.77,-14.226 -17.334,0.12 -17.692,0.717 l 5.499,-9.563 c 2.63,-4.423 7.053,-7.053 12.193,-7.053 5.14,0 9.563,2.51 12.193,7.053 z"
184
+ id="path556" />
185
+ </g><ellipse
186
+ style="fill:#c6cbd6"
187
+ cx="347.39001"
188
+ cy="270.763"
189
+ rx="13.986"
190
+ ry="3.9449999"
191
+ id="ellipse560" /><path
192
+ style="fill:#e4e7ed"
193
+ d="m 347.39,267.297 c 5.26,0 9.802,0.837 12.193,2.032 0.359,0.12 0.598,0.478 0.598,0.837 0,0.359 -0.239,0.717 -0.598,0.837 -2.391,1.195 -6.933,2.032 -12.193,2.032 -5.26,0 -9.802,-0.837 -12.193,-2.032 -0.359,-0.12 -0.598,-0.478 -0.598,-0.837 0,-0.359 0.239,-0.717 0.598,-0.837 2.391,-1.195 6.933,-2.032 12.193,-2.032 z"
194
+ id="path562" /><g
195
+ id="g568">
196
+ <path
197
+ style="fill:#ff7069"
198
+ d="m 377.993,157.437 h 5.14 c 1.435,0 2.63,1.195 2.63,2.63 v 6.694 h -10.281 v -6.694 c 0,-1.435 1.195,-2.63 2.63,-2.63 z"
199
+ id="path564" />
200
+ <path
201
+ style="fill:#ff7069"
202
+ d="m 433.7,282.598 h 4.543 c 1.674,0 2.989,1.315 2.989,2.989 v 12.432 c 0,1.674 -1.315,2.989 -2.989,2.989 H 433.7 c -1.674,0 -2.989,-1.315 -2.989,-2.989 v -12.432 c 0,-1.674 1.315,-2.989 2.989,-2.989 z"
203
+ id="path566" />
204
+ </g><path
205
+ style="fill:#c6cbd6"
206
+ d="m 326.47,185.171 h 1.674 v 137.952 c -0.598,0.478 -1.076,0.956 -1.674,1.435 V 185.052 Z"
207
+ id="path570" /><path
208
+ style="fill:#8597b1"
209
+ d="m 216.252,347.51 h 63.836 c 0.956,0 1.674,0.717 1.674,1.674 v 0 c 0,0.956 -0.717,1.674 -1.674,1.674 h -63.836 c -0.956,0 -1.674,-0.717 -1.674,-1.674 v 0 c 0.001,-0.957 0.718,-1.674 1.674,-1.674 z"
210
+ id="path572" /><path
211
+ style="fill:#5d718f"
212
+ d="m 346.075,191.985 h 40.405 c 6.097,0 10.042,4.901 12.193,9.922 l 21.996,51.164 c 0.478,1.076 0.717,2.271 0.717,3.467 2.271,-2.391 2.989,-5.977 1.674,-9.205 l -21.996,-51.164 c -2.152,-5.021 -6.097,-9.922 -12.193,-9.922 h -40.405 c -5.977,0 -10.759,4.304 -10.998,9.563 2.032,-2.271 5.14,-3.825 8.727,-3.825 z"
213
+ id="path574" /></g>
214
+ </svg>
@@ -0,0 +1,64 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ role="img"
4
+ focusable="false"
5
+ aria-hidden="true"
6
+ viewBox="0 0 14 14"
7
+ version="1.1"
8
+ id="svg12"
9
+ sodipodi:docname="duplicate.svg"
10
+ inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ xmlns:svg="http://www.w3.org/2000/svg">
15
+ <defs
16
+ id="defs16" />
17
+ <sodipodi:namedview
18
+ id="namedview14"
19
+ pagecolor="#ffffff"
20
+ bordercolor="#000000"
21
+ borderopacity="0.25"
22
+ inkscape:showpageshadow="2"
23
+ inkscape:pageopacity="0.0"
24
+ inkscape:pagecheckerboard="0"
25
+ inkscape:deskcolor="#d1d1d1"
26
+ showgrid="false"
27
+ inkscape:zoom="42.274884"
28
+ inkscape:cx="3.2052128"
29
+ inkscape:cy="7.3093045"
30
+ inkscape:window-width="1920"
31
+ inkscape:window-height="1017"
32
+ inkscape:window-x="-8"
33
+ inkscape:window-y="-8"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="svg12" />
36
+ <path
37
+ style="fill:#999999;fill-opacity:1;stroke-width:0.0376041"
38
+ d="M 12.102684,12.42672 C 10.107194,12.45651 6.0691315,12.44107 5.946992,12.40319 5.4707326,12.255456 4.9114884,11.69671 4.7179137,11.175204 4.63169,10.942912 4.6358903,10.738885 4.7851524,7.9080954 4.9283873,5.191606 4.9542641,4.8791819 5.0431265,4.7933456 5.1327745,4.7070067 5.424965,4.6969391 8.165073,4.6872151 c 2.846759,-0.010102 3.037409,-0.0046 3.267146,0.094412 0.513356,0.2212339 1.041393,0.8045066 1.167841,1.2899824 0.02539,0.097481 -0.02323,1.4539184 -0.113124,3.1557294 -0.131987,2.4989391 -0.171942,3.0021741 -0.245455,3.0916901 -0.04829,0.05881 -0.110669,0.107349 -0.138762,0.107711 z"
39
+ id="path468-6" />
40
+ <rect
41
+ style="fill:#b3b3b3;fill-opacity:1;stroke:none;stroke-width:1.18325;stroke-opacity:1"
42
+ id="rect10749-5-3"
43
+ width="5.8837004"
44
+ height="5.8899121"
45
+ x="6.0069146"
46
+ y="5.646647"
47
+ transform="matrix(1,0,-0.04725952,0.99888264,0,0)" />
48
+ <g
49
+ id="g304"
50
+ transform="matrix(0.75330747,0,0,0.75330747,0.20683574,0.58442517)">
51
+ <path
52
+ style="fill:#37474f;fill-opacity:1;stroke-width:0.0499186"
53
+ d="M 11.675765,12.128782 C 9.0267931,12.168326 3.6663496,12.147831 3.5042119,12.09754 2.8719874,11.901432 2.1296024,11.159709 1.872636,10.46742 1.7581758,10.159057 1.7637517,9.8882153 1.961894,6.1304014 2.1520354,2.5243182 2.1863862,2.1095818 2.3043493,1.9956358 2.4233551,1.8810227 2.8112319,1.8676583 6.4486683,1.8547498 c 3.7790137,-0.01341 4.0320977,-0.0061 4.3370687,0.1253306 0.681469,0.2936835 1.382427,1.0679658 1.550284,1.7124248 0.0337,0.129404 -0.03084,1.9300465 -0.150169,4.1891652 -0.175211,3.3172896 -0.22825,3.9853226 -0.325837,4.1041536 -0.06411,0.07807 -0.146911,0.142503 -0.184203,0.142984 z"
54
+ id="path468" />
55
+ <rect
56
+ style="fill:#e6e6e6;fill-opacity:1;stroke:none;stroke-width:1.57074;stroke-opacity:1"
57
+ id="rect10749-5"
58
+ width="7.8104901"
59
+ height="7.8187361"
60
+ x="3.3771245"
61
+ y="3.1234901"
62
+ transform="matrix(1,0,-0.04725952,0.99888264,0,0)" />
63
+ </g>
64
+ </svg>
@@ -0,0 +1,60 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ role="img"
4
+ focusable="false"
5
+ aria-hidden="true"
6
+ viewBox="0 0 14 14"
7
+ version="1.1"
8
+ id="svg4"
9
+ sodipodi:docname="goto_source.svg"
10
+ inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ xmlns:svg="http://www.w3.org/2000/svg">
15
+ <defs
16
+ id="defs4" />
17
+ <sodipodi:namedview
18
+ id="namedview4"
19
+ pagecolor="#ffffff"
20
+ bordercolor="#000000"
21
+ borderopacity="0.25"
22
+ inkscape:showpageshadow="2"
23
+ inkscape:pageopacity="0.0"
24
+ inkscape:pagecheckerboard="0"
25
+ inkscape:deskcolor="#d1d1d1"
26
+ inkscape:zoom="40.759655"
27
+ inkscape:cx="6.2561864"
28
+ inkscape:cy="7.9122358"
29
+ inkscape:window-width="1920"
30
+ inkscape:window-height="1009"
31
+ inkscape:window-x="-8"
32
+ inkscape:window-y="-8"
33
+ inkscape:window-maximized="1"
34
+ inkscape:current-layer="svg4" />
35
+ <g
36
+ id="g4"
37
+ transform="matrix(0.85863706,0,0,0.85863706,2.5597207,4.4733777)">
38
+ <path
39
+ fill="#4caf50"
40
+ d="M 11.909091,3.1818182 H 2.0909091 c -0.6,0 -1.090909,0.4909091 -1.090909,1.0909091 V 8.6363636 H 13 V 4.2727273 c 0,-0.6 -0.490909,-1.0909091 -1.090909,-1.0909091 z"
41
+ id="path1" />
42
+ <path
43
+ fill="#37474f"
44
+ d="m 1.0000001,8.6363636 v 1.0909091 c 0,0.6000003 0.490909,1.0909093 1.090909,1.0909093 H 6.7272727 V 9.4545454 C 6.7272727,9.2909091 6.8363636,9.1818182 7,9.1818182 c 0.1636364,0 0.2727273,0.1090909 0.2727273,0.2727272 v 1.3636366 h 4.6363637 c 0.6,0 1.090909,-0.490909 1.090909,-1.0909093 V 8.6363636 Z"
45
+ id="path2" />
46
+ <path
47
+ fill="#ff9800"
48
+ d="M 2.3636364,9.1818182 H 2.909091 V 10.818182 H 2.3636364 Z m 1.0909091,0 H 4 V 10.818182 H 3.4545455 Z m 1.0909091,0 H 5.0909091 V 10.818182 H 4.5454546 Z m 1.0909091,0 H 6.1818182 V 10.818182 H 5.6363637 Z m 2.1818181,0 H 8.3636364 V 10.818182 H 7.8181818 Z m 1.0909091,0 H 9.4545454 V 10.818182 H 8.9090909 Z m 1.0909091,0 h 0.545455 V 10.818182 H 10 Z m 1.090909,0 h 0.545455 v 1.6363638 h -0.545455 z"
49
+ id="path3" />
50
+ <path
51
+ fill="#37474f"
52
+ d="M 5.9090909,4.8181818 H 8.0909091 V 7.5454545 H 5.9090909 Z m 3.2727273,0 H 11.363636 V 7.5454545 H 9.1818182 Z m -6.5454545,0 H 4.8181818 V 7.5454545 H 2.6363637 Z"
53
+ id="path4" />
54
+ </g>
55
+ <path
56
+ fill="#008000"
57
+ d="M 2.2932358,1.7414155 7.4373215,0.36306185 6.3613971,2.226616 C 9.3536368,4.5753695 9.4063968,7.7117548 8.5273821,10.310177 8.3040927,8.0071159 7.1038528,6.3202612 4.7744119,4.9753581 L 3.6715896,6.8855012 Z"
58
+ id="path2-9"
59
+ style="stroke-width:0.806942" />
60
+ </svg>
@@ -0,0 +1,60 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ role="img"
4
+ focusable="false"
5
+ aria-hidden="true"
6
+ viewBox="0 0 14 14"
7
+ version="1.1"
8
+ id="svg6"
9
+ sodipodi:docname="metadata.svg"
10
+ inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ xmlns:svg="http://www.w3.org/2000/svg">
15
+ <defs
16
+ id="defs10" />
17
+ <sodipodi:namedview
18
+ id="namedview8"
19
+ pagecolor="#ffffff"
20
+ bordercolor="#666666"
21
+ borderopacity="1.0"
22
+ inkscape:pageshadow="2"
23
+ inkscape:pageopacity="0.0"
24
+ inkscape:pagecheckerboard="0"
25
+ showgrid="false"
26
+ inkscape:zoom="42.022346"
27
+ inkscape:cx="3.6052247"
28
+ inkscape:cy="7.1033635"
29
+ inkscape:window-width="1920"
30
+ inkscape:window-height="1009"
31
+ inkscape:window-x="-8"
32
+ inkscape:window-y="-8"
33
+ inkscape:window-maximized="1"
34
+ inkscape:current-layer="svg6"
35
+ inkscape:showpageshadow="2"
36
+ inkscape:deskcolor="#d1d1d1" />
37
+ <g
38
+ id="g245"
39
+ transform="matrix(0.80453486,0,0,0.80453486,4.7439054,1.368256)">
40
+ <g
41
+ id="g882">
42
+ <path
43
+ d="m 0.40773791,0.03945634 c -0.29008998,0 -0.52539061,0.1689063 -0.52539061,0.3789063 V 13.66055 c 0,0.2101 0.23530063,0.378906 0.52539061,0.378906 H 5.2026598 c 0.29019,0 0.5234375,-0.168806 0.5234375,-0.378906 V 0.41836264 c 0,-0.21 -0.2332475,-0.3789063 -0.5234375,-0.3789063 z M 1.0932848,1.0980501 h 3.421875 v 3.2148438 h -3.421875 z m 0,4.2832032 h 3.421875 V 8.596097 h -3.421875 z m 0,4.2832026 h 3.421875 v 3.2167971 h -3.421875 z"
44
+ id="path2"
45
+ style="fill:#999999" />
46
+ <path
47
+ style="fill:#ccffcc;fill-opacity:1;stroke:#d45500;stroke-width:0.0129196"
48
+ d="M 0.56089341,2.5672787 V 0.5737384 H 2.8042224 5.0475512 V 2.5672787 4.5608189 H 2.8042224 0.56089341 Z"
49
+ id="path1898" />
50
+ <path
51
+ style="fill:#e6cccc;fill-opacity:1;stroke:#d45500;stroke-width:0.0129539"
52
+ d="M 0.56076251,6.9646774 V 4.9711544 H 2.8042224 5.0476821 v 1.993523 1.9935231 H 2.8042224 0.56076251 Z"
53
+ id="path1974" />
54
+ <path
55
+ style="fill:#f0f0f0;fill-opacity:1;stroke:#d45500;stroke-width:0.0129192"
56
+ d="M 0.56104805,11.362075 V 9.3685358 H 2.8042223 5.0473965 v 1.9935392 1.99354 H 2.8042223 0.56104805 Z"
57
+ id="path2050" />
58
+ </g>
59
+ </g>
60
+ </svg>
@@ -0,0 +1,80 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ role="img"
4
+ focusable="false"
5
+ aria-hidden="true"
6
+ viewBox="0 0 14 14"
7
+ version="1.1"
8
+ id="svg6"
9
+ sodipodi:docname="metadata_add.svg"
10
+ inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ xmlns:svg="http://www.w3.org/2000/svg">
15
+ <defs
16
+ id="defs10" />
17
+ <sodipodi:namedview
18
+ id="namedview8"
19
+ pagecolor="#ffffff"
20
+ bordercolor="#666666"
21
+ borderopacity="1.0"
22
+ inkscape:pageshadow="2"
23
+ inkscape:pageopacity="0.0"
24
+ inkscape:pagecheckerboard="0"
25
+ showgrid="false"
26
+ inkscape:zoom="42.022346"
27
+ inkscape:cx="3.6052247"
28
+ inkscape:cy="7.1033635"
29
+ inkscape:window-width="1920"
30
+ inkscape:window-height="1009"
31
+ inkscape:window-x="-8"
32
+ inkscape:window-y="-8"
33
+ inkscape:window-maximized="1"
34
+ inkscape:current-layer="svg6"
35
+ inkscape:showpageshadow="2"
36
+ inkscape:deskcolor="#d1d1d1" />
37
+ <g
38
+ id="g245"
39
+ transform="matrix(0.80453486,0,0,0.80453486,1.0946557,1.368256)">
40
+ <g
41
+ id="g882">
42
+ <path
43
+ d="m 0.40773791,0.03945634 c -0.29008998,0 -0.52539061,0.1689063 -0.52539061,0.3789063 V 13.66055 c 0,0.2101 0.23530063,0.378906 0.52539061,0.378906 H 5.2026598 c 0.29019,0 0.5234375,-0.168806 0.5234375,-0.378906 V 0.41836264 c 0,-0.21 -0.2332475,-0.3789063 -0.5234375,-0.3789063 z M 1.0932848,1.0980501 h 3.421875 v 3.2148438 h -3.421875 z m 0,4.2832032 h 3.421875 V 8.596097 h -3.421875 z m 0,4.2832026 h 3.421875 v 3.2167971 h -3.421875 z"
44
+ id="path2"
45
+ style="fill:#999999" />
46
+ <path
47
+ style="fill:#ccffcc;fill-opacity:1;stroke:#d45500;stroke-width:0.0129196"
48
+ d="M 0.56089341,2.5672787 V 0.5737384 H 2.8042224 5.0475512 V 2.5672787 4.5608189 H 2.8042224 0.56089341 Z"
49
+ id="path1898" />
50
+ <path
51
+ style="fill:#e6cccc;fill-opacity:1;stroke:#d45500;stroke-width:0.0129539"
52
+ d="M 0.56076251,6.9646774 V 4.9711544 H 2.8042224 5.0476821 v 1.993523 1.9935231 H 2.8042224 0.56076251 Z"
53
+ id="path1974" />
54
+ <path
55
+ style="fill:#f0f0f0;fill-opacity:1;stroke:#d45500;stroke-width:0.0129192"
56
+ d="M 0.56104805,11.362075 V 9.3685358 H 2.8042223 5.0473965 v 1.9935392 1.99354 H 2.8042223 0.56104805 Z"
57
+ id="path2050" />
58
+ </g>
59
+ </g>
60
+ <g
61
+ id="g3798"
62
+ transform="matrix(0.54267566,0,0,0.54267566,5.5059816,3.3869972)">
63
+ <circle
64
+ cx="7"
65
+ cy="7"
66
+ r="6"
67
+ fill="#4caf50"
68
+ id="circle2915" />
69
+ <g
70
+ fill="#ffffff"
71
+ id="g2921">
72
+ <path
73
+ d="M 6.1428571,4.1428571 H 7.8571429 V 9.8571429 H 6.1428571 Z"
74
+ id="path2917" />
75
+ <path
76
+ d="M 4.1428571,6.1428571 H 9.8571429 V 7.8571429 H 4.1428571 Z"
77
+ id="path2919" />
78
+ </g>
79
+ </g>
80
+ </svg>
@@ -0,0 +1,96 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ role="img"
4
+ focusable="false"
5
+ aria-hidden="true"
6
+ viewBox="0 0 14 14"
7
+ version="1.1"
8
+ id="svg6"
9
+ sodipodi:docname="metadata_copy.svg"
10
+ inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ xmlns:svg="http://www.w3.org/2000/svg">
15
+ <defs
16
+ id="defs10" />
17
+ <sodipodi:namedview
18
+ id="namedview8"
19
+ pagecolor="#ffffff"
20
+ bordercolor="#666666"
21
+ borderopacity="1.0"
22
+ inkscape:pageshadow="2"
23
+ inkscape:pageopacity="0.0"
24
+ inkscape:pagecheckerboard="0"
25
+ showgrid="false"
26
+ inkscape:zoom="42.022346"
27
+ inkscape:cx="3.6052247"
28
+ inkscape:cy="7.0914652"
29
+ inkscape:window-width="1920"
30
+ inkscape:window-height="1017"
31
+ inkscape:window-x="-8"
32
+ inkscape:window-y="-8"
33
+ inkscape:window-maximized="1"
34
+ inkscape:current-layer="g245"
35
+ inkscape:showpageshadow="2"
36
+ inkscape:deskcolor="#d1d1d1" />
37
+ <g
38
+ id="g245"
39
+ transform="matrix(0.80453486,0,0,0.80453486,1.0946557,1.368256)">
40
+ <g
41
+ id="g882">
42
+ <path
43
+ d="m 0.40773791,0.03945634 c -0.29008998,0 -0.52539061,0.1689063 -0.52539061,0.3789063 V 13.66055 c 0,0.2101 0.23530063,0.378906 0.52539061,0.378906 H 5.2026598 c 0.29019,0 0.5234375,-0.168806 0.5234375,-0.378906 V 0.41836264 c 0,-0.21 -0.2332475,-0.3789063 -0.5234375,-0.3789063 z M 1.0932848,1.0980501 h 3.421875 v 3.2148438 h -3.421875 z m 0,4.2832032 h 3.421875 V 8.596097 h -3.421875 z m 0,4.2832026 h 3.421875 v 3.2167971 h -3.421875 z"
44
+ id="path2"
45
+ style="fill:#999999" />
46
+ <path
47
+ style="fill:#ccffcc;fill-opacity:1;stroke:#d45500;stroke-width:0.0129196"
48
+ d="M 0.56089341,2.5672787 V 0.5737384 H 2.8042224 5.0475512 V 2.5672787 4.5608189 H 2.8042224 0.56089341 Z"
49
+ id="path1898" />
50
+ <path
51
+ style="fill:#e6cccc;fill-opacity:1;stroke:#d45500;stroke-width:0.0129539"
52
+ d="M 0.56076251,6.9646774 V 4.9711544 H 2.8042224 5.0476821 v 1.993523 1.9935231 H 2.8042224 0.56076251 Z"
53
+ id="path1974" />
54
+ <path
55
+ style="fill:#f0f0f0;fill-opacity:1;stroke:#d45500;stroke-width:0.0129192"
56
+ d="M 0.56104805,11.362075 V 9.3685358 H 2.8042223 5.0473965 v 1.9935392 1.99354 H 2.8042223 0.56104805 Z"
57
+ id="path2050" />
58
+ </g>
59
+ </g>
60
+ <g
61
+ id="g306"
62
+ transform="matrix(0.83676874,0,0,0.83676874,1.3650998,1.139872)">
63
+ <rect
64
+ style="fill:#ffccaa;stroke:#d45500;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none"
65
+ id="rect955"
66
+ width="3.6778848"
67
+ height="6.3810096"
68
+ x="4.0258412"
69
+ y="2.4609373" />
70
+ <rect
71
+ style="fill:#ffccaa;stroke:#d45500;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none"
72
+ id="rect955-6"
73
+ width="3.6778843"
74
+ height="4.3371396"
75
+ x="5.3046875"
76
+ y="4.5048075" />
77
+ <rect
78
+ style="fill:#ffccaa;stroke:#d45500;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none"
79
+ id="rect955-68"
80
+ width="3.6778848"
81
+ height="6.3810096"
82
+ x="7.7433882"
83
+ y="4.9393029" />
84
+ <rect
85
+ style="fill:#ffccaa;stroke:#d45500;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none"
86
+ id="rect955-6-6"
87
+ width="3.6778843"
88
+ height="4.3371396"
89
+ x="9.022234"
90
+ y="6.9831729" />
91
+ <path
92
+ d="M 11.460937,4.5048077 H 9.6021631 V 3.8852163 L 7.7433894,2.0264423 H 3.40625 v 7.4350961 h 3.717548 v 2.4783646 h 6.195913 V 6.3635817 Z m 0,0.8762376 0.982539,0.9825364 H 11.460937 Z M 7.7433894,2.9026799 8.7259291,3.8852163 H 7.7433894 Z M 4.0258413,2.6460336 H 7.123798 V 4.5048077 H 8.982572 V 8.841947 H 4.0258413 Z M 12.700119,11.320312 H 7.7433894 V 9.4615384 H 9.6021631 V 5.124399 h 1.2391829 v 1.858774 h 1.858773 z"
93
+ id="path2-0"
94
+ style="fill:#ff6600;stroke-width:0.826122" />
95
+ </g>
96
+ </svg>
@@ -0,0 +1,62 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ role="img"
4
+ focusable="false"
5
+ aria-hidden="true"
6
+ viewBox="0 0 14 14"
7
+ version="1.1"
8
+ id="svg6"
9
+ sodipodi:docname="metadata_delete.svg"
10
+ inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ xmlns:svg="http://www.w3.org/2000/svg">
15
+ <defs
16
+ id="defs10" />
17
+ <sodipodi:namedview
18
+ id="namedview8"
19
+ pagecolor="#ffffff"
20
+ bordercolor="#666666"
21
+ borderopacity="1.0"
22
+ inkscape:pageshadow="2"
23
+ inkscape:pageopacity="0.0"
24
+ inkscape:pagecheckerboard="0"
25
+ showgrid="false"
26
+ inkscape:zoom="59.428571"
27
+ inkscape:cx="5.9146635"
28
+ inkscape:cy="6.2596154"
29
+ inkscape:window-width="1920"
30
+ inkscape:window-height="1017"
31
+ inkscape:window-x="-8"
32
+ inkscape:window-y="-8"
33
+ inkscape:window-maximized="1"
34
+ inkscape:current-layer="svg6"
35
+ inkscape:showpageshadow="2"
36
+ inkscape:deskcolor="#d1d1d1" />
37
+ <g
38
+ id="g882"
39
+ transform="matrix(0.80453486,0,0,0.80453486,1.0946557,1.368256)">
40
+ <path
41
+ d="m 0.40773791,0.03945634 c -0.29008998,0 -0.52539061,0.1689063 -0.52539061,0.3789063 V 13.66055 c 0,0.2101 0.23530063,0.378906 0.52539061,0.378906 H 5.2026598 c 0.29019,0 0.5234375,-0.168806 0.5234375,-0.378906 V 0.41836264 c 0,-0.21 -0.2332475,-0.3789063 -0.5234375,-0.3789063 z M 1.0932848,1.0980501 h 3.421875 v 3.2148438 h -3.421875 z m 0,4.2832032 h 3.421875 V 8.596097 h -3.421875 z m 0,4.2832026 h 3.421875 v 3.2167971 h -3.421875 z"
42
+ id="path2"
43
+ style="fill:#999999" />
44
+ <path
45
+ style="fill:#ccffcc;fill-opacity:1;stroke:#d45500;stroke-width:0.0129196"
46
+ d="M 0.56089341,2.5672787 V 0.5737384 H 2.8042224 5.0475512 V 2.5672787 4.5608189 H 2.8042224 0.56089341 Z"
47
+ id="path1898" />
48
+ <path
49
+ style="fill:#e6cccc;fill-opacity:1;stroke:#d45500;stroke-width:0.0129539"
50
+ d="M 0.56076251,6.9646774 V 4.9711544 H 2.8042224 5.0476821 v 1.993523 1.9935231 H 2.8042224 0.56076251 Z"
51
+ id="path1974" />
52
+ <path
53
+ style="fill:#f0f0f0;fill-opacity:1;stroke:#d45500;stroke-width:0.0129192"
54
+ d="M 0.56104805,11.362075 V 9.3685358 H 2.8042223 5.0473965 v 1.9935392 1.99354 H 2.8042223 0.56104805 Z"
55
+ id="path2050" />
56
+ </g>
57
+ <path
58
+ fill="#ff0000"
59
+ d="m 4.5155634,5.4191261 q 0,-0.1651739 0.115654,-0.2807568 L 5.1930087,4.5767264 q 0.1156605,-0.1156475 0.2808925,-0.1156475 0.1652384,0 0.2808924,0.1156475 L 6.9692607,5.7907996 8.1837216,4.5767264 q 0.1156597,-0.1156475 0.2808919,-0.1156475 0.1652383,0 0.2808928,0.1156475 l 0.5617916,0.5616429 q 0.1156597,0.1155829 0.1156597,0.2807568 0,0.1651739 -0.1156597,0.2808215 l -1.214461,1.2140731 1.214461,1.2140731 q 0.1156597,0.115583 0.1156597,0.2807569 0,0.1651739 -0.1156597,0.2808214 L 8.7455063,9.2513149 q -0.1156545,0.115583 -0.2808928,0.115583 -0.1652322,0 -0.2808919,-0.115583 L 6.9692607,8.0372418 5.7547936,9.2513149 q -0.115654,0.115583 -0.2808924,0.115583 -0.165232,0 -0.2808925,-0.115583 L 4.6312174,8.6896721 q -0.115654,-0.1156475 -0.115654,-0.2808214 0,-0.1651739 0.115654,-0.2807569 L 5.8456844,6.9140207 4.6312174,5.6999476 Q 4.5155634,5.5843 4.5155634,5.4191261 Z"
60
+ id="path4"
61
+ style="stroke-width:0.645715" />
62
+ </svg>