@getontime/cli 4.3.0 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/client/assets/{Backstage-CDH53Q_N.js → Backstage-D2lEbqUt.js} +2 -2
  2. package/client/assets/Backstage-D2lEbqUt.js.br +0 -0
  3. package/client/assets/Backstage-D2lEbqUt.js.gz +0 -0
  4. package/client/assets/{Backstage-CDH53Q_N.js.map → Backstage-D2lEbqUt.js.map} +1 -1
  5. package/client/assets/{Countdown-B-MuMf1C.js → Countdown-VV03STbF.js} +2 -2
  6. package/client/assets/Countdown-VV03STbF.js.br +0 -0
  7. package/client/assets/Countdown-VV03STbF.js.gz +0 -0
  8. package/client/assets/{Countdown-B-MuMf1C.js.map → Countdown-VV03STbF.js.map} +1 -1
  9. package/client/assets/{CustomTranslationModal-DiQbmcgD.js → CustomTranslationModal-D1nM9W1Z.js} +2 -2
  10. package/client/assets/CustomTranslationModal-D1nM9W1Z.js.br +0 -0
  11. package/client/assets/CustomTranslationModal-D1nM9W1Z.js.gz +0 -0
  12. package/client/assets/{CustomTranslationModal-DiQbmcgD.js.map → CustomTranslationModal-D1nM9W1Z.js.map} +1 -1
  13. package/client/assets/{DelayIndicator-D--91EO3.js → DelayIndicator-Co5rMYw9.js} +2 -2
  14. package/client/assets/DelayIndicator-Co5rMYw9.js.br +0 -0
  15. package/client/assets/DelayIndicator-Co5rMYw9.js.gz +0 -0
  16. package/client/assets/{DelayIndicator-D--91EO3.js.map → DelayIndicator-Co5rMYw9.js.map} +1 -1
  17. package/client/assets/{EditorFeatureWrapper-DwXUAV4k.js → EditorFeatureWrapper-_t_4D7Es.js} +2 -2
  18. package/client/assets/EditorFeatureWrapper-_t_4D7Es.js.br +0 -0
  19. package/client/assets/EditorFeatureWrapper-_t_4D7Es.js.gz +0 -0
  20. package/client/assets/{EditorFeatureWrapper-DwXUAV4k.js.map → EditorFeatureWrapper-_t_4D7Es.js.map} +1 -1
  21. package/client/assets/{EditorUtils-DuKjlUkF.js → EditorUtils-C3QoonjM.js} +2 -2
  22. package/client/assets/EditorUtils-C3QoonjM.js.br +0 -0
  23. package/client/assets/EditorUtils-C3QoonjM.js.gz +0 -0
  24. package/client/assets/{EditorUtils-DuKjlUkF.js.map → EditorUtils-C3QoonjM.js.map} +1 -1
  25. package/client/assets/{Empty-CJbZxh45.js → Empty-DJMjfXnt.js} +2 -2
  26. package/client/assets/Empty-DJMjfXnt.js.br +2 -0
  27. package/client/assets/Empty-DJMjfXnt.js.gz +0 -0
  28. package/client/assets/{Empty-CJbZxh45.js.map → Empty-DJMjfXnt.js.map} +1 -1
  29. package/client/assets/{EmptyPage-Bc358YpE.js → EmptyPage-BlXZqoIr.js} +2 -2
  30. package/client/assets/EmptyPage-BlXZqoIr.js.br +0 -0
  31. package/client/assets/EmptyPage-BlXZqoIr.js.gz +0 -0
  32. package/client/assets/{EmptyPage-Bc358YpE.js.map → EmptyPage-BlXZqoIr.js.map} +1 -1
  33. package/client/assets/{FollowButton-C6Fvaqh0.js → FollowButton-Dy5n1J2c.js} +2 -2
  34. package/client/assets/FollowButton-Dy5n1J2c.js.br +0 -0
  35. package/client/assets/FollowButton-Dy5n1J2c.js.gz +0 -0
  36. package/client/assets/{FollowButton-C6Fvaqh0.js.map → FollowButton-Dy5n1J2c.js.map} +1 -1
  37. package/client/assets/{MessageControlExport-GmOrvUik.js → MessageControlExport-CWQX8mH0.js} +3 -3
  38. package/client/assets/MessageControlExport-CWQX8mH0.js.br +0 -0
  39. package/client/assets/MessageControlExport-CWQX8mH0.js.gz +0 -0
  40. package/client/assets/{MessageControlExport-GmOrvUik.js.map → MessageControlExport-CWQX8mH0.js.map} +1 -1
  41. package/client/assets/{MilestoneEditor-BA0PVIQh.js → MilestoneEditor-CxWZdQ1B.js} +2 -2
  42. package/client/assets/MilestoneEditor-CxWZdQ1B.js.br +0 -0
  43. package/client/assets/MilestoneEditor-CxWZdQ1B.js.gz +0 -0
  44. package/client/assets/{MilestoneEditor-BA0PVIQh.js.map → MilestoneEditor-CxWZdQ1B.js.map} +1 -1
  45. package/client/assets/{Modal-BKx0PDGT.js → Modal-ePA-Go14.js} +2 -2
  46. package/client/assets/Modal-ePA-Go14.js.br +0 -0
  47. package/client/assets/Modal-ePA-Go14.js.gz +0 -0
  48. package/client/assets/{Modal-BKx0PDGT.js.map → Modal-ePA-Go14.js.map} +1 -1
  49. package/client/assets/{MultiPartProgressBar-BXdLxJpy.js → MultiPartProgressBar-GQaCHX4z.js} +2 -2
  50. package/client/assets/MultiPartProgressBar-GQaCHX4z.js.br +0 -0
  51. package/client/assets/MultiPartProgressBar-GQaCHX4z.js.gz +0 -0
  52. package/client/assets/{MultiPartProgressBar-BXdLxJpy.js.map → MultiPartProgressBar-GQaCHX4z.js.map} +1 -1
  53. package/client/assets/{OperatorExport-X7-qi2jv.js → OperatorExport-CRS08UXj.js} +2 -2
  54. package/client/assets/OperatorExport-CRS08UXj.js.br +0 -0
  55. package/client/assets/OperatorExport-CRS08UXj.js.gz +0 -0
  56. package/client/assets/{OperatorExport-X7-qi2jv.js.map → OperatorExport-CRS08UXj.js.map} +1 -1
  57. package/client/assets/{OverviewWrapper-BQb2xl_N.js → OverviewWrapper-BNRb3Ub_.js} +2 -2
  58. package/client/assets/OverviewWrapper-BNRb3Ub_.js.br +0 -0
  59. package/client/assets/OverviewWrapper-BNRb3Ub_.js.gz +0 -0
  60. package/client/assets/{OverviewWrapper-BQb2xl_N.js.map → OverviewWrapper-BNRb3Ub_.js.map} +1 -1
  61. package/client/assets/{PipHost-CvtlZIn7.js → PipHost-DNfEY6RN.js} +2 -2
  62. package/client/assets/PipHost-DNfEY6RN.js.br +0 -0
  63. package/client/assets/PipHost-DNfEY6RN.js.gz +0 -0
  64. package/client/assets/{PipHost-CvtlZIn7.js.map → PipHost-DNfEY6RN.js.map} +1 -1
  65. package/client/assets/{ProjectInfo-1tw48NHZ.js → ProjectInfo-KPf-pM8y.js} +2 -2
  66. package/client/assets/ProjectInfo-KPf-pM8y.js.br +0 -0
  67. package/client/assets/ProjectInfo-KPf-pM8y.js.gz +0 -0
  68. package/client/assets/{ProjectInfo-1tw48NHZ.js.map → ProjectInfo-KPf-pM8y.js.map} +1 -1
  69. package/client/assets/{ProtectRoute-BH-QvsU0.js → ProtectRoute-DW_vXgYI.js} +2 -2
  70. package/client/assets/ProtectRoute-DW_vXgYI.js.br +0 -0
  71. package/client/assets/ProtectRoute-DW_vXgYI.js.gz +0 -0
  72. package/client/assets/{ProtectRoute-BH-QvsU0.js.map → ProtectRoute-DW_vXgYI.js.map} +1 -1
  73. package/client/assets/{ProtectedCuesheet-CYBIcg1c.js → ProtectedCuesheet-CCVDLsK-.js} +2 -2
  74. package/client/assets/ProtectedCuesheet-CCVDLsK-.js.br +0 -0
  75. package/client/assets/ProtectedCuesheet-CCVDLsK-.js.gz +0 -0
  76. package/client/assets/{ProtectedCuesheet-CYBIcg1c.js.map → ProtectedCuesheet-CCVDLsK-.js.map} +1 -1
  77. package/client/assets/{ProtectedEditor-D_A75byA.js → ProtectedEditor-Ddu9vBS8.js} +3 -3
  78. package/client/assets/ProtectedEditor-Ddu9vBS8.js.br +0 -0
  79. package/client/assets/ProtectedEditor-Ddu9vBS8.js.gz +0 -0
  80. package/client/assets/ProtectedEditor-Ddu9vBS8.js.map +1 -0
  81. package/client/assets/{RundownEntry-bkqwx57t.js → RundownEntry-CpspmKD0.js} +2 -2
  82. package/client/assets/RundownEntry-CpspmKD0.js.br +0 -0
  83. package/client/assets/RundownEntry-CpspmKD0.js.gz +0 -0
  84. package/client/assets/{RundownEntry-bkqwx57t.js.map → RundownEntry-CpspmKD0.js.map} +1 -1
  85. package/client/assets/{RundownExport-EorsanA0.js → RundownExport-DhCryTUp.js} +3 -3
  86. package/client/assets/RundownExport-DhCryTUp.js.br +0 -0
  87. package/client/assets/RundownExport-DhCryTUp.js.gz +0 -0
  88. package/client/assets/{RundownExport-EorsanA0.js.map → RundownExport-DhCryTUp.js.map} +1 -1
  89. package/client/assets/{Select-BGGVCKqU.js → Select-ASOzxGFV.js} +2 -2
  90. package/client/assets/Select-ASOzxGFV.js.br +0 -0
  91. package/client/assets/Select-ASOzxGFV.js.gz +0 -0
  92. package/client/assets/{Select-BGGVCKqU.js.map → Select-ASOzxGFV.js.map} +1 -1
  93. package/client/assets/{Studio-BjNZ4l-W.js → Studio-D7evHV2Q.js} +2 -2
  94. package/client/assets/Studio-D7evHV2Q.js.br +0 -0
  95. package/client/assets/Studio-D7evHV2Q.js.gz +0 -0
  96. package/client/assets/{Studio-BjNZ4l-W.js.map → Studio-D7evHV2Q.js.map} +1 -1
  97. package/client/assets/{StyleEditor-CpciRLYh.js → StyleEditor-DYybY9tA.js} +2 -2
  98. package/client/assets/StyleEditor-DYybY9tA.js.br +0 -0
  99. package/client/assets/StyleEditor-DYybY9tA.js.gz +0 -0
  100. package/client/assets/{StyleEditor-CpciRLYh.js.map → StyleEditor-DYybY9tA.js.map} +1 -1
  101. package/client/assets/{SuperscriptPeriod-DsPdWN_s.js → SuperscriptPeriod-NmBzJhFK.js} +2 -2
  102. package/client/assets/SuperscriptPeriod-NmBzJhFK.js.br +0 -0
  103. package/client/assets/SuperscriptPeriod-NmBzJhFK.js.gz +0 -0
  104. package/client/assets/{SuperscriptPeriod-DsPdWN_s.js.map → SuperscriptPeriod-NmBzJhFK.js.map} +1 -1
  105. package/client/assets/{SuperscriptTime-CA6S2R55.js → SuperscriptTime-CA_8XRM6.js} +2 -2
  106. package/client/assets/SuperscriptTime-CA_8XRM6.js.br +0 -0
  107. package/client/assets/SuperscriptTime-CA_8XRM6.js.gz +0 -0
  108. package/client/assets/{SuperscriptTime-CA6S2R55.js.map → SuperscriptTime-CA_8XRM6.js.map} +1 -1
  109. package/client/assets/{SwatchPicker-Cm5Eicvv.js → SwatchPicker-C8eFQKBd.js} +2 -2
  110. package/client/assets/SwatchPicker-C8eFQKBd.js.br +0 -0
  111. package/client/assets/SwatchPicker-C8eFQKBd.js.gz +0 -0
  112. package/client/assets/{SwatchPicker-Cm5Eicvv.js.map → SwatchPicker-C8eFQKBd.js.map} +1 -1
  113. package/client/assets/{TimeElements-DbclWDbU.js → TimeElements-D3dl9gAM.js} +2 -2
  114. package/client/assets/TimeElements-D3dl9gAM.js.br +0 -0
  115. package/client/assets/TimeElements-D3dl9gAM.js.gz +0 -0
  116. package/client/assets/{TimeElements-DbclWDbU.js.map → TimeElements-D3dl9gAM.js.map} +1 -1
  117. package/client/assets/{TimeInput-C8DQoFXv.js → TimeInput-DR-NCEhH.js} +2 -2
  118. package/client/assets/TimeInput-DR-NCEhH.js.br +0 -0
  119. package/client/assets/TimeInput-DR-NCEhH.js.gz +0 -0
  120. package/client/assets/{TimeInput-C8DQoFXv.js.map → TimeInput-DR-NCEhH.js.map} +1 -1
  121. package/client/assets/{TimelinePage-Cgtl1qNp.js → TimelinePage-BfTV9IdT.js} +2 -2
  122. package/client/assets/TimelinePage-BfTV9IdT.js.br +0 -0
  123. package/client/assets/TimelinePage-BfTV9IdT.js.gz +0 -0
  124. package/client/assets/{TimelinePage-Cgtl1qNp.js.map → TimelinePage-BfTV9IdT.js.map} +1 -1
  125. package/client/assets/{Timer-BbixOGdj.js → Timer-DvqDm4yX.js} +2 -2
  126. package/client/assets/Timer-DvqDm4yX.js.br +0 -0
  127. package/client/assets/Timer-DvqDm4yX.js.gz +0 -0
  128. package/client/assets/{Timer-BbixOGdj.js.map → Timer-DvqDm4yX.js.map} +1 -1
  129. package/client/assets/{TimerControlExport-Dx3SSGNG.js → TimerControlExport-CQQ2KxqK.js} +2 -2
  130. package/client/assets/TimerControlExport-CQQ2KxqK.js.br +0 -0
  131. package/client/assets/TimerControlExport-CQQ2KxqK.js.gz +0 -0
  132. package/client/assets/{TimerControlExport-Dx3SSGNG.js.map → TimerControlExport-CQQ2KxqK.js.map} +1 -1
  133. package/client/assets/{TitleCard-Xdr7xwzU.js → TitleCard-AESdy7kI.js} +2 -2
  134. package/client/assets/TitleCard-AESdy7kI.js.br +0 -0
  135. package/client/assets/TitleCard-AESdy7kI.js.gz +0 -0
  136. package/client/assets/{TitleCard-Xdr7xwzU.js.map → TitleCard-AESdy7kI.js.map} +1 -1
  137. package/client/assets/{Tooltip-B5vsLcFu.js → Tooltip-BTK4bJkV.js} +2 -2
  138. package/client/assets/Tooltip-BTK4bJkV.js.br +0 -0
  139. package/client/assets/Tooltip-BTK4bJkV.js.gz +0 -0
  140. package/client/assets/{Tooltip-B5vsLcFu.js.map → Tooltip-BTK4bJkV.js.map} +1 -1
  141. package/client/assets/ViewLogo-BZVUUIZA.js +2 -0
  142. package/client/assets/ViewLogo-BZVUUIZA.js.br +0 -0
  143. package/client/assets/ViewLogo-BZVUUIZA.js.gz +0 -0
  144. package/client/assets/ViewLogo-BZVUUIZA.js.map +1 -0
  145. package/client/assets/{ViewParamsEditor-C2-TRP6e.js → ViewParamsEditor-CBnRitZ4.js} +2 -2
  146. package/client/assets/ViewParamsEditor-CBnRitZ4.js.br +0 -0
  147. package/client/assets/ViewParamsEditor-CBnRitZ4.js.gz +0 -0
  148. package/client/assets/{ViewParamsEditor-C2-TRP6e.js.map → ViewParamsEditor-CBnRitZ4.js.map} +1 -1
  149. package/client/assets/{dateConfig-D7xim1t4.js → dateConfig-Crm-Cu2y.js} +2 -2
  150. package/client/assets/dateConfig-Crm-Cu2y.js.br +0 -0
  151. package/client/assets/dateConfig-Crm-Cu2y.js.gz +0 -0
  152. package/client/assets/{dateConfig-D7xim1t4.js.map → dateConfig-Crm-Cu2y.js.map} +1 -1
  153. package/client/assets/{editorSettings-D2f7e1a6.js → editorSettings-CRJwIW7V.js} +2 -2
  154. package/client/assets/editorSettings-CRJwIW7V.js.br +0 -0
  155. package/client/assets/editorSettings-CRJwIW7V.js.gz +0 -0
  156. package/client/assets/{editorSettings-D2f7e1a6.js.map → editorSettings-CRJwIW7V.js.map} +1 -1
  157. package/client/assets/{getProgress-cLuBFPjh.js → getProgress-fD6vhbNF.js} +2 -2
  158. package/client/assets/getProgress-fD6vhbNF.js.br +0 -0
  159. package/client/assets/getProgress-fD6vhbNF.js.gz +0 -0
  160. package/client/assets/{getProgress-cLuBFPjh.js.map → getProgress-fD6vhbNF.js.map} +1 -1
  161. package/client/assets/{index-B81u4hxi.js → index-B1K7rED_.js} +3 -3
  162. package/client/assets/index-B1K7rED_.js.br +0 -0
  163. package/client/assets/index-B1K7rED_.js.gz +0 -0
  164. package/client/assets/index-B1K7rED_.js.map +1 -0
  165. package/client/assets/{index-D6S93MXv.css → index-BAvwULMi.css} +1 -1
  166. package/client/assets/index-BAvwULMi.css.br +0 -0
  167. package/client/assets/{index-D6S93MXv.css.gz → index-BAvwULMi.css.gz} +0 -0
  168. package/client/assets/{offset-R98EXhWK.js → offset-FplkvYRD.js} +2 -2
  169. package/client/assets/offset-FplkvYRD.js.br +0 -0
  170. package/client/assets/offset-FplkvYRD.js.gz +0 -0
  171. package/client/assets/{offset-R98EXhWK.js.map → offset-FplkvYRD.js.map} +1 -1
  172. package/client/assets/{parseUserTime-YeFR8t3F.js → parseUserTime-0pNWLcr0.js} +2 -2
  173. package/client/assets/parseUserTime-0pNWLcr0.js.br +0 -0
  174. package/client/assets/parseUserTime-0pNWLcr0.js.gz +0 -0
  175. package/client/assets/{parseUserTime-YeFR8t3F.js.map → parseUserTime-0pNWLcr0.js.map} +1 -1
  176. package/client/assets/{playbackstate-CPQdnF-k.js → playbackstate-1HCEpVh5.js} +2 -2
  177. package/client/assets/playbackstate-1HCEpVh5.js.br +0 -0
  178. package/client/assets/playbackstate-1HCEpVh5.js.gz +0 -0
  179. package/client/assets/{playbackstate-CPQdnF-k.js.map → playbackstate-1HCEpVh5.js.map} +1 -1
  180. package/client/assets/{presentation.utils-Cl-L3pHN.js → presentation.utils-CLt2UhON.js} +2 -2
  181. package/client/assets/presentation.utils-CLt2UhON.js.br +0 -0
  182. package/client/assets/presentation.utils-CLt2UhON.js.gz +0 -0
  183. package/client/assets/{presentation.utils-Cl-L3pHN.js.map → presentation.utils-CLt2UhON.js.map} +1 -1
  184. package/client/assets/{rundownUtils-CtVGQDQn.js → rundownUtils-D1oJpMdx.js} +2 -2
  185. package/client/assets/rundownUtils-D1oJpMdx.js.br +0 -0
  186. package/client/assets/rundownUtils-D1oJpMdx.js.gz +0 -0
  187. package/client/assets/{rundownUtils-CtVGQDQn.js.map → rundownUtils-D1oJpMdx.js.map} +1 -1
  188. package/client/assets/{timer.utils-rGyI9NYa.js → timer.utils-FiqT1yNa.js} +2 -2
  189. package/client/assets/timer.utils-FiqT1yNa.js.br +0 -0
  190. package/client/assets/timer.utils-FiqT1yNa.js.gz +0 -0
  191. package/client/assets/{timer.utils-rGyI9NYa.js.map → timer.utils-FiqT1yNa.js.map} +1 -1
  192. package/client/assets/{useCustomFields-k4piRt9n.js → useCustomFields-nW-_Zyfw.js} +2 -2
  193. package/client/assets/useCustomFields-nW-_Zyfw.js.br +0 -0
  194. package/client/assets/useCustomFields-nW-_Zyfw.js.gz +0 -0
  195. package/client/assets/{useCustomFields-k4piRt9n.js.map → useCustomFields-nW-_Zyfw.js.map} +1 -1
  196. package/client/assets/{useFollowComponent-B7vvPzG2.js → useFollowComponent-4cbKEsVz.js} +2 -2
  197. package/client/assets/useFollowComponent-4cbKEsVz.js.br +0 -0
  198. package/client/assets/useFollowComponent-4cbKEsVz.js.gz +0 -0
  199. package/client/assets/{useFollowComponent-B7vvPzG2.js.map → useFollowComponent-4cbKEsVz.js.map} +1 -1
  200. package/client/assets/{useProjectData-DdgKoYzk.js → useProjectData-DP-pr73E.js} +2 -2
  201. package/client/assets/useProjectData-DP-pr73E.js.br +0 -0
  202. package/client/assets/useProjectData-DP-pr73E.js.gz +0 -0
  203. package/client/assets/{useProjectData-DdgKoYzk.js.map → useProjectData-DP-pr73E.js.map} +1 -1
  204. package/client/assets/{useReport-DSuFnUb9.js → useReport-6XA_s2Vc.js} +2 -2
  205. package/client/assets/useReport-6XA_s2Vc.js.br +0 -0
  206. package/client/assets/useReport-6XA_s2Vc.js.gz +0 -0
  207. package/client/assets/{useReport-DSuFnUb9.js.map → useReport-6XA_s2Vc.js.map} +1 -1
  208. package/client/assets/{useRundown-Bn6ZPsz0.js → useRundown-BGhL8DEI.js} +2 -2
  209. package/client/assets/useRundown-BGhL8DEI.js.br +0 -0
  210. package/client/assets/useRundown-BGhL8DEI.js.gz +0 -0
  211. package/client/assets/{useRundown-Bn6ZPsz0.js.map → useRundown-BGhL8DEI.js.map} +1 -1
  212. package/client/assets/{useWindowTitle-Bpmo_HzW.js → useWindowTitle-ahZQIheF.js} +2 -2
  213. package/client/assets/useWindowTitle-ahZQIheF.js.br +0 -0
  214. package/client/assets/useWindowTitle-ahZQIheF.js.gz +0 -0
  215. package/client/assets/{useWindowTitle-Bpmo_HzW.js.map → useWindowTitle-ahZQIheF.js.map} +1 -1
  216. package/client/assets/{validateEvent-Do8yE_DJ.js → validateEvent-jVIMKhmx.js} +2 -2
  217. package/client/assets/validateEvent-jVIMKhmx.js.br +0 -0
  218. package/client/assets/validateEvent-jVIMKhmx.js.gz +0 -0
  219. package/client/assets/{validateEvent-Do8yE_DJ.js.map → validateEvent-jVIMKhmx.js.map} +1 -1
  220. package/client/assets/{vendor-q6fv0YT2.js → vendor-DmGkEtRj.js} +2 -2
  221. package/client/assets/vendor-DmGkEtRj.js.br +0 -0
  222. package/client/assets/vendor-DmGkEtRj.js.gz +0 -0
  223. package/client/assets/{vendor-q6fv0YT2.js.map → vendor-DmGkEtRj.js.map} +1 -1
  224. package/client/assets/{viewLoader.utils-b42scp-I.js → viewLoader.utils-Bniie8Op.js} +2 -2
  225. package/client/assets/viewLoader.utils-Bniie8Op.js.br +0 -0
  226. package/client/assets/viewLoader.utils-Bniie8Op.js.gz +0 -0
  227. package/client/assets/{viewLoader.utils-b42scp-I.js.map → viewLoader.utils-Bniie8Op.js.map} +1 -1
  228. package/client/assets/{viewUtils-B8Dr4GHH.js → viewUtils-VNLYoR28.js} +2 -2
  229. package/client/assets/viewUtils-VNLYoR28.js.br +0 -0
  230. package/client/assets/viewUtils-VNLYoR28.js.gz +0 -0
  231. package/client/assets/{viewUtils-B8Dr4GHH.js.map → viewUtils-VNLYoR28.js.map} +1 -1
  232. package/client/index.html +3 -3
  233. package/package.json +1 -1
  234. package/server/index.cjs +74 -74
  235. package/client/assets/Backstage-CDH53Q_N.js.br +0 -0
  236. package/client/assets/Backstage-CDH53Q_N.js.gz +0 -0
  237. package/client/assets/Countdown-B-MuMf1C.js.br +0 -0
  238. package/client/assets/Countdown-B-MuMf1C.js.gz +0 -0
  239. package/client/assets/CustomTranslationModal-DiQbmcgD.js.br +0 -0
  240. package/client/assets/CustomTranslationModal-DiQbmcgD.js.gz +0 -0
  241. package/client/assets/DelayIndicator-D--91EO3.js.br +0 -0
  242. package/client/assets/DelayIndicator-D--91EO3.js.gz +0 -0
  243. package/client/assets/EditorFeatureWrapper-DwXUAV4k.js.br +0 -0
  244. package/client/assets/EditorFeatureWrapper-DwXUAV4k.js.gz +0 -0
  245. package/client/assets/EditorUtils-DuKjlUkF.js.br +0 -0
  246. package/client/assets/EditorUtils-DuKjlUkF.js.gz +0 -0
  247. package/client/assets/Empty-CJbZxh45.js.br +0 -0
  248. package/client/assets/Empty-CJbZxh45.js.gz +0 -0
  249. package/client/assets/EmptyPage-Bc358YpE.js.br +0 -5
  250. package/client/assets/EmptyPage-Bc358YpE.js.gz +0 -0
  251. package/client/assets/FollowButton-C6Fvaqh0.js.br +0 -0
  252. package/client/assets/FollowButton-C6Fvaqh0.js.gz +0 -0
  253. package/client/assets/MessageControlExport-GmOrvUik.js.br +0 -0
  254. package/client/assets/MessageControlExport-GmOrvUik.js.gz +0 -0
  255. package/client/assets/MilestoneEditor-BA0PVIQh.js.br +0 -0
  256. package/client/assets/MilestoneEditor-BA0PVIQh.js.gz +0 -0
  257. package/client/assets/Modal-BKx0PDGT.js.br +0 -0
  258. package/client/assets/Modal-BKx0PDGT.js.gz +0 -0
  259. package/client/assets/MultiPartProgressBar-BXdLxJpy.js.br +0 -0
  260. package/client/assets/MultiPartProgressBar-BXdLxJpy.js.gz +0 -0
  261. package/client/assets/OperatorExport-X7-qi2jv.js.br +0 -0
  262. package/client/assets/OperatorExport-X7-qi2jv.js.gz +0 -0
  263. package/client/assets/OverviewWrapper-BQb2xl_N.js.br +0 -0
  264. package/client/assets/OverviewWrapper-BQb2xl_N.js.gz +0 -0
  265. package/client/assets/PipHost-CvtlZIn7.js.br +0 -0
  266. package/client/assets/PipHost-CvtlZIn7.js.gz +0 -0
  267. package/client/assets/ProjectInfo-1tw48NHZ.js.br +0 -0
  268. package/client/assets/ProjectInfo-1tw48NHZ.js.gz +0 -0
  269. package/client/assets/ProtectRoute-BH-QvsU0.js.br +0 -0
  270. package/client/assets/ProtectRoute-BH-QvsU0.js.gz +0 -0
  271. package/client/assets/ProtectedCuesheet-CYBIcg1c.js.br +0 -0
  272. package/client/assets/ProtectedCuesheet-CYBIcg1c.js.gz +0 -0
  273. package/client/assets/ProtectedEditor-D_A75byA.js.br +0 -0
  274. package/client/assets/ProtectedEditor-D_A75byA.js.gz +0 -0
  275. package/client/assets/ProtectedEditor-D_A75byA.js.map +0 -1
  276. package/client/assets/RundownEntry-bkqwx57t.js.br +0 -0
  277. package/client/assets/RundownEntry-bkqwx57t.js.gz +0 -0
  278. package/client/assets/RundownExport-EorsanA0.js.br +0 -0
  279. package/client/assets/RundownExport-EorsanA0.js.gz +0 -0
  280. package/client/assets/Select-BGGVCKqU.js.br +0 -0
  281. package/client/assets/Select-BGGVCKqU.js.gz +0 -0
  282. package/client/assets/Studio-BjNZ4l-W.js.br +0 -0
  283. package/client/assets/Studio-BjNZ4l-W.js.gz +0 -0
  284. package/client/assets/StyleEditor-CpciRLYh.js.br +0 -0
  285. package/client/assets/StyleEditor-CpciRLYh.js.gz +0 -0
  286. package/client/assets/SuperscriptPeriod-DsPdWN_s.js.br +0 -0
  287. package/client/assets/SuperscriptPeriod-DsPdWN_s.js.gz +0 -0
  288. package/client/assets/SuperscriptTime-CA6S2R55.js.br +0 -0
  289. package/client/assets/SuperscriptTime-CA6S2R55.js.gz +0 -0
  290. package/client/assets/SwatchPicker-Cm5Eicvv.js.br +0 -0
  291. package/client/assets/SwatchPicker-Cm5Eicvv.js.gz +0 -0
  292. package/client/assets/TimeElements-DbclWDbU.js.br +0 -0
  293. package/client/assets/TimeElements-DbclWDbU.js.gz +0 -0
  294. package/client/assets/TimeInput-C8DQoFXv.js.br +0 -0
  295. package/client/assets/TimeInput-C8DQoFXv.js.gz +0 -0
  296. package/client/assets/TimelinePage-Cgtl1qNp.js.br +0 -0
  297. package/client/assets/TimelinePage-Cgtl1qNp.js.gz +0 -0
  298. package/client/assets/Timer-BbixOGdj.js.br +0 -0
  299. package/client/assets/Timer-BbixOGdj.js.gz +0 -0
  300. package/client/assets/TimerControlExport-Dx3SSGNG.js.br +0 -0
  301. package/client/assets/TimerControlExport-Dx3SSGNG.js.gz +0 -0
  302. package/client/assets/TitleCard-Xdr7xwzU.js.br +0 -0
  303. package/client/assets/TitleCard-Xdr7xwzU.js.gz +0 -0
  304. package/client/assets/Tooltip-B5vsLcFu.js.br +0 -0
  305. package/client/assets/Tooltip-B5vsLcFu.js.gz +0 -0
  306. package/client/assets/ViewLogo-G7EosFIr.js +0 -2
  307. package/client/assets/ViewLogo-G7EosFIr.js.br +0 -0
  308. package/client/assets/ViewLogo-G7EosFIr.js.gz +0 -0
  309. package/client/assets/ViewLogo-G7EosFIr.js.map +0 -1
  310. package/client/assets/ViewParamsEditor-C2-TRP6e.js.br +0 -0
  311. package/client/assets/ViewParamsEditor-C2-TRP6e.js.gz +0 -0
  312. package/client/assets/dateConfig-D7xim1t4.js.br +0 -0
  313. package/client/assets/dateConfig-D7xim1t4.js.gz +0 -0
  314. package/client/assets/editorSettings-D2f7e1a6.js.br +0 -0
  315. package/client/assets/editorSettings-D2f7e1a6.js.gz +0 -0
  316. package/client/assets/getProgress-cLuBFPjh.js.br +0 -0
  317. package/client/assets/getProgress-cLuBFPjh.js.gz +0 -0
  318. package/client/assets/index-B81u4hxi.js.br +0 -0
  319. package/client/assets/index-B81u4hxi.js.gz +0 -0
  320. package/client/assets/index-B81u4hxi.js.map +0 -1
  321. package/client/assets/index-D6S93MXv.css.br +0 -0
  322. package/client/assets/offset-R98EXhWK.js.br +0 -0
  323. package/client/assets/offset-R98EXhWK.js.gz +0 -0
  324. package/client/assets/parseUserTime-YeFR8t3F.js.br +0 -0
  325. package/client/assets/parseUserTime-YeFR8t3F.js.gz +0 -0
  326. package/client/assets/playbackstate-CPQdnF-k.js.br +0 -0
  327. package/client/assets/playbackstate-CPQdnF-k.js.gz +0 -0
  328. package/client/assets/presentation.utils-Cl-L3pHN.js.br +0 -0
  329. package/client/assets/presentation.utils-Cl-L3pHN.js.gz +0 -0
  330. package/client/assets/rundownUtils-CtVGQDQn.js.br +0 -0
  331. package/client/assets/rundownUtils-CtVGQDQn.js.gz +0 -0
  332. package/client/assets/timer.utils-rGyI9NYa.js.br +0 -0
  333. package/client/assets/timer.utils-rGyI9NYa.js.gz +0 -0
  334. package/client/assets/useCustomFields-k4piRt9n.js.br +0 -0
  335. package/client/assets/useCustomFields-k4piRt9n.js.gz +0 -0
  336. package/client/assets/useFollowComponent-B7vvPzG2.js.br +0 -0
  337. package/client/assets/useFollowComponent-B7vvPzG2.js.gz +0 -0
  338. package/client/assets/useProjectData-DdgKoYzk.js.br +0 -0
  339. package/client/assets/useProjectData-DdgKoYzk.js.gz +0 -0
  340. package/client/assets/useReport-DSuFnUb9.js.br +0 -0
  341. package/client/assets/useReport-DSuFnUb9.js.gz +0 -0
  342. package/client/assets/useRundown-Bn6ZPsz0.js.br +0 -0
  343. package/client/assets/useRundown-Bn6ZPsz0.js.gz +0 -0
  344. package/client/assets/useWindowTitle-Bpmo_HzW.js.br +0 -0
  345. package/client/assets/useWindowTitle-Bpmo_HzW.js.gz +0 -0
  346. package/client/assets/validateEvent-Do8yE_DJ.js.br +0 -3
  347. package/client/assets/validateEvent-Do8yE_DJ.js.gz +0 -0
  348. package/client/assets/vendor-q6fv0YT2.js.br +0 -0
  349. package/client/assets/vendor-q6fv0YT2.js.gz +0 -0
  350. package/client/assets/viewLoader.utils-b42scp-I.js.br +0 -0
  351. package/client/assets/viewLoader.utils-b42scp-I.js.gz +0 -0
  352. package/client/assets/viewUtils-B8Dr4GHH.js.br +0 -0
  353. package/client/assets/viewUtils-B8Dr4GHH.js.gz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useReport-DSuFnUb9.js","sources":["../../src/common/api/report.ts","../../src/common/hooks-query/useReport.ts"],"sourcesContent":["import axios from 'axios';\nimport { OntimeReport } from 'ontime-types';\n\nimport { ontimeQueryClient } from '../../common/queryClient';\n\nimport { apiEntryUrl, REPORT } from './constants';\n\nexport const reportUrl = `${apiEntryUrl}/report`;\n\n/**\n * HTTP request to fetch all reports\n */\nexport async function fetchReport(): Promise<OntimeReport> {\n const res = await axios.get(reportUrl);\n return res.data;\n}\n\nexport async function deleteReport(id: string) {\n await axios.delete(`${reportUrl}/${id}`);\n await ontimeQueryClient.invalidateQueries({ queryKey: REPORT });\n}\n\nexport async function deleteAllReport() {\n await axios.delete(`${reportUrl}/all`);\n await ontimeQueryClient.invalidateQueries({ queryKey: REPORT });\n}\n","import { useQuery } from '@tanstack/react-query';\nimport { OntimeReport } from 'ontime-types';\nimport { MILLIS_PER_HOUR } from 'ontime-utils';\n\nimport { REPORT } from '../api/constants';\nimport { fetchReport } from '../api/report';\n\nexport default function useReport() {\n const { data, refetch } = useQuery<OntimeReport>({\n queryKey: REPORT,\n queryFn: fetchReport,\n placeholderData: (previousData, _previousQuery) => previousData,\n retry: 5,\n retryDelay: (attempt) => attempt * 2500,\n networkMode: 'always',\n staleTime: MILLIS_PER_HOUR,\n });\n\n return { data: data ?? {}, refetch };\n}\n"],"names":["reportUrl","apiEntryUrl","fetchReport","axios","get","data","deleteAllReport","delete","ontimeQueryClient","invalidateQueries","queryKey","REPORT","useReport","refetch","useQuery","queryFn","placeholderData","previousData","_previousQuery","retry","retryDelay","attempt","networkMode","staleTime","MILLIS_PER_HOUR"],"mappings":"0cAOaA,MAAAA,EAAY,GAAGC,CAAW,UAKvC,eAAsBC,GAAqC,CAEzD,OADY,MAAMC,EAAMC,IAAIJ,CAAS,GAC1BK,IACb,CAOA,eAAsBC,GAAkB,CACtC,MAAMH,EAAMI,OAAO,GAAGP,CAAS,MAAM,EACrC,MAAMQ,EAAkBC,kBAAkB,CAAEC,SAAUC,CAAAA,CAAQ,CAChE,CClBA,SAAwBC,GAAY,CAC5B,KAAA,CAAEP,KAAAA,EAAMQ,QAAAA,GAAYC,EAAuB,CAC/CJ,SAAUC,EACVI,QAASb,EACTc,gBAAiBA,CAACC,EAAcC,IAAmBD,EACnDE,MAAO,EACPC,cAAyBC,EAAU,KACnCC,YAAa,SACbC,UAAWC,CAAAA,CACZ,EAEM,MAAA,CAAEnB,KAAMA,GAAQ,CAAC,EAAGQ,QAAAA,CAAQ,CACrC"}
