codex 1.4.0a0__py3-none-any.whl → 1.4.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codex might be problematic. Click here for more details.

Files changed (279) hide show
  1. codex/config_default.yaml +12 -4
  2. codex/db_functions.py +4 -2
  3. codex/integrity.py +17 -6
  4. codex/librarian/covers/coverd.py +3 -11
  5. codex/librarian/covers/create.py +15 -21
  6. codex/librarian/covers/tasks.py +2 -16
  7. codex/librarian/importer/aggregate_metadata.py +75 -41
  8. codex/librarian/importer/clean_metadata.py +30 -7
  9. codex/librarian/importer/create_fks.py +154 -55
  10. codex/librarian/importer/deleted.py +11 -2
  11. codex/librarian/importer/failed_imports.py +44 -5
  12. codex/librarian/importer/importerd.py +37 -12
  13. codex/librarian/importer/link_comics.py +54 -31
  14. codex/librarian/importer/moved.py +55 -11
  15. codex/librarian/importer/query_fks.py +210 -48
  16. codex/librarian/importer/tasks.py +7 -7
  17. codex/librarian/janitor/cleanup.py +17 -5
  18. codex/librarian/librariand.py +10 -0
  19. codex/librarian/watchdog/events.py +11 -14
  20. codex/librarian/watchdog/observers.py +5 -1
  21. codex/logger/loggerd.py +7 -3
  22. codex/logger/logging.py +1 -1
  23. codex/migrations/0024_comic_gtin_comic_story_arc_number.py +24 -0
  24. codex/migrations/0025_add_story_arc_number.py +83 -0
  25. codex/models.py +21 -11
  26. codex/search/backend.py +1 -1
  27. codex/search/indexes.py +1 -1
  28. codex/serializers/browser.py +1 -0
  29. codex/serializers/metadata.py +5 -1
  30. codex/serializers/models.py +16 -1
  31. codex/serializers/opds/v1.py +1 -0
  32. codex/serializers/opds/v2.py +5 -2
  33. codex/serializers/reader.py +55 -16
  34. codex/settings/settings.py +1 -1
  35. codex/static_root/assets/admin-12749881.ef0f50bac290.js +41 -0
  36. codex/static_root/assets/admin-12749881.ef0f50bac290.js.br +0 -0
  37. codex/static_root/assets/admin-12749881.ef0f50bac290.js.gz +0 -0
  38. codex/static_root/assets/admin-12749881.js +41 -0
  39. codex/static_root/assets/admin-12749881.js.br +0 -0
  40. codex/static_root/assets/admin-12749881.js.gz +0 -0
  41. codex/static_root/assets/admin-beda768d.a614eee46307.css +1 -0
  42. codex/static_root/assets/admin-beda768d.a614eee46307.css.br +0 -0
  43. codex/static_root/assets/admin-beda768d.a614eee46307.css.gz +0 -0
  44. codex/static_root/assets/admin-beda768d.css +1 -0
  45. codex/static_root/assets/admin-beda768d.css.br +0 -0
  46. codex/static_root/assets/admin-beda768d.css.gz +0 -0
  47. codex/static_root/assets/admin-drawer-panel-41c225cc.3f84583b435b.css +1 -0
  48. codex/static_root/assets/admin-drawer-panel-41c225cc.3f84583b435b.css.br +0 -0
  49. codex/static_root/assets/admin-drawer-panel-41c225cc.3f84583b435b.css.gz +0 -0
  50. codex/static_root/assets/admin-drawer-panel-41c225cc.css +1 -0
  51. codex/static_root/assets/admin-drawer-panel-41c225cc.css.br +0 -0
  52. codex/static_root/assets/admin-drawer-panel-41c225cc.css.gz +0 -0
  53. codex/static_root/assets/admin-drawer-panel-522f1e6c.089d70878270.js +1 -0
  54. codex/static_root/assets/admin-drawer-panel-522f1e6c.089d70878270.js.br +0 -0
  55. codex/static_root/assets/admin-drawer-panel-522f1e6c.089d70878270.js.gz +0 -0
  56. codex/static_root/assets/admin-drawer-panel-522f1e6c.js +1 -0
  57. codex/static_root/assets/admin-drawer-panel-522f1e6c.js.br +0 -0
  58. codex/static_root/assets/admin-drawer-panel-522f1e6c.js.gz +0 -0
  59. codex/static_root/assets/browser-7f7d7134.0fe3749b0f2f.css +1 -0
  60. codex/static_root/assets/browser-7f7d7134.0fe3749b0f2f.css.br +0 -0
  61. codex/static_root/assets/browser-7f7d7134.0fe3749b0f2f.css.gz +0 -0
  62. codex/static_root/assets/browser-7f7d7134.css +1 -0
  63. codex/static_root/assets/browser-7f7d7134.css.br +0 -0
  64. codex/static_root/assets/browser-7f7d7134.css.gz +0 -0
  65. codex/static_root/assets/browser-af622672.d51aca96d64d.js +1 -0
  66. codex/static_root/assets/browser-af622672.d51aca96d64d.js.br +0 -0
  67. codex/static_root/assets/browser-af622672.d51aca96d64d.js.gz +0 -0
  68. codex/static_root/assets/browser-af622672.js +1 -0
  69. codex/static_root/assets/browser-af622672.js.br +0 -0
  70. codex/static_root/assets/browser-af622672.js.gz +0 -0
  71. codex/static_root/assets/http-error-5e17b794.77ceeb2d4641.js +1 -0
  72. codex/static_root/assets/http-error-5e17b794.77ceeb2d4641.js.br +0 -0
  73. codex/static_root/assets/http-error-5e17b794.77ceeb2d4641.js.gz +0 -0
  74. codex/static_root/assets/http-error-5e17b794.js +1 -0
  75. codex/static_root/assets/http-error-5e17b794.js.br +0 -0
  76. codex/static_root/assets/http-error-5e17b794.js.gz +0 -0
  77. codex/static_root/assets/{main-a6ac9581.2fd9e52cbcc3.css → main-0898f4bb.181e0145c642.css} +1 -1
  78. codex/static_root/assets/main-0898f4bb.181e0145c642.css.br +0 -0
  79. codex/static_root/assets/{main-a6ac9581.2fd9e52cbcc3.css.gz → main-0898f4bb.181e0145c642.css.gz} +0 -0
  80. codex/static_root/assets/{main-a6ac9581.css → main-0898f4bb.css} +1 -1
  81. codex/static_root/assets/main-0898f4bb.css.br +0 -0
  82. codex/static_root/assets/{main-a6ac9581.css.gz → main-0898f4bb.css.gz} +0 -0
  83. codex/static_root/assets/main-9e76a4c3.6844a407d14c.js +1 -0
  84. codex/static_root/assets/main-9e76a4c3.6844a407d14c.js.br +0 -0
  85. codex/static_root/assets/main-9e76a4c3.6844a407d14c.js.gz +0 -0
  86. codex/static_root/assets/main-9e76a4c3.js +1 -0
  87. codex/static_root/assets/main-9e76a4c3.js.br +0 -0
  88. codex/static_root/assets/main-9e76a4c3.js.gz +0 -0
  89. codex/static_root/assets/metadata-dialog-62c29ce0.8418785c0453.js +1 -0
  90. codex/static_root/assets/metadata-dialog-62c29ce0.8418785c0453.js.br +0 -0
  91. codex/static_root/assets/metadata-dialog-62c29ce0.8418785c0453.js.gz +0 -0
  92. codex/static_root/assets/metadata-dialog-62c29ce0.js +1 -0
  93. codex/static_root/assets/metadata-dialog-62c29ce0.js.br +0 -0
  94. codex/static_root/assets/metadata-dialog-62c29ce0.js.gz +0 -0
  95. codex/static_root/assets/{metadata-dialog-785c4cfc.694a251cda37.css → metadata-dialog-cb306ffd.cc304996d7bb.css} +1 -1
  96. codex/static_root/assets/metadata-dialog-cb306ffd.cc304996d7bb.css.br +0 -0
  97. codex/static_root/assets/metadata-dialog-cb306ffd.cc304996d7bb.css.gz +0 -0
  98. codex/static_root/assets/{metadata-dialog-785c4cfc.css → metadata-dialog-cb306ffd.css} +1 -1
  99. codex/static_root/assets/metadata-dialog-cb306ffd.css.br +0 -0
  100. codex/static_root/assets/metadata-dialog-cb306ffd.css.gz +0 -0
  101. codex/static_root/assets/{page-pdf-abfd509d.3870dab8eaf4.js → page-pdf-157ba97e.613d7c2beb77.js} +61 -51
  102. codex/static_root/assets/page-pdf-157ba97e.613d7c2beb77.js.br +0 -0
  103. codex/static_root/assets/page-pdf-157ba97e.613d7c2beb77.js.gz +0 -0
  104. codex/static_root/assets/{page-pdf-abfd509d.js → page-pdf-157ba97e.js} +61 -51
  105. codex/static_root/assets/page-pdf-157ba97e.js.br +0 -0
  106. codex/static_root/assets/page-pdf-157ba97e.js.gz +0 -0
  107. codex/static_root/assets/reader-36266549.0b2cf1291f27.js +1 -0
  108. codex/static_root/assets/reader-36266549.0b2cf1291f27.js.br +0 -0
  109. codex/static_root/assets/reader-36266549.0b2cf1291f27.js.gz +0 -0
  110. codex/static_root/assets/reader-36266549.js +1 -0
  111. codex/static_root/assets/reader-36266549.js.br +0 -0
  112. codex/static_root/assets/reader-36266549.js.gz +0 -0
  113. codex/static_root/assets/reader-7f004141.506eecc6954b.css +1 -0
  114. codex/static_root/assets/reader-7f004141.506eecc6954b.css.br +0 -0
  115. codex/static_root/assets/reader-7f004141.506eecc6954b.css.gz +0 -0
  116. codex/static_root/assets/reader-7f004141.css +1 -0
  117. codex/static_root/assets/reader-7f004141.css.br +0 -0
  118. codex/static_root/assets/reader-7f004141.css.gz +0 -0
  119. codex/static_root/js/choices-admin.24cecf0a0568.json +1 -0
  120. codex/static_root/js/choices-admin.24cecf0a0568.json.br +0 -0
  121. codex/static_root/js/choices-admin.24cecf0a0568.json.gz +0 -0
  122. codex/static_root/js/choices-admin.json +1 -1
  123. codex/static_root/js/choices-admin.json.br +0 -0
  124. codex/static_root/js/choices-admin.json.gz +0 -0
  125. codex/static_root/js/choices.8c58714cf5b2.json +1 -0
  126. codex/static_root/js/choices.8c58714cf5b2.json.br +5 -0
  127. codex/static_root/js/choices.8c58714cf5b2.json.gz +0 -0
  128. codex/static_root/js/choices.json +1 -1
  129. codex/static_root/js/choices.json.br +0 -0
  130. codex/static_root/js/choices.json.gz +0 -0
  131. codex/static_root/{manifest.64a989215af8.json → manifest.d2f93a519ada.json} +34 -34
  132. codex/static_root/manifest.d2f93a519ada.json.br +0 -0
  133. codex/static_root/manifest.d2f93a519ada.json.gz +0 -0
  134. codex/static_root/manifest.json +34 -34
  135. codex/static_root/manifest.json.br +0 -0
  136. codex/static_root/manifest.json.gz +0 -0
  137. codex/static_root/staticfiles.json +1 -1
  138. codex/templates/headers-script-globals.html +1 -1
  139. codex/templates/{opds → opds_v1}/index.xml +3 -1
  140. codex/templates/{opds/opensearch.xml → opds_v1/opensearch_v1.xml} +1 -1
  141. codex/templates/search/indexes/codex/comic_text.txt +2 -2
  142. codex/urls/converters.py +1 -1
  143. codex/urls/opds/authentication.py +1 -1
  144. codex/urls/opds/root.py +8 -12
  145. codex/urls/opds/v1.py +12 -5
  146. codex/urls/opds/v2.py +2 -2
  147. codex/views/admin/tasks.py +6 -1
  148. codex/views/bookmark.py +2 -2
  149. codex/views/browser/base.py +23 -7
  150. codex/views/browser/browser.py +66 -56
  151. codex/views/browser/browser_annotations.py +159 -50
  152. codex/views/browser/browser_order_by.py +51 -105
  153. codex/views/browser/choices.py +75 -38
  154. codex/views/browser/filters/bookmark.py +6 -9
  155. codex/views/browser/filters/field.py +9 -6
  156. codex/views/browser/filters/group.py +12 -27
  157. codex/views/browser/filters/search.py +5 -10
  158. codex/views/browser/metadata.py +44 -19
  159. codex/views/download.py +1 -1
  160. codex/views/frontend.py +2 -3
  161. codex/views/mixins.py +15 -2
  162. codex/views/opds/const.py +8 -1
  163. codex/views/opds/util.py +37 -1
  164. codex/views/opds/v1/__init__.py +1 -1
  165. codex/views/opds/v1/data.py +21 -0
  166. codex/views/opds/v1/entry/__init__.py +1 -0
  167. codex/views/opds/v1/entry/data.py +23 -0
  168. codex/views/opds/v1/entry/entry.py +151 -0
  169. codex/views/opds/v1/entry/links.py +135 -0
  170. codex/views/opds/v1/facets.py +190 -0
  171. codex/views/opds/v1/feed.py +199 -0
  172. codex/views/opds/v1/links.py +198 -0
  173. codex/views/opds/{opensearch.py → v1/opensearch_v1.py} +3 -3
  174. codex/views/opds/v2/__init__.py +1 -1
  175. codex/views/opds/v2/const.py +10 -2
  176. codex/views/opds/v2/feed.py +82 -21
  177. codex/views/opds/v2/links.py +1 -1
  178. codex/views/opds/v2/publications.py +1 -1
  179. codex/views/opds/v2/top_links.py +1 -1
  180. codex/views/reader/page.py +6 -7
  181. codex/views/reader/reader.py +191 -61
  182. codex/views/session.py +2 -1
  183. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/METADATA +10 -41
  184. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/RECORD +187 -185
  185. codex/librarian/importer/db_ops.py +0 -248
  186. codex/pdf.py +0 -115
  187. codex/static_root/assets/admin-73d93dc7.2c3eb62e50a0.js +0 -48
  188. codex/static_root/assets/admin-73d93dc7.2c3eb62e50a0.js.br +0 -0
  189. codex/static_root/assets/admin-73d93dc7.2c3eb62e50a0.js.gz +0 -0
  190. codex/static_root/assets/admin-73d93dc7.js +0 -48
  191. codex/static_root/assets/admin-73d93dc7.js.br +0 -0
  192. codex/static_root/assets/admin-73d93dc7.js.gz +0 -0
  193. codex/static_root/assets/admin-79555229.5f2c4cb3a73c.css +0 -1
  194. codex/static_root/assets/admin-79555229.5f2c4cb3a73c.css.br +0 -0
  195. codex/static_root/assets/admin-79555229.5f2c4cb3a73c.css.gz +0 -0
  196. codex/static_root/assets/admin-79555229.css +0 -1
  197. codex/static_root/assets/admin-79555229.css.br +0 -0
  198. codex/static_root/assets/admin-79555229.css.gz +0 -0
  199. codex/static_root/assets/admin-drawer-panel-64bcc083.a85324c9ccd8.js +0 -1
  200. codex/static_root/assets/admin-drawer-panel-64bcc083.a85324c9ccd8.js.br +0 -0
  201. codex/static_root/assets/admin-drawer-panel-64bcc083.a85324c9ccd8.js.gz +0 -0
  202. codex/static_root/assets/admin-drawer-panel-64bcc083.js +0 -1
  203. codex/static_root/assets/admin-drawer-panel-64bcc083.js.br +0 -0
  204. codex/static_root/assets/admin-drawer-panel-64bcc083.js.gz +0 -0
  205. codex/static_root/assets/admin-drawer-panel-cce8c0aa.2c0814fa2a9b.css +0 -1
  206. codex/static_root/assets/admin-drawer-panel-cce8c0aa.2c0814fa2a9b.css.br +0 -2
  207. codex/static_root/assets/admin-drawer-panel-cce8c0aa.2c0814fa2a9b.css.gz +0 -0
  208. codex/static_root/assets/admin-drawer-panel-cce8c0aa.css +0 -1
  209. codex/static_root/assets/admin-drawer-panel-cce8c0aa.css.br +0 -2
  210. codex/static_root/assets/admin-drawer-panel-cce8c0aa.css.gz +0 -0
  211. codex/static_root/assets/browser-7325db61.css +0 -1
  212. codex/static_root/assets/browser-7325db61.css.br +0 -0
  213. codex/static_root/assets/browser-7325db61.css.gz +0 -0
  214. codex/static_root/assets/browser-7325db61.ed2cfbf8e8ee.css +0 -1
  215. codex/static_root/assets/browser-7325db61.ed2cfbf8e8ee.css.br +0 -0
  216. codex/static_root/assets/browser-7325db61.ed2cfbf8e8ee.css.gz +0 -0
  217. codex/static_root/assets/browser-d2caeed7.2262000a6d55.js +0 -1
  218. codex/static_root/assets/browser-d2caeed7.2262000a6d55.js.br +0 -0
  219. codex/static_root/assets/browser-d2caeed7.2262000a6d55.js.gz +0 -0
  220. codex/static_root/assets/browser-d2caeed7.js +0 -1
  221. codex/static_root/assets/browser-d2caeed7.js.br +0 -0
  222. codex/static_root/assets/browser-d2caeed7.js.gz +0 -0
  223. codex/static_root/assets/http-error-0221c37d.480d5066da92.js +0 -1
  224. codex/static_root/assets/http-error-0221c37d.480d5066da92.js.br +0 -0
  225. codex/static_root/assets/http-error-0221c37d.480d5066da92.js.gz +0 -0
  226. codex/static_root/assets/http-error-0221c37d.js +0 -1
  227. codex/static_root/assets/http-error-0221c37d.js.br +0 -0
  228. codex/static_root/assets/http-error-0221c37d.js.gz +0 -0
  229. codex/static_root/assets/main-a6ac9581.2fd9e52cbcc3.css.br +0 -0
  230. codex/static_root/assets/main-a6ac9581.css.br +0 -0
  231. codex/static_root/assets/main-e33dcfb0.a65044fc1a08.js +0 -1
  232. codex/static_root/assets/main-e33dcfb0.a65044fc1a08.js.br +0 -0
  233. codex/static_root/assets/main-e33dcfb0.a65044fc1a08.js.gz +0 -0
  234. codex/static_root/assets/main-e33dcfb0.js +0 -1
  235. codex/static_root/assets/main-e33dcfb0.js.br +0 -0
  236. codex/static_root/assets/main-e33dcfb0.js.gz +0 -0
  237. codex/static_root/assets/metadata-dialog-785c4cfc.694a251cda37.css.br +0 -0
  238. codex/static_root/assets/metadata-dialog-785c4cfc.694a251cda37.css.gz +0 -0
  239. codex/static_root/assets/metadata-dialog-785c4cfc.css.br +0 -0
  240. codex/static_root/assets/metadata-dialog-785c4cfc.css.gz +0 -0
  241. codex/static_root/assets/metadata-dialog-8b0e8aaa.d12b42b1c9da.js +0 -1
  242. codex/static_root/assets/metadata-dialog-8b0e8aaa.d12b42b1c9da.js.br +0 -0
  243. codex/static_root/assets/metadata-dialog-8b0e8aaa.d12b42b1c9da.js.gz +0 -0
  244. codex/static_root/assets/metadata-dialog-8b0e8aaa.js +0 -1
  245. codex/static_root/assets/metadata-dialog-8b0e8aaa.js.br +0 -0
  246. codex/static_root/assets/metadata-dialog-8b0e8aaa.js.gz +0 -0
  247. codex/static_root/assets/page-pdf-abfd509d.3870dab8eaf4.js.br +0 -0
  248. codex/static_root/assets/page-pdf-abfd509d.3870dab8eaf4.js.gz +0 -0
  249. codex/static_root/assets/page-pdf-abfd509d.js.br +0 -0
  250. codex/static_root/assets/page-pdf-abfd509d.js.gz +0 -0
  251. codex/static_root/assets/reader-a8b8f766.875abdd0d22e.css +0 -1
  252. codex/static_root/assets/reader-a8b8f766.875abdd0d22e.css.br +0 -0
  253. codex/static_root/assets/reader-a8b8f766.875abdd0d22e.css.gz +0 -0
  254. codex/static_root/assets/reader-a8b8f766.css +0 -1
  255. codex/static_root/assets/reader-a8b8f766.css.br +0 -0
  256. codex/static_root/assets/reader-a8b8f766.css.gz +0 -0
  257. codex/static_root/assets/reader-fe9345d2.759c31f82998.js +0 -1
  258. codex/static_root/assets/reader-fe9345d2.759c31f82998.js.br +0 -0
  259. codex/static_root/assets/reader-fe9345d2.759c31f82998.js.gz +0 -0
  260. codex/static_root/assets/reader-fe9345d2.js +0 -1
  261. codex/static_root/assets/reader-fe9345d2.js.br +0 -0
  262. codex/static_root/assets/reader-fe9345d2.js.gz +0 -0
  263. codex/static_root/js/choices-admin.3d958ea7f83b.json +0 -1
  264. codex/static_root/js/choices-admin.3d958ea7f83b.json.br +0 -0
  265. codex/static_root/js/choices-admin.3d958ea7f83b.json.gz +0 -0
  266. codex/static_root/js/choices.6bfc2a3d293f.json +0 -1
  267. codex/static_root/js/choices.6bfc2a3d293f.json.br +0 -0
  268. codex/static_root/js/choices.6bfc2a3d293f.json.gz +0 -0
  269. codex/static_root/manifest.64a989215af8.json.br +0 -0
  270. codex/static_root/manifest.64a989215af8.json.gz +0 -0
  271. codex/urls/opds/opensearch.py +0 -18
  272. codex/views/opds/v1/browser.py +0 -346
  273. codex/views/opds/v1/entry.py +0 -278
  274. codex/views/opds/v1/start.py +0 -28
  275. codex/views/opds/v1/util.py +0 -162
  276. codex/views/opds/v2/start.py +0 -28
  277. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/LICENSE +0 -0
  278. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/WHEEL +0 -0
  279. {codex-1.4.0a0.dist-info → codex-1.4.1.dist-info}/entry_points.txt +0 -0
