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 @@
1
+ <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="green" d="M11.512914 4.903743c0-.659694-.539751-1.199445-1.199446-1.199445H8.5142995c-.209903 0-.329847-.239889-.209903-.419806.179917-.299861.269875-.659695.179917-1.049515-.119945-.599722-.569737-1.0795-1.139473-1.199445-.989543-.20990296-1.829154.53975-1.829154 1.469321 0 .299861.08996.53975.209903.779639.119944.179917 0 .419806-.239889.419806h-1.799169c-.6596946 0-1.199445.539751-1.199445 1.199445v2.09903c0 .209903.2398891.329847.4198059.209903.2998613-.179917.659695-.269875 1.0495151-.179917.599722.119945 1.0795.569737 1.199445 1.139473.209903.959557-.53975 1.829154-1.469321 1.829154-.2998609 0-.53975-.08996-.7796391-.209902-.1499307-.119945-.3898198 0-.3898198.209902v1.799169C2.5170726 12.46025 3.0568231 13 3.7165185 13h6.5969485c.659695 0 1.199446-.53975 1.199446-1.199445V4.903743z"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="#42a5f5" d="M10.6 4.6V13H2.2V2.2h6z"/><path fill="#90caf9" d="M11.8 3.4v8.4H3.4V1h6z"/><path fill="#e1f5fe" d="M11.35 3.7H9.1V1.45z"/><path fill="#1976d2" d="M7.15 8.29c0-1.41 1.08-1.32 1.08-2.16 0-.21-.06-.63-.6-.63-.6 0-.63.48-.63.6h-.81c0-.21.09-1.26 1.44-1.26 1.38 0 1.41 1.08 1.41 1.29 0 1.05-1.14 1.2-1.14 2.19h-.75zm-.06 1.05c0-.06 0-.45.45-.45.42 0 .45.39.45.45 0 .12-.06.42-.45.42s-.45-.3-.45-.42z"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="#ef6c00" d="M10.82857149 7.17142857l-3.31428577-.62857143L6.4 3.34285709l-1.0857143.37142858 1.11428573 3.17142861L4.19999996 9.4571429l.85714287.74285716 2.22857146-2.57142861 3.31428576.62857144.22857144-1.0857143z"/><g fill="#ff9800"><path d="M7 5.57142855c-.80000001 0-1.42857145.62857144-1.42857145 1.42857145S6.19999999 8.42857145 7 8.42857145 8.42857145 7.80000001 8.42857145 7 7.80000001 5.57142855 7 5.57142855zm0 2.00000003c-.31428572 0-.57142858-.25714286-.57142858-.57142858S6.68571428 6.42857142 7 6.42857142 7.57142858 6.68571428 7.57142858 7 7.31428572 7.57142858 7 7.57142858z"/><path d="M11.77142864 7.85714287c.05714286-.28571429.08571429-.57142858.08571429-.85714287 0-.28571429-.02857143-.57142858-.08571429-.85714287l.94285716-.6857143c.11428572-.08571428.17142857-.25714286.08571429-.4l-1.22857145-2.11428575c-.08571429-.14285714-.22857143-.2-.37142858-.11428571l-1.05714287.45714286c-.42857143-.37142858-.94285716-.65714287-1.4857143-.85714287l-.11428572-1.17142859c-.02857143-.14285714-.14285715-.25714286-.2857143-.25714286H5.79999999c-.14285714 0-.28571429.11428572-.28571429.25714286l-.17142857 1.17142859c-.54285715.2-1.05714287.4857143-1.48571431.85714287l-1.05714287-.4857143c-.14285715-.05714285-.31428572 0-.37142858.14285715L1.19999991 5.05714283c-.08571428.14285714-.02857143.31428572.08571429.4l.94285716.6857143C2.1714285 6.42857142 2.14285707 6.71428571 2.14285707 7c0 .28571429.02857143.57142858.08571429.85714287l-.94285716.6857143c-.11428572.08571428-.17142857.25714286-.08571429.4l1.22857145 2.11428575c.08571429.14285714.22857143.2.37142858.11428571l1.05714287-.45714286c.42857144.37142858.94285716.65714287 1.4857143.85714287l.11428572 1.17142859c.02857143.14285714.14285715.25714286.2857143.25714286h2.45714289c.14285714 0 .28571429-.11428572.28571429-.25714286l.11428571-1.17142859c.54285716-.2 1.05714288-.4857143 1.48571431-.85714287l1.05714288.4857143c.14285714.05714285.31428571 0 .37142857-.11428572l1.22857145-2.11428575c.08571429-.14285714.02857143-.31428572-.08571429-.4l-.8857143-.71428573zM7 10.14285719c-1.74285717 0-3.14285719-1.40000002-3.14285719-3.14285719S5.25714283 3.85714281 7 3.85714281 10.14285719 5.25714283 10.14285719 7 8.74285717 10.14285719 7 10.14285719z"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M5.375 7.75c-.275.3-.675.5-1.125.5H3.5c-.825 0-1.5-.675-1.5-1.5s.675-1.5 1.5-1.5h.75c.45 0 .85.2 1.125.5H6.55c-.375-.875-1.275-1.5-2.3-1.5H3.5C2.125 4.25 1 5.375 1 6.75s1.125 2.5 2.5 2.5h.75c1.025 0 1.9-.625 2.3-1.5H5.375zm5.125-3.5h-.75c-1.025 0-1.9.625-2.3 1.5h1.175c.275-.3.675-.5 1.125-.5h.75c.825 0 1.5.675 1.5 1.5s-.675 1.5-1.5 1.5h-.75c-.45 0-.85-.2-1.125-.5H7.45c.375.875 1.275 1.5 2.3 1.5h.75c1.375 0 2.5-1.125 2.5-2.5s-1.125-2.5-2.5-2.5z"/><path fill="red" d="M5 2.5l1.525 2.025.325-.2L5.875 2zm4 0L7.475 4.525l-.325-.2L8.125 2zm0 9L7.475 9.475l-.325.2L8.125 12zm-4 0l1.525-2.025.325.2L5.875 12z"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="#4caf50" d="M11.90909086 3.18181822H2.09090914c-.6 0-1.09090908.49090909-1.09090908 1.09090908v4.36363632h11.99999988V4.2727273c0-.6-.49090909-1.09090908-1.09090908-1.09090908z"/><path fill="#37474f" d="M1.00000006 8.63636362V9.7272727c0 .6.49090909 1.09090908 1.09090908 1.09090908h4.63636359V9.45454543c0-.16363636.1090909-.27272727.27272727-.27272727.16363636 0 .27272727.1090909.27272727.27272727v1.36363635h4.63636359c.6 0 1.09090908-.49090909 1.09090908-1.09090908V8.63636362H1.00000006z"/><path fill="#ff9800" d="M2.36363641 9.18181816h.54545454v1.63636362h-.54545454zm1.09090908 0h.54545454v1.63636362h-.54545454zm1.09090908 0h.54545454v1.63636362h-.54545454zm1.09090908 0h.54545454v1.63636362h-.54545454zm2.18181816 0h.54545454v1.63636362h-.54545454zm1.09090908 0h.54545454v1.63636362h-.54545454zm1.09090908 0h.54545454v1.63636362h-.54545454zm1.09090908 0h.54545454v1.63636362h-.54545454z"/><path fill="#37474f" d="M5.90909092 4.81818184h2.18181816v2.7272727H5.90909092zm3.27272724 0h2.18181816v2.7272727H9.18181816zm-6.54545448 0h2.18181816v2.7272727H2.63636368z"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="#ffc107" d="M.99999991 6.14285713h12.00000018v5.42857151H.99999991z"/><path fill="#455a64" d="M13.00000009 6.14285713V4.71428568c0-.31542858-.256-.57142858-.57142858-.57142858H1.57142849c-.31542858 0-.57142858.256-.57142858.57142858v1.42857145h12.00000018zM5.57142855 4.1428571V2.99999994h2.57142861V4.1428571h.57142858V2.99999994c0-.31542858-.256-.57142858-.57142858-.57142858H5.57142855c-.31542858 0-.57142858.256-.57142858.57142858V4.1428571h.57142858z"/><path fill="#78909c" d="M2.71428565 5.57142855h1.71428574v2.57142861H2.71428565zm6.85714296 0h1.71428574v2.57142861H9.57142861z"/><path fill="#455a64" d="M2.71428565 7h1.71428574v.57142858H2.71428565zm6.85714296 0h1.71428574v.57142858H9.57142861z"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><g transform="translate(-.12893745 -.14110466) scale(.28528)"><path fill="#90caf9" d="M33 13v29H5V4h19z"/><path fill="#e1f5fe" d="M31.5 14H23V5.5z"/><path fill="#616161" d="M34.50469859 37.5805l1.9796-1.9796 8.484 8.484-1.9796 1.9796z"/><circle cx="28" cy="29" r="11" fill="#616161"/><circle cx="28" cy="29" r="9" fill="#90caf9"/><path fill="#37474f" d="M36.84869859 39.87969859l1.9796-1.9796 6.15089985 6.15089985-1.9796 1.9796z"/><path fill="#1976d2" d="M30 31h-9.7c.4 1.6 1.3 3 2.5 4H30v-4zm-9.7-4H30v-4h-7.3c-1.2 1-2 2.4-2.4 4zm-.2-7H11v2h7.3c.5-.7 1.1-1.4 1.8-2zm-3 4H11v2h5.4c.2-.7.4-1.4.7-2zM16 29c0-.3 0-.7.1-1H11v2h5.1c-.1-.3-.1-.7-.1-1zm.4 3H11v2h6.1c-.3-.6-.5-1.3-.7-2z"/></g></svg>
@@ -0,0 +1,74 @@
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
+ id="svg2"
8
+ version="1.1"
9
+ inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
10
+ width="100%"
11
+ height="100%"
12
+ sodipodi:docname="markers.svg"
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
+ <metadata
21
+ id="metadata12">
22
+ <rdf:RDF>
23
+ <cc:Work
24
+ rdf:about="">
25
+ <dc:format>image/svg+xml</dc:format>
26
+ <dc:type
27
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
+ </cc:Work>
29
+ </rdf:RDF>
30
+ </metadata>
31
+ <defs
32
+ id="defs10" />
33
+ <sodipodi:namedview
34
+ pagecolor="#ffffff"
35
+ bordercolor="#666666"
36
+ borderopacity="1"
37
+ objecttolerance="10"
38
+ gridtolerance="10"
39
+ guidetolerance="10"
40
+ inkscape:pageopacity="0"
41
+ inkscape:pageshadow="2"
42
+ inkscape:window-width="1920"
43
+ inkscape:window-height="1009"
44
+ id="namedview8"
45
+ showgrid="false"
46
+ inkscape:zoom="33.714286"
47
+ inkscape:cx="4.6122881"
48
+ inkscape:cy="6.154661"
49
+ inkscape:window-x="-8"
50
+ inkscape:window-y="-8"
51
+ inkscape:window-maximized="1"
52
+ inkscape:current-layer="svg2"
53
+ inkscape:pagecheckerboard="0"
54
+ inkscape:showpageshadow="0"
55
+ inkscape:deskcolor="#505050" />
56
+ <rect
57
+ style="fill:none;stroke:#cccccc;stroke-width:0;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-dashoffset:0"
58
+ id="rect1"
59
+ width="13.741512"
60
+ height="12.777196"
61
+ x="0.1144135"
62
+ y="0.35593221"
63
+ ry="0.28600913" />
64
+ <path
65
+ style="fill:#ffcc00;stroke:#ffcc00;stroke-width:0.94786;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:1.89572, 0.94786;stroke-dashoffset:0"
66
+ d="M 7.0023898,0.39670903 V 13.60895"
67
+ id="path3"
68
+ sodipodi:nodetypes="cc" />
69
+ <path
70
+ style="fill:#ffcc00;stroke:#ffcc00;stroke-width:0.94786;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:1.89572, 0.94786;stroke-dashoffset:0"
71
+ d="M 0.39626943,7.0028294 H 13.608511"
72
+ id="path3-8"
73
+ sodipodi:nodetypes="cc" />
74
+ </svg>
@@ -0,0 +1,13 @@
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 84 29 H 30.75 c -3.314 0 -6 -2.686 -6 -6 v 0 c 0 -3.314 2.686 -6 6 -6 H 84 c 3.314 0 6 2.686 6 6 v 0 C 90 26.314 87.314 29 84 29 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(80,86,91); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
7
+ <path d="M 9.25 29 H 6 c -3.314 0 -6 -2.686 -6 -6 v 0 c 0 -3.314 2.686 -6 6 -6 h 3.25 c 3.314 0 6 2.686 6 6 v 0 C 15.25 26.314 12.564 29 9.25 29 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(168,24,24); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
8
+ <path d="M 84 51 H 30.75 c -3.314 0 -6 -2.686 -6 -6 v 0 c 0 -3.314 2.686 -6 6 -6 H 84 c 3.314 0 6 2.686 6 6 v 0 C 90 48.314 87.314 51 84 51 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(80,86,91); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
9
+ <path d="M 9.25 51 H 6 c -3.314 0 -6 -2.686 -6 -6 v 0 c 0 -3.314 2.686 -6 6 -6 h 3.25 c 3.314 0 6 2.686 6 6 v 0 C 15.25 48.314 12.564 51 9.25 51 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(38,163,25); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
10
+ <path d="M 84 73 H 30.75 c -3.314 0 -6 -2.686 -6 -6 v 0 c 0 -3.314 2.686 -6 6 -6 H 84 c 3.314 0 6 2.686 6 6 v 0 C 90 70.314 87.314 73 84 73 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(80,86,91); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
11
+ <path d="M 9.25 73 H 6 c -3.314 0 -6 -2.686 -6 -6 v 0 c 0 -3.314 2.686 -6 6 -6 h 3.25 c 3.314 0 6 2.686 6 6 v 0 C 15.25 70.314 12.564 73 9.25 73 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(30,57,193); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
12
+ </g>
13
+ </svg>
@@ -0,0 +1,148 @@
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="new_ima.svg"
10
+ inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
11
+ xml:space="preserve"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
16
+ id="defs16" /><sodipodi:namedview
17
+ id="namedview14"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#000000"
20
+ borderopacity="0.25"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ showgrid="false"
26
+ inkscape:zoom="42.274884"
27
+ inkscape:cx="1.5966927"
28
+ inkscape:cy="6.0082956"
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="svg12" /><path
35
+ style="fill:#37474f;fill-opacity:1;stroke-width:0.0499186"
36
+ d="M 11.603869,12.127256 C 8.9548968,12.1668 3.594453,12.146305 3.4323153,12.096014 2.8000908,11.899906 2.0577058,11.158183 1.8007394,10.465894 1.6862792,10.157531 1.6918551,9.8866897 1.8899974,6.1288758 2.0801388,2.5227926 2.1144896,2.1080562 2.2324527,1.9941102 2.3514585,1.8794971 2.7393353,1.8661327 6.3767717,1.8532242 c 3.7790143,-0.01341 4.0320983,-0.0061 4.3370693,0.1253306 0.681468,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.3172892 -0.22825,3.9853222 -0.325838,4.1041532 -0.06411,0.07807 -0.14691,0.142503 -0.184203,0.142984 z"
37
+ id="path468" /><g
38
+ id="g22811"
39
+ transform="matrix(0.97634529,0,-0.04619032,0.97634529,0.79214309,0.58190579)"><rect
40
+ style="fill:#0060ff;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
41
+ id="rect10749"
42
+ width="2"
43
+ height="2"
44
+ x="2.5999999"
45
+ y="2.5999999" /><rect
46
+ style="fill:#ff7200;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
47
+ id="rect10749-7"
48
+ width="2"
49
+ height="2"
50
+ x="2.5999999"
51
+ y="4.5999999" /><rect
52
+ style="fill:#ff4300;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
53
+ id="rect10749-1"
54
+ width="2"
55
+ height="2"
56
+ x="4.5999999"
57
+ y="2.5999999" /><rect
58
+ style="fill:#ffbb00;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
59
+ id="rect10749-7-5"
60
+ width="2"
61
+ height="2"
62
+ x="4.5999999"
63
+ y="4.5999999" /><rect
64
+ style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
65
+ id="rect10749-8"
66
+ width="2"
67
+ height="2"
68
+ x="6.5999999"
69
+ y="2.5999999" /><rect
70
+ style="fill:#ff3200;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
71
+ id="rect10749-7-0"
72
+ width="2"
73
+ height="2"
74
+ x="6.5999999"
75
+ y="4.5999999" /><rect
76
+ style="fill:#0000fb;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
77
+ id="rect10749-1-4"
78
+ width="2"
79
+ height="2"
80
+ x="8.6000004"
81
+ y="2.5999999" /><rect
82
+ style="fill:#28ffcf;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
83
+ id="rect10749-7-5-5"
84
+ width="2"
85
+ height="2"
86
+ x="8.6000004"
87
+ y="4.5999999" /><rect
88
+ style="fill:#1fffd8;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
89
+ id="rect10749-84"
90
+ width="2"
91
+ height="2"
92
+ x="2.5999999"
93
+ y="6.5999999" /><rect
94
+ style="fill:#b80000;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
95
+ id="rect10749-7-8"
96
+ width="2"
97
+ height="2"
98
+ x="2.5999999"
99
+ y="8.6000004" /><rect
100
+ style="fill:#0000cf;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
101
+ id="rect10749-1-1"
102
+ width="2"
103
+ height="2"
104
+ x="4.5999999"
105
+ y="6.5999999" /><rect
106
+ style="fill:#40ffb7;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
107
+ id="rect10749-7-5-4"
108
+ width="2"
109
+ height="2"
110
+ x="4.5999999"
111
+ y="8.6000004" /><rect
112
+ style="fill:#c4ff33;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
113
+ id="rect10749-8-8"
114
+ width="2"
115
+ height="2"
116
+ x="6.5999999"
117
+ y="6.5999999" /><rect
118
+ style="fill:#910000;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
119
+ id="rect10749-7-0-4"
120
+ width="2"
121
+ height="2"
122
+ x="6.5999999"
123
+ y="8.6000004" /><rect
124
+ style="fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
125
+ id="rect10749-1-4-3"
126
+ width="2"
127
+ height="2"
128
+ x="8.6000004"
129
+ y="6.5999999" /><rect
130
+ style="fill:#44ffb3;fill-opacity:1;stroke:none;stroke-width:0.402;stroke-opacity:1"
131
+ id="rect10749-7-5-5-3"
132
+ width="2"
133
+ height="2"
134
+ x="8.6000004"
135
+ y="8.6000004" /></g><g
136
+ id="g3798"
137
+ transform="matrix(0.54267566,0,0,0.54267566,6.7985787,6.8695433)"><circle
138
+ cx="7"
139
+ cy="7"
140
+ r="6"
141
+ fill="#4caf50"
142
+ id="circle2915" /><g
143
+ fill="#ffffff"
144
+ id="g2921"><path
145
+ d="M 6.1428571,4.1428571 H 7.8571429 V 9.8571429 H 6.1428571 Z"
146
+ id="path2917" /><path
147
+ d="M 4.1428571,6.1428571 H 9.8571429 V 7.8571429 H 4.1428571 Z"
148
+ id="path2919" /></g></g></svg>
@@ -0,0 +1,123 @@
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="new_sig.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="4.7191141"
29
+ inkscape:cy="7.2856498"
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:#37474f;fill-opacity:1;stroke-width:0.0499186"
38
+ 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"
39
+ id="path468" />
40
+ <rect
41
+ style="fill:#e6e6e6;fill-opacity:1;stroke:none;stroke-width:1.57074;stroke-opacity:1"
42
+ id="rect10749-5"
43
+ width="7.8104901"
44
+ height="7.8187361"
45
+ x="3.3771245"
46
+ y="3.1234901"
47
+ transform="matrix(1,0,-0.04725952,0.99888264,0,0)" />
48
+ <rect
49
+ style="fill:#696969;fill-opacity:0.817241;stroke-width:0.402"
50
+ id="rect28089"
51
+ width="0.47309414"
52
+ height="7.6168156"
53
+ x="6.7652464"
54
+ y="3.1933856" />
55
+ <rect
56
+ style="fill:#696969;fill-opacity:0.817241;stroke-width:0.402"
57
+ id="rect28089-7"
58
+ width="0.47309414"
59
+ height="7.6168156"
60
+ x="6.6469727"
61
+ y="-10.810202"
62
+ transform="rotate(90)" />
63
+ <g
64
+ id="g3798"
65
+ transform="matrix(0.54267566,0,0,0.54267566,6.7985787,6.8695433)">
66
+ <circle
67
+ cx="7"
68
+ cy="7"
69
+ r="6"
70
+ fill="#4caf50"
71
+ id="circle2915" />
72
+ <g
73
+ fill="#ffffff"
74
+ id="g2921">
75
+ <path
76
+ d="M 6.1428571,4.1428571 H 7.8571429 V 9.8571429 H 6.1428571 Z"
77
+ id="path2917" />
78
+ <path
79
+ d="M 4.1428571,6.1428571 H 9.8571429 V 7.8571429 H 4.1428571 Z"
80
+ id="path2919" />
81
+ </g>
82
+ </g>
83
+ <path
84
+ style="fill:none;fill-opacity:0.817241;stroke-width:0.402;stroke:#ff0000;stroke-opacity:1"
85
+ 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"
86
+ id="path32265" />
87
+ <circle
88
+ cx="8.2457867"
89
+ cy="4.4486394"
90
+ r="0.58283854"
91
+ id="circle20-2"
92
+ style="fill:#ff5555;stroke-width:0.19428" />
93
+ <circle
94
+ cx="7.0560775"
95
+ cy="5.641458"
96
+ r="0.58283854"
97
+ id="circle22-3"
98
+ style="fill:#ff5555;stroke-width:0.19428" />
99
+ <circle
100
+ cx="6.0082951"
101
+ cy="8.2554922"
102
+ r="0.58283854"
103
+ id="circle24-6"
104
+ style="fill:#ff5555;stroke-width:0.19428" />
105
+ <circle
106
+ cx="5.0078225"
107
+ cy="9.4161282"
108
+ r="0.58283854"
109
+ id="circle26-0"
110
+ style="fill:#ff5555;stroke-width:0.19428" />
111
+ <circle
112
+ cx="3.534256"
113
+ cy="10.017958"
114
+ r="0.58283854"
115
+ id="circle28-1"
116
+ style="fill:#ff5555;stroke-width:0.19428" />
117
+ <circle
118
+ cx="10.147869"
119
+ cy="3.9030263"
120
+ r="0.58283854"
121
+ id="circle28-1-2"
122
+ style="fill:#ff5555;stroke-width:0.19428" />
123
+ </svg>
@@ -0,0 +1,116 @@
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="absolute.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="defs12">
17
+ <clipPath
18
+ clipPathUnits="userSpaceOnUse"
19
+ id="clipPath26">
20
+ <g
21
+ id="g27">
22
+ <rect
23
+ x="21.696568"
24
+ y="20.771685"
25
+ width="310.60657"
26
+ height="141.1848"
27
+ id="rect26"
28
+ style="stroke-width:1.76481" />
29
+ </g>
30
+ </clipPath>
31
+ <clipPath
32
+ clipPathUnits="userSpaceOnUse"
33
+ id="clipPath24">
34
+ <g
35
+ id="g25">
36
+ <rect
37
+ x="21.696568"
38
+ y="20.771685"
39
+ width="310.60657"
40
+ height="141.1848"
41
+ id="rect24"
42
+ style="stroke-width:1.76481" />
43
+ </g>
44
+ </clipPath>
45
+ <clipPath
46
+ clipPathUnits="userSpaceOnUse"
47
+ id="clipPath23">
48
+ <g
49
+ id="g24">
50
+ <rect
51
+ x="21.696568"
52
+ y="20.771685"
53
+ width="310.60657"
54
+ height="141.1848"
55
+ id="rect23"
56
+ style="stroke-width:1.76481" />
57
+ </g>
58
+ </clipPath>
59
+ <clipPath
60
+ clipPathUnits="userSpaceOnUse"
61
+ id="clipPath22">
62
+ <g
63
+ id="g23">
64
+ <rect
65
+ x="21.696568"
66
+ y="20.771685"
67
+ width="310.60657"
68
+ height="141.1848"
69
+ id="rect22"
70
+ style="stroke-width:1.76481" />
71
+ </g>
72
+ </clipPath>
73
+ </defs>
74
+ <sodipodi:namedview
75
+ id="namedview10"
76
+ pagecolor="#ffffff"
77
+ bordercolor="#666666"
78
+ borderopacity="1.0"
79
+ inkscape:pageshadow="2"
80
+ inkscape:pageopacity="0.0"
81
+ inkscape:pagecheckerboard="0"
82
+ showgrid="false"
83
+ inkscape:zoom="29.714286"
84
+ inkscape:cx="14.016827"
85
+ inkscape:cy="5.8725961"
86
+ inkscape:window-width="1920"
87
+ inkscape:window-height="1009"
88
+ inkscape:window-x="-8"
89
+ inkscape:window-y="-8"
90
+ inkscape:window-maximized="1"
91
+ inkscape:current-layer="svg8"
92
+ inkscape:showpageshadow="2"
93
+ inkscape:deskcolor="#d1d1d1" />
94
+ <path
95
+ d="m 13.498486,2.7118053 v 8.5763897 c 0,0.589625 -0.688078,1.072048 -1.529058,1.072048 H 2.0305694 c -0.8409806,0 -1.5290554,-0.482423 -1.5290554,-1.072048 V 2.7118053 c 0,-0.5896271 0.6880748,-1.0720484 1.5290554,-1.0720484 h 9.9388586 c 0.84098,0 1.529058,0.4824213 1.529058,1.0720484 z"
96
+ id="path2-7"
97
+ style="fill:#f99090;fill-opacity:1;stroke-width:1.1089" />
98
+ <text
99
+ xml:space="preserve"
100
+ style="font-size:9.38041px;line-height:1.05;font-family:Calibri;-inkscape-font-specification:Calibri;letter-spacing:0px;fill:none;stroke:#da251d;stroke-width:0.410393"
101
+ x="1.0914409"
102
+ y="9.6657219"
103
+ id="text1"><tspan
104
+ sodipodi:role="line"
105
+ id="tspan1"
106
+ x="1.0914409"
107
+ y="9.6657219"
108
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.38041px;font-family:Verdana;-inkscape-font-specification:Verdana;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.410393">| |</tspan></text>
109
+ <rect
110
+ style="fill:#f2f2f2;stroke-width:0.325703"
111
+ id="rect1"
112
+ width="3.7692308"
113
+ height="2.8269231"
114
+ x="5.1153846"
115
+ y="5.5865383" />
116
+ </svg>
@@ -0,0 +1,123 @@
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="arithmetic.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="defs12">
17
+ <clipPath
18
+ clipPathUnits="userSpaceOnUse"
19
+ id="clipPath26">
20
+ <g
21
+ id="g27">
22
+ <rect
23
+ x="21.696568"
24
+ y="20.771685"
25
+ width="310.60657"
26
+ height="141.1848"
27
+ id="rect26"
28
+ style="stroke-width:1.76481" />
29
+ </g>
30
+ </clipPath>
31
+ <clipPath
32
+ clipPathUnits="userSpaceOnUse"
33
+ id="clipPath24">
34
+ <g
35
+ id="g25">
36
+ <rect
37
+ x="21.696568"
38
+ y="20.771685"
39
+ width="310.60657"
40
+ height="141.1848"
41
+ id="rect24"
42
+ style="stroke-width:1.76481" />
43
+ </g>
44
+ </clipPath>
45
+ <clipPath
46
+ clipPathUnits="userSpaceOnUse"
47
+ id="clipPath23">
48
+ <g
49
+ id="g24">
50
+ <rect
51
+ x="21.696568"
52
+ y="20.771685"
53
+ width="310.60657"
54
+ height="141.1848"
55
+ id="rect23"
56
+ style="stroke-width:1.76481" />
57
+ </g>
58
+ </clipPath>
59
+ <clipPath
60
+ clipPathUnits="userSpaceOnUse"
61
+ id="clipPath22">
62
+ <g
63
+ id="g23">
64
+ <rect
65
+ x="21.696568"
66
+ y="20.771685"
67
+ width="310.60657"
68
+ height="141.1848"
69
+ id="rect22"
70
+ style="stroke-width:1.76481" />
71
+ </g>
72
+ </clipPath>
73
+ </defs>
74
+ <sodipodi:namedview
75
+ id="namedview10"
76
+ pagecolor="#ffffff"
77
+ bordercolor="#666666"
78
+ borderopacity="1.0"
79
+ inkscape:pageshadow="2"
80
+ inkscape:pageopacity="0.0"
81
+ inkscape:pagecheckerboard="0"
82
+ showgrid="false"
83
+ inkscape:zoom="29.714286"
84
+ inkscape:cx="14.016827"
85
+ inkscape:cy="7.6899038"
86
+ inkscape:window-width="1920"
87
+ inkscape:window-height="1009"
88
+ inkscape:window-x="1912"
89
+ inkscape:window-y="-8"
90
+ inkscape:window-maximized="1"
91
+ inkscape:current-layer="g1"
92
+ inkscape:showpageshadow="2"
93
+ inkscape:deskcolor="#d1d1d1" />
94
+ <path
95
+ d="m 13.397525,2.5065169 v 9.4917741 c 0,0.652558 -0.677388,1.186471 -1.505303,1.186471 H 2.107775 c -0.8279149,0 -1.50529969,-0.533913 -1.50529969,-1.186471 V 2.5065169 c 0,-0.6525599 0.67738479,-1.1864715 1.50529969,-1.1864715 h 9.784447 c 0.827915,0 1.505303,0.5339116 1.505303,1.1864715 z"
96
+ id="path2-7"
97
+ style="fill:#f99090;fill-opacity:1;stroke-width:1.15748" />
98
+ <g
99
+ id="g1">
100
+ <path
101
+ style="font-size:9.67284px;line-height:0.85;font-family:Verdana;-inkscape-font-specification:Verdana;text-align:center;letter-spacing:0px;text-anchor:middle;stroke-width:0.59545"
102
+ d="M 9.3347975,6.4402321 H 6.3876041 v -0.854875 h 2.9471934 z"
103
+ id="text1"
104
+ transform="scale(1.3085968,0.76417733)"
105
+ aria-label="&#10;-" />
106
+ <path
107
+ style="font-size:6.22887px;line-height:0.85;font-family:Verdana;-inkscape-font-specification:Verdana;text-align:center;letter-spacing:0px;text-anchor:middle;stroke-width:0.479304"
108
+ d="M 9.2196623,10.8616 7.0389496,16.518679 H 6.5127804 L 8.6843688,10.8616 Z"
109
+ id="text1-4"
110
+ transform="scale(1.3077616,0.76466536)"
111
+ aria-label="/" />
112
+ <path
113
+ style="font-size:7.39177px;line-height:0.85;font-family:Verdana;-inkscape-font-specification:Verdana;text-align:center;letter-spacing:0px;text-anchor:middle;stroke-width:0.455029"
114
+ d="M 6.6853853,4.883579 H 4.7183372 V 6.8506271 H 4.1191996 V 4.883579 H 2.1521515 V 4.3060969 H 4.1191996 V 2.3390488 h 0.5991376 v 1.9670481 h 1.9670481 z"
115
+ id="text1-0"
116
+ aria-label="+" />
117
+ <path
118
+ style="font-size:7.39177px;line-height:0.85;font-family:Verdana;-inkscape-font-specification:Verdana;text-align:center;letter-spacing:0px;text-anchor:middle;stroke-width:0.455029"
119
+ d="M 6.3894258,12.484144 H 5.5340306 L 4.3898943,10.935771 3.2385395,12.484144 H 2.448111 L 4.0217495,10.473785 2.4625481,8.4525978 H 3.3179433 L 4.454861,9.9757067 5.595388,8.4525978 H 6.3894258 L 4.8049595,10.437692 Z"
120
+ id="text1-5"
121
+ aria-label="x" />
122
+ </g>
123
+ </svg>