hyperdivlite 0.1.9__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 (2380) hide show
  1. frontend/public/build/bundle.css +1616 -0
  2. frontend/public/build/bundle.js +6738 -0
  3. frontend/public/build/shoelace/assets/icons/0-circle-fill.svg +4 -0
  4. frontend/public/build/shoelace/assets/icons/0-circle.svg +4 -0
  5. frontend/public/build/shoelace/assets/icons/0-square-fill.svg +4 -0
  6. frontend/public/build/shoelace/assets/icons/0-square.svg +4 -0
  7. frontend/public/build/shoelace/assets/icons/1-circle-fill.svg +3 -0
  8. frontend/public/build/shoelace/assets/icons/1-circle.svg +3 -0
  9. frontend/public/build/shoelace/assets/icons/1-square-fill.svg +3 -0
  10. frontend/public/build/shoelace/assets/icons/1-square.svg +4 -0
  11. frontend/public/build/shoelace/assets/icons/123.svg +3 -0
  12. frontend/public/build/shoelace/assets/icons/2-circle-fill.svg +3 -0
  13. frontend/public/build/shoelace/assets/icons/2-circle.svg +3 -0
  14. frontend/public/build/shoelace/assets/icons/2-square-fill.svg +3 -0
  15. frontend/public/build/shoelace/assets/icons/2-square.svg +4 -0
  16. frontend/public/build/shoelace/assets/icons/3-circle-fill.svg +3 -0
  17. frontend/public/build/shoelace/assets/icons/3-circle.svg +4 -0
  18. frontend/public/build/shoelace/assets/icons/3-square-fill.svg +3 -0
  19. frontend/public/build/shoelace/assets/icons/3-square.svg +4 -0
  20. frontend/public/build/shoelace/assets/icons/4-circle-fill.svg +3 -0
  21. frontend/public/build/shoelace/assets/icons/4-circle.svg +4 -0
  22. frontend/public/build/shoelace/assets/icons/4-square-fill.svg +4 -0
  23. frontend/public/build/shoelace/assets/icons/4-square.svg +4 -0
  24. frontend/public/build/shoelace/assets/icons/5-circle-fill.svg +3 -0
  25. frontend/public/build/shoelace/assets/icons/5-circle.svg +3 -0
  26. frontend/public/build/shoelace/assets/icons/5-square-fill.svg +3 -0
  27. frontend/public/build/shoelace/assets/icons/5-square.svg +4 -0
  28. frontend/public/build/shoelace/assets/icons/6-circle-fill.svg +3 -0
  29. frontend/public/build/shoelace/assets/icons/6-circle.svg +3 -0
  30. frontend/public/build/shoelace/assets/icons/6-square-fill.svg +4 -0
  31. frontend/public/build/shoelace/assets/icons/6-square.svg +4 -0
  32. frontend/public/build/shoelace/assets/icons/7-circle-fill.svg +3 -0
  33. frontend/public/build/shoelace/assets/icons/7-circle.svg +3 -0
  34. frontend/public/build/shoelace/assets/icons/7-square-fill.svg +3 -0
  35. frontend/public/build/shoelace/assets/icons/7-square.svg +4 -0
  36. frontend/public/build/shoelace/assets/icons/8-circle-fill.svg +3 -0
  37. frontend/public/build/shoelace/assets/icons/8-circle.svg +3 -0
  38. frontend/public/build/shoelace/assets/icons/8-square-fill.svg +4 -0
  39. frontend/public/build/shoelace/assets/icons/8-square.svg +4 -0
  40. frontend/public/build/shoelace/assets/icons/9-circle-fill.svg +3 -0
  41. frontend/public/build/shoelace/assets/icons/9-circle.svg +3 -0
  42. frontend/public/build/shoelace/assets/icons/9-square-fill.svg +4 -0
  43. frontend/public/build/shoelace/assets/icons/9-square.svg +4 -0
  44. frontend/public/build/shoelace/assets/icons/LICENSE +21 -0
  45. frontend/public/build/shoelace/assets/icons/activity.svg +3 -0
  46. frontend/public/build/shoelace/assets/icons/airplane-engines-fill.svg +3 -0
  47. frontend/public/build/shoelace/assets/icons/airplane-engines.svg +3 -0
  48. frontend/public/build/shoelace/assets/icons/airplane-fill.svg +3 -0
  49. frontend/public/build/shoelace/assets/icons/airplane.svg +3 -0
  50. frontend/public/build/shoelace/assets/icons/alarm-fill.svg +3 -0
  51. frontend/public/build/shoelace/assets/icons/alarm.svg +4 -0
  52. frontend/public/build/shoelace/assets/icons/alexa.svg +3 -0
  53. frontend/public/build/shoelace/assets/icons/align-bottom.svg +4 -0
  54. frontend/public/build/shoelace/assets/icons/align-center.svg +3 -0
  55. frontend/public/build/shoelace/assets/icons/align-end.svg +4 -0
  56. frontend/public/build/shoelace/assets/icons/align-middle.svg +3 -0
  57. frontend/public/build/shoelace/assets/icons/align-start.svg +4 -0
  58. frontend/public/build/shoelace/assets/icons/align-top.svg +4 -0
  59. frontend/public/build/shoelace/assets/icons/alipay.svg +4 -0
  60. frontend/public/build/shoelace/assets/icons/alphabet-uppercase.svg +3 -0
  61. frontend/public/build/shoelace/assets/icons/alphabet.svg +3 -0
  62. frontend/public/build/shoelace/assets/icons/alt.svg +3 -0
  63. frontend/public/build/shoelace/assets/icons/amazon.svg +4 -0
  64. frontend/public/build/shoelace/assets/icons/amd.svg +3 -0
  65. frontend/public/build/shoelace/assets/icons/android.svg +3 -0
  66. frontend/public/build/shoelace/assets/icons/android2.svg +3 -0
  67. frontend/public/build/shoelace/assets/icons/app-indicator.svg +4 -0
  68. frontend/public/build/shoelace/assets/icons/app.svg +3 -0
  69. frontend/public/build/shoelace/assets/icons/apple.svg +4 -0
  70. frontend/public/build/shoelace/assets/icons/archive-fill.svg +3 -0
  71. frontend/public/build/shoelace/assets/icons/archive.svg +3 -0
  72. frontend/public/build/shoelace/assets/icons/arrow-90deg-down.svg +3 -0
  73. frontend/public/build/shoelace/assets/icons/arrow-90deg-left.svg +3 -0
  74. frontend/public/build/shoelace/assets/icons/arrow-90deg-right.svg +3 -0
  75. frontend/public/build/shoelace/assets/icons/arrow-90deg-up.svg +3 -0
  76. frontend/public/build/shoelace/assets/icons/arrow-bar-down.svg +3 -0
  77. frontend/public/build/shoelace/assets/icons/arrow-bar-left.svg +3 -0
  78. frontend/public/build/shoelace/assets/icons/arrow-bar-right.svg +3 -0
  79. frontend/public/build/shoelace/assets/icons/arrow-bar-up.svg +3 -0
  80. frontend/public/build/shoelace/assets/icons/arrow-clockwise.svg +4 -0
  81. frontend/public/build/shoelace/assets/icons/arrow-counterclockwise.svg +4 -0
  82. frontend/public/build/shoelace/assets/icons/arrow-down-circle-fill.svg +3 -0
  83. frontend/public/build/shoelace/assets/icons/arrow-down-circle.svg +3 -0
  84. frontend/public/build/shoelace/assets/icons/arrow-down-left-circle-fill.svg +3 -0
  85. frontend/public/build/shoelace/assets/icons/arrow-down-left-circle.svg +3 -0
  86. frontend/public/build/shoelace/assets/icons/arrow-down-left-square-fill.svg +3 -0
  87. frontend/public/build/shoelace/assets/icons/arrow-down-left-square.svg +3 -0
  88. frontend/public/build/shoelace/assets/icons/arrow-down-left.svg +3 -0
  89. frontend/public/build/shoelace/assets/icons/arrow-down-right-circle-fill.svg +3 -0
  90. frontend/public/build/shoelace/assets/icons/arrow-down-right-circle.svg +3 -0
  91. frontend/public/build/shoelace/assets/icons/arrow-down-right-square-fill.svg +3 -0
  92. frontend/public/build/shoelace/assets/icons/arrow-down-right-square.svg +3 -0
  93. frontend/public/build/shoelace/assets/icons/arrow-down-right.svg +3 -0
  94. frontend/public/build/shoelace/assets/icons/arrow-down-short.svg +3 -0
  95. frontend/public/build/shoelace/assets/icons/arrow-down-square-fill.svg +3 -0
  96. frontend/public/build/shoelace/assets/icons/arrow-down-square.svg +3 -0
  97. frontend/public/build/shoelace/assets/icons/arrow-down-up.svg +3 -0
  98. frontend/public/build/shoelace/assets/icons/arrow-down.svg +3 -0
  99. frontend/public/build/shoelace/assets/icons/arrow-left-circle-fill.svg +3 -0
  100. frontend/public/build/shoelace/assets/icons/arrow-left-circle.svg +3 -0
  101. frontend/public/build/shoelace/assets/icons/arrow-left-right.svg +3 -0
  102. frontend/public/build/shoelace/assets/icons/arrow-left-short.svg +3 -0
  103. frontend/public/build/shoelace/assets/icons/arrow-left-square-fill.svg +3 -0
  104. frontend/public/build/shoelace/assets/icons/arrow-left-square.svg +3 -0
  105. frontend/public/build/shoelace/assets/icons/arrow-left.svg +3 -0
  106. frontend/public/build/shoelace/assets/icons/arrow-repeat.svg +4 -0
  107. frontend/public/build/shoelace/assets/icons/arrow-return-left.svg +3 -0
  108. frontend/public/build/shoelace/assets/icons/arrow-return-right.svg +3 -0
  109. frontend/public/build/shoelace/assets/icons/arrow-right-circle-fill.svg +3 -0
  110. frontend/public/build/shoelace/assets/icons/arrow-right-circle.svg +3 -0
  111. frontend/public/build/shoelace/assets/icons/arrow-right-short.svg +3 -0
  112. frontend/public/build/shoelace/assets/icons/arrow-right-square-fill.svg +3 -0
  113. frontend/public/build/shoelace/assets/icons/arrow-right-square.svg +3 -0
  114. frontend/public/build/shoelace/assets/icons/arrow-right.svg +3 -0
  115. frontend/public/build/shoelace/assets/icons/arrow-through-heart-fill.svg +3 -0
  116. frontend/public/build/shoelace/assets/icons/arrow-through-heart.svg +3 -0
  117. frontend/public/build/shoelace/assets/icons/arrow-up-circle-fill.svg +3 -0
  118. frontend/public/build/shoelace/assets/icons/arrow-up-circle.svg +3 -0
  119. frontend/public/build/shoelace/assets/icons/arrow-up-left-circle-fill.svg +3 -0
  120. frontend/public/build/shoelace/assets/icons/arrow-up-left-circle.svg +3 -0
  121. frontend/public/build/shoelace/assets/icons/arrow-up-left-square-fill.svg +3 -0
  122. frontend/public/build/shoelace/assets/icons/arrow-up-left-square.svg +3 -0
  123. frontend/public/build/shoelace/assets/icons/arrow-up-left.svg +3 -0
  124. frontend/public/build/shoelace/assets/icons/arrow-up-right-circle-fill.svg +3 -0
  125. frontend/public/build/shoelace/assets/icons/arrow-up-right-circle.svg +3 -0
  126. frontend/public/build/shoelace/assets/icons/arrow-up-right-square-fill.svg +3 -0
  127. frontend/public/build/shoelace/assets/icons/arrow-up-right-square.svg +3 -0
  128. frontend/public/build/shoelace/assets/icons/arrow-up-right.svg +3 -0
  129. frontend/public/build/shoelace/assets/icons/arrow-up-short.svg +3 -0
  130. frontend/public/build/shoelace/assets/icons/arrow-up-square-fill.svg +3 -0
  131. frontend/public/build/shoelace/assets/icons/arrow-up-square.svg +3 -0
  132. frontend/public/build/shoelace/assets/icons/arrow-up.svg +3 -0
  133. frontend/public/build/shoelace/assets/icons/arrows-angle-contract.svg +3 -0
  134. frontend/public/build/shoelace/assets/icons/arrows-angle-expand.svg +3 -0
  135. frontend/public/build/shoelace/assets/icons/arrows-collapse-vertical.svg +3 -0
  136. frontend/public/build/shoelace/assets/icons/arrows-collapse.svg +3 -0
  137. frontend/public/build/shoelace/assets/icons/arrows-expand-vertical.svg +3 -0
  138. frontend/public/build/shoelace/assets/icons/arrows-expand.svg +3 -0
  139. frontend/public/build/shoelace/assets/icons/arrows-fullscreen.svg +3 -0
  140. frontend/public/build/shoelace/assets/icons/arrows-move.svg +3 -0
  141. frontend/public/build/shoelace/assets/icons/arrows-vertical.svg +3 -0
  142. frontend/public/build/shoelace/assets/icons/arrows.svg +3 -0
  143. frontend/public/build/shoelace/assets/icons/aspect-ratio-fill.svg +3 -0
  144. frontend/public/build/shoelace/assets/icons/aspect-ratio.svg +4 -0
  145. frontend/public/build/shoelace/assets/icons/asterisk.svg +3 -0
  146. frontend/public/build/shoelace/assets/icons/at.svg +3 -0
  147. frontend/public/build/shoelace/assets/icons/award-fill.svg +4 -0
  148. frontend/public/build/shoelace/assets/icons/award.svg +4 -0
  149. frontend/public/build/shoelace/assets/icons/back.svg +3 -0
  150. frontend/public/build/shoelace/assets/icons/backpack-fill.svg +4 -0
  151. frontend/public/build/shoelace/assets/icons/backpack.svg +4 -0
  152. frontend/public/build/shoelace/assets/icons/backpack2-fill.svg +4 -0
  153. frontend/public/build/shoelace/assets/icons/backpack2.svg +5 -0
  154. frontend/public/build/shoelace/assets/icons/backpack3-fill.svg +4 -0
  155. frontend/public/build/shoelace/assets/icons/backpack3.svg +4 -0
  156. frontend/public/build/shoelace/assets/icons/backpack4-fill.svg +4 -0
  157. frontend/public/build/shoelace/assets/icons/backpack4.svg +4 -0
  158. frontend/public/build/shoelace/assets/icons/backspace-fill.svg +3 -0
  159. frontend/public/build/shoelace/assets/icons/backspace-reverse-fill.svg +3 -0
  160. frontend/public/build/shoelace/assets/icons/backspace-reverse.svg +4 -0
  161. frontend/public/build/shoelace/assets/icons/backspace.svg +4 -0
  162. frontend/public/build/shoelace/assets/icons/badge-3d-fill.svg +4 -0
  163. frontend/public/build/shoelace/assets/icons/badge-3d.svg +4 -0
  164. frontend/public/build/shoelace/assets/icons/badge-4k-fill.svg +4 -0
  165. frontend/public/build/shoelace/assets/icons/badge-4k.svg +4 -0
  166. frontend/public/build/shoelace/assets/icons/badge-8k-fill.svg +4 -0
  167. frontend/public/build/shoelace/assets/icons/badge-8k.svg +4 -0
  168. frontend/public/build/shoelace/assets/icons/badge-ad-fill.svg +4 -0
  169. frontend/public/build/shoelace/assets/icons/badge-ad.svg +4 -0
  170. frontend/public/build/shoelace/assets/icons/badge-ar-fill.svg +4 -0
  171. frontend/public/build/shoelace/assets/icons/badge-ar.svg +4 -0
  172. frontend/public/build/shoelace/assets/icons/badge-cc-fill.svg +3 -0
  173. frontend/public/build/shoelace/assets/icons/badge-cc.svg +4 -0
  174. frontend/public/build/shoelace/assets/icons/badge-hd-fill.svg +4 -0
  175. frontend/public/build/shoelace/assets/icons/badge-hd.svg +4 -0
  176. frontend/public/build/shoelace/assets/icons/badge-sd-fill.svg +4 -0
  177. frontend/public/build/shoelace/assets/icons/badge-sd.svg +3 -0
  178. frontend/public/build/shoelace/assets/icons/badge-tm-fill.svg +3 -0
  179. frontend/public/build/shoelace/assets/icons/badge-tm.svg +4 -0
  180. frontend/public/build/shoelace/assets/icons/badge-vo-fill.svg +4 -0
  181. frontend/public/build/shoelace/assets/icons/badge-vo.svg +4 -0
  182. frontend/public/build/shoelace/assets/icons/badge-vr-fill.svg +4 -0
  183. frontend/public/build/shoelace/assets/icons/badge-vr.svg +4 -0
  184. frontend/public/build/shoelace/assets/icons/badge-wc-fill.svg +3 -0
  185. frontend/public/build/shoelace/assets/icons/badge-wc.svg +4 -0
  186. frontend/public/build/shoelace/assets/icons/bag-check-fill.svg +3 -0
  187. frontend/public/build/shoelace/assets/icons/bag-check.svg +4 -0
  188. frontend/public/build/shoelace/assets/icons/bag-dash-fill.svg +3 -0
  189. frontend/public/build/shoelace/assets/icons/bag-dash.svg +4 -0
  190. frontend/public/build/shoelace/assets/icons/bag-fill.svg +3 -0
  191. frontend/public/build/shoelace/assets/icons/bag-heart-fill.svg +3 -0
  192. frontend/public/build/shoelace/assets/icons/bag-heart.svg +3 -0
  193. frontend/public/build/shoelace/assets/icons/bag-plus-fill.svg +3 -0
  194. frontend/public/build/shoelace/assets/icons/bag-plus.svg +4 -0
  195. frontend/public/build/shoelace/assets/icons/bag-x-fill.svg +3 -0
  196. frontend/public/build/shoelace/assets/icons/bag-x.svg +4 -0
  197. frontend/public/build/shoelace/assets/icons/bag.svg +3 -0
  198. frontend/public/build/shoelace/assets/icons/balloon-fill.svg +3 -0
  199. frontend/public/build/shoelace/assets/icons/balloon-heart-fill.svg +3 -0
  200. frontend/public/build/shoelace/assets/icons/balloon-heart.svg +3 -0
  201. frontend/public/build/shoelace/assets/icons/balloon.svg +3 -0
  202. frontend/public/build/shoelace/assets/icons/ban-fill.svg +3 -0
  203. frontend/public/build/shoelace/assets/icons/ban.svg +3 -0
  204. frontend/public/build/shoelace/assets/icons/bandaid-fill.svg +3 -0
  205. frontend/public/build/shoelace/assets/icons/bandaid.svg +4 -0
  206. frontend/public/build/shoelace/assets/icons/bank.svg +3 -0
  207. frontend/public/build/shoelace/assets/icons/bank2.svg +3 -0
  208. frontend/public/build/shoelace/assets/icons/bar-chart-fill.svg +3 -0
  209. frontend/public/build/shoelace/assets/icons/bar-chart-line-fill.svg +3 -0
  210. frontend/public/build/shoelace/assets/icons/bar-chart-line.svg +3 -0
  211. frontend/public/build/shoelace/assets/icons/bar-chart-steps.svg +3 -0
  212. frontend/public/build/shoelace/assets/icons/bar-chart.svg +3 -0
  213. frontend/public/build/shoelace/assets/icons/basket-fill.svg +3 -0
  214. frontend/public/build/shoelace/assets/icons/basket.svg +3 -0
  215. frontend/public/build/shoelace/assets/icons/basket2-fill.svg +3 -0
  216. frontend/public/build/shoelace/assets/icons/basket2.svg +4 -0
  217. frontend/public/build/shoelace/assets/icons/basket3-fill.svg +3 -0
  218. frontend/public/build/shoelace/assets/icons/basket3.svg +3 -0
  219. frontend/public/build/shoelace/assets/icons/battery-charging.svg +6 -0
  220. frontend/public/build/shoelace/assets/icons/battery-full.svg +4 -0
  221. frontend/public/build/shoelace/assets/icons/battery-half.svg +4 -0
  222. frontend/public/build/shoelace/assets/icons/battery.svg +3 -0
  223. frontend/public/build/shoelace/assets/icons/behance.svg +3 -0
  224. frontend/public/build/shoelace/assets/icons/bell-fill.svg +3 -0
  225. frontend/public/build/shoelace/assets/icons/bell-slash-fill.svg +3 -0
  226. frontend/public/build/shoelace/assets/icons/bell-slash.svg +3 -0
  227. frontend/public/build/shoelace/assets/icons/bell.svg +3 -0
  228. frontend/public/build/shoelace/assets/icons/bezier.svg +4 -0
  229. frontend/public/build/shoelace/assets/icons/bezier2.svg +3 -0
  230. frontend/public/build/shoelace/assets/icons/bicycle.svg +3 -0
  231. frontend/public/build/shoelace/assets/icons/bing.svg +5 -0
  232. frontend/public/build/shoelace/assets/icons/binoculars-fill.svg +3 -0
  233. frontend/public/build/shoelace/assets/icons/binoculars.svg +3 -0
  234. frontend/public/build/shoelace/assets/icons/blockquote-left.svg +3 -0
  235. frontend/public/build/shoelace/assets/icons/blockquote-right.svg +3 -0
  236. frontend/public/build/shoelace/assets/icons/bluetooth.svg +3 -0
  237. frontend/public/build/shoelace/assets/icons/body-text.svg +3 -0
  238. frontend/public/build/shoelace/assets/icons/book-fill.svg +3 -0
  239. frontend/public/build/shoelace/assets/icons/book-half.svg +3 -0
  240. frontend/public/build/shoelace/assets/icons/book.svg +3 -0
  241. frontend/public/build/shoelace/assets/icons/bookmark-check-fill.svg +3 -0
  242. frontend/public/build/shoelace/assets/icons/bookmark-check.svg +4 -0
  243. frontend/public/build/shoelace/assets/icons/bookmark-dash-fill.svg +3 -0
  244. frontend/public/build/shoelace/assets/icons/bookmark-dash.svg +4 -0
  245. frontend/public/build/shoelace/assets/icons/bookmark-fill.svg +3 -0
  246. frontend/public/build/shoelace/assets/icons/bookmark-heart-fill.svg +3 -0
  247. frontend/public/build/shoelace/assets/icons/bookmark-heart.svg +4 -0
  248. frontend/public/build/shoelace/assets/icons/bookmark-plus-fill.svg +3 -0
  249. frontend/public/build/shoelace/assets/icons/bookmark-plus.svg +4 -0
  250. frontend/public/build/shoelace/assets/icons/bookmark-star-fill.svg +3 -0
  251. frontend/public/build/shoelace/assets/icons/bookmark-star.svg +4 -0
  252. frontend/public/build/shoelace/assets/icons/bookmark-x-fill.svg +3 -0
  253. frontend/public/build/shoelace/assets/icons/bookmark-x.svg +4 -0
  254. frontend/public/build/shoelace/assets/icons/bookmark.svg +3 -0
  255. frontend/public/build/shoelace/assets/icons/bookmarks-fill.svg +4 -0
  256. frontend/public/build/shoelace/assets/icons/bookmarks.svg +4 -0
  257. frontend/public/build/shoelace/assets/icons/bookshelf.svg +3 -0
  258. frontend/public/build/shoelace/assets/icons/boombox-fill.svg +4 -0
  259. frontend/public/build/shoelace/assets/icons/boombox.svg +6 -0
  260. frontend/public/build/shoelace/assets/icons/bootstrap-fill.svg +4 -0
  261. frontend/public/build/shoelace/assets/icons/bootstrap-reboot.svg +4 -0
  262. frontend/public/build/shoelace/assets/icons/bootstrap.svg +4 -0
  263. frontend/public/build/shoelace/assets/icons/border-all.svg +3 -0
  264. frontend/public/build/shoelace/assets/icons/border-bottom.svg +3 -0
  265. frontend/public/build/shoelace/assets/icons/border-center.svg +3 -0
  266. frontend/public/build/shoelace/assets/icons/border-inner.svg +5 -0
  267. frontend/public/build/shoelace/assets/icons/border-left.svg +3 -0
  268. frontend/public/build/shoelace/assets/icons/border-middle.svg +3 -0
  269. frontend/public/build/shoelace/assets/icons/border-outer.svg +4 -0
  270. frontend/public/build/shoelace/assets/icons/border-right.svg +3 -0
  271. frontend/public/build/shoelace/assets/icons/border-style.svg +3 -0
  272. frontend/public/build/shoelace/assets/icons/border-top.svg +3 -0
  273. frontend/public/build/shoelace/assets/icons/border-width.svg +3 -0
  274. frontend/public/build/shoelace/assets/icons/border.svg +3 -0
  275. frontend/public/build/shoelace/assets/icons/bounding-box-circles.svg +3 -0
  276. frontend/public/build/shoelace/assets/icons/bounding-box.svg +3 -0
  277. frontend/public/build/shoelace/assets/icons/box-arrow-down-left.svg +4 -0
  278. frontend/public/build/shoelace/assets/icons/box-arrow-down-right.svg +4 -0
  279. frontend/public/build/shoelace/assets/icons/box-arrow-down.svg +4 -0
  280. frontend/public/build/shoelace/assets/icons/box-arrow-in-down-left.svg +4 -0
  281. frontend/public/build/shoelace/assets/icons/box-arrow-in-down-right.svg +4 -0
  282. frontend/public/build/shoelace/assets/icons/box-arrow-in-down.svg +4 -0
  283. frontend/public/build/shoelace/assets/icons/box-arrow-in-left.svg +4 -0
  284. frontend/public/build/shoelace/assets/icons/box-arrow-in-right.svg +4 -0
  285. frontend/public/build/shoelace/assets/icons/box-arrow-in-up-left.svg +4 -0
  286. frontend/public/build/shoelace/assets/icons/box-arrow-in-up-right.svg +4 -0
  287. frontend/public/build/shoelace/assets/icons/box-arrow-in-up.svg +4 -0
  288. frontend/public/build/shoelace/assets/icons/box-arrow-left.svg +4 -0
  289. frontend/public/build/shoelace/assets/icons/box-arrow-right.svg +4 -0
  290. frontend/public/build/shoelace/assets/icons/box-arrow-up-left.svg +4 -0
  291. frontend/public/build/shoelace/assets/icons/box-arrow-up-right.svg +4 -0
  292. frontend/public/build/shoelace/assets/icons/box-arrow-up.svg +4 -0
  293. frontend/public/build/shoelace/assets/icons/box-fill.svg +3 -0
  294. frontend/public/build/shoelace/assets/icons/box-seam-fill.svg +3 -0
  295. frontend/public/build/shoelace/assets/icons/box-seam.svg +3 -0
  296. frontend/public/build/shoelace/assets/icons/box.svg +3 -0
  297. frontend/public/build/shoelace/assets/icons/box2-fill.svg +3 -0
  298. frontend/public/build/shoelace/assets/icons/box2-heart-fill.svg +3 -0
  299. frontend/public/build/shoelace/assets/icons/box2-heart.svg +4 -0
  300. frontend/public/build/shoelace/assets/icons/box2.svg +3 -0
  301. frontend/public/build/shoelace/assets/icons/boxes.svg +3 -0
  302. frontend/public/build/shoelace/assets/icons/braces-asterisk.svg +3 -0
  303. frontend/public/build/shoelace/assets/icons/braces.svg +3 -0
  304. frontend/public/build/shoelace/assets/icons/bricks.svg +3 -0
  305. frontend/public/build/shoelace/assets/icons/briefcase-fill.svg +4 -0
  306. frontend/public/build/shoelace/assets/icons/briefcase.svg +3 -0
  307. frontend/public/build/shoelace/assets/icons/brightness-alt-high-fill.svg +3 -0
  308. frontend/public/build/shoelace/assets/icons/brightness-alt-high.svg +3 -0
  309. frontend/public/build/shoelace/assets/icons/brightness-alt-low-fill.svg +3 -0
  310. frontend/public/build/shoelace/assets/icons/brightness-alt-low.svg +3 -0
  311. frontend/public/build/shoelace/assets/icons/brightness-high-fill.svg +3 -0
  312. frontend/public/build/shoelace/assets/icons/brightness-high.svg +3 -0
  313. frontend/public/build/shoelace/assets/icons/brightness-low-fill.svg +3 -0
  314. frontend/public/build/shoelace/assets/icons/brightness-low.svg +3 -0
  315. frontend/public/build/shoelace/assets/icons/brilliance.svg +3 -0
  316. frontend/public/build/shoelace/assets/icons/broadcast-pin.svg +3 -0
  317. frontend/public/build/shoelace/assets/icons/broadcast.svg +3 -0
  318. frontend/public/build/shoelace/assets/icons/browser-chrome.svg +3 -0
  319. frontend/public/build/shoelace/assets/icons/browser-edge.svg +5 -0
  320. frontend/public/build/shoelace/assets/icons/browser-firefox.svg +3 -0
  321. frontend/public/build/shoelace/assets/icons/browser-safari.svg +3 -0
  322. frontend/public/build/shoelace/assets/icons/brush-fill.svg +3 -0
  323. frontend/public/build/shoelace/assets/icons/brush.svg +3 -0
  324. frontend/public/build/shoelace/assets/icons/bucket-fill.svg +3 -0
  325. frontend/public/build/shoelace/assets/icons/bucket.svg +3 -0
  326. frontend/public/build/shoelace/assets/icons/bug-fill.svg +4 -0
  327. frontend/public/build/shoelace/assets/icons/bug.svg +3 -0
  328. frontend/public/build/shoelace/assets/icons/building-add.svg +5 -0
  329. frontend/public/build/shoelace/assets/icons/building-check.svg +5 -0
  330. frontend/public/build/shoelace/assets/icons/building-dash.svg +5 -0
  331. frontend/public/build/shoelace/assets/icons/building-down.svg +5 -0
  332. frontend/public/build/shoelace/assets/icons/building-exclamation.svg +4 -0
  333. frontend/public/build/shoelace/assets/icons/building-fill-add.svg +4 -0
  334. frontend/public/build/shoelace/assets/icons/building-fill-check.svg +4 -0
  335. frontend/public/build/shoelace/assets/icons/building-fill-dash.svg +4 -0
  336. frontend/public/build/shoelace/assets/icons/building-fill-down.svg +4 -0
  337. frontend/public/build/shoelace/assets/icons/building-fill-exclamation.svg +4 -0
  338. frontend/public/build/shoelace/assets/icons/building-fill-gear.svg +4 -0
  339. frontend/public/build/shoelace/assets/icons/building-fill-lock.svg +4 -0
  340. frontend/public/build/shoelace/assets/icons/building-fill-slash.svg +4 -0
  341. frontend/public/build/shoelace/assets/icons/building-fill-up.svg +4 -0
  342. frontend/public/build/shoelace/assets/icons/building-fill-x.svg +4 -0
  343. frontend/public/build/shoelace/assets/icons/building-fill.svg +3 -0
  344. frontend/public/build/shoelace/assets/icons/building-gear.svg +4 -0
  345. frontend/public/build/shoelace/assets/icons/building-lock.svg +4 -0
  346. frontend/public/build/shoelace/assets/icons/building-slash.svg +5 -0
  347. frontend/public/build/shoelace/assets/icons/building-up.svg +5 -0
  348. frontend/public/build/shoelace/assets/icons/building-x.svg +4 -0
  349. frontend/public/build/shoelace/assets/icons/building.svg +4 -0
  350. frontend/public/build/shoelace/assets/icons/buildings-fill.svg +3 -0
  351. frontend/public/build/shoelace/assets/icons/buildings.svg +4 -0
  352. frontend/public/build/shoelace/assets/icons/bullseye.svg +6 -0
  353. frontend/public/build/shoelace/assets/icons/bus-front-fill.svg +3 -0
  354. frontend/public/build/shoelace/assets/icons/bus-front.svg +4 -0
  355. frontend/public/build/shoelace/assets/icons/c-circle-fill.svg +3 -0
  356. frontend/public/build/shoelace/assets/icons/c-circle.svg +3 -0
  357. frontend/public/build/shoelace/assets/icons/c-square-fill.svg +3 -0
  358. frontend/public/build/shoelace/assets/icons/c-square.svg +4 -0
  359. frontend/public/build/shoelace/assets/icons/cake-fill.svg +3 -0
  360. frontend/public/build/shoelace/assets/icons/cake.svg +3 -0
  361. frontend/public/build/shoelace/assets/icons/cake2-fill.svg +4 -0
  362. frontend/public/build/shoelace/assets/icons/cake2.svg +3 -0
  363. frontend/public/build/shoelace/assets/icons/calculator-fill.svg +3 -0
  364. frontend/public/build/shoelace/assets/icons/calculator.svg +4 -0
  365. frontend/public/build/shoelace/assets/icons/calendar-check-fill.svg +3 -0
  366. frontend/public/build/shoelace/assets/icons/calendar-check.svg +4 -0
  367. frontend/public/build/shoelace/assets/icons/calendar-date-fill.svg +4 -0
  368. frontend/public/build/shoelace/assets/icons/calendar-date.svg +4 -0
  369. frontend/public/build/shoelace/assets/icons/calendar-day-fill.svg +3 -0
  370. frontend/public/build/shoelace/assets/icons/calendar-day.svg +4 -0
  371. frontend/public/build/shoelace/assets/icons/calendar-event-fill.svg +3 -0
  372. frontend/public/build/shoelace/assets/icons/calendar-event.svg +4 -0
  373. frontend/public/build/shoelace/assets/icons/calendar-fill.svg +3 -0
  374. frontend/public/build/shoelace/assets/icons/calendar-heart-fill.svg +3 -0
  375. frontend/public/build/shoelace/assets/icons/calendar-heart.svg +3 -0
  376. frontend/public/build/shoelace/assets/icons/calendar-minus-fill.svg +3 -0
  377. frontend/public/build/shoelace/assets/icons/calendar-minus.svg +4 -0
  378. frontend/public/build/shoelace/assets/icons/calendar-month-fill.svg +4 -0
  379. frontend/public/build/shoelace/assets/icons/calendar-month.svg +4 -0
  380. frontend/public/build/shoelace/assets/icons/calendar-plus-fill.svg +3 -0
  381. frontend/public/build/shoelace/assets/icons/calendar-plus.svg +4 -0
  382. frontend/public/build/shoelace/assets/icons/calendar-range-fill.svg +3 -0
  383. frontend/public/build/shoelace/assets/icons/calendar-range.svg +4 -0
  384. frontend/public/build/shoelace/assets/icons/calendar-week-fill.svg +3 -0
  385. frontend/public/build/shoelace/assets/icons/calendar-week.svg +4 -0
  386. frontend/public/build/shoelace/assets/icons/calendar-x-fill.svg +3 -0
  387. frontend/public/build/shoelace/assets/icons/calendar-x.svg +4 -0
  388. frontend/public/build/shoelace/assets/icons/calendar.svg +3 -0
  389. frontend/public/build/shoelace/assets/icons/calendar2-check-fill.svg +3 -0
  390. frontend/public/build/shoelace/assets/icons/calendar2-check.svg +5 -0
  391. frontend/public/build/shoelace/assets/icons/calendar2-date-fill.svg +4 -0
  392. frontend/public/build/shoelace/assets/icons/calendar2-date.svg +5 -0
  393. frontend/public/build/shoelace/assets/icons/calendar2-day-fill.svg +3 -0
  394. frontend/public/build/shoelace/assets/icons/calendar2-day.svg +5 -0
  395. frontend/public/build/shoelace/assets/icons/calendar2-event-fill.svg +3 -0
  396. frontend/public/build/shoelace/assets/icons/calendar2-event.svg +5 -0
  397. frontend/public/build/shoelace/assets/icons/calendar2-fill.svg +3 -0
  398. frontend/public/build/shoelace/assets/icons/calendar2-heart-fill.svg +3 -0
  399. frontend/public/build/shoelace/assets/icons/calendar2-heart.svg +3 -0
  400. frontend/public/build/shoelace/assets/icons/calendar2-minus-fill.svg +3 -0
  401. frontend/public/build/shoelace/assets/icons/calendar2-minus.svg +5 -0
  402. frontend/public/build/shoelace/assets/icons/calendar2-month-fill.svg +4 -0
  403. frontend/public/build/shoelace/assets/icons/calendar2-month.svg +5 -0
  404. frontend/public/build/shoelace/assets/icons/calendar2-plus-fill.svg +3 -0
  405. frontend/public/build/shoelace/assets/icons/calendar2-plus.svg +4 -0
  406. frontend/public/build/shoelace/assets/icons/calendar2-range-fill.svg +3 -0
  407. frontend/public/build/shoelace/assets/icons/calendar2-range.svg +4 -0
  408. frontend/public/build/shoelace/assets/icons/calendar2-week-fill.svg +3 -0
  409. frontend/public/build/shoelace/assets/icons/calendar2-week.svg +4 -0
  410. frontend/public/build/shoelace/assets/icons/calendar2-x-fill.svg +3 -0
  411. frontend/public/build/shoelace/assets/icons/calendar2-x.svg +5 -0
  412. frontend/public/build/shoelace/assets/icons/calendar2.svg +4 -0
  413. frontend/public/build/shoelace/assets/icons/calendar3-event-fill.svg +3 -0
  414. frontend/public/build/shoelace/assets/icons/calendar3-event.svg +4 -0
  415. frontend/public/build/shoelace/assets/icons/calendar3-fill.svg +3 -0
  416. frontend/public/build/shoelace/assets/icons/calendar3-range-fill.svg +3 -0
  417. frontend/public/build/shoelace/assets/icons/calendar3-range.svg +4 -0
  418. frontend/public/build/shoelace/assets/icons/calendar3-week-fill.svg +3 -0
  419. frontend/public/build/shoelace/assets/icons/calendar3-week.svg +4 -0
  420. frontend/public/build/shoelace/assets/icons/calendar3.svg +4 -0
  421. frontend/public/build/shoelace/assets/icons/calendar4-event.svg +4 -0
  422. frontend/public/build/shoelace/assets/icons/calendar4-range.svg +4 -0
  423. frontend/public/build/shoelace/assets/icons/calendar4-week.svg +4 -0
  424. frontend/public/build/shoelace/assets/icons/calendar4.svg +3 -0
  425. frontend/public/build/shoelace/assets/icons/camera-fill.svg +4 -0
  426. frontend/public/build/shoelace/assets/icons/camera-reels-fill.svg +5 -0
  427. frontend/public/build/shoelace/assets/icons/camera-reels.svg +5 -0
  428. frontend/public/build/shoelace/assets/icons/camera-video-fill.svg +3 -0
  429. frontend/public/build/shoelace/assets/icons/camera-video-off-fill.svg +3 -0
  430. frontend/public/build/shoelace/assets/icons/camera-video-off.svg +3 -0
  431. frontend/public/build/shoelace/assets/icons/camera-video.svg +3 -0
  432. frontend/public/build/shoelace/assets/icons/camera.svg +4 -0
  433. frontend/public/build/shoelace/assets/icons/camera2.svg +4 -0
  434. frontend/public/build/shoelace/assets/icons/capslock-fill.svg +3 -0
  435. frontend/public/build/shoelace/assets/icons/capslock.svg +3 -0
  436. frontend/public/build/shoelace/assets/icons/capsule-pill.svg +3 -0
  437. frontend/public/build/shoelace/assets/icons/capsule.svg +3 -0
  438. frontend/public/build/shoelace/assets/icons/car-front-fill.svg +3 -0
  439. frontend/public/build/shoelace/assets/icons/car-front.svg +4 -0
  440. frontend/public/build/shoelace/assets/icons/card-checklist.svg +4 -0
  441. frontend/public/build/shoelace/assets/icons/card-heading.svg +4 -0
  442. frontend/public/build/shoelace/assets/icons/card-image.svg +4 -0
  443. frontend/public/build/shoelace/assets/icons/card-list.svg +4 -0
  444. frontend/public/build/shoelace/assets/icons/card-text.svg +4 -0
  445. frontend/public/build/shoelace/assets/icons/caret-down-fill.svg +3 -0
  446. frontend/public/build/shoelace/assets/icons/caret-down-square-fill.svg +3 -0
  447. frontend/public/build/shoelace/assets/icons/caret-down-square.svg +4 -0
  448. frontend/public/build/shoelace/assets/icons/caret-down.svg +3 -0
  449. frontend/public/build/shoelace/assets/icons/caret-left-fill.svg +3 -0
  450. frontend/public/build/shoelace/assets/icons/caret-left-square-fill.svg +3 -0
  451. frontend/public/build/shoelace/assets/icons/caret-left-square.svg +4 -0
  452. frontend/public/build/shoelace/assets/icons/caret-left.svg +3 -0
  453. frontend/public/build/shoelace/assets/icons/caret-right-fill.svg +3 -0
  454. frontend/public/build/shoelace/assets/icons/caret-right-square-fill.svg +3 -0
  455. frontend/public/build/shoelace/assets/icons/caret-right-square.svg +4 -0
  456. frontend/public/build/shoelace/assets/icons/caret-right.svg +3 -0
  457. frontend/public/build/shoelace/assets/icons/caret-up-fill.svg +3 -0
  458. frontend/public/build/shoelace/assets/icons/caret-up-square-fill.svg +3 -0
  459. frontend/public/build/shoelace/assets/icons/caret-up-square.svg +4 -0
  460. frontend/public/build/shoelace/assets/icons/caret-up.svg +3 -0
  461. frontend/public/build/shoelace/assets/icons/cart-check-fill.svg +3 -0
  462. frontend/public/build/shoelace/assets/icons/cart-check.svg +4 -0
  463. frontend/public/build/shoelace/assets/icons/cart-dash-fill.svg +3 -0
  464. frontend/public/build/shoelace/assets/icons/cart-dash.svg +4 -0
  465. frontend/public/build/shoelace/assets/icons/cart-fill.svg +3 -0
  466. frontend/public/build/shoelace/assets/icons/cart-plus-fill.svg +3 -0
  467. frontend/public/build/shoelace/assets/icons/cart-plus.svg +4 -0
  468. frontend/public/build/shoelace/assets/icons/cart-x-fill.svg +3 -0
  469. frontend/public/build/shoelace/assets/icons/cart-x.svg +4 -0
  470. frontend/public/build/shoelace/assets/icons/cart.svg +3 -0
  471. frontend/public/build/shoelace/assets/icons/cart2.svg +3 -0
  472. frontend/public/build/shoelace/assets/icons/cart3.svg +3 -0
  473. frontend/public/build/shoelace/assets/icons/cart4.svg +3 -0
  474. frontend/public/build/shoelace/assets/icons/cash-coin.svg +6 -0
  475. frontend/public/build/shoelace/assets/icons/cash-stack.svg +4 -0
  476. frontend/public/build/shoelace/assets/icons/cash.svg +4 -0
  477. frontend/public/build/shoelace/assets/icons/cassette-fill.svg +4 -0
  478. frontend/public/build/shoelace/assets/icons/cassette.svg +4 -0
  479. frontend/public/build/shoelace/assets/icons/cast.svg +4 -0
  480. frontend/public/build/shoelace/assets/icons/cc-circle-fill.svg +3 -0
  481. frontend/public/build/shoelace/assets/icons/cc-circle.svg +3 -0
  482. frontend/public/build/shoelace/assets/icons/cc-square-fill.svg +3 -0
  483. frontend/public/build/shoelace/assets/icons/cc-square.svg +4 -0
  484. frontend/public/build/shoelace/assets/icons/chat-dots-fill.svg +3 -0
  485. frontend/public/build/shoelace/assets/icons/chat-dots.svg +4 -0
  486. frontend/public/build/shoelace/assets/icons/chat-fill.svg +3 -0
  487. frontend/public/build/shoelace/assets/icons/chat-heart-fill.svg +3 -0
  488. frontend/public/build/shoelace/assets/icons/chat-heart.svg +3 -0
  489. frontend/public/build/shoelace/assets/icons/chat-left-dots-fill.svg +3 -0
  490. frontend/public/build/shoelace/assets/icons/chat-left-dots.svg +4 -0
  491. frontend/public/build/shoelace/assets/icons/chat-left-fill.svg +3 -0
  492. frontend/public/build/shoelace/assets/icons/chat-left-heart-fill.svg +3 -0
  493. frontend/public/build/shoelace/assets/icons/chat-left-heart.svg +4 -0
  494. frontend/public/build/shoelace/assets/icons/chat-left-quote-fill.svg +3 -0
  495. frontend/public/build/shoelace/assets/icons/chat-left-quote.svg +4 -0
  496. frontend/public/build/shoelace/assets/icons/chat-left-text-fill.svg +3 -0
  497. frontend/public/build/shoelace/assets/icons/chat-left-text.svg +4 -0
  498. frontend/public/build/shoelace/assets/icons/chat-left.svg +3 -0
  499. frontend/public/build/shoelace/assets/icons/chat-quote-fill.svg +3 -0
  500. frontend/public/build/shoelace/assets/icons/chat-quote.svg +4 -0
  501. frontend/public/build/shoelace/assets/icons/chat-right-dots-fill.svg +3 -0
  502. frontend/public/build/shoelace/assets/icons/chat-right-dots.svg +4 -0
  503. frontend/public/build/shoelace/assets/icons/chat-right-fill.svg +3 -0
  504. frontend/public/build/shoelace/assets/icons/chat-right-heart-fill.svg +3 -0
  505. frontend/public/build/shoelace/assets/icons/chat-right-heart.svg +4 -0
  506. frontend/public/build/shoelace/assets/icons/chat-right-quote-fill.svg +3 -0
  507. frontend/public/build/shoelace/assets/icons/chat-right-quote.svg +4 -0
  508. frontend/public/build/shoelace/assets/icons/chat-right-text-fill.svg +3 -0
  509. frontend/public/build/shoelace/assets/icons/chat-right-text.svg +4 -0
  510. frontend/public/build/shoelace/assets/icons/chat-right.svg +3 -0
  511. frontend/public/build/shoelace/assets/icons/chat-square-dots-fill.svg +3 -0
  512. frontend/public/build/shoelace/assets/icons/chat-square-dots.svg +4 -0
  513. frontend/public/build/shoelace/assets/icons/chat-square-fill.svg +3 -0
  514. frontend/public/build/shoelace/assets/icons/chat-square-heart-fill.svg +3 -0
  515. frontend/public/build/shoelace/assets/icons/chat-square-heart.svg +4 -0
  516. frontend/public/build/shoelace/assets/icons/chat-square-quote-fill.svg +3 -0
  517. frontend/public/build/shoelace/assets/icons/chat-square-quote.svg +4 -0
  518. frontend/public/build/shoelace/assets/icons/chat-square-text-fill.svg +3 -0
  519. frontend/public/build/shoelace/assets/icons/chat-square-text.svg +4 -0
  520. frontend/public/build/shoelace/assets/icons/chat-square.svg +3 -0
  521. frontend/public/build/shoelace/assets/icons/chat-text-fill.svg +3 -0
  522. frontend/public/build/shoelace/assets/icons/chat-text.svg +4 -0
  523. frontend/public/build/shoelace/assets/icons/chat.svg +3 -0
  524. frontend/public/build/shoelace/assets/icons/check-all.svg +3 -0
  525. frontend/public/build/shoelace/assets/icons/check-circle-fill.svg +3 -0
  526. frontend/public/build/shoelace/assets/icons/check-circle.svg +4 -0
  527. frontend/public/build/shoelace/assets/icons/check-lg.svg +3 -0
  528. frontend/public/build/shoelace/assets/icons/check-square-fill.svg +3 -0
  529. frontend/public/build/shoelace/assets/icons/check-square.svg +4 -0
  530. frontend/public/build/shoelace/assets/icons/check.svg +3 -0
  531. frontend/public/build/shoelace/assets/icons/check2-all.svg +4 -0
  532. frontend/public/build/shoelace/assets/icons/check2-circle.svg +4 -0
  533. frontend/public/build/shoelace/assets/icons/check2-square.svg +4 -0
  534. frontend/public/build/shoelace/assets/icons/check2.svg +3 -0
  535. frontend/public/build/shoelace/assets/icons/chevron-bar-contract.svg +3 -0
  536. frontend/public/build/shoelace/assets/icons/chevron-bar-down.svg +3 -0
  537. frontend/public/build/shoelace/assets/icons/chevron-bar-expand.svg +3 -0
  538. frontend/public/build/shoelace/assets/icons/chevron-bar-left.svg +3 -0
  539. frontend/public/build/shoelace/assets/icons/chevron-bar-right.svg +3 -0
  540. frontend/public/build/shoelace/assets/icons/chevron-bar-up.svg +3 -0
  541. frontend/public/build/shoelace/assets/icons/chevron-compact-down.svg +3 -0
  542. frontend/public/build/shoelace/assets/icons/chevron-compact-left.svg +3 -0
  543. frontend/public/build/shoelace/assets/icons/chevron-compact-right.svg +3 -0
  544. frontend/public/build/shoelace/assets/icons/chevron-compact-up.svg +3 -0
  545. frontend/public/build/shoelace/assets/icons/chevron-contract.svg +3 -0
  546. frontend/public/build/shoelace/assets/icons/chevron-double-down.svg +4 -0
  547. frontend/public/build/shoelace/assets/icons/chevron-double-left.svg +4 -0
  548. frontend/public/build/shoelace/assets/icons/chevron-double-right.svg +4 -0
  549. frontend/public/build/shoelace/assets/icons/chevron-double-up.svg +4 -0
  550. frontend/public/build/shoelace/assets/icons/chevron-down.svg +3 -0
  551. frontend/public/build/shoelace/assets/icons/chevron-expand.svg +3 -0
  552. frontend/public/build/shoelace/assets/icons/chevron-left.svg +3 -0
  553. frontend/public/build/shoelace/assets/icons/chevron-right.svg +3 -0
  554. frontend/public/build/shoelace/assets/icons/chevron-up.svg +3 -0
  555. frontend/public/build/shoelace/assets/icons/circle-fill.svg +3 -0
  556. frontend/public/build/shoelace/assets/icons/circle-half.svg +3 -0
  557. frontend/public/build/shoelace/assets/icons/circle-square.svg +4 -0
  558. frontend/public/build/shoelace/assets/icons/circle.svg +3 -0
  559. frontend/public/build/shoelace/assets/icons/clipboard-check-fill.svg +4 -0
  560. frontend/public/build/shoelace/assets/icons/clipboard-check.svg +5 -0
  561. frontend/public/build/shoelace/assets/icons/clipboard-data-fill.svg +4 -0
  562. frontend/public/build/shoelace/assets/icons/clipboard-data.svg +5 -0
  563. frontend/public/build/shoelace/assets/icons/clipboard-fill.svg +3 -0
  564. frontend/public/build/shoelace/assets/icons/clipboard-heart-fill.svg +4 -0
  565. frontend/public/build/shoelace/assets/icons/clipboard-heart.svg +5 -0
  566. frontend/public/build/shoelace/assets/icons/clipboard-minus-fill.svg +4 -0
  567. frontend/public/build/shoelace/assets/icons/clipboard-minus.svg +5 -0
  568. frontend/public/build/shoelace/assets/icons/clipboard-plus-fill.svg +4 -0
  569. frontend/public/build/shoelace/assets/icons/clipboard-plus.svg +5 -0
  570. frontend/public/build/shoelace/assets/icons/clipboard-pulse.svg +3 -0
  571. frontend/public/build/shoelace/assets/icons/clipboard-x-fill.svg +4 -0
  572. frontend/public/build/shoelace/assets/icons/clipboard-x.svg +5 -0
  573. frontend/public/build/shoelace/assets/icons/clipboard.svg +4 -0
  574. frontend/public/build/shoelace/assets/icons/clipboard2-check-fill.svg +4 -0
  575. frontend/public/build/shoelace/assets/icons/clipboard2-check.svg +5 -0
  576. frontend/public/build/shoelace/assets/icons/clipboard2-data-fill.svg +4 -0
  577. frontend/public/build/shoelace/assets/icons/clipboard2-data.svg +5 -0
  578. frontend/public/build/shoelace/assets/icons/clipboard2-fill.svg +4 -0
  579. frontend/public/build/shoelace/assets/icons/clipboard2-heart-fill.svg +4 -0
  580. frontend/public/build/shoelace/assets/icons/clipboard2-heart.svg +5 -0
  581. frontend/public/build/shoelace/assets/icons/clipboard2-minus-fill.svg +4 -0
  582. frontend/public/build/shoelace/assets/icons/clipboard2-minus.svg +5 -0
  583. frontend/public/build/shoelace/assets/icons/clipboard2-plus-fill.svg +4 -0
  584. frontend/public/build/shoelace/assets/icons/clipboard2-plus.svg +5 -0
  585. frontend/public/build/shoelace/assets/icons/clipboard2-pulse-fill.svg +4 -0
  586. frontend/public/build/shoelace/assets/icons/clipboard2-pulse.svg +5 -0
  587. frontend/public/build/shoelace/assets/icons/clipboard2-x-fill.svg +4 -0
  588. frontend/public/build/shoelace/assets/icons/clipboard2-x.svg +5 -0
  589. frontend/public/build/shoelace/assets/icons/clipboard2.svg +4 -0
  590. frontend/public/build/shoelace/assets/icons/clock-fill.svg +3 -0
  591. frontend/public/build/shoelace/assets/icons/clock-history.svg +5 -0
  592. frontend/public/build/shoelace/assets/icons/clock.svg +4 -0
  593. frontend/public/build/shoelace/assets/icons/cloud-arrow-down-fill.svg +3 -0
  594. frontend/public/build/shoelace/assets/icons/cloud-arrow-down.svg +4 -0
  595. frontend/public/build/shoelace/assets/icons/cloud-arrow-up-fill.svg +3 -0
  596. frontend/public/build/shoelace/assets/icons/cloud-arrow-up.svg +4 -0
  597. frontend/public/build/shoelace/assets/icons/cloud-check-fill.svg +3 -0
  598. frontend/public/build/shoelace/assets/icons/cloud-check.svg +4 -0
  599. frontend/public/build/shoelace/assets/icons/cloud-download-fill.svg +3 -0
  600. frontend/public/build/shoelace/assets/icons/cloud-download.svg +4 -0
  601. frontend/public/build/shoelace/assets/icons/cloud-drizzle-fill.svg +3 -0
  602. frontend/public/build/shoelace/assets/icons/cloud-drizzle.svg +3 -0
  603. frontend/public/build/shoelace/assets/icons/cloud-fill.svg +3 -0
  604. frontend/public/build/shoelace/assets/icons/cloud-fog-fill.svg +3 -0
  605. frontend/public/build/shoelace/assets/icons/cloud-fog.svg +3 -0
  606. frontend/public/build/shoelace/assets/icons/cloud-fog2-fill.svg +3 -0
  607. frontend/public/build/shoelace/assets/icons/cloud-fog2.svg +3 -0
  608. frontend/public/build/shoelace/assets/icons/cloud-hail-fill.svg +3 -0
  609. frontend/public/build/shoelace/assets/icons/cloud-hail.svg +3 -0
  610. frontend/public/build/shoelace/assets/icons/cloud-haze-fill.svg +3 -0
  611. frontend/public/build/shoelace/assets/icons/cloud-haze.svg +3 -0
  612. frontend/public/build/shoelace/assets/icons/cloud-haze2-fill.svg +3 -0
  613. frontend/public/build/shoelace/assets/icons/cloud-haze2.svg +3 -0
  614. frontend/public/build/shoelace/assets/icons/cloud-lightning-fill.svg +3 -0
  615. frontend/public/build/shoelace/assets/icons/cloud-lightning-rain-fill.svg +3 -0
  616. frontend/public/build/shoelace/assets/icons/cloud-lightning-rain.svg +3 -0
  617. frontend/public/build/shoelace/assets/icons/cloud-lightning.svg +3 -0
  618. frontend/public/build/shoelace/assets/icons/cloud-minus-fill.svg +3 -0
  619. frontend/public/build/shoelace/assets/icons/cloud-minus.svg +4 -0
  620. frontend/public/build/shoelace/assets/icons/cloud-moon-fill.svg +4 -0
  621. frontend/public/build/shoelace/assets/icons/cloud-moon.svg +4 -0
  622. frontend/public/build/shoelace/assets/icons/cloud-plus-fill.svg +3 -0
  623. frontend/public/build/shoelace/assets/icons/cloud-plus.svg +4 -0
  624. frontend/public/build/shoelace/assets/icons/cloud-rain-fill.svg +3 -0
  625. frontend/public/build/shoelace/assets/icons/cloud-rain-heavy-fill.svg +3 -0
  626. frontend/public/build/shoelace/assets/icons/cloud-rain-heavy.svg +3 -0
  627. frontend/public/build/shoelace/assets/icons/cloud-rain.svg +3 -0
  628. frontend/public/build/shoelace/assets/icons/cloud-slash-fill.svg +3 -0
  629. frontend/public/build/shoelace/assets/icons/cloud-slash.svg +4 -0
  630. frontend/public/build/shoelace/assets/icons/cloud-sleet-fill.svg +3 -0
  631. frontend/public/build/shoelace/assets/icons/cloud-sleet.svg +3 -0
  632. frontend/public/build/shoelace/assets/icons/cloud-snow-fill.svg +3 -0
  633. frontend/public/build/shoelace/assets/icons/cloud-snow.svg +3 -0
  634. frontend/public/build/shoelace/assets/icons/cloud-sun-fill.svg +4 -0
  635. frontend/public/build/shoelace/assets/icons/cloud-sun.svg +4 -0
  636. frontend/public/build/shoelace/assets/icons/cloud-upload-fill.svg +3 -0
  637. frontend/public/build/shoelace/assets/icons/cloud-upload.svg +4 -0
  638. frontend/public/build/shoelace/assets/icons/cloud.svg +3 -0
  639. frontend/public/build/shoelace/assets/icons/clouds-fill.svg +4 -0
  640. frontend/public/build/shoelace/assets/icons/clouds.svg +4 -0
  641. frontend/public/build/shoelace/assets/icons/cloudy-fill.svg +3 -0
  642. frontend/public/build/shoelace/assets/icons/cloudy.svg +3 -0
  643. frontend/public/build/shoelace/assets/icons/code-slash.svg +3 -0
  644. frontend/public/build/shoelace/assets/icons/code-square.svg +4 -0
  645. frontend/public/build/shoelace/assets/icons/code.svg +3 -0
  646. frontend/public/build/shoelace/assets/icons/coin.svg +5 -0
  647. frontend/public/build/shoelace/assets/icons/collection-fill.svg +3 -0
  648. frontend/public/build/shoelace/assets/icons/collection-play-fill.svg +3 -0
  649. frontend/public/build/shoelace/assets/icons/collection-play.svg +4 -0
  650. frontend/public/build/shoelace/assets/icons/collection.svg +3 -0
  651. frontend/public/build/shoelace/assets/icons/columns-gap.svg +3 -0
  652. frontend/public/build/shoelace/assets/icons/columns.svg +3 -0
  653. frontend/public/build/shoelace/assets/icons/command.svg +3 -0
  654. frontend/public/build/shoelace/assets/icons/compass-fill.svg +3 -0
  655. frontend/public/build/shoelace/assets/icons/compass.svg +4 -0
  656. frontend/public/build/shoelace/assets/icons/cone-striped.svg +3 -0
  657. frontend/public/build/shoelace/assets/icons/cone.svg +3 -0
  658. frontend/public/build/shoelace/assets/icons/controller.svg +4 -0
  659. frontend/public/build/shoelace/assets/icons/cookie.svg +4 -0
  660. frontend/public/build/shoelace/assets/icons/copy.svg +3 -0
  661. frontend/public/build/shoelace/assets/icons/cpu-fill.svg +4 -0
  662. frontend/public/build/shoelace/assets/icons/cpu.svg +3 -0
  663. frontend/public/build/shoelace/assets/icons/credit-card-2-back-fill.svg +3 -0
  664. frontend/public/build/shoelace/assets/icons/credit-card-2-back.svg +4 -0
  665. frontend/public/build/shoelace/assets/icons/credit-card-2-front-fill.svg +3 -0
  666. frontend/public/build/shoelace/assets/icons/credit-card-2-front.svg +4 -0
  667. frontend/public/build/shoelace/assets/icons/credit-card-fill.svg +3 -0
  668. frontend/public/build/shoelace/assets/icons/credit-card.svg +4 -0
  669. frontend/public/build/shoelace/assets/icons/crop.svg +3 -0
  670. frontend/public/build/shoelace/assets/icons/crosshair.svg +3 -0
  671. frontend/public/build/shoelace/assets/icons/crosshair2.svg +3 -0
  672. frontend/public/build/shoelace/assets/icons/cup-fill.svg +3 -0
  673. frontend/public/build/shoelace/assets/icons/cup-hot-fill.svg +4 -0
  674. frontend/public/build/shoelace/assets/icons/cup-hot.svg +4 -0
  675. frontend/public/build/shoelace/assets/icons/cup-straw.svg +3 -0
  676. frontend/public/build/shoelace/assets/icons/cup.svg +3 -0
  677. frontend/public/build/shoelace/assets/icons/currency-bitcoin.svg +3 -0
  678. frontend/public/build/shoelace/assets/icons/currency-dollar.svg +3 -0
  679. frontend/public/build/shoelace/assets/icons/currency-euro.svg +3 -0
  680. frontend/public/build/shoelace/assets/icons/currency-exchange.svg +3 -0
  681. frontend/public/build/shoelace/assets/icons/currency-pound.svg +3 -0
  682. frontend/public/build/shoelace/assets/icons/currency-rupee.svg +3 -0
  683. frontend/public/build/shoelace/assets/icons/currency-yen.svg +3 -0
  684. frontend/public/build/shoelace/assets/icons/cursor-fill.svg +3 -0
  685. frontend/public/build/shoelace/assets/icons/cursor-text.svg +3 -0
  686. frontend/public/build/shoelace/assets/icons/cursor.svg +3 -0
  687. frontend/public/build/shoelace/assets/icons/dash-circle-dotted.svg +3 -0
  688. frontend/public/build/shoelace/assets/icons/dash-circle-fill.svg +3 -0
  689. frontend/public/build/shoelace/assets/icons/dash-circle.svg +4 -0
  690. frontend/public/build/shoelace/assets/icons/dash-lg.svg +3 -0
  691. frontend/public/build/shoelace/assets/icons/dash-square-dotted.svg +3 -0
  692. frontend/public/build/shoelace/assets/icons/dash-square-fill.svg +3 -0
  693. frontend/public/build/shoelace/assets/icons/dash-square.svg +4 -0
  694. frontend/public/build/shoelace/assets/icons/dash.svg +3 -0
  695. frontend/public/build/shoelace/assets/icons/database-add.svg +4 -0
  696. frontend/public/build/shoelace/assets/icons/database-check.svg +4 -0
  697. frontend/public/build/shoelace/assets/icons/database-dash.svg +4 -0
  698. frontend/public/build/shoelace/assets/icons/database-down.svg +4 -0
  699. frontend/public/build/shoelace/assets/icons/database-exclamation.svg +4 -0
  700. frontend/public/build/shoelace/assets/icons/database-fill-add.svg +4 -0
  701. frontend/public/build/shoelace/assets/icons/database-fill-check.svg +4 -0
  702. frontend/public/build/shoelace/assets/icons/database-fill-dash.svg +4 -0
  703. frontend/public/build/shoelace/assets/icons/database-fill-down.svg +4 -0
  704. frontend/public/build/shoelace/assets/icons/database-fill-exclamation.svg +5 -0
  705. frontend/public/build/shoelace/assets/icons/database-fill-gear.svg +4 -0
  706. frontend/public/build/shoelace/assets/icons/database-fill-lock.svg +5 -0
  707. frontend/public/build/shoelace/assets/icons/database-fill-slash.svg +4 -0
  708. frontend/public/build/shoelace/assets/icons/database-fill-up.svg +4 -0
  709. frontend/public/build/shoelace/assets/icons/database-fill-x.svg +5 -0
  710. frontend/public/build/shoelace/assets/icons/database-fill.svg +6 -0
  711. frontend/public/build/shoelace/assets/icons/database-gear.svg +4 -0
  712. frontend/public/build/shoelace/assets/icons/database-lock.svg +4 -0
  713. frontend/public/build/shoelace/assets/icons/database-slash.svg +4 -0
  714. frontend/public/build/shoelace/assets/icons/database-up.svg +4 -0
  715. frontend/public/build/shoelace/assets/icons/database-x.svg +4 -0
  716. frontend/public/build/shoelace/assets/icons/database.svg +3 -0
  717. frontend/public/build/shoelace/assets/icons/device-hdd-fill.svg +4 -0
  718. frontend/public/build/shoelace/assets/icons/device-hdd.svg +5 -0
  719. frontend/public/build/shoelace/assets/icons/device-ssd-fill.svg +4 -0
  720. frontend/public/build/shoelace/assets/icons/device-ssd.svg +4 -0
  721. frontend/public/build/shoelace/assets/icons/diagram-2-fill.svg +3 -0
  722. frontend/public/build/shoelace/assets/icons/diagram-2.svg +3 -0
  723. frontend/public/build/shoelace/assets/icons/diagram-3-fill.svg +3 -0
  724. frontend/public/build/shoelace/assets/icons/diagram-3.svg +3 -0
  725. frontend/public/build/shoelace/assets/icons/diamond-fill.svg +3 -0
  726. frontend/public/build/shoelace/assets/icons/diamond-half.svg +3 -0
  727. frontend/public/build/shoelace/assets/icons/diamond.svg +3 -0
  728. frontend/public/build/shoelace/assets/icons/dice-1-fill.svg +3 -0
  729. frontend/public/build/shoelace/assets/icons/dice-1.svg +4 -0
  730. frontend/public/build/shoelace/assets/icons/dice-2-fill.svg +3 -0
  731. frontend/public/build/shoelace/assets/icons/dice-2.svg +4 -0
  732. frontend/public/build/shoelace/assets/icons/dice-3-fill.svg +3 -0
  733. frontend/public/build/shoelace/assets/icons/dice-3.svg +4 -0
  734. frontend/public/build/shoelace/assets/icons/dice-4-fill.svg +3 -0
  735. frontend/public/build/shoelace/assets/icons/dice-4.svg +4 -0
  736. frontend/public/build/shoelace/assets/icons/dice-5-fill.svg +3 -0
  737. frontend/public/build/shoelace/assets/icons/dice-5.svg +4 -0
  738. frontend/public/build/shoelace/assets/icons/dice-6-fill.svg +3 -0
  739. frontend/public/build/shoelace/assets/icons/dice-6.svg +4 -0
  740. frontend/public/build/shoelace/assets/icons/disc-fill.svg +3 -0
  741. frontend/public/build/shoelace/assets/icons/disc.svg +4 -0
  742. frontend/public/build/shoelace/assets/icons/discord.svg +3 -0
  743. frontend/public/build/shoelace/assets/icons/display-fill.svg +3 -0
  744. frontend/public/build/shoelace/assets/icons/display.svg +3 -0
  745. frontend/public/build/shoelace/assets/icons/displayport-fill.svg +3 -0
  746. frontend/public/build/shoelace/assets/icons/displayport.svg +4 -0
  747. frontend/public/build/shoelace/assets/icons/distribute-horizontal.svg +4 -0
  748. frontend/public/build/shoelace/assets/icons/distribute-vertical.svg +4 -0
  749. frontend/public/build/shoelace/assets/icons/door-closed-fill.svg +3 -0
  750. frontend/public/build/shoelace/assets/icons/door-closed.svg +4 -0
  751. frontend/public/build/shoelace/assets/icons/door-open-fill.svg +3 -0
  752. frontend/public/build/shoelace/assets/icons/door-open.svg +4 -0
  753. frontend/public/build/shoelace/assets/icons/dot.svg +3 -0
  754. frontend/public/build/shoelace/assets/icons/download.svg +4 -0
  755. frontend/public/build/shoelace/assets/icons/dpad-fill.svg +3 -0
  756. frontend/public/build/shoelace/assets/icons/dpad.svg +4 -0
  757. frontend/public/build/shoelace/assets/icons/dribbble.svg +3 -0
  758. frontend/public/build/shoelace/assets/icons/dropbox.svg +3 -0
  759. frontend/public/build/shoelace/assets/icons/droplet-fill.svg +3 -0
  760. frontend/public/build/shoelace/assets/icons/droplet-half.svg +4 -0
  761. frontend/public/build/shoelace/assets/icons/droplet.svg +4 -0
  762. frontend/public/build/shoelace/assets/icons/duffle-fill.svg +3 -0
  763. frontend/public/build/shoelace/assets/icons/duffle.svg +4 -0
  764. frontend/public/build/shoelace/assets/icons/ear-fill.svg +3 -0
  765. frontend/public/build/shoelace/assets/icons/ear.svg +3 -0
  766. frontend/public/build/shoelace/assets/icons/earbuds.svg +3 -0
  767. frontend/public/build/shoelace/assets/icons/easel-fill.svg +3 -0
  768. frontend/public/build/shoelace/assets/icons/easel.svg +3 -0
  769. frontend/public/build/shoelace/assets/icons/easel2-fill.svg +4 -0
  770. frontend/public/build/shoelace/assets/icons/easel2.svg +3 -0
  771. frontend/public/build/shoelace/assets/icons/easel3-fill.svg +3 -0
  772. frontend/public/build/shoelace/assets/icons/easel3.svg +3 -0
  773. frontend/public/build/shoelace/assets/icons/egg-fill.svg +3 -0
  774. frontend/public/build/shoelace/assets/icons/egg-fried.svg +4 -0
  775. frontend/public/build/shoelace/assets/icons/egg.svg +3 -0
  776. frontend/public/build/shoelace/assets/icons/eject-fill.svg +3 -0
  777. frontend/public/build/shoelace/assets/icons/eject.svg +3 -0
  778. frontend/public/build/shoelace/assets/icons/emoji-angry-fill.svg +3 -0
  779. frontend/public/build/shoelace/assets/icons/emoji-angry.svg +4 -0
  780. frontend/public/build/shoelace/assets/icons/emoji-astonished-fill.svg +3 -0
  781. frontend/public/build/shoelace/assets/icons/emoji-astonished.svg +4 -0
  782. frontend/public/build/shoelace/assets/icons/emoji-dizzy-fill.svg +3 -0
  783. frontend/public/build/shoelace/assets/icons/emoji-dizzy.svg +4 -0
  784. frontend/public/build/shoelace/assets/icons/emoji-expressionless-fill.svg +3 -0
  785. frontend/public/build/shoelace/assets/icons/emoji-expressionless.svg +4 -0
  786. frontend/public/build/shoelace/assets/icons/emoji-frown-fill.svg +3 -0
  787. frontend/public/build/shoelace/assets/icons/emoji-frown.svg +4 -0
  788. frontend/public/build/shoelace/assets/icons/emoji-grimace-fill.svg +3 -0
  789. frontend/public/build/shoelace/assets/icons/emoji-grimace.svg +4 -0
  790. frontend/public/build/shoelace/assets/icons/emoji-grin-fill.svg +3 -0
  791. frontend/public/build/shoelace/assets/icons/emoji-grin.svg +4 -0
  792. frontend/public/build/shoelace/assets/icons/emoji-heart-eyes-fill.svg +3 -0
  793. frontend/public/build/shoelace/assets/icons/emoji-heart-eyes.svg +4 -0
  794. frontend/public/build/shoelace/assets/icons/emoji-kiss-fill.svg +3 -0
  795. frontend/public/build/shoelace/assets/icons/emoji-kiss.svg +3 -0
  796. frontend/public/build/shoelace/assets/icons/emoji-laughing-fill.svg +3 -0
  797. frontend/public/build/shoelace/assets/icons/emoji-laughing.svg +4 -0
  798. frontend/public/build/shoelace/assets/icons/emoji-neutral-fill.svg +3 -0
  799. frontend/public/build/shoelace/assets/icons/emoji-neutral.svg +4 -0
  800. frontend/public/build/shoelace/assets/icons/emoji-smile-fill.svg +3 -0
  801. frontend/public/build/shoelace/assets/icons/emoji-smile-upside-down-fill.svg +3 -0
  802. frontend/public/build/shoelace/assets/icons/emoji-smile-upside-down.svg +4 -0
  803. frontend/public/build/shoelace/assets/icons/emoji-smile.svg +4 -0
  804. frontend/public/build/shoelace/assets/icons/emoji-sunglasses-fill.svg +3 -0
  805. frontend/public/build/shoelace/assets/icons/emoji-sunglasses.svg +4 -0
  806. frontend/public/build/shoelace/assets/icons/emoji-surprise-fill.svg +3 -0
  807. frontend/public/build/shoelace/assets/icons/emoji-surprise.svg +4 -0
  808. frontend/public/build/shoelace/assets/icons/emoji-tear-fill.svg +3 -0
  809. frontend/public/build/shoelace/assets/icons/emoji-tear.svg +4 -0
  810. frontend/public/build/shoelace/assets/icons/emoji-wink-fill.svg +3 -0
  811. frontend/public/build/shoelace/assets/icons/emoji-wink.svg +4 -0
  812. frontend/public/build/shoelace/assets/icons/envelope-arrow-down-fill.svg +4 -0
  813. frontend/public/build/shoelace/assets/icons/envelope-arrow-down.svg +4 -0
  814. frontend/public/build/shoelace/assets/icons/envelope-arrow-up-fill.svg +4 -0
  815. frontend/public/build/shoelace/assets/icons/envelope-arrow-up.svg +4 -0
  816. frontend/public/build/shoelace/assets/icons/envelope-at-fill.svg +4 -0
  817. frontend/public/build/shoelace/assets/icons/envelope-at.svg +4 -0
  818. frontend/public/build/shoelace/assets/icons/envelope-check-fill.svg +4 -0
  819. frontend/public/build/shoelace/assets/icons/envelope-check.svg +4 -0
  820. frontend/public/build/shoelace/assets/icons/envelope-dash-fill.svg +4 -0
  821. frontend/public/build/shoelace/assets/icons/envelope-dash.svg +4 -0
  822. frontend/public/build/shoelace/assets/icons/envelope-exclamation-fill.svg +4 -0
  823. frontend/public/build/shoelace/assets/icons/envelope-exclamation.svg +4 -0
  824. frontend/public/build/shoelace/assets/icons/envelope-fill.svg +3 -0
  825. frontend/public/build/shoelace/assets/icons/envelope-heart-fill.svg +4 -0
  826. frontend/public/build/shoelace/assets/icons/envelope-heart.svg +3 -0
  827. frontend/public/build/shoelace/assets/icons/envelope-open-fill.svg +3 -0
  828. frontend/public/build/shoelace/assets/icons/envelope-open-heart-fill.svg +4 -0
  829. frontend/public/build/shoelace/assets/icons/envelope-open-heart.svg +3 -0
  830. frontend/public/build/shoelace/assets/icons/envelope-open.svg +3 -0
  831. frontend/public/build/shoelace/assets/icons/envelope-paper-fill.svg +3 -0
  832. frontend/public/build/shoelace/assets/icons/envelope-paper-heart-fill.svg +3 -0
  833. frontend/public/build/shoelace/assets/icons/envelope-paper-heart.svg +3 -0
  834. frontend/public/build/shoelace/assets/icons/envelope-paper.svg +3 -0
  835. frontend/public/build/shoelace/assets/icons/envelope-plus-fill.svg +4 -0
  836. frontend/public/build/shoelace/assets/icons/envelope-plus.svg +4 -0
  837. frontend/public/build/shoelace/assets/icons/envelope-slash-fill.svg +4 -0
  838. frontend/public/build/shoelace/assets/icons/envelope-slash.svg +4 -0
  839. frontend/public/build/shoelace/assets/icons/envelope-x-fill.svg +4 -0
  840. frontend/public/build/shoelace/assets/icons/envelope-x.svg +4 -0
  841. frontend/public/build/shoelace/assets/icons/envelope.svg +3 -0
  842. frontend/public/build/shoelace/assets/icons/eraser-fill.svg +3 -0
  843. frontend/public/build/shoelace/assets/icons/eraser.svg +3 -0
  844. frontend/public/build/shoelace/assets/icons/escape.svg +4 -0
  845. frontend/public/build/shoelace/assets/icons/ethernet.svg +4 -0
  846. frontend/public/build/shoelace/assets/icons/ev-front-fill.svg +3 -0
  847. frontend/public/build/shoelace/assets/icons/ev-front.svg +4 -0
  848. frontend/public/build/shoelace/assets/icons/ev-station-fill.svg +3 -0
  849. frontend/public/build/shoelace/assets/icons/ev-station.svg +4 -0
  850. frontend/public/build/shoelace/assets/icons/exclamation-circle-fill.svg +3 -0
  851. frontend/public/build/shoelace/assets/icons/exclamation-circle.svg +4 -0
  852. frontend/public/build/shoelace/assets/icons/exclamation-diamond-fill.svg +3 -0
  853. frontend/public/build/shoelace/assets/icons/exclamation-diamond.svg +4 -0
  854. frontend/public/build/shoelace/assets/icons/exclamation-lg.svg +3 -0
  855. frontend/public/build/shoelace/assets/icons/exclamation-octagon-fill.svg +3 -0
  856. frontend/public/build/shoelace/assets/icons/exclamation-octagon.svg +4 -0
  857. frontend/public/build/shoelace/assets/icons/exclamation-square-fill.svg +3 -0
  858. frontend/public/build/shoelace/assets/icons/exclamation-square.svg +4 -0
  859. frontend/public/build/shoelace/assets/icons/exclamation-triangle-fill.svg +3 -0
  860. frontend/public/build/shoelace/assets/icons/exclamation-triangle.svg +4 -0
  861. frontend/public/build/shoelace/assets/icons/exclamation.svg +3 -0
  862. frontend/public/build/shoelace/assets/icons/exclude.svg +3 -0
  863. frontend/public/build/shoelace/assets/icons/explicit-fill.svg +3 -0
  864. frontend/public/build/shoelace/assets/icons/explicit.svg +4 -0
  865. frontend/public/build/shoelace/assets/icons/exposure.svg +4 -0
  866. frontend/public/build/shoelace/assets/icons/eye-fill.svg +4 -0
  867. frontend/public/build/shoelace/assets/icons/eye-slash-fill.svg +4 -0
  868. frontend/public/build/shoelace/assets/icons/eye-slash.svg +5 -0
  869. frontend/public/build/shoelace/assets/icons/eye.svg +4 -0
  870. frontend/public/build/shoelace/assets/icons/eyedropper.svg +3 -0
  871. frontend/public/build/shoelace/assets/icons/eyeglasses.svg +3 -0
  872. frontend/public/build/shoelace/assets/icons/facebook.svg +3 -0
  873. frontend/public/build/shoelace/assets/icons/fan.svg +4 -0
  874. frontend/public/build/shoelace/assets/icons/fast-forward-btn-fill.svg +3 -0
  875. frontend/public/build/shoelace/assets/icons/fast-forward-btn.svg +4 -0
  876. frontend/public/build/shoelace/assets/icons/fast-forward-circle-fill.svg +3 -0
  877. frontend/public/build/shoelace/assets/icons/fast-forward-circle.svg +4 -0
  878. frontend/public/build/shoelace/assets/icons/fast-forward-fill.svg +4 -0
  879. frontend/public/build/shoelace/assets/icons/fast-forward.svg +4 -0
  880. frontend/public/build/shoelace/assets/icons/feather.svg +3 -0
  881. frontend/public/build/shoelace/assets/icons/feather2.svg +3 -0
  882. frontend/public/build/shoelace/assets/icons/file-arrow-down-fill.svg +3 -0
  883. frontend/public/build/shoelace/assets/icons/file-arrow-down.svg +4 -0
  884. frontend/public/build/shoelace/assets/icons/file-arrow-up-fill.svg +3 -0
  885. frontend/public/build/shoelace/assets/icons/file-arrow-up.svg +4 -0
  886. frontend/public/build/shoelace/assets/icons/file-bar-graph-fill.svg +3 -0
  887. frontend/public/build/shoelace/assets/icons/file-bar-graph.svg +4 -0
  888. frontend/public/build/shoelace/assets/icons/file-binary-fill.svg +4 -0
  889. frontend/public/build/shoelace/assets/icons/file-binary.svg +4 -0
  890. frontend/public/build/shoelace/assets/icons/file-break-fill.svg +3 -0
  891. frontend/public/build/shoelace/assets/icons/file-break.svg +3 -0
  892. frontend/public/build/shoelace/assets/icons/file-check-fill.svg +3 -0
  893. frontend/public/build/shoelace/assets/icons/file-check.svg +4 -0
  894. frontend/public/build/shoelace/assets/icons/file-code-fill.svg +3 -0
  895. frontend/public/build/shoelace/assets/icons/file-code.svg +4 -0
  896. frontend/public/build/shoelace/assets/icons/file-diff-fill.svg +3 -0
  897. frontend/public/build/shoelace/assets/icons/file-diff.svg +4 -0
  898. frontend/public/build/shoelace/assets/icons/file-earmark-arrow-down-fill.svg +3 -0
  899. frontend/public/build/shoelace/assets/icons/file-earmark-arrow-down.svg +4 -0
  900. frontend/public/build/shoelace/assets/icons/file-earmark-arrow-up-fill.svg +3 -0
  901. frontend/public/build/shoelace/assets/icons/file-earmark-arrow-up.svg +4 -0
  902. frontend/public/build/shoelace/assets/icons/file-earmark-bar-graph-fill.svg +3 -0
  903. frontend/public/build/shoelace/assets/icons/file-earmark-bar-graph.svg +4 -0
  904. frontend/public/build/shoelace/assets/icons/file-earmark-binary-fill.svg +4 -0
  905. frontend/public/build/shoelace/assets/icons/file-earmark-binary.svg +4 -0
  906. frontend/public/build/shoelace/assets/icons/file-earmark-break-fill.svg +3 -0
  907. frontend/public/build/shoelace/assets/icons/file-earmark-break.svg +3 -0
  908. frontend/public/build/shoelace/assets/icons/file-earmark-check-fill.svg +3 -0
  909. frontend/public/build/shoelace/assets/icons/file-earmark-check.svg +4 -0
  910. frontend/public/build/shoelace/assets/icons/file-earmark-code-fill.svg +3 -0
  911. frontend/public/build/shoelace/assets/icons/file-earmark-code.svg +4 -0
  912. frontend/public/build/shoelace/assets/icons/file-earmark-diff-fill.svg +3 -0
  913. frontend/public/build/shoelace/assets/icons/file-earmark-diff.svg +4 -0
  914. frontend/public/build/shoelace/assets/icons/file-earmark-easel-fill.svg +4 -0
  915. frontend/public/build/shoelace/assets/icons/file-earmark-easel.svg +4 -0
  916. frontend/public/build/shoelace/assets/icons/file-earmark-excel-fill.svg +3 -0
  917. frontend/public/build/shoelace/assets/icons/file-earmark-excel.svg +4 -0
  918. frontend/public/build/shoelace/assets/icons/file-earmark-fill.svg +3 -0
  919. frontend/public/build/shoelace/assets/icons/file-earmark-font-fill.svg +3 -0
  920. frontend/public/build/shoelace/assets/icons/file-earmark-font.svg +4 -0
  921. frontend/public/build/shoelace/assets/icons/file-earmark-image-fill.svg +4 -0
  922. frontend/public/build/shoelace/assets/icons/file-earmark-image.svg +4 -0
  923. frontend/public/build/shoelace/assets/icons/file-earmark-lock-fill.svg +4 -0
  924. frontend/public/build/shoelace/assets/icons/file-earmark-lock.svg +4 -0
  925. frontend/public/build/shoelace/assets/icons/file-earmark-lock2-fill.svg +4 -0
  926. frontend/public/build/shoelace/assets/icons/file-earmark-lock2.svg +4 -0
  927. frontend/public/build/shoelace/assets/icons/file-earmark-medical-fill.svg +3 -0
  928. frontend/public/build/shoelace/assets/icons/file-earmark-medical.svg +4 -0
  929. frontend/public/build/shoelace/assets/icons/file-earmark-minus-fill.svg +3 -0
  930. frontend/public/build/shoelace/assets/icons/file-earmark-minus.svg +4 -0
  931. frontend/public/build/shoelace/assets/icons/file-earmark-music-fill.svg +3 -0
  932. frontend/public/build/shoelace/assets/icons/file-earmark-music.svg +4 -0
  933. frontend/public/build/shoelace/assets/icons/file-earmark-pdf-fill.svg +4 -0
  934. frontend/public/build/shoelace/assets/icons/file-earmark-pdf.svg +4 -0
  935. frontend/public/build/shoelace/assets/icons/file-earmark-person-fill.svg +3 -0
  936. frontend/public/build/shoelace/assets/icons/file-earmark-person.svg +4 -0
  937. frontend/public/build/shoelace/assets/icons/file-earmark-play-fill.svg +3 -0
  938. frontend/public/build/shoelace/assets/icons/file-earmark-play.svg +4 -0
  939. frontend/public/build/shoelace/assets/icons/file-earmark-plus-fill.svg +3 -0
  940. frontend/public/build/shoelace/assets/icons/file-earmark-plus.svg +4 -0
  941. frontend/public/build/shoelace/assets/icons/file-earmark-post-fill.svg +3 -0
  942. frontend/public/build/shoelace/assets/icons/file-earmark-post.svg +4 -0
  943. frontend/public/build/shoelace/assets/icons/file-earmark-ppt-fill.svg +4 -0
  944. frontend/public/build/shoelace/assets/icons/file-earmark-ppt.svg +4 -0
  945. frontend/public/build/shoelace/assets/icons/file-earmark-richtext-fill.svg +3 -0
  946. frontend/public/build/shoelace/assets/icons/file-earmark-richtext.svg +4 -0
  947. frontend/public/build/shoelace/assets/icons/file-earmark-ruled-fill.svg +3 -0
  948. frontend/public/build/shoelace/assets/icons/file-earmark-ruled.svg +3 -0
  949. frontend/public/build/shoelace/assets/icons/file-earmark-slides-fill.svg +4 -0
  950. frontend/public/build/shoelace/assets/icons/file-earmark-slides.svg +4 -0
  951. frontend/public/build/shoelace/assets/icons/file-earmark-spreadsheet-fill.svg +4 -0
  952. frontend/public/build/shoelace/assets/icons/file-earmark-spreadsheet.svg +3 -0
  953. frontend/public/build/shoelace/assets/icons/file-earmark-text-fill.svg +3 -0
  954. frontend/public/build/shoelace/assets/icons/file-earmark-text.svg +4 -0
  955. frontend/public/build/shoelace/assets/icons/file-earmark-word-fill.svg +3 -0
  956. frontend/public/build/shoelace/assets/icons/file-earmark-word.svg +4 -0
  957. frontend/public/build/shoelace/assets/icons/file-earmark-x-fill.svg +3 -0
  958. frontend/public/build/shoelace/assets/icons/file-earmark-x.svg +4 -0
  959. frontend/public/build/shoelace/assets/icons/file-earmark-zip-fill.svg +4 -0
  960. frontend/public/build/shoelace/assets/icons/file-earmark-zip.svg +4 -0
  961. frontend/public/build/shoelace/assets/icons/file-earmark.svg +3 -0
  962. frontend/public/build/shoelace/assets/icons/file-easel-fill.svg +4 -0
  963. frontend/public/build/shoelace/assets/icons/file-easel.svg +4 -0
  964. frontend/public/build/shoelace/assets/icons/file-excel-fill.svg +3 -0
  965. frontend/public/build/shoelace/assets/icons/file-excel.svg +4 -0
  966. frontend/public/build/shoelace/assets/icons/file-fill.svg +3 -0
  967. frontend/public/build/shoelace/assets/icons/file-font-fill.svg +3 -0
  968. frontend/public/build/shoelace/assets/icons/file-font.svg +4 -0
  969. frontend/public/build/shoelace/assets/icons/file-image-fill.svg +4 -0
  970. frontend/public/build/shoelace/assets/icons/file-image.svg +4 -0
  971. frontend/public/build/shoelace/assets/icons/file-lock-fill.svg +4 -0
  972. frontend/public/build/shoelace/assets/icons/file-lock.svg +4 -0
  973. frontend/public/build/shoelace/assets/icons/file-lock2-fill.svg +4 -0
  974. frontend/public/build/shoelace/assets/icons/file-lock2.svg +4 -0
  975. frontend/public/build/shoelace/assets/icons/file-medical-fill.svg +3 -0
  976. frontend/public/build/shoelace/assets/icons/file-medical.svg +4 -0
  977. frontend/public/build/shoelace/assets/icons/file-minus-fill.svg +3 -0
  978. frontend/public/build/shoelace/assets/icons/file-minus.svg +4 -0
  979. frontend/public/build/shoelace/assets/icons/file-music-fill.svg +3 -0
  980. frontend/public/build/shoelace/assets/icons/file-music.svg +4 -0
  981. frontend/public/build/shoelace/assets/icons/file-pdf-fill.svg +4 -0
  982. frontend/public/build/shoelace/assets/icons/file-pdf.svg +4 -0
  983. frontend/public/build/shoelace/assets/icons/file-person-fill.svg +3 -0
  984. frontend/public/build/shoelace/assets/icons/file-person.svg +4 -0
  985. frontend/public/build/shoelace/assets/icons/file-play-fill.svg +3 -0
  986. frontend/public/build/shoelace/assets/icons/file-play.svg +4 -0
  987. frontend/public/build/shoelace/assets/icons/file-plus-fill.svg +3 -0
  988. frontend/public/build/shoelace/assets/icons/file-plus.svg +4 -0
  989. frontend/public/build/shoelace/assets/icons/file-post-fill.svg +3 -0
  990. frontend/public/build/shoelace/assets/icons/file-post.svg +4 -0
  991. frontend/public/build/shoelace/assets/icons/file-ppt-fill.svg +4 -0
  992. frontend/public/build/shoelace/assets/icons/file-ppt.svg +4 -0
  993. frontend/public/build/shoelace/assets/icons/file-richtext-fill.svg +3 -0
  994. frontend/public/build/shoelace/assets/icons/file-richtext.svg +4 -0
  995. frontend/public/build/shoelace/assets/icons/file-ruled-fill.svg +3 -0
  996. frontend/public/build/shoelace/assets/icons/file-ruled.svg +3 -0
  997. frontend/public/build/shoelace/assets/icons/file-slides-fill.svg +4 -0
  998. frontend/public/build/shoelace/assets/icons/file-slides.svg +4 -0
  999. frontend/public/build/shoelace/assets/icons/file-spreadsheet-fill.svg +3 -0
  1000. frontend/public/build/shoelace/assets/icons/file-spreadsheet.svg +3 -0
  1001. frontend/public/build/shoelace/assets/icons/file-text-fill.svg +3 -0
  1002. frontend/public/build/shoelace/assets/icons/file-text.svg +4 -0
  1003. frontend/public/build/shoelace/assets/icons/file-word-fill.svg +3 -0
  1004. frontend/public/build/shoelace/assets/icons/file-word.svg +4 -0
  1005. frontend/public/build/shoelace/assets/icons/file-x-fill.svg +3 -0
  1006. frontend/public/build/shoelace/assets/icons/file-x.svg +4 -0
  1007. frontend/public/build/shoelace/assets/icons/file-zip-fill.svg +4 -0
  1008. frontend/public/build/shoelace/assets/icons/file-zip.svg +4 -0
  1009. frontend/public/build/shoelace/assets/icons/file.svg +3 -0
  1010. frontend/public/build/shoelace/assets/icons/files-alt.svg +3 -0
  1011. frontend/public/build/shoelace/assets/icons/files.svg +3 -0
  1012. frontend/public/build/shoelace/assets/icons/filetype-aac.svg +3 -0
  1013. frontend/public/build/shoelace/assets/icons/filetype-ai.svg +3 -0
  1014. frontend/public/build/shoelace/assets/icons/filetype-bmp.svg +3 -0
  1015. frontend/public/build/shoelace/assets/icons/filetype-cs.svg +3 -0
  1016. frontend/public/build/shoelace/assets/icons/filetype-css.svg +3 -0
  1017. frontend/public/build/shoelace/assets/icons/filetype-csv.svg +3 -0
  1018. frontend/public/build/shoelace/assets/icons/filetype-doc.svg +3 -0
  1019. frontend/public/build/shoelace/assets/icons/filetype-docx.svg +3 -0
  1020. frontend/public/build/shoelace/assets/icons/filetype-exe.svg +3 -0
  1021. frontend/public/build/shoelace/assets/icons/filetype-gif.svg +3 -0
  1022. frontend/public/build/shoelace/assets/icons/filetype-heic.svg +3 -0
  1023. frontend/public/build/shoelace/assets/icons/filetype-html.svg +3 -0
  1024. frontend/public/build/shoelace/assets/icons/filetype-java.svg +3 -0
  1025. frontend/public/build/shoelace/assets/icons/filetype-jpg.svg +3 -0
  1026. frontend/public/build/shoelace/assets/icons/filetype-js.svg +3 -0
  1027. frontend/public/build/shoelace/assets/icons/filetype-json.svg +3 -0
  1028. frontend/public/build/shoelace/assets/icons/filetype-jsx.svg +3 -0
  1029. frontend/public/build/shoelace/assets/icons/filetype-key.svg +3 -0
  1030. frontend/public/build/shoelace/assets/icons/filetype-m4p.svg +3 -0
  1031. frontend/public/build/shoelace/assets/icons/filetype-md.svg +3 -0
  1032. frontend/public/build/shoelace/assets/icons/filetype-mdx.svg +3 -0
  1033. frontend/public/build/shoelace/assets/icons/filetype-mov.svg +3 -0
  1034. frontend/public/build/shoelace/assets/icons/filetype-mp3.svg +3 -0
  1035. frontend/public/build/shoelace/assets/icons/filetype-mp4.svg +3 -0
  1036. frontend/public/build/shoelace/assets/icons/filetype-otf.svg +3 -0
  1037. frontend/public/build/shoelace/assets/icons/filetype-pdf.svg +3 -0
  1038. frontend/public/build/shoelace/assets/icons/filetype-php.svg +3 -0
  1039. frontend/public/build/shoelace/assets/icons/filetype-png.svg +3 -0
  1040. frontend/public/build/shoelace/assets/icons/filetype-ppt.svg +3 -0
  1041. frontend/public/build/shoelace/assets/icons/filetype-pptx.svg +3 -0
  1042. frontend/public/build/shoelace/assets/icons/filetype-psd.svg +3 -0
  1043. frontend/public/build/shoelace/assets/icons/filetype-py.svg +3 -0
  1044. frontend/public/build/shoelace/assets/icons/filetype-raw.svg +3 -0
  1045. frontend/public/build/shoelace/assets/icons/filetype-rb.svg +3 -0
  1046. frontend/public/build/shoelace/assets/icons/filetype-sass.svg +3 -0
  1047. frontend/public/build/shoelace/assets/icons/filetype-scss.svg +3 -0
  1048. frontend/public/build/shoelace/assets/icons/filetype-sh.svg +3 -0
  1049. frontend/public/build/shoelace/assets/icons/filetype-sql.svg +3 -0
  1050. frontend/public/build/shoelace/assets/icons/filetype-svg.svg +3 -0
  1051. frontend/public/build/shoelace/assets/icons/filetype-tiff.svg +3 -0
  1052. frontend/public/build/shoelace/assets/icons/filetype-tsx.svg +3 -0
  1053. frontend/public/build/shoelace/assets/icons/filetype-ttf.svg +3 -0
  1054. frontend/public/build/shoelace/assets/icons/filetype-txt.svg +3 -0
  1055. frontend/public/build/shoelace/assets/icons/filetype-wav.svg +3 -0
  1056. frontend/public/build/shoelace/assets/icons/filetype-woff.svg +3 -0
  1057. frontend/public/build/shoelace/assets/icons/filetype-xls.svg +3 -0
  1058. frontend/public/build/shoelace/assets/icons/filetype-xlsx.svg +3 -0
  1059. frontend/public/build/shoelace/assets/icons/filetype-xml.svg +3 -0
  1060. frontend/public/build/shoelace/assets/icons/filetype-yml.svg +3 -0
  1061. frontend/public/build/shoelace/assets/icons/film.svg +3 -0
  1062. frontend/public/build/shoelace/assets/icons/filter-circle-fill.svg +3 -0
  1063. frontend/public/build/shoelace/assets/icons/filter-circle.svg +4 -0
  1064. frontend/public/build/shoelace/assets/icons/filter-left.svg +3 -0
  1065. frontend/public/build/shoelace/assets/icons/filter-right.svg +3 -0
  1066. frontend/public/build/shoelace/assets/icons/filter-square-fill.svg +3 -0
  1067. frontend/public/build/shoelace/assets/icons/filter-square.svg +4 -0
  1068. frontend/public/build/shoelace/assets/icons/filter.svg +3 -0
  1069. frontend/public/build/shoelace/assets/icons/fingerprint.svg +7 -0
  1070. frontend/public/build/shoelace/assets/icons/fire.svg +3 -0
  1071. frontend/public/build/shoelace/assets/icons/flag-fill.svg +3 -0
  1072. frontend/public/build/shoelace/assets/icons/flag.svg +3 -0
  1073. frontend/public/build/shoelace/assets/icons/floppy-fill.svg +4 -0
  1074. frontend/public/build/shoelace/assets/icons/floppy.svg +4 -0
  1075. frontend/public/build/shoelace/assets/icons/floppy2-fill.svg +4 -0
  1076. frontend/public/build/shoelace/assets/icons/floppy2.svg +3 -0
  1077. frontend/public/build/shoelace/assets/icons/flower1.svg +3 -0
  1078. frontend/public/build/shoelace/assets/icons/flower2.svg +3 -0
  1079. frontend/public/build/shoelace/assets/icons/flower3.svg +3 -0
  1080. frontend/public/build/shoelace/assets/icons/folder-check.svg +4 -0
  1081. frontend/public/build/shoelace/assets/icons/folder-fill.svg +3 -0
  1082. frontend/public/build/shoelace/assets/icons/folder-minus.svg +4 -0
  1083. frontend/public/build/shoelace/assets/icons/folder-plus.svg +4 -0
  1084. frontend/public/build/shoelace/assets/icons/folder-symlink-fill.svg +3 -0
  1085. frontend/public/build/shoelace/assets/icons/folder-symlink.svg +4 -0
  1086. frontend/public/build/shoelace/assets/icons/folder-x.svg +4 -0
  1087. frontend/public/build/shoelace/assets/icons/folder.svg +3 -0
  1088. frontend/public/build/shoelace/assets/icons/folder2-open.svg +3 -0
  1089. frontend/public/build/shoelace/assets/icons/folder2.svg +3 -0
  1090. frontend/public/build/shoelace/assets/icons/fonts.svg +3 -0
  1091. frontend/public/build/shoelace/assets/icons/forward-fill.svg +3 -0
  1092. frontend/public/build/shoelace/assets/icons/forward.svg +3 -0
  1093. frontend/public/build/shoelace/assets/icons/front.svg +3 -0
  1094. frontend/public/build/shoelace/assets/icons/fuel-pump-diesel-fill.svg +4 -0
  1095. frontend/public/build/shoelace/assets/icons/fuel-pump-diesel.svg +4 -0
  1096. frontend/public/build/shoelace/assets/icons/fuel-pump-fill.svg +3 -0
  1097. frontend/public/build/shoelace/assets/icons/fuel-pump.svg +4 -0
  1098. frontend/public/build/shoelace/assets/icons/fullscreen-exit.svg +3 -0
  1099. frontend/public/build/shoelace/assets/icons/fullscreen.svg +3 -0
  1100. frontend/public/build/shoelace/assets/icons/funnel-fill.svg +3 -0
  1101. frontend/public/build/shoelace/assets/icons/funnel.svg +3 -0
  1102. frontend/public/build/shoelace/assets/icons/gear-fill.svg +3 -0
  1103. frontend/public/build/shoelace/assets/icons/gear-wide-connected.svg +3 -0
  1104. frontend/public/build/shoelace/assets/icons/gear-wide.svg +3 -0
  1105. frontend/public/build/shoelace/assets/icons/gear.svg +4 -0
  1106. frontend/public/build/shoelace/assets/icons/gem.svg +3 -0
  1107. frontend/public/build/shoelace/assets/icons/gender-ambiguous.svg +3 -0
  1108. frontend/public/build/shoelace/assets/icons/gender-female.svg +3 -0
  1109. frontend/public/build/shoelace/assets/icons/gender-male.svg +3 -0
  1110. frontend/public/build/shoelace/assets/icons/gender-neuter.svg +3 -0
  1111. frontend/public/build/shoelace/assets/icons/gender-trans.svg +3 -0
  1112. frontend/public/build/shoelace/assets/icons/geo-alt-fill.svg +3 -0
  1113. frontend/public/build/shoelace/assets/icons/geo-alt.svg +4 -0
  1114. frontend/public/build/shoelace/assets/icons/geo-fill.svg +3 -0
  1115. frontend/public/build/shoelace/assets/icons/geo.svg +3 -0
  1116. frontend/public/build/shoelace/assets/icons/gift-fill.svg +3 -0
  1117. frontend/public/build/shoelace/assets/icons/gift.svg +3 -0
  1118. frontend/public/build/shoelace/assets/icons/git.svg +3 -0
  1119. frontend/public/build/shoelace/assets/icons/github.svg +3 -0
  1120. frontend/public/build/shoelace/assets/icons/gitlab.svg +3 -0
  1121. frontend/public/build/shoelace/assets/icons/globe-americas.svg +3 -0
  1122. frontend/public/build/shoelace/assets/icons/globe-asia-australia.svg +4 -0
  1123. frontend/public/build/shoelace/assets/icons/globe-central-south-asia.svg +3 -0
  1124. frontend/public/build/shoelace/assets/icons/globe-europe-africa.svg +3 -0
  1125. frontend/public/build/shoelace/assets/icons/globe.svg +3 -0
  1126. frontend/public/build/shoelace/assets/icons/globe2.svg +3 -0
  1127. frontend/public/build/shoelace/assets/icons/google-play.svg +3 -0
  1128. frontend/public/build/shoelace/assets/icons/google.svg +3 -0
  1129. frontend/public/build/shoelace/assets/icons/gpu-card.svg +5 -0
  1130. frontend/public/build/shoelace/assets/icons/graph-down-arrow.svg +3 -0
  1131. frontend/public/build/shoelace/assets/icons/graph-down.svg +3 -0
  1132. frontend/public/build/shoelace/assets/icons/graph-up-arrow.svg +3 -0
  1133. frontend/public/build/shoelace/assets/icons/graph-up.svg +3 -0
  1134. frontend/public/build/shoelace/assets/icons/grid-1x2-fill.svg +3 -0
  1135. frontend/public/build/shoelace/assets/icons/grid-1x2.svg +3 -0
  1136. frontend/public/build/shoelace/assets/icons/grid-3x2-gap-fill.svg +3 -0
  1137. frontend/public/build/shoelace/assets/icons/grid-3x2-gap.svg +3 -0
  1138. frontend/public/build/shoelace/assets/icons/grid-3x2.svg +3 -0
  1139. frontend/public/build/shoelace/assets/icons/grid-3x3-gap-fill.svg +3 -0
  1140. frontend/public/build/shoelace/assets/icons/grid-3x3-gap.svg +3 -0
  1141. frontend/public/build/shoelace/assets/icons/grid-3x3.svg +3 -0
  1142. frontend/public/build/shoelace/assets/icons/grid-fill.svg +3 -0
  1143. frontend/public/build/shoelace/assets/icons/grid.svg +3 -0
  1144. frontend/public/build/shoelace/assets/icons/grip-horizontal.svg +3 -0
  1145. frontend/public/build/shoelace/assets/icons/grip-vertical.svg +3 -0
  1146. frontend/public/build/shoelace/assets/icons/h-circle-fill.svg +3 -0
  1147. frontend/public/build/shoelace/assets/icons/h-circle.svg +3 -0
  1148. frontend/public/build/shoelace/assets/icons/h-square-fill.svg +3 -0
  1149. frontend/public/build/shoelace/assets/icons/h-square.svg +4 -0
  1150. frontend/public/build/shoelace/assets/icons/hammer.svg +3 -0
  1151. frontend/public/build/shoelace/assets/icons/hand-index-fill.svg +3 -0
  1152. frontend/public/build/shoelace/assets/icons/hand-index-thumb-fill.svg +3 -0
  1153. frontend/public/build/shoelace/assets/icons/hand-index-thumb.svg +3 -0
  1154. frontend/public/build/shoelace/assets/icons/hand-index.svg +3 -0
  1155. frontend/public/build/shoelace/assets/icons/hand-thumbs-down-fill.svg +3 -0
  1156. frontend/public/build/shoelace/assets/icons/hand-thumbs-down.svg +3 -0
  1157. frontend/public/build/shoelace/assets/icons/hand-thumbs-up-fill.svg +3 -0
  1158. frontend/public/build/shoelace/assets/icons/hand-thumbs-up.svg +3 -0
  1159. frontend/public/build/shoelace/assets/icons/handbag-fill.svg +3 -0
  1160. frontend/public/build/shoelace/assets/icons/handbag.svg +3 -0
  1161. frontend/public/build/shoelace/assets/icons/hash.svg +3 -0
  1162. frontend/public/build/shoelace/assets/icons/hdd-fill.svg +3 -0
  1163. frontend/public/build/shoelace/assets/icons/hdd-network-fill.svg +3 -0
  1164. frontend/public/build/shoelace/assets/icons/hdd-network.svg +4 -0
  1165. frontend/public/build/shoelace/assets/icons/hdd-rack-fill.svg +3 -0
  1166. frontend/public/build/shoelace/assets/icons/hdd-rack.svg +4 -0
  1167. frontend/public/build/shoelace/assets/icons/hdd-stack-fill.svg +3 -0
  1168. frontend/public/build/shoelace/assets/icons/hdd-stack.svg +5 -0
  1169. frontend/public/build/shoelace/assets/icons/hdd.svg +4 -0
  1170. frontend/public/build/shoelace/assets/icons/hdmi-fill.svg +3 -0
  1171. frontend/public/build/shoelace/assets/icons/hdmi.svg +4 -0
  1172. frontend/public/build/shoelace/assets/icons/headphones.svg +3 -0
  1173. frontend/public/build/shoelace/assets/icons/headset-vr.svg +4 -0
  1174. frontend/public/build/shoelace/assets/icons/headset.svg +3 -0
  1175. frontend/public/build/shoelace/assets/icons/heart-arrow.svg +3 -0
  1176. frontend/public/build/shoelace/assets/icons/heart-fill.svg +3 -0
  1177. frontend/public/build/shoelace/assets/icons/heart-half.svg +3 -0
  1178. frontend/public/build/shoelace/assets/icons/heart-pulse-fill.svg +4 -0
  1179. frontend/public/build/shoelace/assets/icons/heart-pulse.svg +4 -0
  1180. frontend/public/build/shoelace/assets/icons/heart.svg +3 -0
  1181. frontend/public/build/shoelace/assets/icons/heartbreak-fill.svg +3 -0
  1182. frontend/public/build/shoelace/assets/icons/heartbreak.svg +3 -0
  1183. frontend/public/build/shoelace/assets/icons/hearts.svg +3 -0
  1184. frontend/public/build/shoelace/assets/icons/heptagon-fill.svg +3 -0
  1185. frontend/public/build/shoelace/assets/icons/heptagon-half.svg +3 -0
  1186. frontend/public/build/shoelace/assets/icons/heptagon.svg +3 -0
  1187. frontend/public/build/shoelace/assets/icons/hexagon-fill.svg +3 -0
  1188. frontend/public/build/shoelace/assets/icons/hexagon-half.svg +3 -0
  1189. frontend/public/build/shoelace/assets/icons/hexagon.svg +3 -0
  1190. frontend/public/build/shoelace/assets/icons/highlighter.svg +3 -0
  1191. frontend/public/build/shoelace/assets/icons/highlights.svg +3 -0
  1192. frontend/public/build/shoelace/assets/icons/hospital-fill.svg +3 -0
  1193. frontend/public/build/shoelace/assets/icons/hospital.svg +4 -0
  1194. frontend/public/build/shoelace/assets/icons/hourglass-bottom.svg +3 -0
  1195. frontend/public/build/shoelace/assets/icons/hourglass-split.svg +3 -0
  1196. frontend/public/build/shoelace/assets/icons/hourglass-top.svg +3 -0
  1197. frontend/public/build/shoelace/assets/icons/hourglass.svg +3 -0
  1198. frontend/public/build/shoelace/assets/icons/house-add-fill.svg +5 -0
  1199. frontend/public/build/shoelace/assets/icons/house-add.svg +4 -0
  1200. frontend/public/build/shoelace/assets/icons/house-check-fill.svg +5 -0
  1201. frontend/public/build/shoelace/assets/icons/house-check.svg +4 -0
  1202. frontend/public/build/shoelace/assets/icons/house-dash-fill.svg +5 -0
  1203. frontend/public/build/shoelace/assets/icons/house-dash.svg +4 -0
  1204. frontend/public/build/shoelace/assets/icons/house-door-fill.svg +3 -0
  1205. frontend/public/build/shoelace/assets/icons/house-door.svg +3 -0
  1206. frontend/public/build/shoelace/assets/icons/house-down-fill.svg +5 -0
  1207. frontend/public/build/shoelace/assets/icons/house-down.svg +4 -0
  1208. frontend/public/build/shoelace/assets/icons/house-exclamation-fill.svg +5 -0
  1209. frontend/public/build/shoelace/assets/icons/house-exclamation.svg +4 -0
  1210. frontend/public/build/shoelace/assets/icons/house-fill.svg +4 -0
  1211. frontend/public/build/shoelace/assets/icons/house-gear-fill.svg +5 -0
  1212. frontend/public/build/shoelace/assets/icons/house-gear.svg +4 -0
  1213. frontend/public/build/shoelace/assets/icons/house-heart-fill.svg +4 -0
  1214. frontend/public/build/shoelace/assets/icons/house-heart.svg +4 -0
  1215. frontend/public/build/shoelace/assets/icons/house-lock-fill.svg +5 -0
  1216. frontend/public/build/shoelace/assets/icons/house-lock.svg +4 -0
  1217. frontend/public/build/shoelace/assets/icons/house-slash-fill.svg +5 -0
  1218. frontend/public/build/shoelace/assets/icons/house-slash.svg +4 -0
  1219. frontend/public/build/shoelace/assets/icons/house-up-fill.svg +5 -0
  1220. frontend/public/build/shoelace/assets/icons/house-up.svg +4 -0
  1221. frontend/public/build/shoelace/assets/icons/house-x-fill.svg +5 -0
  1222. frontend/public/build/shoelace/assets/icons/house-x.svg +4 -0
  1223. frontend/public/build/shoelace/assets/icons/house.svg +3 -0
  1224. frontend/public/build/shoelace/assets/icons/houses-fill.svg +4 -0
  1225. frontend/public/build/shoelace/assets/icons/houses.svg +3 -0
  1226. frontend/public/build/shoelace/assets/icons/hr.svg +3 -0
  1227. frontend/public/build/shoelace/assets/icons/hurricane.svg +3 -0
  1228. frontend/public/build/shoelace/assets/icons/hypnotize.svg +4 -0
  1229. frontend/public/build/shoelace/assets/icons/icons.json +24701 -0
  1230. frontend/public/build/shoelace/assets/icons/image-alt.svg +3 -0
  1231. frontend/public/build/shoelace/assets/icons/image-fill.svg +3 -0
  1232. frontend/public/build/shoelace/assets/icons/image.svg +4 -0
  1233. frontend/public/build/shoelace/assets/icons/images.svg +4 -0
  1234. frontend/public/build/shoelace/assets/icons/inbox-fill.svg +3 -0
  1235. frontend/public/build/shoelace/assets/icons/inbox.svg +3 -0
  1236. frontend/public/build/shoelace/assets/icons/inboxes-fill.svg +3 -0
  1237. frontend/public/build/shoelace/assets/icons/inboxes.svg +3 -0
  1238. frontend/public/build/shoelace/assets/icons/incognito.svg +3 -0
  1239. frontend/public/build/shoelace/assets/icons/indent.svg +4 -0
  1240. frontend/public/build/shoelace/assets/icons/infinity.svg +3 -0
  1241. frontend/public/build/shoelace/assets/icons/info-circle-fill.svg +3 -0
  1242. frontend/public/build/shoelace/assets/icons/info-circle.svg +4 -0
  1243. frontend/public/build/shoelace/assets/icons/info-lg.svg +3 -0
  1244. frontend/public/build/shoelace/assets/icons/info-square-fill.svg +3 -0
  1245. frontend/public/build/shoelace/assets/icons/info-square.svg +4 -0
  1246. frontend/public/build/shoelace/assets/icons/info.svg +3 -0
  1247. frontend/public/build/shoelace/assets/icons/input-cursor-text.svg +4 -0
  1248. frontend/public/build/shoelace/assets/icons/input-cursor.svg +4 -0
  1249. frontend/public/build/shoelace/assets/icons/instagram.svg +3 -0
  1250. frontend/public/build/shoelace/assets/icons/intersect.svg +3 -0
  1251. frontend/public/build/shoelace/assets/icons/journal-album.svg +5 -0
  1252. frontend/public/build/shoelace/assets/icons/journal-arrow-down.svg +5 -0
  1253. frontend/public/build/shoelace/assets/icons/journal-arrow-up.svg +5 -0
  1254. frontend/public/build/shoelace/assets/icons/journal-bookmark-fill.svg +5 -0
  1255. frontend/public/build/shoelace/assets/icons/journal-bookmark.svg +5 -0
  1256. frontend/public/build/shoelace/assets/icons/journal-check.svg +5 -0
  1257. frontend/public/build/shoelace/assets/icons/journal-code.svg +5 -0
  1258. frontend/public/build/shoelace/assets/icons/journal-medical.svg +5 -0
  1259. frontend/public/build/shoelace/assets/icons/journal-minus.svg +5 -0
  1260. frontend/public/build/shoelace/assets/icons/journal-plus.svg +5 -0
  1261. frontend/public/build/shoelace/assets/icons/journal-richtext.svg +5 -0
  1262. frontend/public/build/shoelace/assets/icons/journal-text.svg +5 -0
  1263. frontend/public/build/shoelace/assets/icons/journal-x.svg +5 -0
  1264. frontend/public/build/shoelace/assets/icons/journal.svg +4 -0
  1265. frontend/public/build/shoelace/assets/icons/journals.svg +4 -0
  1266. frontend/public/build/shoelace/assets/icons/joystick.svg +4 -0
  1267. frontend/public/build/shoelace/assets/icons/justify-left.svg +3 -0
  1268. frontend/public/build/shoelace/assets/icons/justify-right.svg +3 -0
  1269. frontend/public/build/shoelace/assets/icons/justify.svg +3 -0
  1270. frontend/public/build/shoelace/assets/icons/kanban-fill.svg +3 -0
  1271. frontend/public/build/shoelace/assets/icons/kanban.svg +4 -0
  1272. frontend/public/build/shoelace/assets/icons/key-fill.svg +3 -0
  1273. frontend/public/build/shoelace/assets/icons/key.svg +4 -0
  1274. frontend/public/build/shoelace/assets/icons/keyboard-fill.svg +3 -0
  1275. frontend/public/build/shoelace/assets/icons/keyboard.svg +4 -0
  1276. frontend/public/build/shoelace/assets/icons/ladder.svg +3 -0
  1277. frontend/public/build/shoelace/assets/icons/lamp-fill.svg +4 -0
  1278. frontend/public/build/shoelace/assets/icons/lamp.svg +4 -0
  1279. frontend/public/build/shoelace/assets/icons/laptop-fill.svg +3 -0
  1280. frontend/public/build/shoelace/assets/icons/laptop.svg +3 -0
  1281. frontend/public/build/shoelace/assets/icons/layer-backward.svg +4 -0
  1282. frontend/public/build/shoelace/assets/icons/layer-forward.svg +4 -0
  1283. frontend/public/build/shoelace/assets/icons/layers-fill.svg +4 -0
  1284. frontend/public/build/shoelace/assets/icons/layers-half.svg +3 -0
  1285. frontend/public/build/shoelace/assets/icons/layers.svg +3 -0
  1286. frontend/public/build/shoelace/assets/icons/layout-sidebar-inset-reverse.svg +4 -0
  1287. frontend/public/build/shoelace/assets/icons/layout-sidebar-inset.svg +4 -0
  1288. frontend/public/build/shoelace/assets/icons/layout-sidebar-reverse.svg +3 -0
  1289. frontend/public/build/shoelace/assets/icons/layout-sidebar.svg +3 -0
  1290. frontend/public/build/shoelace/assets/icons/layout-split.svg +3 -0
  1291. frontend/public/build/shoelace/assets/icons/layout-text-sidebar-reverse.svg +4 -0
  1292. frontend/public/build/shoelace/assets/icons/layout-text-sidebar.svg +4 -0
  1293. frontend/public/build/shoelace/assets/icons/layout-text-window-reverse.svg +4 -0
  1294. frontend/public/build/shoelace/assets/icons/layout-text-window.svg +4 -0
  1295. frontend/public/build/shoelace/assets/icons/layout-three-columns.svg +3 -0
  1296. frontend/public/build/shoelace/assets/icons/layout-wtf.svg +3 -0
  1297. frontend/public/build/shoelace/assets/icons/life-preserver.svg +3 -0
  1298. frontend/public/build/shoelace/assets/icons/lightbulb-fill.svg +3 -0
  1299. frontend/public/build/shoelace/assets/icons/lightbulb-off-fill.svg +3 -0
  1300. frontend/public/build/shoelace/assets/icons/lightbulb-off.svg +3 -0
  1301. frontend/public/build/shoelace/assets/icons/lightbulb.svg +3 -0
  1302. frontend/public/build/shoelace/assets/icons/lightning-charge-fill.svg +3 -0
  1303. frontend/public/build/shoelace/assets/icons/lightning-charge.svg +3 -0
  1304. frontend/public/build/shoelace/assets/icons/lightning-fill.svg +3 -0
  1305. frontend/public/build/shoelace/assets/icons/lightning.svg +3 -0
  1306. frontend/public/build/shoelace/assets/icons/line.svg +3 -0
  1307. frontend/public/build/shoelace/assets/icons/link-45deg.svg +4 -0
  1308. frontend/public/build/shoelace/assets/icons/link.svg +4 -0
  1309. frontend/public/build/shoelace/assets/icons/linkedin.svg +3 -0
  1310. frontend/public/build/shoelace/assets/icons/list-check.svg +3 -0
  1311. frontend/public/build/shoelace/assets/icons/list-columns-reverse.svg +3 -0
  1312. frontend/public/build/shoelace/assets/icons/list-columns.svg +3 -0
  1313. frontend/public/build/shoelace/assets/icons/list-nested.svg +3 -0
  1314. frontend/public/build/shoelace/assets/icons/list-ol.svg +4 -0
  1315. frontend/public/build/shoelace/assets/icons/list-stars.svg +4 -0
  1316. frontend/public/build/shoelace/assets/icons/list-task.svg +5 -0
  1317. frontend/public/build/shoelace/assets/icons/list-ul.svg +3 -0
  1318. frontend/public/build/shoelace/assets/icons/list.svg +3 -0
  1319. frontend/public/build/shoelace/assets/icons/lock-fill.svg +3 -0
  1320. frontend/public/build/shoelace/assets/icons/lock.svg +3 -0
  1321. frontend/public/build/shoelace/assets/icons/luggage-fill.svg +4 -0
  1322. frontend/public/build/shoelace/assets/icons/luggage.svg +4 -0
  1323. frontend/public/build/shoelace/assets/icons/lungs-fill.svg +3 -0
  1324. frontend/public/build/shoelace/assets/icons/lungs.svg +3 -0
  1325. frontend/public/build/shoelace/assets/icons/magic.svg +3 -0
  1326. frontend/public/build/shoelace/assets/icons/magnet-fill.svg +3 -0
  1327. frontend/public/build/shoelace/assets/icons/magnet.svg +3 -0
  1328. frontend/public/build/shoelace/assets/icons/mailbox-flag.svg +4 -0
  1329. frontend/public/build/shoelace/assets/icons/mailbox.svg +4 -0
  1330. frontend/public/build/shoelace/assets/icons/mailbox2-flag.svg +4 -0
  1331. frontend/public/build/shoelace/assets/icons/mailbox2.svg +4 -0
  1332. frontend/public/build/shoelace/assets/icons/map-fill.svg +3 -0
  1333. frontend/public/build/shoelace/assets/icons/map.svg +3 -0
  1334. frontend/public/build/shoelace/assets/icons/markdown-fill.svg +3 -0
  1335. frontend/public/build/shoelace/assets/icons/markdown.svg +6 -0
  1336. frontend/public/build/shoelace/assets/icons/marker-tip.svg +3 -0
  1337. frontend/public/build/shoelace/assets/icons/mask.svg +3 -0
  1338. frontend/public/build/shoelace/assets/icons/mastodon.svg +3 -0
  1339. frontend/public/build/shoelace/assets/icons/medium.svg +3 -0
  1340. frontend/public/build/shoelace/assets/icons/megaphone-fill.svg +3 -0
  1341. frontend/public/build/shoelace/assets/icons/megaphone.svg +3 -0
  1342. frontend/public/build/shoelace/assets/icons/memory.svg +3 -0
  1343. frontend/public/build/shoelace/assets/icons/menu-app-fill.svg +3 -0
  1344. frontend/public/build/shoelace/assets/icons/menu-app.svg +3 -0
  1345. frontend/public/build/shoelace/assets/icons/menu-button-fill.svg +3 -0
  1346. frontend/public/build/shoelace/assets/icons/menu-button-wide-fill.svg +3 -0
  1347. frontend/public/build/shoelace/assets/icons/menu-button-wide.svg +4 -0
  1348. frontend/public/build/shoelace/assets/icons/menu-button.svg +4 -0
  1349. frontend/public/build/shoelace/assets/icons/menu-down.svg +3 -0
  1350. frontend/public/build/shoelace/assets/icons/menu-up.svg +3 -0
  1351. frontend/public/build/shoelace/assets/icons/messenger.svg +3 -0
  1352. frontend/public/build/shoelace/assets/icons/meta.svg +3 -0
  1353. frontend/public/build/shoelace/assets/icons/mic-fill.svg +4 -0
  1354. frontend/public/build/shoelace/assets/icons/mic-mute-fill.svg +4 -0
  1355. frontend/public/build/shoelace/assets/icons/mic-mute.svg +4 -0
  1356. frontend/public/build/shoelace/assets/icons/mic.svg +4 -0
  1357. frontend/public/build/shoelace/assets/icons/microsoft-teams.svg +4 -0
  1358. frontend/public/build/shoelace/assets/icons/microsoft.svg +3 -0
  1359. frontend/public/build/shoelace/assets/icons/minecart-loaded.svg +4 -0
  1360. frontend/public/build/shoelace/assets/icons/minecart.svg +3 -0
  1361. frontend/public/build/shoelace/assets/icons/modem-fill.svg +3 -0
  1362. frontend/public/build/shoelace/assets/icons/modem.svg +4 -0
  1363. frontend/public/build/shoelace/assets/icons/moisture.svg +3 -0
  1364. frontend/public/build/shoelace/assets/icons/moon-fill.svg +3 -0
  1365. frontend/public/build/shoelace/assets/icons/moon-stars-fill.svg +4 -0
  1366. frontend/public/build/shoelace/assets/icons/moon-stars.svg +4 -0
  1367. frontend/public/build/shoelace/assets/icons/moon.svg +3 -0
  1368. frontend/public/build/shoelace/assets/icons/mortarboard-fill.svg +4 -0
  1369. frontend/public/build/shoelace/assets/icons/mortarboard.svg +4 -0
  1370. frontend/public/build/shoelace/assets/icons/motherboard-fill.svg +4 -0
  1371. frontend/public/build/shoelace/assets/icons/motherboard.svg +4 -0
  1372. frontend/public/build/shoelace/assets/icons/mouse-fill.svg +3 -0
  1373. frontend/public/build/shoelace/assets/icons/mouse.svg +3 -0
  1374. frontend/public/build/shoelace/assets/icons/mouse2-fill.svg +3 -0
  1375. frontend/public/build/shoelace/assets/icons/mouse2.svg +3 -0
  1376. frontend/public/build/shoelace/assets/icons/mouse3-fill.svg +3 -0
  1377. frontend/public/build/shoelace/assets/icons/mouse3.svg +3 -0
  1378. frontend/public/build/shoelace/assets/icons/music-note-beamed.svg +5 -0
  1379. frontend/public/build/shoelace/assets/icons/music-note-list.svg +6 -0
  1380. frontend/public/build/shoelace/assets/icons/music-note.svg +5 -0
  1381. frontend/public/build/shoelace/assets/icons/music-player-fill.svg +4 -0
  1382. frontend/public/build/shoelace/assets/icons/music-player.svg +5 -0
  1383. frontend/public/build/shoelace/assets/icons/newspaper.svg +4 -0
  1384. frontend/public/build/shoelace/assets/icons/nintendo-switch.svg +4 -0
  1385. frontend/public/build/shoelace/assets/icons/node-minus-fill.svg +3 -0
  1386. frontend/public/build/shoelace/assets/icons/node-minus.svg +3 -0
  1387. frontend/public/build/shoelace/assets/icons/node-plus-fill.svg +3 -0
  1388. frontend/public/build/shoelace/assets/icons/node-plus.svg +3 -0
  1389. frontend/public/build/shoelace/assets/icons/noise-reduction.svg +4 -0
  1390. frontend/public/build/shoelace/assets/icons/nut-fill.svg +3 -0
  1391. frontend/public/build/shoelace/assets/icons/nut.svg +4 -0
  1392. frontend/public/build/shoelace/assets/icons/nvidia.svg +3 -0
  1393. frontend/public/build/shoelace/assets/icons/nvme-fill.svg +4 -0
  1394. frontend/public/build/shoelace/assets/icons/nvme.svg +4 -0
  1395. frontend/public/build/shoelace/assets/icons/octagon-fill.svg +3 -0
  1396. frontend/public/build/shoelace/assets/icons/octagon-half.svg +3 -0
  1397. frontend/public/build/shoelace/assets/icons/octagon.svg +3 -0
  1398. frontend/public/build/shoelace/assets/icons/opencollective.svg +4 -0
  1399. frontend/public/build/shoelace/assets/icons/optical-audio-fill.svg +4 -0
  1400. frontend/public/build/shoelace/assets/icons/optical-audio.svg +5 -0
  1401. frontend/public/build/shoelace/assets/icons/option.svg +3 -0
  1402. frontend/public/build/shoelace/assets/icons/outlet.svg +4 -0
  1403. frontend/public/build/shoelace/assets/icons/p-circle-fill.svg +3 -0
  1404. frontend/public/build/shoelace/assets/icons/p-circle.svg +3 -0
  1405. frontend/public/build/shoelace/assets/icons/p-square-fill.svg +4 -0
  1406. frontend/public/build/shoelace/assets/icons/p-square.svg +4 -0
  1407. frontend/public/build/shoelace/assets/icons/paint-bucket.svg +3 -0
  1408. frontend/public/build/shoelace/assets/icons/palette-fill.svg +3 -0
  1409. frontend/public/build/shoelace/assets/icons/palette.svg +4 -0
  1410. frontend/public/build/shoelace/assets/icons/palette2.svg +3 -0
  1411. frontend/public/build/shoelace/assets/icons/paperclip.svg +3 -0
  1412. frontend/public/build/shoelace/assets/icons/paragraph.svg +3 -0
  1413. frontend/public/build/shoelace/assets/icons/pass-fill.svg +3 -0
  1414. frontend/public/build/shoelace/assets/icons/pass.svg +4 -0
  1415. frontend/public/build/shoelace/assets/icons/passport-fill.svg +4 -0
  1416. frontend/public/build/shoelace/assets/icons/passport.svg +4 -0
  1417. frontend/public/build/shoelace/assets/icons/patch-check-fill.svg +3 -0
  1418. frontend/public/build/shoelace/assets/icons/patch-check.svg +4 -0
  1419. frontend/public/build/shoelace/assets/icons/patch-exclamation-fill.svg +3 -0
  1420. frontend/public/build/shoelace/assets/icons/patch-exclamation.svg +4 -0
  1421. frontend/public/build/shoelace/assets/icons/patch-minus-fill.svg +3 -0
  1422. frontend/public/build/shoelace/assets/icons/patch-minus.svg +4 -0
  1423. frontend/public/build/shoelace/assets/icons/patch-plus-fill.svg +3 -0
  1424. frontend/public/build/shoelace/assets/icons/patch-plus.svg +4 -0
  1425. frontend/public/build/shoelace/assets/icons/patch-question-fill.svg +3 -0
  1426. frontend/public/build/shoelace/assets/icons/patch-question.svg +5 -0
  1427. frontend/public/build/shoelace/assets/icons/pause-btn-fill.svg +3 -0
  1428. frontend/public/build/shoelace/assets/icons/pause-btn.svg +4 -0
  1429. frontend/public/build/shoelace/assets/icons/pause-circle-fill.svg +3 -0
  1430. frontend/public/build/shoelace/assets/icons/pause-circle.svg +4 -0
  1431. frontend/public/build/shoelace/assets/icons/pause-fill.svg +3 -0
  1432. frontend/public/build/shoelace/assets/icons/pause.svg +3 -0
  1433. frontend/public/build/shoelace/assets/icons/paypal.svg +3 -0
  1434. frontend/public/build/shoelace/assets/icons/pc-display-horizontal.svg +3 -0
  1435. frontend/public/build/shoelace/assets/icons/pc-display.svg +3 -0
  1436. frontend/public/build/shoelace/assets/icons/pc-horizontal.svg +3 -0
  1437. frontend/public/build/shoelace/assets/icons/pc.svg +3 -0
  1438. frontend/public/build/shoelace/assets/icons/pci-card-network.svg +5 -0
  1439. frontend/public/build/shoelace/assets/icons/pci-card-sound.svg +5 -0
  1440. frontend/public/build/shoelace/assets/icons/pci-card.svg +4 -0
  1441. frontend/public/build/shoelace/assets/icons/peace-fill.svg +3 -0
  1442. frontend/public/build/shoelace/assets/icons/peace.svg +3 -0
  1443. frontend/public/build/shoelace/assets/icons/pen-fill.svg +3 -0
  1444. frontend/public/build/shoelace/assets/icons/pen.svg +3 -0
  1445. frontend/public/build/shoelace/assets/icons/pencil-fill.svg +3 -0
  1446. frontend/public/build/shoelace/assets/icons/pencil-square.svg +4 -0
  1447. frontend/public/build/shoelace/assets/icons/pencil.svg +3 -0
  1448. frontend/public/build/shoelace/assets/icons/pentagon-fill.svg +3 -0
  1449. frontend/public/build/shoelace/assets/icons/pentagon-half.svg +3 -0
  1450. frontend/public/build/shoelace/assets/icons/pentagon.svg +3 -0
  1451. frontend/public/build/shoelace/assets/icons/people-fill.svg +3 -0
  1452. frontend/public/build/shoelace/assets/icons/people.svg +3 -0
  1453. frontend/public/build/shoelace/assets/icons/percent.svg +3 -0
  1454. frontend/public/build/shoelace/assets/icons/person-add.svg +4 -0
  1455. frontend/public/build/shoelace/assets/icons/person-arms-up.svg +4 -0
  1456. frontend/public/build/shoelace/assets/icons/person-badge-fill.svg +3 -0
  1457. frontend/public/build/shoelace/assets/icons/person-badge.svg +4 -0
  1458. frontend/public/build/shoelace/assets/icons/person-bounding-box.svg +4 -0
  1459. frontend/public/build/shoelace/assets/icons/person-check-fill.svg +4 -0
  1460. frontend/public/build/shoelace/assets/icons/person-check.svg +4 -0
  1461. frontend/public/build/shoelace/assets/icons/person-circle.svg +4 -0
  1462. frontend/public/build/shoelace/assets/icons/person-dash-fill.svg +4 -0
  1463. frontend/public/build/shoelace/assets/icons/person-dash.svg +4 -0
  1464. frontend/public/build/shoelace/assets/icons/person-down.svg +4 -0
  1465. frontend/public/build/shoelace/assets/icons/person-exclamation.svg +4 -0
  1466. frontend/public/build/shoelace/assets/icons/person-fill-add.svg +4 -0
  1467. frontend/public/build/shoelace/assets/icons/person-fill-check.svg +4 -0
  1468. frontend/public/build/shoelace/assets/icons/person-fill-dash.svg +4 -0
  1469. frontend/public/build/shoelace/assets/icons/person-fill-down.svg +4 -0
  1470. frontend/public/build/shoelace/assets/icons/person-fill-exclamation.svg +4 -0
  1471. frontend/public/build/shoelace/assets/icons/person-fill-gear.svg +3 -0
  1472. frontend/public/build/shoelace/assets/icons/person-fill-lock.svg +3 -0
  1473. frontend/public/build/shoelace/assets/icons/person-fill-slash.svg +3 -0
  1474. frontend/public/build/shoelace/assets/icons/person-fill-up.svg +4 -0
  1475. frontend/public/build/shoelace/assets/icons/person-fill-x.svg +4 -0
  1476. frontend/public/build/shoelace/assets/icons/person-fill.svg +3 -0
  1477. frontend/public/build/shoelace/assets/icons/person-gear.svg +3 -0
  1478. frontend/public/build/shoelace/assets/icons/person-heart.svg +3 -0
  1479. frontend/public/build/shoelace/assets/icons/person-hearts.svg +3 -0
  1480. frontend/public/build/shoelace/assets/icons/person-lines-fill.svg +3 -0
  1481. frontend/public/build/shoelace/assets/icons/person-lock.svg +3 -0
  1482. frontend/public/build/shoelace/assets/icons/person-plus-fill.svg +4 -0
  1483. frontend/public/build/shoelace/assets/icons/person-plus.svg +4 -0
  1484. frontend/public/build/shoelace/assets/icons/person-raised-hand.svg +4 -0
  1485. frontend/public/build/shoelace/assets/icons/person-rolodex.svg +4 -0
  1486. frontend/public/build/shoelace/assets/icons/person-slash.svg +3 -0
  1487. frontend/public/build/shoelace/assets/icons/person-square.svg +4 -0
  1488. frontend/public/build/shoelace/assets/icons/person-standing-dress.svg +3 -0
  1489. frontend/public/build/shoelace/assets/icons/person-standing.svg +3 -0
  1490. frontend/public/build/shoelace/assets/icons/person-up.svg +4 -0
  1491. frontend/public/build/shoelace/assets/icons/person-vcard-fill.svg +3 -0
  1492. frontend/public/build/shoelace/assets/icons/person-vcard.svg +4 -0
  1493. frontend/public/build/shoelace/assets/icons/person-video.svg +4 -0
  1494. frontend/public/build/shoelace/assets/icons/person-video2.svg +4 -0
  1495. frontend/public/build/shoelace/assets/icons/person-video3.svg +4 -0
  1496. frontend/public/build/shoelace/assets/icons/person-walking.svg +4 -0
  1497. frontend/public/build/shoelace/assets/icons/person-wheelchair.svg +3 -0
  1498. frontend/public/build/shoelace/assets/icons/person-workspace.svg +4 -0
  1499. frontend/public/build/shoelace/assets/icons/person-x-fill.svg +3 -0
  1500. frontend/public/build/shoelace/assets/icons/person-x.svg +4 -0
  1501. frontend/public/build/shoelace/assets/icons/person.svg +3 -0
  1502. frontend/public/build/shoelace/assets/icons/phone-fill.svg +3 -0
  1503. frontend/public/build/shoelace/assets/icons/phone-flip.svg +3 -0
  1504. frontend/public/build/shoelace/assets/icons/phone-landscape-fill.svg +3 -0
  1505. frontend/public/build/shoelace/assets/icons/phone-landscape.svg +4 -0
  1506. frontend/public/build/shoelace/assets/icons/phone-vibrate-fill.svg +3 -0
  1507. frontend/public/build/shoelace/assets/icons/phone-vibrate.svg +4 -0
  1508. frontend/public/build/shoelace/assets/icons/phone.svg +4 -0
  1509. frontend/public/build/shoelace/assets/icons/pie-chart-fill.svg +3 -0
  1510. frontend/public/build/shoelace/assets/icons/pie-chart.svg +3 -0
  1511. frontend/public/build/shoelace/assets/icons/piggy-bank-fill.svg +3 -0
  1512. frontend/public/build/shoelace/assets/icons/piggy-bank.svg +4 -0
  1513. frontend/public/build/shoelace/assets/icons/pin-angle-fill.svg +3 -0
  1514. frontend/public/build/shoelace/assets/icons/pin-angle.svg +3 -0
  1515. frontend/public/build/shoelace/assets/icons/pin-fill.svg +3 -0
  1516. frontend/public/build/shoelace/assets/icons/pin-map-fill.svg +4 -0
  1517. frontend/public/build/shoelace/assets/icons/pin-map.svg +4 -0
  1518. frontend/public/build/shoelace/assets/icons/pin.svg +3 -0
  1519. frontend/public/build/shoelace/assets/icons/pinterest.svg +3 -0
  1520. frontend/public/build/shoelace/assets/icons/pip-fill.svg +3 -0
  1521. frontend/public/build/shoelace/assets/icons/pip.svg +4 -0
  1522. frontend/public/build/shoelace/assets/icons/play-btn-fill.svg +3 -0
  1523. frontend/public/build/shoelace/assets/icons/play-btn.svg +4 -0
  1524. frontend/public/build/shoelace/assets/icons/play-circle-fill.svg +3 -0
  1525. frontend/public/build/shoelace/assets/icons/play-circle.svg +4 -0
  1526. frontend/public/build/shoelace/assets/icons/play-fill.svg +3 -0
  1527. frontend/public/build/shoelace/assets/icons/play.svg +3 -0
  1528. frontend/public/build/shoelace/assets/icons/playstation.svg +3 -0
  1529. frontend/public/build/shoelace/assets/icons/plug-fill.svg +3 -0
  1530. frontend/public/build/shoelace/assets/icons/plug.svg +3 -0
  1531. frontend/public/build/shoelace/assets/icons/plugin.svg +3 -0
  1532. frontend/public/build/shoelace/assets/icons/plus-circle-dotted.svg +3 -0
  1533. frontend/public/build/shoelace/assets/icons/plus-circle-fill.svg +3 -0
  1534. frontend/public/build/shoelace/assets/icons/plus-circle.svg +4 -0
  1535. frontend/public/build/shoelace/assets/icons/plus-lg.svg +3 -0
  1536. frontend/public/build/shoelace/assets/icons/plus-slash-minus.svg +3 -0
  1537. frontend/public/build/shoelace/assets/icons/plus-square-dotted.svg +3 -0
  1538. frontend/public/build/shoelace/assets/icons/plus-square-fill.svg +3 -0
  1539. frontend/public/build/shoelace/assets/icons/plus-square.svg +4 -0
  1540. frontend/public/build/shoelace/assets/icons/plus.svg +3 -0
  1541. frontend/public/build/shoelace/assets/icons/postage-fill.svg +4 -0
  1542. frontend/public/build/shoelace/assets/icons/postage-heart-fill.svg +4 -0
  1543. frontend/public/build/shoelace/assets/icons/postage-heart.svg +4 -0
  1544. frontend/public/build/shoelace/assets/icons/postage.svg +4 -0
  1545. frontend/public/build/shoelace/assets/icons/postcard-fill.svg +4 -0
  1546. frontend/public/build/shoelace/assets/icons/postcard-heart-fill.svg +3 -0
  1547. frontend/public/build/shoelace/assets/icons/postcard-heart.svg +4 -0
  1548. frontend/public/build/shoelace/assets/icons/postcard.svg +3 -0
  1549. frontend/public/build/shoelace/assets/icons/power.svg +4 -0
  1550. frontend/public/build/shoelace/assets/icons/prescription.svg +4 -0
  1551. frontend/public/build/shoelace/assets/icons/prescription2.svg +4 -0
  1552. frontend/public/build/shoelace/assets/icons/printer-fill.svg +4 -0
  1553. frontend/public/build/shoelace/assets/icons/printer.svg +4 -0
  1554. frontend/public/build/shoelace/assets/icons/projector-fill.svg +3 -0
  1555. frontend/public/build/shoelace/assets/icons/projector.svg +4 -0
  1556. frontend/public/build/shoelace/assets/icons/puzzle-fill.svg +3 -0
  1557. frontend/public/build/shoelace/assets/icons/puzzle.svg +3 -0
  1558. frontend/public/build/shoelace/assets/icons/qr-code-scan.svg +7 -0
  1559. frontend/public/build/shoelace/assets/icons/qr-code.svg +7 -0
  1560. frontend/public/build/shoelace/assets/icons/question-circle-fill.svg +3 -0
  1561. frontend/public/build/shoelace/assets/icons/question-circle.svg +4 -0
  1562. frontend/public/build/shoelace/assets/icons/question-diamond-fill.svg +3 -0
  1563. frontend/public/build/shoelace/assets/icons/question-diamond.svg +4 -0
  1564. frontend/public/build/shoelace/assets/icons/question-lg.svg +3 -0
  1565. frontend/public/build/shoelace/assets/icons/question-octagon-fill.svg +3 -0
  1566. frontend/public/build/shoelace/assets/icons/question-octagon.svg +4 -0
  1567. frontend/public/build/shoelace/assets/icons/question-square-fill.svg +3 -0
  1568. frontend/public/build/shoelace/assets/icons/question-square.svg +4 -0
  1569. frontend/public/build/shoelace/assets/icons/question.svg +3 -0
  1570. frontend/public/build/shoelace/assets/icons/quora.svg +3 -0
  1571. frontend/public/build/shoelace/assets/icons/quote.svg +3 -0
  1572. frontend/public/build/shoelace/assets/icons/r-circle-fill.svg +3 -0
  1573. frontend/public/build/shoelace/assets/icons/r-circle.svg +3 -0
  1574. frontend/public/build/shoelace/assets/icons/r-square-fill.svg +4 -0
  1575. frontend/public/build/shoelace/assets/icons/r-square.svg +4 -0
  1576. frontend/public/build/shoelace/assets/icons/radar.svg +3 -0
  1577. frontend/public/build/shoelace/assets/icons/radioactive.svg +4 -0
  1578. frontend/public/build/shoelace/assets/icons/rainbow.svg +3 -0
  1579. frontend/public/build/shoelace/assets/icons/receipt-cutoff.svg +4 -0
  1580. frontend/public/build/shoelace/assets/icons/receipt.svg +4 -0
  1581. frontend/public/build/shoelace/assets/icons/reception-0.svg +3 -0
  1582. frontend/public/build/shoelace/assets/icons/reception-1.svg +3 -0
  1583. frontend/public/build/shoelace/assets/icons/reception-2.svg +3 -0
  1584. frontend/public/build/shoelace/assets/icons/reception-3.svg +3 -0
  1585. frontend/public/build/shoelace/assets/icons/reception-4.svg +3 -0
  1586. frontend/public/build/shoelace/assets/icons/record-btn-fill.svg +3 -0
  1587. frontend/public/build/shoelace/assets/icons/record-btn.svg +4 -0
  1588. frontend/public/build/shoelace/assets/icons/record-circle-fill.svg +3 -0
  1589. frontend/public/build/shoelace/assets/icons/record-circle.svg +4 -0
  1590. frontend/public/build/shoelace/assets/icons/record-fill.svg +3 -0
  1591. frontend/public/build/shoelace/assets/icons/record.svg +3 -0
  1592. frontend/public/build/shoelace/assets/icons/record2-fill.svg +4 -0
  1593. frontend/public/build/shoelace/assets/icons/record2.svg +4 -0
  1594. frontend/public/build/shoelace/assets/icons/recycle.svg +3 -0
  1595. frontend/public/build/shoelace/assets/icons/reddit.svg +4 -0
  1596. frontend/public/build/shoelace/assets/icons/regex.svg +3 -0
  1597. frontend/public/build/shoelace/assets/icons/repeat-1.svg +4 -0
  1598. frontend/public/build/shoelace/assets/icons/repeat.svg +3 -0
  1599. frontend/public/build/shoelace/assets/icons/reply-all-fill.svg +4 -0
  1600. frontend/public/build/shoelace/assets/icons/reply-all.svg +4 -0
  1601. frontend/public/build/shoelace/assets/icons/reply-fill.svg +3 -0
  1602. frontend/public/build/shoelace/assets/icons/reply.svg +3 -0
  1603. frontend/public/build/shoelace/assets/icons/rewind-btn-fill.svg +3 -0
  1604. frontend/public/build/shoelace/assets/icons/rewind-btn.svg +4 -0
  1605. frontend/public/build/shoelace/assets/icons/rewind-circle-fill.svg +3 -0
  1606. frontend/public/build/shoelace/assets/icons/rewind-circle.svg +4 -0
  1607. frontend/public/build/shoelace/assets/icons/rewind-fill.svg +4 -0
  1608. frontend/public/build/shoelace/assets/icons/rewind.svg +4 -0
  1609. frontend/public/build/shoelace/assets/icons/robot.svg +4 -0
  1610. frontend/public/build/shoelace/assets/icons/rocket-fill.svg +4 -0
  1611. frontend/public/build/shoelace/assets/icons/rocket-takeoff-fill.svg +4 -0
  1612. frontend/public/build/shoelace/assets/icons/rocket-takeoff.svg +5 -0
  1613. frontend/public/build/shoelace/assets/icons/rocket.svg +5 -0
  1614. frontend/public/build/shoelace/assets/icons/router-fill.svg +6 -0
  1615. frontend/public/build/shoelace/assets/icons/router.svg +6 -0
  1616. frontend/public/build/shoelace/assets/icons/rss-fill.svg +3 -0
  1617. frontend/public/build/shoelace/assets/icons/rss.svg +4 -0
  1618. frontend/public/build/shoelace/assets/icons/rulers.svg +3 -0
  1619. frontend/public/build/shoelace/assets/icons/safe-fill.svg +4 -0
  1620. frontend/public/build/shoelace/assets/icons/safe.svg +4 -0
  1621. frontend/public/build/shoelace/assets/icons/safe2-fill.svg +4 -0
  1622. frontend/public/build/shoelace/assets/icons/safe2.svg +4 -0
  1623. frontend/public/build/shoelace/assets/icons/save-fill.svg +3 -0
  1624. frontend/public/build/shoelace/assets/icons/save.svg +3 -0
  1625. frontend/public/build/shoelace/assets/icons/save2-fill.svg +3 -0
  1626. frontend/public/build/shoelace/assets/icons/save2.svg +3 -0
  1627. frontend/public/build/shoelace/assets/icons/scissors.svg +3 -0
  1628. frontend/public/build/shoelace/assets/icons/scooter.svg +3 -0
  1629. frontend/public/build/shoelace/assets/icons/screwdriver.svg +3 -0
  1630. frontend/public/build/shoelace/assets/icons/sd-card-fill.svg +3 -0
  1631. frontend/public/build/shoelace/assets/icons/sd-card.svg +4 -0
  1632. frontend/public/build/shoelace/assets/icons/search-heart-fill.svg +3 -0
  1633. frontend/public/build/shoelace/assets/icons/search-heart.svg +4 -0
  1634. frontend/public/build/shoelace/assets/icons/search.svg +3 -0
  1635. frontend/public/build/shoelace/assets/icons/segmented-nav.svg +3 -0
  1636. frontend/public/build/shoelace/assets/icons/send-arrow-down-fill.svg +4 -0
  1637. frontend/public/build/shoelace/assets/icons/send-arrow-down.svg +4 -0
  1638. frontend/public/build/shoelace/assets/icons/send-arrow-up-fill.svg +4 -0
  1639. frontend/public/build/shoelace/assets/icons/send-arrow-up.svg +4 -0
  1640. frontend/public/build/shoelace/assets/icons/send-check-fill.svg +4 -0
  1641. frontend/public/build/shoelace/assets/icons/send-check.svg +4 -0
  1642. frontend/public/build/shoelace/assets/icons/send-dash-fill.svg +4 -0
  1643. frontend/public/build/shoelace/assets/icons/send-dash.svg +4 -0
  1644. frontend/public/build/shoelace/assets/icons/send-exclamation-fill.svg +4 -0
  1645. frontend/public/build/shoelace/assets/icons/send-exclamation.svg +4 -0
  1646. frontend/public/build/shoelace/assets/icons/send-fill.svg +3 -0
  1647. frontend/public/build/shoelace/assets/icons/send-plus-fill.svg +4 -0
  1648. frontend/public/build/shoelace/assets/icons/send-plus.svg +4 -0
  1649. frontend/public/build/shoelace/assets/icons/send-slash-fill.svg +4 -0
  1650. frontend/public/build/shoelace/assets/icons/send-slash.svg +4 -0
  1651. frontend/public/build/shoelace/assets/icons/send-x-fill.svg +4 -0
  1652. frontend/public/build/shoelace/assets/icons/send-x.svg +4 -0
  1653. frontend/public/build/shoelace/assets/icons/send.svg +3 -0
  1654. frontend/public/build/shoelace/assets/icons/server.svg +5 -0
  1655. frontend/public/build/shoelace/assets/icons/shadows.svg +3 -0
  1656. frontend/public/build/shoelace/assets/icons/share-fill.svg +3 -0
  1657. frontend/public/build/shoelace/assets/icons/share.svg +3 -0
  1658. frontend/public/build/shoelace/assets/icons/shield-check.svg +4 -0
  1659. frontend/public/build/shoelace/assets/icons/shield-exclamation.svg +4 -0
  1660. frontend/public/build/shoelace/assets/icons/shield-fill-check.svg +3 -0
  1661. frontend/public/build/shoelace/assets/icons/shield-fill-exclamation.svg +3 -0
  1662. frontend/public/build/shoelace/assets/icons/shield-fill-minus.svg +3 -0
  1663. frontend/public/build/shoelace/assets/icons/shield-fill-plus.svg +3 -0
  1664. frontend/public/build/shoelace/assets/icons/shield-fill-x.svg +3 -0
  1665. frontend/public/build/shoelace/assets/icons/shield-fill.svg +3 -0
  1666. frontend/public/build/shoelace/assets/icons/shield-lock-fill.svg +3 -0
  1667. frontend/public/build/shoelace/assets/icons/shield-lock.svg +4 -0
  1668. frontend/public/build/shoelace/assets/icons/shield-minus.svg +4 -0
  1669. frontend/public/build/shoelace/assets/icons/shield-plus.svg +4 -0
  1670. frontend/public/build/shoelace/assets/icons/shield-shaded.svg +3 -0
  1671. frontend/public/build/shoelace/assets/icons/shield-slash-fill.svg +3 -0
  1672. frontend/public/build/shoelace/assets/icons/shield-slash.svg +3 -0
  1673. frontend/public/build/shoelace/assets/icons/shield-x.svg +4 -0
  1674. frontend/public/build/shoelace/assets/icons/shield.svg +3 -0
  1675. frontend/public/build/shoelace/assets/icons/shift-fill.svg +3 -0
  1676. frontend/public/build/shoelace/assets/icons/shift.svg +3 -0
  1677. frontend/public/build/shoelace/assets/icons/shop-window.svg +3 -0
  1678. frontend/public/build/shoelace/assets/icons/shop.svg +3 -0
  1679. frontend/public/build/shoelace/assets/icons/shuffle.svg +4 -0
  1680. frontend/public/build/shoelace/assets/icons/sign-dead-end-fill.svg +4 -0
  1681. frontend/public/build/shoelace/assets/icons/sign-dead-end.svg +4 -0
  1682. frontend/public/build/shoelace/assets/icons/sign-do-not-enter-fill.svg +4 -0
  1683. frontend/public/build/shoelace/assets/icons/sign-do-not-enter.svg +4 -0
  1684. frontend/public/build/shoelace/assets/icons/sign-intersection-fill.svg +3 -0
  1685. frontend/public/build/shoelace/assets/icons/sign-intersection-side-fill.svg +3 -0
  1686. frontend/public/build/shoelace/assets/icons/sign-intersection-side.svg +4 -0
  1687. frontend/public/build/shoelace/assets/icons/sign-intersection-t-fill.svg +3 -0
  1688. frontend/public/build/shoelace/assets/icons/sign-intersection-t.svg +4 -0
  1689. frontend/public/build/shoelace/assets/icons/sign-intersection-y-fill.svg +3 -0
  1690. frontend/public/build/shoelace/assets/icons/sign-intersection-y.svg +4 -0
  1691. frontend/public/build/shoelace/assets/icons/sign-intersection.svg +4 -0
  1692. frontend/public/build/shoelace/assets/icons/sign-merge-left-fill.svg +3 -0
  1693. frontend/public/build/shoelace/assets/icons/sign-merge-left.svg +4 -0
  1694. frontend/public/build/shoelace/assets/icons/sign-merge-right-fill.svg +3 -0
  1695. frontend/public/build/shoelace/assets/icons/sign-merge-right.svg +4 -0
  1696. frontend/public/build/shoelace/assets/icons/sign-no-left-turn-fill.svg +4 -0
  1697. frontend/public/build/shoelace/assets/icons/sign-no-left-turn.svg +3 -0
  1698. frontend/public/build/shoelace/assets/icons/sign-no-parking-fill.svg +4 -0
  1699. frontend/public/build/shoelace/assets/icons/sign-no-parking.svg +3 -0
  1700. frontend/public/build/shoelace/assets/icons/sign-no-right-turn-fill.svg +4 -0
  1701. frontend/public/build/shoelace/assets/icons/sign-no-right-turn.svg +3 -0
  1702. frontend/public/build/shoelace/assets/icons/sign-railroad-fill.svg +5 -0
  1703. frontend/public/build/shoelace/assets/icons/sign-railroad.svg +4 -0
  1704. frontend/public/build/shoelace/assets/icons/sign-stop-fill.svg +4 -0
  1705. frontend/public/build/shoelace/assets/icons/sign-stop-lights-fill.svg +4 -0
  1706. frontend/public/build/shoelace/assets/icons/sign-stop-lights.svg +4 -0
  1707. frontend/public/build/shoelace/assets/icons/sign-stop.svg +5 -0
  1708. frontend/public/build/shoelace/assets/icons/sign-turn-left-fill.svg +3 -0
  1709. frontend/public/build/shoelace/assets/icons/sign-turn-left.svg +4 -0
  1710. frontend/public/build/shoelace/assets/icons/sign-turn-right-fill.svg +3 -0
  1711. frontend/public/build/shoelace/assets/icons/sign-turn-right.svg +4 -0
  1712. frontend/public/build/shoelace/assets/icons/sign-turn-slight-left-fill.svg +3 -0
  1713. frontend/public/build/shoelace/assets/icons/sign-turn-slight-left.svg +4 -0
  1714. frontend/public/build/shoelace/assets/icons/sign-turn-slight-right-fill.svg +3 -0
  1715. frontend/public/build/shoelace/assets/icons/sign-turn-slight-right.svg +4 -0
  1716. frontend/public/build/shoelace/assets/icons/sign-yield-fill.svg +4 -0
  1717. frontend/public/build/shoelace/assets/icons/sign-yield.svg +5 -0
  1718. frontend/public/build/shoelace/assets/icons/signal.svg +3 -0
  1719. frontend/public/build/shoelace/assets/icons/signpost-2-fill.svg +3 -0
  1720. frontend/public/build/shoelace/assets/icons/signpost-2.svg +3 -0
  1721. frontend/public/build/shoelace/assets/icons/signpost-fill.svg +3 -0
  1722. frontend/public/build/shoelace/assets/icons/signpost-split-fill.svg +3 -0
  1723. frontend/public/build/shoelace/assets/icons/signpost-split.svg +3 -0
  1724. frontend/public/build/shoelace/assets/icons/signpost.svg +3 -0
  1725. frontend/public/build/shoelace/assets/icons/sim-fill.svg +4 -0
  1726. frontend/public/build/shoelace/assets/icons/sim-slash-fill.svg +3 -0
  1727. frontend/public/build/shoelace/assets/icons/sim-slash.svg +3 -0
  1728. frontend/public/build/shoelace/assets/icons/sim.svg +4 -0
  1729. frontend/public/build/shoelace/assets/icons/sina-weibo.svg +4 -0
  1730. frontend/public/build/shoelace/assets/icons/skip-backward-btn-fill.svg +3 -0
  1731. frontend/public/build/shoelace/assets/icons/skip-backward-btn.svg +4 -0
  1732. frontend/public/build/shoelace/assets/icons/skip-backward-circle-fill.svg +3 -0
  1733. frontend/public/build/shoelace/assets/icons/skip-backward-circle.svg +4 -0
  1734. frontend/public/build/shoelace/assets/icons/skip-backward-fill.svg +3 -0
  1735. frontend/public/build/shoelace/assets/icons/skip-backward.svg +3 -0
  1736. frontend/public/build/shoelace/assets/icons/skip-end-btn-fill.svg +3 -0
  1737. frontend/public/build/shoelace/assets/icons/skip-end-btn.svg +4 -0
  1738. frontend/public/build/shoelace/assets/icons/skip-end-circle-fill.svg +3 -0
  1739. frontend/public/build/shoelace/assets/icons/skip-end-circle.svg +4 -0
  1740. frontend/public/build/shoelace/assets/icons/skip-end-fill.svg +3 -0
  1741. frontend/public/build/shoelace/assets/icons/skip-end.svg +3 -0
  1742. frontend/public/build/shoelace/assets/icons/skip-forward-btn-fill.svg +3 -0
  1743. frontend/public/build/shoelace/assets/icons/skip-forward-btn.svg +4 -0
  1744. frontend/public/build/shoelace/assets/icons/skip-forward-circle-fill.svg +3 -0
  1745. frontend/public/build/shoelace/assets/icons/skip-forward-circle.svg +4 -0
  1746. frontend/public/build/shoelace/assets/icons/skip-forward-fill.svg +3 -0
  1747. frontend/public/build/shoelace/assets/icons/skip-forward.svg +3 -0
  1748. frontend/public/build/shoelace/assets/icons/skip-start-btn-fill.svg +3 -0
  1749. frontend/public/build/shoelace/assets/icons/skip-start-btn.svg +4 -0
  1750. frontend/public/build/shoelace/assets/icons/skip-start-circle-fill.svg +3 -0
  1751. frontend/public/build/shoelace/assets/icons/skip-start-circle.svg +4 -0
  1752. frontend/public/build/shoelace/assets/icons/skip-start-fill.svg +3 -0
  1753. frontend/public/build/shoelace/assets/icons/skip-start.svg +3 -0
  1754. frontend/public/build/shoelace/assets/icons/skype.svg +3 -0
  1755. frontend/public/build/shoelace/assets/icons/slack.svg +3 -0
  1756. frontend/public/build/shoelace/assets/icons/slash-circle-fill.svg +3 -0
  1757. frontend/public/build/shoelace/assets/icons/slash-circle.svg +4 -0
  1758. frontend/public/build/shoelace/assets/icons/slash-lg.svg +3 -0
  1759. frontend/public/build/shoelace/assets/icons/slash-square-fill.svg +3 -0
  1760. frontend/public/build/shoelace/assets/icons/slash-square.svg +4 -0
  1761. frontend/public/build/shoelace/assets/icons/slash.svg +3 -0
  1762. frontend/public/build/shoelace/assets/icons/sliders.svg +3 -0
  1763. frontend/public/build/shoelace/assets/icons/sliders2-vertical.svg +3 -0
  1764. frontend/public/build/shoelace/assets/icons/sliders2.svg +3 -0
  1765. frontend/public/build/shoelace/assets/icons/smartwatch.svg +4 -0
  1766. frontend/public/build/shoelace/assets/icons/snapchat.svg +3 -0
  1767. frontend/public/build/shoelace/assets/icons/snow.svg +3 -0
  1768. frontend/public/build/shoelace/assets/icons/snow2.svg +3 -0
  1769. frontend/public/build/shoelace/assets/icons/snow3.svg +4 -0
  1770. frontend/public/build/shoelace/assets/icons/sort-alpha-down-alt.svg +5 -0
  1771. frontend/public/build/shoelace/assets/icons/sort-alpha-down.svg +4 -0
  1772. frontend/public/build/shoelace/assets/icons/sort-alpha-up-alt.svg +5 -0
  1773. frontend/public/build/shoelace/assets/icons/sort-alpha-up.svg +4 -0
  1774. frontend/public/build/shoelace/assets/icons/sort-down-alt.svg +3 -0
  1775. frontend/public/build/shoelace/assets/icons/sort-down.svg +3 -0
  1776. frontend/public/build/shoelace/assets/icons/sort-numeric-down-alt.svg +4 -0
  1777. frontend/public/build/shoelace/assets/icons/sort-numeric-down.svg +5 -0
  1778. frontend/public/build/shoelace/assets/icons/sort-numeric-up-alt.svg +4 -0
  1779. frontend/public/build/shoelace/assets/icons/sort-numeric-up.svg +5 -0
  1780. frontend/public/build/shoelace/assets/icons/sort-up-alt.svg +3 -0
  1781. frontend/public/build/shoelace/assets/icons/sort-up.svg +3 -0
  1782. frontend/public/build/shoelace/assets/icons/soundwave.svg +3 -0
  1783. frontend/public/build/shoelace/assets/icons/sourceforge.svg +4 -0
  1784. frontend/public/build/shoelace/assets/icons/speaker-fill.svg +4 -0
  1785. frontend/public/build/shoelace/assets/icons/speaker.svg +4 -0
  1786. frontend/public/build/shoelace/assets/icons/speedometer.svg +4 -0
  1787. frontend/public/build/shoelace/assets/icons/speedometer2.svg +4 -0
  1788. frontend/public/build/shoelace/assets/icons/spellcheck.svg +4 -0
  1789. frontend/public/build/shoelace/assets/icons/spotify.svg +3 -0
  1790. frontend/public/build/shoelace/assets/icons/square-fill.svg +3 -0
  1791. frontend/public/build/shoelace/assets/icons/square-half.svg +3 -0
  1792. frontend/public/build/shoelace/assets/icons/square.svg +3 -0
  1793. frontend/public/build/shoelace/assets/icons/stack-overflow.svg +4 -0
  1794. frontend/public/build/shoelace/assets/icons/stack.svg +4 -0
  1795. frontend/public/build/shoelace/assets/icons/star-fill.svg +3 -0
  1796. frontend/public/build/shoelace/assets/icons/star-half.svg +3 -0
  1797. frontend/public/build/shoelace/assets/icons/star.svg +3 -0
  1798. frontend/public/build/shoelace/assets/icons/stars.svg +3 -0
  1799. frontend/public/build/shoelace/assets/icons/steam.svg +4 -0
  1800. frontend/public/build/shoelace/assets/icons/stickies-fill.svg +4 -0
  1801. frontend/public/build/shoelace/assets/icons/stickies.svg +4 -0
  1802. frontend/public/build/shoelace/assets/icons/sticky-fill.svg +3 -0
  1803. frontend/public/build/shoelace/assets/icons/sticky.svg +3 -0
  1804. frontend/public/build/shoelace/assets/icons/stop-btn-fill.svg +3 -0
  1805. frontend/public/build/shoelace/assets/icons/stop-btn.svg +4 -0
  1806. frontend/public/build/shoelace/assets/icons/stop-circle-fill.svg +3 -0
  1807. frontend/public/build/shoelace/assets/icons/stop-circle.svg +4 -0
  1808. frontend/public/build/shoelace/assets/icons/stop-fill.svg +3 -0
  1809. frontend/public/build/shoelace/assets/icons/stop.svg +3 -0
  1810. frontend/public/build/shoelace/assets/icons/stoplights-fill.svg +3 -0
  1811. frontend/public/build/shoelace/assets/icons/stoplights.svg +4 -0
  1812. frontend/public/build/shoelace/assets/icons/stopwatch-fill.svg +3 -0
  1813. frontend/public/build/shoelace/assets/icons/stopwatch.svg +4 -0
  1814. frontend/public/build/shoelace/assets/icons/strava.svg +3 -0
  1815. frontend/public/build/shoelace/assets/icons/stripe.svg +3 -0
  1816. frontend/public/build/shoelace/assets/icons/subscript.svg +3 -0
  1817. frontend/public/build/shoelace/assets/icons/substack.svg +3 -0
  1818. frontend/public/build/shoelace/assets/icons/subtract.svg +3 -0
  1819. frontend/public/build/shoelace/assets/icons/suit-club-fill.svg +3 -0
  1820. frontend/public/build/shoelace/assets/icons/suit-club.svg +3 -0
  1821. frontend/public/build/shoelace/assets/icons/suit-diamond-fill.svg +3 -0
  1822. frontend/public/build/shoelace/assets/icons/suit-diamond.svg +3 -0
  1823. frontend/public/build/shoelace/assets/icons/suit-heart-fill.svg +3 -0
  1824. frontend/public/build/shoelace/assets/icons/suit-heart.svg +3 -0
  1825. frontend/public/build/shoelace/assets/icons/suit-spade-fill.svg +3 -0
  1826. frontend/public/build/shoelace/assets/icons/suit-spade.svg +3 -0
  1827. frontend/public/build/shoelace/assets/icons/suitcase-fill.svg +3 -0
  1828. frontend/public/build/shoelace/assets/icons/suitcase-lg-fill.svg +3 -0
  1829. frontend/public/build/shoelace/assets/icons/suitcase-lg.svg +3 -0
  1830. frontend/public/build/shoelace/assets/icons/suitcase.svg +4 -0
  1831. frontend/public/build/shoelace/assets/icons/suitcase2-fill.svg +3 -0
  1832. frontend/public/build/shoelace/assets/icons/suitcase2.svg +3 -0
  1833. frontend/public/build/shoelace/assets/icons/sun-fill.svg +3 -0
  1834. frontend/public/build/shoelace/assets/icons/sun.svg +3 -0
  1835. frontend/public/build/shoelace/assets/icons/sunglasses.svg +3 -0
  1836. frontend/public/build/shoelace/assets/icons/sunrise-fill.svg +3 -0
  1837. frontend/public/build/shoelace/assets/icons/sunrise.svg +3 -0
  1838. frontend/public/build/shoelace/assets/icons/sunset-fill.svg +3 -0
  1839. frontend/public/build/shoelace/assets/icons/sunset.svg +3 -0
  1840. frontend/public/build/shoelace/assets/icons/superscript.svg +3 -0
  1841. frontend/public/build/shoelace/assets/icons/symmetry-horizontal.svg +3 -0
  1842. frontend/public/build/shoelace/assets/icons/symmetry-vertical.svg +3 -0
  1843. frontend/public/build/shoelace/assets/icons/table.svg +3 -0
  1844. frontend/public/build/shoelace/assets/icons/tablet-fill.svg +3 -0
  1845. frontend/public/build/shoelace/assets/icons/tablet-landscape-fill.svg +3 -0
  1846. frontend/public/build/shoelace/assets/icons/tablet-landscape.svg +4 -0
  1847. frontend/public/build/shoelace/assets/icons/tablet.svg +4 -0
  1848. frontend/public/build/shoelace/assets/icons/tag-fill.svg +3 -0
  1849. frontend/public/build/shoelace/assets/icons/tag.svg +4 -0
  1850. frontend/public/build/shoelace/assets/icons/tags-fill.svg +4 -0
  1851. frontend/public/build/shoelace/assets/icons/tags.svg +4 -0
  1852. frontend/public/build/shoelace/assets/icons/taxi-front-fill.svg +3 -0
  1853. frontend/public/build/shoelace/assets/icons/taxi-front.svg +4 -0
  1854. frontend/public/build/shoelace/assets/icons/telegram.svg +3 -0
  1855. frontend/public/build/shoelace/assets/icons/telephone-fill.svg +3 -0
  1856. frontend/public/build/shoelace/assets/icons/telephone-forward-fill.svg +3 -0
  1857. frontend/public/build/shoelace/assets/icons/telephone-forward.svg +3 -0
  1858. frontend/public/build/shoelace/assets/icons/telephone-inbound-fill.svg +3 -0
  1859. frontend/public/build/shoelace/assets/icons/telephone-inbound.svg +3 -0
  1860. frontend/public/build/shoelace/assets/icons/telephone-minus-fill.svg +3 -0
  1861. frontend/public/build/shoelace/assets/icons/telephone-minus.svg +4 -0
  1862. frontend/public/build/shoelace/assets/icons/telephone-outbound-fill.svg +3 -0
  1863. frontend/public/build/shoelace/assets/icons/telephone-outbound.svg +3 -0
  1864. frontend/public/build/shoelace/assets/icons/telephone-plus-fill.svg +3 -0
  1865. frontend/public/build/shoelace/assets/icons/telephone-plus.svg +4 -0
  1866. frontend/public/build/shoelace/assets/icons/telephone-x-fill.svg +3 -0
  1867. frontend/public/build/shoelace/assets/icons/telephone-x.svg +4 -0
  1868. frontend/public/build/shoelace/assets/icons/telephone.svg +3 -0
  1869. frontend/public/build/shoelace/assets/icons/tencent-qq.svg +4 -0
  1870. frontend/public/build/shoelace/assets/icons/terminal-dash.svg +4 -0
  1871. frontend/public/build/shoelace/assets/icons/terminal-fill.svg +3 -0
  1872. frontend/public/build/shoelace/assets/icons/terminal-plus.svg +4 -0
  1873. frontend/public/build/shoelace/assets/icons/terminal-split.svg +4 -0
  1874. frontend/public/build/shoelace/assets/icons/terminal-x.svg +4 -0
  1875. frontend/public/build/shoelace/assets/icons/terminal.svg +4 -0
  1876. frontend/public/build/shoelace/assets/icons/text-center.svg +3 -0
  1877. frontend/public/build/shoelace/assets/icons/text-indent-left.svg +3 -0
  1878. frontend/public/build/shoelace/assets/icons/text-indent-right.svg +3 -0
  1879. frontend/public/build/shoelace/assets/icons/text-left.svg +3 -0
  1880. frontend/public/build/shoelace/assets/icons/text-paragraph.svg +3 -0
  1881. frontend/public/build/shoelace/assets/icons/text-right.svg +3 -0
  1882. frontend/public/build/shoelace/assets/icons/text-wrap.svg +3 -0
  1883. frontend/public/build/shoelace/assets/icons/textarea-resize.svg +3 -0
  1884. frontend/public/build/shoelace/assets/icons/textarea-t.svg +4 -0
  1885. frontend/public/build/shoelace/assets/icons/textarea.svg +3 -0
  1886. frontend/public/build/shoelace/assets/icons/thermometer-half.svg +4 -0
  1887. frontend/public/build/shoelace/assets/icons/thermometer-high.svg +4 -0
  1888. frontend/public/build/shoelace/assets/icons/thermometer-low.svg +4 -0
  1889. frontend/public/build/shoelace/assets/icons/thermometer-snow.svg +4 -0
  1890. frontend/public/build/shoelace/assets/icons/thermometer-sun.svg +4 -0
  1891. frontend/public/build/shoelace/assets/icons/thermometer.svg +4 -0
  1892. frontend/public/build/shoelace/assets/icons/threads-fill.svg +4 -0
  1893. frontend/public/build/shoelace/assets/icons/threads.svg +3 -0
  1894. frontend/public/build/shoelace/assets/icons/three-dots-vertical.svg +3 -0
  1895. frontend/public/build/shoelace/assets/icons/three-dots.svg +3 -0
  1896. frontend/public/build/shoelace/assets/icons/thunderbolt-fill.svg +3 -0
  1897. frontend/public/build/shoelace/assets/icons/thunderbolt.svg +4 -0
  1898. frontend/public/build/shoelace/assets/icons/ticket-detailed-fill.svg +3 -0
  1899. frontend/public/build/shoelace/assets/icons/ticket-detailed.svg +4 -0
  1900. frontend/public/build/shoelace/assets/icons/ticket-fill.svg +3 -0
  1901. frontend/public/build/shoelace/assets/icons/ticket-perforated-fill.svg +3 -0
  1902. frontend/public/build/shoelace/assets/icons/ticket-perforated.svg +4 -0
  1903. frontend/public/build/shoelace/assets/icons/ticket.svg +3 -0
  1904. frontend/public/build/shoelace/assets/icons/tiktok.svg +3 -0
  1905. frontend/public/build/shoelace/assets/icons/toggle-off.svg +3 -0
  1906. frontend/public/build/shoelace/assets/icons/toggle-on.svg +3 -0
  1907. frontend/public/build/shoelace/assets/icons/toggle2-off.svg +4 -0
  1908. frontend/public/build/shoelace/assets/icons/toggle2-on.svg +4 -0
  1909. frontend/public/build/shoelace/assets/icons/toggles.svg +3 -0
  1910. frontend/public/build/shoelace/assets/icons/toggles2.svg +5 -0
  1911. frontend/public/build/shoelace/assets/icons/tools.svg +3 -0
  1912. frontend/public/build/shoelace/assets/icons/tornado.svg +3 -0
  1913. frontend/public/build/shoelace/assets/icons/train-freight-front-fill.svg +3 -0
  1914. frontend/public/build/shoelace/assets/icons/train-freight-front.svg +3 -0
  1915. frontend/public/build/shoelace/assets/icons/train-front-fill.svg +3 -0
  1916. frontend/public/build/shoelace/assets/icons/train-front.svg +3 -0
  1917. frontend/public/build/shoelace/assets/icons/train-lightrail-front-fill.svg +3 -0
  1918. frontend/public/build/shoelace/assets/icons/train-lightrail-front.svg +3 -0
  1919. frontend/public/build/shoelace/assets/icons/translate.svg +4 -0
  1920. frontend/public/build/shoelace/assets/icons/transparency.svg +3 -0
  1921. frontend/public/build/shoelace/assets/icons/trash-fill.svg +3 -0
  1922. frontend/public/build/shoelace/assets/icons/trash.svg +4 -0
  1923. frontend/public/build/shoelace/assets/icons/trash2-fill.svg +3 -0
  1924. frontend/public/build/shoelace/assets/icons/trash2.svg +3 -0
  1925. frontend/public/build/shoelace/assets/icons/trash3-fill.svg +3 -0
  1926. frontend/public/build/shoelace/assets/icons/trash3.svg +3 -0
  1927. frontend/public/build/shoelace/assets/icons/tree-fill.svg +3 -0
  1928. frontend/public/build/shoelace/assets/icons/tree.svg +3 -0
  1929. frontend/public/build/shoelace/assets/icons/trello.svg +3 -0
  1930. frontend/public/build/shoelace/assets/icons/triangle-fill.svg +3 -0
  1931. frontend/public/build/shoelace/assets/icons/triangle-half.svg +3 -0
  1932. frontend/public/build/shoelace/assets/icons/triangle.svg +3 -0
  1933. frontend/public/build/shoelace/assets/icons/trophy-fill.svg +3 -0
  1934. frontend/public/build/shoelace/assets/icons/trophy.svg +3 -0
  1935. frontend/public/build/shoelace/assets/icons/tropical-storm.svg +4 -0
  1936. frontend/public/build/shoelace/assets/icons/truck-flatbed.svg +3 -0
  1937. frontend/public/build/shoelace/assets/icons/truck-front-fill.svg +3 -0
  1938. frontend/public/build/shoelace/assets/icons/truck-front.svg +4 -0
  1939. frontend/public/build/shoelace/assets/icons/truck.svg +3 -0
  1940. frontend/public/build/shoelace/assets/icons/tsunami.svg +3 -0
  1941. frontend/public/build/shoelace/assets/icons/tv-fill.svg +3 -0
  1942. frontend/public/build/shoelace/assets/icons/tv.svg +3 -0
  1943. frontend/public/build/shoelace/assets/icons/twitch.svg +4 -0
  1944. frontend/public/build/shoelace/assets/icons/twitter-x.svg +3 -0
  1945. frontend/public/build/shoelace/assets/icons/twitter.svg +3 -0
  1946. frontend/public/build/shoelace/assets/icons/type-bold.svg +3 -0
  1947. frontend/public/build/shoelace/assets/icons/type-h1.svg +3 -0
  1948. frontend/public/build/shoelace/assets/icons/type-h2.svg +3 -0
  1949. frontend/public/build/shoelace/assets/icons/type-h3.svg +3 -0
  1950. frontend/public/build/shoelace/assets/icons/type-h4.svg +3 -0
  1951. frontend/public/build/shoelace/assets/icons/type-h5.svg +3 -0
  1952. frontend/public/build/shoelace/assets/icons/type-h6.svg +3 -0
  1953. frontend/public/build/shoelace/assets/icons/type-italic.svg +3 -0
  1954. frontend/public/build/shoelace/assets/icons/type-strikethrough.svg +3 -0
  1955. frontend/public/build/shoelace/assets/icons/type-underline.svg +3 -0
  1956. frontend/public/build/shoelace/assets/icons/type.svg +3 -0
  1957. frontend/public/build/shoelace/assets/icons/ubuntu.svg +3 -0
  1958. frontend/public/build/shoelace/assets/icons/ui-checks-grid.svg +3 -0
  1959. frontend/public/build/shoelace/assets/icons/ui-checks.svg +3 -0
  1960. frontend/public/build/shoelace/assets/icons/ui-radios-grid.svg +3 -0
  1961. frontend/public/build/shoelace/assets/icons/ui-radios.svg +3 -0
  1962. frontend/public/build/shoelace/assets/icons/umbrella-fill.svg +3 -0
  1963. frontend/public/build/shoelace/assets/icons/umbrella.svg +3 -0
  1964. frontend/public/build/shoelace/assets/icons/unindent.svg +4 -0
  1965. frontend/public/build/shoelace/assets/icons/union.svg +3 -0
  1966. frontend/public/build/shoelace/assets/icons/unity.svg +3 -0
  1967. frontend/public/build/shoelace/assets/icons/universal-access-circle.svg +4 -0
  1968. frontend/public/build/shoelace/assets/icons/universal-access.svg +3 -0
  1969. frontend/public/build/shoelace/assets/icons/unlock-fill.svg +3 -0
  1970. frontend/public/build/shoelace/assets/icons/unlock.svg +3 -0
  1971. frontend/public/build/shoelace/assets/icons/upc-scan.svg +3 -0
  1972. frontend/public/build/shoelace/assets/icons/upc.svg +3 -0
  1973. frontend/public/build/shoelace/assets/icons/upload.svg +4 -0
  1974. frontend/public/build/shoelace/assets/icons/usb-c-fill.svg +3 -0
  1975. frontend/public/build/shoelace/assets/icons/usb-c.svg +4 -0
  1976. frontend/public/build/shoelace/assets/icons/usb-drive-fill.svg +3 -0
  1977. frontend/public/build/shoelace/assets/icons/usb-drive.svg +3 -0
  1978. frontend/public/build/shoelace/assets/icons/usb-fill.svg +3 -0
  1979. frontend/public/build/shoelace/assets/icons/usb-micro-fill.svg +3 -0
  1980. frontend/public/build/shoelace/assets/icons/usb-micro.svg +4 -0
  1981. frontend/public/build/shoelace/assets/icons/usb-mini-fill.svg +3 -0
  1982. frontend/public/build/shoelace/assets/icons/usb-mini.svg +4 -0
  1983. frontend/public/build/shoelace/assets/icons/usb-plug-fill.svg +3 -0
  1984. frontend/public/build/shoelace/assets/icons/usb-plug.svg +3 -0
  1985. frontend/public/build/shoelace/assets/icons/usb-symbol.svg +3 -0
  1986. frontend/public/build/shoelace/assets/icons/usb.svg +4 -0
  1987. frontend/public/build/shoelace/assets/icons/valentine.svg +4 -0
  1988. frontend/public/build/shoelace/assets/icons/valentine2.svg +4 -0
  1989. frontend/public/build/shoelace/assets/icons/vector-pen.svg +4 -0
  1990. frontend/public/build/shoelace/assets/icons/view-list.svg +3 -0
  1991. frontend/public/build/shoelace/assets/icons/view-stacked.svg +3 -0
  1992. frontend/public/build/shoelace/assets/icons/vignette.svg +4 -0
  1993. frontend/public/build/shoelace/assets/icons/vimeo.svg +3 -0
  1994. frontend/public/build/shoelace/assets/icons/vinyl-fill.svg +4 -0
  1995. frontend/public/build/shoelace/assets/icons/vinyl.svg +5 -0
  1996. frontend/public/build/shoelace/assets/icons/virus.svg +3 -0
  1997. frontend/public/build/shoelace/assets/icons/virus2.svg +3 -0
  1998. frontend/public/build/shoelace/assets/icons/voicemail.svg +3 -0
  1999. frontend/public/build/shoelace/assets/icons/volume-down-fill.svg +3 -0
  2000. frontend/public/build/shoelace/assets/icons/volume-down.svg +3 -0
  2001. frontend/public/build/shoelace/assets/icons/volume-mute-fill.svg +3 -0
  2002. frontend/public/build/shoelace/assets/icons/volume-mute.svg +3 -0
  2003. frontend/public/build/shoelace/assets/icons/volume-off-fill.svg +3 -0
  2004. frontend/public/build/shoelace/assets/icons/volume-off.svg +3 -0
  2005. frontend/public/build/shoelace/assets/icons/volume-up-fill.svg +5 -0
  2006. frontend/public/build/shoelace/assets/icons/volume-up.svg +5 -0
  2007. frontend/public/build/shoelace/assets/icons/vr.svg +3 -0
  2008. frontend/public/build/shoelace/assets/icons/wallet-fill.svg +4 -0
  2009. frontend/public/build/shoelace/assets/icons/wallet.svg +3 -0
  2010. frontend/public/build/shoelace/assets/icons/wallet2.svg +3 -0
  2011. frontend/public/build/shoelace/assets/icons/watch.svg +4 -0
  2012. frontend/public/build/shoelace/assets/icons/water.svg +3 -0
  2013. frontend/public/build/shoelace/assets/icons/webcam-fill.svg +4 -0
  2014. frontend/public/build/shoelace/assets/icons/webcam.svg +4 -0
  2015. frontend/public/build/shoelace/assets/icons/wechat.svg +4 -0
  2016. frontend/public/build/shoelace/assets/icons/whatsapp.svg +3 -0
  2017. frontend/public/build/shoelace/assets/icons/wifi-1.svg +3 -0
  2018. frontend/public/build/shoelace/assets/icons/wifi-2.svg +3 -0
  2019. frontend/public/build/shoelace/assets/icons/wifi-off.svg +3 -0
  2020. frontend/public/build/shoelace/assets/icons/wifi.svg +4 -0
  2021. frontend/public/build/shoelace/assets/icons/wikipedia.svg +3 -0
  2022. frontend/public/build/shoelace/assets/icons/wind.svg +3 -0
  2023. frontend/public/build/shoelace/assets/icons/window-dash.svg +5 -0
  2024. frontend/public/build/shoelace/assets/icons/window-desktop.svg +4 -0
  2025. frontend/public/build/shoelace/assets/icons/window-dock.svg +4 -0
  2026. frontend/public/build/shoelace/assets/icons/window-fullscreen.svg +4 -0
  2027. frontend/public/build/shoelace/assets/icons/window-plus.svg +5 -0
  2028. frontend/public/build/shoelace/assets/icons/window-sidebar.svg +4 -0
  2029. frontend/public/build/shoelace/assets/icons/window-split.svg +4 -0
  2030. frontend/public/build/shoelace/assets/icons/window-stack.svg +4 -0
  2031. frontend/public/build/shoelace/assets/icons/window-x.svg +5 -0
  2032. frontend/public/build/shoelace/assets/icons/window.svg +4 -0
  2033. frontend/public/build/shoelace/assets/icons/windows.svg +3 -0
  2034. frontend/public/build/shoelace/assets/icons/wordpress.svg +5 -0
  2035. frontend/public/build/shoelace/assets/icons/wrench-adjustable-circle-fill.svg +4 -0
  2036. frontend/public/build/shoelace/assets/icons/wrench-adjustable-circle.svg +4 -0
  2037. frontend/public/build/shoelace/assets/icons/wrench-adjustable.svg +4 -0
  2038. frontend/public/build/shoelace/assets/icons/wrench.svg +3 -0
  2039. frontend/public/build/shoelace/assets/icons/x-circle-fill.svg +3 -0
  2040. frontend/public/build/shoelace/assets/icons/x-circle.svg +4 -0
  2041. frontend/public/build/shoelace/assets/icons/x-diamond-fill.svg +3 -0
  2042. frontend/public/build/shoelace/assets/icons/x-diamond.svg +3 -0
  2043. frontend/public/build/shoelace/assets/icons/x-lg.svg +3 -0
  2044. frontend/public/build/shoelace/assets/icons/x-octagon-fill.svg +3 -0
  2045. frontend/public/build/shoelace/assets/icons/x-octagon.svg +4 -0
  2046. frontend/public/build/shoelace/assets/icons/x-square-fill.svg +3 -0
  2047. frontend/public/build/shoelace/assets/icons/x-square.svg +4 -0
  2048. frontend/public/build/shoelace/assets/icons/x.svg +3 -0
  2049. frontend/public/build/shoelace/assets/icons/xbox.svg +3 -0
  2050. frontend/public/build/shoelace/assets/icons/yelp.svg +3 -0
  2051. frontend/public/build/shoelace/assets/icons/yin-yang.svg +4 -0
  2052. frontend/public/build/shoelace/assets/icons/youtube.svg +3 -0
  2053. frontend/public/build/shoelace/assets/icons/zoom-in.svg +5 -0
  2054. frontend/public/build/shoelace/assets/icons/zoom-out.svg +5 -0
  2055. frontend/public/fonts/inconsolata-v31-latin-300.eot +0 -0
  2056. frontend/public/fonts/inconsolata-v31-latin-300.svg +358 -0
  2057. frontend/public/fonts/inconsolata-v31-latin-300.ttf +0 -0
  2058. frontend/public/fonts/inconsolata-v31-latin-300.woff +0 -0
  2059. frontend/public/fonts/inconsolata-v31-latin-300.woff2 +0 -0
  2060. frontend/public/fonts/inconsolata-v31-latin-500.eot +0 -0
  2061. frontend/public/fonts/inconsolata-v31-latin-500.svg +359 -0
  2062. frontend/public/fonts/inconsolata-v31-latin-500.ttf +0 -0
  2063. frontend/public/fonts/inconsolata-v31-latin-500.woff +0 -0
  2064. frontend/public/fonts/inconsolata-v31-latin-500.woff2 +0 -0
  2065. frontend/public/fonts/inconsolata-v31-latin-700.eot +0 -0
  2066. frontend/public/fonts/inconsolata-v31-latin-700.svg +358 -0
  2067. frontend/public/fonts/inconsolata-v31-latin-700.ttf +0 -0
  2068. frontend/public/fonts/inconsolata-v31-latin-700.woff +0 -0
  2069. frontend/public/fonts/inconsolata-v31-latin-700.woff2 +0 -0
  2070. frontend/public/fonts/inconsolata-v31-latin-regular.eot +0 -0
  2071. frontend/public/fonts/inconsolata-v31-latin-regular.svg +358 -0
  2072. frontend/public/fonts/inconsolata-v31-latin-regular.ttf +0 -0
  2073. frontend/public/fonts/inconsolata-v31-latin-regular.woff +0 -0
  2074. frontend/public/fonts/inconsolata-v31-latin-regular.woff2 +0 -0
  2075. frontend/public/fonts/inter-v12-latin-300.eot +0 -0
  2076. frontend/public/fonts/inter-v12-latin-300.svg +350 -0
  2077. frontend/public/fonts/inter-v12-latin-300.ttf +0 -0
  2078. frontend/public/fonts/inter-v12-latin-300.woff +0 -0
  2079. frontend/public/fonts/inter-v12-latin-300.woff2 +0 -0
  2080. frontend/public/fonts/inter-v12-latin-500.eot +0 -0
  2081. frontend/public/fonts/inter-v12-latin-500.svg +351 -0
  2082. frontend/public/fonts/inter-v12-latin-500.ttf +0 -0
  2083. frontend/public/fonts/inter-v12-latin-500.woff +0 -0
  2084. frontend/public/fonts/inter-v12-latin-500.woff2 +0 -0
  2085. frontend/public/fonts/inter-v12-latin-700.eot +0 -0
  2086. frontend/public/fonts/inter-v12-latin-700.svg +352 -0
  2087. frontend/public/fonts/inter-v12-latin-700.ttf +0 -0
  2088. frontend/public/fonts/inter-v12-latin-700.woff +0 -0
  2089. frontend/public/fonts/inter-v12-latin-700.woff2 +0 -0
  2090. frontend/public/fonts/inter-v12-latin-regular.eot +0 -0
  2091. frontend/public/fonts/inter-v12-latin-regular.svg +351 -0
  2092. frontend/public/fonts/inter-v12-latin-regular.ttf +0 -0
  2093. frontend/public/fonts/inter-v12-latin-regular.woff +0 -0
  2094. frontend/public/fonts/inter-v12-latin-regular.woff2 +0 -0
  2095. frontend/public/fonts/lora-v32-latin-500.eot +0 -0
  2096. frontend/public/fonts/lora-v32-latin-500.svg +431 -0
  2097. frontend/public/fonts/lora-v32-latin-500.ttf +0 -0
  2098. frontend/public/fonts/lora-v32-latin-500.woff +0 -0
  2099. frontend/public/fonts/lora-v32-latin-500.woff2 +0 -0
  2100. frontend/public/fonts/lora-v32-latin-700.eot +0 -0
  2101. frontend/public/fonts/lora-v32-latin-700.svg +430 -0
  2102. frontend/public/fonts/lora-v32-latin-700.ttf +0 -0
  2103. frontend/public/fonts/lora-v32-latin-700.woff +0 -0
  2104. frontend/public/fonts/lora-v32-latin-700.woff2 +0 -0
  2105. frontend/public/fonts/lora-v32-latin-regular.eot +0 -0
  2106. frontend/public/fonts/lora-v32-latin-regular.svg +430 -0
  2107. frontend/public/fonts/lora-v32-latin-regular.ttf +0 -0
  2108. frontend/public/fonts/lora-v32-latin-regular.woff +0 -0
  2109. frontend/public/fonts/lora-v32-latin-regular.woff2 +0 -0
  2110. frontend/public/fonts/nunito-sans-v12-latin-300.eot +0 -0
  2111. frontend/public/fonts/nunito-sans-v12-latin-300.svg +305 -0
  2112. frontend/public/fonts/nunito-sans-v12-latin-300.ttf +0 -0
  2113. frontend/public/fonts/nunito-sans-v12-latin-300.woff +0 -0
  2114. frontend/public/fonts/nunito-sans-v12-latin-300.woff2 +0 -0
  2115. frontend/public/fonts/nunito-sans-v12-latin-600.eot +0 -0
  2116. frontend/public/fonts/nunito-sans-v12-latin-600.svg +306 -0
  2117. frontend/public/fonts/nunito-sans-v12-latin-600.ttf +0 -0
  2118. frontend/public/fonts/nunito-sans-v12-latin-600.woff +0 -0
  2119. frontend/public/fonts/nunito-sans-v12-latin-600.woff2 +0 -0
  2120. frontend/public/fonts/nunito-sans-v12-latin-700.eot +0 -0
  2121. frontend/public/fonts/nunito-sans-v12-latin-700.svg +306 -0
  2122. frontend/public/fonts/nunito-sans-v12-latin-700.ttf +0 -0
  2123. frontend/public/fonts/nunito-sans-v12-latin-700.woff +0 -0
  2124. frontend/public/fonts/nunito-sans-v12-latin-700.woff2 +0 -0
  2125. frontend/public/fonts/nunito-sans-v12-latin-regular.eot +0 -0
  2126. frontend/public/fonts/nunito-sans-v12-latin-regular.ttf +0 -0
  2127. frontend/public/fonts/nunito-sans-v12-latin-regular.woff +0 -0
  2128. frontend/public/fonts/nunito-sans-v12-latin-regular.woff2 +0 -0
  2129. frontend/public/fonts/open-sans-v34-latin-300.eot +0 -0
  2130. frontend/public/fonts/open-sans-v34-latin-300.svg +346 -0
  2131. frontend/public/fonts/open-sans-v34-latin-300.ttf +0 -0
  2132. frontend/public/fonts/open-sans-v34-latin-300.woff +0 -0
  2133. frontend/public/fonts/open-sans-v34-latin-300.woff2 +0 -0
  2134. frontend/public/fonts/open-sans-v34-latin-600.eot +0 -0
  2135. frontend/public/fonts/open-sans-v34-latin-600.svg +348 -0
  2136. frontend/public/fonts/open-sans-v34-latin-600.ttf +0 -0
  2137. frontend/public/fonts/open-sans-v34-latin-600.woff +0 -0
  2138. frontend/public/fonts/open-sans-v34-latin-600.woff2 +0 -0
  2139. frontend/public/fonts/open-sans-v34-latin-700.eot +0 -0
  2140. frontend/public/fonts/open-sans-v34-latin-700.svg +349 -0
  2141. frontend/public/fonts/open-sans-v34-latin-700.ttf +0 -0
  2142. frontend/public/fonts/open-sans-v34-latin-700.woff +0 -0
  2143. frontend/public/fonts/open-sans-v34-latin-700.woff2 +0 -0
  2144. frontend/public/fonts/open-sans-v34-latin-regular.eot +0 -0
  2145. frontend/public/fonts/open-sans-v34-latin-regular.svg +349 -0
  2146. frontend/public/fonts/open-sans-v34-latin-regular.ttf +0 -0
  2147. frontend/public/fonts/open-sans-v34-latin-regular.woff +0 -0
  2148. frontend/public/fonts/open-sans-v34-latin-regular.woff2 +0 -0
  2149. frontend/public/hd-logo-black.svg +1 -0
  2150. frontend/public/hd-logo-white.svg +1 -0
  2151. hyperdiv/__init__.py +141 -0
  2152. hyperdiv/app_runner.py +505 -0
  2153. hyperdiv/application_state.py +48 -0
  2154. hyperdiv/backends/__init__.py +62 -0
  2155. hyperdiv/backends/granian.py +276 -0
  2156. hyperdiv/cache.py +202 -0
  2157. hyperdiv/cli.py +53 -0
  2158. hyperdiv/collector.py +64 -0
  2159. hyperdiv/component_base.py +329 -0
  2160. hyperdiv/component_keys.py +61 -0
  2161. hyperdiv/component_mixins/__init__.py +5 -0
  2162. hyperdiv/component_mixins/boxy.py +170 -0
  2163. hyperdiv/component_mixins/interactive.py +18 -0
  2164. hyperdiv/component_mixins/slottable.py +43 -0
  2165. hyperdiv/component_mixins/styled.py +307 -0
  2166. hyperdiv/component_mixins/tests/__init__.py +0 -0
  2167. hyperdiv/component_mixins/tests/component_mixins_tests.py +105 -0
  2168. hyperdiv/component_mixins/togglable.py +31 -0
  2169. hyperdiv/components/__init__.py +0 -0
  2170. hyperdiv/components/alert.py +66 -0
  2171. hyperdiv/components/anchor.py +30 -0
  2172. hyperdiv/components/animation.py +219 -0
  2173. hyperdiv/components/async_command.py +50 -0
  2174. hyperdiv/components/audio.py +52 -0
  2175. hyperdiv/components/avatar.py +43 -0
  2176. hyperdiv/components/badge.py +36 -0
  2177. hyperdiv/components/box.py +192 -0
  2178. hyperdiv/components/box_list.py +53 -0
  2179. hyperdiv/components/box_list_item.py +34 -0
  2180. hyperdiv/components/breadcrumb.py +39 -0
  2181. hyperdiv/components/breadcrumb_item.py +37 -0
  2182. hyperdiv/components/button.py +125 -0
  2183. hyperdiv/components/button_group.py +28 -0
  2184. hyperdiv/components/card.py +75 -0
  2185. hyperdiv/components/carousel.py +119 -0
  2186. hyperdiv/components/carousel_item.py +16 -0
  2187. hyperdiv/components/charts/__init__.py +9 -0
  2188. hyperdiv/components/charts/bar_chart.py +43 -0
  2189. hyperdiv/components/charts/bubble_chart.py +73 -0
  2190. hyperdiv/components/charts/cartesian_chart.py +411 -0
  2191. hyperdiv/components/charts/chart.py +58 -0
  2192. hyperdiv/components/charts/common/__init__.py +0 -0
  2193. hyperdiv/components/charts/common/color_utils.py +42 -0
  2194. hyperdiv/components/charts/common/radial_chart_utils.py +35 -0
  2195. hyperdiv/components/charts/line_chart.py +44 -0
  2196. hyperdiv/components/charts/pie_chart.py +49 -0
  2197. hyperdiv/components/charts/polar_chart.py +75 -0
  2198. hyperdiv/components/charts/radar_chart.py +122 -0
  2199. hyperdiv/components/charts/scatter_chart.py +43 -0
  2200. hyperdiv/components/charts/tests/__init__.py +0 -0
  2201. hyperdiv/components/charts/tests/chart_tests.py +263 -0
  2202. hyperdiv/components/checkbox.py +60 -0
  2203. hyperdiv/components/clipboard.py +30 -0
  2204. hyperdiv/components/code.py +34 -0
  2205. hyperdiv/components/color_picker.py +130 -0
  2206. hyperdiv/components/common/__init__.py +0 -0
  2207. hyperdiv/components/common/label_component.py +86 -0
  2208. hyperdiv/components/common/list_base.py +14 -0
  2209. hyperdiv/components/common/media_base.py +43 -0
  2210. hyperdiv/components/common/shoelace_types.py +60 -0
  2211. hyperdiv/components/common/text_utils.py +2 -0
  2212. hyperdiv/components/cookies.py +231 -0
  2213. hyperdiv/components/details.py +96 -0
  2214. hyperdiv/components/dialog.py +42 -0
  2215. hyperdiv/components/divider.py +42 -0
  2216. hyperdiv/components/drawer.py +115 -0
  2217. hyperdiv/components/dropdown.py +115 -0
  2218. hyperdiv/components/form.py +577 -0
  2219. hyperdiv/components/icon.py +47 -0
  2220. hyperdiv/components/icon_button.py +29 -0
  2221. hyperdiv/components/image.py +86 -0
  2222. hyperdiv/components/image_comparer.py +45 -0
  2223. hyperdiv/components/lifecycle.py +47 -0
  2224. hyperdiv/components/link.py +89 -0
  2225. hyperdiv/components/list.py +47 -0
  2226. hyperdiv/components/list_item.py +11 -0
  2227. hyperdiv/components/local_storage.py +123 -0
  2228. hyperdiv/components/location.py +132 -0
  2229. hyperdiv/components/markdown.py +127 -0
  2230. hyperdiv/components/media_source.py +15 -0
  2231. hyperdiv/components/menu.py +130 -0
  2232. hyperdiv/components/menu_item.py +64 -0
  2233. hyperdiv/components/menu_label.py +26 -0
  2234. hyperdiv/components/nav.py +16 -0
  2235. hyperdiv/components/option.py +53 -0
  2236. hyperdiv/components/ordered_list.py +49 -0
  2237. hyperdiv/components/plaintext.py +27 -0
  2238. hyperdiv/components/popup.py +124 -0
  2239. hyperdiv/components/progress_bar.py +70 -0
  2240. hyperdiv/components/progress_ring.py +57 -0
  2241. hyperdiv/components/radio.py +40 -0
  2242. hyperdiv/components/radio_button.py +51 -0
  2243. hyperdiv/components/radio_group.py +167 -0
  2244. hyperdiv/components/scope.py +112 -0
  2245. hyperdiv/components/select_.py +151 -0
  2246. hyperdiv/components/slider.py +135 -0
  2247. hyperdiv/components/spinner.py +40 -0
  2248. hyperdiv/components/split_panel.py +146 -0
  2249. hyperdiv/components/state.py +101 -0
  2250. hyperdiv/components/style.py +27 -0
  2251. hyperdiv/components/switch.py +56 -0
  2252. hyperdiv/components/tab.py +46 -0
  2253. hyperdiv/components/tab_group.py +175 -0
  2254. hyperdiv/components/table.py +217 -0
  2255. hyperdiv/components/tag.py +77 -0
  2256. hyperdiv/components/task.py +232 -0
  2257. hyperdiv/components/tests/__init__.py +0 -0
  2258. hyperdiv/components/tests/alert_tests.py +24 -0
  2259. hyperdiv/components/tests/animation_tests.py +19 -0
  2260. hyperdiv/components/tests/audio_tests.py +52 -0
  2261. hyperdiv/components/tests/box_list_tests.py +15 -0
  2262. hyperdiv/components/tests/button_tests.py +17 -0
  2263. hyperdiv/components/tests/carousel_tests.py +19 -0
  2264. hyperdiv/components/tests/checkbox_tests.py +20 -0
  2265. hyperdiv/components/tests/clipboard_tests.py +12 -0
  2266. hyperdiv/components/tests/cookie_tests.py +123 -0
  2267. hyperdiv/components/tests/form_tests.py +107 -0
  2268. hyperdiv/components/tests/local_storage_tests.py +101 -0
  2269. hyperdiv/components/tests/markdown_tests.py +47 -0
  2270. hyperdiv/components/tests/popup_test.py +24 -0
  2271. hyperdiv/components/tests/radio_group_tests.py +22 -0
  2272. hyperdiv/components/tests/style_tests.py +28 -0
  2273. hyperdiv/components/tests/tab_group_tests.py +56 -0
  2274. hyperdiv/components/tests/tree_tests.py +83 -0
  2275. hyperdiv/components/text.py +112 -0
  2276. hyperdiv/components/text_input.py +241 -0
  2277. hyperdiv/components/textarea.py +68 -0
  2278. hyperdiv/components/theme.py +75 -0
  2279. hyperdiv/components/tooltip.py +91 -0
  2280. hyperdiv/components/tree.py +144 -0
  2281. hyperdiv/components/tree_item.py +109 -0
  2282. hyperdiv/components/video.py +62 -0
  2283. hyperdiv/components/window.py +47 -0
  2284. hyperdiv/connection.py +86 -0
  2285. hyperdiv/debug.py +86 -0
  2286. hyperdiv/design_tokens.py +431 -0
  2287. hyperdiv/diff.py +208 -0
  2288. hyperdiv/equalities.py +29 -0
  2289. hyperdiv/exceptions.py +2 -0
  2290. hyperdiv/ext/__init__.py +6 -0
  2291. hyperdiv/ext/data_table.py +472 -0
  2292. hyperdiv/ext/icon_link.py +94 -0
  2293. hyperdiv/ext/navigation_menu.py +179 -0
  2294. hyperdiv/ext/router.py +217 -0
  2295. hyperdiv/ext/template.py +277 -0
  2296. hyperdiv/ext/tests/__init__.py +0 -0
  2297. hyperdiv/ext/tests/data_table_tests.py +102 -0
  2298. hyperdiv/ext/tests/router_tests.py +60 -0
  2299. hyperdiv/ext/tests/template_tests.py +12 -0
  2300. hyperdiv/ext/theme_switcher.py +67 -0
  2301. hyperdiv/frame.py +324 -0
  2302. hyperdiv/frontend.py +27 -0
  2303. hyperdiv/global_state.py +82 -0
  2304. hyperdiv/icons.py +1956 -0
  2305. hyperdiv/index_page.py +333 -0
  2306. hyperdiv/main.py +132 -0
  2307. hyperdiv/plugin.py +209 -0
  2308. hyperdiv/prop.py +160 -0
  2309. hyperdiv/prop_types/__init__.py +23 -0
  2310. hyperdiv/prop_types/any_type.py +11 -0
  2311. hyperdiv/prop_types/border.py +107 -0
  2312. hyperdiv/prop_types/border_edge.py +82 -0
  2313. hyperdiv/prop_types/box_size.py +77 -0
  2314. hyperdiv/prop_types/clamped_number.py +72 -0
  2315. hyperdiv/prop_types/color.py +194 -0
  2316. hyperdiv/prop_types/color_constant.py +74 -0
  2317. hyperdiv/prop_types/constant.py +16 -0
  2318. hyperdiv/prop_types/css.py +15 -0
  2319. hyperdiv/prop_types/css_field.py +35 -0
  2320. hyperdiv/prop_types/design_token.py +31 -0
  2321. hyperdiv/prop_types/event.py +42 -0
  2322. hyperdiv/prop_types/float_type.py +28 -0
  2323. hyperdiv/prop_types/hyperdiv_type.py +27 -0
  2324. hyperdiv/prop_types/list_type.py +26 -0
  2325. hyperdiv/prop_types/native.py +62 -0
  2326. hyperdiv/prop_types/one_of.py +19 -0
  2327. hyperdiv/prop_types/one_or_more_of.py +25 -0
  2328. hyperdiv/prop_types/optional.py +24 -0
  2329. hyperdiv/prop_types/size.py +169 -0
  2330. hyperdiv/prop_types/tests/__init__.py +0 -0
  2331. hyperdiv/prop_types/tests/any_type_tests.py +8 -0
  2332. hyperdiv/prop_types/tests/base_size_tests.py +59 -0
  2333. hyperdiv/prop_types/tests/border_edge_tests.py +36 -0
  2334. hyperdiv/prop_types/tests/border_tests.py +98 -0
  2335. hyperdiv/prop_types/tests/box_size_tests.py +44 -0
  2336. hyperdiv/prop_types/tests/clamped_number_tests.py +20 -0
  2337. hyperdiv/prop_types/tests/color_constant_tests.py +63 -0
  2338. hyperdiv/prop_types/tests/constant_tests.py +13 -0
  2339. hyperdiv/prop_types/tests/css_field_tests.py +15 -0
  2340. hyperdiv/prop_types/tests/design_token_tests.py +20 -0
  2341. hyperdiv/prop_types/tests/event_tests.py +18 -0
  2342. hyperdiv/prop_types/tests/float_tests.py +11 -0
  2343. hyperdiv/prop_types/tests/list_tests.py +25 -0
  2344. hyperdiv/prop_types/tests/native_tests.py +18 -0
  2345. hyperdiv/prop_types/tests/one_of_tests.py +14 -0
  2346. hyperdiv/prop_types/tests/one_or_more_of_tests.py +24 -0
  2347. hyperdiv/prop_types/tests/optional_tests.py +22 -0
  2348. hyperdiv/prop_types/tests/time_value_tests.py +31 -0
  2349. hyperdiv/prop_types/tests/tuple_type_tests.py +26 -0
  2350. hyperdiv/prop_types/tests/union_tests.py +18 -0
  2351. hyperdiv/prop_types/time_value.py +55 -0
  2352. hyperdiv/prop_types/tuple_type.py +43 -0
  2353. hyperdiv/prop_types/union.py +28 -0
  2354. hyperdiv/renderer.py +260 -0
  2355. hyperdiv/server.py +163 -0
  2356. hyperdiv/slot.py +35 -0
  2357. hyperdiv/sqlite.py +127 -0
  2358. hyperdiv/style_part.py +47 -0
  2359. hyperdiv/task_runtime.py +54 -0
  2360. hyperdiv/test_utils.py +134 -0
  2361. hyperdiv/tests/__init__.py +0 -0
  2362. hyperdiv/tests/app_runner_tests.py +266 -0
  2363. hyperdiv/tests/application_state_tests.py +67 -0
  2364. hyperdiv/tests/component_base_tests.py +180 -0
  2365. hyperdiv/tests/design_token_tests.py +37 -0
  2366. hyperdiv/tests/equalities_tests.py +44 -0
  2367. hyperdiv/tests/index_page_tests.py +156 -0
  2368. hyperdiv/tests/plugin_tests.py +280 -0
  2369. hyperdiv/tests/server_tests.py +103 -0
  2370. hyperdiv/tests/sqlite_tests.py +80 -0
  2371. hyperdiv/tests/style_part_tests.py +54 -0
  2372. hyperdiv/ui_command.py +108 -0
  2373. hyperdiv/ui_prop_state.py +92 -0
  2374. hyperdiv/ui_singleton.py +70 -0
  2375. hyperdivlite-0.1.9.dist-info/METADATA +163 -0
  2376. hyperdivlite-0.1.9.dist-info/RECORD +2380 -0
  2377. hyperdivlite-0.1.9.dist-info/WHEEL +4 -0
  2378. hyperdivlite-0.1.9.dist-info/entry_points.txt +3 -0
  2379. hyperdivlite-0.1.9.dist-info/licenses/LICENSE +202 -0
  2380. hyperdivlite-0.1.9.dist-info/licenses/NOTICE +11 -0