@@ -1 +0,0 @@
1
- .flipHoriz[data-v-7b8e4ba4]{transform:scaleX(-1)}#titleToolbar[data-v-b5efed9f]{width:100vw;padding-left:10px;padding-right:10px}[data-v-b5efed9f] #upButton.v-btn{width:64px}[data-v-b5efed9f] .codexToolbarTitle{margin:auto;padding-top:4px;text-align:center;line-height:120%;text-overflow:clip}#titleToolbarPrefix[data-v-b5efed9f],#titleToolbarSuffix[data-v-b5efed9f]{color:rgb(var(--v-theme-textDisabled));font-size:smaller}@media (max-width: 959.98px){#titleToolbar[data-v-b5efed9f]{padding-left:5px;padding-right:5px}[data-v-b5efed9f] .codexToolbarTitle{font-size:1rem}}a[data-v-08501668],a>.v-icon[data-v-08501668]{color:rgb(var(--v-theme-primary))!important}a[data-v-08501668]:hover,a:hover>.v-icon[data-v-08501668]{color:rgb(var(--v-theme-textPrimary))!important}a.v-btn>.v-icon[data-v-08501668]{color:rgb(var(--v-theme-textPrimary))}[data-v-08501668] .browserSearchHelp{overflow-y:auto!important}#searchHelp[data-v-08501668]{max-width:850px;padding:20px;margin:auto;color:rgb(var(--v-theme-textSecondary))}h1[data-v-08501668],h2[data-v-08501668],h3[data-v-08501668]{margin-top:.5em;color:rgb(var(--v-theme-textHeader))}h1[data-v-08501668]{padding-bottom:1em}.closeButton[data-v-08501668]{float:right}#fieldTableContainer[data-v-08501668]{float:left}#fieldTable[data-v-08501668]{width:fit-content;text-align:left;margin-bottom:1em;margin-right:2em;color:rgb(var(--v-theme-textSecondary))}#fieldTable th[data-v-08501668]{font-size:larger;font-weight:700;color:rgb(var(--v-theme-textHeader))}#fieldTable th[data-v-08501668],#fieldTable td[data-v-08501668]{padding:5px}code[data-v-08501668]{width:fit-content;background-color:rgb(var(--v-theme-surface));color:rgb(var(--v-theme-textHeader))!important}#groupCaption[data-v-e50b6bd7],.browserGroupCheckbox[data-v-e50b6bd7]{padding-right:10px;padding-left:15px}#groupCaption[data-v-e50b6bd7]{padding-top:10px;color:rgb(var(--v-theme-textDisabled))}[data-v-3a4c9e75] .v-field-label{top:12px}[data-v-3a4c9e75] .v-label.v-field-label--floating{opacity:var(--v-disabled-opacity)!important}[data-v-3a4c9e75] .v-field:hover .v-label.v-field-label--floating,[data-v-3a4c9e75] .v-field--focused .v-label.v-field-label--floating{opacity:var(--v-medium-emphasis-opacity)!important}@media (max-width: 959.98px){[data-v-3a4c9e75] .v-field{--v-field-padding-start: 4px;--v-field-padding-end: 0px}[data-v-3a4c9e75] .v-field--appended{padding-inline-end:0px}[data-v-3a4c9e75] .v-icon{margin-left:0}}.filterMenu[data-v-307c08e8]{line-height:24px!important}.nameChevron[data-v-307c08e8]{float:right}.filterTitle[data-v-307c08e8]{font-variant:small-caps;color:rbg(var(--v-theme-textDisabled));font-weight:700;font-size:1.6rem!important}.filterGroup[data-v-307c08e8]{max-height:80vh}[data-v-307c08e8] .noneItem .v-item-title{color:rbg(var(--v-theme-textDisabled))!important}.filterValuesProgress[data-v-307c08e8]{margin:10px;width:88%}[data-v-404ecbd3] .v-field-label{margin-left:8px}[data-v-404ecbd3] .v-field__input{padding-left:8px}.filterSuffix[data-v-404ecbd3]{margin-left:.25em}[data-v-404ecbd3] .v-field__clearable{margin-inline-start:0;margin-inline-end:0}.noChoices[data-v-404ecbd3]{color:rgb(var(--v-theme-textDisabled))}@media (max-width: 959.98px){[data-v-404ecbd3] .v-field-label{margin-left:0}[data-v-404ecbd3] .v-field__input{padding-left:0}[data-v-404ecbd3] .v-field__input{padding-left:4px}}.orderReverseButton[data-v-44032796]{border-radius:5px}[data-v-d243e1b6] .v-field-label--floating{padding-left:calc(env(safe-area-inset-left) / 3)}#browserToolbar[data-v-cdef4956]{padding-top:env(safe-area-inset-top);padding-left:calc(10px + env(safe-area-inset-left)/4);padding-right:calc(10px + env(safe-area-inset-right)/4)}#browserToolbarLeftItems[data-v-cdef4956]{padding-top:4px}#searchToolbarItems[data-v-cdef4956]{width:100%}.emptyToolbar[data-v-cdef4956]{position:fixed}@media (max-width: 959.98px){#browserToolbar[data-v-cdef4956]{padding-left:calc(5px + env(safe-area-inset-left)/4);padding-right:calc(5px + env(safe-area-inset-right)/4)}}.orderCaption[data-v-16da5460]{color:rgb(var(--v-theme-textDisabled));text-align:center}.cardControls[data-v-dc469596]{height:100%;width:100%;opacity:0}.eye[data-v-dc469596]{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);color:rgb(var(--v-theme-linkHover))}.cardControls:hover .eye[data-v-dc469596]{color:rgb(var(--v-theme-linkHover))}.cardControls:has(> .tagButton:hover) .eye[data-v-dc469596],.cardControls:has(> .browserCardMenuIcon:hover) .eye[data-v-dc469596]{color:rgb(var(--v-theme-textSecondary))}[data-v-dc469596] .cardControlButton{position:absolute!important;bottom:0px!important;color:rgb(var(--v-theme-textSecondary))!important}[data-v-dc469596] .tagButton{left:0px!important}[data-v-dc469596] .browserCardMenuIcon{right:0px!important}[data-v-dc469596] .cardControlButton:hover{color:rgb(var(--v-theme-linkHover))!important}.cardSubtitle[data-v-2485e87e]{width:100%;margin-top:10px;text-align:center}.headerName[data-v-2485e87e]{padding-top:5px;color:rgb(var(--v-theme-textDisabled))}.headerName[data-v-2485e87e],.displayName[data-v-2485e87e]{overflow-wrap:break-word}.displayName[data-v-2485e87e]{min-height:1em}.browserCardCoverWrapper[data-v-f9f9dd56]{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between}.cardCoverOverlay[data-v-f9f9dd56]{position:absolute;top:0px;left:0px;height:254px;width:165px;border-radius:5px;border:solid thin transparent}.browserCardCoverWrapper:hover>.browserCardTop>.cardCoverOverlay[data-v-f9f9dd56]{background-color:#0000008c;border:solid thin;border-color:rbg(var(--v-theme-primary))}.browserCardCoverWrapper:hover>.browserCardTop>.cardCoverOverlay *[data-v-f9f9dd56]{opacity:1}.bookCoverProgress[data-v-f9f9dd56]{margin-top:1px}@media (max-width: 959.98px){.cardCoverOverlay[data-v-f9f9dd56]{height:154px;width:100px}}#browsePane[data-v-b023c894]{margin-top:160px;margin-left:max(32px,env(safe-area-inset-left));margin-right:max(32px,env(safe-area-inset-right));margin-bottom:max(32px,env(safe-area-inset-bottom));overflow:auto}#browsePaneContainer[data-v-b023c894]{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,165px);grid-gap:32px;align-content:flex-start}#announce[data-v-b023c894]{text-align:center}#noComicsFound[data-v-b023c894]{font-size:x-large;padding:1em;color:rbg(var(--v-theme-textDisabled))}.padFooter[data-v-b023c894]{padding-bottom:45px!important}.placeholder[data-v-b023c894]{position:fixed;height:50vh!important;width:50vw!important;top:calc(50% + 75px);left:50%;transform:translate(-50%,-50%)}@media (max-width: 959.98px){#browsePane[data-v-b023c894]{margin-left:max(16px,env(safe-area-inset-left));margin-right:max(16px,env(safe-area-inset-right));margin-bottom:max(16px,env(safe-area-inset-bottom))}#browsePaneContainer[data-v-b023c894]{grid-template-columns:repeat(auto-fit,100px);grid-gap:16px;justify-content:space-evenly}#noComicsFound[data-v-b023c894]{font-size:large}}#browser[data-v-2b4da8f0]{display:flex;flex-direction:column;min-height:100vh}.codexToolbar[data-v-2b4da8f0]{z-index:100}
@@ -1 +0,0 @@
1
- .flipHoriz[data-v-7b8e4ba4]{transform:scaleX(-1)}#titleToolbar[data-v-b5efed9f]{width:100vw;padding-left:10px;padding-right:10px}[data-v-b5efed9f] #upButton.v-btn{width:64px}[data-v-b5efed9f] .codexToolbarTitle{margin:auto;padding-top:4px;text-align:center;line-height:120%;text-overflow:clip}#titleToolbarPrefix[data-v-b5efed9f],#titleToolbarSuffix[data-v-b5efed9f]{color:rgb(var(--v-theme-textDisabled));font-size:smaller}@media (max-width: 959.98px){#titleToolbar[data-v-b5efed9f]{padding-left:5px;padding-right:5px}[data-v-b5efed9f] .codexToolbarTitle{font-size:1rem}}a[data-v-08501668],a>.v-icon[data-v-08501668]{color:rgb(var(--v-theme-primary))!important}a[data-v-08501668]:hover,a:hover>.v-icon[data-v-08501668]{color:rgb(var(--v-theme-textPrimary))!important}a.v-btn>.v-icon[data-v-08501668]{color:rgb(var(--v-theme-textPrimary))}[data-v-08501668] .browserSearchHelp{overflow-y:auto!important}#searchHelp[data-v-08501668]{max-width:850px;padding:20px;margin:auto;color:rgb(var(--v-theme-textSecondary))}h1[data-v-08501668],h2[data-v-08501668],h3[data-v-08501668]{margin-top:.5em;color:rgb(var(--v-theme-textHeader))}h1[data-v-08501668]{padding-bottom:1em}.closeButton[data-v-08501668]{float:right}#fieldTableContainer[data-v-08501668]{float:left}#fieldTable[data-v-08501668]{width:fit-content;text-align:left;margin-bottom:1em;margin-right:2em;color:rgb(var(--v-theme-textSecondary))}#fieldTable th[data-v-08501668]{font-size:larger;font-weight:700;color:rgb(var(--v-theme-textHeader))}#fieldTable th[data-v-08501668],#fieldTable td[data-v-08501668]{padding:5px}code[data-v-08501668]{width:fit-content;background-color:rgb(var(--v-theme-surface));color:rgb(var(--v-theme-textHeader))!important}#groupCaption[data-v-e50b6bd7],.browserGroupCheckbox[data-v-e50b6bd7]{padding-right:10px;padding-left:15px}#groupCaption[data-v-e50b6bd7]{padding-top:10px;color:rgb(var(--v-theme-textDisabled))}[data-v-3a4c9e75] .v-field-label{top:12px}[data-v-3a4c9e75] .v-label.v-field-label--floating{opacity:var(--v-disabled-opacity)!important}[data-v-3a4c9e75] .v-field:hover .v-label.v-field-label--floating,[data-v-3a4c9e75] .v-field--focused .v-label.v-field-label--floating{opacity:var(--v-medium-emphasis-opacity)!important}@media (max-width: 959.98px){[data-v-3a4c9e75] .v-field{--v-field-padding-start: 4px;--v-field-padding-end: 0px}[data-v-3a4c9e75] .v-field--appended{padding-inline-end:0px}[data-v-3a4c9e75] .v-icon{margin-left:0}}.filterMenu[data-v-307c08e8]{line-height:24px!important}.nameChevron[data-v-307c08e8]{float:right}.filterTitle[data-v-307c08e8]{font-variant:small-caps;color:rbg(var(--v-theme-textDisabled));font-weight:700;font-size:1.6rem!important}.filterGroup[data-v-307c08e8]{max-height:80vh}[data-v-307c08e8] .noneItem .v-item-title{color:rbg(var(--v-theme-textDisabled))!important}.filterValuesProgress[data-v-307c08e8]{margin:10px;width:88%}[data-v-404ecbd3] .v-field-label{margin-left:8px}[data-v-404ecbd3] .v-field__input{padding-left:8px}.filterSuffix[data-v-404ecbd3]{margin-left:.25em}[data-v-404ecbd3] .v-field__clearable{margin-inline-start:0;margin-inline-end:0}.noChoices[data-v-404ecbd3]{color:rgb(var(--v-theme-textDisabled))}@media (max-width: 959.98px){[data-v-404ecbd3] .v-field-label{margin-left:0}[data-v-404ecbd3] .v-field__input{padding-left:0}[data-v-404ecbd3] .v-field__input{padding-left:4px}}.orderReverseButton[data-v-44032796]{border-radius:5px}[data-v-d243e1b6] .v-field-label--floating{padding-left:calc(env(safe-area-inset-left) / 3)}#browserToolbar[data-v-cdef4956]{padding-top:env(safe-area-inset-top);padding-left:calc(10px + env(safe-area-inset-left)/4);padding-right:calc(10px + env(safe-area-inset-right)/4)}#browserToolbarLeftItems[data-v-cdef4956]{padding-top:4px}#searchToolbarItems[data-v-cdef4956]{width:100%}.emptyToolbar[data-v-cdef4956]{position:fixed}@media (max-width: 959.98px){#browserToolbar[data-v-cdef4956]{padding-left:calc(5px + env(safe-area-inset-left)/4);padding-right:calc(5px + env(safe-area-inset-right)/4)}}.orderCaption[data-v-16da5460]{color:rgb(var(--v-theme-textDisabled));text-align:center}.cardControls[data-v-dc469596]{height:100%;width:100%;opacity:0}.eye[data-v-dc469596]{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);color:rgb(var(--v-theme-linkHover))}.cardControls:hover .eye[data-v-dc469596]{color:rgb(var(--v-theme-linkHover))}.cardControls:has(> .tagButton:hover) .eye[data-v-dc469596],.cardControls:has(> .browserCardMenuIcon:hover) .eye[data-v-dc469596]{color:rgb(var(--v-theme-textSecondary))}[data-v-dc469596] .cardControlButton{position:absolute!important;bottom:0px!important;color:rgb(var(--v-theme-textSecondary))!important}[data-v-dc469596] .tagButton{left:0px!important}[data-v-dc469596] .browserCardMenuIcon{right:0px!important}[data-v-dc469596] .cardControlButton:hover{color:rgb(var(--v-theme-linkHover))!important}.cardSubtitle[data-v-2485e87e]{width:100%;margin-top:10px;text-align:center}.headerName[data-v-2485e87e]{padding-top:5px;color:rgb(var(--v-theme-textDisabled))}.headerName[data-v-2485e87e],.displayName[data-v-2485e87e]{overflow-wrap:break-word}.displayName[data-v-2485e87e]{min-height:1em}.browserCardCoverWrapper[data-v-f9f9dd56]{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between}.cardCoverOverlay[data-v-f9f9dd56]{position:absolute;top:0px;left:0px;height:254px;width:165px;border-radius:5px;border:solid thin transparent}.browserCardCoverWrapper:hover>.browserCardTop>.cardCoverOverlay[data-v-f9f9dd56]{background-color:#0000008c;border:solid thin;border-color:rbg(var(--v-theme-primary))}.browserCardCoverWrapper:hover>.browserCardTop>.cardCoverOverlay *[data-v-f9f9dd56]{opacity:1}.bookCoverProgress[data-v-f9f9dd56]{margin-top:1px}@media (max-width: 959.98px){.cardCoverOverlay[data-v-f9f9dd56]{height:154px;width:100px}}#browsePane[data-v-b023c894]{margin-top:160px;margin-left:max(32px,env(safe-area-inset-left));margin-right:max(32px,env(safe-area-inset-right));margin-bottom:max(32px,env(safe-area-inset-bottom));overflow:auto}#browsePaneContainer[data-v-b023c894]{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,165px);grid-gap:32px;align-content:flex-start}#announce[data-v-b023c894]{text-align:center}#noComicsFound[data-v-b023c894]{font-size:x-large;padding:1em;color:rbg(var(--v-theme-textDisabled))}.padFooter[data-v-b023c894]{padding-bottom:45px!important}.placeholder[data-v-b023c894]{position:fixed;height:50vh!important;width:50vw!important;top:calc(50% + 75px);left:50%;transform:translate(-50%,-50%)}@media (max-width: 959.98px){#browsePane[data-v-b023c894]{margin-left:max(16px,env(safe-area-inset-left));margin-right:max(16px,env(safe-area-inset-right));margin-bottom:max(16px,env(safe-area-inset-bottom))}#browsePaneContainer[data-v-b023c894]{grid-template-columns:repeat(auto-fit,100px);grid-gap:16px;justify-content:space-evenly}#noComicsFound[data-v-b023c894]{font-size:large}}#browser[data-v-2b4da8f0]{display:flex;flex-direction:column;min-height:100vh}.codexToolbar[data-v-2b4da8f0]{z-index:100}
@@ -1 +0,0 @@
1
- import{an as Z,a as v,M as p,c as y,o as l,e as _,w as u,g as a,k as n,t as f,ao as H,E as S,b as C,f as w,B as T,ap as ve,aq as Se,ar as U,C as x,as as J,d as b,j as o,at as Be,au as ee,q as O,v as D,_ as te,y as oe,av as Ce,n as R,aw as ke,ax as Te,p as M,r as P,F,ay as $e,az as xe,aA as z,V as N,aB as Me,aC as Ve,aD as V,aE as Fe,aF as Ie,aG as Pe,aH as G,aI as Re,aJ as Ne,aK as Oe,aL as De,aM as Le,aN as He,l as A,aO as Ue,aP as Ge,D as B,aQ as Ae,aR as je,aS as se,aT as Y,aU as qe,aV as Ee,aW as ze,aX as Ye,K as j,aY as L,aZ as We,a_ as Qe,a$ as W,b0 as ne,b1 as Ke,b2 as Xe,b3 as Ze,b4 as Q,b5 as K,b6 as Je,b7 as et,N as tt,b8 as ot,b9 as st,ba as nt,bb as rt,bc as at,bd as it,T as lt,be as re,bf as ut,bg as dt,bh as ct,bi as mt,bj as ae,bk as ie,bl as _t}from"./admin-73d93dc7.js";import{_ as le,a as ue,b as de,t as pt,c as ht,d as ce,g as ft,P as me}from"./metadata-dialog-8b0e8aaa.js";const gt={name:"BrowserNavButton",components:{PaginationNavButton:le},props:{back:{type:Boolean,required:!0}},data(){return{mdiChevronLeft:Z}},computed:{...v(p,{numPages:e=>e.page.numPages}),increment(){return this.back?-1:1},toPage(){return+this.$route.params.page+this.increment},title(){return"to page"+this.toPage},toRoute(){return{params:{...this.$route.params,page:this.toPage}}},disabled(){return this.back&&+this.$route.params.page<=1||!this.back&&+this.$route.params.page>=this.numPages}}};function bt(e,t,r,h,i,s){const d=le;return l(),_(d,{disabled:s.disabled,title:s.title,to:s.toRoute},{default:u(()=>[a(S,{class:H({flipHoriz:!r.back})},{default:u(()=>[n(f(i.mdiChevronLeft),1)]),_:1},8,["class"])]),_:1},8,["disabled","title","to"])}const _e=y(gt,[["render",bt],["__scopeId","data-v-7b8e4ba4"]]),yt={name:"BrowserNavToolbar",components:{BrowserNavButton:_e,PaginationSlider:ue,PaginationToolbar:de},computed:{...v(p,{numPages:e=>e.page.numPages})},methods:{...C(p,["routeToPage"]),onUpdate(e){this.routeToPage(e)}}};function wt(e,t,r,h,i,s){const d=_e,c=ue,g=de;return e.numPages>1?(l(),_(g,{key:0},{default:u(()=>[a(d,{back:!0}),a(c,{"model-value":+e.$route.params.page,min:1,max:e.numPages,step:1,"onUpdate:modelValue":t[0]||(t[0]=$=>e.routeToPage($))},null,8,["model-value","max"]),a(d,{back:!1})]),_:1})):w("",!0)}const pe=y(yt,[["render",wt]]),vt={group:"r",pk:0},St={name:"BrowserUpButton",props:{top:{type:Boolean,default:!1}},computed:{...T(p,["parentModelGroup"]),...v(p,{upRoute:e=>e.page.routes.up,title(e){const t=this.top?e.settings.topGroup:this.parentModelGroup;return`Up to ${e.choices.static.groupNames[t]||"All"}`}}),show(){return this.upRoute&&"group"in this.upRoute},icon(){return this.top?ve:Se},to(){return this.top?{params:vt}:{params:this.upRoute}}}};function Bt(e,t,r,h,i,s){return s.show?(l(),_(U,{key:0,icon:"",size:"x-large",title:e.title,to:s.to},{default:u(()=>[a(S,null,{default:u(()=>[n(f(s.icon),1)]),_:1})]),_:1},8,["title","to"])):w("",!0)}const he=y(St,[["render",Bt]]);const Ct={name:"BrowserHeader",components:{BrowserUpButton:he},head(){return{meta:[{hid:"description",name:"description",content:["browse comics",this.longBrowserTitlePrefix,this.longBrowseTitleMain,this.longBrowseTitleSuffix].filter(Boolean).join(" ")}]}},computed:{...v(p,{groupNames:e=>e.choices.static.groupNames,browserTitle:e=>e.page.browserTitle,modelGroup:e=>e.page.modelGroup}),...T(x,["isCodexViewable","isUserAdmin"]),longBrowserTitlePrefix:function(){return this.$route.params.group==="f"?this.browserTitle.parentName:""},longBrowseTitleMain:function(){let e;if(Number(this.$route.params.pk)===0)e="All";else{let t=[];const{parentName:r,groupName:h,groupCount:i}=this.browserTitle;r&&t.push(r);const s=this.$route.params.group,d=s==="v"?J(h):h;if(d&&t.push(d),i){const g=`of ${i}`;t.push(g)}const c=s==="f"?"/":" ";e=t.join(c)}return e},longBrowseTitleSuffix:function(){return this.$route.params.group==="f"?"":this.groupNames[this.modelGroup]}}},fe=e=>(O("data-v-b5efed9f"),e=e(),D(),e),kt={key:0,id:"titleToolbarPrefix"},Tt=fe(()=>o("br",null,null,-1)),$t={id:"titleToolbarMain"},xt={key:1,id:"titleToolbarSuffix"},Mt=fe(()=>o("br",null,null,-1));function Vt(e,t,r,h,i,s){const d=he;return e.isCodexViewable?(l(),_(ee,{key:0,id:"titleToolbar",elevation:"8"},{default:u(()=>[a(d),a(Be,{class:"codexToolbarTitle"},{default:u(()=>[s.longBrowserTitlePrefix?(l(),b("span",kt,[n(f(s.longBrowserTitlePrefix)+" ",1),Tt])):w("",!0),o("span",$t,f(s.longBrowseTitleMain),1),s.longBrowseTitleSuffix?(l(),b("span",xt,[Mt,n(" "+f(s.longBrowseTitleSuffix),1)])):w("",!0)]),_:1}),a(d,{top:""})]),_:1})):w("",!0)}const ge=y(Ct,[["render",Vt],["__scopeId","data-v-b5efed9f"]]);const Ft=[["characters","CSV","category"],["community_rating","Decimal","communityrating"],["country","String",""],["created_at","DateTime","created"],["creators","CSV","authors, contributors"],["critical_rating","Decimal","criticalrating"],["day","Integer",""],["date","Date",""],["decade","Integer",""],["description","String",""],["file_type","String","format"],["genres","CSV","genre"],["imprint","String",""],["issue","Decimal",""],["language","String",""],["location[s]","CSV","location"],["maturity_rating","String",""],["month","Integer",""],["read_ltr","Boolean","ltr"],["name","String","title"],["notes","String",""],["original_format","String","format"],["page_count","Integer","pages"],["publisher","String",""],["scan_info","String","scan"],["series","String",""],["series_group[s]","CSV","seriesgroups"],["size","Integer",""],["story_arcs","CSV","storyarcs"],["summary","String",""],["tags","CSV","tag"],["teams","CSV","team"],["updated_at","Date","updated"],["volume","String",""],["web","String",""],["year","Integer",""]],It={name:"SearchHelp",components:{CloseButton:te},data(){return{mdiOpenInNew:oe,mdiArchiveSearchOutline:Ce,dialog:!1,FIELD_ROWS:Ft}}},m=e=>(O("data-v-08501668"),e=e(),D(),e),Pt={id:"searchHelp"},Rt=m(()=>o("h1",null,"Search Syntax Help",-1)),Nt={id:"fieldTableContainer"},Ot=m(()=>o("h2",null,"Search Fields",-1)),Dt=m(()=>o("thead",null,[o("tr",null,[o("th",null,"Field"),o("th",null,"Type"),o("th",null,"Aliases")])],-1)),Lt={id:"textContainer"},Ht=m(()=>o("h2",null,"Whoosh Query Parser",-1)),Ut={href:"https://whoosh.readthedocs.io/en/latest/querylang.html",target:"_blank"},Gt=m(()=>o("h2",null,"Operators",-1)),At=m(()=>o("code",null,"and",-1)),jt=m(()=>o("code",null,"or",-1)),qt=m(()=>o("code",null,"not",-1)),Et=m(()=>o("code",null,"andnot",-1)),zt=m(()=>o("code",null,"andmaybe",-1)),Yt=m(()=>o("code",null,"require",-1)),Wt=m(()=>o("h2",null,"Searching Fields",-1)),Qt=m(()=>o("p",null,[n(" Like Codex's filter selector menu, but more powerful. You may search on individual comic metadata fields. using a search token like "),o("code",null,"field:value"),n(". ")],-1)),Kt=m(()=>o("h3",null,"Dates and DateTimes",-1)),Xt={href:"https://whoosh.readthedocs.io/en/latest/dates.html#parsing-date-queries",target:"_blank"},Zt=m(()=>o("code",null,"YYYYMMDD",-1)),Jt=m(()=>o("code",null,"YYYMMDDHHmmSS",-1)),eo=m(()=>o("h3",null,"Single Quote complex field Queries",-1)),to=m(()=>o("p",null,[n(" Use "),o("em",null,"single"),n(" quotes to tell Codex that a complex or natural language phrase should be applied to a specific field ")],-1)),oo=m(()=>o("code",null," created:'this year' ",-1)),so=m(()=>o("h3",null,"Size Byte Multipliers",-1)),no=m(()=>o("p",null,[n(" The size field can make use of convenient byte multiplier suffixes like "),o("code",null,"kb"),n(" and "),o("code",null,"mb"),n(" as well as binary suffixes like "),o("code",null,"gib"),n(" and "),o("code",null,"tib"),n(". ")],-1)),ro=m(()=>o("h3",null,"Ranges of Fields",-1)),ao=m(()=>o("p",null,[n(" Whoosh uses brackets and the "),o("em",null,"uppercase"),n(" "),o("code",null,"TO"),n(" operator to delineate a range search. ")],-1)),io=m(()=>o("code",null,"updated:[last sunday TO 10am]",-1)),lo=m(()=>o("p",null," You may leave out the upper or lower bound or use >, <, >=, <= operators. ",-1)),uo=m(()=>o("code",null,"size:<50mb",-1)),co=m(()=>o("h3",null,"Multi Value Fields",-1)),mo=m(()=>o("p",null,[n(" Fields marked type "),o("code",null,"CSV"),n(" in the table to the left may contain comma separated values. This filters by all the supplied values. Multi Value tokens look like: "),o("code",null,"field:term1,term2,term3")],-1)),_o=m(()=>o("h2",null,"Grouped Queries",-1)),po=m(()=>o("p",null,"Whoosh allows grouping of queries with parenthesis.",-1)),ho=m(()=>o("h2",null,"Example Search",-1)),fo=m(()=>o("p",null," This example search is more convoluted than most searches but uses many features for demonstration: ",-1)),go=m(()=>o("code",null,' (Holmes and Tesla date:>=1999-1-2 size:[10mib TO 1gb] Gadzooks) or "Captain Nemo" -Quartermain ',-1)),bo=m(()=>o("p",{style:{"margin-top":"1em"}},' Search for comics that contain Holmes and Tesla published after the second day of 1999 that are between 10 Mebibytes and 10 Gigabytes that also contain the word "Gadzooks" but also all comics with the the phrase "Captain Nemo" but no comics will contain the word "Quartermain". ',-1)),yo=m(()=>o("h2",null,"Group and Sorting Behavior",-1)),wo=m(()=>o("p",null," If the search field is empty and then you supply a search query for the first time, Codex navigates you to the to All Issues view and your sets your Sorted By selection to Search Score. If you prefer a different view you may change the group and sort selections after your you make your first search. ",-1)),vo=m(()=>o("h2",null,"Filter Behavior",-1)),So=m(()=>o("p",null,[n(" Codex applies "),o("em",null,"both"),n(" the Filter selection menu filters "),o("em",null,"and"),n(" the search query field filters to the search. Be sure to clear the filter selector or the search field if you prefer to apply only one of them. ")],-1));function Bo(e,t,r,h,i,s){const d=te;return l(),_(xe,{modelValue:i.dialog,"onUpdate:modelValue":t[2]||(t[2]=c=>i.dialog=c),"content-class":"browserSearchHelp",fullscreen:"",scrim:!1,transition:"dialog-bottom-transition"},{activator:u(({props:c})=>[a(M,ke(Te(c)),{default:u(()=>[a(R,null,{default:u(()=>[a(S,null,{default:u(()=>[n(f(i.mdiArchiveSearchOutline),1)]),_:1}),n("Search Syntax Help ")]),_:1})]),_:2},1040)]),default:u(()=>[o("div",Pt,[a(d,{class:"closeButton",title:"Close Help (esc)",size:"x-large",onClick:t[0]||(t[0]=c=>i.dialog=!1)}),Rt,o("div",Nt,[Ot,a($e,{id:"fieldTable",class:"highlight-table"},{default:u(()=>[Dt,o("tbody",null,[(l(!0),b(F,null,P(i.FIELD_ROWS,c=>(l(),b("tr",{key:c[0]},[o("td",null,f(c[0]),1),o("td",null,f(c[1]),1),o("td",null,f(c[2]),1)]))),128))])]),_:1})]),o("div",Lt,[Ht,o("p",null,[n(" Codex uses the Whoosh search engine to execute your text search queries. Whoosh operates much like other familiar search engines. As such, only some special features are documented on this page. To understand its full power, users are encouraged to read the "),o("a",Ut,[n("Whoosh Query Language "),a(S,{size:"small"},{default:u(()=>[n(f(i.mdiOpenInNew),1)]),_:1})]),n(" documentation. ")]),Gt,n(" Whoosh has the "),At,n(", "),jt,n(", "),qt,n(", "),Et,n(", "),zt,n(", and "),Yt,n(" operators. "),Wt,Qt,Kt,o("p",null,[n(" Whoosh parses Dates and DateTime values liberally. Read "),o("a",Xt,[n("Whoosh Parsing Date Queries "),a(S,{size:"small"},{default:u(()=>[n(f(i.mdiOpenInNew),1)]),_:1})]),n(" documentation for what formats and natural language phrases are accepted. If the format you try fails, the "),Zt,n(" and "),Jt,n(" formats are reliable. ")]),eo,to,oo,so,no,ro,ao,io,n(". "),lo,uo,n(". "),co,mo,_o,po,ho,fo,go,bo,yo,wo,vo,So]),a(d,{class:"closeButton",title:"Close Help (esc)",size:"x-large",onClick:t[1]||(t[1]=c=>i.dialog=!1)})])]),_:1},8,["modelValue"])}const be=y(It,[["render",Bo],["__scopeId","data-v-08501668"]]);const Co={name:"BrowserSettingsPanel",components:{SearchHelp:be},computed:{...T(x,["isCodexViewable"]),...v(p,{groupChoices:e=>e.choices.static.settingsGroup,twentyFourHourTimeTitle:e=>e.choices.static.twentyFourHourTime.title,showSettings:e=>e.settings.show,twentyFourHourTime:e=>e.settings.twentyFourHourTime})},methods:{...C(p,["setSettings"]),setShow(e,t){const r={show:{[e]:t===!0}};this.setSettings(r)},set24HourTime(e){const t={twentyFourHourTime:e===!0};this.setSettings(t)}}},ko=e=>(O("data-v-e50b6bd7"),e=e(),D(),e),To=ko(()=>o("div",{id:"groupCaption",class:"text-caption"}," Show these groups when navigating the browse tree. ",-1));function $o(e,t,r,h,i,s){const d=be;return l(),b(F,null,[To,(l(!0),b(F,null,P(e.groupChoices,c=>(l(),_(z,{key:c.title,class:"browserGroupCheckbox",density:"compact","hide-details":"auto","model-value":e.showSettings[c.value],"true-value":!0,label:`Show ${c.title}`,"onUpdate:modelValue":g=>s.setShow(c.value,g)},null,8,["model-value","label","onUpdate:modelValue"]))),128)),a(N),a(z,{class:"browserGroupCheckbox",density:"compact","hide-details":"auto","model-value":e.twentyFourHourTime,"true-value":!0,label:"24 Hour Time","onUpdate:modelValue":t[0]||(t[0]=c=>s.set24HourTime(c))},null,8,["model-value"]),a(N),a(d)],64)}const xo=y(Co,[["render",$o],["__scopeId","data-v-e50b6bd7"]]);const Mo={name:"ToolbarSelect",props:{selectLabel:{type:String,default:""},maxSelectLen:{type:Number,default:0},mobileLenAdj:{type:Number,default:0},variant:{type:String,default:"plain"}},computed:{style(){const e=this.$vuetify.display.smAndDown?this.mobileLenAdj:0,r=this.maxSelectLen+e+"em";return`width: ${r}; min-width: ${r}; max-width: ${r}`}}};function Vo(e,t,r,h,i,s){return l(),_(Fe,V(e.$attrs,{label:r.selectLabel,"aria-label":r.selectLabel,class:"toolbarSelect",density:"compact","full-width":"","menu-props":{maxHeight:void 0},"hide-details":"auto",style:s.style,variant:r.variant}),Me({_:2},[P(e.$slots,(d,c)=>({name:c,fn:u(g=>[Ve(e.$slots,c,V({props:d},g),void 0,!0)])}))]),1040,["label","aria-label","style","variant"])}const k=y(Mo,[["render",Vo],["__scopeId","data-v-3a4c9e75"]]);const Fo=new Set(["",-1]),Io={name:"BrowserFilterSubMenu",props:{name:{type:String,required:!0}},emits:["selected"],data(){return{mdiChevronLeft:Z,mdiChevronRight:Ie,mdiChevronRightCircle:Pe,query:""}},computed:{...v(p,{choices:function(e){return e.choices.dynamic[this.name]},filter:function(e){return e.settings.filters[this.name]}}),...G(p,["filterMode"]),vuetifyItems(){return pt(this.choices,this.query,Ne.includes(this.name),Re.includes(this.name))},title:function(){let e=this.name.replaceAll(/[A-Z]/g,t=>` ${t}`);return e=e.replace("Ltr","LTR"),e=e[0].toUpperCase()+e.slice(1),e},lowerTitle:function(){return this.title.toLowerCase()}},methods:{...C(p,["loadFilterChoices"]),setUIFilterMode(e){this.filterMode=e,this.query="",e!=="base"&&typeof this.choices!="object"&&this.loadFilterChoices(e)},isNullPk:e=>Fo.has(e),selected(e){const t={filters:{[this.name]:e}};this.$emit("selected",t)},itemTitle(e){return this.isNullPk(e.value)?"None":e.title}}},Po={key:0},Ro={class:"filterHeader"};function No(e,t,r,h,i,s){return l(),b("div",null,[a(Oe,{"hide-on-leave":""},{default:u(()=>[e.filterMode==="base"?(l(),_(M,{key:0,onClick:t[0]||(t[0]=d=>s.setUIFilterMode(r.name))},{default:u(()=>[a(R,{class:"filterMenu"},{default:u(()=>[n(f(s.title)+" ",1),e.filter&&e.filter.length>0?(l(),_(S,{key:0,class:"nameChevron"},{default:u(()=>[n(f(i.mdiChevronRightCircle),1)]),_:1})):(l(),_(S,{key:1,class:"nameChevron"},{default:u(()=>[n(f(i.mdiChevronRight),1)]),_:1}))]),_:1})]),_:1})):w("",!0)]),_:1}),a(He,{"hide-on-leave":""},{default:u(()=>[e.filterMode===r.name?(l(),b("div",Po,[o("header",Ro,[a(M,{onClick:t[1]||(t[1]=d=>s.setUIFilterMode("base"))},{default:u(()=>[a(R,{class:"filterTitle"},{default:u(()=>[a(S,null,{default:u(()=>[n(f(i.mdiChevronLeft),1)]),_:1}),n(f(s.lowerTitle),1)]),_:1})]),_:1}),typeof e.choices=="object"?(l(),_(De,{key:0,modelValue:i.query,"onUpdate:modelValue":t[2]||(t[2]=d=>i.query=d),placeholder:"Filter","full-width":"",density:"compact",filled:"",rounded:"","hide-details":"auto",onFocus:t[3]||(t[3]=d=>e.filterMode=r.name)},null,8,["modelValue"])):(l(),_(A,{key:1,class:"filterValuesProgress",rounded:"",indeterminate:""}))]),typeof e.choices=="object"?(l(),_(Le,{key:0,"model-value":e.filter,class:"filterGroup overflow-y-auto",density:"compact",multiple:"",items:s.vuetifyItems,"onUpdate:selected":s.selected},null,8,["model-value","items","onUpdate:selected"])):w("",!0)])):w("",!0)]),_:1})])}const Oo=y(Io,[["render",No],["__scopeId","data-v-307c08e8"]]);const Do={name:"BrowserFilterBySelect",components:{BrowserFilterSubMenu:Oo,ToolbarSelect:k},extends:k,data(){return{mdiFilterMultipleOutline:Ue,menu:!1}},computed:{...T(p,["filterByChoicesMaxLen","isDefaultBookmarkValueSelected"]),...v(p,{bookmarkChoices:e=>e.choices.static.bookmark,bookmarkFilter:e=>e.settings.filters.bookmark||e.choices.static.bookmark[0],filters:e=>e.settings.filters,isDynamicFiltersSelected:function(e){for(const[t,r]of Object.entries(e.settings.filters))if(t!=="bookmark"&&r&&r.length>0)return!0;return!1},isFiltersClearable:function(){return!this.isDefaultBookmarkValueSelected||this.isDynamicFiltersSelected},filterMenuClass:function(e){let t="filterMenu";return e.filterMode!=="base"&&(t+="Hidden"),t},dynamicChoiceNames:function(e){if(e.choices.dynamic===void 0)return;const t=[];for(const[r,h]of Object.entries(e.choices.dynamic))h&&t.push(r);return t}}),...G(p,["filterMode"]),filterInnerIcon:function(){return this.isFiltersClearable?Ge:""}},methods:{...C(p,["clearFilters","loadAvailableFilterChoices","setSettings"]),onUpdateModelValue(e){const t={filters:{bookmark:e}};this.onSubMenuSelected(t)},onSubMenuSelected(e){this.menu=!1,this.setSettings(e),this.filterMode="base"},onClear(){this.clearFilters()},onMenu(e){e&&this.dynamicChoiceNames===void 0&&this.loadAvailableFilterChoices()}}},Lo={key:1};function Ho(e,t,r,h,i,s){const d=B("BrowserFilterSubMenu"),c=k;return l(),_(c,{menu:i.menu,"onUpdate:menu":[t[0]||(t[0]=g=>i.menu=g),s.onMenu],class:"filterBySelect","select-label":"filter by",clearable:e.isFiltersClearable,items:e.bookmarkChoices,"menu-props":{contentClass:e.filterMenuClass,maxHeight:void 0},"model-value":e.bookmarkFilter,"max-select-len":e.filterByChoicesMaxLen+1.5,"mobile-len-adj":-1.5,variant:"solo","onClick:clear":s.onClear,"onUpdate:modelValue":s.onUpdateModelValue},{selection:u(({item:g})=>[n(f(g.title)+" ",1),e.isDynamicFiltersSelected?(l(),_(S,{key:0,class:"filterSuffix"},{default:u(()=>[n(f(i.mdiFilterMultipleOutline),1)]),_:1})):w("",!0)]),"append-item":u(()=>[a(N),e.dynamicChoiceNames===void 0?(l(),_(M,{key:0},{default:u(()=>[a(A,{indeterminate:"",rounded:""})]),_:1})):e.dynamicChoiceNames.length>0?(l(),b("div",Lo,[(l(!0),b(F,null,P(e.dynamicChoiceNames,g=>(l(),_(d,{key:g,name:g,onSelected:s.onSubMenuSelected},null,8,["name","onSelected"]))),128))])):(l(),_(M,{key:2,class:"noChoices"},{default:u(()=>[n(" No filters available ")]),_:1}))]),_:1},8,["menu","clearable","items","menu-props","model-value","max-select-len","mobile-len-adj","onClick:clear","onUpdate:modelValue","onUpdate:menu"])}const Uo=y(Do,[["render",Ho],["__scopeId","data-v-404ecbd3"]]),Go={name:"BrowseOrderBySelect",components:{ToolbarSelect:k},extends:k,computed:{...T(p,["orderByChoices","orderByChoicesMaxLen"]),...v(p,{orderBySetting:e=>e.settings.orderBy}),orderBy:{get(){return this.orderBySetting},set(e){const t={orderBy:e};this.setSettings(t)}}},methods:{...C(p,["setSettings"])}};function Ao(e,t,r,h,i,s){const d=k;return l(),_(d,V({modelValue:s.orderBy,"onUpdate:modelValue":t[0]||(t[0]=c=>s.orderBy=c),class:"orderBySelect","select-label":"order by",items:e.orderByChoices,"max-select-len":e.orderByChoicesMaxLen-3.5,"mobile-len-adj":-2},e.$attrs),null,16,["modelValue","items","max-select-len"])}const jo=y(Go,[["render",Ao]]);const qo={name:"BrowseOrderReverseButton",computed:{...v(p,{orderReverseSetting:e=>e.settings.orderReverse,orderIcon:e=>e.settings.orderReverse?Ae:je}),density(){return this.$vuetify.display.smAndDown?"compact":"default"},title(){return this.orderReverseSetting?"order descending":"order ascending"}},methods:{...C(p,["setSettings"]),toggleOrderReverse(){const e={orderReverse:!this.orderReverseSetting};this.setSettings(e)}}};function Eo(e,t,r,h,i,s){return l(),_(U,V({class:"orderReverseButton",density:s.density,height:"46",icon:"",variant:"text"},e.$attrs,{title:s.title,onClick:s.toggleOrderReverse}),{default:u(()=>[a(S,null,{default:u(()=>[n(f(e.orderIcon),1)]),_:1})]),_:1},16,["density","title","onClick"])}const zo=y(qo,[["render",Eo],["__scopeId","data-v-44032796"]]),Yo=10,Wo={name:"BrowserSearchCombobox",data(){return{mdiMagnify:se,menu:!1,query:"",items:[""]}},computed:{...v(p,{stateQ:e=>e.settings.q})},watch:{stateQ(e){this.query=e,this.addToMenu(e)}},methods:{...C(p,["setSettings"]),addToMenu(e){if(!e||this.items.includes(e))return;const t=this.items[0]===""?[]:this.items;t.unshift(e),this.items=t.slice(0,Yo)},doSearch(){this.menu=!1;const e=this.query?this.query.trim():"";this.setSettings({q:e}),this.addToMenu(e)}}};function Qo(e,t,r,h,i,s){return l(),_(qe,{ref:"searchbox",modelValue:i.query,"onUpdate:modelValue":t[0]||(t[0]=d=>i.query=d),menu:i.menu,"onUpdate:menu":t[1]||(t[1]=d=>i.menu=d),items:i.items,autofocus:"","aria-label":"search",clearable:"",density:"compact","full-width":"","hide-details":"auto","hide-selected":"","menu-props":{maxHeight:void 0},"no-filter":"","prepend-inner-icon":i.mdiMagnify,variant:"solo","onClick:clear":s.doSearch,"onClick:prependInner":s.doSearch,onKeydown:[Y(s.doSearch,["enter"]),t[2]||(t[2]=Y(d=>i.menu=!1,["esc"]))]},null,8,["modelValue","menu","items","prepend-inner-icon","onClick:clear","onClick:prependInner","onKeydown"])}const Ko=y(Wo,[["render",Qo]]);const Xo={params:{group:"f",pk:0,page:1}},Zo={name:"BrowserTopGroupSelect",components:{ToolbarSelect:k},extends:k,data(){return{FOLDER_ROUTE:Xo}},computed:{...v(p,{topGroupSetting:e=>e.settings.topGroup}),...T(p,["topGroupChoices","topGroupChoicesMaxLen"]),topGroup:{get(){return this.topGroupSetting},set(e){const t={topGroup:e};if(this.topGroupSetting==="f"&&e!=="f"||this.topGroupSetting!=="f"&&e==="f"){const h={params:{group:e==="f"?"f":"r",pk:0,page:1}};this.$router.push(h).then(()=>this.setSettings(t)).catch(console.error)}else this.setSettings(t)}}},methods:{...C(p,["setSettings"])}};function Jo(e,t,r,h,i,s){const d=k;return l(),_(d,V(e.$attrs,{modelValue:s.topGroup,"onUpdate:modelValue":t[0]||(t[0]=c=>s.topGroup=c),class:"topGroupSelect","select-label":"top group",items:e.topGroupChoices,"max-select-len":e.topGroupChoicesMaxLen-1,"mobile-len-adj":-2.5}),{item:u(({item:c,props:g})=>[c.value==="f"?(l(),_(N,{key:0})):w("",!0),a(M,V(g,{title:c.title,value:c.value}),null,16,["title","value"])]),_:1},16,["modelValue","items","max-select-len","mobile-len-adj"])}const es=y(Zo,[["render",Jo],["__scopeId","data-v-d243e1b6"]]);const ts=Ee("flex-grow-1","div","VSpacer"),os={name:"BrowserHeader",components:{BrowserFilterBySelect:Uo,BrowserTopGroupSelect:es,BrowserSearchCombobox:Ko,BrowserOrderBySelect:jo,BrowserOrderReverseButton:zo,SettingsDrawerButton:ze},data(){return{mdiMagnify:se,mdiFamilyTree:Ye,browseMode:"filter"}},computed:{...T(x,["isCodexViewable"]),...G(j,["isSettingsDrawerOpen"])}};function ss(e,t,r,h,i,s){const d=B("BrowserTopGroupSelect"),c=B("BrowserOrderBySelect"),g=B("BrowserOrderReverseButton"),$=B("SettingsDrawerButton"),I=B("BrowserFilterBySelect"),E=B("BrowserSearchCombobox");return l(),_(ee,{id:"browserToolbar",class:H(["toolbar",{emptyToolbar:!e.isCodexViewable}]),density:"compact","extension-height":"48px"},{extension:u(()=>[e.isCodexViewable?(l(),_(L,{key:0,id:"searchToolbarItems"},{default:u(()=>[a(I,{id:"filterSelect"}),a(E,{id:"searchField"})]),_:1})):w("",!0)]),default:u(()=>[e.isCodexViewable?(l(),_(L,{key:0,id:"browserToolbarLeftItems"},{default:u(()=>[a(d,{id:"topGroupSelect"}),a(c,{id:"orderBySelect"}),a(g,{id:"orderReverseButton"})]),_:1})):w("",!0),a(ts),a(L,null,{default:u(()=>[a($,{onClick:t[0]||(t[0]=en=>e.isSettingsDrawerOpen=!0)})]),_:1})]),_:1},8,["class"])}const ns=y(os,[["render",ss],["__scopeId","data-v-cdef4956"]]);const rs=new Set(["community_rating","critical_rating"]),as=new Set(["date"]),is=new Set(["created_at","updated_at"]),ls={name:"OrderByCaption",props:{item:{type:Object,required:!0}},computed:{...v(p,{orderBy:e=>e.settings.orderBy,twentyFourHourTime:e=>e.settings.twentyFourHourTime}),orderValue(){let e=this.item.orderValue;if(this.orderBy===void 0||this.orderBy===null||this.orderBy==="sort_name"||this.orderBy==="path"&&this.item.group==="f"||e===null||e===void 0)e="";else if(as.has(this.orderBy)){const t=new Date(e);e=We.format(t)}else this.orderBy=="search_score"?e=Math.round(Number.parseFloat(e)*10):is.has(this.orderBy)?e=Qe(e,this.twentyFourHourTime,!0):this.orderBy=="page_count"?e=`${W.numberFormat(Number.parseInt(e,10),0)} pages`:this.orderBy=="size"?e=W.filesize(Number.parseInt(e,10),1024,1):rs.has(this.orderBy)&&(e=`★ ${e}`);return e}}},us=["innerHTML"];function ds(e,t,r,h,i,s){return s.orderValue?(l(),b("div",{key:0,class:"orderCaption text-caption",innerHTML:s.orderValue},null,8,us)):w("",!0)}const ye=y(ls,[["render",ds],["__scopeId","data-v-16da5460"]]),cs={name:"BrowserContainerMenu",components:{ConfirmDialog:ne},props:{item:{type:Object,required:!0}},data(){return{mdiDotsVertical:Ke,showMenu:!1}},computed:{...v(p,{groupNames:e=>e.choices.static.groupNames}),verb(){return this.item.finished?"Unread":"Read"},confirmText(){return`Mark ${this.verb}`},markReadText(){const e=["Mark"];this.item.group!="c"&&e.push("Entire");let t=this.groupNames[this.item.group];return this.item.group!=="s"&&(t=t.slice(0,-1)),e.push(t,this.verb),e.join(" ")}},methods:{...C(p,["setBookmarkFinished"]),...C(j,["downloadIOSPWAFix"]),toggleRead:function(){this.setBookmarkFinished(this.item,!this.item.finished),this.showMenu=!1}}},ms={class:"background-soft-highlight"};function _s(e,t,r,h,i,s){const d=ne;return l(),_(Ze,{modelValue:i.showMenu,"onUpdate:modelValue":t[2]||(t[2]=c=>i.showMenu=c),"offset-y":"",top:""},{activator:u(({props:c})=>[a(U,V({"aria-label":"action menu",class:"browserCardMenuIcon cardControlButton",icon:"",title:"Action Menu",variant:"text"},c,{onClick:t[0]||(t[0]=Xe(()=>{},["prevent"]))}),{default:u(()=>[a(S,null,{default:u(()=>[n(f(i.mdiDotsVertical),1)]),_:1})]),_:2},1040)]),default:u(()=>[o("div",ms,[r.item.group==="c"?(l(),_(M,{key:0,onClick:s.toggleRead},{default:u(()=>[a(R,null,{default:u(()=>[n(f(s.markReadText),1)]),_:1})]),_:1},8,["onClick"])):(l(),_(d,{key:1,"button-text":s.markReadText,"title-text":s.markReadText,"confirm-text":s.confirmText,"object-name":r.item.name,onConfirm:s.toggleRead,onCancel:t[1]||(t[1]=c=>i.showMenu=!1)},null,8,["button-text","title-text","confirm-text","object-name","onConfirm"]))])]),_:1},8,["modelValue"])}const we=y(cs,[["render",_s]]);const ps={name:"BrowserCardControls",components:{BrowserCardMenu:we,MetadataButton:ht},props:{item:{type:Object,required:!0},eyeOpen:{type:Boolean,required:!0}},data(){return{mdiEye:Q,mdiEyeOff:K}},computed:{eyeIcon:function(){return this.eyeOpen?Q:K}}},hs={class:"cardControls"};function fs(e,t,r,h,i,s){const d=B("MetadataButton"),c=we;return l(),b("div",hs,[r.item.group==="c"?(l(),_(S,{key:0,class:"eye"},{default:u(()=>[n(f(s.eyeIcon),1)]),_:1})):w("",!0),a(d,{group:r.item.group,pk:r.item.pk,children:r.item.childCount},null,8,["group","pk","children"]),a(c,{item:r.item},null,8,["item"])])}const gs=y(ps,[["render",fs],["__scopeId","data-v-dc469596"]]);const bs={name:"BrowserCardSubtitle",props:{item:{type:Object,required:!0}},orderByCache:"sort_name",computed:{...v(p,{orderBy:e=>e.settings.orderBy,zeroPad:e=>e.page.zeroPad}),headerName:function(){let e;switch(this.item.group){case"i":e=this.item.publisherName;break;case"v":e=this.item.seriesName;break;case"c":e=this.$route.params.group==="f"?Je(this.item,this.zeroPad):et(this.item,this.zeroPad);break;default:e=""}return e},displayName:function(){return this.item.group==="v"?J(this.item.name):this.item.name},linkLabel:function(){let e="";return e+=this.item.group==="c"?"Read":"Browse to",e+=" "+this.headerName,e}}},ys={class:"browserLink cardSubtitle text-caption"},ws={key:0,class:"headerName"},vs={class:"displayName"};function Ss(e,t,r,h,i,s){return l(),b("div",ys,[s.headerName?(l(),b("div",ws,f(s.headerName),1)):w("",!0),o("div",vs,f(s.displayName),1)])}const Bs=y(bs,[["render",Ss],["__scopeId","data-v-2485e87e"]]),Cs=new Set(["iPad","iPad Simulator","iPhone","iPhone Simulator","iPod","iPod Simulator"]),ks=Cs.has(navigator.platform),Ts="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0||window.matchMedia("(any-hover: none)").matches;const $s=tt()({name:"VLazy",directives:{intersect:ot},props:{modelValue:Boolean,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},...st(),...nt(),...rt({transition:"fade-transition"})},emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:r}=t;const{dimensionStyles:h}=at(e),i=it(e,"modelValue");function s(d){i.value||(i.value=d)}return lt(()=>re(a(e.tag,{class:"v-lazy",style:h.value},{default:()=>[i.value&&a(dt,{transition:e.transition,appear:!0},{default:()=>{var d;return[(d=r.default)==null?void 0:d.call(r)]}})]}),[[ut("intersect"),{handler:s,options:e.options},null]])),{}}}),X=100,xs=-170,Ms={name:"BrowserCard",components:{BookCover:ce,BrowserCardControls:gs,BrowserCardSubtitle:Bs,OrderByCaption:ye},props:{item:{type:Object,required:!0}},data(){return{doubleTapHovered:!Ts||ks}},computed:{linkLabel:function(){let e="";return e+=this.item.group==="c"?"Read":"Browse to",e+=" "+this.item.headerName,e},toRoute:function(){return this.doubleTapHovered?this.item.group==="c"?ft(this.item):{name:"browser",params:{group:this.item.group,pk:this.item.pk,page:1}}:{}},progressBackgroundColor:function(){return this.item.progress?this.$vuetify.theme.current.colors.row:"inherit"}},mounted(){this.scrollToMe()},methods:{scrollToMe:function(){if(!this.$route.hash||this.$route.hash.split("-")[1]!==String(this.item.pk))return;const e=this.$el;if(!e){console.warn("No element found to scroll to!");return}setTimeout(function(){e.scrollIntoView(),setTimeout(function(){window.scrollBy(0,xs)},X)},X)}}},Vs={class:"browserCardTop"},Fs={key:1,class:"cardCoverOverlay"};function Is(e,t,r,h,i,s){const d=ce,c=B("BrowserCardControls"),g=B("router-link"),$=B("BrowserCardSubtitle"),I=ye;return l(),_($s,{id:`card-${r.item.pk}`,transition:"scale-transition"},{default:u(()=>[o("div",{class:"browserCardCoverWrapper",onClick:t[0]||(t[0]=E=>i.doubleTapHovered=!0)},[o("div",Vs,[a(d,{"cover-pk":r.item.coverPk,group:r.item.group,"child-count":r.item.childCount,finished:r.item.finished},null,8,["cover-pk","group","child-count","finished"]),s.toRoute?(l(),_(g,{key:0,class:"cardCoverOverlay",to:s.toRoute,"aria-label":s.linkLabel},{default:u(()=>[a(c,{item:r.item,"eye-open":!0},null,8,["item"])]),_:1},8,["to","aria-label"])):(l(),b("div",Fs,[a(c,{item:r.item,"eye-open":!1},null,8,["item"])])),re(a(A,{class:"bookCoverProgress","background-color":s.progressBackgroundColor,"model-value":r.item.progress,"aria-label":`${r.item.progress}% read`,rounded:"",height:"2"},null,8,["background-color","model-value","aria-label"]),[[ct,r.item.progress]]),a($,{item:r.item},null,8,["item"])]),a(I,{item:r.item},null,8,["item"])])]),_:1},8,["id"])}const Ps=y(Ms,[["render",Is],["__scopeId","data-v-f9f9dd56"]]);const Rs={name:"BrowserMain",components:{BrowserCard:Ps,PlaceholderLoading:me},data(){return{mdiMenu:mt,mdiOpenInNew:oe}},computed:{...v(x,{adminFlags:e=>e.adminFlags}),...T(x,["isUserAdmin","isCodexViewable"]),...v(p,{librariesExist:e=>e.page.librariesExist,showPlaceHolder:function(e){return this.adminFlags.nonUsers===void 0||this.isCodexViewable&&(this.librariesExist==null||!e.browserPageLoaded)},cards:e=>[...e.page.groups??[],...e.page.books??[]],padFooter:e=>e.page.numPages>1}),showBrowseItems(){return this.cards&&this.cards.length>0&&this.isCodexViewable&&!this.showPlaceHolder}}},q=e=>(O("data-v-b023c894"),e=e(),D(),e),Ns={key:0,id:"browsePaneContainer"},Os={key:1,id:"announce"},Ds={key:2,id:"announce"},Ls={key:0},Hs={key:0},Us={key:3,id:"announce"},Gs=q(()=>o("div",{id:"noComicsFound"},"No comics found for these filters",-1)),As=[Gs],js={key:4,id:"announce"},qs=q(()=>o("h1",null,"No libraries have been added to Codex yet",-1)),Es={key:0},zs={key:1},Ys=q(()=>o("h2",null," An administrator must login to add some libraries that contain comics ",-1)),Ws={href:"https://github.com/ajslater/codex#-administration",target:"_blank"};function Qs(e,t,r,h,i,s){const d=B("BrowserCard"),c=me;return l(),_(ae,{id:"browsePane",class:H({padFooter:e.padFooter})},{default:u(()=>[s.showBrowseItems?(l(),b("div",Ns,[(l(!0),b(F,null,P(e.cards,g=>(l(),_(d,{key:`${g.group}${g.pk}`,item:g},null,8,["item"]))),128))])):e.showPlaceHolder?(l(),b("div",Os,[a(c,{class:"placeholder"})])):e.isCodexViewable?e.librariesExist?(l(),b("div",Us,As)):(l(),b("div",js,[qs,e.isUserAdmin?(l(),b("h2",Es,[n(" Use the top right "),a(S,null,{default:u(()=>[n(f(i.mdiMenu),1)]),_:1}),n(" menu to navigate to the admin panel and add a comic library. ")])):(l(),b("div",zs,[Ys,o("h3",null,[n(" You may log in or register with the top right "),a(S,null,{default:u(()=>[n(f(i.mdiMenu),1)]),_:1}),n("menu ")])])),o("a",Ws,[n("See the README "),a(S,null,{default:u(()=>[n(f(i.mdiOpenInNew),1)]),_:1})]),n(" for detailed instructions. ")])):(l(),b("div",Ds,[o("h1",null,[n(" You may log in "),e.adminFlags.register?(l(),b("span",Ls,"or register")):w("",!0),n(" with the top right "),a(S,null,{default:u(()=>[n(f(i.mdiMenu),1)]),_:1}),n(" menu ")]),e.adminFlags.register?w("",!0):(l(),b("h1",Hs,"Registration is disabled"))]))]),_:1},8,["class"])}const Ks=y(Rs,[["render",Qs],["__scopeId","data-v-b023c894"]]);const Xs={name:"MainBrowser",components:{BrowserFilterToolbar:ns,BrowserMain:Ks,BrowserNavToolbar:pe,BrowserTitleToolbar:ge,SettingsDrawer:ie},data(){return{BrowserSettingsPanel:_t(xo)}},computed:{...v(x,{user:e=>e.user}),...T(x,["isCodexViewable"])},watch:{$route:function(){window.scrollTo(0,0),this.loadBrowserPage()},user:function(){this.loadSettings()},isCodexViewable:function(){this.loadSettings()}},created(){j().isSettingsDrawerOpen=!1,this.loadSettings()},methods:{...C(p,["loadBrowserPage","loadSettings","getVersions"])}},Zs={class:"codexToolbar"};function Js(e,t,r,h,i,s){const d=B("BrowserFilterToolbar"),c=ge,g=B("BrowserMain"),$=pe,I=ie;return l(),b(F,null,[a(ae,{id:"browser"},{default:u(()=>[o("header",Zs,[a(d),a(c)]),a(g),a($)]),_:1}),a(I,{title:"Browser Settings",panel:i.BrowserSettingsPanel,temporary:""},null,8,["panel"])],64)}const sn=y(Xs,[["render",Js],["__scopeId","data-v-2b4da8f0"]]);export{sn as default};
@@ -1 +0,0 @@
1
- import{an as Z,a as v,M as p,c as y,o as l,e as _,w as u,g as a,k as n,t as f,ao as H,E as S,b as C,f as w,B as T,ap as ve,aq as Se,ar as U,C as x,as as J,d as b,j as o,at as Be,au as ee,q as O,v as D,_ as te,y as oe,av as Ce,n as R,aw as ke,ax as Te,p as M,r as P,F,ay as $e,az as xe,aA as z,V as N,aB as Me,aC as Ve,aD as V,aE as Fe,aF as Ie,aG as Pe,aH as G,aI as Re,aJ as Ne,aK as Oe,aL as De,aM as Le,aN as He,l as A,aO as Ue,aP as Ge,D as B,aQ as Ae,aR as je,aS as se,aT as Y,aU as qe,aV as Ee,aW as ze,aX as Ye,K as j,aY as L,aZ as We,a_ as Qe,a$ as W,b0 as ne,b1 as Ke,b2 as Xe,b3 as Ze,b4 as Q,b5 as K,b6 as Je,b7 as et,N as tt,b8 as ot,b9 as st,ba as nt,bb as rt,bc as at,bd as it,T as lt,be as re,bf as ut,bg as dt,bh as ct,bi as mt,bj as ae,bk as ie,bl as _t}from"./admin-73d93dc7.js";import{_ as le,a as ue,b as de,t as pt,c as ht,d as ce,g as ft,P as me}from"./metadata-dialog-8b0e8aaa.js";const gt={name:"BrowserNavButton",components:{PaginationNavButton:le},props:{back:{type:Boolean,required:!0}},data(){return{mdiChevronLeft:Z}},computed:{...v(p,{numPages:e=>e.page.numPages}),increment(){return this.back?-1:1},toPage(){return+this.$route.params.page+this.increment},title(){return"to page"+this.toPage},toRoute(){return{params:{...this.$route.params,page:this.toPage}}},disabled(){return this.back&&+this.$route.params.page<=1||!this.back&&+this.$route.params.page>=this.numPages}}};function bt(e,t,r,h,i,s){const d=le;return l(),_(d,{disabled:s.disabled,title:s.title,to:s.toRoute},{default:u(()=>[a(S,{class:H({flipHoriz:!r.back})},{default:u(()=>[n(f(i.mdiChevronLeft),1)]),_:1},8,["class"])]),_:1},8,["disabled","title","to"])}const _e=y(gt,[["render",bt],["__scopeId","data-v-7b8e4ba4"]]),yt={name:"BrowserNavToolbar",components:{BrowserNavButton:_e,PaginationSlider:ue,PaginationToolbar:de},computed:{...v(p,{numPages:e=>e.page.numPages})},methods:{...C(p,["routeToPage"]),onUpdate(e){this.routeToPage(e)}}};function wt(e,t,r,h,i,s){const d=_e,c=ue,g=de;return e.numPages>1?(l(),_(g,{key:0},{default:u(()=>[a(d,{back:!0}),a(c,{"model-value":+e.$route.params.page,min:1,max:e.numPages,step:1,"onUpdate:modelValue":t[0]||(t[0]=$=>e.routeToPage($))},null,8,["model-value","max"]),a(d,{back:!1})]),_:1})):w("",!0)}const pe=y(yt,[["render",wt]]),vt={group:"r",pk:0},St={name:"BrowserUpButton",props:{top:{type:Boolean,default:!1}},computed:{...T(p,["parentModelGroup"]),...v(p,{upRoute:e=>e.page.routes.up,title(e){const t=this.top?e.settings.topGroup:this.parentModelGroup;return`Up to ${e.choices.static.groupNames[t]||"All"}`}}),show(){return this.upRoute&&"group"in this.upRoute},icon(){return this.top?ve:Se},to(){return this.top?{params:vt}:{params:this.upRoute}}}};function Bt(e,t,r,h,i,s){return s.show?(l(),_(U,{key:0,icon:"",size:"x-large",title:e.title,to:s.to},{default:u(()=>[a(S,null,{default:u(()=>[n(f(s.icon),1)]),_:1})]),_:1},8,["title","to"])):w("",!0)}const he=y(St,[["render",Bt]]);const Ct={name:"BrowserHeader",components:{BrowserUpButton:he},head(){return{meta:[{hid:"description",name:"description",content:["browse comics",this.longBrowserTitlePrefix,this.longBrowseTitleMain,this.longBrowseTitleSuffix].filter(Boolean).join(" ")}]}},computed:{...v(p,{groupNames:e=>e.choices.static.groupNames,browserTitle:e=>e.page.browserTitle,modelGroup:e=>e.page.modelGroup}),...T(x,["isCodexViewable","isUserAdmin"]),longBrowserTitlePrefix:function(){return this.$route.params.group==="f"?this.browserTitle.parentName:""},longBrowseTitleMain:function(){let e;if(Number(this.$route.params.pk)===0)e="All";else{let t=[];const{parentName:r,groupName:h,groupCount:i}=this.browserTitle;r&&t.push(r);const s=this.$route.params.group,d=s==="v"?J(h):h;if(d&&t.push(d),i){const g=`of ${i}`;t.push(g)}const c=s==="f"?"/":" ";e=t.join(c)}return e},longBrowseTitleSuffix:function(){return this.$route.params.group==="f"?"":this.groupNames[this.modelGroup]}}},fe=e=>(O("data-v-b5efed9f"),e=e(),D(),e),kt={key:0,id:"titleToolbarPrefix"},Tt=fe(()=>o("br",null,null,-1)),$t={id:"titleToolbarMain"},xt={key:1,id:"titleToolbarSuffix"},Mt=fe(()=>o("br",null,null,-1));function Vt(e,t,r,h,i,s){const d=he;return e.isCodexViewable?(l(),_(ee,{key:0,id:"titleToolbar",elevation:"8"},{default:u(()=>[a(d),a(Be,{class:"codexToolbarTitle"},{default:u(()=>[s.longBrowserTitlePrefix?(l(),b("span",kt,[n(f(s.longBrowserTitlePrefix)+" ",1),Tt])):w("",!0),o("span",$t,f(s.longBrowseTitleMain),1),s.longBrowseTitleSuffix?(l(),b("span",xt,[Mt,n(" "+f(s.longBrowseTitleSuffix),1)])):w("",!0)]),_:1}),a(d,{top:""})]),_:1})):w("",!0)}const ge=y(Ct,[["render",Vt],["__scopeId","data-v-b5efed9f"]]);const Ft=[["characters","CSV","category"],["community_rating","Decimal","communityrating"],["country","String",""],["created_at","DateTime","created"],["creators","CSV","authors, contributors"],["critical_rating","Decimal","criticalrating"],["day","Integer",""],["date","Date",""],["decade","Integer",""],["description","String",""],["file_type","String","format"],["genres","CSV","genre"],["imprint","String",""],["issue","Decimal",""],["language","String",""],["location[s]","CSV","location"],["maturity_rating","String",""],["month","Integer",""],["read_ltr","Boolean","ltr"],["name","String","title"],["notes","String",""],["original_format","String","format"],["page_count","Integer","pages"],["publisher","String",""],["scan_info","String","scan"],["series","String",""],["series_group[s]","CSV","seriesgroups"],["size","Integer",""],["story_arcs","CSV","storyarcs"],["summary","String",""],["tags","CSV","tag"],["teams","CSV","team"],["updated_at","Date","updated"],["volume","String",""],["web","String",""],["year","Integer",""]],It={name:"SearchHelp",components:{CloseButton:te},data(){return{mdiOpenInNew:oe,mdiArchiveSearchOutline:Ce,dialog:!1,FIELD_ROWS:Ft}}},m=e=>(O("data-v-08501668"),e=e(),D(),e),Pt={id:"searchHelp"},Rt=m(()=>o("h1",null,"Search Syntax Help",-1)),Nt={id:"fieldTableContainer"},Ot=m(()=>o("h2",null,"Search Fields",-1)),Dt=m(()=>o("thead",null,[o("tr",null,[o("th",null,"Field"),o("th",null,"Type"),o("th",null,"Aliases")])],-1)),Lt={id:"textContainer"},Ht=m(()=>o("h2",null,"Whoosh Query Parser",-1)),Ut={href:"https://whoosh.readthedocs.io/en/latest/querylang.html",target:"_blank"},Gt=m(()=>o("h2",null,"Operators",-1)),At=m(()=>o("code",null,"and",-1)),jt=m(()=>o("code",null,"or",-1)),qt=m(()=>o("code",null,"not",-1)),Et=m(()=>o("code",null,"andnot",-1)),zt=m(()=>o("code",null,"andmaybe",-1)),Yt=m(()=>o("code",null,"require",-1)),Wt=m(()=>o("h2",null,"Searching Fields",-1)),Qt=m(()=>o("p",null,[n(" Like Codex's filter selector menu, but more powerful. You may search on individual comic metadata fields. using a search token like "),o("code",null,"field:value"),n(". ")],-1)),Kt=m(()=>o("h3",null,"Dates and DateTimes",-1)),Xt={href:"https://whoosh.readthedocs.io/en/latest/dates.html#parsing-date-queries",target:"_blank"},Zt=m(()=>o("code",null,"YYYYMMDD",-1)),Jt=m(()=>o("code",null,"YYYMMDDHHmmSS",-1)),eo=m(()=>o("h3",null,"Single Quote complex field Queries",-1)),to=m(()=>o("p",null,[n(" Use "),o("em",null,"single"),n(" quotes to tell Codex that a complex or natural language phrase should be applied to a specific field ")],-1)),oo=m(()=>o("code",null," created:'this year' ",-1)),so=m(()=>o("h3",null,"Size Byte Multipliers",-1)),no=m(()=>o("p",null,[n(" The size field can make use of convenient byte multiplier suffixes like "),o("code",null,"kb"),n(" and "),o("code",null,"mb"),n(" as well as binary suffixes like "),o("code",null,"gib"),n(" and "),o("code",null,"tib"),n(". ")],-1)),ro=m(()=>o("h3",null,"Ranges of Fields",-1)),ao=m(()=>o("p",null,[n(" Whoosh uses brackets and the "),o("em",null,"uppercase"),n(" "),o("code",null,"TO"),n(" operator to delineate a range search. ")],-1)),io=m(()=>o("code",null,"updated:[last sunday TO 10am]",-1)),lo=m(()=>o("p",null," You may leave out the upper or lower bound or use >, <, >=, <= operators. ",-1)),uo=m(()=>o("code",null,"size:<50mb",-1)),co=m(()=>o("h3",null,"Multi Value Fields",-1)),mo=m(()=>o("p",null,[n(" Fields marked type "),o("code",null,"CSV"),n(" in the table to the left may contain comma separated values. This filters by all the supplied values. Multi Value tokens look like: "),o("code",null,"field:term1,term2,term3")],-1)),_o=m(()=>o("h2",null,"Grouped Queries",-1)),po=m(()=>o("p",null,"Whoosh allows grouping of queries with parenthesis.",-1)),ho=m(()=>o("h2",null,"Example Search",-1)),fo=m(()=>o("p",null," This example search is more convoluted than most searches but uses many features for demonstration: ",-1)),go=m(()=>o("code",null,' (Holmes and Tesla date:>=1999-1-2 size:[10mib TO 1gb] Gadzooks) or "Captain Nemo" -Quartermain ',-1)),bo=m(()=>o("p",{style:{"margin-top":"1em"}},' Search for comics that contain Holmes and Tesla published after the second day of 1999 that are between 10 Mebibytes and 10 Gigabytes that also contain the word "Gadzooks" but also all comics with the the phrase "Captain Nemo" but no comics will contain the word "Quartermain". ',-1)),yo=m(()=>o("h2",null,"Group and Sorting Behavior",-1)),wo=m(()=>o("p",null," If the search field is empty and then you supply a search query for the first time, Codex navigates you to the to All Issues view and your sets your Sorted By selection to Search Score. If you prefer a different view you may change the group and sort selections after your you make your first search. ",-1)),vo=m(()=>o("h2",null,"Filter Behavior",-1)),So=m(()=>o("p",null,[n(" Codex applies "),o("em",null,"both"),n(" the Filter selection menu filters "),o("em",null,"and"),n(" the search query field filters to the search. Be sure to clear the filter selector or the search field if you prefer to apply only one of them. ")],-1));function Bo(e,t,r,h,i,s){const d=te;return l(),_(xe,{modelValue:i.dialog,"onUpdate:modelValue":t[2]||(t[2]=c=>i.dialog=c),"content-class":"browserSearchHelp",fullscreen:"",scrim:!1,transition:"dialog-bottom-transition"},{activator:u(({props:c})=>[a(M,ke(Te(c)),{default:u(()=>[a(R,null,{default:u(()=>[a(S,null,{default:u(()=>[n(f(i.mdiArchiveSearchOutline),1)]),_:1}),n("Search Syntax Help ")]),_:1})]),_:2},1040)]),default:u(()=>[o("div",Pt,[a(d,{class:"closeButton",title:"Close Help (esc)",size:"x-large",onClick:t[0]||(t[0]=c=>i.dialog=!1)}),Rt,o("div",Nt,[Ot,a($e,{id:"fieldTable",class:"highlight-table"},{default:u(()=>[Dt,o("tbody",null,[(l(!0),b(F,null,P(i.FIELD_ROWS,c=>(l(),b("tr",{key:c[0]},[o("td",null,f(c[0]),1),o("td",null,f(c[1]),1),o("td",null,f(c[2]),1)]))),128))])]),_:1})]),o("div",Lt,[Ht,o("p",null,[n(" Codex uses the Whoosh search engine to execute your text search queries. Whoosh operates much like other familiar search engines. As such, only some special features are documented on this page. To understand its full power, users are encouraged to read the "),o("a",Ut,[n("Whoosh Query Language "),a(S,{size:"small"},{default:u(()=>[n(f(i.mdiOpenInNew),1)]),_:1})]),n(" documentation. ")]),Gt,n(" Whoosh has the "),At,n(", "),jt,n(", "),qt,n(", "),Et,n(", "),zt,n(", and "),Yt,n(" operators. "),Wt,Qt,Kt,o("p",null,[n(" Whoosh parses Dates and DateTime values liberally. Read "),o("a",Xt,[n("Whoosh Parsing Date Queries "),a(S,{size:"small"},{default:u(()=>[n(f(i.mdiOpenInNew),1)]),_:1})]),n(" documentation for what formats and natural language phrases are accepted. If the format you try fails, the "),Zt,n(" and "),Jt,n(" formats are reliable. ")]),eo,to,oo,so,no,ro,ao,io,n(". "),lo,uo,n(". "),co,mo,_o,po,ho,fo,go,bo,yo,wo,vo,So]),a(d,{class:"closeButton",title:"Close Help (esc)",size:"x-large",onClick:t[1]||(t[1]=c=>i.dialog=!1)})])]),_:1},8,["modelValue"])}const be=y(It,[["render",Bo],["__scopeId","data-v-08501668"]]);const Co={name:"BrowserSettingsPanel",components:{SearchHelp:be},computed:{...T(x,["isCodexViewable"]),...v(p,{groupChoices:e=>e.choices.static.settingsGroup,twentyFourHourTimeTitle:e=>e.choices.static.twentyFourHourTime.title,showSettings:e=>e.settings.show,twentyFourHourTime:e=>e.settings.twentyFourHourTime})},methods:{...C(p,["setSettings"]),setShow(e,t){const r={show:{[e]:t===!0}};this.setSettings(r)},set24HourTime(e){const t={twentyFourHourTime:e===!0};this.setSettings(t)}}},ko=e=>(O("data-v-e50b6bd7"),e=e(),D(),e),To=ko(()=>o("div",{id:"groupCaption",class:"text-caption"}," Show these groups when navigating the browse tree. ",-1));function $o(e,t,r,h,i,s){const d=be;return l(),b(F,null,[To,(l(!0),b(F,null,P(e.groupChoices,c=>(l(),_(z,{key:c.title,class:"browserGroupCheckbox",density:"compact","hide-details":"auto","model-value":e.showSettings[c.value],"true-value":!0,label:`Show ${c.title}`,"onUpdate:modelValue":g=>s.setShow(c.value,g)},null,8,["model-value","label","onUpdate:modelValue"]))),128)),a(N),a(z,{class:"browserGroupCheckbox",density:"compact","hide-details":"auto","model-value":e.twentyFourHourTime,"true-value":!0,label:"24 Hour Time","onUpdate:modelValue":t[0]||(t[0]=c=>s.set24HourTime(c))},null,8,["model-value"]),a(N),a(d)],64)}const xo=y(Co,[["render",$o],["__scopeId","data-v-e50b6bd7"]]);const Mo={name:"ToolbarSelect",props:{selectLabel:{type:String,default:""},maxSelectLen:{type:Number,default:0},mobileLenAdj:{type:Number,default:0},variant:{type:String,default:"plain"}},computed:{style(){const e=this.$vuetify.display.smAndDown?this.mobileLenAdj:0,r=this.maxSelectLen+e+"em";return`width: ${r}; min-width: ${r}; max-width: ${r}`}}};function Vo(e,t,r,h,i,s){return l(),_(Fe,V(e.$attrs,{label:r.selectLabel,"aria-label":r.selectLabel,class:"toolbarSelect",density:"compact","full-width":"","menu-props":{maxHeight:void 0},"hide-details":"auto",style:s.style,variant:r.variant}),Me({_:2},[P(e.$slots,(d,c)=>({name:c,fn:u(g=>[Ve(e.$slots,c,V({props:d},g),void 0,!0)])}))]),1040,["label","aria-label","style","variant"])}const k=y(Mo,[["render",Vo],["__scopeId","data-v-3a4c9e75"]]);const Fo=new Set(["",-1]),Io={name:"BrowserFilterSubMenu",props:{name:{type:String,required:!0}},emits:["selected"],data(){return{mdiChevronLeft:Z,mdiChevronRight:Ie,mdiChevronRightCircle:Pe,query:""}},computed:{...v(p,{choices:function(e){return e.choices.dynamic[this.name]},filter:function(e){return e.settings.filters[this.name]}}),...G(p,["filterMode"]),vuetifyItems(){return pt(this.choices,this.query,Ne.includes(this.name),Re.includes(this.name))},title:function(){let e=this.name.replaceAll(/[A-Z]/g,t=>` ${t}`);return e=e.replace("Ltr","LTR"),e=e[0].toUpperCase()+e.slice(1),e},lowerTitle:function(){return this.title.toLowerCase()}},methods:{...C(p,["loadFilterChoices"]),setUIFilterMode(e){this.filterMode=e,this.query="",e!=="base"&&typeof this.choices!="object"&&this.loadFilterChoices(e)},isNullPk:e=>Fo.has(e),selected(e){const t={filters:{[this.name]:e}};this.$emit("selected",t)},itemTitle(e){return this.isNullPk(e.value)?"None":e.title}}},Po={key:0},Ro={class:"filterHeader"};function No(e,t,r,h,i,s){return l(),b("div",null,[a(Oe,{"hide-on-leave":""},{default:u(()=>[e.filterMode==="base"?(l(),_(M,{key:0,onClick:t[0]||(t[0]=d=>s.setUIFilterMode(r.name))},{default:u(()=>[a(R,{class:"filterMenu"},{default:u(()=>[n(f(s.title)+" ",1),e.filter&&e.filter.length>0?(l(),_(S,{key:0,class:"nameChevron"},{default:u(()=>[n(f(i.mdiChevronRightCircle),1)]),_:1})):(l(),_(S,{key:1,class:"nameChevron"},{default:u(()=>[n(f(i.mdiChevronRight),1)]),_:1}))]),_:1})]),_:1})):w("",!0)]),_:1}),a(He,{"hide-on-leave":""},{default:u(()=>[e.filterMode===r.name?(l(),b("div",Po,[o("header",Ro,[a(M,{onClick:t[1]||(t[1]=d=>s.setUIFilterMode("base"))},{default:u(()=>[a(R,{class:"filterTitle"},{default:u(()=>[a(S,null,{default:u(()=>[n(f(i.mdiChevronLeft),1)]),_:1}),n(f(s.lowerTitle),1)]),_:1})]),_:1}),typeof e.choices=="object"?(l(),_(De,{key:0,modelValue:i.query,"onUpdate:modelValue":t[2]||(t[2]=d=>i.query=d),placeholder:"Filter","full-width":"",density:"compact",filled:"",rounded:"","hide-details":"auto",onFocus:t[3]||(t[3]=d=>e.filterMode=r.name)},null,8,["modelValue"])):(l(),_(A,{key:1,class:"filterValuesProgress",rounded:"",indeterminate:""}))]),typeof e.choices=="object"?(l(),_(Le,{key:0,"model-value":e.filter,class:"filterGroup overflow-y-auto",density:"compact",multiple:"",items:s.vuetifyItems,"onUpdate:selected":s.selected},null,8,["model-value","items","onUpdate:selected"])):w("",!0)])):w("",!0)]),_:1})])}const Oo=y(Io,[["render",No],["__scopeId","data-v-307c08e8"]]);const Do={name:"BrowserFilterBySelect",components:{BrowserFilterSubMenu:Oo,ToolbarSelect:k},extends:k,data(){return{mdiFilterMultipleOutline:Ue,menu:!1}},computed:{...T(p,["filterByChoicesMaxLen","isDefaultBookmarkValueSelected"]),...v(p,{bookmarkChoices:e=>e.choices.static.bookmark,bookmarkFilter:e=>e.settings.filters.bookmark||e.choices.static.bookmark[0],filters:e=>e.settings.filters,isDynamicFiltersSelected:function(e){for(const[t,r]of Object.entries(e.settings.filters))if(t!=="bookmark"&&r&&r.length>0)return!0;return!1},isFiltersClearable:function(){return!this.isDefaultBookmarkValueSelected||this.isDynamicFiltersSelected},filterMenuClass:function(e){let t="filterMenu";return e.filterMode!=="base"&&(t+="Hidden"),t},dynamicChoiceNames:function(e){if(e.choices.dynamic===void 0)return;const t=[];for(const[r,h]of Object.entries(e.choices.dynamic))h&&t.push(r);return t}}),...G(p,["filterMode"]),filterInnerIcon:function(){return this.isFiltersClearable?Ge:""}},methods:{...C(p,["clearFilters","loadAvailableFilterChoices","setSettings"]),onUpdateModelValue(e){const t={filters:{bookmark:e}};this.onSubMenuSelected(t)},onSubMenuSelected(e){this.menu=!1,this.setSettings(e),this.filterMode="base"},onClear(){this.clearFilters()},onMenu(e){e&&this.dynamicChoiceNames===void 0&&this.loadAvailableFilterChoices()}}},Lo={key:1};function Ho(e,t,r,h,i,s){const d=B("BrowserFilterSubMenu"),c=k;return l(),_(c,{menu:i.menu,"onUpdate:menu":[t[0]||(t[0]=g=>i.menu=g),s.onMenu],class:"filterBySelect","select-label":"filter by",clearable:e.isFiltersClearable,items:e.bookmarkChoices,"menu-props":{contentClass:e.filterMenuClass,maxHeight:void 0},"model-value":e.bookmarkFilter,"max-select-len":e.filterByChoicesMaxLen+1.5,"mobile-len-adj":-1.5,variant:"solo","onClick:clear":s.onClear,"onUpdate:modelValue":s.onUpdateModelValue},{selection:u(({item:g})=>[n(f(g.title)+" ",1),e.isDynamicFiltersSelected?(l(),_(S,{key:0,class:"filterSuffix"},{default:u(()=>[n(f(i.mdiFilterMultipleOutline),1)]),_:1})):w("",!0)]),"append-item":u(()=>[a(N),e.dynamicChoiceNames===void 0?(l(),_(M,{key:0},{default:u(()=>[a(A,{indeterminate:"",rounded:""})]),_:1})):e.dynamicChoiceNames.length>0?(l(),b("div",Lo,[(l(!0),b(F,null,P(e.dynamicChoiceNames,g=>(l(),_(d,{key:g,name:g,onSelected:s.onSubMenuSelected},null,8,["name","onSelected"]))),128))])):(l(),_(M,{key:2,class:"noChoices"},{default:u(()=>[n(" No filters available ")]),_:1}))]),_:1},8,["menu","clearable","items","menu-props","model-value","max-select-len","mobile-len-adj","onClick:clear","onUpdate:modelValue","onUpdate:menu"])}const Uo=y(Do,[["render",Ho],["__scopeId","data-v-404ecbd3"]]),Go={name:"BrowseOrderBySelect",components:{ToolbarSelect:k},extends:k,computed:{...T(p,["orderByChoices","orderByChoicesMaxLen"]),...v(p,{orderBySetting:e=>e.settings.orderBy}),orderBy:{get(){return this.orderBySetting},set(e){const t={orderBy:e};this.setSettings(t)}}},methods:{...C(p,["setSettings"])}};function Ao(e,t,r,h,i,s){const d=k;return l(),_(d,V({modelValue:s.orderBy,"onUpdate:modelValue":t[0]||(t[0]=c=>s.orderBy=c),class:"orderBySelect","select-label":"order by",items:e.orderByChoices,"max-select-len":e.orderByChoicesMaxLen-3.5,"mobile-len-adj":-2},e.$attrs),null,16,["modelValue","items","max-select-len"])}const jo=y(Go,[["render",Ao]]);const qo={name:"BrowseOrderReverseButton",computed:{...v(p,{orderReverseSetting:e=>e.settings.orderReverse,orderIcon:e=>e.settings.orderReverse?Ae:je}),density(){return this.$vuetify.display.smAndDown?"compact":"default"},title(){return this.orderReverseSetting?"order descending":"order ascending"}},methods:{...C(p,["setSettings"]),toggleOrderReverse(){const e={orderReverse:!this.orderReverseSetting};this.setSettings(e)}}};function Eo(e,t,r,h,i,s){return l(),_(U,V({class:"orderReverseButton",density:s.density,height:"46",icon:"",variant:"text"},e.$attrs,{title:s.title,onClick:s.toggleOrderReverse}),{default:u(()=>[a(S,null,{default:u(()=>[n(f(e.orderIcon),1)]),_:1})]),_:1},16,["density","title","onClick"])}const zo=y(qo,[["render",Eo],["__scopeId","data-v-44032796"]]),Yo=10,Wo={name:"BrowserSearchCombobox",data(){return{mdiMagnify:se,menu:!1,query:"",items:[""]}},computed:{...v(p,{stateQ:e=>e.settings.q})},watch:{stateQ(e){this.query=e,this.addToMenu(e)}},methods:{...C(p,["setSettings"]),addToMenu(e){if(!e||this.items.includes(e))return;const t=this.items[0]===""?[]:this.items;t.unshift(e),this.items=t.slice(0,Yo)},doSearch(){this.menu=!1;const e=this.query?this.query.trim():"";this.setSettings({q:e}),this.addToMenu(e)}}};function Qo(e,t,r,h,i,s){return l(),_(qe,{ref:"searchbox",modelValue:i.query,"onUpdate:modelValue":t[0]||(t[0]=d=>i.query=d),menu:i.menu,"onUpdate:menu":t[1]||(t[1]=d=>i.menu=d),items:i.items,autofocus:"","aria-label":"search",clearable:"",density:"compact","full-width":"","hide-details":"auto","hide-selected":"","menu-props":{maxHeight:void 0},"no-filter":"","prepend-inner-icon":i.mdiMagnify,variant:"solo","onClick:clear":s.doSearch,"onClick:prependInner":s.doSearch,onKeydown:[Y(s.doSearch,["enter"]),t[2]||(t[2]=Y(d=>i.menu=!1,["esc"]))]},null,8,["modelValue","menu","items","prepend-inner-icon","onClick:clear","onClick:prependInner","onKeydown"])}const Ko=y(Wo,[["render",Qo]]);const Xo={params:{group:"f",pk:0,page:1}},Zo={name:"BrowserTopGroupSelect",components:{ToolbarSelect:k},extends:k,data(){return{FOLDER_ROUTE:Xo}},computed:{...v(p,{topGroupSetting:e=>e.settings.topGroup}),...T(p,["topGroupChoices","topGroupChoicesMaxLen"]),topGroup:{get(){return this.topGroupSetting},set(e){const t={topGroup:e};if(this.topGroupSetting==="f"&&e!=="f"||this.topGroupSetting!=="f"&&e==="f"){const h={params:{group:e==="f"?"f":"r",pk:0,page:1}};this.$router.push(h).then(()=>this.setSettings(t)).catch(console.error)}else this.setSettings(t)}}},methods:{...C(p,["setSettings"])}};function Jo(e,t,r,h,i,s){const d=k;return l(),_(d,V(e.$attrs,{modelValue:s.topGroup,"onUpdate:modelValue":t[0]||(t[0]=c=>s.topGroup=c),class:"topGroupSelect","select-label":"top group",items:e.topGroupChoices,"max-select-len":e.topGroupChoicesMaxLen-1,"mobile-len-adj":-2.5}),{item:u(({item:c,props:g})=>[c.value==="f"?(l(),_(N,{key:0})):w("",!0),a(M,V(g,{title:c.title,value:c.value}),null,16,["title","value"])]),_:1},16,["modelValue","items","max-select-len","mobile-len-adj"])}const es=y(Zo,[["render",Jo],["__scopeId","data-v-d243e1b6"]]);const ts=Ee("flex-grow-1","div","VSpacer"),os={name:"BrowserHeader",components:{BrowserFilterBySelect:Uo,BrowserTopGroupSelect:es,BrowserSearchCombobox:Ko,BrowserOrderBySelect:jo,BrowserOrderReverseButton:zo,SettingsDrawerButton:ze},data(){return{mdiMagnify:se,mdiFamilyTree:Ye,browseMode:"filter"}},computed:{...T(x,["isCodexViewable"]),...G(j,["isSettingsDrawerOpen"])}};function ss(e,t,r,h,i,s){const d=B("BrowserTopGroupSelect"),c=B("BrowserOrderBySelect"),g=B("BrowserOrderReverseButton"),$=B("SettingsDrawerButton"),I=B("BrowserFilterBySelect"),E=B("BrowserSearchCombobox");return l(),_(ee,{id:"browserToolbar",class:H(["toolbar",{emptyToolbar:!e.isCodexViewable}]),density:"compact","extension-height":"48px"},{extension:u(()=>[e.isCodexViewable?(l(),_(L,{key:0,id:"searchToolbarItems"},{default:u(()=>[a(I,{id:"filterSelect"}),a(E,{id:"searchField"})]),_:1})):w("",!0)]),default:u(()=>[e.isCodexViewable?(l(),_(L,{key:0,id:"browserToolbarLeftItems"},{default:u(()=>[a(d,{id:"topGroupSelect"}),a(c,{id:"orderBySelect"}),a(g,{id:"orderReverseButton"})]),_:1})):w("",!0),a(ts),a(L,null,{default:u(()=>[a($,{onClick:t[0]||(t[0]=en=>e.isSettingsDrawerOpen=!0)})]),_:1})]),_:1},8,["class"])}const ns=y(os,[["render",ss],["__scopeId","data-v-cdef4956"]]);const rs=new Set(["community_rating","critical_rating"]),as=new Set(["date"]),is=new Set(["created_at","updated_at"]),ls={name:"OrderByCaption",props:{item:{type:Object,required:!0}},computed:{...v(p,{orderBy:e=>e.settings.orderBy,twentyFourHourTime:e=>e.settings.twentyFourHourTime}),orderValue(){let e=this.item.orderValue;if(this.orderBy===void 0||this.orderBy===null||this.orderBy==="sort_name"||this.orderBy==="path"&&this.item.group==="f"||e===null||e===void 0)e="";else if(as.has(this.orderBy)){const t=new Date(e);e=We.format(t)}else this.orderBy=="search_score"?e=Math.round(Number.parseFloat(e)*10):is.has(this.orderBy)?e=Qe(e,this.twentyFourHourTime,!0):this.orderBy=="page_count"?e=`${W.numberFormat(Number.parseInt(e,10),0)} pages`:this.orderBy=="size"?e=W.filesize(Number.parseInt(e,10),1024,1):rs.has(this.orderBy)&&(e=`★ ${e}`);return e}}},us=["innerHTML"];function ds(e,t,r,h,i,s){return s.orderValue?(l(),b("div",{key:0,class:"orderCaption text-caption",innerHTML:s.orderValue},null,8,us)):w("",!0)}const ye=y(ls,[["render",ds],["__scopeId","data-v-16da5460"]]),cs={name:"BrowserContainerMenu",components:{ConfirmDialog:ne},props:{item:{type:Object,required:!0}},data(){return{mdiDotsVertical:Ke,showMenu:!1}},computed:{...v(p,{groupNames:e=>e.choices.static.groupNames}),verb(){return this.item.finished?"Unread":"Read"},confirmText(){return`Mark ${this.verb}`},markReadText(){const e=["Mark"];this.item.group!="c"&&e.push("Entire");let t=this.groupNames[this.item.group];return this.item.group!=="s"&&(t=t.slice(0,-1)),e.push(t,this.verb),e.join(" ")}},methods:{...C(p,["setBookmarkFinished"]),...C(j,["downloadIOSPWAFix"]),toggleRead:function(){this.setBookmarkFinished(this.item,!this.item.finished),this.showMenu=!1}}},ms={class:"background-soft-highlight"};function _s(e,t,r,h,i,s){const d=ne;return l(),_(Ze,{modelValue:i.showMenu,"onUpdate:modelValue":t[2]||(t[2]=c=>i.showMenu=c),"offset-y":"",top:""},{activator:u(({props:c})=>[a(U,V({"aria-label":"action menu",class:"browserCardMenuIcon cardControlButton",icon:"",title:"Action Menu",variant:"text"},c,{onClick:t[0]||(t[0]=Xe(()=>{},["prevent"]))}),{default:u(()=>[a(S,null,{default:u(()=>[n(f(i.mdiDotsVertical),1)]),_:1})]),_:2},1040)]),default:u(()=>[o("div",ms,[r.item.group==="c"?(l(),_(M,{key:0,onClick:s.toggleRead},{default:u(()=>[a(R,null,{default:u(()=>[n(f(s.markReadText),1)]),_:1})]),_:1},8,["onClick"])):(l(),_(d,{key:1,"button-text":s.markReadText,"title-text":s.markReadText,"confirm-text":s.confirmText,"object-name":r.item.name,onConfirm:s.toggleRead,onCancel:t[1]||(t[1]=c=>i.showMenu=!1)},null,8,["button-text","title-text","confirm-text","object-name","onConfirm"]))])]),_:1},8,["modelValue"])}const we=y(cs,[["render",_s]]);const ps={name:"BrowserCardControls",components:{BrowserCardMenu:we,MetadataButton:ht},props:{item:{type:Object,required:!0},eyeOpen:{type:Boolean,required:!0}},data(){return{mdiEye:Q,mdiEyeOff:K}},computed:{eyeIcon:function(){return this.eyeOpen?Q:K}}},hs={class:"cardControls"};function fs(e,t,r,h,i,s){const d=B("MetadataButton"),c=we;return l(),b("div",hs,[r.item.group==="c"?(l(),_(S,{key:0,class:"eye"},{default:u(()=>[n(f(s.eyeIcon),1)]),_:1})):w("",!0),a(d,{group:r.item.group,pk:r.item.pk,children:r.item.childCount},null,8,["group","pk","children"]),a(c,{item:r.item},null,8,["item"])])}const gs=y(ps,[["render",fs],["__scopeId","data-v-dc469596"]]);const bs={name:"BrowserCardSubtitle",props:{item:{type:Object,required:!0}},orderByCache:"sort_name",computed:{...v(p,{orderBy:e=>e.settings.orderBy,zeroPad:e=>e.page.zeroPad}),headerName:function(){let e;switch(this.item.group){case"i":e=this.item.publisherName;break;case"v":e=this.item.seriesName;break;case"c":e=this.$route.params.group==="f"?Je(this.item,this.zeroPad):et(this.item,this.zeroPad);break;default:e=""}return e},displayName:function(){return this.item.group==="v"?J(this.item.name):this.item.name},linkLabel:function(){let e="";return e+=this.item.group==="c"?"Read":"Browse to",e+=" "+this.headerName,e}}},ys={class:"browserLink cardSubtitle text-caption"},ws={key:0,class:"headerName"},vs={class:"displayName"};function Ss(e,t,r,h,i,s){return l(),b("div",ys,[s.headerName?(l(),b("div",ws,f(s.headerName),1)):w("",!0),o("div",vs,f(s.displayName),1)])}const Bs=y(bs,[["render",Ss],["__scopeId","data-v-2485e87e"]]),Cs=new Set(["iPad","iPad Simulator","iPhone","iPhone Simulator","iPod","iPod Simulator"]),ks=Cs.has(navigator.platform),Ts="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0||window.matchMedia("(any-hover: none)").matches;const $s=tt()({name:"VLazy",directives:{intersect:ot},props:{modelValue:Boolean,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},...st(),...nt(),...rt({transition:"fade-transition"})},emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:r}=t;const{dimensionStyles:h}=at(e),i=it(e,"modelValue");function s(d){i.value||(i.value=d)}return lt(()=>re(a(e.tag,{class:"v-lazy",style:h.value},{default:()=>[i.value&&a(dt,{transition:e.transition,appear:!0},{default:()=>{var d;return[(d=r.default)==null?void 0:d.call(r)]}})]}),[[ut("intersect"),{handler:s,options:e.options},null]])),{}}}),X=100,xs=-170,Ms={name:"BrowserCard",components:{BookCover:ce,BrowserCardControls:gs,BrowserCardSubtitle:Bs,OrderByCaption:ye},props:{item:{type:Object,required:!0}},data(){return{doubleTapHovered:!Ts||ks}},computed:{linkLabel:function(){let e="";return e+=this.item.group==="c"?"Read":"Browse to",e+=" "+this.item.headerName,e},toRoute:function(){return this.doubleTapHovered?this.item.group==="c"?ft(this.item):{name:"browser",params:{group:this.item.group,pk:this.item.pk,page:1}}:{}},progressBackgroundColor:function(){return this.item.progress?this.$vuetify.theme.current.colors.row:"inherit"}},mounted(){this.scrollToMe()},methods:{scrollToMe:function(){if(!this.$route.hash||this.$route.hash.split("-")[1]!==String(this.item.pk))return;const e=this.$el;if(!e){console.warn("No element found to scroll to!");return}setTimeout(function(){e.scrollIntoView(),setTimeout(function(){window.scrollBy(0,xs)},X)},X)}}},Vs={class:"browserCardTop"},Fs={key:1,class:"cardCoverOverlay"};function Is(e,t,r,h,i,s){const d=ce,c=B("BrowserCardControls"),g=B("router-link"),$=B("BrowserCardSubtitle"),I=ye;return l(),_($s,{id:`card-${r.item.pk}`,transition:"scale-transition"},{default:u(()=>[o("div",{class:"browserCardCoverWrapper",onClick:t[0]||(t[0]=E=>i.doubleTapHovered=!0)},[o("div",Vs,[a(d,{"cover-pk":r.item.coverPk,group:r.item.group,"child-count":r.item.childCount,finished:r.item.finished},null,8,["cover-pk","group","child-count","finished"]),s.toRoute?(l(),_(g,{key:0,class:"cardCoverOverlay",to:s.toRoute,"aria-label":s.linkLabel},{default:u(()=>[a(c,{item:r.item,"eye-open":!0},null,8,["item"])]),_:1},8,["to","aria-label"])):(l(),b("div",Fs,[a(c,{item:r.item,"eye-open":!1},null,8,["item"])])),re(a(A,{class:"bookCoverProgress","background-color":s.progressBackgroundColor,"model-value":r.item.progress,"aria-label":`${r.item.progress}% read`,rounded:"",height:"2"},null,8,["background-color","model-value","aria-label"]),[[ct,r.item.progress]]),a($,{item:r.item},null,8,["item"])]),a(I,{item:r.item},null,8,["item"])])]),_:1},8,["id"])}const Ps=y(Ms,[["render",Is],["__scopeId","data-v-f9f9dd56"]]);const Rs={name:"BrowserMain",components:{BrowserCard:Ps,PlaceholderLoading:me},data(){return{mdiMenu:mt,mdiOpenInNew:oe}},computed:{...v(x,{adminFlags:e=>e.adminFlags}),...T(x,["isUserAdmin","isCodexViewable"]),...v(p,{librariesExist:e=>e.page.librariesExist,showPlaceHolder:function(e){return this.adminFlags.nonUsers===void 0||this.isCodexViewable&&(this.librariesExist==null||!e.browserPageLoaded)},cards:e=>[...e.page.groups??[],...e.page.books??[]],padFooter:e=>e.page.numPages>1}),showBrowseItems(){return this.cards&&this.cards.length>0&&this.isCodexViewable&&!this.showPlaceHolder}}},q=e=>(O("data-v-b023c894"),e=e(),D(),e),Ns={key:0,id:"browsePaneContainer"},Os={key:1,id:"announce"},Ds={key:2,id:"announce"},Ls={key:0},Hs={key:0},Us={key:3,id:"announce"},Gs=q(()=>o("div",{id:"noComicsFound"},"No comics found for these filters",-1)),As=[Gs],js={key:4,id:"announce"},qs=q(()=>o("h1",null,"No libraries have been added to Codex yet",-1)),Es={key:0},zs={key:1},Ys=q(()=>o("h2",null," An administrator must login to add some libraries that contain comics ",-1)),Ws={href:"https://github.com/ajslater/codex#-administration",target:"_blank"};function Qs(e,t,r,h,i,s){const d=B("BrowserCard"),c=me;return l(),_(ae,{id:"browsePane",class:H({padFooter:e.padFooter})},{default:u(()=>[s.showBrowseItems?(l(),b("div",Ns,[(l(!0),b(F,null,P(e.cards,g=>(l(),_(d,{key:`${g.group}${g.pk}`,item:g},null,8,["item"]))),128))])):e.showPlaceHolder?(l(),b("div",Os,[a(c,{class:"placeholder"})])):e.isCodexViewable?e.librariesExist?(l(),b("div",Us,As)):(l(),b("div",js,[qs,e.isUserAdmin?(l(),b("h2",Es,[n(" Use the top right "),a(S,null,{default:u(()=>[n(f(i.mdiMenu),1)]),_:1}),n(" menu to navigate to the admin panel and add a comic library. ")])):(l(),b("div",zs,[Ys,o("h3",null,[n(" You may log in or register with the top right "),a(S,null,{default:u(()=>[n(f(i.mdiMenu),1)]),_:1}),n("menu ")])])),o("a",Ws,[n("See the README "),a(S,null,{default:u(()=>[n(f(i.mdiOpenInNew),1)]),_:1})]),n(" for detailed instructions. ")])):(l(),b("div",Ds,[o("h1",null,[n(" You may log in "),e.adminFlags.register?(l(),b("span",Ls,"or register")):w("",!0),n(" with the top right "),a(S,null,{default:u(()=>[n(f(i.mdiMenu),1)]),_:1}),n(" menu ")]),e.adminFlags.register?w("",!0):(l(),b("h1",Hs,"Registration is disabled"))]))]),_:1},8,["class"])}const Ks=y(Rs,[["render",Qs],["__scopeId","data-v-b023c894"]]);const Xs={name:"MainBrowser",components:{BrowserFilterToolbar:ns,BrowserMain:Ks,BrowserNavToolbar:pe,BrowserTitleToolbar:ge,SettingsDrawer:ie},data(){return{BrowserSettingsPanel:_t(xo)}},computed:{...v(x,{user:e=>e.user}),...T(x,["isCodexViewable"])},watch:{$route:function(){window.scrollTo(0,0),this.loadBrowserPage()},user:function(){this.loadSettings()},isCodexViewable:function(){this.loadSettings()}},created(){j().isSettingsDrawerOpen=!1,this.loadSettings()},methods:{...C(p,["loadBrowserPage","loadSettings","getVersions"])}},Zs={class:"codexToolbar"};function Js(e,t,r,h,i,s){const d=B("BrowserFilterToolbar"),c=ge,g=B("BrowserMain"),$=pe,I=ie;return l(),b(F,null,[a(ae,{id:"browser"},{default:u(()=>[o("header",Zs,[a(d),a(c)]),a(g),a($)]),_:1}),a(I,{title:"Browser Settings",panel:i.BrowserSettingsPanel,temporary:""},null,8,["panel"])],64)}const sn=y(Xs,[["render",Js],["__scopeId","data-v-2b4da8f0"]]);export{sn as default};
@@ -1 +0,0 @@
1
- import{c as s,e as d,w as r,bj as _,o as i,j as t,t as a,g as p,D as u,q as l,v as h}from"./admin-73d93dc7.js";const n={400:"Bad Request",403:"Forbidden",404:"Page Not Found",500:"Server Error"};Object.freeze(n);const f={name:"HttpError",data(){return{}},computed:{code:function(){return+this.$route.params.code},title:function(){let e=n[this.code];return e||(e="Unknown Error"),e}}},m=e=>(l("data-v-e215aa2c"),e=e(),h(),e),v={id:"httpCode"},k={id:"title"},x=m(()=>t("h2",null,"Codex Home",-1));function E(e,S,I,g,w,o){const c=u("router-link");return i(),d(_,{id:"main"},{default:r(()=>[t("h1",v,a(o.code),1),t("h1",k,a(o.title),1),p(c,{id:"link",to:{name:"home"}},{default:r(()=>[x]),_:1})]),_:1})}const C=s(f,[["render",E],["__scopeId","data-v-e215aa2c"]]);export{C as default};
@@ -1 +0,0 @@
1
- import{c as s,e as d,w as r,bj as _,o as i,j as t,t as a,g as p,D as u,q as l,v as h}from"./admin-73d93dc7.js";const n={400:"Bad Request",403:"Forbidden",404:"Page Not Found",500:"Server Error"};Object.freeze(n);const f={name:"HttpError",data(){return{}},computed:{code:function(){return+this.$route.params.code},title:function(){let e=n[this.code];return e||(e="Unknown Error"),e}}},m=e=>(l("data-v-e215aa2c"),e=e(),h(),e),v={id:"httpCode"},k={id:"title"},x=m(()=>t("h2",null,"Codex Home",-1));function E(e,S,I,g,w,o){const c=u("router-link");return i(),d(_,{id:"main"},{default:r(()=>[t("h1",v,a(o.code),1),t("h1",k,a(o.title),1),p(c,{id:"link",to:{name:"home"}},{default:r(()=>[x]),_:1})]),_:1})}const C=s(f,[["render",E],["__scopeId","data-v-e215aa2c"]]);export{C as default};
@@ -1 +0,0 @@
1
- import{H as $t,I as Dt,J as X,u as Y,K as Vt,L as tt,M as Wt,N as Kt,O as Gt,P as Nt,Q as Bt,R as Zt,S as Ut,T as wt,g as k,a as ot,b as zt,C as st,c as Xt,e as Jt,w as Qt,o as Yt,D as kt,U as qt,W as _t,X as te,Y as ee,Z as re,$ as ne,a0 as oe,a1 as se,a2 as at,a3 as it,a4 as ft,a5 as ct,a6 as lt,a7 as ae,a8 as mt,a9 as ie,aa as fe,ab as ce,ac as et,ad as le,ae as ut,af as ue,ag as de,ah as ve,ai as he,aj as pe,ak as St,al as xt,am as ye}from"./admin-73d93dc7.js";const Lt=$t();function ge(a){a.use(Lt)}const me=function(){Vt().setTimestamp();const a=tt.currentRoute.value;a.name==="browser"?Wt().loadBrowserPage({showProgress:!1}):a.name=="admin-libraries"&&Y().loadTables(["Library","FailedImport"])},bt=Dt("socket",{state:()=>({isConnected:!1,reconnectError:!1,app:void 0,heartBeatInterval:5*1e3,heartBeatTimer:0}),actions:{SOCKET_ONOPEN(a){this.app.config.globalProperties.$socket=a.currentTarget,this.$patch(e=>{e.isConnected=!0,e.reconnectError=!1}),this.heartBeatTimer=window.setInterval(()=>{try{this.isConnected&&this.app.config.globalProperties.$socket.send("")}catch(e){console.warn("keep-alive",e)}},this.heartBeatInterval)},SOCKET_ONCLOSE(){this.isConnected=!1,window.clearInterval(this.heartBeatTimer),this.heartBeatTimer=0},SOCKET_ONERROR(a){console.error("socket error",a),this.$patch(e=>{e.isConnected=!1,e.reconnectError=!0})},SOCKET_ONMESSAGE(a){const e=a.data;switch(console.debug(e),e){case X.websockets.LIBRARY_CHANGED:me();break;case X.websockets.LIBRARIAN_STATUS:Y().loadTable("LibrarianStatus");break;case X.websockets.FAILED_IMPORTS:Y().unseenFailedImports=!0;break;default:console.debug("Unhandled websocket message:",e)}},SOCKET_RECONNECT(a){console.debug("socket reconnect",a)},SOCKET_RECONNECT_ERROR(){console.error("socket reconnect error"),this.reconnectError=!0}}});function Se(){return bt(Lt)}const xe=Kt()({name:"VApp",props:{...Gt({fullHeight:!0}),...Nt()},setup(a,e){let{slots:n}=e;const t=Bt(a),{layoutClasses:r,layoutStyles:o,getLayoutItem:s,items:f,layoutRef:i}=Zt(a),{rtlClasses:l}=Ut();return wt(()=>{var c;return k("div",{ref:i,class:["v-application",t.themeClasses.value,r.value,l.value],style:o.value},[k("div",{class:"v-application__wrap"},[(c=n.default)==null?void 0:c.call(n)])])}),{getLayoutItem:s,items:f,theme:t}}}),Le={name:"App",computed:{...ot(bt,{isConnected:a=>a.isConnected}),...ot(st,{user:a=>a.user})},watch:{user:function(){this.setTimezone()}},async created(){this.setTimezone(),this.loadAdminFlags(),this.loadProfile()},methods:{...zt(st,["loadAdminFlags","loadProfile","setTimezone"])}};function be(a,e,n,t,r,o){const s=kt("router-view");return Yt(),Jt(xe,null,{default:Qt(()=>[k(s)]),_:1})}const Te=Xt(Le,[["render",be]]);var Tt={exports:{}};(function(a){a.exports=function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(r,o,s){t.o(r,o)||Object.defineProperty(r,o,{enumerable:!0,get:s})},t.r=function(r){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},t.t=function(r,o){if(o&1&&(r=t(r)),o&8||o&4&&typeof r=="object"&&r&&r.__esModule)return r;var s=Object.create(null);if(t.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:r}),o&2&&typeof r!="string")for(var f in r)t.d(s,f,function(i){return r[i]}.bind(null,f));return s},t.n=function(r){var o=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(o,"a",o),o},t.o=function(r,o){return Object.prototype.hasOwnProperty.call(r,o)},t.p="",t(t.s="fb15")}({"00ee":function(e,n,t){var r=t("b622"),o=r("toStringTag"),s={};s[o]="z",e.exports=String(s)==="[object z]"},"0366":function(e,n,t){var r=t("1c0b");e.exports=function(o,s,f){if(r(o),s===void 0)return o;switch(f){case 0:return function(){return o.call(s)};case 1:return function(i){return o.call(s,i)};case 2:return function(i,l){return o.call(s,i,l)};case 3:return function(i,l,c){return o.call(s,i,l,c)}}return function(){return o.apply(s,arguments)}}},"06cf":function(e,n,t){var r=t("83ab"),o=t("d1e7"),s=t("5c6c"),f=t("fc6a"),i=t("c04e"),l=t("5135"),c=t("0cfb"),d=Object.getOwnPropertyDescriptor;n.f=r?d:function(v,u){if(v=f(v),u=i(u,!0),c)try{return d(v,u)}catch{}if(l(v,u))return s(!o.f.call(v,u),v[u])}},"0cfb":function(e,n,t){var r=t("83ab"),o=t("d039"),s=t("cc12");e.exports=!r&&!o(function(){return Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a!=7})},"159b":function(e,n,t){var r=t("da84"),o=t("fdbc"),s=t("17c2"),f=t("9112");for(var i in o){var l=r[i],c=l&&l.prototype;if(c&&c.forEach!==s)try{f(c,"forEach",s)}catch{c.forEach=s}}},"17c2":function(e,n,t){var r=t("b727").forEach,o=t("a640"),s=o("forEach");e.exports=s?[].forEach:function(i){return r(this,i,arguments.length>1?arguments[1]:void 0)}},"19aa":function(e,n){e.exports=function(t,r,o){if(!(t instanceof r))throw TypeError("Incorrect "+(o?o+" ":"")+"invocation");return t}},"1be4":function(e,n,t){var r=t("d066");e.exports=r("document","documentElement")},"1c0b":function(e,n){e.exports=function(t){if(typeof t!="function")throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(e,n,t){var r=t("b622"),o=r("iterator"),s=!1;try{var f=0,i={next:function(){return{done:!!f++}},return:function(){s=!0}};i[o]=function(){return this},Array.from(i,function(){throw 2})}catch{}e.exports=function(l,c){if(!c&&!s)return!1;var d=!1;try{var g={};g[o]=function(){return{next:function(){return{done:d=!0}}}},l(g)}catch{}return d}},"1d80":function(e,n){e.exports=function(t){if(t==null)throw TypeError("Can't call method on "+t);return t}},"1dde":function(e,n,t){var r=t("d039"),o=t("b622"),s=t("2d00"),f=o("species");e.exports=function(i){return s>=51||!r(function(){var l=[],c=l.constructor={};return c[f]=function(){return{foo:1}},l[i](Boolean).foo!==1})}},2266:function(e,n,t){var r=t("825a"),o=t("e95a"),s=t("50c4"),f=t("0366"),i=t("35a1"),l=t("2a62"),c=function(d,g){this.stopped=d,this.result=g};e.exports=function(d,g,v){var u=v&&v.that,h=!!(v&&v.AS_ENTRIES),p=!!(v&&v.IS_ITERATOR),x=!!(v&&v.INTERRUPTED),y=f(g,u,1+h+x),S,b,C,E,T,m,L,I=function(P){return S&&l(S),new c(!0,P)},O=function(P){return h?(r(P),x?y(P[0],P[1],I):y(P[0],P[1])):x?y(P,I):y(P)};if(p)S=d;else{if(b=i(d),typeof b!="function")throw TypeError("Target is not iterable");if(o(b)){for(C=0,E=s(d.length);E>C;C++)if(T=O(d[C]),T&&T instanceof c)return T;return new c(!1)}S=b.call(d)}for(m=S.next;!(L=m.call(S)).done;){try{T=O(L.value)}catch(P){throw l(S),P}if(typeof T=="object"&&T&&T instanceof c)return T}return new c(!1)}},"23cb":function(e,n,t){var r=t("a691"),o=Math.max,s=Math.min;e.exports=function(f,i){var l=r(f);return l<0?o(l+i,0):s(l,i)}},"23e7":function(e,n,t){var r=t("da84"),o=t("06cf").f,s=t("9112"),f=t("6eeb"),i=t("ce4e"),l=t("e893"),c=t("94ca");e.exports=function(d,g){var v=d.target,u=d.global,h=d.stat,p,x,y,S,b,C;if(u?x=r:h?x=r[v]||i(v,{}):x=(r[v]||{}).prototype,x)for(y in g){if(b=g[y],d.noTargetGet?(C=o(x,y),S=C&&C.value):S=x[y],p=c(u?y:v+(h?".":"#")+y,d.forced),!p&&S!==void 0){if(typeof b==typeof S)continue;l(b,S)}(d.sham||S&&S.sham)&&s(b,"sham",!0),f(x,y,b,d)}}},"241c":function(e,n,t){var r=t("ca84"),o=t("7839"),s=o.concat("length","prototype");n.f=Object.getOwnPropertyNames||function(i){return r(i,s)}},"25f0":function(e,n,t){var r=t("6eeb"),o=t("825a"),s=t("d039"),f=t("ad6d"),i="toString",l=RegExp.prototype,c=l[i],d=s(function(){return c.call({source:"a",flags:"b"})!="/a/b"}),g=c.name!=i;(d||g)&&r(RegExp.prototype,i,function(){var u=o(this),h=String(u.source),p=u.flags,x=String(p===void 0&&u instanceof RegExp&&!("flags"in l)?f.call(u):p);return"/"+h+"/"+x},{unsafe:!0})},2626:function(e,n,t){var r=t("d066"),o=t("9bf2"),s=t("b622"),f=t("83ab"),i=s("species");e.exports=function(l){var c=r(l),d=o.f;f&&c&&!c[i]&&d(c,i,{configurable:!0,get:function(){return this}})}},"2a62":function(e,n,t){var r=t("825a");e.exports=function(o){var s=o.return;if(s!==void 0)return r(s.call(o)).value}},"2ca0":function(e,n,t){var r=t("23e7"),o=t("06cf").f,s=t("50c4"),f=t("5a34"),i=t("1d80"),l=t("ab13"),c=t("c430"),d="".startsWith,g=Math.min,v=l("startsWith"),u=!c&&!v&&!!function(){var h=o(String.prototype,"startsWith");return h&&!h.writable}();r({target:"String",proto:!0,forced:!u&&!v},{startsWith:function(p){var x=String(i(this));f(p);var y=s(g(arguments.length>1?arguments[1]:void 0,x.length)),S=String(p);return d?d.call(x,S,y):x.slice(y,y+S.length)===S}})},"2d00":function(e,n,t){var r=t("da84"),o=t("342f"),s=r.process,f=s&&s.versions,i=f&&f.v8,l,c;i?(l=i.split("."),c=l[0]<4?1:l[0]+l[1]):o&&(l=o.match(/Edge\/(\d+)/),(!l||l[1]>=74)&&(l=o.match(/Chrome\/(\d+)/),l&&(c=l[1]))),e.exports=c&&+c},"342f":function(e,n,t){var r=t("d066");e.exports=r("navigator","userAgent")||""},"35a1":function(e,n,t){var r=t("f5df"),o=t("3f8c"),s=t("b622"),f=s("iterator");e.exports=function(i){if(i!=null)return i[f]||i["@@iterator"]||o[r(i)]}},"37e8":function(e,n,t){var r=t("83ab"),o=t("9bf2"),s=t("825a"),f=t("df75");e.exports=r?Object.defineProperties:function(l,c){s(l);for(var d=f(c),g=d.length,v=0,u;g>v;)o.f(l,u=d[v++],c[u]);return l}},"3bbe":function(e,n,t){var r=t("861d");e.exports=function(o){if(!r(o)&&o!==null)throw TypeError("Can't set "+String(o)+" as a prototype");return o}},"3ca3":function(e,n,t){var r=t("6547").charAt,o=t("69f3"),s=t("7dd0"),f="String Iterator",i=o.set,l=o.getterFor(f);s(String,"String",function(c){i(this,{type:f,string:String(c),index:0})},function(){var d=l(this),g=d.string,v=d.index,u;return v>=g.length?{value:void 0,done:!0}:(u=r(g,v),d.index+=u.length,{value:u,done:!1})})},"3f8c":function(e,n){e.exports={}},"428f":function(e,n,t){var r=t("da84");e.exports=r},"44ad":function(e,n,t){var r=t("d039"),o=t("c6b6"),s="".split;e.exports=r(function(){return!Object("z").propertyIsEnumerable(0)})?function(f){return o(f)=="String"?s.call(f,""):Object(f)}:Object},"44d2":function(e,n,t){var r=t("b622"),o=t("7c73"),s=t("9bf2"),f=r("unscopables"),i=Array.prototype;i[f]==null&&s.f(i,f,{configurable:!0,value:o(null)}),e.exports=function(l){i[f][l]=!0}},"44e7":function(e,n,t){var r=t("861d"),o=t("c6b6"),s=t("b622"),f=s("match");e.exports=function(i){var l;return r(i)&&((l=i[f])!==void 0?!!l:o(i)=="RegExp")}},4930:function(e,n,t){var r=t("2d00"),o=t("d039");e.exports=!!Object.getOwnPropertySymbols&&!o(function(){var s=Symbol();return!String(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&r&&r<41})},"4d64":function(e,n,t){var r=t("fc6a"),o=t("50c4"),s=t("23cb"),f=function(i){return function(l,c,d){var g=r(l),v=o(g.length),u=s(d,v),h;if(i&&c!=c){for(;v>u;)if(h=g[u++],h!=h)return!0}else for(;v>u;u++)if((i||u in g)&&g[u]===c)return i||u||0;return!i&&-1}};e.exports={includes:f(!0),indexOf:f(!1)}},"4de4":function(e,n,t){var r=t("23e7"),o=t("b727").filter,s=t("1dde"),f=s("filter");r({target:"Array",proto:!0,forced:!f},{filter:function(l){return o(this,l,arguments.length>1?arguments[1]:void 0)}})},"4ec9":function(e,n,t){var r=t("6d61"),o=t("6566");e.exports=r("Map",function(s){return function(){return s(this,arguments.length?arguments[0]:void 0)}},o)},"50c4":function(e,n,t){var r=t("a691"),o=Math.min;e.exports=function(s){return s>0?o(r(s),9007199254740991):0}},5135:function(e,n,t){var r=t("7b0b"),o={}.hasOwnProperty;e.exports=Object.hasOwn||function(f,i){return o.call(r(f),i)}},5692:function(e,n,t){var r=t("c430"),o=t("c6cd");(e.exports=function(s,f){return o[s]||(o[s]=f!==void 0?f:{})})("versions",[]).push({version:"3.15.2",mode:r?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,n,t){var r=t("d066"),o=t("241c"),s=t("7418"),f=t("825a");e.exports=r("Reflect","ownKeys")||function(l){var c=o.f(f(l)),d=s.f;return d?c.concat(d(l)):c}},"5a34":function(e,n,t){var r=t("44e7");e.exports=function(o){if(r(o))throw TypeError("The method doesn't accept regular expressions");return o}},"5c6c":function(e,n){e.exports=function(t,r){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:r}}},6547:function(e,n,t){var r=t("a691"),o=t("1d80"),s=function(f){return function(i,l){var c=String(o(i)),d=r(l),g=c.length,v,u;return d<0||d>=g?f?"":void 0:(v=c.charCodeAt(d),v<55296||v>56319||d+1===g||(u=c.charCodeAt(d+1))<56320||u>57343?f?c.charAt(d):v:f?c.slice(d,d+2):(v-55296<<10)+(u-56320)+65536)}};e.exports={codeAt:s(!1),charAt:s(!0)}},6566:function(e,n,t){var r=t("9bf2").f,o=t("7c73"),s=t("e2cc"),f=t("0366"),i=t("19aa"),l=t("2266"),c=t("7dd0"),d=t("2626"),g=t("83ab"),v=t("f183").fastKey,u=t("69f3"),h=u.set,p=u.getterFor;e.exports={getConstructor:function(x,y,S,b){var C=x(function(L,I){i(L,C,y),h(L,{type:y,index:o(null),first:void 0,last:void 0,size:0}),g||(L.size=0),I!=null&&l(I,L[b],{that:L,AS_ENTRIES:S})}),E=p(y),T=function(L,I,O){var P=E(L),A=m(L,I),M,j;return A?A.value=O:(P.last=A={index:j=v(I,!0),key:I,value:O,previous:M=P.last,next:void 0,removed:!1},P.first||(P.first=A),M&&(M.next=A),g?P.size++:L.size++,j!=="F"&&(P.index[j]=A)),L},m=function(L,I){var O=E(L),P=v(I),A;if(P!=="F")return O.index[P];for(A=O.first;A;A=A.next)if(A.key==I)return A};return s(C.prototype,{clear:function(){for(var I=this,O=E(I),P=O.index,A=O.first;A;)A.removed=!0,A.previous&&(A.previous=A.previous.next=void 0),delete P[A.index],A=A.next;O.first=O.last=void 0,g?O.size=0:I.size=0},delete:function(L){var I=this,O=E(I),P=m(I,L);if(P){var A=P.next,M=P.previous;delete O.index[P.index],P.removed=!0,M&&(M.next=A),A&&(A.previous=M),O.first==P&&(O.first=A),O.last==P&&(O.last=M),g?O.size--:I.size--}return!!P},forEach:function(I){for(var O=E(this),P=f(I,arguments.length>1?arguments[1]:void 0,3),A;A=A?A.next:O.first;)for(P(A.value,A.key,this);A&&A.removed;)A=A.previous},has:function(I){return!!m(this,I)}}),s(C.prototype,S?{get:function(I){var O=m(this,I);return O&&O.value},set:function(I,O){return T(this,I===0?0:I,O)}}:{add:function(I){return T(this,I=I===0?0:I,I)}}),g&&r(C.prototype,"size",{get:function(){return E(this).size}}),C},setStrong:function(x,y,S){var b=y+" Iterator",C=p(y),E=p(b);c(x,y,function(T,m){h(this,{type:b,target:T,state:C(T),kind:m,last:void 0})},function(){for(var T=E(this),m=T.kind,L=T.last;L&&L.removed;)L=L.previous;return!T.target||!(T.last=L=L?L.next:T.state.first)?(T.target=void 0,{value:void 0,done:!0}):m=="keys"?{value:L.key,done:!1}:m=="values"?{value:L.value,done:!1}:{value:[L.key,L.value],done:!1}},S?"entries":"values",!S,!0),d(y)}}},"65f0":function(e,n,t){var r=t("861d"),o=t("e8b5"),s=t("b622"),f=s("species");e.exports=function(i,l){var c;return o(i)&&(c=i.constructor,typeof c=="function"&&(c===Array||o(c.prototype))?c=void 0:r(c)&&(c=c[f],c===null&&(c=void 0))),new(c===void 0?Array:c)(l===0?0:l)}},"69f3":function(e,n,t){var r=t("7f9a"),o=t("da84"),s=t("861d"),f=t("9112"),i=t("5135"),l=t("c6cd"),c=t("f772"),d=t("d012"),g="Object already initialized",v=o.WeakMap,u,h,p,x=function(m){return p(m)?h(m):u(m,{})},y=function(m){return function(L){var I;if(!s(L)||(I=h(L)).type!==m)throw TypeError("Incompatible receiver, "+m+" required");return I}};if(r||l.state){var S=l.state||(l.state=new v),b=S.get,C=S.has,E=S.set;u=function(m,L){if(C.call(S,m))throw new TypeError(g);return L.facade=m,E.call(S,m,L),L},h=function(m){return b.call(S,m)||{}},p=function(m){return C.call(S,m)}}else{var T=c("state");d[T]=!0,u=function(m,L){if(i(m,T))throw new TypeError(g);return L.facade=m,f(m,T,L),L},h=function(m){return i(m,T)?m[T]:{}},p=function(m){return i(m,T)}}e.exports={set:u,get:h,has:p,enforce:x,getterFor:y}},"6d61":function(e,n,t){var r=t("23e7"),o=t("da84"),s=t("94ca"),f=t("6eeb"),i=t("f183"),l=t("2266"),c=t("19aa"),d=t("861d"),g=t("d039"),v=t("1c7e"),u=t("d44e"),h=t("7156");e.exports=function(p,x,y){var S=p.indexOf("Map")!==-1,b=p.indexOf("Weak")!==-1,C=S?"set":"add",E=o[p],T=E&&E.prototype,m=E,L={},I=function(R){var F=T[R];f(T,R,R=="add"?function(H){return F.call(this,H===0?0:H),this}:R=="delete"?function($){return b&&!d($)?!1:F.call(this,$===0?0:$)}:R=="get"?function(H){return b&&!d(H)?void 0:F.call(this,H===0?0:H)}:R=="has"?function(H){return b&&!d(H)?!1:F.call(this,H===0?0:H)}:function(H,K){return F.call(this,H===0?0:H,K),this})},O=s(p,typeof E!="function"||!(b||T.forEach&&!g(function(){new E().entries().next()})));if(O)m=y.getConstructor(x,p,S,C),i.REQUIRED=!0;else if(s(p,!0)){var P=new m,A=P[C](b?{}:-0,1)!=P,M=g(function(){P.has(1)}),j=v(function(R){new E(R)}),D=!b&&g(function(){for(var R=new E,F=5;F--;)R[C](F,F);return!R.has(-0)});j||(m=x(function(R,F){c(R,m,p);var $=h(new E,R,m);return F!=null&&l(F,$[C],{that:$,AS_ENTRIES:S}),$}),m.prototype=T,T.constructor=m),(M||D)&&(I("delete"),I("has"),S&&I("get")),(D||A)&&I(C),b&&T.clear&&delete T.clear}return L[p]=m,r({global:!0,forced:m!=E},L),u(m,p),b||y.setStrong(m,p,S),m}},"6eeb":function(e,n,t){var r=t("da84"),o=t("9112"),s=t("5135"),f=t("ce4e"),i=t("8925"),l=t("69f3"),c=l.get,d=l.enforce,g=String(String).split("String");(e.exports=function(v,u,h,p){var x=p?!!p.unsafe:!1,y=p?!!p.enumerable:!1,S=p?!!p.noTargetGet:!1,b;if(typeof h=="function"&&(typeof u=="string"&&!s(h,"name")&&o(h,"name",u),b=d(h),b.source||(b.source=g.join(typeof u=="string"?u:""))),v===r){y?v[u]=h:f(u,h);return}else x?!S&&v[u]&&(y=!0):delete v[u];y?v[u]=h:o(v,u,h)})(Function.prototype,"toString",function(){return typeof this=="function"&&c(this).source||i(this)})},7156:function(e,n,t){var r=t("861d"),o=t("d2bb");e.exports=function(s,f,i){var l,c;return o&&typeof(l=f.constructor)=="function"&&l!==i&&r(c=l.prototype)&&c!==i.prototype&&o(s,c),s}},7418:function(e,n){n.f=Object.getOwnPropertySymbols},7839:function(e,n){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(e,n,t){var r=t("1d80");e.exports=function(o){return Object(r(o))}},"7c73":function(e,n,t){var r=t("825a"),o=t("37e8"),s=t("7839"),f=t("d012"),i=t("1be4"),l=t("cc12"),c=t("f772"),d=">",g="<",v="prototype",u="script",h=c("IE_PROTO"),p=function(){},x=function(E){return g+u+d+E+g+"/"+u+d},y=function(E){E.write(x("")),E.close();var T=E.parentWindow.Object;return E=null,T},S=function(){var E=l("iframe"),T="java"+u+":",m;return E.style.display="none",i.appendChild(E),E.src=String(T),m=E.contentWindow.document,m.open(),m.write(x("document.F=Object")),m.close(),m.F},b,C=function(){try{b=document.domain&&new ActiveXObject("htmlfile")}catch{}C=b?y(b):S();for(var E=s.length;E--;)delete C[v][s[E]];return C()};f[h]=!0,e.exports=Object.create||function(T,m){var L;return T!==null?(p[v]=r(T),L=new p,p[v]=null,L[h]=T):L=C(),m===void 0?L:o(L,m)}},"7dd0":function(e,n,t){var r=t("23e7"),o=t("9ed3"),s=t("e163"),f=t("d2bb"),i=t("d44e"),l=t("9112"),c=t("6eeb"),d=t("b622"),g=t("c430"),v=t("3f8c"),u=t("ae93"),h=u.IteratorPrototype,p=u.BUGGY_SAFARI_ITERATORS,x=d("iterator"),y="keys",S="values",b="entries",C=function(){return this};e.exports=function(E,T,m,L,I,O,P){o(m,T,L);var A=function(W){if(W===I&&F)return F;if(!p&&W in D)return D[W];switch(W){case y:return function(){return new m(this,W)};case S:return function(){return new m(this,W)};case b:return function(){return new m(this,W)}}return function(){return new m(this)}},M=T+" Iterator",j=!1,D=E.prototype,R=D[x]||D["@@iterator"]||I&&D[I],F=!p&&R||A(I),$=T=="Array"&&D.entries||R,H,K,Z;if($&&(H=s($.call(new E)),h!==Object.prototype&&H.next&&(!g&&s(H)!==h&&(f?f(H,h):typeof H[x]!="function"&&l(H,x,C)),i(H,M,!0,!0),g&&(v[M]=C))),I==S&&R&&R.name!==S&&(j=!0,F=function(){return R.call(this)}),(!g||P)&&D[x]!==F&&l(D,x,F),v[T]=F,I)if(K={values:A(S),keys:O?F:A(y),entries:A(b)},P)for(Z in K)(p||j||!(Z in D))&&c(D,Z,K[Z]);else r({target:T,proto:!0,forced:p||j},K);return K}},"7f9a":function(e,n,t){var r=t("da84"),o=t("8925"),s=r.WeakMap;e.exports=typeof s=="function"&&/native code/.test(o(s))},"825a":function(e,n,t){var r=t("861d");e.exports=function(o){if(!r(o))throw TypeError(String(o)+" is not an object");return o}},"83ab":function(e,n,t){var r=t("d039");e.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(e,n,t){var r=t("c04e"),o=t("9bf2"),s=t("5c6c");e.exports=function(f,i,l){var c=r(i);c in f?o.f(f,c,s(0,l)):f[c]=l}},"861d":function(e,n){e.exports=function(t){return typeof t=="object"?t!==null:typeof t=="function"}},8875:function(e,n,t){var r,o,s;(function(f,i){o=[],r=i,s=typeof r=="function"?r.apply(n,o):r,s!==void 0&&(e.exports=s)})(typeof self<"u"?self:this,function(){function f(){var i=Object.getOwnPropertyDescriptor(document,"currentScript");if(!i&&"currentScript"in document&&document.currentScript||i&&i.get!==f&&document.currentScript)return document.currentScript;try{throw new Error}catch(b){var l=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,c=/@([^@]*):(\d+):(\d+)\s*$/ig,d=l.exec(b.stack)||c.exec(b.stack),g=d&&d[1]||!1,v=d&&d[2]||!1,u=document.location.href.replace(document.location.hash,""),h,p,x,y=document.getElementsByTagName("script");g===u&&(h=document.documentElement.outerHTML,p=new RegExp("(?:[^\\n]+?\\n){0,"+(v-2)+"}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*","i"),x=h.replace(p,"$1").trim());for(var S=0;S<y.length;S++)if(y[S].readyState==="interactive"||y[S].src===g||g===u&&y[S].innerHTML&&y[S].innerHTML.trim()===x)return y[S];return null}}return f})},8925:function(e,n,t){var r=t("c6cd"),o=Function.toString;typeof r.inspectSource!="function"&&(r.inspectSource=function(s){return o.call(s)}),e.exports=r.inspectSource},"90e3":function(e,n){var t=0,r=Math.random();e.exports=function(o){return"Symbol("+String(o===void 0?"":o)+")_"+(++t+r).toString(36)}},9112:function(e,n,t){var r=t("83ab"),o=t("9bf2"),s=t("5c6c");e.exports=r?function(f,i,l){return o.f(f,i,s(1,l))}:function(f,i,l){return f[i]=l,f}},"94ca":function(e,n,t){var r=t("d039"),o=/#|\.prototype\./,s=function(d,g){var v=i[f(d)];return v==c?!0:v==l?!1:typeof g=="function"?r(g):!!g},f=s.normalize=function(d){return String(d).replace(o,".").toLowerCase()},i=s.data={},l=s.NATIVE="N",c=s.POLYFILL="P";e.exports=s},"99af":function(e,n,t){var r=t("23e7"),o=t("d039"),s=t("e8b5"),f=t("861d"),i=t("7b0b"),l=t("50c4"),c=t("8418"),d=t("65f0"),g=t("1dde"),v=t("b622"),u=t("2d00"),h=v("isConcatSpreadable"),p=9007199254740991,x="Maximum allowed index exceeded",y=u>=51||!o(function(){var E=[];return E[h]=!1,E.concat()[0]!==E}),S=g("concat"),b=function(E){if(!f(E))return!1;var T=E[h];return T!==void 0?!!T:s(E)},C=!y||!S;r({target:"Array",proto:!0,forced:C},{concat:function(T){var m=i(this),L=d(m,0),I=0,O,P,A,M,j;for(O=-1,A=arguments.length;O<A;O++)if(j=O===-1?m:arguments[O],b(j)){if(M=l(j.length),I+M>p)throw TypeError(x);for(P=0;P<M;P++,I++)P in j&&c(L,I,j[P])}else{if(I>=p)throw TypeError(x);c(L,I++,j)}return L.length=I,L}})},"9bf2":function(e,n,t){var r=t("83ab"),o=t("0cfb"),s=t("825a"),f=t("c04e"),i=Object.defineProperty;n.f=r?i:function(c,d,g){if(s(c),d=f(d,!0),s(g),o)try{return i(c,d,g)}catch{}if("get"in g||"set"in g)throw TypeError("Accessors not supported");return"value"in g&&(c[d]=g.value),c}},"9ed3":function(e,n,t){var r=t("ae93").IteratorPrototype,o=t("7c73"),s=t("5c6c"),f=t("d44e"),i=t("3f8c"),l=function(){return this};e.exports=function(c,d,g){var v=d+" Iterator";return c.prototype=o(r,{next:s(1,g)}),f(c,v,!1,!0),i[v]=l,c}},a15b:function(e,n,t){var r=t("23e7"),o=t("44ad"),s=t("fc6a"),f=t("a640"),i=[].join,l=o!=Object,c=f("join",",");r({target:"Array",proto:!0,forced:l||!c},{join:function(g){return i.call(s(this),g===void 0?",":g)}})},a434:function(e,n,t){var r=t("23e7"),o=t("23cb"),s=t("a691"),f=t("50c4"),i=t("7b0b"),l=t("65f0"),c=t("8418"),d=t("1dde"),g=d("splice"),v=Math.max,u=Math.min,h=9007199254740991,p="Maximum allowed length exceeded";r({target:"Array",proto:!0,forced:!g},{splice:function(y,S){var b=i(this),C=f(b.length),E=o(y,C),T=arguments.length,m,L,I,O,P,A;if(T===0?m=L=0:T===1?(m=0,L=C-E):(m=T-2,L=u(v(s(S),0),C-E)),C+m-L>h)throw TypeError(p);for(I=l(b,L),O=0;O<L;O++)P=E+O,P in b&&c(I,O,b[P]);if(I.length=L,m<L){for(O=E;O<C-L;O++)P=O+L,A=O+m,P in b?b[A]=b[P]:delete b[A];for(O=C;O>C-L+m;O--)delete b[O-1]}else if(m>L)for(O=C-L;O>E;O--)P=O+L-1,A=O+m-1,P in b?b[A]=b[P]:delete b[A];for(O=0;O<m;O++)b[O+E]=arguments[O+2];return b.length=C-L+m,I}})},a640:function(e,n,t){var r=t("d039");e.exports=function(o,s){var f=[][o];return!!f&&r(function(){f.call(null,s||function(){throw 1},1)})}},a691:function(e,n){var t=Math.ceil,r=Math.floor;e.exports=function(o){return isNaN(o=+o)?0:(o>0?r:t)(o)}},ab13:function(e,n,t){var r=t("b622"),o=r("match");e.exports=function(s){var f=/./;try{"/./"[s](f)}catch{try{return f[o]=!1,"/./"[s](f)}catch{}}return!1}},ad6d:function(e,n,t){var r=t("825a");e.exports=function(){var o=r(this),s="";return o.global&&(s+="g"),o.ignoreCase&&(s+="i"),o.multiline&&(s+="m"),o.dotAll&&(s+="s"),o.unicode&&(s+="u"),o.sticky&&(s+="y"),s}},ae93:function(e,n,t){var r=t("d039"),o=t("e163"),s=t("9112"),f=t("5135"),i=t("b622"),l=t("c430"),c=i("iterator"),d=!1,g=function(){return this},v,u,h;[].keys&&(h=[].keys(),"next"in h?(u=o(o(h)),u!==Object.prototype&&(v=u)):d=!0);var p=v==null||r(function(){var x={};return v[c].call(x)!==x});p&&(v={}),(!l||p)&&!f(v,c)&&s(v,c,g),e.exports={IteratorPrototype:v,BUGGY_SAFARI_ITERATORS:d}},af93:function(e,n,t){var r=t("23e7"),o=t("861d"),s=t("f183").onFreeze,f=t("bb2f"),i=t("d039"),l=Object.seal,c=i(function(){l(1)});r({target:"Object",stat:!0,forced:c,sham:!f},{seal:function(g){return l&&o(g)?l(s(g)):g}})},b041:function(e,n,t){var r=t("00ee"),o=t("f5df");e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b622:function(e,n,t){var r=t("da84"),o=t("5692"),s=t("5135"),f=t("90e3"),i=t("4930"),l=t("fdbf"),c=o("wks"),d=r.Symbol,g=l?d:d&&d.withoutSetter||f;e.exports=function(v){return(!s(c,v)||!(i||typeof c[v]=="string"))&&(i&&s(d,v)?c[v]=d[v]:c[v]=g("Symbol."+v)),c[v]}},b64b:function(e,n,t){var r=t("23e7"),o=t("7b0b"),s=t("df75"),f=t("d039"),i=f(function(){s(1)});r({target:"Object",stat:!0,forced:i},{keys:function(c){return s(o(c))}})},b727:function(e,n,t){var r=t("0366"),o=t("44ad"),s=t("7b0b"),f=t("50c4"),i=t("65f0"),l=[].push,c=function(d){var g=d==1,v=d==2,u=d==3,h=d==4,p=d==6,x=d==7,y=d==5||p;return function(S,b,C,E){for(var T=s(S),m=o(T),L=r(b,C,3),I=f(m.length),O=0,P=E||i,A=g?P(S,I):v||x?P(S,0):void 0,M,j;I>O;O++)if((y||O in m)&&(M=m[O],j=L(M,O,T),d))if(g)A[O]=j;else if(j)switch(d){case 3:return!0;case 5:return M;case 6:return O;case 2:l.call(A,M)}else switch(d){case 4:return!1;case 7:l.call(A,M)}return p?-1:u||h?h:A}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterOut:c(7)}},bb2f:function(e,n,t){var r=t("d039");e.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},c04e:function(e,n,t){var r=t("861d");e.exports=function(o,s){if(!r(o))return o;var f,i;if(s&&typeof(f=o.toString)=="function"&&!r(i=f.call(o))||typeof(f=o.valueOf)=="function"&&!r(i=f.call(o))||!s&&typeof(f=o.toString)=="function"&&!r(i=f.call(o)))return i;throw TypeError("Can't convert object to primitive value")}},c430:function(e,n){e.exports=!1},c6b6:function(e,n){var t={}.toString;e.exports=function(r){return t.call(r).slice(8,-1)}},c6cd:function(e,n,t){var r=t("da84"),o=t("ce4e"),s="__core-js_shared__",f=r[s]||o(s,{});e.exports=f},c8ba:function(e,n){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch{typeof window=="object"&&(t=window)}e.exports=t},ca84:function(e,n,t){var r=t("5135"),o=t("fc6a"),s=t("4d64").indexOf,f=t("d012");e.exports=function(i,l){var c=o(i),d=0,g=[],v;for(v in c)!r(f,v)&&r(c,v)&&g.push(v);for(;l.length>d;)r(c,v=l[d++])&&(~s(g,v)||g.push(v));return g}},cc12:function(e,n,t){var r=t("da84"),o=t("861d"),s=r.document,f=o(s)&&o(s.createElement);e.exports=function(i){return f?s.createElement(i):{}}},ce4e:function(e,n,t){var r=t("da84"),o=t("9112");e.exports=function(s,f){try{o(r,s,f)}catch{r[s]=f}return f}},d012:function(e,n){e.exports={}},d039:function(e,n){e.exports=function(t){try{return!!t()}catch{return!0}}},d066:function(e,n,t){var r=t("428f"),o=t("da84"),s=function(f){return typeof f=="function"?f:void 0};e.exports=function(f,i){return arguments.length<2?s(r[f])||s(o[f]):r[f]&&r[f][i]||o[f]&&o[f][i]}},d1e7:function(e,n,t){var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,s=o&&!r.call({1:2},1);n.f=s?function(i){var l=o(this,i);return!!l&&l.enumerable}:r},d2bb:function(e,n,t){var r=t("825a"),o=t("3bbe");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var s=!1,f={},i;try{i=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,i.call(f,[]),s=f instanceof Array}catch{}return function(c,d){return r(c),o(d),s?i.call(c,d):c.__proto__=d,c}}():void 0)},d3b7:function(e,n,t){var r=t("00ee"),o=t("6eeb"),s=t("b041");r||o(Object.prototype,"toString",s,{unsafe:!0})},d44e:function(e,n,t){var r=t("9bf2").f,o=t("5135"),s=t("b622"),f=s("toStringTag");e.exports=function(i,l,c){i&&!o(i=c?i:i.prototype,f)&&r(i,f,{configurable:!0,value:l})}},da84:function(e,n,t){(function(r){var o=function(s){return s&&s.Math==Math&&s};e.exports=o(typeof globalThis=="object"&&globalThis)||o(typeof window=="object"&&window)||o(typeof self=="object"&&self)||o(typeof r=="object"&&r)||function(){return this}()||Function("return this")()}).call(this,t("c8ba"))},ddb0:function(e,n,t){var r=t("da84"),o=t("fdbc"),s=t("e260"),f=t("9112"),i=t("b622"),l=i("iterator"),c=i("toStringTag"),d=s.values;for(var g in o){var v=r[g],u=v&&v.prototype;if(u){if(u[l]!==d)try{f(u,l,d)}catch{u[l]=d}if(u[c]||f(u,c,g),o[g]){for(var h in s)if(u[h]!==s[h])try{f(u,h,s[h])}catch{u[h]=s[h]}}}}},df75:function(e,n,t){var r=t("ca84"),o=t("7839");e.exports=Object.keys||function(f){return r(f,o)}},e163:function(e,n,t){var r=t("5135"),o=t("7b0b"),s=t("f772"),f=t("e177"),i=s("IE_PROTO"),l=Object.prototype;e.exports=f?Object.getPrototypeOf:function(c){return c=o(c),r(c,i)?c[i]:typeof c.constructor=="function"&&c instanceof c.constructor?c.constructor.prototype:c instanceof Object?l:null}},e177:function(e,n,t){var r=t("d039");e.exports=!r(function(){function o(){}return o.prototype.constructor=null,Object.getPrototypeOf(new o)!==o.prototype})},e260:function(e,n,t){var r=t("fc6a"),o=t("44d2"),s=t("3f8c"),f=t("69f3"),i=t("7dd0"),l="Array Iterator",c=f.set,d=f.getterFor(l);e.exports=i(Array,"Array",function(g,v){c(this,{type:l,target:r(g),index:0,kind:v})},function(){var g=d(this),v=g.target,u=g.kind,h=g.index++;return!v||h>=v.length?(g.target=void 0,{value:void 0,done:!0}):u=="keys"?{value:h,done:!1}:u=="values"?{value:v[h],done:!1}:{value:[h,v[h]],done:!1}},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},e2cc:function(e,n,t){var r=t("6eeb");e.exports=function(o,s,f){for(var i in s)r(o,i,s[i],f);return o}},e893:function(e,n,t){var r=t("5135"),o=t("56ef"),s=t("06cf"),f=t("9bf2");e.exports=function(i,l){for(var c=o(l),d=f.f,g=s.f,v=0;v<c.length;v++){var u=c[v];r(i,u)||d(i,u,g(l,u))}}},e8b5:function(e,n,t){var r=t("c6b6");e.exports=Array.isArray||function(s){return r(s)=="Array"}},e95a:function(e,n,t){var r=t("b622"),o=t("3f8c"),s=r("iterator"),f=Array.prototype;e.exports=function(i){return i!==void 0&&(o.Array===i||f[s]===i)}},f183:function(e,n,t){var r=t("d012"),o=t("861d"),s=t("5135"),f=t("9bf2").f,i=t("90e3"),l=t("bb2f"),c=i("meta"),d=0,g=Object.isExtensible||function(){return!0},v=function(y){f(y,c,{value:{objectID:"O"+d++,weakData:{}}})},u=function(y,S){if(!o(y))return typeof y=="symbol"?y:(typeof y=="string"?"S":"P")+y;if(!s(y,c)){if(!g(y))return"F";if(!S)return"E";v(y)}return y[c].objectID},h=function(y,S){if(!s(y,c)){if(!g(y))return!0;if(!S)return!1;v(y)}return y[c].weakData},p=function(y){return l&&x.REQUIRED&&g(y)&&!s(y,c)&&v(y),y},x=e.exports={REQUIRED:!1,fastKey:u,getWeakData:h,onFreeze:p};r[c]=!0},f5df:function(e,n,t){var r=t("00ee"),o=t("c6b6"),s=t("b622"),f=s("toStringTag"),i=o(function(){return arguments}())=="Arguments",l=function(c,d){try{return c[d]}catch{}};e.exports=r?o:function(c){var d,g,v;return c===void 0?"Undefined":c===null?"Null":typeof(g=l(d=Object(c),f))=="string"?g:i?o(d):(v=o(d))=="Object"&&typeof d.callee=="function"?"Arguments":v}},f772:function(e,n,t){var r=t("5692"),o=t("90e3"),s=r("keys");e.exports=function(f){return s[f]||(s[f]=o(f))}},fb15:function(e,n,t){if(t.r(n),typeof window<"u"){var r=window.document.currentScript;{var o=t("8875");r=o(),"currentScript"in document||Object.defineProperty(document,"currentScript",{get:o})}var s=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);s&&(t.p=s[1])}t("d3b7"),t("25f0"),t("159b"),t("b64b"),t("af93");function f(u,h){if(!(u instanceof h))throw new TypeError("Cannot call a class as a function")}function i(u,h){for(var p=0;p<h.length;p++){var x=h[p];x.enumerable=x.enumerable||!1,x.configurable=!0,"value"in x&&(x.writable=!0),Object.defineProperty(u,x.key,x)}}function l(u,h,p){return h&&i(u.prototype,h),p&&i(u,p),u}t("2ca0"),t("99af"),t("a15b"),t("4de4"),t("e260"),t("4ec9"),t("3ca3"),t("ddb0"),t("a434");var c=function(){function u(){f(this,u),this.listeners=new Map}return l(u,[{key:"addListener",value:function(p,x,y){return typeof x=="function"?(this.listeners.has(p)||this.listeners.set(p,[]),this.listeners.get(p).push({callback:x,vm:y}),!0):!1}},{key:"removeListener",value:function(p,x,y){var S=this.listeners.get(p),b;return S&&S.length&&(b=S.reduce(function(C,E,T){return typeof E.callback=="function"&&E.callback===x&&E.vm===y&&(C=T),C},-1),b>-1)?(S.splice(b,1),this.listeners.set(p,S),!0):!1}},{key:"emit",value:function(p){for(var x=arguments.length,y=new Array(x>1?x-1:0),S=1;S<x;S++)y[S-1]=arguments[S];var b=this.listeners.get(p);return b&&b.length?(b.forEach(function(C){var E;(E=C.callback).call.apply(E,[C.vm].concat(y))}),!0):!1}}]),u}(),d=new c,g=function(){function u(h){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{format:""};if(f(this,u),this.reconnectTimeoutId=0,this.reconnectionCount=0,this.format=p.format&&p.format.toLowerCase(),h.startsWith("//")){var x=window.location.protocol==="https:"?"wss":"ws";h="".concat(x,":").concat(h)}this.connectionUrl=h,this.opts=p,this.reconnection=this.opts.reconnection||!1,this.reconnectionAttempts=this.opts.reconnectionAttempts||1/0,this.reconnectionDelay=this.opts.reconnectionDelay||1e3,this.passToStoreHandler=this.opts.passToStoreHandler,this.connect(h,p),p.store&&(this.store=p.store),p.mutations&&(this.mutations=p.mutations),this.onEvent()}return l(u,[{key:"connect",value:function(p){var x=this,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{format:""},S=y.protocol||"";return this.WebSocket=y.WebSocket||(S===""?new WebSocket(p):new WebSocket(p,S)),this.format==="json"&&("sendObj"in this.WebSocket||(this.WebSocket.sendObj=function(b){return x.WebSocket.send(JSON.stringify(b))})),this.WebSocket}},{key:"reconnect",value:function(){var p=this;this.reconnectionCount<=this.reconnectionAttempts?(this.reconnectionCount++,window.clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=window.setTimeout(function(){p.store&&p.passToStore("SOCKET_RECONNECT",p.reconnectionCount),p.connect(p.connectionUrl,p.opts),p.onEvent()},this.reconnectionDelay)):this.store&&this.passToStore("SOCKET_RECONNECT_ERROR",!0)}},{key:"onEvent",value:function(){var p=this;["onmessage","onclose","onerror","onopen"].forEach(function(x){p.WebSocket[x]=function(y){d.emit(x,y),p.store&&p.passToStore("SOCKET_"+x,y),p.reconnection&&x==="onopen"&&(p.opts.$setInstance&&p.opts.$setInstance(y.currentTarget),p.reconnectionCount=0),p.reconnection&&x==="onclose"&&p.reconnect()}})}},{key:"passToStore",value:function(p,x){this.passToStoreHandler?this.passToStoreHandler(p,x,this.defaultPassToStore.bind(this)):this.defaultPassToStore(p,x)}},{key:"defaultPassToStore",value:function(p,x){if(p.startsWith("SOCKET_")){var y="commit",S=p.toUpperCase(),b=x;this.format==="json"&&x.data&&(b=JSON.parse(x.data),b.mutation?S=[b.namespace||"",b.mutation].filter(function(C){return!!C}).join("/"):b.action&&(y="dispatch",S=[b.namespace||"",b.action].filter(function(C){return!!C}).join("/"))),this.mutations&&(S=this.mutations[S]||S),this.store._p?(S=p.toUpperCase(),this.store[S](b)):this.store[y](S,b)}}}]),u}(),v={install:function(h,p){var x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{format:""};if(!p)throw new Error("[vue-native-socket] cannot locate connection");var y;x.$setInstance=function(b){h.config.globalProperties.$socket=b},x.connectManually?(h.config.globalProperties.$connect=function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:x;C.$setInstance=x.$setInstance,y=new g(b,C),h.config.globalProperties.$socket=y.WebSocket},h.config.globalProperties.$disconnect=function(){y&&y.reconnection&&(y.reconnection=!1,clearTimeout(y.reconnectTimeoutId)),h.config.globalProperties.$socket&&(h.config.globalProperties.$socket.close(),delete h.config.globalProperties.$socket)}):(y=new g(p,x),h.config.globalProperties.$socket=y.WebSocket);var S=typeof Proxy<"u"&&typeof Proxy=="function"&&/native code/.test(Proxy.toString());h.mixin({created:function(){var C=this,E=this,T=this.$options.sockets;S?(this.$options.sockets=new Proxy({},{set:function(L,I,O){return d.addListener(I,O,E),L[I]=O,!0},deleteProperty:function(L,I){return d.removeListener(I,E.$options.sockets[I],E),delete L.key,!0}}),h.config.globalProperties.sockets=new Proxy({},{set:function(L,I,O){return d.addListener(I,O,E),L[I]=O,!0},deleteProperty:function(L,I){return d.removeListener(I,E.$options.sockets[I],E),delete L.key,!0}}),T&&Object.keys(T).forEach(function(m){C.$options.sockets[m]=T[m],h.config.globalProperties.sockets[m]=T[m]})):(Object.seal(this.$options.sockets),Object.seal(h.config.globalProperties.sockets),T&&Object.keys(T).forEach(function(m){d.addListener(m,T[m],E)}))},beforeUnmount:function(){var C=this;if(S){var E=this.$options.sockets;E&&Object.keys(E).forEach(function(T){delete C.$options.sockets[T],delete h.config.globalProperties.sockets})}}})}};n.default=v},fc6a:function(e,n,t){var r=t("44ad"),o=t("1d80");e.exports=function(s){return r(o(s))}},fdbc:function(e,n){e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},fdbf:function(e,n,t){var r=t("4930");e.exports=r&&!Symbol.sham&&typeof Symbol.iterator=="symbol"}})})(Tt);var Ee=Tt.exports;const Oe=qt(Ee),Ie=()=>{let a="ws";return window.location.protocol==="https:"&&(a+="s"),`${a}://${location.host}${window.CODEX.API_V3_PATH}ws`},Ce=Ie();function Pe(a){const e=Se();e.app=a;const n={store:e,reconnection:!0};a.use(Oe,Ce,n)}function Et(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{blueprint:e,...n}=a,t=_t(e,n),{aliases:r={},components:o={},directives:s={}}=t,f=te(t.defaults),i=ee(t.display,t.ssr),l=re(t.theme),c=ne(t.icons),d=oe(t.locale);return{install:v=>{for(const u in s)v.directive(u,s[u]);for(const u in o)v.component(u,o[u]);for(const u in r)v.component(u,se({...r[u],name:u,aliasName:r[u].name}));if(l.install(v),v.provide(at,f),v.provide(it,i),v.provide(ft,l),v.provide(ct,c),v.provide(lt,d),ae&&t.ssr)if(v.$nuxt)v.$nuxt.hook("app:suspense:resolve",()=>{i.update()});else{const{mount:u}=v;v.mount=function(){const h=u(...arguments);return mt(()=>i.update()),v.mount=u,h}}ie.reset(),v.mixin({computed:{$vuetify(){return fe({defaults:N.call(this,at),display:N.call(this,it),theme:N.call(this,ft),icons:N.call(this,ct),locale:N.call(this,lt)})}}})},defaults:f,display:i,theme:l,icons:c,locale:d}}const Ae="3.1.16";Et.version=Ae;function N(a){var t,r;const e=this.$,n=((t=e.parent)==null?void 0:t.provides)??((r=e.vnode.appContext)==null?void 0:r.provides);if(n&&a in n)return n[a]}const Me={collapse:"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z",complete:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",cancel:"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",close:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",delete:"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",clear:"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",success:"M12,2C17.52,2 22,6.48 22,12C22,17.52 17.52,22 12,22C6.48,22 2,17.52 2,12C2,6.48 6.48,2 12,2M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z",info:"M13,9H11V7H13M13,17H11V11H13M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z",warning:"M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",error:"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",prev:"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",next:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z",checkboxOn:"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z",checkboxOff:"M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z",checkboxIndeterminate:"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z",delimiter:"M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z",sortAsc:"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z",sortDesc:"M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z",expand:"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z",menu:"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z",subgroup:"M7,10L12,15L17,10H7Z",dropdown:"M7,10L12,15L17,10H7Z",radioOn:"M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7Z",radioOff:"M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z",edit:"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z",ratingEmpty:"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z",ratingFull:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z",ratingHalf:"M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z",loading:"M19,8L15,12H18C18,15.31 15.31,18 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20C16.42,20 20,16.42 20,12H23M6,12C6,8.69 8.69,6 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4C7.58,4 4,7.58 4,12H1L5,16L9,12",first:"M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z",last:"M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z",unfold:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z",file:"M16.5,6V17.5C16.5,19.71 14.71,21.5 12.5,21.5C10.29,21.5 8.5,19.71 8.5,17.5V5C8.5,3.62 9.62,2.5 11,2.5C12.38,2.5 13.5,3.62 13.5,5V15.5C13.5,16.05 13.05,16.5 12.5,16.5C11.95,16.5 11.5,16.05 11.5,15.5V6H10V15.5C10,16.88 11.12,18 12.5,18C13.88,18 15,16.88 15,15.5V5C15,2.79 13.21,1 11,1C8.79,1 7,2.79 7,5V17.5C7,20.54 9.46,23 12.5,23C15.54,23 18,20.54 18,17.5V6H16.5Z",plus:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",minus:"M19,13H5V11H19V13Z"},Re={component:ce},dt="#FFFFFF",vt="#808080",V={dark:!0,colors:{primary:"#CC7B19","primary-darken-1":"#965B13",error:"#DC143C",success:"#14dc3c","on-surface-variant":"#2A2A2A",linkHover:dt,textPrimary:dt,textHeader:"#D3D3D3",textSecondary:"#A9A9A9",textDisabled:vt,iconsInactive:vt}},He=new Et({defaults:{global:{ripple:!0},VCheckbox:{color:V.colors.primary},VCheckboxBtn:{color:V.colors.primary},VCombobox:{color:V.colors.primary},VProgressLinear:{color:V.colors.primary},VProgressCircular:{color:V.colors.primary},VRadioGroup:{color:V.colors.primary},VSelect:{color:V.colors.primary},VSlider:{color:V.colors.primary},VTabs:{color:V.colors.primary},VTextField:{color:V.colors.primary}},theme:{defaultTheme:"codexTheme",options:{customProperties:!0},themes:{codexTheme:V}},icons:{defaultSet:"mdi",aliases:Me,sets:{mdi:Re}}});function q(a,e={},n){for(const t in a){const r=a[t],o=n?`${n}:${t}`:t;typeof r=="object"&&r!==null?q(r,e,o):typeof r=="function"&&(e[o]=r)}return e}const je={run:a=>a()},Fe=()=>je,Ot=typeof console.createTask<"u"?console.createTask:Fe;function $e(a,e){const n=e.shift(),t=Ot(n);return a.reduce((r,o)=>r.then(()=>t.run(()=>o(...e))),Promise.resolve())}function De(a,e){const n=e.shift(),t=Ot(n);return Promise.all(a.map(r=>t.run(()=>r(...e))))}function J(a,e){for(const n of[...a])n(e)}class Ve{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,n,t={}){if(!e||typeof n!="function")return()=>{};const r=e;let o;for(;this._deprecatedHooks[e];)o=this._deprecatedHooks[e],e=o.to;if(o&&!t.allowDeprecated){let s=o.message;s||(s=`${r} hook has been deprecated`+(o.to?`, please use ${o.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(s)||(console.warn(s),this._deprecatedMessages.add(s))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(n),()=>{n&&(this.removeHook(e,n),n=void 0)}}hookOnce(e,n){let t,r=(...o)=>(typeof t=="function"&&t(),t=void 0,r=void 0,n(...o));return t=this.hook(e,r),t}removeHook(e,n){if(this._hooks[e]){const t=this._hooks[e].indexOf(n);t!==-1&&this._hooks[e].splice(t,1),this._hooks[e].length===0&&delete this._hooks[e]}}deprecateHook(e,n){this._deprecatedHooks[e]=typeof n=="string"?{to:n}:n;const t=this._hooks[e]||[];delete this._hooks[e];for(const r of t)this.hook(e,r)}deprecateHooks(e){Object.assign(this._deprecatedHooks,e);for(const n in e)this.deprecateHook(n,e[n])}addHooks(e){const n=q(e),t=Object.keys(n).map(r=>this.hook(r,n[r]));return()=>{for(const r of t.splice(0,t.length))r()}}removeHooks(e){const n=q(e);for(const t in n)this.removeHook(t,n[t])}removeAllHooks(){for(const e in this._hooks)delete this._hooks[e]}callHook(e,...n){return n.unshift(e),this.callHookWith($e,e,...n)}callHookParallel(e,...n){return n.unshift(e),this.callHookWith(De,e,...n)}callHookWith(e,n,...t){const r=this._before||this._after?{name:n,args:t,context:{}}:void 0;this._before&&J(this._before,r);const o=e(n in this._hooks?[...this._hooks[n]]:[],t);return o instanceof Promise?o.finally(()=>{this._after&&r&&J(this._after,r)}):(this._after&&r&&J(this._after,r),o)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const n=this._before.indexOf(e);n!==-1&&this._before.splice(n,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const n=this._after.indexOf(e);n!==-1&&this._after.splice(n,1)}}}}function We(){return new Ve}function Ke(a){return Array.isArray(a)?a:[a]}const It=["title","script","style","noscript"],Ct=["base","meta","link","style","script","noscript"],Ge=["title","titleTemplate","templateParams","base","htmlAttrs","bodyAttrs","meta","link","style","script","noscript"],Ne=["base","title","titleTemplate","bodyAttrs","htmlAttrs","templateParams"],Be=["tagPosition","tagPriority","tagDuplicateStrategy","innerHTML","textContent"];function Pt(a){let e=9;for(let n=0;n<a.length;)e=Math.imul(e^a.charCodeAt(n++),9**9);return((e^e>>>9)+65536).toString(16).substring(1,8).toLowerCase()}function _(a){return Pt(`${a.tag}:${a.textContent||a.innerHTML||""}:${Object.entries(a.props).map(([e,n])=>`${e}:${String(n)}`).join(",")}`)}function Ze(a){let e=9;for(const n of a)for(let t=0;t<n.length;)e=Math.imul(e^n.charCodeAt(t++),9**9);return((e^e>>>9)+65536).toString(16).substring(1,8).toLowerCase()}function At(a,e){const{props:n,tag:t}=a;if(Ne.includes(t))return t;if(t==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const r=["id"];t==="meta"&&r.push("name","property","http-equiv");for(const o of r)if(typeof n[o]<"u"){const s=String(n[o]);return e&&!e(s)?!1:`${t}:${o}:${s}`}return!1}function ht(a,e){return a==null?e||null:typeof a=="function"?a(e):a}function U(a,e=!1,n){const{tag:t,$el:r}=a;r&&(Object.entries(t.props).forEach(([o,s])=>{s=String(s);const f=`attr:${o}`;if(o==="class"){if(!s)return;for(const i of s.split(" ")){const l=`${f}:${i}`;n&&n(a,l,()=>r.classList.remove(i)),r.classList.contains(i)||r.classList.add(i)}return}n&&!o.startsWith("data-h-")&&n(a,f,()=>r.removeAttribute(o)),(e||r.getAttribute(o)!==s)&&r.setAttribute(o,s)}),It.includes(t.tag)&&(t.textContent&&t.textContent!==r.textContent?r.textContent=t.textContent:t.innerHTML&&t.innerHTML!==r.innerHTML&&(r.innerHTML=t.innerHTML)))}let B=!1;async function Mt(a,e={}){var g,v;const n={shouldRender:!0};if(await a.hooks.callHook("dom:beforeRender",n),!n.shouldRender)return;const t=e.document||a.resolvedOptions.document||window.document,r=(await a.resolveTags()).map(f);if(a.resolvedOptions.experimentalHashHydration&&(B=B||a._hash||!1,B)){const u=Ze(r.map(h=>h.tag._h));if(B===u)return;B=u}const o=a._popSideEffectQueue();a.headEntries().map(u=>u._sde).forEach(u=>{Object.entries(u).forEach(([h,p])=>{o[h]=p})});const s=(u,h,p)=>{h=`${u.renderId}:${h}`,u.entry&&(u.entry._sde[h]=p),delete o[h]};function f(u){const h=a.headEntries().find(x=>x._i===u._e),p={renderId:u._d||_(u),$el:null,shouldRender:!0,tag:u,entry:h,markSideEffect:(x,y)=>s(p,x,y)};return p}const i=[],l={body:[],head:[]},c=u=>{a._elMap[u.renderId]=u.$el,i.push(u),s(u,"el",()=>{var h;(h=u.$el)==null||h.remove(),delete a._elMap[u.renderId]})};for(const u of r){if(await a.hooks.callHook("dom:beforeRenderTag",u),!u.shouldRender)continue;const{tag:h}=u;if(h.tag==="title"){t.title=h.textContent||"",i.push(u);continue}if(h.tag==="htmlAttrs"||h.tag==="bodyAttrs"){u.$el=t[h.tag==="htmlAttrs"?"documentElement":"body"],U(u,!1,s),i.push(u);continue}if(u.$el=a._elMap[u.renderId],!u.$el&&h.key&&(u.$el=t.querySelector(`${(g=h.tagPosition)!=null&&g.startsWith("body")?"body":"head"} > ${h.tag}[data-h-${h._h}]`)),u.$el){u.tag._d&&U(u),c(u);continue}l[(v=h.tagPosition)!=null&&v.startsWith("body")?"body":"head"].push(u)}const d={bodyClose:void 0,bodyOpen:void 0,head:void 0};Object.entries(l).forEach(([u,h])=>{var x;if(!h.length)return;const p=(x=t==null?void 0:t[u])==null?void 0:x.children;if(p){for(const y of[...p].reverse()){const S=y.tagName.toLowerCase();if(!Ct.includes(S))continue;const b=y.getAttributeNames().reduce((m,L)=>({...m,[L]:y.getAttribute(L)}),{}),C={tag:S,props:b};y.innerHTML&&(C.innerHTML=y.innerHTML);const E=_(C);let T=h.findIndex(m=>(m==null?void 0:m.renderId)===E);if(T===-1){const m=At(C);T=h.findIndex(L=>(L==null?void 0:L.tag._d)&&L.tag._d===m)}if(T!==-1){const m=h[T];m.$el=y,U(m),c(m),delete h[T]}}h.forEach(y=>{const S=y.tag.tagPosition||"head";d[S]=d[S]||t.createDocumentFragment(),y.$el||(y.$el=t.createElement(y.tag.tag),U(y,!0)),d[S].appendChild(y.$el),c(y)})}}),d.head&&t.head.appendChild(d.head),d.bodyOpen&&t.body.insertBefore(d.bodyOpen,t.body.firstChild),d.bodyClose&&t.body.appendChild(d.bodyClose);for(const u of i)await a.hooks.callHook("dom:renderTag",u);Object.values(o).forEach(u=>u())}let Q=null;async function Rt(a,e={}){function n(){return Q=null,Mt(a,e)}const t=e.delayFn||(r=>setTimeout(r,10));return Q=Q||new Promise(r=>t(()=>r(n())))}function Ue(a){return{hooks:{"entries:updated":function(e){if(typeof(a==null?void 0:a.document)>"u"&&typeof window>"u")return;let n=a==null?void 0:a.delayFn;!n&&typeof requestAnimationFrame<"u"&&(n=requestAnimationFrame),Rt(e,{document:(a==null?void 0:a.document)||window.document,delayFn:n})}}}}function we(a){var e;return((e=a==null?void 0:a.head.querySelector('meta[name="unhead:ssr"]'))==null?void 0:e.getAttribute("content"))||!1}const pt={critical:2,high:9,low:12,base:-1,title:1,meta:10};function yt(a){if(typeof a.tagPriority=="number")return a.tagPriority;if(a.tag==="meta"){if(a.props.charset)return-2;if(a.props["http-equiv"]==="content-security-policy")return 0}const e=a.tagPriority||a.tag;return e in pt?pt[e]:10}const ze=[{prefix:"before:",offset:-1},{prefix:"after:",offset:1}];function Xe(){return{hooks:{"tags:resolve":a=>{const e=n=>{var t;return(t=a.tags.find(r=>r._d===n))==null?void 0:t._p};for(const{prefix:n,offset:t}of ze)for(const r of a.tags.filter(o=>typeof o.tagPriority=="string"&&o.tagPriority.startsWith(n))){const o=e(r.tagPriority.replace(n,""));typeof o<"u"&&(r._p=o+t)}a.tags.sort((n,t)=>n._p-t._p).sort((n,t)=>yt(n)-yt(t))}}}}function Je(){return{hooks:{"tags:resolve":a=>{const{tags:e}=a;let n=e.findIndex(r=>r.tag==="titleTemplate");const t=e.findIndex(r=>r.tag==="title");if(t!==-1&&n!==-1){const r=ht(e[n].textContent,e[t].textContent);r!==null?e[t].textContent=r||e[t].textContent:delete e[t]}else if(n!==-1){const r=ht(e[n].textContent);r!==null&&(e[n].textContent=r,e[n].tag="title",n=-1)}n!==-1&&delete e[n],a.tags=e.filter(Boolean)}}}}function Qe(){return{hooks:{"tag:normalise":function({tag:a}){typeof a.props.body<"u"&&(a.tagPosition="bodyClose",delete a.props.body)}}}}const Ye=["link","style","script","noscript"];function ke(){return{hooks:{"tag:normalise":({tag:a,resolvedOptions:e})=>{e.experimentalHashHydration===!0&&(a._h=_(a)),a.key&&Ye.includes(a.tag)&&(a._h=Pt(a.key),a.props[`data-h-${a._h}`]="")}}}}const gt=["script","link","bodyAttrs"];function qe(){const a=(e,n)=>{const t={},r={};Object.entries(n.props).forEach(([s,f])=>{s.startsWith("on")&&typeof f=="function"?r[s]=f:t[s]=f});let o;return e==="dom"&&n.tag==="script"&&typeof t.src=="string"&&typeof r.onload<"u"&&(o=t.src,delete t.src),{props:t,eventHandlers:r,delayedSrc:o}};return{hooks:{"ssr:render":function(e){e.tags=e.tags.map(n=>(!gt.includes(n.tag)||!Object.entries(n.props).find(([t,r])=>t.startsWith("on")&&typeof r=="function")||(n.props=a("ssr",n).props),n))},"dom:beforeRenderTag":function(e){if(!gt.includes(e.tag.tag)||!Object.entries(e.tag.props).find(([o,s])=>o.startsWith("on")&&typeof s=="function"))return;const{props:n,eventHandlers:t,delayedSrc:r}=a("dom",e.tag);Object.keys(t).length&&(e.tag.props=n,e.tag._eventHandlers=t,e.tag._delayedSrc=r)},"dom:renderTag":function(e){const n=e.$el;if(!e.tag._eventHandlers||!n)return;const t=e.tag.tag==="bodyAttrs"&&typeof window<"u"?window:n;Object.entries(e.tag._eventHandlers).forEach(([r,o])=>{const s=`${e.tag._d||e.tag._p}:${r}`,f=r.slice(2).toLowerCase(),i=`data-h-${f}`;if(e.markSideEffect(s,()=>{}),n.hasAttribute(i))return;const l=o;n.setAttribute(i,""),t.addEventListener(f,l),e.entry&&(e.entry._sde[s]=()=>{t.removeEventListener(f,l),n.removeAttribute(i)})}),e.tag._delayedSrc&&n.setAttribute("src",e.tag._delayedSrc)}}}}const _e=["templateParams","htmlAttrs","bodyAttrs"];function tr(){return{hooks:{"tag:normalise":function({tag:a}){["hid","vmid","key"].forEach(t=>{a.props[t]&&(a.key=a.props[t],delete a.props[t])});const n=At(a)||(a.key?`${a.tag}:${a.key}`:!1);n&&(a._d=n)},"tags:resolve":function(a){const e={};a.tags.forEach(t=>{const r=(t.key?`${t.tag}:${t.key}`:t._d)||t._p,o=e[r];if(o){let f=t==null?void 0:t.tagDuplicateStrategy;if(!f&&_e.includes(t.tag)&&(f="merge"),f==="merge"){const i=o.props;["class","style"].forEach(l=>{t.props[l]&&i[l]&&(l==="style"&&!i[l].endsWith(";")&&(i[l]+=";"),t.props[l]=`${i[l]} ${t.props[l]}`)}),e[r].props={...i,...t.props};return}else if(t._e===o._e){o._duped=o._duped||[],t._d=`${o._d}:${o._duped.length+1}`,o._duped.push(t);return}}const s=Object.keys(t.props).length+(t.innerHTML?1:0)+(t.textContent?1:0);if(Ct.includes(t.tag)&&s===0){delete e[r];return}e[r]=t});const n=[];Object.values(e).forEach(t=>{const r=t._duped;delete t._duped,n.push(t),r&&n.push(...r)}),a.tags=n}}}}function w(a,e){function n(o){if(["s","pageTitle"].includes(o))return e.pageTitle;let s;return o.includes(".")?s=o.split(".").reduce((f,i)=>f&&f[i]||void 0,e):s=e[o],typeof s<"u"?s||"":!1}let t=a;try{t=decodeURI(a)}catch{}return(t.match(/%(\w+\.+\w+)|%(\w+)/g)||[]).sort().reverse().forEach(o=>{const s=n(o.slice(1));typeof s=="string"&&(a=a.replaceAll(new RegExp(`\\${o}(\\W|$)`,"g"),`${s}$1`).trim())}),e.separator&&(a.endsWith(e.separator)&&(a=a.slice(0,-e.separator.length).trim()),a.startsWith(e.separator)&&(a=a.slice(e.separator.length).trim()),a=a.replace(new RegExp(`\\${e.separator}\\s*\\${e.separator}`,"g"),e.separator)),a}function er(){return{hooks:{"tags:resolve":a=>{var o;const{tags:e}=a,n=(o=e.find(s=>s.tag==="title"))==null?void 0:o.textContent,t=e.findIndex(s=>s.tag==="templateParams"),r=t!==-1?e[t].props:{};r.pageTitle=r.pageTitle||n||"";for(const s of e)if(["titleTemplate","title"].includes(s.tag)&&typeof s.textContent=="string")s.textContent=w(s.textContent,r);else if(s.tag==="meta"&&typeof s.props.content=="string")s.props.content=w(s.props.content,r);else if(s.tag==="link"&&typeof s.props.href=="string")s.props.href=w(s.props.href,r);else if(s.tag==="script"&&["application/json","application/ld+json"].includes(s.props.type)&&typeof s.innerHTML=="string")try{s.innerHTML=JSON.stringify(JSON.parse(s.innerHTML),(f,i)=>typeof i=="string"?w(i,r):i)}catch{}a.tags=e.filter(s=>s.tag!=="templateParams")}}}}const rr=typeof window<"u";let Ht;function nr(a){return Ht=a}function or(){return Ht}async function sr(a,e){const n={tag:a,props:{}};return a==="templateParams"?(n.props=e,n):["title","titleTemplate"].includes(a)?(n.textContent=e instanceof Promise?await e:e,n):typeof e=="string"?["script","noscript","style"].includes(a)?(a==="script"&&(/^(https?:)?\/\//.test(e)||e.startsWith("/"))?n.props.src=e:n.innerHTML=e,n):!1:(n.props=await ir(a,{...e}),n.props.children&&(n.props.innerHTML=n.props.children),delete n.props.children,Object.keys(n.props).filter(t=>Be.includes(t)).forEach(t=>{(!["innerHTML","textContent"].includes(t)||It.includes(n.tag))&&(n[t]=n.props[t]),delete n.props[t]}),["innerHTML","textContent"].forEach(t=>{if(n.tag==="script"&&typeof n[t]=="string"&&["application/ld+json","application/json"].includes(n.props.type))try{n[t]=JSON.parse(n[t])}catch{n[t]=""}typeof n[t]=="object"&&(n[t]=JSON.stringify(n[t]))}),n.props.class&&(n.props.class=ar(n.props.class)),n.props.content&&Array.isArray(n.props.content)?n.props.content.map(t=>({...n,props:{...n.props,content:t}})):n)}function ar(a){return typeof a=="object"&&!Array.isArray(a)&&(a=Object.keys(a).filter(e=>a[e])),(Array.isArray(a)?a.join(" "):a).split(" ").filter(e=>e.trim()).filter(Boolean).join(" ")}async function ir(a,e){for(const n of Object.keys(e)){const t=n.startsWith("data-");e[n]instanceof Promise&&(e[n]=await e[n]),String(e[n])==="true"?e[n]=t?"true":"":String(e[n])==="false"&&(t?e[n]="false":delete e[n])}return e}const fr=10;async function cr(a){const e=[];return Object.entries(a.resolvedInput).filter(([n,t])=>typeof t<"u"&&Ge.includes(n)).forEach(([n,t])=>{const r=Ke(t);e.push(...r.map(o=>sr(n,o)).flat())}),(await Promise.all(e)).flat().filter(Boolean).map((n,t)=>(n._e=a._i,n._p=(a._i<<fr)+t,n))}function lr(){return[tr(),Xe(),er(),Je(),ke(),qe(),Qe()]}function ur(a={}){return[Ue({document:a==null?void 0:a.document,delayFn:a==null?void 0:a.domDelayFn})]}function dr(a={}){const e=vr({...a,plugins:[...ur(a),...(a==null?void 0:a.plugins)||[]]});return a.experimentalHashHydration&&e.resolvedOptions.document&&(e._hash=we(e.resolvedOptions.document)),nr(e),e}function vr(a={}){let e=[],n={},t=0;const r=We();a!=null&&a.hooks&&r.addHooks(a.hooks),a.plugins=[...lr(),...(a==null?void 0:a.plugins)||[]],a.plugins.forEach(f=>f.hooks&&r.addHooks(f.hooks)),a.document=a.document||(rr?document:void 0);const o=()=>r.callHook("entries:updated",s),s={resolvedOptions:a,headEntries(){return e},get hooks(){return r},use(f){f.hooks&&r.addHooks(f.hooks)},push(f,i){const l={_i:t++,input:f,_sde:{}};return i!=null&&i.mode&&(l._m=i==null?void 0:i.mode),i!=null&&i.transform&&(l._t=i==null?void 0:i.transform),e.push(l),o(),{dispose(){e=e.filter(c=>c._i!==l._i?!0:(n={...n,...c._sde||{}},c._sde={},o(),!1))},patch(c){e=e.map(d=>(d._i===l._i&&(l.input=d.input=c,o()),d))}}},async resolveTags(){const f={tags:[],entries:[...e]};await r.callHook("entries:resolve",f);for(const i of f.entries){const l=i._t||(c=>c);if(i.resolvedInput=l(i.resolvedInput||i.input),i.resolvedInput)for(const c of await cr(i)){const d={tag:c,entry:i,resolvedOptions:s.resolvedOptions};await r.callHook("tag:normalise",d),f.tags.push(d.tag)}}return await r.callHook("tags:resolve",f),f.tags},_popSideEffectQueue(){const f={...n};return n={},f},_elMap:{}};return s.hooks.callHook("init",s),s}function hr(a){return typeof a=="function"?a():St(a)}function z(a,e=""){if(a instanceof Promise)return a;const n=hr(a);return!a||!n?n:Array.isArray(n)?n.map(t=>z(t,e)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([t,r])=>t==="titleTemplate"||t.startsWith("on")?[t,St(r)]:[t,z(r,t)])):n}const pr=xt.startsWith("3"),yr=typeof window<"u",jt="usehead";function rt(){return et()&&le(jt)||or()}function gr(a){return{install(n){pr&&(n.config.globalProperties.$unhead=a,n.config.globalProperties.$head=a,n.provide(jt,a))}}.install}function mr(a={}){const e=dr({...a,domDelayFn:n=>setTimeout(()=>mt(()=>n()),10),plugins:[Sr(),...(a==null?void 0:a.plugins)||[]]});return e.install=gr(e),e}function Sr(){return{hooks:{"entries:resolve":function(a){for(const e of a.entries)e.resolvedInput=z(e.input)}}}}function xr(a,e={}){const n=rt(),t=ut(!1),r=ut({});ue(()=>{r.value=t.value?{}:z(a)});const o=n.push(r.value,e);return de(r,f=>{o.patch(f)}),et()&&(ve(()=>{o.dispose()}),he(()=>{t.value=!0}),pe(()=>{t.value=!1})),o}function Lr(a,e={}){return rt().push(a,e)}function Ft(a,e={}){var t;const n=rt();if(n){const r=yr||!!((t=n.resolvedOptions)!=null&&t.document);return e.mode==="server"&&r||e.mode==="client"&&!r?void 0:r?xr(a,e):Lr(a,e)}}const br={created(){const a=et();if(!a)return;const e=a.type;if(!e||!("head"in e))return;const n=typeof e.head=="function"?()=>e.head.call(a.proxy):e.head;Ft(n)}};function Tr(a,e){const n=mr(e||{}),t={unhead:n,install(r){xt.startsWith("3")&&(r.config.globalProperties.$head=n,r.provide("usehead",n))},use(r){n.use(r)},resolveTags(){return n.resolveTags()},headEntries(){return n.headEntries()},headTags(){return n.resolveTags()},push(r,o){return n.push(r,o)},addEntry(r,o){return n.push(r,o)},addHeadObjs(r,o){return n.push(r,o)},addReactiveEntry(r,o){const s=Ft(r,o);return typeof s<"u"?s.dispose:()=>{}},removeHeadObjs(){},updateDOM(r,o){o?Mt(n,{document:r}):Rt(n,{delayFn:s=>setTimeout(()=>s(),50),document:r})},internalHooks:n.hooks,hooks:{"before:dom":[],"resolved:tags":[],"resolved:entries":[]}};return n.addHeadObjs=t.addHeadObjs,n.updateDOM=t.updateDOM,n.hooks.hook("dom:beforeRender",r=>{for(const o of t.hooks["before:dom"])o()===!1&&(r.shouldRender=!1)}),a&&t.addHeadObjs(a),t}const Er=function(a){const e=Tr();a.mixin(br),a.use(e)},G=ye(Te);G.use(He);Er(G);ge(G);Pe(G);G.use(tt);G.config.performance=!0;tt.isReady().then(()=>G.mount("#App")).catch(console.error);