datalab-platform 0.0.1.dev0__py3-none-any.whl → 1.0.0__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.0.dist-info/METADATA +121 -0
  490. datalab_platform-1.0.0.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.0.dist-info}/WHEEL +0 -0
  494. {datalab_platform-0.0.1.dev0.dist-info → datalab_platform-1.0.0.dist-info}/entry_points.txt +0 -0
  495. {datalab_platform-0.0.1.dev0.dist-info → datalab_platform-1.0.0.dist-info}/licenses/LICENSE +0 -0
  496. {datalab_platform-0.0.1.dev0.dist-info → datalab_platform-1.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,151 @@
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="plot_results.svg"
10
+ inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
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="4.7309414"
29
+ inkscape:cy="7.2738224"
30
+ inkscape:window-width="1920"
31
+ inkscape:window-height="1009"
32
+ inkscape:window-x="-8"
33
+ inkscape:window-y="-8"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="svg12" />
36
+ <g
37
+ id="g3"
38
+ transform="matrix(1.7080745,0,0,1.7080745,-3.0605969,0.77778357)">
39
+ <rect
40
+ style="fill:#696969;fill-opacity:0.817241;stroke-width:0.402"
41
+ id="rect28089"
42
+ width="0.47309414"
43
+ height="7.6168156"
44
+ x="5.6534753"
45
+ y="-0.16558282" />
46
+ <rect
47
+ style="fill:#696969;fill-opacity:0.817241;stroke-width:0.402"
48
+ id="rect28089-7"
49
+ width="0.47309414"
50
+ height="7.6168156"
51
+ x="3.2880042"
52
+ y="-9.6984301"
53
+ transform="rotate(90)" />
54
+ </g>
55
+ <g
56
+ id="g2"
57
+ transform="matrix(0.64434115,0,0,0.64434115,2.507399,2.4896119)">
58
+ <path
59
+ d="M 0.45591186,0 C 0.20418398,0 0,0.1689063 0,0.3789063 V 13.621094 C 0,13.831194 0.20418398,14 0.45591186,14 H 4.6167432 c 0.2518147,0 0.4542171,-0.168806 0.4542171,-0.378906 V 0.3789063 C 5.0709603,0.1689063 4.8685579,0 4.6167432,0 Z M 1.0508006,1.0585938 H 4.0201597 V 4.2734376 H 1.0508006 Z m 0,4.2832032 H 4.0201597 V 8.5566407 H 1.0508006 Z m 0,4.2832026 H 4.0201597 V 12.841797 H 1.0508006 Z"
60
+ id="path2"
61
+ style="fill:#999999;stroke-width:0.931535" />
62
+ <path
63
+ style="fill:#80b3ff;fill-opacity:1;stroke:#d45500;stroke-width:0.0120351"
64
+ d="M 0.58881375,2.5672787 V 0.5737384 H 2.5354802 4.4821465 V 2.5672787 4.5608189 H 2.5354802 0.58881375 Z"
65
+ id="path1898" />
66
+ <path
67
+ style="fill:#e6cccc;fill-opacity:1;stroke:#d45500;stroke-width:0.012067"
68
+ d="M 0.58870016,6.9646774 V 4.9711544 H 2.5354802 4.4822601 v 1.993523 1.9935231 H 2.5354802 0.58870016 Z"
69
+ id="path1974" />
70
+ <path
71
+ style="fill:#ff8080;fill-opacity:1;stroke:#d45500;stroke-width:0.0120347"
72
+ d="M 0.58894791,11.362075 V 9.3685358 H 2.5354801 4.4820123 v 1.9935392 1.99354 H 2.5354801 0.58894791 Z"
73
+ id="path2050" />
74
+ <path
75
+ d="M 4.9876524,0 C 4.7359245,0 4.5317405,0.1689063 4.5317405,0.3789063 V 13.621094 C 4.5317405,13.831194 4.7359245,14 4.9876524,14 H 9.1484835 C 9.4002982,14 9.602701,13.831194 9.602701,13.621094 V 0.3789063 C 9.602701,0.1689063 9.4002982,0 9.1484835,0 Z M 5.5825411,1.0585938 H 8.5519002 V 4.2734376 H 5.5825411 Z m 0,4.2832032 H 8.5519002 V 8.5566407 H 5.5825411 Z m 0,4.2832026 H 8.5519002 V 12.841797 H 5.5825411 Z"
76
+ id="path2-7"
77
+ style="fill:#999999;stroke-width:0.931535" />
78
+ <path
79
+ style="fill:#e9afaf;fill-opacity:1;stroke:#d45500;stroke-width:0.0120351"
80
+ d="M 5.1205543,2.5672787 V 0.5737384 H 7.0672208 9.0138873 V 2.5672787 4.5608189 H 7.0672208 5.1205543 Z"
81
+ id="path1898-8" />
82
+ <path
83
+ style="fill:#aaccff;fill-opacity:1;stroke:#d45500;stroke-width:0.012067"
84
+ d="M 5.1204407,6.9646774 V 4.9711544 H 7.0672208 9.014001 v 1.993523 1.9935231 H 7.0672208 5.1204407 Z"
85
+ id="path1974-1" />
86
+ <path
87
+ style="fill:#0066ff;fill-opacity:1;stroke:#d45500;stroke-width:0.0120347"
88
+ d="M 5.1206884,11.362075 V 9.3685358 h 1.9465323 1.9465321 v 1.9935392 1.99354 H 7.0672207 5.1206884 Z"
89
+ id="path2050-7" />
90
+ <path
91
+ d="M 9.4849749,0 C 9.233247,0 9.0290627,0.1689063 9.0290627,0.3789063 V 13.621094 C 9.0290627,13.831194 9.233247,14 9.4849749,14 h 4.1608311 c 0.251815,0 0.454217,-0.168806 0.454217,-0.378906 V 0.3789063 C 14.100023,0.1689063 13.897621,0 13.645806,0 Z m 0.5948891,1.0585938 h 2.969359 v 3.2148438 h -2.969359 z m 0,4.2832032 h 2.969359 v 3.2148438 h -2.969359 z m 0,4.2832027 h 2.969359 v 3.2167973 h -2.969359 z"
92
+ id="path2-3"
93
+ style="fill:#999999;stroke-width:0.931535" />
94
+ <path
95
+ style="fill:#aaccff;fill-opacity:1;stroke:#d45500;stroke-width:0.0120351"
96
+ d="M 9.6178763,2.5672788 V 0.5737384 h 1.9466667 1.946666 V 2.5672788 4.5608189 H 11.564543 9.6178763 Z"
97
+ id="path1898-1" />
98
+ <path
99
+ style="fill:#e6cccc;fill-opacity:1;stroke:#d45500;stroke-width:0.012067"
100
+ d="m 9.6177626,6.9646774 v -1.993523 h 1.9467804 1.94678 v 1.993523 1.9935232 h -1.94678 -1.9467804 z"
101
+ id="path1974-4" />
102
+ <path
103
+ style="fill:#afdde9;fill-opacity:1;stroke:#d45500;stroke-width:0.0120347"
104
+ d="M 9.6180108,11.362075 V 9.3685358 h 1.9465322 1.946532 v 1.9935392 1.99354 H 11.564543 9.6180108 Z"
105
+ id="path2050-4" />
106
+ </g>
107
+ <g
108
+ id="g1"
109
+ transform="matrix(1.6811231,0,0,1.6811231,-4.5006683,-4.7014439)">
110
+ <path
111
+ style="fill:none;fill-opacity:0.817241;stroke:#ff0000;stroke-width:0.402;stroke-opacity:1"
112
+ d="m 3.5245514,10.005941 c 0,0.09462 1.5139012,-0.5677129 1.5139012,-0.5677129 L 5.9846409,8.2081834 7.0727574,5.653475 8.2554928,4.4234302 10.195179,3.8557173"
113
+ id="path32265" />
114
+ <circle
115
+ cx="8.2457867"
116
+ cy="4.4486394"
117
+ r="0.58283854"
118
+ id="circle20-2"
119
+ style="fill:#ff5555;stroke-width:0.19428" />
120
+ <circle
121
+ cx="7.0560775"
122
+ cy="5.641458"
123
+ r="0.58283854"
124
+ id="circle22-3"
125
+ style="fill:#ff5555;stroke-width:0.19428" />
126
+ <circle
127
+ cx="6.0082951"
128
+ cy="8.2554922"
129
+ r="0.58283854"
130
+ id="circle24-6"
131
+ style="fill:#ff5555;stroke-width:0.19428" />
132
+ <circle
133
+ cx="5.0078225"
134
+ cy="9.4161282"
135
+ r="0.58283854"
136
+ id="circle26-0"
137
+ style="fill:#ff5555;stroke-width:0.19428" />
138
+ <circle
139
+ cx="3.534256"
140
+ cy="10.017958"
141
+ r="0.58283854"
142
+ id="circle28-1"
143
+ style="fill:#ff5555;stroke-width:0.19428" />
144
+ <circle
145
+ cx="10.147869"
146
+ cy="3.9030263"
147
+ r="0.58283854"
148
+ id="circle28-1-2"
149
+ style="fill:#ff5555;stroke-width:0.19428" />
150
+ </g>
151
+ </svg>
@@ -0,0 +1,83 @@
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="show_results.svg"
10
+ inkscape:version="1.1 (c68e22c387, 2021-05-23)"
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="29.714286"
27
+ inkscape:cx="5.2331731"
28
+ inkscape:cy="4.4927885"
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
+ <path
36
+ d="M 0.45591186,0 C 0.20418398,0 0,0.1689063 0,0.3789063 V 13.621094 C 0,13.831194 0.20418398,14 0.45591186,14 H 4.6167432 c 0.2518147,0 0.4542171,-0.168806 0.4542171,-0.378906 V 0.3789063 C 5.0709603,0.1689063 4.8685579,0 4.6167432,0 Z M 1.0508006,1.0585938 H 4.0201597 V 4.2734376 H 1.0508006 Z m 0,4.2832032 H 4.0201597 V 8.5566407 H 1.0508006 Z m 0,4.2832026 H 4.0201597 V 12.841797 H 1.0508006 Z"
37
+ id="path2"
38
+ style="fill:#999999;stroke-width:0.931535" />
39
+ <path
40
+ style="fill:#80b3ff;fill-opacity:1;stroke:#d45500;stroke-width:0.0120351"
41
+ d="M 0.58881375,2.5672787 V 0.5737384 H 2.5354802 4.4821465 V 2.5672787 4.5608189 H 2.5354802 0.58881375 Z"
42
+ id="path1898" />
43
+ <path
44
+ style="fill:#e6cccc;fill-opacity:1;stroke:#d45500;stroke-width:0.012067"
45
+ d="M 0.58870016,6.9646774 V 4.9711544 H 2.5354802 4.4822601 v 1.993523 1.9935231 H 2.5354802 0.58870016 Z"
46
+ id="path1974" />
47
+ <path
48
+ style="fill:#ff8080;fill-opacity:1;stroke:#d45500;stroke-width:0.0120347"
49
+ d="M 0.58894791,11.362075 V 9.3685358 H 2.5354801 4.4820123 v 1.9935392 1.99354 H 2.5354801 0.58894791 Z"
50
+ id="path2050" />
51
+ <path
52
+ d="M 4.9876524,0 C 4.7359245,0 4.5317405,0.1689063 4.5317405,0.3789063 V 13.621094 C 4.5317405,13.831194 4.7359245,14 4.9876524,14 H 9.1484835 C 9.4002982,14 9.602701,13.831194 9.602701,13.621094 V 0.3789063 C 9.602701,0.1689063 9.4002982,0 9.1484835,0 Z M 5.5825411,1.0585938 H 8.5519002 V 4.2734376 H 5.5825411 Z m 0,4.2832032 H 8.5519002 V 8.5566407 H 5.5825411 Z m 0,4.2832026 H 8.5519002 V 12.841797 H 5.5825411 Z"
53
+ id="path2-7"
54
+ style="fill:#999999;stroke-width:0.931535" />
55
+ <path
56
+ style="fill:#e9afaf;fill-opacity:1;stroke:#d45500;stroke-width:0.0120351"
57
+ d="M 5.1205543,2.5672787 V 0.5737384 H 7.0672208 9.0138873 V 2.5672787 4.5608189 H 7.0672208 5.1205543 Z"
58
+ id="path1898-8" />
59
+ <path
60
+ style="fill:#aaccff;fill-opacity:1;stroke:#d45500;stroke-width:0.012067"
61
+ d="M 5.1204407,6.9646774 V 4.9711544 H 7.0672208 9.014001 v 1.993523 1.9935231 H 7.0672208 5.1204407 Z"
62
+ id="path1974-1" />
63
+ <path
64
+ style="fill:#0066ff;fill-opacity:1;stroke:#d45500;stroke-width:0.0120347"
65
+ d="M 5.1206884,11.362075 V 9.3685358 h 1.9465323 1.9465321 v 1.9935392 1.99354 H 7.0672207 5.1206884 Z"
66
+ id="path2050-7" />
67
+ <path
68
+ d="M 9.4849749,0 C 9.233247,0 9.0290627,0.1689063 9.0290627,0.3789063 V 13.621094 C 9.0290627,13.831194 9.233247,14 9.4849749,14 h 4.1608311 c 0.251815,0 0.454217,-0.168806 0.454217,-0.378906 V 0.3789063 C 14.100023,0.1689063 13.897621,0 13.645806,0 Z m 0.5948891,1.0585938 h 2.969359 v 3.2148438 h -2.969359 z m 0,4.2832032 h 2.969359 v 3.2148438 h -2.969359 z m 0,4.2832027 h 2.969359 v 3.2167973 h -2.969359 z"
69
+ id="path2-3"
70
+ style="fill:#999999;stroke-width:0.931535" />
71
+ <path
72
+ style="fill:#aaccff;fill-opacity:1;stroke:#d45500;stroke-width:0.0120351"
73
+ d="M 9.6178763,2.5672788 V 0.5737384 h 1.9466667 1.946666 V 2.5672788 4.5608189 H 11.564543 9.6178763 Z"
74
+ id="path1898-1" />
75
+ <path
76
+ style="fill:#e6cccc;fill-opacity:1;stroke:#d45500;stroke-width:0.012067"
77
+ d="m 9.6177626,6.9646774 v -1.993523 h 1.9467804 1.94678 v 1.993523 1.9935232 h -1.94678 -1.9467804 z"
78
+ id="path1974-4" />
79
+ <path
80
+ style="fill:#afdde9;fill-opacity:1;stroke:#d45500;stroke-width:0.0120347"
81
+ d="M 9.6180108,11.362075 V 9.3685358 h 1.9465322 1.946532 v 1.9935392 1.99354 H 11.564543 9.6180108 Z"
82
+ id="path2050-4" />
83
+ </svg>
@@ -0,0 +1,49 @@
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="svg8"
9
+ sodipodi:docname="stats.svg"
10
+ inkscape:version="1.1 (c68e22c387, 2021-05-23)"
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="defs12" />
17
+ <sodipodi:namedview
18
+ id="namedview10"
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="29.714286"
27
+ inkscape:cx="11.829327"
28
+ inkscape:cy="3.6850962"
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="svg8" />
35
+ <path
36
+ d="M 12.570605,10.915882 H 1.4903699 c -0.76176618,0 -1.38502927,-0.433117 -1.38502927,-0.9624801 V 3.6972892 c 0,-0.5293633 0.62326309,-0.9624788 1.38502927,-0.9624788 H 12.570605 c 0.761767,0 1.385029,0.4331155 1.385029,0.9624788 v 6.2561127 c 0,0.5293631 -0.623262,0.9624801 -1.385029,0.9624801 z"
37
+ id="path2-7"
38
+ style="fill:#90caf9;fill-opacity:1" />
39
+ <text
40
+ xml:space="preserve"
41
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.66667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
42
+ x="0.25480765"
43
+ y="8.6219959"
44
+ id="text3833-80"><tspan
45
+ sodipodi:role="line"
46
+ id="tspan3831-0"
47
+ x="0.25480765"
48
+ y="8.6219959">σ(y)</tspan></text>
49
+ </svg>
@@ -0,0 +1,120 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ version="1.1"
4
+ width="256"
5
+ height="256"
6
+ viewBox="0 0 256 256"
7
+ xml:space="preserve"
8
+ id="svg14"
9
+ sodipodi:docname="analysis.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"><defs
15
+ id="defs14">
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+ </defs><sodipodi:namedview
35
+ id="namedview14"
36
+ pagecolor="#505050"
37
+ bordercolor="#ffffff"
38
+ borderopacity="1"
39
+ inkscape:showpageshadow="0"
40
+ inkscape:pageopacity="0"
41
+ inkscape:pagecheckerboard="1"
42
+ inkscape:deskcolor="#505050"
43
+ inkscape:zoom="3.1523438"
44
+ inkscape:cx="128"
45
+ inkscape:cy="116.89715"
46
+ inkscape:window-width="1920"
47
+ inkscape:window-height="1009"
48
+ inkscape:window-x="-8"
49
+ inkscape:window-y="-8"
50
+ inkscape:window-maximized="1"
51
+ inkscape:current-layer="svg14" />
52
+
53
+ <circle
54
+ cx="90.349953"
55
+ cy="88.360413"
56
+ r="73.084595"
57
+ style="fill:#d3ecfb;fill-rule:nonzero;stroke:none;stroke-width:4.82693;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
58
+ id="circle11" /><path
59
+ style="fill:none;fill-opacity:0.817241;stroke:#ff0000;stroke-width:8.86745;stroke-opacity:1"
60
+ d="m 17.281371,156.83207 c 0,2.08716 33.394129,-12.52279 33.394129,-12.52279 L 71.546832,117.17655 95.548863,60.823951 121.63803,33.691219 164.42426,21.168422"
61
+ id="path32265" /><circle
62
+ cx="121.42393"
63
+ cy="34.247292"
64
+ r="12.856443"
65
+ id="circle20-2"
66
+ style="fill:#ff5555;stroke-width:4.28549" /><circle
67
+ cx="95.180931"
68
+ cy="60.558876"
69
+ r="12.856443"
70
+ id="circle22-3"
71
+ style="fill:#ff5555;stroke-width:4.28549" /><circle
72
+ cx="72.068604"
73
+ cy="118.2201"
74
+ r="12.856443"
75
+ id="circle24-6"
76
+ style="fill:#ff5555;stroke-width:4.28549" /><circle
77
+ cx="49.999851"
78
+ cy="143.82179"
79
+ r="12.856443"
80
+ id="circle26-0"
81
+ style="fill:#ff5555;stroke-width:4.28549" /><circle
82
+ cx="17.495438"
83
+ cy="157.09714"
84
+ r="12.856443"
85
+ id="circle28-1"
86
+ style="fill:#ff5555;stroke-width:4.28549" /><circle
87
+ cx="163.38069"
88
+ cy="22.211981"
89
+ r="12.856443"
90
+ id="circle28-1-2"
91
+ style="fill:#ff5555;stroke-width:4.28549" /><path
92
+ d="m 90.374085,166.24781 c -19.954545,0 -39.904258,-7.59759 -55.094617,-22.78795 -30.3758916,-30.37589 -30.3758916,-79.808514 0,-110.184404 30.380717,-30.3758897 79.813342,-30.3807165 110.189232,0 30.38072,30.37589 30.38072,79.808514 0,110.184404 -15.19035,15.19036 -35.14491,22.78795 -55.094615,22.78795 z m -0.0051,-146.106439 c -17.478327,0 -34.961479,6.651515 -48.269333,19.959369 -26.61571,26.61571 -26.61571,69.91813 0,96.53383 26.615708,26.61571 69.922958,26.61571 96.538658,0 26.61572,-26.6157 26.61572,-69.91812 0,-96.53383 C 125.33041,26.797712 107.85208,20.141371 90.36893,20.141371 Z"
93
+ style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-width:4.82693;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
94
+ stroke-linecap="round"
95
+ id="path9" /><path
96
+ d="m 245.25588,243.25187 v 0 c -5.15998,5.15999 -13.59747,5.15999 -18.75745,0 L 162.34366,179.0971 c -5.15999,-5.15999 -5.15999,-13.59747 0,-18.75746 v 0 c 5.15998,-5.15999 13.59747,-5.15999 18.75746,0 l 64.15476,64.15477 c 5.15517,5.15998 5.15517,13.60229 0,18.75746 z"
97
+ style="fill:#5b5d6e;fill-rule:nonzero;stroke:none;stroke-width:4.82693;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
98
+ stroke-linecap="round"
99
+ id="path10" /><path
100
+ d="m 235.87716,251.95 c -4.84141,0 -9.38356,-1.87767 -12.78656,-5.28549 l -64.16441,-64.15477 c -7.05215,-7.05214 -7.05215,-18.52576 0,-25.58275 7.05215,-7.05214 18.5306,-7.05214 25.58275,0 l 64.15476,64.1596 c 3.40781,3.40299 5.28549,7.94514 5.28549,12.78655 0,4.84141 -1.87768,9.38356 -5.28549,12.79137 -3.40299,3.41264 -7.94512,5.28549 -12.78654,5.28549 z m -64.15477,-90.66428 c -2.16247,0 -4.32493,0.82541 -5.9661,2.46657 -3.28713,3.29196 -3.28713,8.6402 0,11.93218 l 64.1596,64.15959 c 3.16647,3.16646 8.75606,3.16646 11.92735,0 1.58324,-1.58324 2.45692,-3.70708 2.45692,-5.96609 0,-2.25901 -0.87368,-4.37803 -2.45692,-5.96126 l -64.15958,-64.16442 c -1.64599,-1.64599 -3.80363,-2.46657 -5.96127,-2.46657 z"
101
+ style="fill:#5b5d6e;fill-rule:nonzero;stroke:none;stroke-width:4.82693;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
102
+ stroke-linecap="round"
103
+ id="path11" /><rect
104
+ x="-3.4322002"
105
+ y="199.47888"
106
+ rx="0"
107
+ ry="0"
108
+ width="9.6537743"
109
+ height="28.671709"
110
+ style="fill:#5b5d6e;fill-rule:nonzero;stroke:none;stroke-width:4.82688;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
111
+ transform="rotate(-45)"
112
+ id="rect11" /><path
113
+ d="m 90.374085,166.24781 c -19.954545,0 -39.904258,-7.59759 -55.094617,-22.78795 -30.3758916,-30.37589 -30.3758916,-79.808514 0,-110.184404 30.380717,-30.3758897 79.813342,-30.3807165 110.189232,0 30.38072,30.37589 30.38072,79.808514 0,110.184404 -15.19035,15.19036 -35.14491,22.78795 -55.094615,22.78795 z m -0.0051,-146.106439 c -17.478327,0 -34.961479,6.651515 -48.269333,19.959369 -26.61571,26.61571 -26.61571,69.91813 0,96.53383 26.615708,26.61571 69.922958,26.61571 96.538658,0 26.61572,-26.6157 26.61572,-69.91812 0,-96.53383 C 125.33041,26.797712 107.85208,20.141371 90.36893,20.141371 Z"
114
+ style="fill:#5b5d6e;fill-rule:nonzero;stroke:none;stroke-width:4.82693;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
115
+ stroke-linecap="round"
116
+ id="path12" /><path
117
+ d="m 90.374085,166.24781 c -19.954545,0 -39.904258,-7.59759 -55.094617,-22.78795 -30.3758916,-30.37589 -30.3758916,-79.808514 0,-110.184404 30.380717,-30.3758897 79.813342,-30.3807165 110.189232,0 30.38072,30.37589 30.38072,79.808514 0,110.184404 -15.19035,15.19036 -35.14491,22.78795 -55.094615,22.78795 z m -0.0051,-146.106439 c -17.478327,0 -34.961479,6.651515 -48.269333,19.959369 -26.61571,26.61571 -26.61571,69.91813 0,96.53383 26.615708,26.61571 69.922958,26.61571 96.538658,0 26.61572,-26.6157 26.61572,-69.91812 0,-96.53383 C 125.33041,26.797712 107.85208,20.141371 90.36893,20.141371 Z"
118
+ style="fill:#5b5d6e;fill-rule:nonzero;stroke:none;stroke-width:4.82693;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
119
+ stroke-linecap="round"
120
+ id="path14" /></svg>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
+ <svg width="800px" height="800px" viewBox="0 0 1024 1024" class="icon" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 512m-448 0a448 448 0 1 0 896 0 448 448 0 1 0-896 0Z" fill="#4CAF50" /><path d="M738.133333 311.466667L448 601.6l-119.466667-119.466667-59.733333 59.733334 179.2 179.2 349.866667-349.866667z" fill="#CCFF90" /></svg>
@@ -0,0 +1,15 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="256" height="256" viewBox="0 0 256 256" xml:space="preserve">
2
+
3
+ <defs>
4
+ </defs>
5
+ <g style="stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;" transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)" >
6
+ <path d="M 15.983 32.802 c -0.057 0 -0.114 -0.002 -0.171 -0.007 c -0.621 -0.053 -1.181 -0.393 -1.516 -0.919 l -5.609 -8.814 C 8.094 22.13 8.368 20.894 9.3 20.301 c 0.933 -0.593 2.168 -0.318 2.761 0.614 l 4.204 6.605 l 14.91 -16.391 c 0.743 -0.819 2.007 -0.877 2.825 -0.134 c 0.817 0.743 0.877 2.008 0.134 2.825 L 17.462 32.148 C 17.082 32.566 16.543 32.802 15.983 32.802 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(35,183,52); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
7
+ <path d="M 15.983 71.746 c -0.057 0 -0.114 -0.002 -0.171 -0.008 c -0.621 -0.053 -1.181 -0.393 -1.516 -0.919 l -5.609 -8.814 c -0.593 -0.932 -0.318 -2.168 0.614 -2.761 c 0.933 -0.594 2.168 -0.318 2.761 0.614 l 4.204 6.605 l 14.91 -16.391 c 0.743 -0.817 2.007 -0.877 2.825 -0.134 c 0.817 0.743 0.877 2.008 0.134 2.825 L 17.462 71.092 C 17.082 71.511 16.543 71.746 15.983 71.746 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(35,183,52); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
8
+ <path d="M 29.494 40.582 H 2 c -1.104 0 -2 -0.896 -2 -2 V 12.857 c 0 -1.104 0.896 -2 2 -2 h 19.593 c 1.104 0 2 0.896 2 2 s -0.896 2 -2 2 H 4 v 21.724 h 23.494 v -8.145 c 0 -1.104 0.896 -2 2 -2 s 2 0.896 2 2 v 10.145 C 31.494 39.686 30.599 40.582 29.494 40.582 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(62,89,88); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
9
+ <path d="M 88 21.333 H 42.359 c -1.104 0 -2 -0.896 -2 -2 s 0.896 -2 2 -2 H 88 c 1.104 0 2 0.896 2 2 S 89.104 21.333 88 21.333 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(62,89,88); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
10
+ <path d="M 75.983 33.724 H 42.359 c -1.104 0 -2 -0.896 -2 -2 s 0.896 -2 2 -2 h 33.624 c 1.104 0 2 0.896 2 2 S 77.088 33.724 75.983 33.724 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(62,89,88); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
11
+ <path d="M 29.494 79.525 H 2 c -1.104 0 -2 -0.896 -2 -2 V 51.801 c 0 -1.104 0.896 -2 2 -2 h 19.593 c 1.104 0 2 0.896 2 2 s -0.896 2 -2 2 H 4 v 21.725 h 23.494 v -8.145 c 0 -1.104 0.896 -2 2 -2 s 2 0.896 2 2 v 10.145 C 31.494 78.63 30.599 79.525 29.494 79.525 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(62,89,88); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
12
+ <path d="M 88 60.276 H 42.359 c -1.104 0 -2 -0.896 -2 -2 s 0.896 -2 2 -2 H 88 c 1.104 0 2 0.896 2 2 S 89.104 60.276 88 60.276 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(62,89,88); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
13
+ <path d="M 75.983 72.667 H 42.359 c -1.104 0 -2 -0.896 -2 -2 s 0.896 -2 2 -2 h 33.624 c 1.104 0 2 0.896 2 2 S 77.088 72.667 75.983 72.667 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(62,89,88); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
14
+ </g>
15
+ </svg>
@@ -0,0 +1,44 @@
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
+ fill="#000000"
6
+ width="800px"
7
+ height="800px"
8
+ viewBox="0 0 32 32"
9
+ version="1.1"
10
+ id="svg6"
11
+ sodipodi:docname="collapse.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">
17
+ <defs
18
+ id="defs10" />
19
+ <sodipodi:namedview
20
+ id="namedview8"
21
+ pagecolor="#ffffff"
22
+ bordercolor="#000000"
23
+ borderopacity="0.25"
24
+ inkscape:showpageshadow="2"
25
+ inkscape:pageopacity="0.0"
26
+ inkscape:pagecheckerboard="0"
27
+ inkscape:deskcolor="#d1d1d1"
28
+ showgrid="false"
29
+ inkscape:zoom="1.07875"
30
+ inkscape:cx="340.67207"
31
+ inkscape:cy="400.4635"
32
+ inkscape:window-width="1920"
33
+ inkscape:window-height="1017"
34
+ inkscape:window-x="-8"
35
+ inkscape:window-y="-8"
36
+ inkscape:window-maximized="1"
37
+ inkscape:current-layer="svg6" />
38
+ <title
39
+ id="title2">collapse</title>
40
+ <path
41
+ d="M11.493 8.757l-3.454-3.453-2.665 2.665 3.454 3.453-2.59 2.59 7.797 0.004-0.017-7.784-2.525 2.525zM23.172 11.422l3.454-3.453-2.665-2.665-3.454 3.453-2.525-2.525-0.017 7.784 7.797-0.004-2.59-2.59zM8.828 20.578l-3.454 3.453 2.665 2.665 3.454-3.453 2.526 2.525 0.017-7.784-7.797 0.004 2.589 2.59zM25.762 17.988l-7.797-0.004 0.017 7.784 2.525-2.525 3.454 3.453 2.665-2.665-3.454-3.453 2.59-2.59z"
42
+ id="path4"
43
+ style="fill:#2b7c2b;fill-opacity:1" />
44
+ </svg>
@@ -0,0 +1,63 @@
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
+ fill="#000000"
6
+ width="800px"
7
+ height="800px"
8
+ viewBox="0 0 32 32"
9
+ version="1.1"
10
+ id="svg6"
11
+ sodipodi:docname="collapse_selection.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"
17
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
18
+ xmlns:cc="http://creativecommons.org/ns#"
19
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
20
+ <defs
21
+ id="defs10" />
22
+ <sodipodi:namedview
23
+ id="namedview8"
24
+ pagecolor="#ffffff"
25
+ bordercolor="#000000"
26
+ borderopacity="0.25"
27
+ inkscape:showpageshadow="2"
28
+ inkscape:pageopacity="0.0"
29
+ inkscape:pagecheckerboard="0"
30
+ inkscape:deskcolor="#d1d1d1"
31
+ showgrid="false"
32
+ inkscape:zoom="1.07875"
33
+ inkscape:cx="340.67207"
34
+ inkscape:cy="400.4635"
35
+ inkscape:window-width="1920"
36
+ inkscape:window-height="1017"
37
+ inkscape:window-x="-8"
38
+ inkscape:window-y="-8"
39
+ inkscape:window-maximized="1"
40
+ inkscape:current-layer="svg6" />
41
+ <title
42
+ id="title2">collapse</title>
43
+ <path
44
+ d="M11.493 8.757l-3.454-3.453-2.665 2.665 3.454 3.453-2.59 2.59 7.797 0.004-0.017-7.784-2.525 2.525zM23.172 11.422l3.454-3.453-2.665-2.665-3.454 3.453-2.525-2.525-0.017 7.784 7.797-0.004-2.59-2.59zM8.828 20.578l-3.454 3.453 2.665 2.665 3.454-3.453 2.526 2.525 0.017-7.784-7.797 0.004 2.589 2.59zM25.762 17.988l-7.797-0.004 0.017 7.784 2.525-2.525 3.454 3.453 2.665-2.665-3.454-3.453 2.59-2.59z"
45
+ id="path4"
46
+ style="fill:#2b7c2b;fill-opacity:1" />
47
+ <rect
48
+ style="fill:#ffd42a;fill-opacity:1;stroke:#da6500;stroke-width:0.65271;stroke-dasharray:none;stroke-opacity:1"
49
+ id="rect3271"
50
+ width="6.7517533"
51
+ height="6.3881974"
52
+ x="12.642663"
53
+ y="12.824441" />
54
+ <metadata
55
+ id="metadata8243">
56
+ <rdf:RDF>
57
+ <cc:Work
58
+ rdf:about="">
59
+ <dc:title>collapse</dc:title>
60
+ </cc:Work>
61
+ </rdf:RDF>
62
+ </metadata>
63
+ </svg>
@@ -0,0 +1,101 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ version="1.1"
4
+ width="256"
5
+ height="256"
6
+ viewBox="0 0 256 256"
7
+ xml:space="preserve"
8
+ id="svg11"
9
+ sodipodi:docname="web-programming-12708.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"><defs
15
+ id="defs11" /><sodipodi:namedview
16
+ id="namedview11"
17
+ pagecolor="#ffffff"
18
+ bordercolor="#000000"
19
+ borderopacity="0.25"
20
+ inkscape:showpageshadow="2"
21
+ inkscape:pageopacity="0.0"
22
+ inkscape:pagecheckerboard="0"
23
+ inkscape:deskcolor="#d1d1d1"
24
+ inkscape:zoom="3.1523438"
25
+ inkscape:cx="127.84139"
26
+ inkscape:cy="128"
27
+ inkscape:window-width="1920"
28
+ inkscape:window-height="1009"
29
+ inkscape:window-x="-8"
30
+ inkscape:window-y="-8"
31
+ inkscape:window-maximized="1"
32
+ inkscape:current-layer="g11" />
33
+ <g
34
+ style="stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;"
35
+ transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)"
36
+ id="g11">
37
+ <path
38
+ d="M 83.018 77.406 H 6.982 C 3.678 77.406 1 74.728 1 71.424 V 18.576 c 0 -3.304 2.678 -5.982 5.982 -5.982 h 76.036 c 3.304 0 5.982 2.678 5.982 5.982 v 52.848 C 89 74.728 86.322 77.406 83.018 77.406 z"
39
+ style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(195,198,244); fill-rule: nonzero; opacity: 1;"
40
+ transform=" matrix(1 0 0 1 0 0) "
41
+ stroke-linecap="round"
42
+ id="path1" />
43
+ <path
44
+ d="M 83.018 12.594 H 6.982 C 3.678 12.594 1 15.272 1 18.576 v 14.609 h 88 V 18.576 C 89 15.272 86.322 12.594 83.018 12.594 z"
45
+ style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(82,75,226); fill-rule: nonzero; opacity: 1;"
46
+ transform=" matrix(1 0 0 1 0 0) "
47
+ stroke-linecap="round"
48
+ id="path2" />
49
+ <path
50
+ d="M 83.018 78.406 H 6.982 C 3.132 78.406 0 75.274 0 71.424 V 18.576 c 0 -3.85 3.132 -6.982 6.982 -6.982 h 76.035 c 3.851 0 6.982 3.132 6.982 6.982 v 52.848 C 90 75.274 86.868 78.406 83.018 78.406 z M 6.982 13.594 C 4.235 13.594 2 15.829 2 18.576 v 52.848 c 0 2.747 2.235 4.982 4.982 4.982 h 76.035 c 2.747 0 4.982 -2.235 4.982 -4.982 V 18.576 c 0 -2.748 -2.235 -4.982 -4.982 -4.982 H 6.982 z"
51
+ style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;"
52
+ transform=" matrix(1 0 0 1 0 0) "
53
+ stroke-linecap="round"
54
+ id="path3" />
55
+ <path
56
+ d="M 60.832 26.617 H 11.168 c -2.059 0 -3.728 -1.669 -3.728 -3.728 v 0 c 0 -2.059 1.669 -3.728 3.728 -3.728 h 49.664 c 2.059 0 3.728 1.669 3.728 3.728 v 0 C 64.56 24.948 62.891 26.617 60.832 26.617 z"
57
+ style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1;"
58
+ transform=" matrix(1 0 0 1 0 0) "
59
+ stroke-linecap="round"
60
+ id="path4" />
61
+ <path
62
+ d="M 89 34.186 H 1 c -0.552 0 -1 -0.448 -1 -1 V 18.576 c 0 -3.85 3.132 -6.982 6.982 -6.982 h 76.035 c 3.851 0 6.982 3.132 6.982 6.982 v 14.609 C 90 33.738 89.553 34.186 89 34.186 z M 2 32.186 h 86 V 18.576 c 0 -2.747 -2.235 -4.982 -4.982 -4.982 H 6.982 C 4.235 13.594 2 15.829 2 18.576 V 32.186 z"
63
+ style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;"
64
+ transform=" matrix(1 0 0 1 0 0) "
65
+ stroke-linecap="round"
66
+ id="path5" />
67
+ <path
68
+ d="M 60.832 27.618 H 11.168 c -2.607 0 -4.728 -2.121 -4.728 -4.728 s 2.121 -4.728 4.728 -4.728 h 49.664 c 2.606 0 4.728 2.121 4.728 4.728 S 63.438 27.618 60.832 27.618 z M 11.168 20.162 c -1.504 0 -2.728 1.224 -2.728 2.728 s 1.224 2.728 2.728 2.728 h 49.664 c 1.504 0 2.728 -1.224 2.728 -2.728 s -1.224 -2.728 -2.728 -2.728 H 11.168 z"
69
+ style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;"
70
+ transform=" matrix(1 0 0 1 0 0) "
71
+ stroke-linecap="round"
72
+ id="path6" />
73
+ <path
74
+ d="M 78.832 26.617 h -3.664 c -2.059 0 -3.728 -1.669 -3.728 -3.728 v 0 c 0 -2.059 1.669 -3.728 3.728 -3.728 h 3.664 c 2.059 0 3.728 1.669 3.728 3.728 v 0 C 82.56 24.948 80.891 26.617 78.832 26.617 z"
75
+ style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1;"
76
+ transform=" matrix(1 0 0 1 0 0) "
77
+ stroke-linecap="round"
78
+ id="path7" />
79
+ <path
80
+ d="M 78.832 27.618 h -3.664 c -2.606 0 -4.728 -2.121 -4.728 -4.728 s 2.121 -4.728 4.728 -4.728 h 3.664 c 2.606 0 4.728 2.121 4.728 4.728 S 81.438 27.618 78.832 27.618 z M 75.168 20.162 c -1.504 0 -2.728 1.224 -2.728 2.728 s 1.224 2.728 2.728 2.728 h 3.664 c 1.504 0 2.728 -1.224 2.728 -2.728 s -1.224 -2.728 -2.728 -2.728 H 75.168 z"
81
+ style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;"
82
+ transform=" matrix(1 0 0 1 0 0) "
83
+ stroke-linecap="round"
84
+ id="path8" />
85
+
86
+ <path
87
+ d="m 17.504754,69.4604 c -0.585957,0 -1.164228,-0.267043 -1.542698,-0.770389 -0.633986,-0.851077 -0.45916,-2.053729 0.389997,-2.689635 L 30.960616,55.097746 16.353974,44.197038 c -0.851078,-0.635907 -1.025904,-1.838558 -0.391918,-2.687715 0.633985,-0.851077 1.8424,-1.025904 2.687714,-0.391918 L 35.319747,53.55889 c 0.486055,0.363101 0.772309,0.933688 0.772309,1.540777 0,0.607089 -0.286254,1.175755 -0.770388,1.540777 L 18.651691,69.083851 C 18.307802,69.335524 17.904357,69.4604 17.504754,69.4604 Z"
88
+ style="opacity:1;fill:#000000;fill-rule:nonzero;stroke:none;stroke-width:1.92117;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
89
+ stroke-linecap="round"
90
+ id="path10" /><path
91
+ d="m 36.939396,69.4604 c -0.585957,0 -1.164228,-0.267043 -1.542698,-0.770389 -0.633986,-0.851077 -0.45916,-2.053729 0.389997,-2.689635 L 50.395258,55.097746 35.788616,44.197038 c -0.851078,-0.635907 -1.025904,-1.838558 -0.391918,-2.687715 0.633985,-0.851077 1.8424,-1.025904 2.687714,-0.391918 L 54.754389,53.55889 c 0.486055,0.363101 0.772309,0.933688 0.772309,1.540777 0,0.607089 -0.286254,1.175755 -0.770388,1.540777 L 38.086333,69.083851 C 37.742444,69.335524 37.338999,69.4604 36.939396,69.4604 Z"
92
+ style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-width:1.92117;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
93
+ stroke-linecap="round"
94
+ id="path10-9" /><path
95
+ d="m 56.374038,69.4604 c -0.585957,0 -1.164228,-0.267043 -1.542698,-0.770389 -0.633986,-0.851077 -0.45916,-2.053729 0.389997,-2.689635 L 69.8299,55.097746 55.223258,44.197038 C 54.37218,43.561131 54.197354,42.35848 54.83134,41.509323 c 0.633985,-0.851077 1.8424,-1.025904 2.687714,-0.391918 L 74.189031,53.55889 c 0.486055,0.363101 0.772309,0.933688 0.772309,1.540777 0,0.607089 -0.286254,1.175755 -0.770388,1.540777 L 57.520975,69.083851 C 57.177086,69.335524 56.773641,69.4604 56.374038,69.4604 Z"
96
+ style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-width:1.92117;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
97
+ stroke-linecap="round"
98
+ id="path10-8" />
99
+
100
+ </g>
101
+ </svg>