hyperdiv/sqlite.py ADDED
@@ -0,0 +1,127 @@
1
+ import sqlite3
2
+ from functools import wraps
3
+
4
+
5
+ def dict_factory(cursor, row):
6
+ """Row factory that returns dicts mapping column name to column value,
7
+ as opposed to the default factory, which returns tuples.
8
+ """
9
+ d = {}
10
+ for idx, col in enumerate(cursor.description):
11
+ d[col[0]] = row[idx]
12
+ return d
13
+
14
+
15
+ class sqlite(object):
16
+ """Non-transaction/autocommit context. Use:
17
+
18
+ with sqlite(db_path) as (_, cursor):
19
+ cursor.execute('select foo from bar')
20
+ rows = cursor.fetchall()
21
+ ...
22
+
23
+ """
24
+
25
+ def __init__(self, db, timeout=0.4):
26
+ self.db = db
27
+ self.timeout = timeout
28
+ self.conn = None
29
+ self.cursor = None
30
+
31
+ def __enter__(self):
32
+ self.conn = sqlite3.connect(self.db, timeout=self.timeout)
33
+ self.conn.row_factory = dict_factory
34
+ self.conn.isolation_level = None
35
+ self.cursor = self.conn.cursor()
36
+ return self.conn, self.cursor
37
+
38
+ def __exit__(self, exc_type, exc_value, exc_tb):
39
+ self.cursor.close()
40
+ self.conn.close()
41
+
42
+
43
+ class sqlite_tx(sqlite):
44
+ """Transactional context. Use:
45
+
46
+ with sqlite_tx(db_path) as (_, cursor):
47
+ cursor.execute('select foo from bar')
48
+ rows = cursor.fetchall()
49
+ ...
50
+
51
+ The body of the `with` block is executed inside a sqlite
52
+ transaction. If an exception is raised in the body, the
53
+ transaction is rolled back.
54
+ """
55
+
56
+ def __enter__(self):
57
+ conn, cursor = super().__enter__()
58
+ cursor.execute("begin exclusive transaction")
59
+ return conn, cursor
60
+
61
+ def __exit__(self, exc_type, exc_value, exc_tb):
62
+ if exc_type is None:
63
+ self.cursor.execute("commit")
64
+ else:
65
+ self.cursor.execute("rollback")
66
+ super().__exit__(exc_type, exc_value, exc_tb)
67
+
68
+
69
+ def retry(fn):
70
+ # These errors can happen randomly due to contention and it's safe
71
+ # to retry when they happen.
72
+ errors = ("database is locked", "disk I/O error")
73
+
74
+ @wraps(fn)
75
+ def fn_wrapper(*args, **kwargs):
76
+ while True:
77
+ try:
78
+ return fn(*args, **kwargs)
79
+ except sqlite3.OperationalError as e:
80
+ if str(e) not in errors:
81
+ raise
82
+
83
+ return fn_wrapper
84
+
85
+
86
+ def migrate(db_path, migrations):
87
+ """A migration is a function that takes a cursor and uses it to modify
88
+ the db in some way. `migrations` is a list of such functions.
89
+ """
90
+ with sqlite_tx(db_path) as (_, cursor):
91
+ # If the _Migration table doesn't exist, create it.
92
+ try:
93
+ cursor.execute("select * from _Migration")
94
+ table_exists = True
95
+ except sqlite3.OperationalError as e:
96
+ if "no such table" in str(e):
97
+ table_exists = False
98
+ else:
99
+ raise
100
+
101
+ if not table_exists:
102
+ cursor.execute("create table _Migration (migration_id integer not null)")
103
+ cursor.execute("insert into _Migration (migration_id) values (?)", (0,))
104
+
105
+ # The migration_id indicates the number/position in the
106
+ # migrations list of the most recent migration applied. We
107
+ # apply the rest of the migrations in the list, if any.
108
+
109
+ cursor.execute("select migration_id from _Migration")
110
+ rows = cursor.fetchall()
111
+ migration_id = rows[0]["migration_id"]
112
+
113
+ if len(migrations) < migration_id:
114
+ raise Exception("The migration list got smaller.")
115
+
116
+ migrations_to_apply = migrations[migration_id:]
117
+ print(f"Applying {len(migrations_to_apply)} migrations.")
118
+ for migration in migrations_to_apply:
119
+ migration(cursor)
120
+ cursor.execute("update _Migration set migration_id = migration_id + 1")
121
+
122
+
123
+ def sql(sql_text):
124
+ """This function can be used as the most basic way to define a migration. E.g.,
125
+ migration = sql("drop table Foo")
126
+ """
127
+ return lambda cursor: cursor.execute(sql_text)
hyperdiv/style_part.py ADDED
@@ -0,0 +1,47 @@
1
+ from .prop_types import CSS
2
+ from .components.style import style, boxy_props
3
+ from .renderer import render_css_props, selector_template
4
+
5
+
6
+ class StylePart(CSS):
7
+ """
8
+ The type of a style part.
9
+
10
+ The values accepted by this type are `hyperdiv.style()` objects.
11
+ """
12
+
13
+ def __init__(self, part_name, /, is_base_part=False, has_root=True):
14
+ self.part_name = part_name
15
+ self.is_base_part = is_base_part
16
+ self.has_root = has_root
17
+
18
+ def parse(self, value):
19
+ if value is None:
20
+ return None
21
+ if not isinstance(value, style):
22
+ raise ValueError(f"Expected type `style` but got {type(style)}")
23
+ return value
24
+
25
+ def render(self, style_part):
26
+ if style_part is None:
27
+ return None
28
+
29
+ props = style_part._get_stored_props()
30
+ rendered = render_css_props(props.values())
31
+
32
+ for boxy_prop in boxy_props:
33
+ if props[boxy_prop].value is not None:
34
+ # If a boxy prop is set to a concrete value, we tack
35
+ # "display:flex" onto the output CSS, because boxy props
36
+ # don't make sense in non-flex context.
37
+ rendered[selector_template] |= dict(display="flex")
38
+ break
39
+
40
+ return rendered
41
+
42
+ def __repr__(self):
43
+ return f"StylePart[{self.part_name}]"
44
+
45
+
46
+ def BasePart(part_name="base", has_root=True):
47
+ return StylePart(part_name, is_base_part=True, has_root=has_root)
@@ -0,0 +1,54 @@
1
+ from concurrent.futures import ThreadPoolExecutor
2
+ import asyncio
3
+ import threading
4
+
5
+
6
+ class TaskRuntime:
7
+ def __init__(self, pool_max_workers, executor=None):
8
+ self.threadpool = executor or ThreadPoolExecutor(max_workers=pool_max_workers)
9
+ self.ioloop = asyncio.new_event_loop()
10
+ self.thread_futures = [] # Store futures for threadpool tasks
11
+
12
+ self.ioloop_thread = threading.Thread(target=self._start_ioloop)
13
+ self.ioloop_thread.start()
14
+
15
+ def _start_ioloop(self):
16
+ asyncio.set_event_loop(self.ioloop)
17
+ self.ioloop.run_forever()
18
+
19
+ def run_on_ioloop(self, coro):
20
+ asyncio.run_coroutine_threadsafe(coro, self.ioloop)
21
+
22
+ def run_in_threadpool(self, fn):
23
+ future = self.threadpool.submit(fn)
24
+ self.thread_futures.append(future)
25
+ self._cleanup_thread_futures()
26
+ return future
27
+
28
+ def _cleanup_thread_futures(self):
29
+ # Remove completed futures
30
+ self.thread_futures = [f for f in self.thread_futures if not f.done()]
31
+
32
+ def is_empty(self):
33
+ self._cleanup_thread_futures()
34
+
35
+ # Check if all threadpool futures are done
36
+ if self.thread_futures:
37
+ return False
38
+
39
+ async def check_ioloop_tasks():
40
+ current_task = asyncio.current_task(self.ioloop)
41
+ return not any(
42
+ t != current_task and not t.done()
43
+ for t in asyncio.all_tasks(self.ioloop)
44
+ )
45
+
46
+ # Run the check as a coroutine on the event loop
47
+ loop_check_future = asyncio.run_coroutine_threadsafe(
48
+ check_ioloop_tasks(), self.ioloop
49
+ )
50
+ return loop_check_future.result()
51
+
52
+ def shutdown(self):
53
+ self.threadpool.shutdown()
54
+ self.ioloop.call_soon_threadsafe(self.ioloop.stop)
hyperdiv/test_utils.py ADDED
@@ -0,0 +1,134 @@
1
+ import threading
2
+ from functools import wraps
3
+ from .app_runner import AppRunner
4
+ from .task_runtime import TaskRuntime
5
+ from .frame import Frame
6
+
7
+
8
+ class MockFrame(Frame):
9
+ def get_state(self, key, prop_name):
10
+ return self._app_runner.state._get(key, prop_name)
11
+
12
+ def update_state(self, key, prop_name, value):
13
+ return self._app_runner.state._update(key, prop_name, value)
14
+
15
+
16
+ class MockTaskRuntime:
17
+ def __init__(self):
18
+ self.ioloop_fns = []
19
+ self.threadpool_fns = []
20
+
21
+ def run_on_ioloop(self, fn):
22
+ self.ioloop_fns.append(fn)
23
+
24
+ def run_in_threadpool(self, fn):
25
+ self.threadpool_fns.append(fn)
26
+
27
+
28
+ class MockConnection:
29
+ def __init__(self):
30
+ self.msgs = []
31
+ self.has_message = threading.Event()
32
+
33
+ def send(self, msg):
34
+ self.msgs.append(msg)
35
+ self.has_message.set()
36
+
37
+
38
+ mock_initial_updates = [
39
+ ("location", "path", "/"),
40
+ ("location", "query_args", ""),
41
+ ("location", "hash_arg", ""),
42
+ ("theme", "mode", "dark"),
43
+ ("theme", "system_mode", "dark"),
44
+ ("window", "width", 840),
45
+ ("window", "height", 998),
46
+ ]
47
+
48
+
49
+ class MockRunner:
50
+ """
51
+ This mock runner starts the AppRunner thread.
52
+
53
+ When you call `process_updates()`, the updates are enqueued, which
54
+ triggers the thread to start processing them. The call blocks
55
+ until the updates are fully processed.
56
+ """
57
+
58
+ def __init__(self, fn, initial_updates=None):
59
+ self.initial_updates = initial_updates or mock_initial_updates
60
+ self.fn = fn
61
+ self.app_runner = None
62
+ self.task_runtime = None
63
+ self.connection = None
64
+
65
+ def __enter__(self):
66
+ self.connection = MockConnection()
67
+ self.task_runtime = TaskRuntime(10)
68
+ self.app_runner = AppRunner(
69
+ self.connection, self.task_runtime, self.fn, self.initial_updates
70
+ )
71
+ self.app_runner.start()
72
+ self.app_runner._internal_sync()
73
+ return self
74
+
75
+ def __exit__(self, exc_type, exc_value, exc_tb):
76
+ self.app_runner.stop()
77
+ self.app_runner.wait()
78
+ self.task_runtime.shutdown()
79
+
80
+ def process_updates(self, updates):
81
+ self.app_runner.enqueue_ui_updates(updates)
82
+ self.app_runner._internal_sync()
83
+
84
+ def get_state(self, key, prop_name):
85
+ with MockFrame(self.app_runner) as frame:
86
+ return frame.get_state(key, prop_name)
87
+
88
+
89
+ class MockManualRunner:
90
+ """
91
+ This mock runner does not start the AppRunner thread. You can call
92
+ advance() to manually do one run a time. The run runs
93
+ synchronously on the caller thread.
94
+ """
95
+
96
+ def __init__(self, fn=None, initial_updates=None):
97
+ self.task_runtime = MockTaskRuntime()
98
+ self.connection = MockConnection()
99
+ self.app_runner = AppRunner(
100
+ self.connection,
101
+ self.task_runtime,
102
+ fn or (lambda: None),
103
+ initial_updates if initial_updates is not None else mock_initial_updates,
104
+ )
105
+ self.app_runner.enqueue_ui_updates(self.app_runner.initial_ui_updates)
106
+
107
+ def process_updates(self, updates):
108
+ self.app_runner.enqueue_ui_updates(updates)
109
+ self.advance()
110
+
111
+ def process_task_mutations(self, mutations):
112
+ self.app_runner.enqueue_task_mutations(mutations)
113
+ self.advance()
114
+
115
+ def update_state(self, key, prop_name, value):
116
+ with MockFrame(self.app_runner) as frame:
117
+ frame.update_state(key, prop_name, value)
118
+
119
+ def get_state(self, key, prop_name):
120
+ with MockFrame(self.app_runner) as frame:
121
+ return frame.get_state(key, prop_name)
122
+
123
+ def advance(self):
124
+ self.app_runner.stop()
125
+ self.app_runner.run_loop()
126
+
127
+
128
+ def mock_frame(fn):
129
+ @wraps(fn)
130
+ def wrapper():
131
+ mr = MockManualRunner(fn)
132
+ mr.advance()
133
+
134
+ return wrapper
File without changes
@@ -0,0 +1,266 @@
1
+ import pytest
2
+ from ..test_utils import MockRunner, MockManualRunner
3
+ from ..components.lifecycle import lifecycle
4
+ from ..components.plaintext import plaintext
5
+ from ..components.local_storage import local_storage
6
+ from ..components.state import state
7
+ from ..components.button import button
8
+ from ..exceptions import Stop
9
+
10
+
11
+ def test_queues():
12
+ mr = MockManualRunner()
13
+ mr.advance()
14
+
15
+ mr.app_runner.enqueue_ui_updates([("a", "b", "c")])
16
+ stop, ui_updates, task_mutations = mr.app_runner.process_queue()
17
+
18
+ assert ui_updates == [("a", "b", "c")]
19
+ assert task_mutations == []
20
+ assert stop is False
21
+
22
+ mr.app_runner.enqueue_task_mutations([("a", "b", "c")])
23
+ stop, ui_updates, task_mutations = mr.app_runner.process_queue()
24
+
25
+ assert ui_updates == []
26
+ assert task_mutations == [("a", "b", "c")]
27
+ assert stop is False
28
+
29
+ mr.app_runner.stop()
30
+ stop, ui_updates, task_mutations = mr.app_runner.process_queue()
31
+
32
+ assert stop is True
33
+ assert ui_updates == [(lifecycle._key, "app_stopped", True)]
34
+ assert task_mutations == []
35
+
36
+ mr.app_runner.input_queue.put(("bad_key", []))
37
+
38
+ with pytest.raises(Exception):
39
+ mr.app_runner.process_queue()
40
+
41
+ stop, ui_updates, task_mutations = mr.app_runner.process_queue()
42
+ assert stop is False
43
+ assert ui_updates == task_mutations == []
44
+
45
+
46
+ def test_storage():
47
+ mr = MockManualRunner()
48
+ ar = mr.app_runner
49
+
50
+ storage = ar.get_storage("my_storage")
51
+ storage["foo"] = "bar"
52
+
53
+ assert ar.get_storage("my_storage") == {"foo": "bar"}
54
+
55
+
56
+ def test_prop_reset():
57
+ key = None
58
+
59
+ def my_app():
60
+ nonlocal key
61
+ t = plaintext(content="Initial")
62
+ # Save the component key
63
+ key = t._key
64
+ t.content = "Updated"
65
+
66
+ mr = MockManualRunner(my_app)
67
+ mr.advance()
68
+
69
+ assert mr.get_state(key, "content") == "Updated"
70
+ mr.process_updates([(key, "content", "$reset")])
71
+
72
+ assert mr.get_state(key, "content") == "Initial"
73
+
74
+
75
+ def test_commands():
76
+ def my_app():
77
+ local_storage.get_item("hello")
78
+
79
+ mr = MockManualRunner(my_app)
80
+ mr.advance()
81
+
82
+ conn = mr.connection
83
+
84
+ msg = conn.msgs[-1]
85
+
86
+ assert "commands" in msg
87
+ assert len(msg["commands"]) == 1
88
+ cmd = msg["commands"][0]
89
+ assert cmd["target"] == "localStorage"
90
+ assert cmd["command"] == "getItem"
91
+ assert cmd["args"] == ["hello"]
92
+
93
+
94
+ def test_run_loop():
95
+ # Save component keys in these variables
96
+ state_key = None
97
+ button_key = None
98
+ text_key = None
99
+
100
+ def my_app():
101
+ nonlocal button_key, state_key, text_key
102
+
103
+ s = state(count=0)
104
+ state_key = s._key
105
+
106
+ b = button("Click Me")
107
+ button_key = b._key
108
+
109
+ if b.clicked:
110
+ s.count += 1
111
+
112
+ t = plaintext(s.count)
113
+ text_key = t._key
114
+
115
+ with MockRunner(my_app) as mr:
116
+ # Simulate click
117
+ mr.process_updates([(button_key, "clicked", True)])
118
+
119
+ assert mr.get_state(state_key, "count") == 1
120
+
121
+ # A diff was generated with the updated plaintext label
122
+ conn = mr.connection
123
+ msg = conn.msgs[-1]
124
+
125
+ assert "diff" in msg
126
+ assert text_key in msg["diff"]
127
+ assert msg["diff"][text_key]["props"] == {"content": "1"}
128
+
129
+
130
+ def test_run_limit():
131
+ def my_app():
132
+ s = state(count=0)
133
+ s.count += 1
134
+
135
+ mr = MockManualRunner(my_app)
136
+ with pytest.raises(RuntimeError):
137
+ mr.app_runner.run_loop()
138
+
139
+
140
+ def test_task_mutations():
141
+ state_key, text_key = None, None
142
+
143
+ def my_app():
144
+ nonlocal state_key, text_key
145
+
146
+ s = state(count=0)
147
+ state_key = s._key
148
+
149
+ if s.count >= 1:
150
+ t = plaintext("Hello")
151
+ text_key = t._key
152
+
153
+ mr = MockManualRunner(my_app)
154
+ mr.advance()
155
+ mr.update_state(state_key, "count", 1)
156
+ mr.process_task_mutations([(state_key, "count")])
157
+ assert mr.get_state(state_key, "count") == 1
158
+
159
+ conn = mr.connection
160
+ msg = conn.msgs[-1]
161
+
162
+ assert "diff" in msg
163
+ assert len(msg["diff"]) == 1
164
+ root = list(msg["diff"].values())[0]
165
+ assert "children" in root
166
+ assert len(root["children"]) == 1
167
+ cmd = root["children"][0]
168
+ assert len(cmd) == 3
169
+ assert cmd[0] == "insert"
170
+ assert cmd[1] == 0
171
+ assert len(cmd[2]) == 1
172
+ inserted = cmd[2][0]
173
+ assert inserted["key"] == text_key
174
+ assert inserted["props"] == {"content": "Hello"}
175
+
176
+
177
+ def test_stop():
178
+ def my_app():
179
+ s = state(count=0)
180
+ s.count += 1
181
+ raise Stop()
182
+
183
+ mr = MockManualRunner(my_app)
184
+ # If stop() wasn't handled correctly, this would loop
185
+ # indefinitely.
186
+ mr.app_runner.run_loop_wrapper()
187
+
188
+
189
+ def test_trigger_event():
190
+ b2_key = None
191
+ text_key = None
192
+
193
+ def my_app():
194
+ nonlocal b2_key, text_key
195
+
196
+ s = state(count=0)
197
+ b1 = button("Button 1")
198
+ b2 = button("Button 2")
199
+ b2_key = b2._key
200
+
201
+ if b1.clicked:
202
+ s.count += 1
203
+ if b2.clicked:
204
+ # Trigger a click on b1, which will cause the count to be
205
+ # incremented in the next frame.
206
+ b1.trigger_event("clicked", True)
207
+
208
+ # While we're here: can't trigger event on a non-event
209
+ # prop:
210
+ with pytest.raises(Exception):
211
+ b1.trigger_event("size", "small")
212
+
213
+ t = plaintext(s.count)
214
+ text_key = t._key
215
+
216
+ with MockRunner(my_app) as mr:
217
+ mr.process_updates([(b2_key, "clicked", True)])
218
+
219
+ # Assert that the click on b1 was processed, causing a diff output
220
+ # with an updated text label.
221
+ msg = mr.connection.msgs[-1]
222
+ assert "diff" in msg
223
+ assert text_key in msg["diff"]
224
+ assert msg["diff"][text_key]["props"] == {"content": "1"}
225
+
226
+
227
+ def test_cannot_mutate_event_props():
228
+ def my_app():
229
+ b = button("Click Me")
230
+ with pytest.raises(Exception):
231
+ b.clicked = True
232
+
233
+ mr = MockManualRunner(my_app)
234
+ mr.advance()
235
+
236
+
237
+ def test_click_twice():
238
+ """
239
+ Test that an update batch containing updates to the same prop
240
+ schedules those updates in different frames.
241
+ """
242
+ button_key = None
243
+ text_key = None
244
+
245
+ def my_app():
246
+ nonlocal button_key, text_key
247
+
248
+ s = state(count=0)
249
+
250
+ b = button("Click Me")
251
+ button_key = b._key
252
+
253
+ if b.clicked:
254
+ s.count += 1
255
+
256
+ t = plaintext(s.count)
257
+ text_key = t._key
258
+
259
+ with MockRunner(my_app) as mr:
260
+ mr.process_updates(
261
+ [
262
+ (button_key, "clicked", True),
263
+ (button_key, "clicked", True),
264
+ ]
265
+ )
266
+ assert mr.get_state(text_key, "content") == "2"
@@ -0,0 +1,67 @@
1
+ import pytest
2
+ from ..test_utils import MockManualRunner
3
+ from ..frame import UIUpdatesFrame, ResetUIEventsFrame, AppRunnerFrame
4
+ from ..component_base import Component
5
+ from ..prop import Prop
6
+ from ..prop_types import Int, Bool, Event
7
+
8
+
9
+ class MyComponent(Component):
10
+ x = Prop(Int, 0)
11
+ z = Prop(Event(Bool), False)
12
+
13
+
14
+ def test_application_state():
15
+ props = MyComponent._get_static_props()
16
+ props_with_values = {(prop, prop.default_value) for prop in props}
17
+
18
+ mr = MockManualRunner()
19
+
20
+ state = mr.app_runner.state
21
+
22
+ with AppRunnerFrame(mr.app_runner) as frame:
23
+ state.init_props("my-key", props_with_values)
24
+
25
+ assert frame.get_state("my-key", "x") == 0
26
+ assert frame.get_state("my-key", "z") is False
27
+
28
+ # Reads got registered:
29
+ assert ("my-key", "x") in frame.deps
30
+ assert ("my-key", "z") in frame.deps
31
+
32
+ frame.update_state("my-key", "x", 20)
33
+
34
+ # The update/mutation got registered:
35
+ assert ("my-key", "x") in frame.mutations
36
+
37
+ assert frame.get_state("my-key", "x") == 20
38
+
39
+ # Reset to default value
40
+ frame.reset_state("my-key", "x")
41
+ assert frame.get_state("my-key", "x") == 0
42
+
43
+ assert state.has_prop("my-key", "x")
44
+ assert state.has_prop("my-key", "z")
45
+
46
+ assert len(state.get_props("my-key")) == 2
47
+
48
+ with ResetUIEventsFrame(mr.app_runner) as frame:
49
+ frame.reset_state("my-key", "z")
50
+
51
+ with AppRunnerFrame(mr.app_runner) as frame:
52
+ # Cannot update event props when running user code:
53
+ with pytest.raises(Exception):
54
+ frame.update_state("my-key", "z", True)
55
+
56
+ with UIUpdatesFrame(mr.app_runner) as frame:
57
+ # Can update event props when Applying UI Updates:
58
+ frame.update_state("my-key", "z", True)
59
+ assert ("my-key", "z") in frame.event_mutations
60
+
61
+ with ResetUIEventsFrame(mr.app_runner) as frame:
62
+ # Can also update event props when resetting events:
63
+ frame.reset_state("my-key", "z")
64
+
65
+ # Cannot update non-event props while resetting events:
66
+ with pytest.raises(Exception):
67
+ frame.update_state("my-key", "x", 1)