1
+ {"version":3,"file":"useReport-6XA_s2Vc.js","sources":["../../src/common/api/report.ts","../../src/common/hooks-query/useReport.ts"],"sourcesContent":["import axios from 'axios';\nimport { OntimeReport } from 'ontime-types';\n\nimport { ontimeQueryClient } from '../../common/queryClient';\n\nimport { apiEntryUrl, REPORT } from './constants';\n\nexport const reportUrl = `${apiEntryUrl}/report`;\n\n/**\n * HTTP request to fetch all reports\n */\nexport async function fetchReport(): Promise<OntimeReport> {\n const res = await axios.get(reportUrl);\n return res.data;\n}\n\nexport async function deleteReport(id: string) {\n await axios.delete(`${reportUrl}/${id}`);\n await ontimeQueryClient.invalidateQueries({ queryKey: REPORT });\n}\n\nexport async function deleteAllReport() {\n await axios.delete(`${reportUrl}/all`);\n await ontimeQueryClient.invalidateQueries({ queryKey: REPORT });\n}\n","import { useQuery } from '@tanstack/react-query';\nimport { OntimeReport } from 'ontime-types';\nimport { MILLIS_PER_HOUR } from 'ontime-utils';\n\nimport { REPORT } from '../api/constants';\nimport { fetchReport } from '../api/report';\n\nexport default function useReport() {\n const { data, refetch } = useQuery<OntimeReport>({\n queryKey: REPORT,\n queryFn: fetchReport,\n placeholderData: (previousData, _previousQuery) => previousData,\n retry: 5,\n retryDelay: (attempt) => attempt * 2500,\n networkMode: 'always',\n staleTime: MILLIS_PER_HOUR,\n });\n\n return { data: data ?? {}, refetch };\n}\n"],"names":["reportUrl","apiEntryUrl","fetchReport","axios","get","data","deleteAllReport","delete","ontimeQueryClient","invalidateQueries","queryKey","REPORT","useReport","refetch","useQuery","queryFn","placeholderData","previousData","_previousQuery","retry","retryDelay","attempt","networkMode","staleTime","MILLIS_PER_HOUR"],"mappings":"0cAOaA,MAAAA,EAAY,GAAGC,CAAW,UAKvC,eAAsBC,GAAqC,CAEzD,OADY,MAAMC,EAAMC,IAAIJ,CAAS,GAC1BK,IACb,CAOA,eAAsBC,GAAkB,CACtC,MAAMH,EAAMI,OAAO,GAAGP,CAAS,MAAM,EACrC,MAAMQ,EAAkBC,kBAAkB,CAAEC,SAAUC,CAAAA,CAAQ,CAChE,CClBA,SAAwBC,GAAY,CAC5B,KAAA,CAAEP,KAAAA,EAAMQ,QAAAA,GAAYC,EAAuB,CAC/CJ,SAAUC,EACVI,QAASb,EACTc,gBAAiBA,CAACC,EAAcC,IAAmBD,EACnDE,MAAO,EACPC,cAAyBC,EAAU,KACnCC,YAAa,SACbC,UAAWC,CAAAA,CACZ,EAEM,MAAA,CAAEnB,KAAMA,GAAQ,CAAC,EAAGQ,QAAAA,CAAQ,CACrC"}
@@ -1,2 +1,2 @@
1
- import{e as s,k as $,h as c}from"./vendor-q6fv0YT2.js";import{s as l,ay as h,o as p,aG as E,az as g}from"./index-B81u4hxi.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new t.Error().stack;n&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[n]="46b5aa67-8fa8-418d-bbf7-5946a9c9b179",t._sentryDebugIdIdentifier="sentry-dbid-46b5aa67-8fa8-418d-bbf7-5946a9c9b179")}catch{}})();var i=(t=>(t.Event="event",t.Delay="delay",t.Group="group",t.Milestone="milestone",t))(i||{});function m(t){return(t==null?void 0:t.type)===i.Event}function R(t){return!t.skip}function q(t){return(t==null?void 0:t.type)===i.Delay}function I(t){return(t==null?void 0:t.type)===i.Group}function C(t){return(t==null?void 0:t.type)===i.Milestone}function F(t,n){return t in n}function S(t){return t.type==="osc"}function N(t){return t.type==="http"}function W(t){return t.type==="ontime"}function b(t,n){return!(!n||t.dayOffset<=n.dayOffset||n.timeStart+n.duration>l)}function M(t,n){if(!n)return!0;const e=t.timeStart+t.duration+t.dayOffset*l,a=n.timeStart+n.duration+n.dayOffset*l;return e>=a}const r=`${h}/rundowns`;async function j(){return(await s.get(r)).data}async function O(){const t=await s.get(`${r}/current`);if(!n(t.data))throw new Error("Invalid rundown payload");return t.data;function n(e){return e&&typeof e=="object"&&typeof e.id=="string"&&Array.isArray(e.order)&&Array.isArray(e.flatOrder)&&e.entries&&typeof e.entries=="object"&&typeof e.revision=="number"}}async function x(t){return s.post(`${r}/${t}/load`)}async function B(t){return s.post(r,{title:t})}async function _(t){return s.post(`${r}/${t}/duplicate`)}async function K(t,n){return s.patch(`${r}/${t}`,{title:n})}async function U(t){return s.delete(`${r}/${t}`)}async function z(t,n){return s.post(`${r}/${t}/entry`,n)}async function H(t,n){return s.put(`${r}/${t}/entry`,n)}async function Q(t,n){return s.put(`${r}/${t}/batch`,n)}async function V(t,n){return s.patch(`${r}/${t}/reorder`,n)}async function J(t,n,e){return s.patch(`${r}/${t}/swap`,{from:n,to:e})}async function X(t,n){return s.patch(`${r}/${t}/applydelay/${n}`)}async function Y(t,n,e){return s.post(`${r}/${t}/clone/${n}`,e)}async function Z(t,n){return s.post(`${r}/${t}/group`,{ids:n})}async function tt(t,n){return s.post(`${r}/${t}/ungroup/${n}`)}async function nt(t,n){return s.delete(`${r}/${t}/entries`,{data:{ids:n}})}async function et(t){return s.delete(`${r}/${t}/all`)}const D="LAST";function v(t,n){const{metadata:e,process:a}=y(n);let o=e;const u={};for(const d of t.flatOrder){const w=t.entries[d];o=a(w),u[d]=o}return u[D]=o,u}function L(t,n){const{process:e}=y(n),a=[];for(const o of t.flatOrder){const u=t.entries[o],d={...u,...e(u)};a.push(d)}return a}function y(t){let n={previousEvent:null,latestEvent:null,previousEntryId:null,thisId:null,eventIndex:0,isPast:!!t,isNextDay:!1,totalGap:0,isLinkedToLoaded:!1,isLoaded:!1,groupId:null,groupColour:void 0,groupEntries:void 0,isFirstAfterGroup:!1};function e(a){return n=A(n,t,a),n}return{metadata:n,process:e}}function A(t,n,e){var o,u;const a={...t};return a.isNextDay=!1,a.isLoaded=!1,a.previousEntryId=a.thisId,a.thisId=e.id,a.previousEvent=a.latestEvent,e.id===n&&(a.isLoaded=!0,a.isPast=!1,a.isLinkedToLoaded=!0),I(e)?(a.groupId=e.id,a.groupColour=e.colour,a.groupEntries=e.entries.length):(e.parent!==a.groupId&&(a.groupId=e.parent,a.groupEntries=void 0,e.parent===null&&(a.groupColour=void 0)),m(e)&&(a.eventIndex+=1,a.isFirstAfterGroup=!!((o=a.previousEvent)!=null&&o.parent)&&e.parent===null,R(e)&&(a.isNextDay=b(e,a.previousEvent),!a.isPast&&!a.isLoaded&&(a.totalGap+=e.gap,a.isLinkedToLoaded=e.linkStart&&!((u=a.previousEvent)!=null&&u.countToEnd)&&a.isLinkedToLoaded),M(e,a.latestEvent)&&(a.latestEvent=e)))),a}const T={id:"default",title:"",order:[],flatOrder:[],entries:{},revision:-1};function f(){const{data:t,status:n,isError:e,refetch:a,isFetching:o}=$({queryKey:g,queryFn:O,refetchInterval:E});return{data:t??T,status:n,isError:e,refetch:a,isFetching:o}}function at(){const{data:t,status:n}=f(),{selectedEventId:e}=p(),a=c.useMemo(()=>v(t,e),[t,e]);return{data:t,status:n,rundownMetadata:a}}function st(){const{data:t,status:n}=f();return{data:c.useMemo(()=>t.revision===-1?[]:t.flatOrder.map(a=>t.entries[a]).filter(a=>a!==void 0),[t]),rundownId:t.id,status:n}}function k(){const{data:t,status:n}=f(),{selectedEventId:e}=p();return{data:c.useMemo(()=>L(t,e),[t,e]),status:n}}function rt(t){const{data:n,status:e}=k();return{data:c.useMemo(()=>n.filter(t),[n,t]),status:e}}function ot(t){const{data:n}=f();return t===null?null:n.entries[t]??null}export{Q as A,nt as B,et as C,X as D,tt as E,Z as F,V as G,J as H,i as S,R as a,rt as b,st as c,M as d,S as e,N as f,W as g,f as h,m as i,I as j,C as k,B as l,_ as m,U as n,x as o,j as p,F as q,K as r,q as s,at as t,k as u,ot as v,D as w,z as x,Y as y,H as z};
2
- //# sourceMappingURL=useRundown-Bn6ZPsz0.js.map
1
+ import{e as s,k as $,h as c}from"./vendor-DmGkEtRj.js";import{s as l,ay as h,o as p,aG as E,az as g}from"./index-B1K7rED_.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new t.Error().stack;n&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[n]="46b5aa67-8fa8-418d-bbf7-5946a9c9b179",t._sentryDebugIdIdentifier="sentry-dbid-46b5aa67-8fa8-418d-bbf7-5946a9c9b179")}catch{}})();var i=(t=>(t.Event="event",t.Delay="delay",t.Group="group",t.Milestone="milestone",t))(i||{});function m(t){return(t==null?void 0:t.type)===i.Event}function R(t){return!t.skip}function q(t){return(t==null?void 0:t.type)===i.Delay}function I(t){return(t==null?void 0:t.type)===i.Group}function C(t){return(t==null?void 0:t.type)===i.Milestone}function F(t,n){return t in n}function S(t){return t.type==="osc"}function N(t){return t.type==="http"}function W(t){return t.type==="ontime"}function b(t,n){return!(!n||t.dayOffset<=n.dayOffset||n.timeStart+n.duration>l)}function M(t,n){if(!n)return!0;const e=t.timeStart+t.duration+t.dayOffset*l,a=n.timeStart+n.duration+n.dayOffset*l;return e>=a}const r=`${h}/rundowns`;async function j(){return(await s.get(r)).data}async function O(){const t=await s.get(`${r}/current`);if(!n(t.data))throw new Error("Invalid rundown payload");return t.data;function n(e){return e&&typeof e=="object"&&typeof e.id=="string"&&Array.isArray(e.order)&&Array.isArray(e.flatOrder)&&e.entries&&typeof e.entries=="object"&&typeof e.revision=="number"}}async function x(t){return s.post(`${r}/${t}/load`)}async function B(t){return s.post(r,{title:t})}async function _(t){return s.post(`${r}/${t}/duplicate`)}async function K(t,n){return s.patch(`${r}/${t}`,{title:n})}async function U(t){return s.delete(`${r}/${t}`)}async function z(t,n){return s.post(`${r}/${t}/entry`,n)}async function H(t,n){return s.put(`${r}/${t}/entry`,n)}async function Q(t,n){return s.put(`${r}/${t}/batch`,n)}async function V(t,n){return s.patch(`${r}/${t}/reorder`,n)}async function J(t,n,e){return s.patch(`${r}/${t}/swap`,{from:n,to:e})}async function X(t,n){return s.patch(`${r}/${t}/applydelay/${n}`)}async function Y(t,n,e){return s.post(`${r}/${t}/clone/${n}`,e)}async function Z(t,n){return s.post(`${r}/${t}/group`,{ids:n})}async function tt(t,n){return s.post(`${r}/${t}/ungroup/${n}`)}async function nt(t,n){return s.delete(`${r}/${t}/entries`,{data:{ids:n}})}async function et(t){return s.delete(`${r}/${t}/all`)}const D="LAST";function v(t,n){const{metadata:e,process:a}=y(n);let o=e;const u={};for(const d of t.flatOrder){const w=t.entries[d];o=a(w),u[d]=o}return u[D]=o,u}function L(t,n){const{process:e}=y(n),a=[];for(const o of t.flatOrder){const u=t.entries[o],d={...u,...e(u)};a.push(d)}return a}function y(t){let n={previousEvent:null,latestEvent:null,previousEntryId:null,thisId:null,eventIndex:0,isPast:!!t,isNextDay:!1,totalGap:0,isLinkedToLoaded:!1,isLoaded:!1,groupId:null,groupColour:void 0,groupEntries:void 0,isFirstAfterGroup:!1};function e(a){return n=A(n,t,a),n}return{metadata:n,process:e}}function A(t,n,e){var o,u;const a={...t};return a.isNextDay=!1,a.isLoaded=!1,a.previousEntryId=a.thisId,a.thisId=e.id,a.previousEvent=a.latestEvent,e.id===n&&(a.isLoaded=!0,a.isPast=!1,a.isLinkedToLoaded=!0),I(e)?(a.groupId=e.id,a.groupColour=e.colour,a.groupEntries=e.entries.length):(e.parent!==a.groupId&&(a.groupId=e.parent,a.groupEntries=void 0,e.parent===null&&(a.groupColour=void 0)),m(e)&&(a.eventIndex+=1,a.isFirstAfterGroup=!!((o=a.previousEvent)!=null&&o.parent)&&e.parent===null,R(e)&&(a.isNextDay=b(e,a.previousEvent),!a.isPast&&!a.isLoaded&&(a.totalGap+=e.gap,a.isLinkedToLoaded=e.linkStart&&!((u=a.previousEvent)!=null&&u.countToEnd)&&a.isLinkedToLoaded),M(e,a.latestEvent)&&(a.latestEvent=e)))),a}const T={id:"default",title:"",order:[],flatOrder:[],entries:{},revision:-1};function f(){const{data:t,status:n,isError:e,refetch:a,isFetching:o}=$({queryKey:g,queryFn:O,refetchInterval:E});return{data:t??T,status:n,isError:e,refetch:a,isFetching:o}}function at(){const{data:t,status:n}=f(),{selectedEventId:e}=p(),a=c.useMemo(()=>v(t,e),[t,e]);return{data:t,status:n,rundownMetadata:a}}function st(){const{data:t,status:n}=f();return{data:c.useMemo(()=>t.revision===-1?[]:t.flatOrder.map(a=>t.entries[a]).filter(a=>a!==void 0),[t]),rundownId:t.id,status:n}}function k(){const{data:t,status:n}=f(),{selectedEventId:e}=p();return{data:c.useMemo(()=>L(t,e),[t,e]),status:n}}function rt(t){const{data:n,status:e}=k();return{data:c.useMemo(()=>n.filter(t),[n,t]),status:e}}function ot(t){const{data:n}=f();return t===null?null:n.entries[t]??null}export{Q as A,nt as B,et as C,X as D,tt as E,Z as F,V as G,J as H,i as S,R as a,rt as b,st as c,M as d,S as e,N as f,W as g,f as h,m as i,I as j,C as k,B as l,_ as m,U as n,x as o,j as p,F as q,K as r,q as s,at as t,k as u,ot as v,D as w,z as x,Y as y,H as z};
2
+ //# sourceMappingURL=useRundown-BGhL8DEI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRundown-Bn6ZPsz0.js","sources":["../../../../packages/types/src/definitions/core/OntimeEntry.ts","../../../../packages/types/src/utils/guards.ts","../../../../packages/utils/src/date-utils/checkIsNextDay.ts","../../../../packages/utils/src/date-utils/isNewLatest.ts","../../src/common/api/rundown.ts","../../src/common/utils/rundownMetadata.ts","../../src/common/hooks-query/useRundown.ts"],"sourcesContent":["import type { MaybeNumber } from '../../utils/utils.type.js';\nimport type { EndAction } from '../EndAction.type.js';\nimport type { TimerType } from '../TimerType.type.js';\nimport type { TimeStrategy } from '../TimeStrategy.type.js';\nimport type { Trigger } from './Automation.type.js';\nimport type { EntryCustomFields } from './CustomFields.type.js';\n\nexport type EntryId = string;\n\nexport enum SupportedEntry {\n Event = 'event',\n Delay = 'delay',\n Group = 'group',\n Milestone = 'milestone',\n}\n\nexport type OntimeBaseEvent = {\n type: SupportedEntry;\n id: EntryId;\n};\n\nexport type OntimeDelay = OntimeBaseEvent & {\n type: SupportedEntry.Delay;\n duration: number;\n parent: EntryId | null;\n};\n\nexport type OntimeMilestone = OntimeBaseEvent & {\n type: SupportedEntry.Milestone;\n cue: string;\n title: string;\n note: string;\n colour: string;\n custom: EntryCustomFields;\n parent: EntryId | null;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n};\n\nexport type OntimeGroup = OntimeBaseEvent & {\n type: SupportedEntry.Group;\n title: string;\n note: string;\n entries: EntryId[];\n targetDuration: MaybeNumber;\n colour: string;\n custom: EntryCustomFields;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n timeStart: MaybeNumber; // calculated at runtime\n timeEnd: MaybeNumber; // calculated at runtime\n duration: number; // calculated at runtime\n isFirstLinked: boolean; // calculated at runtime, whether the first event is linked\n};\n\nexport type OntimeEvent = OntimeBaseEvent & {\n type: SupportedEntry.Event;\n flag: boolean;\n cue: string;\n title: string;\n note: string;\n endAction: EndAction;\n timerType: TimerType;\n countToEnd: boolean;\n linkStart: boolean;\n timeStrategy: TimeStrategy;\n timeStart: number;\n timeEnd: number;\n duration: number;\n skip: boolean;\n colour: string;\n timeWarning: number;\n timeDanger: number;\n custom: EntryCustomFields;\n triggers: Trigger[];\n parent: EntryId | null;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n delay: number; // calculated at runtime\n dayOffset: number; // calculated at runtime\n gap: number; // calculated at runtime\n};\n\nexport type PlayableEvent = OntimeEvent & { skip: false };\nexport type TimeField = 'timeStart' | 'timeEnd' | 'duration';\nexport type OntimeEntry = OntimeDelay | OntimeGroup | OntimeEvent | OntimeMilestone;\n\n// we need to create a manual union type since keys cannot be used in type unions\nexport type OntimeEntryCommonKeys = keyof OntimeEvent | keyof OntimeDelay | keyof OntimeGroup | keyof OntimeMilestone;\n","import type { AutomationOutput, HTTPOutput, OntimeAction, OSCOutput } from '../definitions/core/Automation.type.js';\nimport type {\n OntimeDelay,\n OntimeEntry,\n OntimeEvent,\n OntimeGroup,\n OntimeMilestone,\n PlayableEvent,\n} from '../definitions/core/OntimeEntry.js';\nimport { SupportedEntry } from '../definitions/core/OntimeEntry.js';\nimport { type TimerLifeCycle, timerLifecycleValues } from '../definitions/core/TimerLifecycle.type.js';\n\ntype MaybeEvent = OntimeEntry | Partial<OntimeEntry> | null | undefined;\n\nexport function isOntimeEvent(event: MaybeEvent): event is OntimeEvent {\n return event?.type === SupportedEntry.Event;\n}\n\nexport function isPlayableEvent(event: OntimeEvent): event is PlayableEvent {\n return !event.skip;\n}\n\nexport function isOntimeDelay(event: MaybeEvent): event is OntimeDelay {\n return event?.type === SupportedEntry.Delay;\n}\n\nexport function isOntimeGroup(event: MaybeEvent): event is OntimeGroup {\n return event?.type === SupportedEntry.Group;\n}\n\nexport function isOntimeMilestone(event: MaybeEvent): event is OntimeMilestone {\n return event?.type === SupportedEntry.Milestone;\n}\n\ntype AnyKeys<T> = keyof T;\n\nexport function isKeyOfType<T extends object>(key: PropertyKey, obj: T): key is AnyKeys<T> {\n return key in obj;\n}\n\nexport function isOSCOutput(output: AutomationOutput): output is OSCOutput {\n return output.type === 'osc';\n}\n\nexport function isHTTPOutput(output: AutomationOutput): output is HTTPOutput {\n return output.type === 'http';\n}\n\nexport function isOntimeAction(output: AutomationOutput): output is OntimeAction {\n return output.type === 'ontime';\n}\n\nexport function isTimerLifeCycle(maybeCycle: unknown): maybeCycle is TimerLifeCycle {\n if (typeof maybeCycle !== 'string') return false;\n return timerLifecycleValues.includes(maybeCycle);\n}\n","import type { OntimeEvent } from 'ontime-types';\n\nimport { dayInMs } from './conversionUtils.js';\n\n/**\n * Utility function checks whether a given event is the day after from its predecessor\n */\nexport function checkIsNextDay(\n current: Pick<OntimeEvent, 'timeStart' | 'dayOffset'>,\n previous: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'> | null,\n): boolean {\n if (!previous) {\n return false;\n }\n\n // if the day offsets are the same it can't be the next day\n if (current.dayOffset <= previous.dayOffset) {\n return false;\n }\n\n // if the previous event crossed midnight then the current is the same day\n if (previous.timeStart + previous.duration > dayInMs) {\n return false;\n }\n\n return true;\n}\n","import type { OntimeEvent } from 'ontime-types';\n\nimport { dayInMs } from './conversionUtils.js';\n\n/**\n * Checks whether a new element is the latest in the list\n */\nexport function isNewLatest(\n currentEvent: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'>,\n previousEvent: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'> | null,\n) {\n // true if there is no previous\n if (!previousEvent) {\n return true;\n }\n\n const normalisedCurrentEnd = currentEvent.timeStart + currentEvent.duration + currentEvent.dayOffset * dayInMs;\n const normalisedPreviousEnd = previousEvent.timeStart + previousEvent.duration + previousEvent.dayOffset * dayInMs;\n\n return normalisedCurrentEnd >= normalisedPreviousEnd;\n}\n","import axios, { AxiosResponse } from 'axios';\nimport { EntryId, OntimeEntry, OntimeEvent, ProjectRundownsList, Rundown, TransientEventPayload } from 'ontime-types';\n\nimport { apiEntryUrl } from './constants';\n\ntype RundownId = string;\nconst rundownPath = `${apiEntryUrl}/rundowns`;\n\n// #region operations on project rundowns =========================\n\n/**\n * HTTP request to fetch a list of existing rundowns\n */\nexport async function fetchProjectRundownList(): Promise<ProjectRundownsList> {\n const res = await axios.get(rundownPath);\n return res.data;\n}\n\n/**\n * HTTP request to fetch all entries in the currently loaded rundown\n */\nexport async function fetchCurrentRundown(): Promise<Rundown> {\n const res = await axios.get(`${rundownPath}/current`);\n if (!isValidRundown(res.data)) {\n throw new Error('Invalid rundown payload');\n }\n return res.data;\n\n function isValidRundown(x: any): x is Rundown {\n return (\n x &&\n typeof x === 'object' &&\n typeof x.id === 'string' &&\n Array.isArray(x.order) &&\n Array.isArray(x.flatOrder) &&\n x.entries &&\n typeof x.entries === 'object' &&\n typeof x.revision === 'number'\n );\n }\n}\n\n/**\n * HTTP request to switch the currently loaded rundown\n */\nexport async function loadRundown(rundownId: RundownId): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(`${rundownPath}/${rundownId}/load`);\n}\n\n/**\n * HTTP request to create a new rundown\n */\nexport async function createRundown(title: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(rundownPath, { title });\n}\n\n/**\n * HTTP request to duplicate an existing rundown\n */\nexport async function duplicateRundown(rundownId: RundownId): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(`${rundownPath}/${rundownId}/duplicate`);\n}\n\n/**\n * HTTP request to rename an existing rundown\n */\nexport async function renameRundown(rundownId: RundownId, title: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.patch(`${rundownPath}/${rundownId}`, { title });\n}\n\n/**\n * HTTP request to delete a rundown\n */\nexport async function deleteRundown(rundownId: RundownId): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.delete(`${rundownPath}/${rundownId}`);\n}\n\n// #endregion operations on project rundowns ======================\n// #region operations on rundown entries ==========================\n\n/**\n * HTTP request to post new entry\n */\nexport async function postAddEntry(\n rundownId: RundownId,\n data: TransientEventPayload,\n): Promise<AxiosResponse<OntimeEntry>> {\n return axios.post(`${rundownPath}/${rundownId}/entry`, data);\n}\n\n/**\n * HTTP request to edit an entry\n */\nexport async function putEditEntry(\n rundownId: RundownId,\n data: Partial<OntimeEntry>,\n): Promise<AxiosResponse<OntimeEntry>> {\n return axios.put(`${rundownPath}/${rundownId}/entry`, data);\n}\n\nexport type BatchEditEntry = {\n data: Partial<OntimeEvent>;\n ids: EntryId[];\n};\n\n/**\n * HTTP request to edit multiple events\n */\nexport async function putBatchEditEvents(rundownId: RundownId, data: BatchEditEntry): Promise<AxiosResponse<Rundown>> {\n return axios.put(`${rundownPath}/${rundownId}/batch`, data);\n}\n\nexport type ReorderEntry = {\n entryId: EntryId;\n destinationId: EntryId;\n order: 'before' | 'after' | 'insert';\n};\n\n/**\n * HTTP request to reorder an entry\n */\nexport async function patchReorderEntry(rundownId: RundownId, data: ReorderEntry): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/reorder`, data);\n}\n\n/**\n * HTTP request to swap two events\n */\nexport async function requestEventSwap(\n rundownId: RundownId,\n from: EntryId,\n to: EntryId,\n): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/swap`, { from, to });\n}\n\n/**\n * HTTP request to request application of delay\n */\nexport async function requestApplyDelay(rundownId: RundownId, delayId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/applydelay/${delayId}`);\n}\n\n/**\n * HTTP request for cloning an entry\n */\nexport async function postCloneEntry(\n rundownId: RundownId,\n entryId: EntryId,\n options?: { before?: EntryId; after?: EntryId },\n): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/clone/${entryId}`, options);\n}\n\n/**\n * HTTP request for grouping a list of entries into a group\n */\nexport async function requestGroupEntries(rundownId: RundownId, entryIds: EntryId[]): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/group`, { ids: entryIds });\n}\n\n/**\n * HTTP request for dissolving of a group\n */\nexport async function requestUngroup(rundownId: RundownId, groupId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/ungroup/${groupId}`);\n}\n\n/**\n * HTTP request to delete entries of a given rundown\n */\nexport async function deleteEntries(rundownId: RundownId, entryIds: EntryId[]): Promise<AxiosResponse<Rundown>> {\n return axios.delete(`${rundownPath}/${rundownId}/entries`, { data: { ids: entryIds } });\n}\n\n/**\n * HTTP request to delete all entries of a given rundown\n */\nexport async function requestDeleteAll(rundownId: RundownId): Promise<AxiosResponse<Rundown>> {\n return axios.delete(`${rundownPath}/${rundownId}/all`);\n}\n\n// #endregion operations on rundown entries =======================\n","import {\n isOntimeEvent,\n isOntimeGroup,\n isPlayableEvent,\n MaybeString,\n OntimeDelay,\n OntimeEntry,\n OntimeEvent,\n OntimeMilestone,\n PlayableEvent,\n Rundown,\n} from 'ontime-types';\nimport { checkIsNextDay, isNewLatest } from 'ontime-utils';\n\nexport type RundownMetadata = {\n previousEvent: PlayableEvent | null; // The playableEvent from the previous iteration, used by indicators\n latestEvent: PlayableEvent | null; // The playableEvent most forwards in time processed so far\n previousEntryId: MaybeString; // previous entry is used to infer position in the rundown for new events\n thisId: MaybeString;\n eventIndex: number;\n isPast: boolean;\n isNextDay: boolean;\n totalGap: number;\n isLinkedToLoaded: boolean; // check if the event can link all the way back to the currently playing event\n isLoaded: boolean;\n groupId: MaybeString;\n groupColour: string | undefined;\n groupEntries: number | undefined;\n isFirstAfterGroup: boolean;\n};\n\nexport type ExtendedEntry<T extends OntimeEntry = OntimeEntry> = T & RundownMetadata;\n\nexport const lastMetadataKey = 'LAST';\n\nexport type RundownMetadataObject = Record<string, Readonly<RundownMetadata>>;\n\n/**\n * Generates a Rundown Metadata object from a rundown\n */\nexport function getRundownMetadata(\n data: Pick<Rundown, 'entries' | 'flatOrder'>,\n selectedEventId: MaybeString,\n): RundownMetadataObject {\n const { metadata, process } = initRundownMetadata(selectedEventId);\n // keep a single reference to the metadata which we override for every entry\n let lastSnapshot = metadata;\n const rundownMetadata: RundownMetadataObject = {};\n\n for (const id of data.flatOrder) {\n const entry = data.entries[id];\n lastSnapshot = process(entry);\n rundownMetadata[id] = lastSnapshot;\n }\n\n // ensure some blank data even for empty rundowns\n rundownMetadata[lastMetadataKey] = lastSnapshot;\n\n return rundownMetadata;\n}\n\nexport function getFlatRundownMetadata(\n data: Pick<Rundown, 'entries' | 'flatOrder'>,\n selectedEventId: MaybeString,\n): ExtendedEntry[] {\n const { process } = initRundownMetadata(selectedEventId);\n const flatRundown: ExtendedEntry[] = [];\n\n for (const id of data.flatOrder) {\n const entry = data.entries[id];\n const extendedEntry = { ...entry, ...process(entry) };\n flatRundown.push(extendedEntry);\n }\n\n return flatRundown;\n}\n\n/**\n * Creates a process function which aggregates the rundown metadata and event metadata\n */\nexport function initRundownMetadata(selectedEventId: MaybeString) {\n let rundownMeta: RundownMetadata = {\n previousEvent: null,\n latestEvent: null,\n previousEntryId: null,\n thisId: null,\n eventIndex: 0,\n isPast: Boolean(selectedEventId), // all events before the current selected are in the past\n isNextDay: false,\n totalGap: 0,\n isLinkedToLoaded: false,\n isLoaded: false,\n groupId: null,\n groupColour: undefined,\n groupEntries: undefined,\n isFirstAfterGroup: false,\n };\n\n function process(entry: OntimeEntry): Readonly<RundownMetadata> {\n const processedRundownMetadata = processEntry(rundownMeta, selectedEventId, entry);\n rundownMeta = processedRundownMetadata;\n return rundownMeta;\n }\n\n return { metadata: rundownMeta, process };\n}\n\n/**\n * Receives a rundown entry and processes its place in the rundown\n */\nfunction processEntry(\n rundownMetadata: RundownMetadata,\n selectedEventId: MaybeString,\n entry: Readonly<OntimeEntry>,\n): Readonly<RundownMetadata> {\n const processedData = { ...rundownMetadata };\n // initialise data to be overridden below\n processedData.isNextDay = false;\n processedData.isLoaded = false;\n\n processedData.previousEntryId = processedData.thisId; // thisId comes from the previous iteration\n processedData.thisId = entry.id; // we reassign thisId\n processedData.previousEvent = processedData.latestEvent;\n\n if (entry.id === selectedEventId) {\n processedData.isLoaded = true;\n processedData.isPast = false;\n processedData.isLinkedToLoaded = true;\n }\n\n if (isOntimeGroup(entry)) {\n processedData.groupId = entry.id;\n processedData.groupColour = entry.colour;\n processedData.groupEntries = entry.entries.length;\n } else {\n // for delays and groups, we insert the group metadata\n if ((entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent !== processedData.groupId) {\n // if the parent is not the current group, we need to update the groupId\n processedData.groupId = (entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent;\n processedData.groupEntries = undefined;\n if ((entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent === null) {\n // if the entry has no parent, it cannot have a group colour\n processedData.groupColour = undefined;\n }\n }\n\n if (isOntimeEvent(entry)) {\n // event indexes are 1 based in UI\n processedData.eventIndex += 1;\n processedData.isFirstAfterGroup = Boolean(processedData.previousEvent?.parent) && entry.parent === null;\n\n if (isPlayableEvent(entry)) {\n processedData.isNextDay = checkIsNextDay(entry, processedData.previousEvent);\n \n if (!processedData.isPast && !processedData.isLoaded) {\n /**\n * isLinkToLoaded is a chain value that we maintain until we\n * a) find an unlinked event\n * b) find a countToEnd event\n */\n processedData.totalGap += entry.gap;\n processedData.isLinkedToLoaded =\n entry.linkStart && !processedData.previousEvent?.countToEnd && processedData.isLinkedToLoaded;\n }\n\n if (isNewLatest(entry, processedData.latestEvent)) {\n // this event is the forward most event in rundown, for next iteration\n processedData.latestEvent = entry;\n }\n }\n }\n }\n\n return processedData;\n}\n","import { useMemo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { EntryId, OntimeEntry, Rundown } from 'ontime-types';\n\nimport { queryRefetchIntervalSlow } from '../../ontimeConfig';\nimport { RUNDOWN } from '../api/constants';\nimport { fetchCurrentRundown } from '../api/rundown';\nimport { useSelectedEventId } from '../hooks/useSocket';\nimport { ExtendedEntry, getFlatRundownMetadata, getRundownMetadata } from '../utils/rundownMetadata';\n\n// revision is -1 so that the remote revision is higher\nconst cachedRundownPlaceholder: Rundown = {\n id: 'default',\n title: '',\n order: [],\n flatOrder: [],\n entries: {},\n revision: -1,\n};\n\n/**\n * Normalised rundown data\n */\nexport default function useRundown() {\n const { data, status, isError, refetch, isFetching } = useQuery<Rundown>({\n queryKey: RUNDOWN,\n queryFn: fetchCurrentRundown,\n refetchInterval: queryRefetchIntervalSlow,\n });\n\n return { data: data ?? cachedRundownPlaceholder, status, isError, refetch, isFetching };\n}\n\nexport function useRundownWithMetadata() {\n const { data, status } = useRundown();\n const { selectedEventId } = useSelectedEventId();\n const rundownMetadata = useMemo(() => getRundownMetadata(data, selectedEventId), [data, selectedEventId]);\n return { data, status, rundownMetadata };\n}\n\n/**\n * Provides access to a flat rundown\n * built from the order and rundown fields\n */\nexport function useFlatRundown() {\n const { data, status } = useRundown();\n\n const flatRundown = useMemo(() => {\n if (data.revision === -1) {\n return [];\n }\n return data.flatOrder.map((id) => data.entries[id]).filter((entry): entry is OntimeEntry => entry !== undefined);\n }, [data]);\n\n return { data: flatRundown, rundownId: data.id, status };\n}\n\nexport function useFlatRundownWithMetadata() {\n const { data, status } = useRundown();\n const { selectedEventId } = useSelectedEventId();\n\n const rundownWithMetadata = useMemo(() => getFlatRundownMetadata(data, selectedEventId), [data, selectedEventId]);\n return { data: rundownWithMetadata, status };\n}\n\n/**\n * Provides access to a partial rundown based on a filter callback\n *\n * Callers MUST memoize the callback with useCallback to prevent\n * re-filtering on every render.\n *\n */\nexport function usePartialRundown(cb: (event: ExtendedEntry<OntimeEntry>) => boolean) {\n const { data, status } = useFlatRundownWithMetadata();\n const filteredData = useMemo(() => {\n return data.filter(cb);\n }, [data, cb]);\n\n return { data: filteredData, status };\n}\n\n/**\n * Hook to get a specific entry by ID from the rundown\n */\nexport function useEntry(entryId: EntryId | null): OntimeEntry | null {\n const { data: rundown } = useRundown();\n\n if (entryId === null) return null;\n return rundown.entries[entryId] ?? null;\n}\n"],"names":["SupportedEntry","Event","Delay","Group","Milestone","isOntimeEvent","event","type","isPlayableEvent","skip","isOntimeDelay","isOntimeGroup","isOntimeMilestone","isKeyOfType","key","obj","isOSCOutput","output","isHTTPOutput","isOntimeAction","checkIsNextDay","current","previous","dayOffset","timeStart","duration","dayInMs","isNewLatest","currentEvent","previousEvent","normalisedCurrentEnd","normalisedPreviousEnd","rundownPath","apiEntryUrl","fetchProjectRundownList","axios","get","data","fetchCurrentRundown","res","isValidRundown","Error","x","id","Array","isArray","order","flatOrder","entries","revision","loadRundown","rundownId","post","createRundown","title","duplicateRundown","renameRundown","patch","deleteRundown","delete","postAddEntry","putEditEntry","put","putBatchEditEvents","patchReorderEntry","requestEventSwap","from","to","requestApplyDelay","delayId","postCloneEntry","entryId","options","requestGroupEntries","entryIds","ids","requestUngroup","groupId","deleteEntries","requestDeleteAll","lastMetadataKey","getRundownMetadata","selectedEventId","metadata","process","initRundownMetadata","lastSnapshot","rundownMetadata","entry","getFlatRundownMetadata","flatRundown","extendedEntry","push","rundownMeta","latestEvent","previousEntryId","thisId","eventIndex","isPast","Boolean","isNextDay","totalGap","isLinkedToLoaded","isLoaded","groupColour","undefined","groupEntries","isFirstAfterGroup","processedRundownMetadata","processEntry","processedData","colour","length","parent","gap","linkStart","countToEnd","cachedRundownPlaceholder","useRundown","status","isError","refetch","isFetching","useQuery","queryKey","RUNDOWN","queryFn","refetchInterval","queryRefetchIntervalSlow","useRundownWithMetadata","useSelectedEventId","useMemo","useFlatRundown","map","filter","useFlatRundownWithMetadata","usePartialRundown","cb","useEntry","rundown"],"mappings":"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"}
1
+ {"version":3,"file":"useRundown-BGhL8DEI.js","sources":["../../../../packages/types/src/definitions/core/OntimeEntry.ts","../../../../packages/types/src/utils/guards.ts","../../../../packages/utils/src/date-utils/checkIsNextDay.ts","../../../../packages/utils/src/date-utils/isNewLatest.ts","../../src/common/api/rundown.ts","../../src/common/utils/rundownMetadata.ts","../../src/common/hooks-query/useRundown.ts"],"sourcesContent":["import type { MaybeNumber } from '../../utils/utils.type.js';\nimport type { EndAction } from '../EndAction.type.js';\nimport type { TimerType } from '../TimerType.type.js';\nimport type { TimeStrategy } from '../TimeStrategy.type.js';\nimport type { Trigger } from './Automation.type.js';\nimport type { EntryCustomFields } from './CustomFields.type.js';\n\nexport type EntryId = string;\n\nexport enum SupportedEntry {\n Event = 'event',\n Delay = 'delay',\n Group = 'group',\n Milestone = 'milestone',\n}\n\nexport type OntimeBaseEvent = {\n type: SupportedEntry;\n id: EntryId;\n};\n\nexport type OntimeDelay = OntimeBaseEvent & {\n type: SupportedEntry.Delay;\n duration: number;\n parent: EntryId | null;\n};\n\nexport type OntimeMilestone = OntimeBaseEvent & {\n type: SupportedEntry.Milestone;\n cue: string;\n title: string;\n note: string;\n colour: string;\n custom: EntryCustomFields;\n parent: EntryId | null;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n};\n\nexport type OntimeGroup = OntimeBaseEvent & {\n type: SupportedEntry.Group;\n title: string;\n note: string;\n entries: EntryId[];\n targetDuration: MaybeNumber;\n colour: string;\n custom: EntryCustomFields;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n timeStart: MaybeNumber; // calculated at runtime\n timeEnd: MaybeNumber; // calculated at runtime\n duration: number; // calculated at runtime\n isFirstLinked: boolean; // calculated at runtime, whether the first event is linked\n};\n\nexport type OntimeEvent = OntimeBaseEvent & {\n type: SupportedEntry.Event;\n flag: boolean;\n cue: string;\n title: string;\n note: string;\n endAction: EndAction;\n timerType: TimerType;\n countToEnd: boolean;\n linkStart: boolean;\n timeStrategy: TimeStrategy;\n timeStart: number;\n timeEnd: number;\n duration: number;\n skip: boolean;\n colour: string;\n timeWarning: number;\n timeDanger: number;\n custom: EntryCustomFields;\n triggers: Trigger[];\n parent: EntryId | null;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n delay: number; // calculated at runtime\n dayOffset: number; // calculated at runtime\n gap: number; // calculated at runtime\n};\n\nexport type PlayableEvent = OntimeEvent & { skip: false };\nexport type TimeField = 'timeStart' | 'timeEnd' | 'duration';\nexport type OntimeEntry = OntimeDelay | OntimeGroup | OntimeEvent | OntimeMilestone;\n\n// we need to create a manual union type since keys cannot be used in type unions\nexport type OntimeEntryCommonKeys = keyof OntimeEvent | keyof OntimeDelay | keyof OntimeGroup | keyof OntimeMilestone;\n","import type { AutomationOutput, HTTPOutput, OntimeAction, OSCOutput } from '../definitions/core/Automation.type.js';\nimport type {\n OntimeDelay,\n OntimeEntry,\n OntimeEvent,\n OntimeGroup,\n OntimeMilestone,\n PlayableEvent,\n} from '../definitions/core/OntimeEntry.js';\nimport { SupportedEntry } from '../definitions/core/OntimeEntry.js';\nimport { type TimerLifeCycle, timerLifecycleValues } from '../definitions/core/TimerLifecycle.type.js';\n\ntype MaybeEvent = OntimeEntry | Partial<OntimeEntry> | null | undefined;\n\nexport function isOntimeEvent(event: MaybeEvent): event is OntimeEvent {\n return event?.type === SupportedEntry.Event;\n}\n\nexport function isPlayableEvent(event: OntimeEvent): event is PlayableEvent {\n return !event.skip;\n}\n\nexport function isOntimeDelay(event: MaybeEvent): event is OntimeDelay {\n return event?.type === SupportedEntry.Delay;\n}\n\nexport function isOntimeGroup(event: MaybeEvent): event is OntimeGroup {\n return event?.type === SupportedEntry.Group;\n}\n\nexport function isOntimeMilestone(event: MaybeEvent): event is OntimeMilestone {\n return event?.type === SupportedEntry.Milestone;\n}\n\ntype AnyKeys<T> = keyof T;\n\nexport function isKeyOfType<T extends object>(key: PropertyKey, obj: T): key is AnyKeys<T> {\n return key in obj;\n}\n\nexport function isOSCOutput(output: AutomationOutput): output is OSCOutput {\n return output.type === 'osc';\n}\n\nexport function isHTTPOutput(output: AutomationOutput): output is HTTPOutput {\n return output.type === 'http';\n}\n\nexport function isOntimeAction(output: AutomationOutput): output is OntimeAction {\n return output.type === 'ontime';\n}\n\nexport function isTimerLifeCycle(maybeCycle: unknown): maybeCycle is TimerLifeCycle {\n if (typeof maybeCycle !== 'string') return false;\n return timerLifecycleValues.includes(maybeCycle);\n}\n","import type { OntimeEvent } from 'ontime-types';\n\nimport { dayInMs } from './conversionUtils.js';\n\n/**\n * Utility function checks whether a given event is the day after from its predecessor\n */\nexport function checkIsNextDay(\n current: Pick<OntimeEvent, 'timeStart' | 'dayOffset'>,\n previous: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'> | null,\n): boolean {\n if (!previous) {\n return false;\n }\n\n // if the day offsets are the same it can't be the next day\n if (current.dayOffset <= previous.dayOffset) {\n return false;\n }\n\n // if the previous event crossed midnight then the current is the same day\n if (previous.timeStart + previous.duration > dayInMs) {\n return false;\n }\n\n return true;\n}\n","import type { OntimeEvent } from 'ontime-types';\n\nimport { dayInMs } from './conversionUtils.js';\n\n/**\n * Checks whether a new element is the latest in the list\n */\nexport function isNewLatest(\n currentEvent: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'>,\n previousEvent: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'> | null,\n) {\n // true if there is no previous\n if (!previousEvent) {\n return true;\n }\n\n const normalisedCurrentEnd = currentEvent.timeStart + currentEvent.duration + currentEvent.dayOffset * dayInMs;\n const normalisedPreviousEnd = previousEvent.timeStart + previousEvent.duration + previousEvent.dayOffset * dayInMs;\n\n return normalisedCurrentEnd >= normalisedPreviousEnd;\n}\n","import axios, { AxiosResponse } from 'axios';\nimport { EntryId, OntimeEntry, OntimeEvent, ProjectRundownsList, Rundown, TransientEventPayload } from 'ontime-types';\n\nimport { apiEntryUrl } from './constants';\n\ntype RundownId = string;\nconst rundownPath = `${apiEntryUrl}/rundowns`;\n\n// #region operations on project rundowns =========================\n\n/**\n * HTTP request to fetch a list of existing rundowns\n */\nexport async function fetchProjectRundownList(): Promise<ProjectRundownsList> {\n const res = await axios.get(rundownPath);\n return res.data;\n}\n\n/**\n * HTTP request to fetch all entries in the currently loaded rundown\n */\nexport async function fetchCurrentRundown(): Promise<Rundown> {\n const res = await axios.get(`${rundownPath}/current`);\n if (!isValidRundown(res.data)) {\n throw new Error('Invalid rundown payload');\n }\n return res.data;\n\n function isValidRundown(x: any): x is Rundown {\n return (\n x &&\n typeof x === 'object' &&\n typeof x.id === 'string' &&\n Array.isArray(x.order) &&\n Array.isArray(x.flatOrder) &&\n x.entries &&\n typeof x.entries === 'object' &&\n typeof x.revision === 'number'\n );\n }\n}\n\n/**\n * HTTP request to switch the currently loaded rundown\n */\nexport async function loadRundown(rundownId: RundownId): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(`${rundownPath}/${rundownId}/load`);\n}\n\n/**\n * HTTP request to create a new rundown\n */\nexport async function createRundown(title: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(rundownPath, { title });\n}\n\n/**\n * HTTP request to duplicate an existing rundown\n */\nexport async function duplicateRundown(rundownId: RundownId): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(`${rundownPath}/${rundownId}/duplicate`);\n}\n\n/**\n * HTTP request to rename an existing rundown\n */\nexport async function renameRundown(rundownId: RundownId, title: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.patch(`${rundownPath}/${rundownId}`, { title });\n}\n\n/**\n * HTTP request to delete a rundown\n */\nexport async function deleteRundown(rundownId: RundownId): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.delete(`${rundownPath}/${rundownId}`);\n}\n\n// #endregion operations on project rundowns ======================\n// #region operations on rundown entries ==========================\n\n/**\n * HTTP request to post new entry\n */\nexport async function postAddEntry(\n rundownId: RundownId,\n data: TransientEventPayload,\n): Promise<AxiosResponse<OntimeEntry>> {\n return axios.post(`${rundownPath}/${rundownId}/entry`, data);\n}\n\n/**\n * HTTP request to edit an entry\n */\nexport async function putEditEntry(\n rundownId: RundownId,\n data: Partial<OntimeEntry>,\n): Promise<AxiosResponse<OntimeEntry>> {\n return axios.put(`${rundownPath}/${rundownId}/entry`, data);\n}\n\nexport type BatchEditEntry = {\n data: Partial<OntimeEvent>;\n ids: EntryId[];\n};\n\n/**\n * HTTP request to edit multiple events\n */\nexport async function putBatchEditEvents(rundownId: RundownId, data: BatchEditEntry): Promise<AxiosResponse<Rundown>> {\n return axios.put(`${rundownPath}/${rundownId}/batch`, data);\n}\n\nexport type ReorderEntry = {\n entryId: EntryId;\n destinationId: EntryId;\n order: 'before' | 'after' | 'insert';\n};\n\n/**\n * HTTP request to reorder an entry\n */\nexport async function patchReorderEntry(rundownId: RundownId, data: ReorderEntry): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/reorder`, data);\n}\n\n/**\n * HTTP request to swap two events\n */\nexport async function requestEventSwap(\n rundownId: RundownId,\n from: EntryId,\n to: EntryId,\n): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/swap`, { from, to });\n}\n\n/**\n * HTTP request to request application of delay\n */\nexport async function requestApplyDelay(rundownId: RundownId, delayId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/applydelay/${delayId}`);\n}\n\n/**\n * HTTP request for cloning an entry\n */\nexport async function postCloneEntry(\n rundownId: RundownId,\n entryId: EntryId,\n options?: { before?: EntryId; after?: EntryId },\n): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/clone/${entryId}`, options);\n}\n\n/**\n * HTTP request for grouping a list of entries into a group\n */\nexport async function requestGroupEntries(rundownId: RundownId, entryIds: EntryId[]): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/group`, { ids: entryIds });\n}\n\n/**\n * HTTP request for dissolving of a group\n */\nexport async function requestUngroup(rundownId: RundownId, groupId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/ungroup/${groupId}`);\n}\n\n/**\n * HTTP request to delete entries of a given rundown\n */\nexport async function deleteEntries(rundownId: RundownId, entryIds: EntryId[]): Promise<AxiosResponse<Rundown>> {\n return axios.delete(`${rundownPath}/${rundownId}/entries`, { data: { ids: entryIds } });\n}\n\n/**\n * HTTP request to delete all entries of a given rundown\n */\nexport async function requestDeleteAll(rundownId: RundownId): Promise<AxiosResponse<Rundown>> {\n return axios.delete(`${rundownPath}/${rundownId}/all`);\n}\n\n// #endregion operations on rundown entries =======================\n","import {\n isOntimeEvent,\n isOntimeGroup,\n isPlayableEvent,\n MaybeString,\n OntimeDelay,\n OntimeEntry,\n OntimeEvent,\n OntimeMilestone,\n PlayableEvent,\n Rundown,\n} from 'ontime-types';\nimport { checkIsNextDay, isNewLatest } from 'ontime-utils';\n\nexport type RundownMetadata = {\n previousEvent: PlayableEvent | null; // The playableEvent from the previous iteration, used by indicators\n latestEvent: PlayableEvent | null; // The playableEvent most forwards in time processed so far\n previousEntryId: MaybeString; // previous entry is used to infer position in the rundown for new events\n thisId: MaybeString;\n eventIndex: number;\n isPast: boolean;\n isNextDay: boolean;\n totalGap: number;\n isLinkedToLoaded: boolean; // check if the event can link all the way back to the currently playing event\n isLoaded: boolean;\n groupId: MaybeString;\n groupColour: string | undefined;\n groupEntries: number | undefined;\n isFirstAfterGroup: boolean;\n};\n\nexport type ExtendedEntry<T extends OntimeEntry = OntimeEntry> = T & RundownMetadata;\n\nexport const lastMetadataKey = 'LAST';\n\nexport type RundownMetadataObject = Record<string, Readonly<RundownMetadata>>;\n\n/**\n * Generates a Rundown Metadata object from a rundown\n */\nexport function getRundownMetadata(\n data: Pick<Rundown, 'entries' | 'flatOrder'>,\n selectedEventId: MaybeString,\n): RundownMetadataObject {\n const { metadata, process } = initRundownMetadata(selectedEventId);\n // keep a single reference to the metadata which we override for every entry\n let lastSnapshot = metadata;\n const rundownMetadata: RundownMetadataObject = {};\n\n for (const id of data.flatOrder) {\n const entry = data.entries[id];\n lastSnapshot = process(entry);\n rundownMetadata[id] = lastSnapshot;\n }\n\n // ensure some blank data even for empty rundowns\n rundownMetadata[lastMetadataKey] = lastSnapshot;\n\n return rundownMetadata;\n}\n\nexport function getFlatRundownMetadata(\n data: Pick<Rundown, 'entries' | 'flatOrder'>,\n selectedEventId: MaybeString,\n): ExtendedEntry[] {\n const { process } = initRundownMetadata(selectedEventId);\n const flatRundown: ExtendedEntry[] = [];\n\n for (const id of data.flatOrder) {\n const entry = data.entries[id];\n const extendedEntry = { ...entry, ...process(entry) };\n flatRundown.push(extendedEntry);\n }\n\n return flatRundown;\n}\n\n/**\n * Creates a process function which aggregates the rundown metadata and event metadata\n */\nexport function initRundownMetadata(selectedEventId: MaybeString) {\n let rundownMeta: RundownMetadata = {\n previousEvent: null,\n latestEvent: null,\n previousEntryId: null,\n thisId: null,\n eventIndex: 0,\n isPast: Boolean(selectedEventId), // all events before the current selected are in the past\n isNextDay: false,\n totalGap: 0,\n isLinkedToLoaded: false,\n isLoaded: false,\n groupId: null,\n groupColour: undefined,\n groupEntries: undefined,\n isFirstAfterGroup: false,\n };\n\n function process(entry: OntimeEntry): Readonly<RundownMetadata> {\n const processedRundownMetadata = processEntry(rundownMeta, selectedEventId, entry);\n rundownMeta = processedRundownMetadata;\n return rundownMeta;\n }\n\n return { metadata: rundownMeta, process };\n}\n\n/**\n * Receives a rundown entry and processes its place in the rundown\n */\nfunction processEntry(\n rundownMetadata: RundownMetadata,\n selectedEventId: MaybeString,\n entry: Readonly<OntimeEntry>,\n): Readonly<RundownMetadata> {\n const processedData = { ...rundownMetadata };\n // initialise data to be overridden below\n processedData.isNextDay = false;\n processedData.isLoaded = false;\n\n processedData.previousEntryId = processedData.thisId; // thisId comes from the previous iteration\n processedData.thisId = entry.id; // we reassign thisId\n processedData.previousEvent = processedData.latestEvent;\n\n if (entry.id === selectedEventId) {\n processedData.isLoaded = true;\n processedData.isPast = false;\n processedData.isLinkedToLoaded = true;\n }\n\n if (isOntimeGroup(entry)) {\n processedData.groupId = entry.id;\n processedData.groupColour = entry.colour;\n processedData.groupEntries = entry.entries.length;\n } else {\n // for delays and groups, we insert the group metadata\n if ((entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent !== processedData.groupId) {\n // if the parent is not the current group, we need to update the groupId\n processedData.groupId = (entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent;\n processedData.groupEntries = undefined;\n if ((entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent === null) {\n // if the entry has no parent, it cannot have a group colour\n processedData.groupColour = undefined;\n }\n }\n\n if (isOntimeEvent(entry)) {\n // event indexes are 1 based in UI\n processedData.eventIndex += 1;\n processedData.isFirstAfterGroup = Boolean(processedData.previousEvent?.parent) && entry.parent === null;\n\n if (isPlayableEvent(entry)) {\n processedData.isNextDay = checkIsNextDay(entry, processedData.previousEvent);\n \n if (!processedData.isPast && !processedData.isLoaded) {\n /**\n * isLinkToLoaded is a chain value that we maintain until we\n * a) find an unlinked event\n * b) find a countToEnd event\n */\n processedData.totalGap += entry.gap;\n processedData.isLinkedToLoaded =\n entry.linkStart && !processedData.previousEvent?.countToEnd && processedData.isLinkedToLoaded;\n }\n\n if (isNewLatest(entry, processedData.latestEvent)) {\n // this event is the forward most event in rundown, for next iteration\n processedData.latestEvent = entry;\n }\n }\n }\n }\n\n return processedData;\n}\n","import { useMemo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { EntryId, OntimeEntry, Rundown } from 'ontime-types';\n\nimport { queryRefetchIntervalSlow } from '../../ontimeConfig';\nimport { RUNDOWN } from '../api/constants';\nimport { fetchCurrentRundown } from '../api/rundown';\nimport { useSelectedEventId } from '../hooks/useSocket';\nimport { ExtendedEntry, getFlatRundownMetadata, getRundownMetadata } from '../utils/rundownMetadata';\n\n// revision is -1 so that the remote revision is higher\nconst cachedRundownPlaceholder: Rundown = {\n id: 'default',\n title: '',\n order: [],\n flatOrder: [],\n entries: {},\n revision: -1,\n};\n\n/**\n * Normalised rundown data\n */\nexport default function useRundown() {\n const { data, status, isError, refetch, isFetching } = useQuery<Rundown>({\n queryKey: RUNDOWN,\n queryFn: fetchCurrentRundown,\n refetchInterval: queryRefetchIntervalSlow,\n });\n\n return { data: data ?? cachedRundownPlaceholder, status, isError, refetch, isFetching };\n}\n\nexport function useRundownWithMetadata() {\n const { data, status } = useRundown();\n const { selectedEventId } = useSelectedEventId();\n const rundownMetadata = useMemo(() => getRundownMetadata(data, selectedEventId), [data, selectedEventId]);\n return { data, status, rundownMetadata };\n}\n\n/**\n * Provides access to a flat rundown\n * built from the order and rundown fields\n */\nexport function useFlatRundown() {\n const { data, status } = useRundown();\n\n const flatRundown = useMemo(() => {\n if (data.revision === -1) {\n return [];\n }\n return data.flatOrder.map((id) => data.entries[id]).filter((entry): entry is OntimeEntry => entry !== undefined);\n }, [data]);\n\n return { data: flatRundown, rundownId: data.id, status };\n}\n\nexport function useFlatRundownWithMetadata() {\n const { data, status } = useRundown();\n const { selectedEventId } = useSelectedEventId();\n\n const rundownWithMetadata = useMemo(() => getFlatRundownMetadata(data, selectedEventId), [data, selectedEventId]);\n return { data: rundownWithMetadata, status };\n}\n\n/**\n * Provides access to a partial rundown based on a filter callback\n *\n * Callers MUST memoize the callback with useCallback to prevent\n * re-filtering on every render.\n *\n */\nexport function usePartialRundown(cb: (event: ExtendedEntry<OntimeEntry>) => boolean) {\n const { data, status } = useFlatRundownWithMetadata();\n const filteredData = useMemo(() => {\n return data.filter(cb);\n }, [data, cb]);\n\n return { data: filteredData, status };\n}\n\n/**\n * Hook to get a specific entry by ID from the rundown\n */\nexport function useEntry(entryId: EntryId | null): OntimeEntry | null {\n const { data: rundown } = useRundown();\n\n if (entryId === null) return null;\n return rundown.entries[entryId] ?? null;\n}\n"],"names":["SupportedEntry","Event","Delay","Group","Milestone","isOntimeEvent","event","type","isPlayableEvent","skip","isOntimeDelay","isOntimeGroup","isOntimeMilestone","isKeyOfType","key","obj","isOSCOutput","output","isHTTPOutput","isOntimeAction","checkIsNextDay","current","previous","dayOffset","timeStart","duration","dayInMs","isNewLatest","currentEvent","previousEvent","normalisedCurrentEnd","normalisedPreviousEnd","rundownPath","apiEntryUrl","fetchProjectRundownList","axios","get","data","fetchCurrentRundown","res","isValidRundown","Error","x","id","Array","isArray","order","flatOrder","entries","revision","loadRundown","rundownId","post","createRundown","title","duplicateRundown","renameRundown","patch","deleteRundown","delete","postAddEntry","putEditEntry","put","putBatchEditEvents","patchReorderEntry","requestEventSwap","from","to","requestApplyDelay","delayId","postCloneEntry","entryId","options","requestGroupEntries","entryIds","ids","requestUngroup","groupId","deleteEntries","requestDeleteAll","lastMetadataKey","getRundownMetadata","selectedEventId","metadata","process","initRundownMetadata","lastSnapshot","rundownMetadata","entry","getFlatRundownMetadata","flatRundown","extendedEntry","push","rundownMeta","latestEvent","previousEntryId","thisId","eventIndex","isPast","Boolean","isNextDay","totalGap","isLinkedToLoaded","isLoaded","groupColour","undefined","groupEntries","isFirstAfterGroup","processedRundownMetadata","processEntry","processedData","colour","length","parent","gap","linkStart","countToEnd","cachedRundownPlaceholder","useRundown","status","isError","refetch","isFetching","useQuery","queryKey","RUNDOWN","queryFn","refetchInterval","queryRefetchIntervalSlow","useRundownWithMetadata","useSelectedEventId","useMemo","useFlatRundown","map","filter","useFlatRundownWithMetadata","usePartialRundown","cb","useEntry","rundown"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as o,b9 as c,ba as r,bb as a,bc as f,A as b,h as d}from"./vendor-q6fv0YT2.js";import{e as l}from"./index-B81u4hxi.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new n.Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="348841ed-3149-465f-8107-4092068feb54",n._sentryDebugIdIdentifier="sentry-dbid-348841ed-3149-465f-8107-4092068feb54")}catch{}})();const _="_blink_177b4_1",u="_fourtyfive_177b4_13",x="_infoLabel_177b4_17",h="_info_177b4_17",g="_warning_177b4_37",k="_error_177b4_41",t={blink:_,fourtyfive:u,infoLabel:x,info:h,warning:g,error:k};function w({className:n,type:e="info",children:s}){return o.jsxs("div",{className:l([t.infoLabel,t[e],n]),children:[e==="info"&&o.jsx(c,{}),e==="warning"&&o.jsx(r,{}),e==="error"&&o.jsx(r,{}),o.jsx("div",{children:s})]})}const m="_checkbox_175d8_17",y="_indicator_175d8_53",i={checkbox:m,indicator:y};function p(n){return o.jsx(a,{className:i.checkbox,...n,children:o.jsx(f,{className:i.indicator,children:o.jsx(b,{className:i.icon})})})}function v(n){d.useEffect(()=>{document.title=`ontime - ${n}`},[])}export{p as C,w as I,v as u};
2
- //# sourceMappingURL=useWindowTitle-Bpmo_HzW.js.map
1
+ import{j as o,b9 as c,ba as r,bb as a,bc as f,A as b,h as d}from"./vendor-DmGkEtRj.js";import{e as l}from"./index-B1K7rED_.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new n.Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="348841ed-3149-465f-8107-4092068feb54",n._sentryDebugIdIdentifier="sentry-dbid-348841ed-3149-465f-8107-4092068feb54")}catch{}})();const _="_blink_177b4_1",u="_fourtyfive_177b4_13",x="_infoLabel_177b4_17",h="_info_177b4_17",g="_warning_177b4_37",k="_error_177b4_41",t={blink:_,fourtyfive:u,infoLabel:x,info:h,warning:g,error:k};function w({className:n,type:e="info",children:s}){return o.jsxs("div",{className:l([t.infoLabel,t[e],n]),children:[e==="info"&&o.jsx(c,{}),e==="warning"&&o.jsx(r,{}),e==="error"&&o.jsx(r,{}),o.jsx("div",{children:s})]})}const m="_checkbox_175d8_17",y="_indicator_175d8_53",i={checkbox:m,indicator:y};function p(n){return o.jsx(a,{className:i.checkbox,...n,children:o.jsx(f,{className:i.indicator,children:o.jsx(b,{className:i.icon})})})}function v(n){d.useEffect(()=>{document.title=`ontime - ${n}`},[])}export{p as C,w as I,v as u};
2
+ //# sourceMappingURL=useWindowTitle-ahZQIheF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowTitle-Bpmo_HzW.js","sources":["../../src/common/components/info/Info.tsx","../../src/common/components/checkbox/Checkbox.tsx","../../src/common/hooks/useWindowTitle.ts"],"sourcesContent":["import { PropsWithChildren } from 'react';\nimport { IoAlertCircle, IoWarning } from 'react-icons/io5';\n\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './Info.module.scss';\n\ninterface InfoProps {\n className?: string;\n type?: 'info' | 'warning' | 'error';\n}\n\nexport default function Info({ className, type = 'info', children }: PropsWithChildren<InfoProps>) {\n return (\n <div className={cx([style.infoLabel, style[type], className])}>\n {type === 'info' && <IoAlertCircle />}\n {type === 'warning' && <IoWarning />}\n {type === 'error' && <IoWarning />}\n <div>{children}</div>\n </div>\n );\n}\n","import { IoCheckmark } from 'react-icons/io5';\nimport { Checkbox as BaseCheckbox } from '@base-ui/react/checkbox';\n\nimport style from './Checkbox.module.scss';\n\nexport default function Checkbox(checkboxProps: BaseCheckbox.Root.Props) {\n return (\n <BaseCheckbox.Root className={style.checkbox} {...checkboxProps}>\n <BaseCheckbox.Indicator className={style.indicator}>\n <IoCheckmark className={style.icon} />\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n );\n}\n","import { useEffect } from 'react';\n\n/**\n * Sets tab title\n * @param title\n */\nexport function useWindowTitle(title: string) {\n useEffect(() => {\n document.title = `ontime - ${title}`;\n }, []);\n}\n"],"names":["Info","className","type","children","jsxs","cx","style","infoLabel","IoAlertCircle","jsx","IoWarning","Checkbox","checkboxProps","BaseCheckbox.Root","checkbox","BaseCheckbox.Indicator","indicator","IoCheckmark","icon","useWindowTitle","title","useEffect"],"mappings":"8pBAYA,SAAwBA,EAAK,CAAEC,UAAAA,EAAWC,KAAAA,EAAO,OAAQC,SAAAA,CAAuC,EAAG,CACjG,OACGC,EAAA,KAAA,MAAA,CAAI,UAAWC,EAAG,CAACC,EAAMC,UAAWD,EAAMJ,CAAI,EAAGD,CAAS,CAAC,EACzDC,SAAAA,CAASA,IAAA,cAAWM,EAAgB,CAAA,CAAA,EACpCN,IAAS,WAAaO,MAACC,EAAY,CAAA,CAAA,EACnCR,IAAS,SAAWO,MAACC,EAAY,CAAA,CAAA,EAClCD,MAAC,OAAKN,SAAAA,CAAS,CAAA,CAAA,EACjB,CAEJ,iFChBA,SAAwBQ,EAASC,EAAwC,CAErE,OAAAH,MAACI,EAAA,CAAkB,UAAWP,EAAMQ,SAAU,GAAIF,EAChD,SAACH,EAAA,IAAAM,EAAA,CAAuB,UAAWT,EAAMU,UACvC,SAAAP,EAAAA,IAACQ,GAAY,UAAWX,EAAMY,KAAK,CAAA,CACrC,CACF,CAAA,CAEJ,CCPO,SAASC,EAAeC,EAAe,CAC5CC,EAAAA,UAAU,IAAM,CACLD,SAAAA,MAAQ,YAAYA,CAAK,EACpC,EAAG,EAAE,CACP"}
1
+ {"version":3,"file":"useWindowTitle-ahZQIheF.js","sources":["../../src/common/components/info/Info.tsx","../../src/common/components/checkbox/Checkbox.tsx","../../src/common/hooks/useWindowTitle.ts"],"sourcesContent":["import { PropsWithChildren } from 'react';\nimport { IoAlertCircle, IoWarning } from 'react-icons/io5';\n\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './Info.module.scss';\n\ninterface InfoProps {\n className?: string;\n type?: 'info' | 'warning' | 'error';\n}\n\nexport default function Info({ className, type = 'info', children }: PropsWithChildren<InfoProps>) {\n return (\n <div className={cx([style.infoLabel, style[type], className])}>\n {type === 'info' && <IoAlertCircle />}\n {type === 'warning' && <IoWarning />}\n {type === 'error' && <IoWarning />}\n <div>{children}</div>\n </div>\n );\n}\n","import { IoCheckmark } from 'react-icons/io5';\nimport { Checkbox as BaseCheckbox } from '@base-ui/react/checkbox';\n\nimport style from './Checkbox.module.scss';\n\nexport default function Checkbox(checkboxProps: BaseCheckbox.Root.Props) {\n return (\n <BaseCheckbox.Root className={style.checkbox} {...checkboxProps}>\n <BaseCheckbox.Indicator className={style.indicator}>\n <IoCheckmark className={style.icon} />\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n );\n}\n","import { useEffect } from 'react';\n\n/**\n * Sets tab title\n * @param title\n */\nexport function useWindowTitle(title: string) {\n useEffect(() => {\n document.title = `ontime - ${title}`;\n }, []);\n}\n"],"names":["Info","className","type","children","jsxs","cx","style","infoLabel","IoAlertCircle","jsx","IoWarning","Checkbox","checkboxProps","BaseCheckbox.Root","checkbox","BaseCheckbox.Indicator","indicator","IoCheckmark","icon","useWindowTitle","title","useEffect"],"mappings":"8pBAYA,SAAwBA,EAAK,CAAEC,UAAAA,EAAWC,KAAAA,EAAO,OAAQC,SAAAA,CAAuC,EAAG,CACjG,OACGC,EAAA,KAAA,MAAA,CAAI,UAAWC,EAAG,CAACC,EAAMC,UAAWD,EAAMJ,CAAI,EAAGD,CAAS,CAAC,EACzDC,SAAAA,CAASA,IAAA,cAAWM,EAAgB,CAAA,CAAA,EACpCN,IAAS,WAAaO,MAACC,EAAY,CAAA,CAAA,EACnCR,IAAS,SAAWO,MAACC,EAAY,CAAA,CAAA,EAClCD,MAAC,OAAKN,SAAAA,CAAS,CAAA,CAAA,EACjB,CAEJ,iFChBA,SAAwBQ,EAASC,EAAwC,CAErE,OAAAH,MAACI,EAAA,CAAkB,UAAWP,EAAMQ,SAAU,GAAIF,EAChD,SAACH,EAAA,IAAAM,EAAA,CAAuB,UAAWT,EAAMU,UACvC,SAAAP,EAAAA,IAACQ,GAAY,UAAWX,EAAMY,KAAK,CAAA,CACrC,CACF,CAAA,CAEJ,CCPO,SAASC,EAAeC,EAAe,CAC5CC,EAAAA,UAAU,IAAM,CACLD,SAAAA,MAAQ,YAAYA,CAAK,EACpC,EAAG,EAAE,CACP"}
@@ -1,2 +1,2 @@
1
- import"./vendor-q6fv0YT2.js";import{T as o}from"./index-B81u4hxi.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8ee56b18-1b11-4879-847a-a8654abba190",e._sentryDebugIdIdentifier="sentry-dbid-8ee56b18-1b11-4879-847a-a8654abba190")}catch{}})();var a=(e=>(e.LoadNext="load-next",e.None="none",e.PlayNext="play-next",e))(a||{}),t=(e=>(e.LockEnd="lock-end",e.LockDuration="lock-duration",e))(t||{});function s(e,n=t.LockDuration){return Object.values(t).includes(e)?e:n}function i(e,n=a.None){return Object.values(a).includes(e)?e:n}function l(e,n=o.CountDown){return Object.values(o).includes(e)?e:n}export{a as E,t as T,i as a,s as b,l as v};
2
- //# sourceMappingURL=validateEvent-Do8yE_DJ.js.map
1
+ import"./vendor-DmGkEtRj.js";import{T as o}from"./index-B1K7rED_.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8ee56b18-1b11-4879-847a-a8654abba190",e._sentryDebugIdIdentifier="sentry-dbid-8ee56b18-1b11-4879-847a-a8654abba190")}catch{}})();var a=(e=>(e.LoadNext="load-next",e.None="none",e.PlayNext="play-next",e))(a||{}),t=(e=>(e.LockEnd="lock-end",e.LockDuration="lock-duration",e))(t||{});function s(e,n=t.LockDuration){return Object.values(t).includes(e)?e:n}function i(e,n=a.None){return Object.values(a).includes(e)?e:n}function l(e,n=o.CountDown){return Object.values(o).includes(e)?e:n}export{a as E,t as T,i as a,s as b,l as v};
2
+ //# sourceMappingURL=validateEvent-jVIMKhmx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateEvent-Do8yE_DJ.js","sources":["../../../../packages/types/src/definitions/EndAction.type.ts","../../../../packages/types/src/definitions/TimeStrategy.type.ts","../../../../packages/utils/src/validate-events/validateEvent.ts"],"sourcesContent":["export enum EndAction {\n LoadNext = 'load-next',\n None = 'none',\n PlayNext = 'play-next',\n}\n","export enum TimeStrategy {\n LockEnd = 'lock-end',\n LockDuration = 'lock-duration',\n}\n","import { EndAction, TimerType, TimeStrategy } from 'ontime-types';\n\n/**\n * Check if a given value is a valid time strategy, returns the fallback otherwise\n * @param {TimeStrategy} maybeTimeStrategy\n * @returns {TimeStrategy}\n */\nexport function validateTimeStrategy(maybeTimeStrategy: unknown, fallback = TimeStrategy.LockDuration): TimeStrategy {\n return Object.values(TimeStrategy).includes(maybeTimeStrategy as TimeStrategy)\n ? (maybeTimeStrategy as TimeStrategy)\n : fallback;\n}\n\n/**\n * Checks if given value is a valid type of EndAction, returns the fallback otherwise\n * @param {EndAction} maybeAction\n * @param {EndAction} [fallback]\n */\nexport function validateEndAction(maybeAction: unknown, fallback = EndAction.None): EndAction {\n return Object.values(EndAction).includes(maybeAction as EndAction) ? (maybeAction as EndAction) : fallback;\n}\n\n/**\n * Checks if given value is a valid type of TimerType, returns the fallback otherwise\n * @param {TimerType} maybeTimerType\n * @param {TimerType} [fallback]\n */\nexport function validateTimerType(maybeTimerType: unknown, fallback = TimerType.CountDown): TimerType {\n return Object.values(TimerType).includes(maybeTimerType as TimerType) ? (maybeTimerType as TimerType) : fallback;\n}\n\nexport function isKnownTimerType(maybeTimerType: unknown) {\n return Object.values(TimerType).includes(maybeTimerType as TimerType);\n}\n"],"names":["EndAction","LoadNext","None","PlayNext","TimeStrategy","LockEnd","LockDuration","validateTimeStrategy","maybeTimeStrategy","fallback","Object","values","includes","validateEndAction","maybeAction","validateTimerType","maybeTimerType","TimerType","CountDown"],"mappings":"+ZAAYA,IAAAA,GAAAA,IACVC,EAAAA,SAAW,YACXC,EAAAA,KAAO,OACPC,EAAAA,SAAW,YAHDH,IAAAA,GAAAA,CAAAA,CAAAA,ECAAI,GAAAA,IACVC,EAAAA,QAAU,WACVC,EAAAA,aAAe,gBAFLF,IAAAA,GAAAA,CAAAA,CAAAA,ECOL,SAASG,EAAqBC,EAA4BC,EAAWL,EAAaE,aAA4B,CACnH,OAAOI,OAAOC,OAAOP,CAAY,EAAEQ,SAASJ,CAAiC,EACxEA,EACDC,CACN,CAOO,SAASI,EAAkBC,EAAsBL,EAAWT,EAAUE,KAAiB,CAC5F,OAAOQ,OAAOC,OAAOX,CAAS,EAAEY,SAASE,CAAwB,EAAKA,EAA4BL,CACpG,CAOO,SAASM,EAAkBC,EAAyBP,EAAWQ,EAAUC,UAAsB,CACpG,OAAOR,OAAOC,OAAOM,CAAS,EAAEL,SAASI,CAA2B,EAAKA,EAA+BP,CAC1G"}
1
+ {"version":3,"file":"validateEvent-jVIMKhmx.js","sources":["../../../../packages/types/src/definitions/EndAction.type.ts","../../../../packages/types/src/definitions/TimeStrategy.type.ts","../../../../packages/utils/src/validate-events/validateEvent.ts"],"sourcesContent":["export enum EndAction {\n LoadNext = 'load-next',\n None = 'none',\n PlayNext = 'play-next',\n}\n","export enum TimeStrategy {\n LockEnd = 'lock-end',\n LockDuration = 'lock-duration',\n}\n","import { EndAction, TimerType, TimeStrategy } from 'ontime-types';\n\n/**\n * Check if a given value is a valid time strategy, returns the fallback otherwise\n * @param {TimeStrategy} maybeTimeStrategy\n * @returns {TimeStrategy}\n */\nexport function validateTimeStrategy(maybeTimeStrategy: unknown, fallback = TimeStrategy.LockDuration): TimeStrategy {\n return Object.values(TimeStrategy).includes(maybeTimeStrategy as TimeStrategy)\n ? (maybeTimeStrategy as TimeStrategy)\n : fallback;\n}\n\n/**\n * Checks if given value is a valid type of EndAction, returns the fallback otherwise\n * @param {EndAction} maybeAction\n * @param {EndAction} [fallback]\n */\nexport function validateEndAction(maybeAction: unknown, fallback = EndAction.None): EndAction {\n return Object.values(EndAction).includes(maybeAction as EndAction) ? (maybeAction as EndAction) : fallback;\n}\n\n/**\n * Checks if given value is a valid type of TimerType, returns the fallback otherwise\n * @param {TimerType} maybeTimerType\n * @param {TimerType} [fallback]\n */\nexport function validateTimerType(maybeTimerType: unknown, fallback = TimerType.CountDown): TimerType {\n return Object.values(TimerType).includes(maybeTimerType as TimerType) ? (maybeTimerType as TimerType) : fallback;\n}\n\nexport function isKnownTimerType(maybeTimerType: unknown) {\n return Object.values(TimerType).includes(maybeTimerType as TimerType);\n}\n"],"names":["EndAction","LoadNext","None","PlayNext","TimeStrategy","LockEnd","LockDuration","validateTimeStrategy","maybeTimeStrategy","fallback","Object","values","includes","validateEndAction","maybeAction","validateTimerType","maybeTimerType","TimerType","CountDown"],"mappings":"+ZAAYA,IAAAA,GAAAA,IACVC,EAAAA,SAAW,YACXC,EAAAA,KAAO,OACPC,EAAAA,SAAW,YAHDH,IAAAA,GAAAA,CAAAA,CAAAA,ECAAI,GAAAA,IACVC,EAAAA,QAAU,WACVC,EAAAA,aAAe,gBAFLF,IAAAA,GAAAA,CAAAA,CAAAA,ECOL,SAASG,EAAqBC,EAA4BC,EAAWL,EAAaE,aAA4B,CACnH,OAAOI,OAAOC,OAAOP,CAAY,EAAEQ,SAASJ,CAAiC,EACxEA,EACDC,CACN,CAOO,SAASI,EAAkBC,EAAsBL,EAAWT,EAAUE,KAAiB,CAC5F,OAAOQ,OAAOC,OAAOX,CAAS,EAAEY,SAASE,CAAwB,EAAKA,EAA4BL,CACpG,CAOO,SAASM,EAAkBC,EAAyBP,EAAWQ,EAAUC,UAAsB,CACpG,OAAOR,OAAOC,OAAOM,CAAS,EAAEL,SAASI,CAA2B,EAAKA,EAA+BP,CAC1G"}
@@ -1,4 +1,4 @@
1
- var uk=Object.defineProperty;var k_=e=>{throw TypeError(e)};var ck=(e,t,n)=>t in e?uk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var jt=(e,t,n)=>ck(e,typeof t!="symbol"?t+"":t,n),Ny=(e,t,n)=>t.has(e)||k_("Cannot "+n);var J=(e,t,n)=>(Ny(e,t,"read from private field"),n?n.call(e):t.get(e)),et=(e,t,n)=>t.has(e)?k_("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Ge=(e,t,n,r)=>(Ny(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),_t=(e,t,n)=>(Ny(e,t,"access private method"),n);var _p=(e,t,n,r)=>({set _(i){Ge(e,t,i,n)},get _(){return J(e,t,r)}});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="14302d52-b587-4fdc-88d0-ff50d592ba69",e._sentryDebugIdIdentifier="sentry-dbid-14302d52-b587-4fdc-88d0-ff50d592ba69")}catch{}})();function cM(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const i in r)if(i!=="default"&&!(i in e)){const s=Object.getOwnPropertyDescriptor(r,i);s&&Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>r[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var fk=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};fk.SENTRY_RELEASE={id:"75cbcd8e8527c36404e1543119f50427beda1cc3"};var N_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ss(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Fy={exports:{}},Nf={};var F_;function dk(){if(F_)return Nf;F_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,i,s){var l=null;if(s!==void 0&&(l=""+s),i.key!==void 0&&(l=""+i.key),"key"in i){s={};for(var c in i)c!=="key"&&(s[c]=i[c])}else s=i;return i=s.ref,{$$typeof:e,type:r,key:l,ref:i!==void 0?i:null,props:s}}return Nf.Fragment=t,Nf.jsx=n,Nf.jsxs=n,Nf}var z_;function hk(){return z_||(z_=1,Fy.exports=dk()),Fy.exports}var Re=hk(),zy={exports:{}},vt={};var B_;function pk(){if(B_)return vt;B_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),m=Symbol.iterator;function y(k){return k===null||typeof k!="object"?null:(k=m&&k[m]||k["@@iterator"],typeof k=="function"?k:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,x={};function C(k,$,X){this.props=k,this.context=$,this.refs=x,this.updater=X||E}C.prototype.isReactComponent={},C.prototype.setState=function(k,$){if(typeof k!="object"&&typeof k!="function"&&k!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,k,$,"setState")},C.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function R(){}R.prototype=C.prototype;function _(k,$,X){this.props=k,this.context=$,this.refs=x,this.updater=X||E}var O=_.prototype=new R;O.constructor=_,b(O,C.prototype),O.isPureReactComponent=!0;var T=Array.isArray;function M(){}var A={H:null,A:null,T:null,S:null},D=Object.prototype.hasOwnProperty;function L(k,$,X){var te=X.ref;return{$$typeof:e,type:k,key:$,ref:te!==void 0?te:null,props:X}}function F(k,$){return L(k.type,$,k.props)}function B(k){return typeof k=="object"&&k!==null&&k.$$typeof===e}function j(k){var $={"=":"=0",":":"=2"};return"$"+k.replace(/[=:]/g,function(X){return $[X]})}var z=/\/+/g;function G(k,$){return typeof k=="object"&&k!==null&&k.key!=null?j(""+k.key):$.toString(36)}function V(k){switch(k.status){case"fulfilled":return k.value;case"rejected":throw k.reason;default:switch(typeof k.status=="string"?k.then(M,M):(k.status="pending",k.then(function($){k.status==="pending"&&(k.status="fulfilled",k.value=$)},function($){k.status==="pending"&&(k.status="rejected",k.reason=$)})),k.status){case"fulfilled":return k.value;case"rejected":throw k.reason}}throw k}function P(k,$,X,te,ue){var ne=typeof k;(ne==="undefined"||ne==="boolean")&&(k=null);var ce=!1;if(k===null)ce=!0;else switch(ne){case"bigint":case"string":case"number":ce=!0;break;case"object":switch(k.$$typeof){case e:case t:ce=!0;break;case p:return ce=k._init,P(ce(k._payload),$,X,te,ue)}}if(ce)return ue=ue(k),ce=te===""?"."+G(k,0):te,T(ue)?(X="",ce!=null&&(X=ce.replace(z,"$&/")+"/"),P(ue,$,X,"",function(Ee){return Ee})):ue!=null&&(B(ue)&&(ue=F(ue,X+(ue.key==null||k&&k.key===ue.key?"":(""+ue.key).replace(z,"$&/")+"/")+ce)),$.push(ue)),1;ce=0;var Q=te===""?".":te+":";if(T(k))for(var ve=0;ve<k.length;ve++)te=k[ve],ne=Q+G(te,ve),ce+=P(te,$,X,ne,ue);else if(ve=y(k),typeof ve=="function")for(k=ve.call(k),ve=0;!(te=k.next()).done;)te=te.value,ne=Q+G(te,ve++),ce+=P(te,$,X,ne,ue);else if(ne==="object"){if(typeof k.then=="function")return P(V(k),$,X,te,ue);throw $=String(k),Error("Objects are not valid as a React child (found: "+($==="[object Object]"?"object with keys {"+Object.keys(k).join(", ")+"}":$)+"). If you meant to render a collection of children, use an array instead.")}return ce}function q(k,$,X){if(k==null)return k;var te=[],ue=0;return P(k,te,"","",function(ne){return $.call(X,ne,ue++)}),te}function U(k){if(k._status===-1){var $=k._result;$=$(),$.then(function(X){(k._status===0||k._status===-1)&&(k._status=1,k._result=X)},function(X){(k._status===0||k._status===-1)&&(k._status=2,k._result=X)}),k._status===-1&&(k._status=0,k._result=$)}if(k._status===1)return k._result.default;throw k._result}var K=typeof reportError=="function"?reportError:function(k){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var $=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof k=="object"&&k!==null&&typeof k.message=="string"?String(k.message):String(k),error:k});if(!window.dispatchEvent($))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",k);return}console.error(k)},Z={map:q,forEach:function(k,$,X){q(k,function(){$.apply(this,arguments)},X)},count:function(k){var $=0;return q(k,function(){$++}),$},toArray:function(k){return q(k,function($){return $})||[]},only:function(k){if(!B(k))throw Error("React.Children.only expected to receive a single React element child.");return k}};return vt.Activity=g,vt.Children=Z,vt.Component=C,vt.Fragment=n,vt.Profiler=i,vt.PureComponent=_,vt.StrictMode=r,vt.Suspense=f,vt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=A,vt.__COMPILER_RUNTIME={__proto__:null,c:function(k){return A.H.useMemoCache(k)}},vt.cache=function(k){return function(){return k.apply(null,arguments)}},vt.cacheSignal=function(){return null},vt.cloneElement=function(k,$,X){if(k==null)throw Error("The argument must be a React element, but you passed "+k+".");var te=b({},k.props),ue=k.key;if($!=null)for(ne in $.key!==void 0&&(ue=""+$.key),$)!D.call($,ne)||ne==="key"||ne==="__self"||ne==="__source"||ne==="ref"&&$.ref===void 0||(te[ne]=$[ne]);var ne=arguments.length-2;if(ne===1)te.children=X;else if(1<ne){for(var ce=Array(ne),Q=0;Q<ne;Q++)ce[Q]=arguments[Q+2];te.children=ce}return L(k.type,ue,te)},vt.createContext=function(k){return k={$$typeof:l,_currentValue:k,_currentValue2:k,_threadCount:0,Provider:null,Consumer:null},k.Provider=k,k.Consumer={$$typeof:s,_context:k},k},vt.createElement=function(k,$,X){var te,ue={},ne=null;if($!=null)for(te in $.key!==void 0&&(ne=""+$.key),$)D.call($,te)&&te!=="key"&&te!=="__self"&&te!=="__source"&&(ue[te]=$[te]);var ce=arguments.length-2;if(ce===1)ue.children=X;else if(1<ce){for(var Q=Array(ce),ve=0;ve<ce;ve++)Q[ve]=arguments[ve+2];ue.children=Q}if(k&&k.defaultProps)for(te in ce=k.defaultProps,ce)ue[te]===void 0&&(ue[te]=ce[te]);return L(k,ne,ue)},vt.createRef=function(){return{current:null}},vt.forwardRef=function(k){return{$$typeof:c,render:k}},vt.isValidElement=B,vt.lazy=function(k){return{$$typeof:p,_payload:{_status:-1,_result:k},_init:U}},vt.memo=function(k,$){return{$$typeof:d,type:k,compare:$===void 0?null:$}},vt.startTransition=function(k){var $=A.T,X={};A.T=X;try{var te=k(),ue=A.S;ue!==null&&ue(X,te),typeof te=="object"&&te!==null&&typeof te.then=="function"&&te.then(M,K)}catch(ne){K(ne)}finally{$!==null&&X.types!==null&&($.types=X.types),A.T=$}},vt.unstable_useCacheRefresh=function(){return A.H.useCacheRefresh()},vt.use=function(k){return A.H.use(k)},vt.useActionState=function(k,$,X){return A.H.useActionState(k,$,X)},vt.useCallback=function(k,$){return A.H.useCallback(k,$)},vt.useContext=function(k){return A.H.useContext(k)},vt.useDebugValue=function(){},vt.useDeferredValue=function(k,$){return A.H.useDeferredValue(k,$)},vt.useEffect=function(k,$){return A.H.useEffect(k,$)},vt.useEffectEvent=function(k){return A.H.useEffectEvent(k)},vt.useId=function(){return A.H.useId()},vt.useImperativeHandle=function(k,$,X){return A.H.useImperativeHandle(k,$,X)},vt.useInsertionEffect=function(k,$){return A.H.useInsertionEffect(k,$)},vt.useLayoutEffect=function(k,$){return A.H.useLayoutEffect(k,$)},vt.useMemo=function(k,$){return A.H.useMemo(k,$)},vt.useOptimistic=function(k,$){return A.H.useOptimistic(k,$)},vt.useReducer=function(k,$,X){return A.H.useReducer(k,$,X)},vt.useRef=function(k){return A.H.useRef(k)},vt.useState=function(k){return A.H.useState(k)},vt.useSyncExternalStore=function(k,$,X){return A.H.useSyncExternalStore(k,$,X)},vt.useTransition=function(){return A.H.useTransition()},vt.version="19.2.3",vt}var H_;function Es(){return H_||(H_=1,zy.exports=pk()),zy.exports}var S=Es();const fe=Ss(S),fM=cM({__proto__:null,default:fe},[S]);var By={exports:{}},Ff={},Hy={exports:{}},Uy={};var U_;function gk(){return U_||(U_=1,function(e){function t(P,q){var U=P.length;P.push(q);e:for(;0<U;){var K=U-1>>>1,Z=P[K];if(0<i(Z,q))P[K]=q,P[U]=Z,U=K;else break e}}function n(P){return P.length===0?null:P[0]}function r(P){if(P.length===0)return null;var q=P[0],U=P.pop();if(U!==q){P[0]=U;e:for(var K=0,Z=P.length,k=Z>>>1;K<k;){var $=2*(K+1)-1,X=P[$],te=$+1,ue=P[te];if(0>i(X,U))te<Z&&0>i(ue,X)?(P[K]=ue,P[te]=U,K=te):(P[K]=X,P[$]=U,K=$);else if(te<Z&&0>i(ue,U))P[K]=ue,P[te]=U,K=te;else break e}}return q}function i(P,q){var U=P.sortIndex-q.sortIndex;return U!==0?U:P.id-q.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var l=Date,c=l.now();e.unstable_now=function(){return l.now()-c}}var f=[],d=[],p=1,g=null,m=3,y=!1,E=!1,b=!1,x=!1,C=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function O(P){for(var q=n(d);q!==null;){if(q.callback===null)r(d);else if(q.startTime<=P)r(d),q.sortIndex=q.expirationTime,t(f,q);else break;q=n(d)}}function T(P){if(b=!1,O(P),!E)if(n(f)!==null)E=!0,M||(M=!0,j());else{var q=n(d);q!==null&&V(T,q.startTime-P)}}var M=!1,A=-1,D=5,L=-1;function F(){return x?!0:!(e.unstable_now()-L<D)}function B(){if(x=!1,M){var P=e.unstable_now();L=P;var q=!0;try{e:{E=!1,b&&(b=!1,R(A),A=-1),y=!0;var U=m;try{t:{for(O(P),g=n(f);g!==null&&!(g.expirationTime>P&&F());){var K=g.callback;if(typeof K=="function"){g.callback=null,m=g.priorityLevel;var Z=K(g.expirationTime<=P);if(P=e.unstable_now(),typeof Z=="function"){g.callback=Z,O(P),q=!0;break t}g===n(f)&&r(f),O(P)}else r(f);g=n(f)}if(g!==null)q=!0;else{var k=n(d);k!==null&&V(T,k.startTime-P),q=!1}}break e}finally{g=null,m=U,y=!1}q=void 0}}finally{q?j():M=!1}}}var j;if(typeof _=="function")j=function(){_(B)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,G=z.port2;z.port1.onmessage=B,j=function(){G.postMessage(null)}}else j=function(){C(B,0)};function V(P,q){A=C(function(){P(e.unstable_now())},q)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(P){P.callback=null},e.unstable_forceFrameRate=function(P){0>P||125<P?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):D=0<P?Math.floor(1e3/P):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_next=function(P){switch(m){case 1:case 2:case 3:var q=3;break;default:q=m}var U=m;m=q;try{return P()}finally{m=U}},e.unstable_requestPaint=function(){x=!0},e.unstable_runWithPriority=function(P,q){switch(P){case 1:case 2:case 3:case 4:case 5:break;default:P=3}var U=m;m=P;try{return q()}finally{m=U}},e.unstable_scheduleCallback=function(P,q,U){var K=e.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?K+U:K):U=K,P){case 1:var Z=-1;break;case 2:Z=250;break;case 5:Z=1073741823;break;case 4:Z=1e4;break;default:Z=5e3}return Z=U+Z,P={id:p++,callback:q,priorityLevel:P,startTime:U,expirationTime:Z,sortIndex:-1},U>K?(P.sortIndex=U,t(d,P),n(f)===null&&P===n(d)&&(b?(R(A),A=-1):b=!0,V(T,U-K))):(P.sortIndex=Z,t(f,P),E||y||(E=!0,M||(M=!0,j()))),P},e.unstable_shouldYield=F,e.unstable_wrapCallback=function(P){var q=m;return function(){var U=m;m=q;try{return P.apply(this,arguments)}finally{m=U}}}}(Uy)),Uy}var V_;function mk(){return V_||(V_=1,Hy.exports=gk()),Hy.exports}var Vy={exports:{}},br={};var j_;function vk(){if(j_)return br;j_=1;var e=Es();function t(f){var d="https://react.dev/errors/"+f;if(1<arguments.length){d+="?args[]="+encodeURIComponent(arguments[1]);for(var p=2;p<arguments.length;p++)d+="&args[]="+encodeURIComponent(arguments[p])}return"Minified React error #"+f+"; visit "+d+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},i=Symbol.for("react.portal");function s(f,d,p){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:i,key:g==null?null:""+g,children:f,containerInfo:d,implementation:p}}var l=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(f,d){if(f==="font")return"";if(typeof d=="string")return d==="use-credentials"?d:""}return br.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,br.createPortal=function(f,d){var p=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!d||d.nodeType!==1&&d.nodeType!==9&&d.nodeType!==11)throw Error(t(299));return s(f,d,null,p)},br.flushSync=function(f){var d=l.T,p=r.p;try{if(l.T=null,r.p=2,f)return f()}finally{l.T=d,r.p=p,r.d.f()}},br.preconnect=function(f,d){typeof f=="string"&&(d?(d=d.crossOrigin,d=typeof d=="string"?d==="use-credentials"?d:"":void 0):d=null,r.d.C(f,d))},br.prefetchDNS=function(f){typeof f=="string"&&r.d.D(f)},br.preinit=function(f,d){if(typeof f=="string"&&d&&typeof d.as=="string"){var p=d.as,g=c(p,d.crossOrigin),m=typeof d.integrity=="string"?d.integrity:void 0,y=typeof d.fetchPriority=="string"?d.fetchPriority:void 0;p==="style"?r.d.S(f,typeof d.precedence=="string"?d.precedence:void 0,{crossOrigin:g,integrity:m,fetchPriority:y}):p==="script"&&r.d.X(f,{crossOrigin:g,integrity:m,fetchPriority:y,nonce:typeof d.nonce=="string"?d.nonce:void 0})}},br.preinitModule=function(f,d){if(typeof f=="string")if(typeof d=="object"&&d!==null){if(d.as==null||d.as==="script"){var p=c(d.as,d.crossOrigin);r.d.M(f,{crossOrigin:p,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0})}}else d==null&&r.d.M(f)},br.preload=function(f,d){if(typeof f=="string"&&typeof d=="object"&&d!==null&&typeof d.as=="string"){var p=d.as,g=c(p,d.crossOrigin);r.d.L(f,p,{crossOrigin:g,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0,type:typeof d.type=="string"?d.type:void 0,fetchPriority:typeof d.fetchPriority=="string"?d.fetchPriority:void 0,referrerPolicy:typeof d.referrerPolicy=="string"?d.referrerPolicy:void 0,imageSrcSet:typeof d.imageSrcSet=="string"?d.imageSrcSet:void 0,imageSizes:typeof d.imageSizes=="string"?d.imageSizes:void 0,media:typeof d.media=="string"?d.media:void 0})}},br.preloadModule=function(f,d){if(typeof f=="string")if(d){var p=c(d.as,d.crossOrigin);r.d.m(f,{as:typeof d.as=="string"&&d.as!=="script"?d.as:void 0,crossOrigin:p,integrity:typeof d.integrity=="string"?d.integrity:void 0})}else r.d.m(f)},br.requestFormReset=function(f){r.d.r(f)},br.unstable_batchedUpdates=function(f,d){return f(d)},br.useFormState=function(f,d,p){return l.H.useFormState(f,d,p)},br.useFormStatus=function(){return l.H.useHostTransitionStatus()},br.version="19.2.3",br}var $_;function dM(){if($_)return Vy.exports;$_=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Vy.exports=vk(),Vy.exports}var q_;function yk(){if(q_)return Ff;q_=1;var e=mk(),t=Es(),n=dM();function r(o){var a="https://react.dev/errors/"+o;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var u=2;u<arguments.length;u++)a+="&args[]="+encodeURIComponent(arguments[u])}return"Minified React error #"+o+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(o){return!(!o||o.nodeType!==1&&o.nodeType!==9&&o.nodeType!==11)}function s(o){var a=o,u=o;if(o.alternate)for(;a.return;)a=a.return;else{o=a;do a=o,(a.flags&4098)!==0&&(u=a.return),o=a.return;while(o)}return a.tag===3?u:null}function l(o){if(o.tag===13){var a=o.memoizedState;if(a===null&&(o=o.alternate,o!==null&&(a=o.memoizedState)),a!==null)return a.dehydrated}return null}function c(o){if(o.tag===31){var a=o.memoizedState;if(a===null&&(o=o.alternate,o!==null&&(a=o.memoizedState)),a!==null)return a.dehydrated}return null}function f(o){if(s(o)!==o)throw Error(r(188))}function d(o){var a=o.alternate;if(!a){if(a=s(o),a===null)throw Error(r(188));return a!==o?null:o}for(var u=o,h=a;;){var v=u.return;if(v===null)break;var w=v.alternate;if(w===null){if(h=v.return,h!==null){u=h;continue}break}if(v.child===w.child){for(w=v.child;w;){if(w===u)return f(v),o;if(w===h)return f(v),a;w=w.sibling}throw Error(r(188))}if(u.return!==h.return)u=v,h=w;else{for(var I=!1,N=v.child;N;){if(N===u){I=!0,u=v,h=w;break}if(N===h){I=!0,h=v,u=w;break}N=N.sibling}if(!I){for(N=w.child;N;){if(N===u){I=!0,u=w,h=v;break}if(N===h){I=!0,h=w,u=v;break}N=N.sibling}if(!I)throw Error(r(189))}}if(u.alternate!==h)throw Error(r(190))}if(u.tag!==3)throw Error(r(188));return u.stateNode.current===u?o:a}function p(o){var a=o.tag;if(a===5||a===26||a===27||a===6)return o;for(o=o.child;o!==null;){if(a=p(o),a!==null)return a;o=o.sibling}return null}var g=Object.assign,m=Symbol.for("react.element"),y=Symbol.for("react.transitional.element"),E=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),R=Symbol.for("react.consumer"),_=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),M=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),L=Symbol.for("react.activity"),F=Symbol.for("react.memo_cache_sentinel"),B=Symbol.iterator;function j(o){return o===null||typeof o!="object"?null:(o=B&&o[B]||o["@@iterator"],typeof o=="function"?o:null)}var z=Symbol.for("react.client.reference");function G(o){if(o==null)return null;if(typeof o=="function")return o.$$typeof===z?null:o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case b:return"Fragment";case C:return"Profiler";case x:return"StrictMode";case T:return"Suspense";case M:return"SuspenseList";case L:return"Activity"}if(typeof o=="object")switch(o.$$typeof){case E:return"Portal";case _:return o.displayName||"Context";case R:return(o._context.displayName||"Context")+".Consumer";case O:var a=o.render;return o=o.displayName,o||(o=a.displayName||a.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case A:return a=o.displayName||null,a!==null?a:G(o.type)||"Memo";case D:a=o._payload,o=o._init;try{return G(o(a))}catch{}}return null}var V=Array.isArray,P=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U={pending:!1,data:null,method:null,action:null},K=[],Z=-1;function k(o){return{current:o}}function $(o){0>Z||(o.current=K[Z],K[Z]=null,Z--)}function X(o,a){Z++,K[Z]=o.current,o.current=a}var te=k(null),ue=k(null),ne=k(null),ce=k(null);function Q(o,a){switch(X(ne,a),X(ue,o),X(te,null),a.nodeType){case 9:case 11:o=(o=a.documentElement)&&(o=o.namespaceURI)?o_(o):0;break;default:if(o=a.tagName,a=a.namespaceURI)a=o_(a),o=i_(a,o);else switch(o){case"svg":o=1;break;case"math":o=2;break;default:o=0}}$(te),X(te,o)}function ve(){$(te),$(ue),$(ne)}function Ee(o){o.memoizedState!==null&&X(ce,o);var a=te.current,u=i_(a,o.type);a!==u&&(X(ue,o),X(te,u))}function le(o){ue.current===o&&($(te),$(ue)),ce.current===o&&($(ce),Df._currentValue=U)}var me,Ce;function Ie(o){if(me===void 0)try{throw Error()}catch(u){var a=u.stack.trim().match(/\n( *(at )?)/);me=a&&a[1]||"",Ce=-1<u.stack.indexOf(`
1
+ var uk=Object.defineProperty;var k_=e=>{throw TypeError(e)};var ck=(e,t,n)=>t in e?uk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var jt=(e,t,n)=>ck(e,typeof t!="symbol"?t+"":t,n),Ny=(e,t,n)=>t.has(e)||k_("Cannot "+n);var J=(e,t,n)=>(Ny(e,t,"read from private field"),n?n.call(e):t.get(e)),et=(e,t,n)=>t.has(e)?k_("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Ge=(e,t,n,r)=>(Ny(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),_t=(e,t,n)=>(Ny(e,t,"access private method"),n);var _p=(e,t,n,r)=>({set _(i){Ge(e,t,i,n)},get _(){return J(e,t,r)}});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8f4719b7-555b-41d1-85b7-c1c165e584ad",e._sentryDebugIdIdentifier="sentry-dbid-8f4719b7-555b-41d1-85b7-c1c165e584ad")}catch{}})();function cM(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const i in r)if(i!=="default"&&!(i in e)){const s=Object.getOwnPropertyDescriptor(r,i);s&&Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>r[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var fk=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};fk.SENTRY_RELEASE={id:"6e5805977a0d1a7c4e5d48f64d56f4be1a7cb87e"};var N_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ss(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Fy={exports:{}},Nf={};var F_;function dk(){if(F_)return Nf;F_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,i,s){var l=null;if(s!==void 0&&(l=""+s),i.key!==void 0&&(l=""+i.key),"key"in i){s={};for(var c in i)c!=="key"&&(s[c]=i[c])}else s=i;return i=s.ref,{$$typeof:e,type:r,key:l,ref:i!==void 0?i:null,props:s}}return Nf.Fragment=t,Nf.jsx=n,Nf.jsxs=n,Nf}var z_;function hk(){return z_||(z_=1,Fy.exports=dk()),Fy.exports}var Re=hk(),zy={exports:{}},vt={};var B_;function pk(){if(B_)return vt;B_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),m=Symbol.iterator;function y(k){return k===null||typeof k!="object"?null:(k=m&&k[m]||k["@@iterator"],typeof k=="function"?k:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,x={};function C(k,$,X){this.props=k,this.context=$,this.refs=x,this.updater=X||E}C.prototype.isReactComponent={},C.prototype.setState=function(k,$){if(typeof k!="object"&&typeof k!="function"&&k!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,k,$,"setState")},C.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function R(){}R.prototype=C.prototype;function _(k,$,X){this.props=k,this.context=$,this.refs=x,this.updater=X||E}var O=_.prototype=new R;O.constructor=_,b(O,C.prototype),O.isPureReactComponent=!0;var T=Array.isArray;function M(){}var A={H:null,A:null,T:null,S:null},D=Object.prototype.hasOwnProperty;function L(k,$,X){var te=X.ref;return{$$typeof:e,type:k,key:$,ref:te!==void 0?te:null,props:X}}function F(k,$){return L(k.type,$,k.props)}function B(k){return typeof k=="object"&&k!==null&&k.$$typeof===e}function j(k){var $={"=":"=0",":":"=2"};return"$"+k.replace(/[=:]/g,function(X){return $[X]})}var z=/\/+/g;function G(k,$){return typeof k=="object"&&k!==null&&k.key!=null?j(""+k.key):$.toString(36)}function V(k){switch(k.status){case"fulfilled":return k.value;case"rejected":throw k.reason;default:switch(typeof k.status=="string"?k.then(M,M):(k.status="pending",k.then(function($){k.status==="pending"&&(k.status="fulfilled",k.value=$)},function($){k.status==="pending"&&(k.status="rejected",k.reason=$)})),k.status){case"fulfilled":return k.value;case"rejected":throw k.reason}}throw k}function P(k,$,X,te,ue){var ne=typeof k;(ne==="undefined"||ne==="boolean")&&(k=null);var ce=!1;if(k===null)ce=!0;else switch(ne){case"bigint":case"string":case"number":ce=!0;break;case"object":switch(k.$$typeof){case e:case t:ce=!0;break;case p:return ce=k._init,P(ce(k._payload),$,X,te,ue)}}if(ce)return ue=ue(k),ce=te===""?"."+G(k,0):te,T(ue)?(X="",ce!=null&&(X=ce.replace(z,"$&/")+"/"),P(ue,$,X,"",function(Ee){return Ee})):ue!=null&&(B(ue)&&(ue=F(ue,X+(ue.key==null||k&&k.key===ue.key?"":(""+ue.key).replace(z,"$&/")+"/")+ce)),$.push(ue)),1;ce=0;var Q=te===""?".":te+":";if(T(k))for(var ve=0;ve<k.length;ve++)te=k[ve],ne=Q+G(te,ve),ce+=P(te,$,X,ne,ue);else if(ve=y(k),typeof ve=="function")for(k=ve.call(k),ve=0;!(te=k.next()).done;)te=te.value,ne=Q+G(te,ve++),ce+=P(te,$,X,ne,ue);else if(ne==="object"){if(typeof k.then=="function")return P(V(k),$,X,te,ue);throw $=String(k),Error("Objects are not valid as a React child (found: "+($==="[object Object]"?"object with keys {"+Object.keys(k).join(", ")+"}":$)+"). If you meant to render a collection of children, use an array instead.")}return ce}function q(k,$,X){if(k==null)return k;var te=[],ue=0;return P(k,te,"","",function(ne){return $.call(X,ne,ue++)}),te}function U(k){if(k._status===-1){var $=k._result;$=$(),$.then(function(X){(k._status===0||k._status===-1)&&(k._status=1,k._result=X)},function(X){(k._status===0||k._status===-1)&&(k._status=2,k._result=X)}),k._status===-1&&(k._status=0,k._result=$)}if(k._status===1)return k._result.default;throw k._result}var K=typeof reportError=="function"?reportError:function(k){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var $=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof k=="object"&&k!==null&&typeof k.message=="string"?String(k.message):String(k),error:k});if(!window.dispatchEvent($))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",k);return}console.error(k)},Z={map:q,forEach:function(k,$,X){q(k,function(){$.apply(this,arguments)},X)},count:function(k){var $=0;return q(k,function(){$++}),$},toArray:function(k){return q(k,function($){return $})||[]},only:function(k){if(!B(k))throw Error("React.Children.only expected to receive a single React element child.");return k}};return vt.Activity=g,vt.Children=Z,vt.Component=C,vt.Fragment=n,vt.Profiler=i,vt.PureComponent=_,vt.StrictMode=r,vt.Suspense=f,vt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=A,vt.__COMPILER_RUNTIME={__proto__:null,c:function(k){return A.H.useMemoCache(k)}},vt.cache=function(k){return function(){return k.apply(null,arguments)}},vt.cacheSignal=function(){return null},vt.cloneElement=function(k,$,X){if(k==null)throw Error("The argument must be a React element, but you passed "+k+".");var te=b({},k.props),ue=k.key;if($!=null)for(ne in $.key!==void 0&&(ue=""+$.key),$)!D.call($,ne)||ne==="key"||ne==="__self"||ne==="__source"||ne==="ref"&&$.ref===void 0||(te[ne]=$[ne]);var ne=arguments.length-2;if(ne===1)te.children=X;else if(1<ne){for(var ce=Array(ne),Q=0;Q<ne;Q++)ce[Q]=arguments[Q+2];te.children=ce}return L(k.type,ue,te)},vt.createContext=function(k){return k={$$typeof:l,_currentValue:k,_currentValue2:k,_threadCount:0,Provider:null,Consumer:null},k.Provider=k,k.Consumer={$$typeof:s,_context:k},k},vt.createElement=function(k,$,X){var te,ue={},ne=null;if($!=null)for(te in $.key!==void 0&&(ne=""+$.key),$)D.call($,te)&&te!=="key"&&te!=="__self"&&te!=="__source"&&(ue[te]=$[te]);var ce=arguments.length-2;if(ce===1)ue.children=X;else if(1<ce){for(var Q=Array(ce),ve=0;ve<ce;ve++)Q[ve]=arguments[ve+2];ue.children=Q}if(k&&k.defaultProps)for(te in ce=k.defaultProps,ce)ue[te]===void 0&&(ue[te]=ce[te]);return L(k,ne,ue)},vt.createRef=function(){return{current:null}},vt.forwardRef=function(k){return{$$typeof:c,render:k}},vt.isValidElement=B,vt.lazy=function(k){return{$$typeof:p,_payload:{_status:-1,_result:k},_init:U}},vt.memo=function(k,$){return{$$typeof:d,type:k,compare:$===void 0?null:$}},vt.startTransition=function(k){var $=A.T,X={};A.T=X;try{var te=k(),ue=A.S;ue!==null&&ue(X,te),typeof te=="object"&&te!==null&&typeof te.then=="function"&&te.then(M,K)}catch(ne){K(ne)}finally{$!==null&&X.types!==null&&($.types=X.types),A.T=$}},vt.unstable_useCacheRefresh=function(){return A.H.useCacheRefresh()},vt.use=function(k){return A.H.use(k)},vt.useActionState=function(k,$,X){return A.H.useActionState(k,$,X)},vt.useCallback=function(k,$){return A.H.useCallback(k,$)},vt.useContext=function(k){return A.H.useContext(k)},vt.useDebugValue=function(){},vt.useDeferredValue=function(k,$){return A.H.useDeferredValue(k,$)},vt.useEffect=function(k,$){return A.H.useEffect(k,$)},vt.useEffectEvent=function(k){return A.H.useEffectEvent(k)},vt.useId=function(){return A.H.useId()},vt.useImperativeHandle=function(k,$,X){return A.H.useImperativeHandle(k,$,X)},vt.useInsertionEffect=function(k,$){return A.H.useInsertionEffect(k,$)},vt.useLayoutEffect=function(k,$){return A.H.useLayoutEffect(k,$)},vt.useMemo=function(k,$){return A.H.useMemo(k,$)},vt.useOptimistic=function(k,$){return A.H.useOptimistic(k,$)},vt.useReducer=function(k,$,X){return A.H.useReducer(k,$,X)},vt.useRef=function(k){return A.H.useRef(k)},vt.useState=function(k){return A.H.useState(k)},vt.useSyncExternalStore=function(k,$,X){return A.H.useSyncExternalStore(k,$,X)},vt.useTransition=function(){return A.H.useTransition()},vt.version="19.2.3",vt}var H_;function Es(){return H_||(H_=1,zy.exports=pk()),zy.exports}var S=Es();const fe=Ss(S),fM=cM({__proto__:null,default:fe},[S]);var By={exports:{}},Ff={},Hy={exports:{}},Uy={};var U_;function gk(){return U_||(U_=1,function(e){function t(P,q){var U=P.length;P.push(q);e:for(;0<U;){var K=U-1>>>1,Z=P[K];if(0<i(Z,q))P[K]=q,P[U]=Z,U=K;else break e}}function n(P){return P.length===0?null:P[0]}function r(P){if(P.length===0)return null;var q=P[0],U=P.pop();if(U!==q){P[0]=U;e:for(var K=0,Z=P.length,k=Z>>>1;K<k;){var $=2*(K+1)-1,X=P[$],te=$+1,ue=P[te];if(0>i(X,U))te<Z&&0>i(ue,X)?(P[K]=ue,P[te]=U,K=te):(P[K]=X,P[$]=U,K=$);else if(te<Z&&0>i(ue,U))P[K]=ue,P[te]=U,K=te;else break e}}return q}function i(P,q){var U=P.sortIndex-q.sortIndex;return U!==0?U:P.id-q.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var l=Date,c=l.now();e.unstable_now=function(){return l.now()-c}}var f=[],d=[],p=1,g=null,m=3,y=!1,E=!1,b=!1,x=!1,C=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function O(P){for(var q=n(d);q!==null;){if(q.callback===null)r(d);else if(q.startTime<=P)r(d),q.sortIndex=q.expirationTime,t(f,q);else break;q=n(d)}}function T(P){if(b=!1,O(P),!E)if(n(f)!==null)E=!0,M||(M=!0,j());else{var q=n(d);q!==null&&V(T,q.startTime-P)}}var M=!1,A=-1,D=5,L=-1;function F(){return x?!0:!(e.unstable_now()-L<D)}function B(){if(x=!1,M){var P=e.unstable_now();L=P;var q=!0;try{e:{E=!1,b&&(b=!1,R(A),A=-1),y=!0;var U=m;try{t:{for(O(P),g=n(f);g!==null&&!(g.expirationTime>P&&F());){var K=g.callback;if(typeof K=="function"){g.callback=null,m=g.priorityLevel;var Z=K(g.expirationTime<=P);if(P=e.unstable_now(),typeof Z=="function"){g.callback=Z,O(P),q=!0;break t}g===n(f)&&r(f),O(P)}else r(f);g=n(f)}if(g!==null)q=!0;else{var k=n(d);k!==null&&V(T,k.startTime-P),q=!1}}break e}finally{g=null,m=U,y=!1}q=void 0}}finally{q?j():M=!1}}}var j;if(typeof _=="function")j=function(){_(B)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,G=z.port2;z.port1.onmessage=B,j=function(){G.postMessage(null)}}else j=function(){C(B,0)};function V(P,q){A=C(function(){P(e.unstable_now())},q)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(P){P.callback=null},e.unstable_forceFrameRate=function(P){0>P||125<P?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):D=0<P?Math.floor(1e3/P):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_next=function(P){switch(m){case 1:case 2:case 3:var q=3;break;default:q=m}var U=m;m=q;try{return P()}finally{m=U}},e.unstable_requestPaint=function(){x=!0},e.unstable_runWithPriority=function(P,q){switch(P){case 1:case 2:case 3:case 4:case 5:break;default:P=3}var U=m;m=P;try{return q()}finally{m=U}},e.unstable_scheduleCallback=function(P,q,U){var K=e.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?K+U:K):U=K,P){case 1:var Z=-1;break;case 2:Z=250;break;case 5:Z=1073741823;break;case 4:Z=1e4;break;default:Z=5e3}return Z=U+Z,P={id:p++,callback:q,priorityLevel:P,startTime:U,expirationTime:Z,sortIndex:-1},U>K?(P.sortIndex=U,t(d,P),n(f)===null&&P===n(d)&&(b?(R(A),A=-1):b=!0,V(T,U-K))):(P.sortIndex=Z,t(f,P),E||y||(E=!0,M||(M=!0,j()))),P},e.unstable_shouldYield=F,e.unstable_wrapCallback=function(P){var q=m;return function(){var U=m;m=q;try{return P.apply(this,arguments)}finally{m=U}}}}(Uy)),Uy}var V_;function mk(){return V_||(V_=1,Hy.exports=gk()),Hy.exports}var Vy={exports:{}},br={};var j_;function vk(){if(j_)return br;j_=1;var e=Es();function t(f){var d="https://react.dev/errors/"+f;if(1<arguments.length){d+="?args[]="+encodeURIComponent(arguments[1]);for(var p=2;p<arguments.length;p++)d+="&args[]="+encodeURIComponent(arguments[p])}return"Minified React error #"+f+"; visit "+d+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},i=Symbol.for("react.portal");function s(f,d,p){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:i,key:g==null?null:""+g,children:f,containerInfo:d,implementation:p}}var l=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(f,d){if(f==="font")return"";if(typeof d=="string")return d==="use-credentials"?d:""}return br.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,br.createPortal=function(f,d){var p=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!d||d.nodeType!==1&&d.nodeType!==9&&d.nodeType!==11)throw Error(t(299));return s(f,d,null,p)},br.flushSync=function(f){var d=l.T,p=r.p;try{if(l.T=null,r.p=2,f)return f()}finally{l.T=d,r.p=p,r.d.f()}},br.preconnect=function(f,d){typeof f=="string"&&(d?(d=d.crossOrigin,d=typeof d=="string"?d==="use-credentials"?d:"":void 0):d=null,r.d.C(f,d))},br.prefetchDNS=function(f){typeof f=="string"&&r.d.D(f)},br.preinit=function(f,d){if(typeof f=="string"&&d&&typeof d.as=="string"){var p=d.as,g=c(p,d.crossOrigin),m=typeof d.integrity=="string"?d.integrity:void 0,y=typeof d.fetchPriority=="string"?d.fetchPriority:void 0;p==="style"?r.d.S(f,typeof d.precedence=="string"?d.precedence:void 0,{crossOrigin:g,integrity:m,fetchPriority:y}):p==="script"&&r.d.X(f,{crossOrigin:g,integrity:m,fetchPriority:y,nonce:typeof d.nonce=="string"?d.nonce:void 0})}},br.preinitModule=function(f,d){if(typeof f=="string")if(typeof d=="object"&&d!==null){if(d.as==null||d.as==="script"){var p=c(d.as,d.crossOrigin);r.d.M(f,{crossOrigin:p,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0})}}else d==null&&r.d.M(f)},br.preload=function(f,d){if(typeof f=="string"&&typeof d=="object"&&d!==null&&typeof d.as=="string"){var p=d.as,g=c(p,d.crossOrigin);r.d.L(f,p,{crossOrigin:g,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0,type:typeof d.type=="string"?d.type:void 0,fetchPriority:typeof d.fetchPriority=="string"?d.fetchPriority:void 0,referrerPolicy:typeof d.referrerPolicy=="string"?d.referrerPolicy:void 0,imageSrcSet:typeof d.imageSrcSet=="string"?d.imageSrcSet:void 0,imageSizes:typeof d.imageSizes=="string"?d.imageSizes:void 0,media:typeof d.media=="string"?d.media:void 0})}},br.preloadModule=function(f,d){if(typeof f=="string")if(d){var p=c(d.as,d.crossOrigin);r.d.m(f,{as:typeof d.as=="string"&&d.as!=="script"?d.as:void 0,crossOrigin:p,integrity:typeof d.integrity=="string"?d.integrity:void 0})}else r.d.m(f)},br.requestFormReset=function(f){r.d.r(f)},br.unstable_batchedUpdates=function(f,d){return f(d)},br.useFormState=function(f,d,p){return l.H.useFormState(f,d,p)},br.useFormStatus=function(){return l.H.useHostTransitionStatus()},br.version="19.2.3",br}var $_;function dM(){if($_)return Vy.exports;$_=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Vy.exports=vk(),Vy.exports}var q_;function yk(){if(q_)return Ff;q_=1;var e=mk(),t=Es(),n=dM();function r(o){var a="https://react.dev/errors/"+o;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var u=2;u<arguments.length;u++)a+="&args[]="+encodeURIComponent(arguments[u])}return"Minified React error #"+o+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(o){return!(!o||o.nodeType!==1&&o.nodeType!==9&&o.nodeType!==11)}function s(o){var a=o,u=o;if(o.alternate)for(;a.return;)a=a.return;else{o=a;do a=o,(a.flags&4098)!==0&&(u=a.return),o=a.return;while(o)}return a.tag===3?u:null}function l(o){if(o.tag===13){var a=o.memoizedState;if(a===null&&(o=o.alternate,o!==null&&(a=o.memoizedState)),a!==null)return a.dehydrated}return null}function c(o){if(o.tag===31){var a=o.memoizedState;if(a===null&&(o=o.alternate,o!==null&&(a=o.memoizedState)),a!==null)return a.dehydrated}return null}function f(o){if(s(o)!==o)throw Error(r(188))}function d(o){var a=o.alternate;if(!a){if(a=s(o),a===null)throw Error(r(188));return a!==o?null:o}for(var u=o,h=a;;){var v=u.return;if(v===null)break;var w=v.alternate;if(w===null){if(h=v.return,h!==null){u=h;continue}break}if(v.child===w.child){for(w=v.child;w;){if(w===u)return f(v),o;if(w===h)return f(v),a;w=w.sibling}throw Error(r(188))}if(u.return!==h.return)u=v,h=w;else{for(var I=!1,N=v.child;N;){if(N===u){I=!0,u=v,h=w;break}if(N===h){I=!0,h=v,u=w;break}N=N.sibling}if(!I){for(N=w.child;N;){if(N===u){I=!0,u=w,h=v;break}if(N===h){I=!0,h=w,u=v;break}N=N.sibling}if(!I)throw Error(r(189))}}if(u.alternate!==h)throw Error(r(190))}if(u.tag!==3)throw Error(r(188));return u.stateNode.current===u?o:a}function p(o){var a=o.tag;if(a===5||a===26||a===27||a===6)return o;for(o=o.child;o!==null;){if(a=p(o),a!==null)return a;o=o.sibling}return null}var g=Object.assign,m=Symbol.for("react.element"),y=Symbol.for("react.transitional.element"),E=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),R=Symbol.for("react.consumer"),_=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),M=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),L=Symbol.for("react.activity"),F=Symbol.for("react.memo_cache_sentinel"),B=Symbol.iterator;function j(o){return o===null||typeof o!="object"?null:(o=B&&o[B]||o["@@iterator"],typeof o=="function"?o:null)}var z=Symbol.for("react.client.reference");function G(o){if(o==null)return null;if(typeof o=="function")return o.$$typeof===z?null:o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case b:return"Fragment";case C:return"Profiler";case x:return"StrictMode";case T:return"Suspense";case M:return"SuspenseList";case L:return"Activity"}if(typeof o=="object")switch(o.$$typeof){case E:return"Portal";case _:return o.displayName||"Context";case R:return(o._context.displayName||"Context")+".Consumer";case O:var a=o.render;return o=o.displayName,o||(o=a.displayName||a.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case A:return a=o.displayName||null,a!==null?a:G(o.type)||"Memo";case D:a=o._payload,o=o._init;try{return G(o(a))}catch{}}return null}var V=Array.isArray,P=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U={pending:!1,data:null,method:null,action:null},K=[],Z=-1;function k(o){return{current:o}}function $(o){0>Z||(o.current=K[Z],K[Z]=null,Z--)}function X(o,a){Z++,K[Z]=o.current,o.current=a}var te=k(null),ue=k(null),ne=k(null),ce=k(null);function Q(o,a){switch(X(ne,a),X(ue,o),X(te,null),a.nodeType){case 9:case 11:o=(o=a.documentElement)&&(o=o.namespaceURI)?o_(o):0;break;default:if(o=a.tagName,a=a.namespaceURI)a=o_(a),o=i_(a,o);else switch(o){case"svg":o=1;break;case"math":o=2;break;default:o=0}}$(te),X(te,o)}function ve(){$(te),$(ue),$(ne)}function Ee(o){o.memoizedState!==null&&X(ce,o);var a=te.current,u=i_(a,o.type);a!==u&&(X(ue,o),X(te,u))}function le(o){ue.current===o&&($(te),$(ue)),ce.current===o&&($(ce),Df._currentValue=U)}var me,Ce;function Ie(o){if(me===void 0)try{throw Error()}catch(u){var a=u.stack.trim().match(/\n( *(at )?)/);me=a&&a[1]||"",Ce=-1<u.stack.indexOf(`
2
2
  at`)?" (<anonymous>)":-1<u.stack.indexOf("@")?"@unknown:0:0":""}return`
3
3
  `+me+o+Ce}var Me=!1;function be(o,a){if(!o||Me)return"";Me=!0;var u=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var h={DetermineComponentFrameRoot:function(){try{if(a){var Ae=function(){throw Error()};if(Object.defineProperty(Ae.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Ae,[])}catch(Se){var ge=Se}Reflect.construct(o,[],Ae)}else{try{Ae.call()}catch(Se){ge=Se}o.call(Ae.prototype)}}else{try{throw Error()}catch(Se){ge=Se}(Ae=o())&&typeof Ae.catch=="function"&&Ae.catch(function(){})}}catch(Se){if(Se&&ge&&typeof Se.stack=="string")return[Se.stack,ge.stack]}return[null,null]}};h.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var v=Object.getOwnPropertyDescriptor(h.DetermineComponentFrameRoot,"name");v&&v.configurable&&Object.defineProperty(h.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var w=h.DetermineComponentFrameRoot(),I=w[0],N=w[1];if(I&&N){var W=I.split(`
4
4
  `),pe=N.split(`
@@ -71,4 +71,4 @@ Reason: ${y}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
71
71
  `).map(function(Vn,ro){return ro>=Bt&&ro<=sn?nt+Vn:Vn}).join(`
72
72
  `),selectionStart:ct&&/\S/.test(ct)?tt+nt.length:tt,selectionEnd:mt+nt.length*(sn-Bt+1)})}else{var qe=tt+nt.length;Ke({value:He.substring(0,tt)+nt+He.substring(mt),selectionStart:qe,selectionEnd:qe})}else if(he.key==="Backspace"){var Ct=tt!==mt,en=He.substring(0,tt);if(en.endsWith(nt)&&!Ct){he.preventDefault();var qe=tt-nt.length;Ke({value:He.substring(0,tt-nt.length)+He.substring(mt),selectionStart:qe,selectionEnd:qe})}}else if(he.key==="Enter"){if(tt===mt){var Ht=oe(He,tt).pop(),an=Ht==null?void 0:Ht.match(/^\s+/);if(an!=null&&an[0]){he.preventDefault();var vn=`
73
73
  `+an[0],qe=tt+vn.length;Ke({value:He.substring(0,tt)+vn+He.substring(mt),selectionStart:qe,selectionEnd:qe})}}}else if(he.keyCode===d||he.keyCode===p||he.keyCode===g||he.keyCode===m){var gn=void 0;he.keyCode===d&&he.shiftKey?gn=["(",")"]:he.keyCode===p?he.shiftKey?gn=["{","}"]:gn=["[","]"]:he.keyCode===g?he.shiftKey?gn=['"','"']:gn=["'","'"]:he.keyCode===m&&!he.shiftKey&&(gn=["`","`"]),tt!==mt&&gn&&(he.preventDefault(),Ke({value:He.substring(0,tt)+gn[0]+He.substring(tt,mt)+gn[1]+He.substring(mt),selectionStart:tt,selectionEnd:mt+2}))}else(x?he.metaKey&&he.keyCode===c:he.ctrlKey&&he.keyCode===c)&&!he.shiftKey&&!he.altKey?(he.preventDefault(),it()):(x?he.metaKey&&he.keyCode===c&&he.shiftKey:b?he.ctrlKey&&he.keyCode===l:he.ctrlKey&&he.keyCode===c&&he.shiftKey)&&!he.altKey?(he.preventDefault(),rt()):he.keyCode===f&&he.ctrlKey&&(!x||he.shiftKey)&&(he.preventDefault(),ee(function(cr){return!cr}))}},ut=function(he){var ze=he.currentTarget,He=ze.value,tt=ze.selectionStart,mt=ze.selectionEnd;Oe({value:He,selectionStart:tt,selectionEnd:mt},!0),te(He)};return s.useEffect(function(){Be()},[Be]),s.useImperativeHandle(A,function(){return{get session(){return{history:we.current}},set session(he){we.current=he.history}}},[]),s.createElement("div",e({},xe,{style:e(e({},O.container),le)}),s.createElement("pre",e({className:Q,"aria-hidden":"true",style:e(e(e({},O.editor),O.highlight),ie)},typeof ae=="string"?{dangerouslySetInnerHTML:{__html:ae+"<br />"}}:{children:ae})),s.createElement("textarea",{ref:function(he){return De.current=he},style:e(e(e({},O.editor),O.textarea),ie),className:C+(Ie?" ".concat(Ie):""),id:Me,value:be,onChange:ut,onKeyDown:kt,onClick:Z,onKeyUp:X,onFocus:k,onBlur:K,disabled:L,form:F,maxLength:P,minLength:q,name:U,placeholder:ce,readOnly:ve,required:Ee,autoFocus:D,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),s.createElement("style",{dangerouslySetInnerHTML:{__html:R}}))}),O={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};return jr.default=_,jr}var yee=vee();const loe=Ss(yee);var pb={exports:{}},ZO;function bee(){return ZO||(ZO=1,function(e){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var n=function(r){var i=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,s=0,l={},c={manual:r.Prism&&r.Prism.manual,disableWorkerMessageHandler:r.Prism&&r.Prism.disableWorkerMessageHandler,util:{encode:function R(_){return _ instanceof f?new f(_.type,R(_.content),_.alias):Array.isArray(_)?_.map(R):_.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(R){return Object.prototype.toString.call(R).slice(8,-1)},objId:function(R){return R.__id||Object.defineProperty(R,"__id",{value:++s}),R.__id},clone:function R(_,O){O=O||{};var T,M;switch(c.util.type(_)){case"Object":if(M=c.util.objId(_),O[M])return O[M];T={},O[M]=T;for(var A in _)_.hasOwnProperty(A)&&(T[A]=R(_[A],O));return T;case"Array":return M=c.util.objId(_),O[M]?O[M]:(T=[],O[M]=T,_.forEach(function(D,L){T[L]=R(D,O)}),T);default:return _}},getLanguage:function(R){for(;R;){var _=i.exec(R.className);if(_)return _[1].toLowerCase();R=R.parentElement}return"none"},setLanguage:function(R,_){R.className=R.className.replace(RegExp(i,"gi"),""),R.classList.add("language-"+_)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(T){var R=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(T.stack)||[])[1];if(R){var _=document.getElementsByTagName("script");for(var O in _)if(_[O].src==R)return _[O]}return null}},isActive:function(R,_,O){for(var T="no-"+_;R;){var M=R.classList;if(M.contains(_))return!0;if(M.contains(T))return!1;R=R.parentElement}return!!O}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(R,_){var O=c.util.clone(c.languages[R]);for(var T in _)O[T]=_[T];return O},insertBefore:function(R,_,O,T){T=T||c.languages;var M=T[R],A={};for(var D in M)if(M.hasOwnProperty(D)){if(D==_)for(var L in O)O.hasOwnProperty(L)&&(A[L]=O[L]);O.hasOwnProperty(D)||(A[D]=M[D])}var F=T[R];return T[R]=A,c.languages.DFS(c.languages,function(B,j){j===F&&B!=R&&(this[B]=A)}),A},DFS:function R(_,O,T,M){M=M||{};var A=c.util.objId;for(var D in _)if(_.hasOwnProperty(D)){O.call(_,D,_[D],T||D);var L=_[D],F=c.util.type(L);F==="Object"&&!M[A(L)]?(M[A(L)]=!0,R(L,O,null,M)):F==="Array"&&!M[A(L)]&&(M[A(L)]=!0,R(L,O,D,M))}}},plugins:{},highlightAll:function(R,_){c.highlightAllUnder(document,R,_)},highlightAllUnder:function(R,_,O){var T={callback:O,container:R,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};c.hooks.run("before-highlightall",T),T.elements=Array.prototype.slice.apply(T.container.querySelectorAll(T.selector)),c.hooks.run("before-all-elements-highlight",T);for(var M=0,A;A=T.elements[M++];)c.highlightElement(A,_===!0,T.callback)},highlightElement:function(R,_,O){var T=c.util.getLanguage(R),M=c.languages[T];c.util.setLanguage(R,T);var A=R.parentElement;A&&A.nodeName.toLowerCase()==="pre"&&c.util.setLanguage(A,T);var D=R.textContent,L={element:R,language:T,grammar:M,code:D};function F(j){L.highlightedCode=j,c.hooks.run("before-insert",L),L.element.innerHTML=L.highlightedCode,c.hooks.run("after-highlight",L),c.hooks.run("complete",L),O&&O.call(L.element)}if(c.hooks.run("before-sanity-check",L),A=L.element.parentElement,A&&A.nodeName.toLowerCase()==="pre"&&!A.hasAttribute("tabindex")&&A.setAttribute("tabindex","0"),!L.code){c.hooks.run("complete",L),O&&O.call(L.element);return}if(c.hooks.run("before-highlight",L),!L.grammar){F(c.util.encode(L.code));return}if(_&&r.Worker){var B=new Worker(c.filename);B.onmessage=function(j){F(j.data)},B.postMessage(JSON.stringify({language:L.language,code:L.code,immediateClose:!0}))}else F(c.highlight(L.code,L.grammar,L.language))},highlight:function(R,_,O){var T={code:R,grammar:_,language:O};if(c.hooks.run("before-tokenize",T),!T.grammar)throw new Error('The language "'+T.language+'" has no grammar.');return T.tokens=c.tokenize(T.code,T.grammar),c.hooks.run("after-tokenize",T),f.stringify(c.util.encode(T.tokens),T.language)},tokenize:function(R,_){var O=_.rest;if(O){for(var T in O)_[T]=O[T];delete _.rest}var M=new g;return m(M,M.head,R),p(R,M,_,M.head,0),E(M)},hooks:{all:{},add:function(R,_){var O=c.hooks.all;O[R]=O[R]||[],O[R].push(_)},run:function(R,_){var O=c.hooks.all[R];if(!(!O||!O.length))for(var T=0,M;M=O[T++];)M(_)}},Token:f};r.Prism=c;function f(R,_,O,T){this.type=R,this.content=_,this.alias=O,this.length=(T||"").length|0}f.stringify=function R(_,O){if(typeof _=="string")return _;if(Array.isArray(_)){var T="";return _.forEach(function(F){T+=R(F,O)}),T}var M={type:_.type,content:R(_.content,O),tag:"span",classes:["token",_.type],attributes:{},language:O},A=_.alias;A&&(Array.isArray(A)?Array.prototype.push.apply(M.classes,A):M.classes.push(A)),c.hooks.run("wrap",M);var D="";for(var L in M.attributes)D+=" "+L+'="'+(M.attributes[L]||"").replace(/"/g,"&quot;")+'"';return"<"+M.tag+' class="'+M.classes.join(" ")+'"'+D+">"+M.content+"</"+M.tag+">"};function d(R,_,O,T){R.lastIndex=_;var M=R.exec(O);if(M&&T&&M[1]){var A=M[1].length;M.index+=A,M[0]=M[0].slice(A)}return M}function p(R,_,O,T,M,A){for(var D in O)if(!(!O.hasOwnProperty(D)||!O[D])){var L=O[D];L=Array.isArray(L)?L:[L];for(var F=0;F<L.length;++F){if(A&&A.cause==D+","+F)return;var B=L[F],j=B.inside,z=!!B.lookbehind,G=!!B.greedy,V=B.alias;if(G&&!B.pattern.global){var P=B.pattern.toString().match(/[imsuy]*$/)[0];B.pattern=RegExp(B.pattern.source,P+"g")}for(var q=B.pattern||B,U=T.next,K=M;U!==_.tail&&!(A&&K>=A.reach);K+=U.value.length,U=U.next){var Z=U.value;if(_.length>R.length)return;if(!(Z instanceof f)){var k=1,$;if(G){if($=d(q,K,R,z),!$||$.index>=R.length)break;var ne=$.index,X=$.index+$[0].length,te=K;for(te+=U.value.length;ne>=te;)U=U.next,te+=U.value.length;if(te-=U.value.length,K=te,U.value instanceof f)continue;for(var ue=U;ue!==_.tail&&(te<X||typeof ue.value=="string");ue=ue.next)k++,te+=ue.value.length;k--,Z=R.slice(K,te),$.index-=K}else if($=d(q,0,Z,z),!$)continue;var ne=$.index,ce=$[0],Q=Z.slice(0,ne),ve=Z.slice(ne+ce.length),Ee=K+Z.length;A&&Ee>A.reach&&(A.reach=Ee);var le=U.prev;Q&&(le=m(_,le,Q),K+=Q.length),y(_,le,k);var me=new f(D,j?c.tokenize(ce,j):ce,V,ce);if(U=m(_,le,me),ve&&m(_,U,ve),k>1){var Ce={cause:D+","+F,reach:Ee};p(R,_,O,U.prev,K,Ce),A&&Ce.reach>A.reach&&(A.reach=Ce.reach)}}}}}}function g(){var R={value:null,prev:null,next:null},_={value:null,prev:R,next:null};R.next=_,this.head=R,this.tail=_,this.length=0}function m(R,_,O){var T=_.next,M={value:O,prev:_,next:T};return _.next=M,T.prev=M,R.length++,M}function y(R,_,O){for(var T=_.next,M=0;M<O&&T!==R.tail;M++)T=T.next;_.next=T,T.prev=_,R.length-=M}function E(R){for(var _=[],O=R.head.next;O!==R.tail;)_.push(O.value),O=O.next;return _}if(!r.document)return r.addEventListener&&(c.disableWorkerMessageHandler||r.addEventListener("message",function(R){var _=JSON.parse(R.data),O=_.language,T=_.code,M=_.immediateClose;r.postMessage(c.highlight(T,c.languages[O],O)),M&&r.close()},!1)),c;var b=c.util.currentScript();b&&(c.filename=b.src,b.hasAttribute("data-manual")&&(c.manual=!0));function x(){c.manual||c.highlightAll()}if(!c.manual){var C=document.readyState;C==="loading"||C==="interactive"&&b&&b.defer?document.addEventListener("DOMContentLoaded",x):window.requestAnimationFrame?window.requestAnimationFrame(x):window.setTimeout(x,16)}return c}(t);e.exports&&(e.exports=n),typeof N_<"u"&&(N_.Prism=n)}(pb)),pb.exports}var See=bee();const uoe=Ss(See);(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))})(Prism);export{Uee as $,Fte as A,$te as B,Cte as C,Une as D,Rte as E,ws as F,Vne as G,Vte as H,Ote as I,Wte as J,Ane as K,Fne as L,wte as M,jne as N,aI as O,Hee as P,Nee as Q,fe as R,zk as S,_te as T,jee as U,Gee as V,qee as W,hM as X,mb as Y,Ree as Z,_ee as _,pte as a,Cre as a$,g8 as a0,Cee as a1,xee as a2,zee as a3,kee as a4,Tee as a5,Vee as a6,wee as a7,Mte as a8,xne as a9,jre as aA,Yre as aB,Gre as aC,rQ as aD,t5 as aE,Tre as aF,noe as aG,pm as aH,Qre as aI,toe as aJ,Zre as aK,fne as aL,soe as aM,yte as aN,ioe as aO,ooe as aP,roe as aQ,pre as aR,gre as aS,zte as aT,Xre as aU,Jre as aV,Kre as aW,Wre as aX,xre as aY,wre as aZ,Rre as a_,pne as aa,Ere as ab,cne as ac,fre as ad,mte as ae,bte as af,cre as ag,Ine as ah,Lne as ai,_re as aj,Mne as ak,_ne as al,ine as am,Gte as an,Ute as ao,hne as ap,qte as aq,Yte as ar,Xte as as,Dte as at,jte as au,Ite as av,Jte as aw,$ee as ax,vte as ay,$re as az,v3 as b,Qne as b$,sne as b0,Bte as b1,Ore as b2,Are as b3,Mre as b4,Lre as b5,Pre as b6,Ire as b7,Dre as b8,Ate as b9,lre as bA,mre as bB,vre as bC,yre as bD,bre as bE,Sre as bF,dre as bG,hre as bH,ene as bI,ure as bJ,wne as bK,Tne as bL,yne as bM,dne as bN,mne as bO,vne as bP,bne as bQ,One as bR,kne as bS,Zte as bT,Qte as bU,Gne as bV,Yne as bW,Kne as bX,Xne as bY,Nne as bZ,Wne as b_,Pne as ba,$ne as bb,qne as bc,gte as bd,nne as be,Rne as bf,aoe as bg,eoe as bh,qre as bi,Vre as bj,Ete as bk,Dne as bl,lne as bm,une as bn,Tte as bo,one as bp,kte as bq,Pte as br,Hre as bs,Ure as bt,zre as bu,Bre as bv,Fre as bw,sre as bx,Nre as by,are as bz,fte as c,ire as c0,Jne as c1,rre as c2,Zne as c3,ere as c4,tre as c5,nre as c6,ore as c7,kre as c8,Oee as c9,Mee as ca,Iee as cb,Dee as cc,Lee as cd,Pee as ce,loe as cf,uoe as cg,Nte as ch,Ene as ci,Sne as cj,tne as ck,gne as cl,rne as cm,xG as d,Wn as e,dte as f,GI as g,S as h,hte as i,Re as j,Bee as k,Aee as l,Cne as m,ane as n,Ste as o,Kte as p,Hne as q,Dn as r,zne as s,Bne as t,OG as u,Hte as v,Mc as w,ZS as x,Lte as y,xte as z};
74
- //# sourceMappingURL=vendor-q6fv0YT2.js.map
74
+ //# sourceMappingURL=vendor-DmGkEtRj.js.map