plum-e2e 2.8.5 → 2.8.6

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 (181) hide show
  1. package/backend/routes/test-cases.routes.js +7 -2
  2. package/backend/services/reportService.js +7 -1
  3. package/backend/services/testCaseService.js +3 -2
  4. package/backend/services/userService.js +1 -3
  5. package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +1 -1
  6. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.C1TbMUws.css +6 -0
  7. package/frontend/.svelte-kit/adapter-node/chunks/internal.js +1 -1
  8. package/frontend/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +22 -22
  9. package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +3 -3
  10. package/frontend/.svelte-kit/adapter-node/manifest-full.js +1 -1
  11. package/frontend/.svelte-kit/adapter-node/manifest.js +1 -1
  12. package/frontend/.svelte-kit/adapter-node/nodes/0.js +1 -1
  13. package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -1
  14. package/frontend/.svelte-kit/adapter-node/nodes/11.js +1 -1
  15. package/frontend/.svelte-kit/adapter-node/nodes/12.js +1 -1
  16. package/frontend/.svelte-kit/adapter-node/nodes/2.js +2 -2
  17. package/frontend/.svelte-kit/adapter-node/nodes/3.js +1 -1
  18. package/frontend/.svelte-kit/adapter-node/nodes/5.js +1 -1
  19. package/frontend/.svelte-kit/adapter-node/nodes/6.js +1 -1
  20. package/frontend/.svelte-kit/adapter-node/nodes/8.js +1 -1
  21. package/frontend/.svelte-kit/adapter-node/nodes/9.js +1 -1
  22. package/frontend/.svelte-kit/ambient.d.ts +4 -0
  23. package/frontend/.svelte-kit/generated/server/internal.js +1 -1
  24. package/frontend/.svelte-kit/output/client/.vite/manifest.json +35 -35
  25. package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.C1TbMUws.css +6 -0
  26. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.C1TbMUws.css +6 -0
  27. package/frontend/{build/client/_app/immutable/chunks/DEKAA-Fm.js → .svelte-kit/output/client/_app/immutable/chunks/DDZw0L0T.js} +1 -1
  28. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{Dhf4xQKo.js → kkA1mrsH.js} +2 -2
  29. package/frontend/{build/client/_app/immutable/entry/app.B0GH5ONo.js → .svelte-kit/output/client/_app/immutable/entry/app.KrtMZ3my.js} +2 -2
  30. package/frontend/.svelte-kit/output/client/_app/immutable/entry/{start.Bn25CW9X.js → start.4qxHHAcl.js} +1 -1
  31. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{0.-imXt0f5.js → 0.C8DodwXs.js} +1 -1
  32. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.Dom3CKWF.js → 1.Df9sLw8b.js} +1 -1
  33. package/frontend/{build/client/_app/immutable/nodes/11.DMlayLCK.js → .svelte-kit/output/client/_app/immutable/nodes/11.BViaDK2m.js} +1 -1
  34. package/frontend/{build/client/_app/immutable/nodes/12.Bu89A1eX.js → .svelte-kit/output/client/_app/immutable/nodes/12.BMSCSd88.js} +1 -1
  35. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.BCPSg7H4.js +6 -0
  36. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{3.B86rlHXU.js → 3.8BFAJoHT.js} +1 -1
  37. package/frontend/{build/client/_app/immutable/nodes/5.CqTXvadV.js → .svelte-kit/output/client/_app/immutable/nodes/5.DVeH2eQP.js} +1 -1
  38. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{6.BJZ62MCd.js → 6.DI7-IJhN.js} +1 -1
  39. package/frontend/{build/client/_app/immutable/nodes/8.B4fj2Xyu.js → .svelte-kit/output/client/_app/immutable/nodes/8.93Mb3ofT.js} +4 -4
  40. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.C57_2xq6.js → 9.CvfGx3Hu.js} +1 -1
  41. package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
  42. package/frontend/.svelte-kit/output/server/.vite/manifest.json +1 -1
  43. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.C1TbMUws.css +6 -0
  44. package/frontend/.svelte-kit/output/server/chunks/internal.js +1 -1
  45. package/frontend/.svelte-kit/output/server/entries/pages/_page.svelte.js +22 -22
  46. package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +3 -3
  47. package/frontend/.svelte-kit/output/server/manifest-full.js +1 -1
  48. package/frontend/.svelte-kit/output/server/manifest.js +1 -1
  49. package/frontend/.svelte-kit/output/server/nodes/0.js +1 -1
  50. package/frontend/.svelte-kit/output/server/nodes/1.js +1 -1
  51. package/frontend/.svelte-kit/output/server/nodes/11.js +1 -1
  52. package/frontend/.svelte-kit/output/server/nodes/12.js +1 -1
  53. package/frontend/.svelte-kit/output/server/nodes/2.js +2 -2
  54. package/frontend/.svelte-kit/output/server/nodes/3.js +1 -1
  55. package/frontend/.svelte-kit/output/server/nodes/5.js +1 -1
  56. package/frontend/.svelte-kit/output/server/nodes/6.js +1 -1
  57. package/frontend/.svelte-kit/output/server/nodes/8.js +1 -1
  58. package/frontend/.svelte-kit/output/server/nodes/9.js +1 -1
  59. package/frontend/build/client/_app/immutable/assets/2.C1TbMUws.css +6 -0
  60. package/frontend/build/client/_app/immutable/assets/2.C1TbMUws.css.br +0 -0
  61. package/frontend/build/client/_app/immutable/assets/2.C1TbMUws.css.gz +0 -0
  62. package/frontend/build/client/_app/immutable/assets/_page.C1TbMUws.css +6 -0
  63. package/frontend/build/client/_app/immutable/assets/_page.C1TbMUws.css.br +0 -0
  64. package/frontend/build/client/_app/immutable/assets/_page.C1TbMUws.css.gz +0 -0
  65. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/DEKAA-Fm.js → build/client/_app/immutable/chunks/DDZw0L0T.js} +1 -1
  66. package/frontend/build/client/_app/immutable/chunks/DDZw0L0T.js.br +0 -0
  67. package/frontend/build/client/_app/immutable/chunks/DDZw0L0T.js.gz +0 -0
  68. package/frontend/build/client/_app/immutable/chunks/{Dhf4xQKo.js → kkA1mrsH.js} +2 -2
  69. package/frontend/build/client/_app/immutable/chunks/kkA1mrsH.js.br +0 -0
  70. package/frontend/build/client/_app/immutable/chunks/kkA1mrsH.js.gz +0 -0
  71. package/frontend/{.svelte-kit/output/client/_app/immutable/entry/app.B0GH5ONo.js → build/client/_app/immutable/entry/app.KrtMZ3my.js} +2 -2
  72. package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js.br +0 -0
  73. package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js.gz +0 -0
  74. package/frontend/build/client/_app/immutable/entry/{start.Bn25CW9X.js → start.4qxHHAcl.js} +1 -1
  75. package/frontend/build/client/_app/immutable/entry/{start.Bn25CW9X.js.br → start.4qxHHAcl.js.br} +0 -0
  76. package/frontend/build/client/_app/immutable/entry/{start.Bn25CW9X.js.gz → start.4qxHHAcl.js.gz} +0 -0
  77. package/frontend/build/client/_app/immutable/nodes/{0.-imXt0f5.js → 0.C8DodwXs.js} +1 -1
  78. package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js.br +0 -0
  79. package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js.gz +0 -0
  80. package/frontend/build/client/_app/immutable/nodes/{1.Dom3CKWF.js → 1.Df9sLw8b.js} +1 -1
  81. package/frontend/build/client/_app/immutable/nodes/1.Df9sLw8b.js.br +0 -0
  82. package/frontend/build/client/_app/immutable/nodes/1.Df9sLw8b.js.gz +0 -0
  83. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/11.DMlayLCK.js → build/client/_app/immutable/nodes/11.BViaDK2m.js} +1 -1
  84. package/frontend/build/client/_app/immutable/nodes/11.BViaDK2m.js.br +0 -0
  85. package/frontend/build/client/_app/immutable/nodes/11.BViaDK2m.js.gz +0 -0
  86. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/12.Bu89A1eX.js → build/client/_app/immutable/nodes/12.BMSCSd88.js} +1 -1
  87. package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js.br +0 -0
  88. package/frontend/build/client/_app/immutable/nodes/{12.Bu89A1eX.js.gz → 12.BMSCSd88.js.gz} +0 -0
  89. package/frontend/build/client/_app/immutable/nodes/2.BCPSg7H4.js +6 -0
  90. package/frontend/build/client/_app/immutable/nodes/2.BCPSg7H4.js.br +0 -0
  91. package/frontend/build/client/_app/immutable/nodes/2.BCPSg7H4.js.gz +0 -0
  92. package/frontend/build/client/_app/immutable/nodes/{3.B86rlHXU.js → 3.8BFAJoHT.js} +1 -1
  93. package/frontend/build/client/_app/immutable/nodes/3.8BFAJoHT.js.br +0 -0
  94. package/frontend/build/client/_app/immutable/nodes/3.8BFAJoHT.js.gz +0 -0
  95. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/5.CqTXvadV.js → build/client/_app/immutable/nodes/5.DVeH2eQP.js} +1 -1
  96. package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js.br +0 -0
  97. package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js.gz +0 -0
  98. package/frontend/build/client/_app/immutable/nodes/{6.BJZ62MCd.js → 6.DI7-IJhN.js} +1 -1
  99. package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js.br +0 -0
  100. package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js.gz +0 -0
  101. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/8.B4fj2Xyu.js → build/client/_app/immutable/nodes/8.93Mb3ofT.js} +4 -4
  102. package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js.br +0 -0
  103. package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js.gz +0 -0
  104. package/frontend/build/client/_app/immutable/nodes/{9.C57_2xq6.js → 9.CvfGx3Hu.js} +1 -1
  105. package/frontend/build/client/_app/immutable/nodes/9.CvfGx3Hu.js.br +0 -0
  106. package/frontend/build/client/_app/immutable/nodes/9.CvfGx3Hu.js.gz +0 -0
  107. package/frontend/build/client/_app/version.json +1 -1
  108. package/frontend/build/client/_app/version.json.br +0 -0
  109. package/frontend/build/client/_app/version.json.gz +0 -0
  110. package/frontend/build/server/chunks/{0-DG1Uv07a.js → 0-D5YWFygh.js} +2 -2
  111. package/frontend/build/server/chunks/{0-DG1Uv07a.js.map → 0-D5YWFygh.js.map} +1 -1
  112. package/frontend/build/server/chunks/{1-iB0ogJU_.js → 1-Kxn9d30Z.js} +2 -2
  113. package/frontend/build/server/chunks/{1-iB0ogJU_.js.map → 1-Kxn9d30Z.js.map} +1 -1
  114. package/frontend/build/server/chunks/{11-Df9vGZ_v.js → 11-CNLerze_.js} +2 -2
  115. package/frontend/build/server/chunks/{11-Df9vGZ_v.js.map → 11-CNLerze_.js.map} +1 -1
  116. package/frontend/build/server/chunks/{12-DqvjCln4.js → 12-De6Ol6pu.js} +2 -2
  117. package/frontend/build/server/chunks/{12-DqvjCln4.js.map → 12-De6Ol6pu.js.map} +1 -1
  118. package/frontend/build/server/chunks/{2-Cte30Dgy.js → 2-Dc_rKWoK.js} +4 -4
  119. package/frontend/build/server/chunks/{2-Cte30Dgy.js.map → 2-Dc_rKWoK.js.map} +1 -1
  120. package/frontend/build/server/chunks/{3-BYKCZi4U.js → 3-DrRqVrcX.js} +2 -2
  121. package/frontend/build/server/chunks/{3-BYKCZi4U.js.map → 3-DrRqVrcX.js.map} +1 -1
  122. package/frontend/build/server/chunks/{5-B6Jc1foX.js → 5-CFeE5dPZ.js} +2 -2
  123. package/frontend/build/server/chunks/{5-B6Jc1foX.js.map → 5-CFeE5dPZ.js.map} +1 -1
  124. package/frontend/build/server/chunks/{6-dXZKtN86.js → 6-DZk37MZH.js} +2 -2
  125. package/frontend/build/server/chunks/{6-dXZKtN86.js.map → 6-DZk37MZH.js.map} +1 -1
  126. package/frontend/build/server/chunks/{8-D-Bp7HzS.js → 8-CKPVFOqJ.js} +3 -3
  127. package/frontend/build/server/chunks/{8-D-Bp7HzS.js.map → 8-CKPVFOqJ.js.map} +1 -1
  128. package/frontend/build/server/chunks/{9-BynjuGUO.js → 9-DirZG_Lu.js} +2 -2
  129. package/frontend/build/server/chunks/{9-BynjuGUO.js.map → 9-DirZG_Lu.js.map} +1 -1
  130. package/frontend/build/server/chunks/{_page.svelte-CpB-fgJl.js → _page.svelte-04WxjOuH.js} +23 -23
  131. package/frontend/build/server/chunks/_page.svelte-04WxjOuH.js.map +5 -0
  132. package/frontend/build/server/chunks/{_page.svelte-wKyUmA2e.js → _page.svelte-8gELc_B1.js} +4 -4
  133. package/frontend/build/server/chunks/_page.svelte-8gELc_B1.js.map +5 -0
  134. package/frontend/build/server/index.js +1 -1
  135. package/frontend/build/server/index.js.map +1 -1
  136. package/frontend/build/server/manifest.js +11 -11
  137. package/frontend/build/server/manifest.js.map +1 -1
  138. package/frontend/src/lib/api/repository.js +2 -2
  139. package/frontend/src/lib/copy/repository.js +6 -0
  140. package/frontend/src/routes/+page.svelte +6 -1
  141. package/frontend/src/routes/test-repository/suites/[id]/+page.svelte +116 -0
  142. package/package.json +1 -1
  143. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DvMkmYA-.css +0 -6
  144. package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.DvMkmYA-.css +0 -6
  145. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DvMkmYA-.css +0 -6
  146. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.BnHalSCi.js +0 -6
  147. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DvMkmYA-.css +0 -6
  148. package/frontend/build/client/_app/immutable/assets/2.DvMkmYA-.css +0 -6
  149. package/frontend/build/client/_app/immutable/assets/2.DvMkmYA-.css.br +0 -0
  150. package/frontend/build/client/_app/immutable/assets/2.DvMkmYA-.css.gz +0 -0
  151. package/frontend/build/client/_app/immutable/assets/_page.DvMkmYA-.css +0 -6
  152. package/frontend/build/client/_app/immutable/assets/_page.DvMkmYA-.css.br +0 -0
  153. package/frontend/build/client/_app/immutable/assets/_page.DvMkmYA-.css.gz +0 -0
  154. package/frontend/build/client/_app/immutable/chunks/DEKAA-Fm.js.br +0 -0
  155. package/frontend/build/client/_app/immutable/chunks/DEKAA-Fm.js.gz +0 -0
  156. package/frontend/build/client/_app/immutable/chunks/Dhf4xQKo.js.br +0 -0
  157. package/frontend/build/client/_app/immutable/chunks/Dhf4xQKo.js.gz +0 -0
  158. package/frontend/build/client/_app/immutable/entry/app.B0GH5ONo.js.br +0 -0
  159. package/frontend/build/client/_app/immutable/entry/app.B0GH5ONo.js.gz +0 -0
  160. package/frontend/build/client/_app/immutable/nodes/0.-imXt0f5.js.br +0 -0
  161. package/frontend/build/client/_app/immutable/nodes/0.-imXt0f5.js.gz +0 -0
  162. package/frontend/build/client/_app/immutable/nodes/1.Dom3CKWF.js.br +0 -0
  163. package/frontend/build/client/_app/immutable/nodes/1.Dom3CKWF.js.gz +0 -0
  164. package/frontend/build/client/_app/immutable/nodes/11.DMlayLCK.js.br +0 -0
  165. package/frontend/build/client/_app/immutable/nodes/11.DMlayLCK.js.gz +0 -0
  166. package/frontend/build/client/_app/immutable/nodes/12.Bu89A1eX.js.br +0 -0
  167. package/frontend/build/client/_app/immutable/nodes/2.BnHalSCi.js +0 -6
  168. package/frontend/build/client/_app/immutable/nodes/2.BnHalSCi.js.br +0 -0
  169. package/frontend/build/client/_app/immutable/nodes/2.BnHalSCi.js.gz +0 -0
  170. package/frontend/build/client/_app/immutable/nodes/3.B86rlHXU.js.br +0 -0
  171. package/frontend/build/client/_app/immutable/nodes/3.B86rlHXU.js.gz +0 -0
  172. package/frontend/build/client/_app/immutable/nodes/5.CqTXvadV.js.br +0 -0
  173. package/frontend/build/client/_app/immutable/nodes/5.CqTXvadV.js.gz +0 -0
  174. package/frontend/build/client/_app/immutable/nodes/6.BJZ62MCd.js.br +0 -0
  175. package/frontend/build/client/_app/immutable/nodes/6.BJZ62MCd.js.gz +0 -0
  176. package/frontend/build/client/_app/immutable/nodes/8.B4fj2Xyu.js.br +0 -0
  177. package/frontend/build/client/_app/immutable/nodes/8.B4fj2Xyu.js.gz +0 -0
  178. package/frontend/build/client/_app/immutable/nodes/9.C57_2xq6.js.br +0 -0
  179. package/frontend/build/client/_app/immutable/nodes/9.C57_2xq6.js.gz +0 -0
  180. package/frontend/build/server/chunks/_page.svelte-CpB-fgJl.js.map +0 -5
  181. package/frontend/build/server/chunks/_page.svelte-wKyUmA2e.js.map +0 -5
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import{s as $,a as y,e as D,t as R,b as ps,n as mn,c as We}from"../chunks/CMBQQ9RZ.js";import{i as Wt}from"../chunks/CKDtmZUQ.js";import{e as ot,u as bn,p as Ht,o as Kt,s as x,d as _,j as d,f as K,g as r,k as v,t as I,x as ee,c as Yt,m as P,an as wn,l as he,b as En,n as Pe}from"../chunks/BAACMRH5.js";import{i as N,s as jt,a as Re}from"../chunks/CgnwuKKO.js";import{e as He,t as B,i as Xe,a as $e,g as Ts,b as Pt,f as je}from"../chunks/TOCyHP97.js";import{g as vs}from"../chunks/Dhf4xQKo.js";import{p as Ns}from"../chunks/DEKAA-Fm.js";import{s as se,A as Bs,y as Ae,x as Cs,u as Rn,v as kn,J as nt,T as _s,K as gs,B as Tt,N as ys,O as ms,r as Nt,H as xn,j as Sn,n as bs,z as An,F as Tn}from"../chunks/CUC98kMZ.js";import{a as zt}from"../chunks/C1Vid6wz.js";import{b as Nn,f as Bn,a as Cn}from"../chunks/3InFPLvE.js";import{e as Se,p as Fe,f as Bt,b as ze,s as Ln,S as G,c as Oe,a as ws,t as Ct,r as On}from"../chunks/DHM6H-es.js";import{c as In,r as Un}from"../chunks/DbgD7JLa.js";import{a as Pn,q as $n}from"../chunks/BUwxRmHf.js";import{t as Ls,a as Dn}from"../chunks/DSLBMEpr.js";import{C as qn}from"../chunks/DMZwI8Cj.js";import{B as Es}from"../chunks/CuqnZUex.js";import{c as Vn}from"../chunks/BmZ9upwL.js";function Lt(n,e,t){ot(()=>{var s=bn(()=>e(n,t==null?void 0:t())||{});if(s!=null&&s.destroy)return()=>s.destroy()})}const Mn=!1,bo=Object.freeze(Object.defineProperty({__proto__:null,ssr:Mn},Symbol.toStringTag,{value:"Module"}));var Fn=R('<span class="nav-sep svelte-10t98u4" aria-hidden="true"></span>'),Wn=R('<!> <a class="link svelte-10t98u4"> </a>',1),Hn=R('<img alt="" class="project-logo svelte-10t98u4">'),Kn=R('<div class="project-card svelte-10t98u4"><!> <span class="project-name svelte-10t98u4"> </span></div>'),Yn=R('<span class="nav-user svelte-10t98u4"> </span>'),jn=R('<hr class="mobile-sep svelte-10t98u4">'),zn=R('<!> <a class="mobile-link svelte-10t98u4"> </a>',1),Gn=R('<div class="mobile-menu svelte-10t98u4"><!> <a href="/settings" class="mobile-link svelte-10t98u4">Settings</a></div>'),Jn=R('<nav class="nav svelte-10t98u4"><div class="inner svelte-10t98u4"><a href="/" class="brand svelte-10t98u4"><span class="brand-serif svelte-10t98u4">Pl</span><span class="brand-sans svelte-10t98u4">um</span></a> <div class="links svelte-10t98u4"></div> <div class="actions svelte-10t98u4"><!> <!> <a href="/settings" class="settings-btn svelte-10t98u4" aria-label="Settings" title="Settings"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg></a> <button class="hamburger svelte-10t98u4"><span class="svelte-10t98u4"></span> <span class="svelte-10t98u4"></span> <span class="svelte-10t98u4"></span></button></div></div> <!></nav>');function Xn(n,e){Ht(e,!1);const[t,s]=jt(),i=()=>Re(Ns,"$page",t),c=()=>Re(zt,"$auth",t);let p=P(!1),b=P({name:"",logoUrl:""});Kt(async()=>{try{x(b,await Nn())}catch{}});const E=[{href:"/",label:"Automated Tests"},{href:"/reports",label:"Reports"},{href:"/scheduled-tests",label:"Scheduled"},{href:"/test-repository",label:"Test Repository",sep:!0}];function Y(){x(p,!1)}Wt();var f=Jn(),U=_(f),q=_(U),j=d(q,2);He(j,5,()=>E,Xe,(V,L)=>{var J=Wn(),re=K(J);{var ie=z=>{var Be=Fn();y(z,Be)};N(re,z=>{r(L).sep&&z(ie)})}var M=d(re,2),H=_(M,!0);v(M),I(z=>{se(M,"href",r(L).href),B(M,"repo",r(L).sep),B(M,"active",z),$(H,r(L).label)},[()=>r(L).href==="/"?i().url.pathname==="/":i().url.pathname.startsWith(r(L).href)],ee),y(V,J)}),v(j);var te=d(j,2),Te=_(te);{var De=V=>{var L=Kn(),J=_(L);{var re=H=>{var z=Hn();I(()=>se(z,"src",r(b).logoUrl)),y(H,z)};N(J,H=>{r(b).logoUrl&&H(re)})}var ie=d(J,2),M=_(ie,!0);v(ie),v(L),I(()=>$(M,r(b).name)),y(V,L)};N(Te,V=>{r(b).name&&V(De)})}var ne=d(Te,2);{var ye=V=>{var L=Yn(),J=_(L,!0);v(L),I(()=>$(J,c().user.name)),y(V,L)};N(ne,V=>{c().user&&V(ye)})}var me=d(ne,2),de=d(me,2),ce=_(de),Ne=d(ce,2),C=d(Ne,2);v(de),v(te),v(U);var fe=d(U,2);{var pe=V=>{var L=Gn(),J=_(L);He(J,1,()=>E,Xe,(ie,M)=>{var H=zn(),z=K(H);{var Be=Ce=>{var ft=jn();y(Ce,ft)};N(z,Ce=>{r(M).sep&&Ce(Be)})}var be=d(z,2),qe=_(be,!0);v(be),I(Ce=>{se(be,"href",r(M).href),B(be,"active",Ce),$(qe,r(M).label)},[()=>r(M).href==="/"?i().url.pathname==="/":i().url.pathname.startsWith(r(M).href)],ee),D("click",be,Y),y(ie,H)});var re=d(J,2);v(L),I(()=>B(re,"active",i().url.pathname==="/settings")),D("click",re,Y),$e(3,L,()=>Ts,()=>({duration:200})),y(V,L)};N(fe,V=>{r(p)&&V(pe)})}v(f),I(()=>{B(me,"active",i().url.pathname==="/settings"),se(de,"aria-label",r(p)?"Close menu":"Open menu"),se(de,"aria-expanded",r(p)),B(ce,"rotated",r(p)),B(Ne,"hidden",r(p)),B(C,"rotated-reverse",r(p))}),D("click",q,Y),D("click",de,()=>x(p,!r(p))),y(n,f),Yt(),s()}var Qn=R('<main class="shell svelte-28zx1m"><!></main>');function Zn(n,e){var t=Qn(),s=_(t);Pt(s,e,"default",{},null),v(t),y(n,t)}const xe=Object.create(null);xe.open="0";xe.close="1";xe.ping="2";xe.pong="3";xe.message="4";xe.upgrade="5";xe.noop="6";const at=Object.create(null);Object.keys(xe).forEach(n=>{at[xe[n]]=n});const $t={type:"error",data:"parser error"},Os=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Is=typeof ArrayBuffer=="function",Us=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer,Gt=({type:n,data:e},t,s)=>Os&&e instanceof Blob?t?s(e):Rs(e,s):Is&&(e instanceof ArrayBuffer||Us(e))?t?s(e):Rs(new Blob([e]),s):s(xe[n]+(e||"")),Rs=(n,e)=>{const t=new FileReader;return t.onload=function(){const s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(n)};function ks(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let Ot;function er(n,e){if(Os&&n.data instanceof Blob)return n.data.arrayBuffer().then(ks).then(e);if(Is&&(n.data instanceof ArrayBuffer||Us(n.data)))return e(ks(n.data));Gt(n,!1,t=>{Ot||(Ot=new TextEncoder),e(Ot.encode(t))})}const xs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Je=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let n=0;n<xs.length;n++)Je[xs.charCodeAt(n)]=n;const tr=n=>{let e=n.length*.75,t=n.length,s,i=0,c,p,b,E;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);const Y=new ArrayBuffer(e),f=new Uint8Array(Y);for(s=0;s<t;s+=4)c=Je[n.charCodeAt(s)],p=Je[n.charCodeAt(s+1)],b=Je[n.charCodeAt(s+2)],E=Je[n.charCodeAt(s+3)],f[i++]=c<<2|p>>4,f[i++]=(p&15)<<4|b>>2,f[i++]=(b&3)<<6|E&63;return Y},sr=typeof ArrayBuffer=="function",Jt=(n,e)=>{if(typeof n!="string")return{type:"message",data:Ps(n,e)};const t=n.charAt(0);return t==="b"?{type:"message",data:nr(n.substring(1),e)}:at[t]?n.length>1?{type:at[t],data:n.substring(1)}:{type:at[t]}:$t},nr=(n,e)=>{if(sr){const t=tr(n);return Ps(t,e)}else return{base64:!0,data:n}},Ps=(n,e)=>{switch(e){case"blob":return n instanceof Blob?n:new Blob([n]);case"arraybuffer":default:return n instanceof ArrayBuffer?n:n.buffer}},$s="",rr=(n,e)=>{const t=n.length,s=new Array(t);let i=0;n.forEach((c,p)=>{Gt(c,!1,b=>{s[p]=b,++i===t&&e(s.join($s))})})},ir=(n,e)=>{const t=n.split($s),s=[];for(let i=0;i<t.length;i++){const c=Jt(t[i],e);if(s.push(c),c.type==="error")break}return s};function or(){return new TransformStream({transform(n,e){er(n,t=>{const s=t.length;let i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);const c=new DataView(i.buffer);c.setUint8(0,126),c.setUint16(1,s)}else{i=new Uint8Array(9);const c=new DataView(i.buffer);c.setUint8(0,127),c.setBigUint64(1,BigInt(s))}n.data&&typeof n.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}let It;function rt(n){return n.reduce((e,t)=>e+t.length,0)}function it(n,e){if(n[0].length===e)return n.shift();const t=new Uint8Array(e);let s=0;for(let i=0;i<e;i++)t[i]=n[0][s++],s===n[0].length&&(n.shift(),s=0);return n.length&&s<n[0].length&&(n[0]=n[0].slice(s)),t}function ar(n,e){It||(It=new TextDecoder);const t=[];let s=0,i=-1,c=!1;return new TransformStream({transform(p,b){for(t.push(p);;){if(s===0){if(rt(t)<1)break;const E=it(t,1);c=(E[0]&128)===128,i=E[0]&127,i<126?s=3:i===126?s=1:s=2}else if(s===1){if(rt(t)<2)break;const E=it(t,2);i=new DataView(E.buffer,E.byteOffset,E.length).getUint16(0),s=3}else if(s===2){if(rt(t)<8)break;const E=it(t,8),Y=new DataView(E.buffer,E.byteOffset,E.length),f=Y.getUint32(0);if(f>Math.pow(2,21)-1){b.enqueue($t);break}i=f*Math.pow(2,32)+Y.getUint32(4),s=3}else{if(rt(t)<i)break;const E=it(t,i);b.enqueue(Jt(c?E:It.decode(E),e)),s=0}if(i===0||i>n){b.enqueue($t);break}}}})}const Ds=4;function W(n){if(n)return cr(n)}function cr(n){for(var e in W.prototype)n[e]=W.prototype[e];return n}W.prototype.on=W.prototype.addEventListener=function(n,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(e),this};W.prototype.once=function(n,e){function t(){this.off(n,t),e.apply(this,arguments)}return t.fn=e,this.on(n,t),this};W.prototype.off=W.prototype.removeListener=W.prototype.removeAllListeners=W.prototype.removeEventListener=function(n,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+n];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;for(var s,i=0;i<t.length;i++)if(s=t[i],s===e||s.fn===e){t.splice(i,1);break}return t.length===0&&delete this._callbacks["$"+n],this};W.prototype.emit=function(n){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+n],s=1;s<arguments.length;s++)e[s-1]=arguments[s];if(t){t=t.slice(0);for(var s=0,i=t.length;s<i;++s)t[s].apply(this,e)}return this};W.prototype.emitReserved=W.prototype.emit;W.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};W.prototype.hasListeners=function(n){return!!this.listeners(n).length};const ut=typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0),ue=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),lr="arraybuffer";function qs(n,...e){return e.reduce((t,s)=>(n.hasOwnProperty(s)&&(t[s]=n[s]),t),{})}const hr=ue.setTimeout,ur=ue.clearTimeout;function dt(n,e){e.useNativeTimers?(n.setTimeoutFn=hr.bind(ue),n.clearTimeoutFn=ur.bind(ue)):(n.setTimeoutFn=ue.setTimeout.bind(ue),n.clearTimeoutFn=ue.clearTimeout.bind(ue))}const dr=1.33;function fr(n){return typeof n=="string"?pr(n):Math.ceil((n.byteLength||n.size)*dr)}function pr(n){let e=0,t=0;for(let s=0,i=n.length;s<i;s++)e=n.charCodeAt(s),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(s++,t+=4);return t}function Vs(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function vr(n){let e="";for(let t in n)n.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e}function _r(n){let e={},t=n.split("&");for(let s=0,i=t.length;s<i;s++){let c=t[s].split("=");e[decodeURIComponent(c[0])]=decodeURIComponent(c[1])}return e}class gr extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}}class Xt extends W{constructor(e){super(),this.writable=!1,dt(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,s){return super.emitReserved("error",new gr(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=Jt(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){const t=vr(e);return t.length?"?"+t:""}}class yr extends Xt{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||t()})),this.writable||(s++,this.once("drain",function(){--s||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};ir(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,rr(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=Vs()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}}let Ms=!1;try{Ms=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const mr=Ms;function br(){}class wr extends yr{constructor(e){if(super(e),typeof location<"u"){const t=location.protocol==="https:";let s=location.port;s||(s=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||s!==e.port}}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",(i,c)=>{this.onError("xhr post error",i,c)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,s)=>{this.onError("xhr poll error",t,s)}),this.pollXhr=e}}class ke extends W{constructor(e,t,s){super(),this.createRequest=e,dt(this,s),this._opts=s,this._method=s.method||"GET",this._uri=t,this._data=s.data!==void 0?s.data:null,this._create()}_create(){var e;const t=qs(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;const s=this._xhr=this.createRequest(t);try{s.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let i in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(i)&&s.setRequestHeader(i,this._opts.extraHeaders[i])}}catch{}if(this._method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(s.timeout=this._opts.requestTimeout),s.onreadystatechange=()=>{var i;s.readyState===3&&((i=this._opts.cookieJar)===null||i===void 0||i.parseCookies(s.getResponseHeader("set-cookie"))),s.readyState===4&&(s.status===200||s.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof s.status=="number"?s.status:0)},0))},s.send(this._data)}catch(i){this.setTimeoutFn(()=>{this._onError(i)},0);return}typeof document<"u"&&(this._index=ke.requestsCount++,ke.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=br,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete ke.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}ke.requestsCount=0;ke.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Ss);else if(typeof addEventListener=="function"){const n="onpagehide"in ue?"pagehide":"unload";addEventListener(n,Ss,!1)}}function Ss(){for(let n in ke.requests)ke.requests.hasOwnProperty(n)&&ke.requests[n].abort()}const Er=function(){const n=Fs({xdomain:!1});return n&&n.responseType!==null}();class Rr extends wr{constructor(e){super(e);const t=e&&e.forceBase64;this.supportsBinary=Er&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new ke(Fs,this.uri(),e)}}function Fs(n){const e=n.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||mr))return new XMLHttpRequest}catch{}if(!e)try{return new ue[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const Ws=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class kr extends Xt{get name(){return"websocket"}doOpen(){const e=this.uri(),t=this.opts.protocols,s=Ws?{}:qs(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,s)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t===e.length-1;Gt(s,this.supportsBinary,c=>{try{this.doWrite(s,c)}catch{}i&&ut(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=Vs()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const Ut=ue.WebSocket||ue.MozWebSocket;class xr extends kr{createSocket(e,t,s){return Ws?new Ut(e,t,s):t?new Ut(e,t):new Ut(e)}doWrite(e,t){this.ws.send(t)}}class Sr extends Xt{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const t=ar(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=or();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();const c=()=>{s.read().then(({done:b,value:E})=>{b||(this.onPacket(E),c())}).catch(b=>{})};c();const p={type:"open"};this.query.sid&&(p.data=`{"sid":"${this.query.sid}"}`),this._writer.write(p).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t===e.length-1;this._writer.write(s).then(()=>{i&&ut(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}}const Ar={websocket:xr,webtransport:Sr,polling:Rr},Tr=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Nr=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Dt(n){if(n.length>8e3)throw"URI too long";const e=n,t=n.indexOf("["),s=n.indexOf("]");t!=-1&&s!=-1&&(n=n.substring(0,t)+n.substring(t,s).replace(/:/g,";")+n.substring(s,n.length));let i=Tr.exec(n||""),c={},p=14;for(;p--;)c[Nr[p]]=i[p]||"";return t!=-1&&s!=-1&&(c.source=e,c.host=c.host.substring(1,c.host.length-1).replace(/;/g,":"),c.authority=c.authority.replace("[","").replace("]","").replace(/;/g,":"),c.ipv6uri=!0),c.pathNames=Br(c,c.path),c.queryKey=Cr(c,c.query),c}function Br(n,e){const t=/\/{2,9}/g,s=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function Cr(n,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,c){i&&(t[i]=c)}),t}const qt=typeof addEventListener=="function"&&typeof removeEventListener=="function",ct=[];qt&&addEventListener("offline",()=>{ct.forEach(n=>n())},!1);class Ie extends W{constructor(e,t){if(super(),this.binaryType=lr,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){const s=Dt(e);t.hostname=s.host,t.secure=s.protocol==="https"||s.protocol==="wss",t.port=s.port,s.query&&(t.query=s.query)}else t.host&&(t.hostname=Dt(t.host).host);dt(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(s=>{const i=s.prototype.name;this.transports.push(i),this._transportsByName[i]=s}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=_r(this.opts.query)),qt&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},ct.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=Ds,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](s)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const e=this.opts.rememberUpgrade&&Ie.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){this.readyState="open",Ie.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let s=0;s<this.writeBuffer.length;s++){const i=this.writeBuffer[s].data;if(i&&(t+=fr(i)),s>0&&t>this._maxPayload)return this.writeBuffer.slice(0,s);t+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,ut(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,s){return this._sendPacket("message",e,t,s),this}send(e,t,s){return this._sendPacket("message",e,t,s),this}_sendPacket(e,t,s,i){if(typeof t=="function"&&(i=t,t=void 0),typeof s=="function"&&(i=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const c={type:e,data:t,options:s};this.emitReserved("packetCreate",c),this.writeBuffer.push(c),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():e()}):this.upgrading?s():e()),this}_onError(e){if(Ie.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),qt&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const s=ct.indexOf(this._offlineEventListener);s!==-1&&ct.splice(s,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}}Ie.protocol=Ds;class Lr extends Ie{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),s=!1;Ie.priorWebsocketSuccess=!1;const i=()=>{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",U=>{if(!s)if(U.type==="pong"&&U.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;Ie.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(f(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const q=new Error("probe error");q.transport=t.name,this.emitReserved("upgradeError",q)}}))};function c(){s||(s=!0,f(),t.close(),t=null)}const p=U=>{const q=new Error("probe error: "+U);q.transport=t.name,c(),this.emitReserved("upgradeError",q)};function b(){p("transport closed")}function E(){p("socket closed")}function Y(U){t&&U.name!==t.name&&c()}const f=()=>{t.removeListener("open",i),t.removeListener("error",p),t.removeListener("close",b),this.off("close",E),this.off("upgrading",Y)};t.once("open",i),t.once("error",p),t.once("close",b),this.once("close",E),this.once("upgrading",Y),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const t=[];for(let s=0;s<e.length;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}}let Or=class extends Lr{constructor(e,t={}){const s=typeof e=="object"?e:t;(!s.transports||s.transports&&typeof s.transports[0]=="string")&&(s.transports=(s.transports||["polling","websocket","webtransport"]).map(i=>Ar[i]).filter(i=>!!i)),super(e,s)}};function Ir(n,e="",t){let s=n;t=t||typeof location<"u"&&location,n==null&&(n=t.protocol+"//"+t.host),typeof n=="string"&&(n.charAt(0)==="/"&&(n.charAt(1)==="/"?n=t.protocol+n:n=t.host+n),/^(https?|wss?):\/\//.test(n)||(typeof t<"u"?n=t.protocol+"//"+n:n="https://"+n),s=Dt(n)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";const c=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+c+":"+s.port+e,s.href=s.protocol+"://"+c+(t&&t.port===s.port?"":":"+s.port),s}const Ur=typeof ArrayBuffer=="function",Pr=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer,Hs=Object.prototype.toString,$r=typeof Blob=="function"||typeof Blob<"u"&&Hs.call(Blob)==="[object BlobConstructor]",Dr=typeof File=="function"||typeof File<"u"&&Hs.call(File)==="[object FileConstructor]";function Qt(n){return Ur&&(n instanceof ArrayBuffer||Pr(n))||$r&&n instanceof Blob||Dr&&n instanceof File}function lt(n,e){if(!n||typeof n!="object")return!1;if(Array.isArray(n)){for(let t=0,s=n.length;t<s;t++)if(lt(n[t]))return!0;return!1}if(Qt(n))return!0;if(n.toJSON&&typeof n.toJSON=="function"&&arguments.length===1)return lt(n.toJSON(),!0);for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)&&lt(n[t]))return!0;return!1}function qr(n){const e=[],t=n.data,s=n;return s.data=Vt(t,e),s.attachments=e.length,{packet:s,buffers:e}}function Vt(n,e){if(!n)return n;if(Qt(n)){const t={_placeholder:!0,num:e.length};return e.push(n),t}else if(Array.isArray(n)){const t=new Array(n.length);for(let s=0;s<n.length;s++)t[s]=Vt(n[s],e);return t}else if(typeof n=="object"&&!(n instanceof Date)){const t={};for(const s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=Vt(n[s],e));return t}return n}function Vr(n,e){return n.data=Mt(n.data,e),delete n.attachments,n}function Mt(n,e){if(!n)return n;if(n&&n._placeholder===!0){if(typeof n.num=="number"&&n.num>=0&&n.num<e.length)return e[n.num];throw new Error("illegal attachments")}else if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=Mt(n[t],e);else if(typeof n=="object")for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&(n[t]=Mt(n[t],e));return n}const Mr=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var S;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(S||(S={}));class Fr{constructor(e){this.replacer=e}encode(e){return(e.type===S.EVENT||e.type===S.ACK)&&lt(e)?this.encodeAsBinary({type:e.type===S.EVENT?S.BINARY_EVENT:S.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===S.BINARY_EVENT||e.type===S.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=qr(e),s=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(s),i}}function As(n){return Object.prototype.toString.call(n)==="[object Object]"}class Zt extends W{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const s=t.type===S.BINARY_EVENT;s||t.type===S.BINARY_ACK?(t.type=s?S.EVENT:S.ACK,this.reconstructor=new Wr(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if(Qt(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0;const s={type:Number(e.charAt(0))};if(S[s.type]===void 0)throw new Error("unknown packet type "+s.type);if(s.type===S.BINARY_EVENT||s.type===S.BINARY_ACK){const c=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);const p=e.substring(c,t);if(p!=Number(p)||e.charAt(t)!=="-")throw new Error("Illegal attachments");s.attachments=Number(p)}if(e.charAt(t+1)==="/"){const c=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););s.nsp=e.substring(c,t)}else s.nsp="/";const i=e.charAt(t+1);if(i!==""&&Number(i)==i){const c=t+1;for(;++t;){const p=e.charAt(t);if(p==null||Number(p)!=p){--t;break}if(t===e.length)break}s.id=Number(e.substring(c,t+1))}if(e.charAt(++t)){const c=this.tryParse(e.substr(t));if(Zt.isPayloadValid(s.type,c))s.data=c;else throw new Error("invalid payload")}return s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case S.CONNECT:return As(t);case S.DISCONNECT:return t===void 0;case S.CONNECT_ERROR:return typeof t=="string"||As(t);case S.EVENT:case S.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Mr.indexOf(t[0])===-1);case S.ACK:case S.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Wr{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const t=Vr(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Hr=Object.freeze(Object.defineProperty({__proto__:null,Decoder:Zt,Encoder:Fr,get PacketType(){return S}},Symbol.toStringTag,{value:"Module"}));function ge(n,e,t){return n.on(e,t),function(){n.off(e,t)}}const Kr=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Ks extends W{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[ge(e,"open",this.onopen.bind(this)),ge(e,"packet",this.onpacket.bind(this)),ge(e,"error",this.onerror.bind(this)),ge(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var s,i,c;if(Kr.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const p={type:S.EVENT,data:t};if(p.options={},p.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){const f=this.ids++,U=t.pop();this._registerAckCallback(f,U),p.id=f}const b=(i=(s=this.io.engine)===null||s===void 0?void 0:s.transport)===null||i===void 0?void 0:i.writable,E=this.connected&&!(!((c=this.io.engine)===null||c===void 0)&&c._hasPingExpired());return this.flags.volatile&&!b||(E?(this.notifyOutgoingListeners(p),this.packet(p)):this.sendBuffer.push(p)),this.flags={},this}_registerAckCallback(e,t){var s;const i=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}const c=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let b=0;b<this.sendBuffer.length;b++)this.sendBuffer[b].id===e&&this.sendBuffer.splice(b,1);t.call(this,new Error("operation has timed out"))},i),p=(...b)=>{this.io.clearTimeoutFn(c),t.apply(this,b)};p.withError=!0,this.acks[e]=p}emitWithAck(e,...t){return new Promise((s,i)=>{const c=(p,b)=>p?i(p):s(b);c.withError=!0,t.push(c),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...c)=>s!==this._queue[0]?void 0:(i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...c)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:S.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(s=>String(s.id)===e)){const s=this.acks[e];delete this.acks[e],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case S.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case S.EVENT:case S.BINARY_EVENT:this.onevent(e);break;case S.ACK:case S.BINARY_ACK:this.onack(e);break;case S.DISCONNECT:this.ondisconnect();break;case S.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...i){s||(s=!0,t.packet({type:S.ACK,id:e,data:i}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:S.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}}function Ke(n){n=n||{},this.ms=n.min||100,this.max=n.max||1e4,this.factor=n.factor||2,this.jitter=n.jitter>0&&n.jitter<=1?n.jitter:0,this.attempts=0}Ke.prototype.duration=function(){var n=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*n);n=Math.floor(e*10)&1?n+t:n-t}return Math.min(n,this.max)|0};Ke.prototype.reset=function(){this.attempts=0};Ke.prototype.setMin=function(n){this.ms=n};Ke.prototype.setMax=function(n){this.max=n};Ke.prototype.setJitter=function(n){this.jitter=n};class Ft extends W{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,dt(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new Ke({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const i=t.parser||Hr;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Or(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=ge(t,"open",function(){s.onopen(),e&&e()}),c=b=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",b),e?e(b):this.maybeReconnectOnOpen()},p=ge(t,"error",c);if(this._timeout!==!1){const b=this._timeout,E=this.setTimeoutFn(()=>{i(),c(new Error("timeout")),t.close()},b);this.opts.autoUnref&&E.unref(),this.subs.push(()=>{this.clearTimeoutFn(E)})}return this.subs.push(i),this.subs.push(p),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(ge(e,"ping",this.onping.bind(this)),ge(e,"data",this.ondata.bind(this)),ge(e,"error",this.onerror.bind(this)),ge(e,"close",this.onclose.bind(this)),ge(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){ut(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new Ks(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const s of t)if(this.nsps[s].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const Ge={};function ht(n,e){typeof n=="object"&&(e=n,n=void 0),e=e||{};const t=Ir(n,e.path||"/socket.io"),s=t.source,i=t.id,c=t.path,p=Ge[i]&&c in Ge[i].nsps,b=e.forceNew||e["force new connection"]||e.multiplex===!1||p;let E;return b?E=new Ft(s,e):(Ge[i]||(Ge[i]=new Ft(s,e)),E=Ge[i]),t.query&&!e.query&&(e.query=t.queryKey),E.socket(t.path,e)}Object.assign(ht,{Manager:Ft,Socket:Ks,io:ht,connect:ht});function Yr(){return{Authorization:`Bearer ${zt.getToken()}`}}async function jr(){const n=await fetch(`${Bs}/active-runs`,{headers:Yr()});if(!n.ok)return[];const{runs:e}=await n.json();return e??[]}const zr="Run all tests?",Gr="Run all tests",Jr="No tag or filter is set. This will run",Xr="every test",Qr="in the suite, which may take a while.",Zr="View Report",ei="Test Run",ti="Clear test run",si="None",ni="No active test runs",ri="Workers",ii="Browser",oi="Runners",ai="Notify",ci="No automated cases in this run",li="Running",hi="Run",ui="Manual run",di="No tests currently running",fi="Live",pi=n=>`${n} automated`,vi=n=>n?"Discord notification on":"Discord notification off",_i=n=>n?"Slack notification on":"Slack notification off",gi=n=>`${n} runners`,yi=n=>`${Ls(n)} run`,mi=n=>`started by ${n}`,bi=n=>n?"Collapse panel":"Expand panel";function wi(n,e,t){return n.running?"Running":n.status==="pass"?"Passed":n.status==="fail"?"Failed":t?"Scheduled":e?"Running":"Ready"}function Ei(n,e){var t;return n.selectedRunners.length===1&&n.selectedRunners[0]===Ae?Cs:n.selectedRunners.length===1?((t=e.find(s=>s.id===n.selectedRunners[0]))==null?void 0:t.name)??"1 node":`${n.selectedRunners.length} nodes`}var Ri=R(' <strong class="svelte-h71cn6"></strong> ',1),ki=R('<span class="run-tag svelte-h71cn6"> </span>'),xi=R('<a class="view-report-btn svelte-h71cn6"> <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-h71cn6"><line x1="5" y1="12" x2="19" y2="12" class="svelte-h71cn6"></line><polyline points="12 5 19 12 12 19" class="svelte-h71cn6"></polyline></svg></a>'),Si=R('<span class="run-chip-spinner svelte-h71cn6"></span>'),Ai=R('<span class="run-chip-count svelte-h71cn6"> </span>'),Ti=R('<div class="run-chip svelte-h71cn6"><svg width="9" height="10" viewBox="0 0 10 12" fill="currentColor" stroke="none" style="opacity:0.6;flex-shrink:0" class="svelte-h71cn6"><polygon points="0,0 10,6 0,12" class="svelte-h71cn6"></polygon></svg> <span class="run-chip-title svelte-h71cn6"> </span> <!> <button class="run-chip-clear svelte-h71cn6"><svg width="9" height="9" viewBox="0 0 14 14" fill="none" class="svelte-h71cn6"><path d="M1 1l12 12M13 1L1 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-h71cn6"></path></svg></button></div>'),Ni=R('<div class="input-wrap svelte-h71cn6"><svg class="input-icon svelte-h71cn6" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8" class="svelte-h71cn6"></circle><line x1="21" y1="21" x2="16.65" y2="16.65" class="svelte-h71cn6"></line></svg> <input type="text" class="tag-input svelte-h71cn6" placeholder="@tag or leave blank for all tests"></div>'),Bi=R('<button class="dropdown-item svelte-h71cn6"><span style="color:var(--text-muted)" class="svelte-h71cn6">✕</span> </button> <div class="dropdown-divider svelte-h71cn6"></div>',1),Ci=R('<div class="dropdown-empty svelte-h71cn6"></div>'),Li=R('<button class="dropdown-item svelte-h71cn6"> </button>'),Oi=R('<div class="dropdown-menu run-pick-menu svelte-h71cn6"><!> <!></div>'),Ii=R('<button class="dropdown-item svelte-h71cn6"> </button>'),Ui=R('<div class="dropdown-menu svelte-h71cn6"></div>'),Pi=R('<label class="runner-option svelte-h71cn6"><input type="checkbox" class="svelte-h71cn6"> <span class="runner-dot built-in svelte-h71cn6"></span> <span class="svelte-h71cn6"></span></label>'),$i=R('<label class="runner-option svelte-h71cn6"><input type="checkbox" class="svelte-h71cn6"> <span class="runner-dot remote svelte-h71cn6"></span> <span class="svelte-h71cn6"> </span></label>'),Di=R('<div class="dropdown-menu runners-menu svelte-h71cn6"><!> <!></div>'),qi=R('<div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="dropdown-wrap svelte-h71cn6"><button class="dropdown-trigger svelte-h71cn6"><span class="svelte-h71cn6"> </span> <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="trigger-chevron svelte-h71cn6"><polyline points="6 9 12 15 18 9" class="svelte-h71cn6"></polyline></svg></button> <!></div></div>',1),Vi=R('<button type="button" class="notify-btn svelte-h71cn6"></button>'),Mi=R('<button type="button" class="notify-btn svelte-h71cn6"></button>'),Fi=R('<div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="notify-toggles svelte-h71cn6"><!> <!></div></div>',1),Wi=R('<span class="run-spinner svelte-h71cn6"></span> ',1),Hi=mn('<svg width="9" height="10" viewBox="0 0 10 12" fill="currentColor" stroke="none" class="svelte-h71cn6"><polygon points="0,0 10,6 0,12" class="svelte-h71cn6"></polygon></svg> ',1),Ki=R('<span class="meta-dot svelte-h71cn6">·</span> ',1),Yi=R('<span class="run-card-meta svelte-h71cn6"> <span class="meta-dot svelte-h71cn6">·</span> <span class="meta-dot svelte-h71cn6">·</span> <!></span>'),ji=R('<a href="/reports/live" class="run-card active-run svelte-h71cn6"><span class="run-card-dot pulse-accent svelte-h71cn6"></span> <div class="run-card-info svelte-h71cn6"><span class="run-card-label svelte-h71cn6"> </span> <!></div> <!> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="run-card-arrow svelte-h71cn6"><line x1="5" y1="12" x2="19" y2="12" class="svelte-h71cn6"></line><polyline points="12 5 19 12 12 19" class="svelte-h71cn6"></polyline></svg></a>'),zi=R('<span class="meta-dot svelte-h71cn6">·</span> ',1),Gi=R('<a class="run-card cron-run svelte-h71cn6"><span class="run-card-dot pulse-pass svelte-h71cn6"></span> <div class="run-card-info svelte-h71cn6"><span class="run-card-label svelte-h71cn6"> </span> <span class="run-card-meta svelte-h71cn6"> <!></span></div> <!> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="run-card-arrow svelte-h71cn6"><line x1="5" y1="12" x2="19" y2="12" class="svelte-h71cn6"></line><polyline points="12 5 19 12 12 19" class="svelte-h71cn6"></polyline></svg></a>'),Ji=R('<div class="empty-runs svelte-h71cn6"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="empty-icon svelte-h71cn6"><circle cx="12" cy="12" r="10" class="svelte-h71cn6"></circle><line x1="10" y1="15" x2="10" y2="12" class="svelte-h71cn6"></line><line x1="10" y1="9" x2="10.01" y2="9" class="svelte-h71cn6"></line></svg> </div>'),Xi=R('<div class="body svelte-h71cn6"><!> <!> <!></div>'),Qi=R('<!> <div class="panel svelte-h71cn6"><div class="scan-line svelte-h71cn6"></div> <div class="bar svelte-h71cn6"><div class="bar-left svelte-h71cn6"><div class="bar-status svelte-h71cn6"><span class="status-dot svelte-h71cn6"></span> <span class="status-word svelte-h71cn6"> </span> <!></div> <!></div> <span class="flex-gap svelte-h71cn6"></span> <div class="bar-center svelte-h71cn6"><!> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="dropdown-wrap svelte-h71cn6"><button class="dropdown-trigger svelte-h71cn6"><span class="svelte-h71cn6"> </span> <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="trigger-chevron svelte-h71cn6"><polyline points="6 9 12 15 18 9" class="svelte-h71cn6"></polyline></svg></button> <!></div></div> <div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="stepper svelte-h71cn6"><button class="step-btn svelte-h71cn6">−</button> <span class="step-val svelte-h71cn6"> </span> <button class="step-btn svelte-h71cn6">+</button></div></div> <div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="dropdown-wrap svelte-h71cn6"><button class="dropdown-trigger svelte-h71cn6"><span class="svelte-h71cn6"> </span> <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="trigger-chevron svelte-h71cn6"><polyline points="6 9 12 15 18 9" class="svelte-h71cn6"></polyline></svg></button> <!></div></div> <!> <!> <div class="ctrl-divider svelte-h71cn6"></div> <button class="run-btn svelte-h71cn6"><!></button></div> <span class="flex-gap-sm svelte-h71cn6"></span> <button class="expand-btn svelte-h71cn6"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-h71cn6"><polyline points="18 15 12 9 6 15" class="svelte-h71cn6"></polyline></svg></button></div> <!></div>',1);function Zi(n,e){Ht(e,!1);const[t,s]=jt(),i=()=>Re(Oe,"$runnerState",t),c=()=>Re(Se,"$runnerConfig",t),p=()=>Re(ze,"$backgroundRuns",t),b=()=>Re(On,"$runsVersion",t),E=()=>Re(Fe,"$panelExpanded",t),Y=()=>Re(Bt,"$builtInEnabled",t),f=P(),U=P(),q=P(),j=P(),te=P(),Te=P(),De=P(),ne=P(),ye=P(),me=P(),de=P();let ce=P([]),Ne=P([]),C=P(null),fe=P(!1),pe=P(!1),V=P(!1),L=P(!1),J=P(!1),re=P({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}),ie=P(!1),M=P(!1);function H(a){function u(o){a.contains(o.target)||a.dispatchEvent(new CustomEvent("clickoutside"))}return document.addEventListener("click",u,!0),{destroy(){document.removeEventListener("click",u,!0)}}}let z,Be,be,qe;function Ce(a,u,o){return{kind:a,label:u,output:"",running:!0,testCompleted:!1,latestReportId:null,status:"running",lanes:[],currentRun:{tag:o==null?void 0:o.tag,workers:o==null?void 0:o.workers,browser:o==null?void 0:o.browser,runTitle:u,startedBy:o==null?void 0:o.startedBy},latestScreenshot:null}}Kt(()=>{try{const o=localStorage.getItem("plum:runnerConfig");o&&Se.update(h=>({...h,...JSON.parse(o)}))}catch{}try{const o=localStorage.getItem("plum:panelExpanded");o!==null&&Fe.set(o==="true")}catch{}try{const o=localStorage.getItem("plum:builtInEnabled");o!==null&&Bt.set(o!=="false")}catch{}Bn().then(o=>{x(ce,o);const h=new Set([Ae,...o.map(l=>l.id)]);Se.update(l=>{const g=l.selectedRunners.filter(m=>h.has(m));return{...l,selectedRunners:g.length>0?g:[Ae]}})}).catch(()=>{}),Cn().then(o=>x(re,o)).catch(()=>{}),jr().then(o=>{o.length!==0&&(ze.update(h=>{const l={...h};for(const{runId:g,kind:m,label:w,meta:k}of o)l[g]||(l[g]=Ce(m,w,k));return l}),Fe.set(!0))}).catch(()=>{}),z=Se.subscribe(o=>{try{localStorage.setItem("plum:runnerConfig",JSON.stringify(o))}catch{}}),Be=Fe.subscribe(o=>{try{localStorage.setItem("plum:panelExpanded",String(o))}catch{}}),be=Bt.subscribe(o=>{try{localStorage.setItem("plum:builtInEnabled",String(o))}catch{}Se.update(h=>{if(!o&&h.selectedRunners.includes(Ae)){const l=h.selectedRunners.filter(m=>m!==Ae),g=l.length>0?l:r(ce)[0]?[r(ce)[0].id]:[];return{...h,selectedRunners:g}}return h})});const a=ht(Bs,{transports:["websocket"]});qe=a,Ln.set(a),a.on(G.LOG,o=>{Oe.update(h=>({...h,output:h.output+o+`
6
+ import{s as $,a as y,e as D,t as R,b as ps,n as mn,c as We}from"../chunks/CMBQQ9RZ.js";import{i as Wt}from"../chunks/CKDtmZUQ.js";import{e as ot,u as bn,p as Ht,o as Kt,s as x,d as _,j as d,f as K,g as r,k as v,t as I,x as ee,c as Yt,m as P,an as wn,l as he,b as En,n as Pe}from"../chunks/BAACMRH5.js";import{i as N,s as jt,a as Re}from"../chunks/CgnwuKKO.js";import{e as He,t as B,i as Xe,a as $e,g as Ts,b as Pt,f as je}from"../chunks/TOCyHP97.js";import{g as vs}from"../chunks/kkA1mrsH.js";import{p as Ns}from"../chunks/DDZw0L0T.js";import{s as se,A as Bs,y as Ae,x as Cs,u as Rn,v as kn,J as nt,T as _s,K as gs,B as Tt,N as ys,O as ms,r as Nt,H as xn,j as Sn,n as bs,z as An,F as Tn}from"../chunks/CUC98kMZ.js";import{a as zt}from"../chunks/C1Vid6wz.js";import{b as Nn,f as Bn,a as Cn}from"../chunks/3InFPLvE.js";import{e as Se,p as Fe,f as Bt,b as ze,s as Ln,S as G,c as Oe,a as ws,t as Ct,r as On}from"../chunks/DHM6H-es.js";import{c as In,r as Un}from"../chunks/DbgD7JLa.js";import{a as Pn,q as $n}from"../chunks/BUwxRmHf.js";import{t as Ls,a as Dn}from"../chunks/DSLBMEpr.js";import{C as qn}from"../chunks/DMZwI8Cj.js";import{B as Es}from"../chunks/CuqnZUex.js";import{c as Vn}from"../chunks/BmZ9upwL.js";function Lt(n,e,t){ot(()=>{var s=bn(()=>e(n,t==null?void 0:t())||{});if(s!=null&&s.destroy)return()=>s.destroy()})}const Mn=!1,bo=Object.freeze(Object.defineProperty({__proto__:null,ssr:Mn},Symbol.toStringTag,{value:"Module"}));var Fn=R('<span class="nav-sep svelte-10t98u4" aria-hidden="true"></span>'),Wn=R('<!> <a class="link svelte-10t98u4"> </a>',1),Hn=R('<img alt="" class="project-logo svelte-10t98u4">'),Kn=R('<div class="project-card svelte-10t98u4"><!> <span class="project-name svelte-10t98u4"> </span></div>'),Yn=R('<span class="nav-user svelte-10t98u4"> </span>'),jn=R('<hr class="mobile-sep svelte-10t98u4">'),zn=R('<!> <a class="mobile-link svelte-10t98u4"> </a>',1),Gn=R('<div class="mobile-menu svelte-10t98u4"><!> <a href="/settings" class="mobile-link svelte-10t98u4">Settings</a></div>'),Jn=R('<nav class="nav svelte-10t98u4"><div class="inner svelte-10t98u4"><a href="/" class="brand svelte-10t98u4"><span class="brand-serif svelte-10t98u4">Pl</span><span class="brand-sans svelte-10t98u4">um</span></a> <div class="links svelte-10t98u4"></div> <div class="actions svelte-10t98u4"><!> <!> <a href="/settings" class="settings-btn svelte-10t98u4" aria-label="Settings" title="Settings"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg></a> <button class="hamburger svelte-10t98u4"><span class="svelte-10t98u4"></span> <span class="svelte-10t98u4"></span> <span class="svelte-10t98u4"></span></button></div></div> <!></nav>');function Xn(n,e){Ht(e,!1);const[t,s]=jt(),i=()=>Re(Ns,"$page",t),c=()=>Re(zt,"$auth",t);let p=P(!1),b=P({name:"",logoUrl:""});Kt(async()=>{try{x(b,await Nn())}catch{}});const E=[{href:"/",label:"Automated Tests"},{href:"/reports",label:"Reports"},{href:"/scheduled-tests",label:"Scheduled"},{href:"/test-repository",label:"Test Repository",sep:!0}];function Y(){x(p,!1)}Wt();var f=Jn(),U=_(f),q=_(U),j=d(q,2);He(j,5,()=>E,Xe,(V,L)=>{var J=Wn(),re=K(J);{var ie=z=>{var Be=Fn();y(z,Be)};N(re,z=>{r(L).sep&&z(ie)})}var M=d(re,2),H=_(M,!0);v(M),I(z=>{se(M,"href",r(L).href),B(M,"repo",r(L).sep),B(M,"active",z),$(H,r(L).label)},[()=>r(L).href==="/"?i().url.pathname==="/":i().url.pathname.startsWith(r(L).href)],ee),y(V,J)}),v(j);var te=d(j,2),Te=_(te);{var De=V=>{var L=Kn(),J=_(L);{var re=H=>{var z=Hn();I(()=>se(z,"src",r(b).logoUrl)),y(H,z)};N(J,H=>{r(b).logoUrl&&H(re)})}var ie=d(J,2),M=_(ie,!0);v(ie),v(L),I(()=>$(M,r(b).name)),y(V,L)};N(Te,V=>{r(b).name&&V(De)})}var ne=d(Te,2);{var ye=V=>{var L=Yn(),J=_(L,!0);v(L),I(()=>$(J,c().user.name)),y(V,L)};N(ne,V=>{c().user&&V(ye)})}var me=d(ne,2),de=d(me,2),ce=_(de),Ne=d(ce,2),C=d(Ne,2);v(de),v(te),v(U);var fe=d(U,2);{var pe=V=>{var L=Gn(),J=_(L);He(J,1,()=>E,Xe,(ie,M)=>{var H=zn(),z=K(H);{var Be=Ce=>{var ft=jn();y(Ce,ft)};N(z,Ce=>{r(M).sep&&Ce(Be)})}var be=d(z,2),qe=_(be,!0);v(be),I(Ce=>{se(be,"href",r(M).href),B(be,"active",Ce),$(qe,r(M).label)},[()=>r(M).href==="/"?i().url.pathname==="/":i().url.pathname.startsWith(r(M).href)],ee),D("click",be,Y),y(ie,H)});var re=d(J,2);v(L),I(()=>B(re,"active",i().url.pathname==="/settings")),D("click",re,Y),$e(3,L,()=>Ts,()=>({duration:200})),y(V,L)};N(fe,V=>{r(p)&&V(pe)})}v(f),I(()=>{B(me,"active",i().url.pathname==="/settings"),se(de,"aria-label",r(p)?"Close menu":"Open menu"),se(de,"aria-expanded",r(p)),B(ce,"rotated",r(p)),B(Ne,"hidden",r(p)),B(C,"rotated-reverse",r(p))}),D("click",q,Y),D("click",de,()=>x(p,!r(p))),y(n,f),Yt(),s()}var Qn=R('<main class="shell svelte-28zx1m"><!></main>');function Zn(n,e){var t=Qn(),s=_(t);Pt(s,e,"default",{},null),v(t),y(n,t)}const xe=Object.create(null);xe.open="0";xe.close="1";xe.ping="2";xe.pong="3";xe.message="4";xe.upgrade="5";xe.noop="6";const at=Object.create(null);Object.keys(xe).forEach(n=>{at[xe[n]]=n});const $t={type:"error",data:"parser error"},Os=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Is=typeof ArrayBuffer=="function",Us=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer,Gt=({type:n,data:e},t,s)=>Os&&e instanceof Blob?t?s(e):Rs(e,s):Is&&(e instanceof ArrayBuffer||Us(e))?t?s(e):Rs(new Blob([e]),s):s(xe[n]+(e||"")),Rs=(n,e)=>{const t=new FileReader;return t.onload=function(){const s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(n)};function ks(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let Ot;function er(n,e){if(Os&&n.data instanceof Blob)return n.data.arrayBuffer().then(ks).then(e);if(Is&&(n.data instanceof ArrayBuffer||Us(n.data)))return e(ks(n.data));Gt(n,!1,t=>{Ot||(Ot=new TextEncoder),e(Ot.encode(t))})}const xs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Je=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let n=0;n<xs.length;n++)Je[xs.charCodeAt(n)]=n;const tr=n=>{let e=n.length*.75,t=n.length,s,i=0,c,p,b,E;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);const Y=new ArrayBuffer(e),f=new Uint8Array(Y);for(s=0;s<t;s+=4)c=Je[n.charCodeAt(s)],p=Je[n.charCodeAt(s+1)],b=Je[n.charCodeAt(s+2)],E=Je[n.charCodeAt(s+3)],f[i++]=c<<2|p>>4,f[i++]=(p&15)<<4|b>>2,f[i++]=(b&3)<<6|E&63;return Y},sr=typeof ArrayBuffer=="function",Jt=(n,e)=>{if(typeof n!="string")return{type:"message",data:Ps(n,e)};const t=n.charAt(0);return t==="b"?{type:"message",data:nr(n.substring(1),e)}:at[t]?n.length>1?{type:at[t],data:n.substring(1)}:{type:at[t]}:$t},nr=(n,e)=>{if(sr){const t=tr(n);return Ps(t,e)}else return{base64:!0,data:n}},Ps=(n,e)=>{switch(e){case"blob":return n instanceof Blob?n:new Blob([n]);case"arraybuffer":default:return n instanceof ArrayBuffer?n:n.buffer}},$s="",rr=(n,e)=>{const t=n.length,s=new Array(t);let i=0;n.forEach((c,p)=>{Gt(c,!1,b=>{s[p]=b,++i===t&&e(s.join($s))})})},ir=(n,e)=>{const t=n.split($s),s=[];for(let i=0;i<t.length;i++){const c=Jt(t[i],e);if(s.push(c),c.type==="error")break}return s};function or(){return new TransformStream({transform(n,e){er(n,t=>{const s=t.length;let i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);const c=new DataView(i.buffer);c.setUint8(0,126),c.setUint16(1,s)}else{i=new Uint8Array(9);const c=new DataView(i.buffer);c.setUint8(0,127),c.setBigUint64(1,BigInt(s))}n.data&&typeof n.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}let It;function rt(n){return n.reduce((e,t)=>e+t.length,0)}function it(n,e){if(n[0].length===e)return n.shift();const t=new Uint8Array(e);let s=0;for(let i=0;i<e;i++)t[i]=n[0][s++],s===n[0].length&&(n.shift(),s=0);return n.length&&s<n[0].length&&(n[0]=n[0].slice(s)),t}function ar(n,e){It||(It=new TextDecoder);const t=[];let s=0,i=-1,c=!1;return new TransformStream({transform(p,b){for(t.push(p);;){if(s===0){if(rt(t)<1)break;const E=it(t,1);c=(E[0]&128)===128,i=E[0]&127,i<126?s=3:i===126?s=1:s=2}else if(s===1){if(rt(t)<2)break;const E=it(t,2);i=new DataView(E.buffer,E.byteOffset,E.length).getUint16(0),s=3}else if(s===2){if(rt(t)<8)break;const E=it(t,8),Y=new DataView(E.buffer,E.byteOffset,E.length),f=Y.getUint32(0);if(f>Math.pow(2,21)-1){b.enqueue($t);break}i=f*Math.pow(2,32)+Y.getUint32(4),s=3}else{if(rt(t)<i)break;const E=it(t,i);b.enqueue(Jt(c?E:It.decode(E),e)),s=0}if(i===0||i>n){b.enqueue($t);break}}}})}const Ds=4;function W(n){if(n)return cr(n)}function cr(n){for(var e in W.prototype)n[e]=W.prototype[e];return n}W.prototype.on=W.prototype.addEventListener=function(n,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(e),this};W.prototype.once=function(n,e){function t(){this.off(n,t),e.apply(this,arguments)}return t.fn=e,this.on(n,t),this};W.prototype.off=W.prototype.removeListener=W.prototype.removeAllListeners=W.prototype.removeEventListener=function(n,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+n];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;for(var s,i=0;i<t.length;i++)if(s=t[i],s===e||s.fn===e){t.splice(i,1);break}return t.length===0&&delete this._callbacks["$"+n],this};W.prototype.emit=function(n){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+n],s=1;s<arguments.length;s++)e[s-1]=arguments[s];if(t){t=t.slice(0);for(var s=0,i=t.length;s<i;++s)t[s].apply(this,e)}return this};W.prototype.emitReserved=W.prototype.emit;W.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};W.prototype.hasListeners=function(n){return!!this.listeners(n).length};const ut=typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0),ue=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),lr="arraybuffer";function qs(n,...e){return e.reduce((t,s)=>(n.hasOwnProperty(s)&&(t[s]=n[s]),t),{})}const hr=ue.setTimeout,ur=ue.clearTimeout;function dt(n,e){e.useNativeTimers?(n.setTimeoutFn=hr.bind(ue),n.clearTimeoutFn=ur.bind(ue)):(n.setTimeoutFn=ue.setTimeout.bind(ue),n.clearTimeoutFn=ue.clearTimeout.bind(ue))}const dr=1.33;function fr(n){return typeof n=="string"?pr(n):Math.ceil((n.byteLength||n.size)*dr)}function pr(n){let e=0,t=0;for(let s=0,i=n.length;s<i;s++)e=n.charCodeAt(s),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(s++,t+=4);return t}function Vs(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function vr(n){let e="";for(let t in n)n.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e}function _r(n){let e={},t=n.split("&");for(let s=0,i=t.length;s<i;s++){let c=t[s].split("=");e[decodeURIComponent(c[0])]=decodeURIComponent(c[1])}return e}class gr extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}}class Xt extends W{constructor(e){super(),this.writable=!1,dt(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,s){return super.emitReserved("error",new gr(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=Jt(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){const t=vr(e);return t.length?"?"+t:""}}class yr extends Xt{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||t()})),this.writable||(s++,this.once("drain",function(){--s||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};ir(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,rr(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=Vs()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}}let Ms=!1;try{Ms=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const mr=Ms;function br(){}class wr extends yr{constructor(e){if(super(e),typeof location<"u"){const t=location.protocol==="https:";let s=location.port;s||(s=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||s!==e.port}}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",(i,c)=>{this.onError("xhr post error",i,c)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,s)=>{this.onError("xhr poll error",t,s)}),this.pollXhr=e}}class ke extends W{constructor(e,t,s){super(),this.createRequest=e,dt(this,s),this._opts=s,this._method=s.method||"GET",this._uri=t,this._data=s.data!==void 0?s.data:null,this._create()}_create(){var e;const t=qs(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;const s=this._xhr=this.createRequest(t);try{s.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let i in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(i)&&s.setRequestHeader(i,this._opts.extraHeaders[i])}}catch{}if(this._method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(s.timeout=this._opts.requestTimeout),s.onreadystatechange=()=>{var i;s.readyState===3&&((i=this._opts.cookieJar)===null||i===void 0||i.parseCookies(s.getResponseHeader("set-cookie"))),s.readyState===4&&(s.status===200||s.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof s.status=="number"?s.status:0)},0))},s.send(this._data)}catch(i){this.setTimeoutFn(()=>{this._onError(i)},0);return}typeof document<"u"&&(this._index=ke.requestsCount++,ke.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=br,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete ke.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}ke.requestsCount=0;ke.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Ss);else if(typeof addEventListener=="function"){const n="onpagehide"in ue?"pagehide":"unload";addEventListener(n,Ss,!1)}}function Ss(){for(let n in ke.requests)ke.requests.hasOwnProperty(n)&&ke.requests[n].abort()}const Er=function(){const n=Fs({xdomain:!1});return n&&n.responseType!==null}();class Rr extends wr{constructor(e){super(e);const t=e&&e.forceBase64;this.supportsBinary=Er&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new ke(Fs,this.uri(),e)}}function Fs(n){const e=n.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||mr))return new XMLHttpRequest}catch{}if(!e)try{return new ue[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const Ws=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class kr extends Xt{get name(){return"websocket"}doOpen(){const e=this.uri(),t=this.opts.protocols,s=Ws?{}:qs(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,s)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t===e.length-1;Gt(s,this.supportsBinary,c=>{try{this.doWrite(s,c)}catch{}i&&ut(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=Vs()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const Ut=ue.WebSocket||ue.MozWebSocket;class xr extends kr{createSocket(e,t,s){return Ws?new Ut(e,t,s):t?new Ut(e,t):new Ut(e)}doWrite(e,t){this.ws.send(t)}}class Sr extends Xt{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const t=ar(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=or();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();const c=()=>{s.read().then(({done:b,value:E})=>{b||(this.onPacket(E),c())}).catch(b=>{})};c();const p={type:"open"};this.query.sid&&(p.data=`{"sid":"${this.query.sid}"}`),this._writer.write(p).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t===e.length-1;this._writer.write(s).then(()=>{i&&ut(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}}const Ar={websocket:xr,webtransport:Sr,polling:Rr},Tr=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Nr=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Dt(n){if(n.length>8e3)throw"URI too long";const e=n,t=n.indexOf("["),s=n.indexOf("]");t!=-1&&s!=-1&&(n=n.substring(0,t)+n.substring(t,s).replace(/:/g,";")+n.substring(s,n.length));let i=Tr.exec(n||""),c={},p=14;for(;p--;)c[Nr[p]]=i[p]||"";return t!=-1&&s!=-1&&(c.source=e,c.host=c.host.substring(1,c.host.length-1).replace(/;/g,":"),c.authority=c.authority.replace("[","").replace("]","").replace(/;/g,":"),c.ipv6uri=!0),c.pathNames=Br(c,c.path),c.queryKey=Cr(c,c.query),c}function Br(n,e){const t=/\/{2,9}/g,s=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function Cr(n,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,c){i&&(t[i]=c)}),t}const qt=typeof addEventListener=="function"&&typeof removeEventListener=="function",ct=[];qt&&addEventListener("offline",()=>{ct.forEach(n=>n())},!1);class Ie extends W{constructor(e,t){if(super(),this.binaryType=lr,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){const s=Dt(e);t.hostname=s.host,t.secure=s.protocol==="https"||s.protocol==="wss",t.port=s.port,s.query&&(t.query=s.query)}else t.host&&(t.hostname=Dt(t.host).host);dt(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(s=>{const i=s.prototype.name;this.transports.push(i),this._transportsByName[i]=s}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=_r(this.opts.query)),qt&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},ct.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=Ds,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](s)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const e=this.opts.rememberUpgrade&&Ie.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){this.readyState="open",Ie.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let s=0;s<this.writeBuffer.length;s++){const i=this.writeBuffer[s].data;if(i&&(t+=fr(i)),s>0&&t>this._maxPayload)return this.writeBuffer.slice(0,s);t+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,ut(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,s){return this._sendPacket("message",e,t,s),this}send(e,t,s){return this._sendPacket("message",e,t,s),this}_sendPacket(e,t,s,i){if(typeof t=="function"&&(i=t,t=void 0),typeof s=="function"&&(i=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const c={type:e,data:t,options:s};this.emitReserved("packetCreate",c),this.writeBuffer.push(c),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():e()}):this.upgrading?s():e()),this}_onError(e){if(Ie.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),qt&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const s=ct.indexOf(this._offlineEventListener);s!==-1&&ct.splice(s,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}}Ie.protocol=Ds;class Lr extends Ie{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),s=!1;Ie.priorWebsocketSuccess=!1;const i=()=>{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",U=>{if(!s)if(U.type==="pong"&&U.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;Ie.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(f(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const q=new Error("probe error");q.transport=t.name,this.emitReserved("upgradeError",q)}}))};function c(){s||(s=!0,f(),t.close(),t=null)}const p=U=>{const q=new Error("probe error: "+U);q.transport=t.name,c(),this.emitReserved("upgradeError",q)};function b(){p("transport closed")}function E(){p("socket closed")}function Y(U){t&&U.name!==t.name&&c()}const f=()=>{t.removeListener("open",i),t.removeListener("error",p),t.removeListener("close",b),this.off("close",E),this.off("upgrading",Y)};t.once("open",i),t.once("error",p),t.once("close",b),this.once("close",E),this.once("upgrading",Y),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const t=[];for(let s=0;s<e.length;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}}let Or=class extends Lr{constructor(e,t={}){const s=typeof e=="object"?e:t;(!s.transports||s.transports&&typeof s.transports[0]=="string")&&(s.transports=(s.transports||["polling","websocket","webtransport"]).map(i=>Ar[i]).filter(i=>!!i)),super(e,s)}};function Ir(n,e="",t){let s=n;t=t||typeof location<"u"&&location,n==null&&(n=t.protocol+"//"+t.host),typeof n=="string"&&(n.charAt(0)==="/"&&(n.charAt(1)==="/"?n=t.protocol+n:n=t.host+n),/^(https?|wss?):\/\//.test(n)||(typeof t<"u"?n=t.protocol+"//"+n:n="https://"+n),s=Dt(n)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";const c=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+c+":"+s.port+e,s.href=s.protocol+"://"+c+(t&&t.port===s.port?"":":"+s.port),s}const Ur=typeof ArrayBuffer=="function",Pr=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer,Hs=Object.prototype.toString,$r=typeof Blob=="function"||typeof Blob<"u"&&Hs.call(Blob)==="[object BlobConstructor]",Dr=typeof File=="function"||typeof File<"u"&&Hs.call(File)==="[object FileConstructor]";function Qt(n){return Ur&&(n instanceof ArrayBuffer||Pr(n))||$r&&n instanceof Blob||Dr&&n instanceof File}function lt(n,e){if(!n||typeof n!="object")return!1;if(Array.isArray(n)){for(let t=0,s=n.length;t<s;t++)if(lt(n[t]))return!0;return!1}if(Qt(n))return!0;if(n.toJSON&&typeof n.toJSON=="function"&&arguments.length===1)return lt(n.toJSON(),!0);for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)&&lt(n[t]))return!0;return!1}function qr(n){const e=[],t=n.data,s=n;return s.data=Vt(t,e),s.attachments=e.length,{packet:s,buffers:e}}function Vt(n,e){if(!n)return n;if(Qt(n)){const t={_placeholder:!0,num:e.length};return e.push(n),t}else if(Array.isArray(n)){const t=new Array(n.length);for(let s=0;s<n.length;s++)t[s]=Vt(n[s],e);return t}else if(typeof n=="object"&&!(n instanceof Date)){const t={};for(const s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=Vt(n[s],e));return t}return n}function Vr(n,e){return n.data=Mt(n.data,e),delete n.attachments,n}function Mt(n,e){if(!n)return n;if(n&&n._placeholder===!0){if(typeof n.num=="number"&&n.num>=0&&n.num<e.length)return e[n.num];throw new Error("illegal attachments")}else if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=Mt(n[t],e);else if(typeof n=="object")for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&(n[t]=Mt(n[t],e));return n}const Mr=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var S;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(S||(S={}));class Fr{constructor(e){this.replacer=e}encode(e){return(e.type===S.EVENT||e.type===S.ACK)&&lt(e)?this.encodeAsBinary({type:e.type===S.EVENT?S.BINARY_EVENT:S.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===S.BINARY_EVENT||e.type===S.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=qr(e),s=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(s),i}}function As(n){return Object.prototype.toString.call(n)==="[object Object]"}class Zt extends W{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const s=t.type===S.BINARY_EVENT;s||t.type===S.BINARY_ACK?(t.type=s?S.EVENT:S.ACK,this.reconstructor=new Wr(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if(Qt(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0;const s={type:Number(e.charAt(0))};if(S[s.type]===void 0)throw new Error("unknown packet type "+s.type);if(s.type===S.BINARY_EVENT||s.type===S.BINARY_ACK){const c=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);const p=e.substring(c,t);if(p!=Number(p)||e.charAt(t)!=="-")throw new Error("Illegal attachments");s.attachments=Number(p)}if(e.charAt(t+1)==="/"){const c=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););s.nsp=e.substring(c,t)}else s.nsp="/";const i=e.charAt(t+1);if(i!==""&&Number(i)==i){const c=t+1;for(;++t;){const p=e.charAt(t);if(p==null||Number(p)!=p){--t;break}if(t===e.length)break}s.id=Number(e.substring(c,t+1))}if(e.charAt(++t)){const c=this.tryParse(e.substr(t));if(Zt.isPayloadValid(s.type,c))s.data=c;else throw new Error("invalid payload")}return s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case S.CONNECT:return As(t);case S.DISCONNECT:return t===void 0;case S.CONNECT_ERROR:return typeof t=="string"||As(t);case S.EVENT:case S.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Mr.indexOf(t[0])===-1);case S.ACK:case S.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Wr{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const t=Vr(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Hr=Object.freeze(Object.defineProperty({__proto__:null,Decoder:Zt,Encoder:Fr,get PacketType(){return S}},Symbol.toStringTag,{value:"Module"}));function ge(n,e,t){return n.on(e,t),function(){n.off(e,t)}}const Kr=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Ks extends W{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[ge(e,"open",this.onopen.bind(this)),ge(e,"packet",this.onpacket.bind(this)),ge(e,"error",this.onerror.bind(this)),ge(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var s,i,c;if(Kr.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const p={type:S.EVENT,data:t};if(p.options={},p.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){const f=this.ids++,U=t.pop();this._registerAckCallback(f,U),p.id=f}const b=(i=(s=this.io.engine)===null||s===void 0?void 0:s.transport)===null||i===void 0?void 0:i.writable,E=this.connected&&!(!((c=this.io.engine)===null||c===void 0)&&c._hasPingExpired());return this.flags.volatile&&!b||(E?(this.notifyOutgoingListeners(p),this.packet(p)):this.sendBuffer.push(p)),this.flags={},this}_registerAckCallback(e,t){var s;const i=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}const c=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let b=0;b<this.sendBuffer.length;b++)this.sendBuffer[b].id===e&&this.sendBuffer.splice(b,1);t.call(this,new Error("operation has timed out"))},i),p=(...b)=>{this.io.clearTimeoutFn(c),t.apply(this,b)};p.withError=!0,this.acks[e]=p}emitWithAck(e,...t){return new Promise((s,i)=>{const c=(p,b)=>p?i(p):s(b);c.withError=!0,t.push(c),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...c)=>s!==this._queue[0]?void 0:(i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...c)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:S.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(s=>String(s.id)===e)){const s=this.acks[e];delete this.acks[e],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case S.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case S.EVENT:case S.BINARY_EVENT:this.onevent(e);break;case S.ACK:case S.BINARY_ACK:this.onack(e);break;case S.DISCONNECT:this.ondisconnect();break;case S.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...i){s||(s=!0,t.packet({type:S.ACK,id:e,data:i}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:S.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}}function Ke(n){n=n||{},this.ms=n.min||100,this.max=n.max||1e4,this.factor=n.factor||2,this.jitter=n.jitter>0&&n.jitter<=1?n.jitter:0,this.attempts=0}Ke.prototype.duration=function(){var n=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*n);n=Math.floor(e*10)&1?n+t:n-t}return Math.min(n,this.max)|0};Ke.prototype.reset=function(){this.attempts=0};Ke.prototype.setMin=function(n){this.ms=n};Ke.prototype.setMax=function(n){this.max=n};Ke.prototype.setJitter=function(n){this.jitter=n};class Ft extends W{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,dt(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new Ke({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const i=t.parser||Hr;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Or(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=ge(t,"open",function(){s.onopen(),e&&e()}),c=b=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",b),e?e(b):this.maybeReconnectOnOpen()},p=ge(t,"error",c);if(this._timeout!==!1){const b=this._timeout,E=this.setTimeoutFn(()=>{i(),c(new Error("timeout")),t.close()},b);this.opts.autoUnref&&E.unref(),this.subs.push(()=>{this.clearTimeoutFn(E)})}return this.subs.push(i),this.subs.push(p),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(ge(e,"ping",this.onping.bind(this)),ge(e,"data",this.ondata.bind(this)),ge(e,"error",this.onerror.bind(this)),ge(e,"close",this.onclose.bind(this)),ge(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){ut(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new Ks(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const s of t)if(this.nsps[s].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const Ge={};function ht(n,e){typeof n=="object"&&(e=n,n=void 0),e=e||{};const t=Ir(n,e.path||"/socket.io"),s=t.source,i=t.id,c=t.path,p=Ge[i]&&c in Ge[i].nsps,b=e.forceNew||e["force new connection"]||e.multiplex===!1||p;let E;return b?E=new Ft(s,e):(Ge[i]||(Ge[i]=new Ft(s,e)),E=Ge[i]),t.query&&!e.query&&(e.query=t.queryKey),E.socket(t.path,e)}Object.assign(ht,{Manager:Ft,Socket:Ks,io:ht,connect:ht});function Yr(){return{Authorization:`Bearer ${zt.getToken()}`}}async function jr(){const n=await fetch(`${Bs}/active-runs`,{headers:Yr()});if(!n.ok)return[];const{runs:e}=await n.json();return e??[]}const zr="Run all tests?",Gr="Run all tests",Jr="No tag or filter is set. This will run",Xr="every test",Qr="in the suite, which may take a while.",Zr="View Report",ei="Test Run",ti="Clear test run",si="None",ni="No active test runs",ri="Workers",ii="Browser",oi="Runners",ai="Notify",ci="No automated cases in this run",li="Running",hi="Run",ui="Manual run",di="No tests currently running",fi="Live",pi=n=>`${n} automated`,vi=n=>n?"Discord notification on":"Discord notification off",_i=n=>n?"Slack notification on":"Slack notification off",gi=n=>`${n} runners`,yi=n=>`${Ls(n)} run`,mi=n=>`started by ${n}`,bi=n=>n?"Collapse panel":"Expand panel";function wi(n,e,t){return n.running?"Running":n.status==="pass"?"Passed":n.status==="fail"?"Failed":t?"Scheduled":e?"Running":"Ready"}function Ei(n,e){var t;return n.selectedRunners.length===1&&n.selectedRunners[0]===Ae?Cs:n.selectedRunners.length===1?((t=e.find(s=>s.id===n.selectedRunners[0]))==null?void 0:t.name)??"1 node":`${n.selectedRunners.length} nodes`}var Ri=R(' <strong class="svelte-h71cn6"></strong> ',1),ki=R('<span class="run-tag svelte-h71cn6"> </span>'),xi=R('<a class="view-report-btn svelte-h71cn6"> <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-h71cn6"><line x1="5" y1="12" x2="19" y2="12" class="svelte-h71cn6"></line><polyline points="12 5 19 12 12 19" class="svelte-h71cn6"></polyline></svg></a>'),Si=R('<span class="run-chip-spinner svelte-h71cn6"></span>'),Ai=R('<span class="run-chip-count svelte-h71cn6"> </span>'),Ti=R('<div class="run-chip svelte-h71cn6"><svg width="9" height="10" viewBox="0 0 10 12" fill="currentColor" stroke="none" style="opacity:0.6;flex-shrink:0" class="svelte-h71cn6"><polygon points="0,0 10,6 0,12" class="svelte-h71cn6"></polygon></svg> <span class="run-chip-title svelte-h71cn6"> </span> <!> <button class="run-chip-clear svelte-h71cn6"><svg width="9" height="9" viewBox="0 0 14 14" fill="none" class="svelte-h71cn6"><path d="M1 1l12 12M13 1L1 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-h71cn6"></path></svg></button></div>'),Ni=R('<div class="input-wrap svelte-h71cn6"><svg class="input-icon svelte-h71cn6" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8" class="svelte-h71cn6"></circle><line x1="21" y1="21" x2="16.65" y2="16.65" class="svelte-h71cn6"></line></svg> <input type="text" class="tag-input svelte-h71cn6" placeholder="@tag or leave blank for all tests"></div>'),Bi=R('<button class="dropdown-item svelte-h71cn6"><span style="color:var(--text-muted)" class="svelte-h71cn6">✕</span> </button> <div class="dropdown-divider svelte-h71cn6"></div>',1),Ci=R('<div class="dropdown-empty svelte-h71cn6"></div>'),Li=R('<button class="dropdown-item svelte-h71cn6"> </button>'),Oi=R('<div class="dropdown-menu run-pick-menu svelte-h71cn6"><!> <!></div>'),Ii=R('<button class="dropdown-item svelte-h71cn6"> </button>'),Ui=R('<div class="dropdown-menu svelte-h71cn6"></div>'),Pi=R('<label class="runner-option svelte-h71cn6"><input type="checkbox" class="svelte-h71cn6"> <span class="runner-dot built-in svelte-h71cn6"></span> <span class="svelte-h71cn6"></span></label>'),$i=R('<label class="runner-option svelte-h71cn6"><input type="checkbox" class="svelte-h71cn6"> <span class="runner-dot remote svelte-h71cn6"></span> <span class="svelte-h71cn6"> </span></label>'),Di=R('<div class="dropdown-menu runners-menu svelte-h71cn6"><!> <!></div>'),qi=R('<div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="dropdown-wrap svelte-h71cn6"><button class="dropdown-trigger svelte-h71cn6"><span class="svelte-h71cn6"> </span> <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="trigger-chevron svelte-h71cn6"><polyline points="6 9 12 15 18 9" class="svelte-h71cn6"></polyline></svg></button> <!></div></div>',1),Vi=R('<button type="button" class="notify-btn svelte-h71cn6"></button>'),Mi=R('<button type="button" class="notify-btn svelte-h71cn6"></button>'),Fi=R('<div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="notify-toggles svelte-h71cn6"><!> <!></div></div>',1),Wi=R('<span class="run-spinner svelte-h71cn6"></span> ',1),Hi=mn('<svg width="9" height="10" viewBox="0 0 10 12" fill="currentColor" stroke="none" class="svelte-h71cn6"><polygon points="0,0 10,6 0,12" class="svelte-h71cn6"></polygon></svg> ',1),Ki=R('<span class="meta-dot svelte-h71cn6">·</span> ',1),Yi=R('<span class="run-card-meta svelte-h71cn6"> <span class="meta-dot svelte-h71cn6">·</span> <span class="meta-dot svelte-h71cn6">·</span> <!></span>'),ji=R('<a href="/reports/live" class="run-card active-run svelte-h71cn6"><span class="run-card-dot pulse-accent svelte-h71cn6"></span> <div class="run-card-info svelte-h71cn6"><span class="run-card-label svelte-h71cn6"> </span> <!></div> <!> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="run-card-arrow svelte-h71cn6"><line x1="5" y1="12" x2="19" y2="12" class="svelte-h71cn6"></line><polyline points="12 5 19 12 12 19" class="svelte-h71cn6"></polyline></svg></a>'),zi=R('<span class="meta-dot svelte-h71cn6">·</span> ',1),Gi=R('<a class="run-card cron-run svelte-h71cn6"><span class="run-card-dot pulse-pass svelte-h71cn6"></span> <div class="run-card-info svelte-h71cn6"><span class="run-card-label svelte-h71cn6"> </span> <span class="run-card-meta svelte-h71cn6"> <!></span></div> <!> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="run-card-arrow svelte-h71cn6"><line x1="5" y1="12" x2="19" y2="12" class="svelte-h71cn6"></line><polyline points="12 5 19 12 12 19" class="svelte-h71cn6"></polyline></svg></a>'),Ji=R('<div class="empty-runs svelte-h71cn6"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="empty-icon svelte-h71cn6"><circle cx="12" cy="12" r="10" class="svelte-h71cn6"></circle><line x1="10" y1="15" x2="10" y2="12" class="svelte-h71cn6"></line><line x1="10" y1="9" x2="10.01" y2="9" class="svelte-h71cn6"></line></svg> </div>'),Xi=R('<div class="body svelte-h71cn6"><!> <!> <!></div>'),Qi=R('<!> <div class="panel svelte-h71cn6"><div class="scan-line svelte-h71cn6"></div> <div class="bar svelte-h71cn6"><div class="bar-left svelte-h71cn6"><div class="bar-status svelte-h71cn6"><span class="status-dot svelte-h71cn6"></span> <span class="status-word svelte-h71cn6"> </span> <!></div> <!></div> <span class="flex-gap svelte-h71cn6"></span> <div class="bar-center svelte-h71cn6"><!> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="dropdown-wrap svelte-h71cn6"><button class="dropdown-trigger svelte-h71cn6"><span class="svelte-h71cn6"> </span> <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="trigger-chevron svelte-h71cn6"><polyline points="6 9 12 15 18 9" class="svelte-h71cn6"></polyline></svg></button> <!></div></div> <div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="stepper svelte-h71cn6"><button class="step-btn svelte-h71cn6">−</button> <span class="step-val svelte-h71cn6"> </span> <button class="step-btn svelte-h71cn6">+</button></div></div> <div class="ctrl-divider svelte-h71cn6"></div> <div class="ctrl-group svelte-h71cn6"><span class="ctrl-label svelte-h71cn6"></span> <div class="dropdown-wrap svelte-h71cn6"><button class="dropdown-trigger svelte-h71cn6"><span class="svelte-h71cn6"> </span> <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="trigger-chevron svelte-h71cn6"><polyline points="6 9 12 15 18 9" class="svelte-h71cn6"></polyline></svg></button> <!></div></div> <!> <!> <div class="ctrl-divider svelte-h71cn6"></div> <button class="run-btn svelte-h71cn6"><!></button></div> <span class="flex-gap-sm svelte-h71cn6"></span> <button class="expand-btn svelte-h71cn6"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-h71cn6"><polyline points="18 15 12 9 6 15" class="svelte-h71cn6"></polyline></svg></button></div> <!></div>',1);function Zi(n,e){Ht(e,!1);const[t,s]=jt(),i=()=>Re(Oe,"$runnerState",t),c=()=>Re(Se,"$runnerConfig",t),p=()=>Re(ze,"$backgroundRuns",t),b=()=>Re(On,"$runsVersion",t),E=()=>Re(Fe,"$panelExpanded",t),Y=()=>Re(Bt,"$builtInEnabled",t),f=P(),U=P(),q=P(),j=P(),te=P(),Te=P(),De=P(),ne=P(),ye=P(),me=P(),de=P();let ce=P([]),Ne=P([]),C=P(null),fe=P(!1),pe=P(!1),V=P(!1),L=P(!1),J=P(!1),re=P({discordWebhookUrl:"",slackWebhookUrl:"",notifyPublicUrl:""}),ie=P(!1),M=P(!1);function H(a){function u(o){a.contains(o.target)||a.dispatchEvent(new CustomEvent("clickoutside"))}return document.addEventListener("click",u,!0),{destroy(){document.removeEventListener("click",u,!0)}}}let z,Be,be,qe;function Ce(a,u,o){return{kind:a,label:u,output:"",running:!0,testCompleted:!1,latestReportId:null,status:"running",lanes:[],currentRun:{tag:o==null?void 0:o.tag,workers:o==null?void 0:o.workers,browser:o==null?void 0:o.browser,runTitle:u,startedBy:o==null?void 0:o.startedBy},latestScreenshot:null}}Kt(()=>{try{const o=localStorage.getItem("plum:runnerConfig");o&&Se.update(h=>({...h,...JSON.parse(o)}))}catch{}try{const o=localStorage.getItem("plum:panelExpanded");o!==null&&Fe.set(o==="true")}catch{}try{const o=localStorage.getItem("plum:builtInEnabled");o!==null&&Bt.set(o!=="false")}catch{}Bn().then(o=>{x(ce,o);const h=new Set([Ae,...o.map(l=>l.id)]);Se.update(l=>{const g=l.selectedRunners.filter(m=>h.has(m));return{...l,selectedRunners:g.length>0?g:[Ae]}})}).catch(()=>{}),Cn().then(o=>x(re,o)).catch(()=>{}),jr().then(o=>{o.length!==0&&(ze.update(h=>{const l={...h};for(const{runId:g,kind:m,label:w,meta:k}of o)l[g]||(l[g]=Ce(m,w,k));return l}),Fe.set(!0))}).catch(()=>{}),z=Se.subscribe(o=>{try{localStorage.setItem("plum:runnerConfig",JSON.stringify(o))}catch{}}),Be=Fe.subscribe(o=>{try{localStorage.setItem("plum:panelExpanded",String(o))}catch{}}),be=Bt.subscribe(o=>{try{localStorage.setItem("plum:builtInEnabled",String(o))}catch{}Se.update(h=>{if(!o&&h.selectedRunners.includes(Ae)){const l=h.selectedRunners.filter(m=>m!==Ae),g=l.length>0?l:r(ce)[0]?[r(ce)[0].id]:[];return{...h,selectedRunners:g}}return h})});const a=ht(Bs,{transports:["websocket"]});qe=a,Ln.set(a),a.on(G.LOG,o=>{Oe.update(h=>({...h,output:h.output+o+`
7
7
  `}))}),a.on(G.DONE,o=>{const h=typeof o=="object"&&o!==null?o.code:o,l=typeof o=="object"&&o!==null?o.reportId:void 0,g=h===0||h===null,m=h===130;(l!=null?Promise.resolve(l):In().catch(()=>null)).then(k=>{Oe.update(T=>({...T,output:T.output+(m?"":g?`
8
8
  ✓ All tests passed
9
9
  `:`
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import{a as g,t as h,s}from"../chunks/CMBQQ9RZ.js";import{i as d}from"../chunks/CKDtmZUQ.js";import{p as l,f as v,t as x,c as _,d as o,k as p,j as k}from"../chunks/BAACMRH5.js";import{s as $,p as i}from"../chunks/Dhf4xQKo.js";const b={get error(){return i.error},get status(){return i.status}};$.updated.check;const m=b;var j=h("<h1> </h1> <p> </p>",1);function z(c,n){l(n,!1),d();var r=j(),t=v(r),f=o(t,!0);p(t);var e=k(t,2),u=o(e,!0);p(e),x(()=>{var a;s(f,m.status),s(u,(a=m.error)==null?void 0:a.message)}),g(c,r),_()}export{z as component};
6
+ import{a as g,t as h,s}from"../chunks/CMBQQ9RZ.js";import{i as d}from"../chunks/CKDtmZUQ.js";import{p as l,f as v,t as x,c as _,d as o,k as p,j as k}from"../chunks/BAACMRH5.js";import{s as $,p as i}from"../chunks/kkA1mrsH.js";const b={get error(){return i.error},get status(){return i.status}};$.updated.check;const m=b;var j=h("<h1> </h1> <p> </p>",1);function z(c,n){l(n,!1),d();var r=j(),t=v(r),f=o(t,!0);p(t);var e=k(t,2),u=o(e,!0);p(e),x(()=>{var a;s(f,m.status),s(u,(a=m.error)==null?void 0:a.message)}),g(c,r),_()}export{z as component};
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import{a as o,t as u,s as b,h as ba,b as Ce,c as Fe,e as R,n as ha}from"../chunks/CMBQQ9RZ.js";import{i as Yt}from"../chunks/CKDtmZUQ.js";import{p as Et,l as me,s as i,ai as jt,b as Lt,d as r,k as a,t as E,g as e,c as Tt,m as f,o as Ea,f as re,x as Xe,$ as La,y as Ut,j as l,n as pe}from"../chunks/BAACMRH5.js";import{i as m,s as Ta,a as Vt}from"../chunks/CgnwuKKO.js";import{t as I,s as Aa,a as xt,f as ft,e as Be,i as gt}from"../chunks/TOCyHP97.js";import{k as Ca,b as Sa,r as Gt,h as Ht,i as Kt,C as ya,L as Ia,s as Ne}from"../chunks/CUC98kMZ.js";import{b as Ft}from"../chunks/t-La0hgu.js";import{T as ka,B as Se,i as $a,s as Oa}from"../chunks/CzlPaHY9.js";import{p as Ra}from"../chunks/DEKAA-Fm.js";import{q as wt,r as Ba,t as Na,v as De,w as Da,x as Pa}from"../chunks/BUwxRmHf.js";import{r as bt}from"../chunks/DHM6H-es.js";import{a as Ma}from"../chunks/C1Vid6wz.js";import{M as Ua}from"../chunks/CMEtqUfQ.js";import{E as Va}from"../chunks/BKuh57WU.js";import{p as qe}from"../chunks/C8OURRSs.js";import{a5 as Ga,aD as Ha,aE as Ka,T as Fa,F as Xa,aF as Ja,aG as Wa,aH as Ya,aI as ja,aJ as qa,aK as za,aL as Qa,aM as Za,aN as es,aO as ts,aP as as,aQ as ss,aR as rs,aS as ls,aT as is,aU as os,aV as ns,aW as vs,aX as ds,aY as cs,aZ as us,a_ as _s,a$ as ps,b0 as ms,b1 as xs,b2 as fs,b3 as gs,b4 as ws,b5 as bs,b6 as hs,b7 as Es,b8 as Xt,b9 as Ls,ba as Ts,bb as As,bc as Cs,bd as Ss,be as ys}from"../chunks/BAMUGSh7.js";var Is=u('<span class="auto-badge svelte-1yr9844"></span>');function lt(Le){var z=Is();z.textContent=Ca,o(Le,z)}var ks=u('<span class="priority-badge svelte-1m066kw"> </span>');function Jt(Le,z){Et(z,!1);const V=f();let Q=qe(z,"priority",8,"Medium"),G=qe(z,"small",8,!1);me(()=>jt(Q()),()=>{var Je;i(V,((Je=Q())==null?void 0:Je.toLowerCase())??"medium")}),Lt(),Yt();var W=ks(),Pe=r(W,!0);a(W),E(()=>{I(W,"critical",e(V)==="critical"),I(W,"high",e(V)==="high"),I(W,"medium",e(V)==="medium"),I(W,"low",e(V)==="low"),I(W,"small",G()),b(Pe,Q())}),o(Le,W),Tt()}var $s=u('<span class="id-chip svelte-1gmo0py"> </span>');function ht(Le,z){let V=qe(z,"id",8,""),Q=qe(z,"small",8,!1);var G=$s(),W=r(G,!0);a(G),E(()=>{I(G,"small",Q()),b(W,V())}),o(Le,G)}var Os=u('<span class="result-chip svelte-1rgb1a1"> </span>');function Wt(Le,z){Et(z,!1);const V=f();let Q=qe(z,"status",8,"pending");me(()=>jt(Q()),()=>{i(V,Q()==="pass"?"pass":Q()==="fail"?"fail":Q()==="blocked"?"warn":Q()==="skip"?"muted":"pending")}),Lt();var G=Os(),W=r(G,!0);a(G),E(()=>{I(G,"pass",e(V)==="pass"),I(G,"fail",e(V)==="fail"),I(G,"warn",e(V)==="warn"),I(G,"muted",e(V)==="muted"),I(G,"pending",e(V)==="pending"),b(W,Q())}),o(Le,G),Tt()}var Rs=u('<div class="form-fields svelte-1mxlw2t"><div class="field"><label class="field-label" for="er-title"></label> <input id="er-title" type="text" class="field-input"></div> <div class="modal-actions svelte-1mxlw2t"><!> <!></div></div>'),Bs=u('<div class="loading-state svelte-1mxlw2t"></div>'),Ns=u("<!> <!>",1),Ds=u("<!> <!> <!>",1),Ps=u('<span class="exec-progress svelte-1mxlw2t"> </span>'),Ms=u('<span class="locked-badge svelte-1mxlw2t"></span>'),Us=u('<span class="entry-sort-dir svelte-1mxlw2t"> </span>'),Vs=u('<button class="entry-sort-chip svelte-1mxlw2t"> <!></button>'),Gs=ha('<svg class="drag-handle svelte-1mxlw2t" width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><circle cx="9" cy="5" r="1.5"></circle><circle cx="15" cy="5" r="1.5"></circle><circle cx="9" cy="12" r="1.5"></circle><circle cx="15" cy="12" r="1.5"></circle><circle cx="9" cy="19" r="1.5"></circle><circle cx="15" cy="19" r="1.5"></circle></svg>'),Hs=u("<option> </option>"),Ks=u('<select class="assignee-select svelte-1mxlw2t"><option></option><!></select>'),Fs=u('<button class="icon-btn danger svelte-1mxlw2t"><svg width="11" height="11" viewBox="0 0 14 14" fill="none"><path d="M1 1l12 12M13 1L1 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button>'),Xs=u('<div class="entry-row svelte-1mxlw2t" role="listitem"><!> <div class="entry-info svelte-1mxlw2t"><div class="entry-badges svelte-1mxlw2t"><!> <!></div> <p class="entry-title svelte-1mxlw2t"> </p> <span class="entry-suite svelte-1mxlw2t"> </span></div> <!> <!></div>'),Js=u('<div class="entry-sort-bar svelte-1mxlw2t"></div> <div class="entry-list svelte-1mxlw2t" role="list"></div>',1),Ws=u('<button class="browser-case svelte-1mxlw2t"><!> <span class="browser-case-title svelte-1mxlw2t"> </span> <!> <!></button>'),Ys=u('<div class="browser-cases svelte-1mxlw2t"></div>'),js=u('<p class="browser-empty svelte-1mxlw2t"> </p>'),qs=u('<div class="browser-suite svelte-1mxlw2t"><button class="browser-suite-header svelte-1mxlw2t"><svg class="chevron svelte-1mxlw2t" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><polyline points="9 18 15 12 9 6"></polyline></svg> <span class="browser-suite-name svelte-1mxlw2t"> </span> <span class="browser-suite-count svelte-1mxlw2t"> </span></button> <!></div>'),zs=u('<p class="browser-empty svelte-1mxlw2t"></p>'),Qs=u('<div class="builder-panel right-panel svelte-1mxlw2t"><div class="builder-panel-head svelte-1mxlw2t"><h2 class="builder-panel-title svelte-1mxlw2t"></h2> <input type="text" class="search-input svelte-1mxlw2t"></div> <div class="suite-browser svelte-1mxlw2t"><!> <!></div></div>'),Zs=u('<div class="builder-workspace svelte-1mxlw2t"><div class="builder-panel left-panel svelte-1mxlw2t"><div class="builder-panel-head svelte-1mxlw2t"><h2 class="builder-panel-title svelte-1mxlw2t"></h2> <span class="count-chip svelte-1mxlw2t"> </span> <!></div> <!></div> <!></div>'),er=u('<div class="exec-locked-banner svelte-1mxlw2t"></div>'),tr=u('<div class="progress-bar-wrap svelte-1mxlw2t"><div class="progress-stats svelte-1mxlw2t"><span class="stat pass svelte-1mxlw2t"> </span> <span class="stat fail svelte-1mxlw2t"> </span> <span class="stat muted svelte-1mxlw2t"> </span></div> <div class="progress-bar svelte-1mxlw2t"><div class="progress-fill pass svelte-1mxlw2t"></div> <div class="progress-fill fail svelte-1mxlw2t"></div></div></div>'),ar=u('<button class="exec-chevron svelte-1mxlw2t"><svg class="chevron svelte-1mxlw2t" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><polyline points="9 18 15 12 9 6"></polyline></svg></button>'),sr=u('<div class="exec-assignee-row svelte-1mxlw2t"><!></div> <div class="exec-assignee-divider svelte-1mxlw2t"></div>',1),rr=u('<span class="exec-assignee-name svelte-1mxlw2t"> </span>'),lr=u('<button class="exec-assign-me svelte-1mxlw2t"></button>'),ir=u('<div class="exec-assignee-row svelte-1mxlw2t"><!> <!></div> <div class="exec-assignee-divider svelte-1mxlw2t"></div>',1),or=u('<div class="exec-btns svelte-1mxlw2t"><button class="exec-btn in-progress svelte-1mxlw2t"></button> <button class="exec-btn pass svelte-1mxlw2t"></button> <button class="exec-btn fail svelte-1mxlw2t"></button> <button class="exec-btn warn svelte-1mxlw2t"></button> <button class="exec-btn muted svelte-1mxlw2t"></button></div>'),nr=u('<div class="exec-btns svelte-1mxlw2t"><!> <button class="exec-reset svelte-1mxlw2t"></button></div>'),vr=u('<p class="exec-step-data svelte-1mxlw2t"> </p>'),dr=u('<p class="exec-step-expected svelte-1mxlw2t"> </p>'),cr=u('<div class="exec-step svelte-1mxlw2t"><span class="exec-step-num svelte-1mxlw2t"></span> <div class="exec-step-body svelte-1mxlw2t"><p class="exec-step-action svelte-1mxlw2t"> </p> <!> <!></div></div>'),ur=u('<div class="exec-steps svelte-1mxlw2t"></div>'),_r=u('<div class="execute-row svelte-1mxlw2t"><div class="execute-row-main svelte-1mxlw2t"><div class="exec-info svelte-1mxlw2t"><!> <!> <!> <div><p class="exec-title svelte-1mxlw2t"> </p> <span class="exec-suite svelte-1mxlw2t"> </span></div></div> <div class="exec-actions svelte-1mxlw2t"><!> <!></div></div> <!></div>'),pr=u('<div class="execute-workspace"><!> <!> <div class="execute-list svelte-1mxlw2t"></div></div>'),mr=u('<div class="run-header svelte-1mxlw2t"><div class="run-header-left svelte-1mxlw2t"><h1 class="run-title svelte-1mxlw2t"> </h1> <span> </span> <button class="icon-btn svelte-1mxlw2t"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg></button></div> <div class="run-header-actions svelte-1mxlw2t"><!></div></div> <div class="mode-tabs svelte-1mxlw2t"><button class="mode-tab svelte-1mxlw2t"></button> <button class="mode-tab svelte-1mxlw2t"> <!></button></div> <!>',1),xr=u('<!> <!> <div class="breadcrumb svelte-1mxlw2t"><a href="/test-repository" class="bc-link svelte-1mxlw2t"></a> <span class="bc-sep svelte-1mxlw2t">›</span> <span class="bc-current"> </span></div> <!>',1);function Rr(Le,z){Et(z,!1);const[V,Q]=Ta(),G=()=>Vt(Ra,"$page",V),W=()=>Vt(Ma,"$auth",V),Pe=f(),Je=f(),ze=f(),it=f(),H=f(),ot=f(),Ie=f(),nt=f(),vt=f(),xe=G().params.id;let le=f("build"),s=f(null),Qe=f([]),At=f([]),Ct=f(!0),dt=f(null),Ze=f(!1),et=f(null),ie=f(""),Te=f(new Set);const St={Critical:0,High:1,Medium:2,Low:3};let k=f((()=>{try{const t=sessionStorage.getItem("plum:run:entries:sort");if(t)return JSON.parse(t)}catch{}return{by:"order",order:"asc"}})());function qt(t){e(k).by===t?Ut(k,e(k).order=e(k).order==="asc"?"desc":"asc"):i(k,{by:t,order:"asc"});try{sessionStorage.setItem("plum:run:entries:sort",JSON.stringify(e(k)))}catch{}}let Me=f(null),tt=f(null),ct=f(null),yt="",ke=f(new Set),We=f(!1),Ye=f({}),at=f(!1);function zt(t){e(ke).has(t)?e(ke).delete(t):e(ke).add(t),i(ke,new Set(e(ke)))}function ae(t,v){i(dt,{type:t,message:v}),setTimeout(()=>i(dt,null),Sa)}Ea(async()=>{try{await(async t=>(i(s,t[0]),i(Qe,t[1]),i(At,t[2])))(await Promise.all([wt(xe),Ba(),Na()])),i(Te,new Set(e(Qe).map(t=>t.id))),e(s).status==="in-progress"&&i(le,"execute")}catch{ae("error",Xa)}finally{i(Ct,!1)}});async function It(t,v){i(et,t);try{const _=await Da(t,v||null);i(s,{...e(s),entries:e(s).entries.map(g=>g.id===t?{...g,assignedToId:_.assignedToId,assignedTo:_.assignedTo}:g)})}catch(_){ae("error",_.message)}finally{i(et,null)}}async function Qt(t){if(!e(s)||e(ze).has(t.id))return;const v=e(s),_={id:`tmp-${t.id}`,order:e(s).entries.length,status:"pending",notes:"",executedAt:null,executedBy:null,case:t};i(s,{...e(s),entries:[...e(s).entries,_]});try{const g=e(s).entries.map(se=>se.case.id);await De(xe,{caseIds:g}),i(s,await wt(xe))}catch{i(s,v),ae("error",bs)}}function Zt(t){i(s,{...e(s),entries:e(s).entries.filter(v=>v.id!==t)})}async function ea(){i(at,!0);try{const t=await De(xe,e(Ye));i(s,{...e(s),...t}),i(We,!1),ae("success",Ja)}catch(t){ae("error",t.message)}finally{i(at,!1)}}async function kt(){i(Ze,!0);try{const t=e(s).entries.map(_=>_.case.id),v=await De(xe,{caseIds:t});i(s,await wt(xe)),ae("success",ws)}catch(t){ae("error",t.message)}finally{i(Ze,!1)}}async function ta(){await kt(),await De(xe,{status:"in-progress"}),i(s,{...e(s),status:"in-progress"}),i(le,"execute")}async function Ue(t,v){i(ct,t.id);try{const _=await Pa(t.id,{status:v,notes:yt});i(s,{...e(s),entries:e(s).entries.map(g=>g.id===t.id?{...g,..._,status:v}:g)}),yt=""}catch(_){ae("error",_.message)}finally{i(ct,null)}}async function aa(){try{await De(xe,{status:"backlog"}),i(s,{...e(s),status:"backlog"}),i(le,"build"),bt.update(t=>t+1)}catch(t){ae("error",t.message)}}async function sa(){try{await De(xe,{status:"complete"}),i(s,{...e(s),status:"complete"}),bt.update(t=>t+1),ae("success",ys)}catch(t){ae("error",t.message)}}async function ra(){try{await De(xe,{status:"backlog"}),i(s,{...e(s),status:"backlog"}),i(le,"build"),bt.update(t=>t+1),ae("success",Za)}catch(t){ae("error",t.message)}}function la(t,v){i(Me,v),t.dataTransfer.effectAllowed="move"}function ia(t,v){t.preventDefault(),i(tt,v)}function oa(t,v){if(t.preventDefault(),!e(Me)||e(Me)===v)return;const _=[...e(s).entries],g=_.findIndex(ge=>ge.id===e(Me)),se=_.findIndex(ge=>ge.id===v),[fe]=_.splice(g,1);_.splice(se,0,fe),i(s,{...e(s),entries:_}),i(Me,null),i(tt,null)}me(()=>W(),()=>{var t,v;i(Pe,((v=(t=W())==null?void 0:t.user)==null?void 0:v.id)??null)}),me(()=>(e(s),e(k)),()=>{i(Je,(()=>{if(!e(s))return[];const t=[...e(s).entries],v=e(k).order==="asc"?1:-1;return e(k).by==="name"?t.sort((_,g)=>v*_.case.title.localeCompare(g.case.title)):e(k).by==="priority"?t.sort((_,g)=>v*((St[_.case.priority]??99)-(St[g.case.priority]??99))):e(k).by==="status"?t.sort((_,g)=>v*_.status.localeCompare(g.status)):e(k).by==="suite"?t.sort((_,g)=>{var se,fe;return v*(((se=_.case.suite)==null?void 0:se.name)??"").localeCompare(((fe=g.case.suite)==null?void 0:fe.name)??"")}):t.sort((_,g)=>v*(_.order-g.order))})())}),me(()=>e(s),()=>{var t;i(ze,new Set(((t=e(s))==null?void 0:t.entries.map(v=>v.case.id))??[]))}),me(()=>(e(Qe),e(ze),e(ie)),()=>{i(it,e(Qe).map(t=>({...t,_totalCases:(t.cases??[]).length,cases:(t.cases??[]).filter(v=>!e(ze).has(v.id)&&(!e(ie)||t.displayId.toLowerCase().includes(e(ie).toLowerCase())||t.name.toLowerCase().includes(e(ie).toLowerCase())||v.title.toLowerCase().includes(e(ie).toLowerCase())||v.displayId.toLowerCase().includes(e(ie).toLowerCase())))})).filter(t=>!e(ie)||t.cases.length>0||t.displayId.toLowerCase().includes(e(ie).toLowerCase())||t.name.toLowerCase().includes(e(ie).toLowerCase())))}),me(()=>e(s),()=>{var t;i(H,((t=e(s))==null?void 0:t.status)==="complete")}),me(()=>e(s),()=>{var t;i(ot,((t=e(s))==null?void 0:t.entries.filter(v=>v.status!=="pending").length)??0)}),me(()=>e(s),()=>{var t;i(Ie,((t=e(s))==null?void 0:t.entries.length)??0)}),me(()=>e(s),()=>{var t;i(nt,((t=e(s))==null?void 0:t.entries.filter(v=>v.status==="pass").length)??0)}),me(()=>e(s),()=>{var t;i(vt,((t=e(s))==null?void 0:t.entries.filter(v=>v.status==="fail").length)??0)}),Lt(),Yt();var $t=xr();ba(t=>{E(v=>La.title=v,[()=>Ha(e(s))],Xe)});var Ot=re($t);ka(Ot,{get toast(){return e(dt)}});var Rt=l(Ot,2);Ua(Rt,{title:Ka,get open(){return e(We)},set open(t){i(We,t)},children:(t,v)=>{var _=Rs(),g=r(_),se=r(g);se.textContent=Fa;var fe=l(se,2);Gt(fe),a(g);var ge=l(g,2),Ve=r(ge);Se(Ve,{get disabled(){return e(at)},$$events:{click:ea},children:($e,Ge)=>{pe();var Oe=Ce();E(()=>b(Oe,e(at)?Ht:Kt)),o($e,Oe)},$$slots:{default:!0}});var je=l(Ve,2);Se(je,{variant:"ghost",$$events:{click:()=>i(We,!1)},children:($e,Ge)=>{pe();var Oe=Ce();Oe.nodeValue=ya,o($e,Oe)},$$slots:{default:!0}}),a(ge),a(_),Ft(fe,()=>e(Ye).title,$e=>Ut(Ye,e(Ye).title=$e)),o(t,_)},$$slots:{default:!0},$$legacy:!0});var ut=l(Rt,2),Bt=r(ut);Bt.textContent=Ga;var Nt=l(Bt,4),na=r(Nt,!0);a(Nt),a(ut);var va=l(ut,2);{var da=t=>{var v=Bs();v.textContent=Ia,o(t,v)},ca=t=>{var v=Fe(),_=re(v);{var g=se=>{var fe=mr(),ge=re(fe),Ve=r(ge),je=r(Ve),$e=r(je,!0);a(je);var Ge=l(je,2),Oe=r(Ge,!0);a(Ge);var Dt=l(Ge,2);Ne(Dt,"title",Wa),a(Ve);var Pt=l(Ve,2),ua=r(Pt);{var _a=K=>{Se(K,{variant:"ghost",$$events:{click:ra},children:(B,ce)=>{pe();var we=Ce();we.nodeValue=qa,o(B,we)},$$slots:{default:!0}})},pa=K=>{var B=Fe(),ce=re(B);{var we=oe=>{var be=Ns(),P=re(be);Se(P,{variant:"ghost",get disabled(){return e(Ze)},$$events:{click:kt},children:(A,Y)=>{pe();var X=Ce();E(()=>b(X,e(Ze)?Ht:Kt)),o(A,X)},$$slots:{default:!0}});var c=l(P,2);{var Z=A=>{Se(A,{$$events:{click:ta},children:(Y,X)=>{pe();var ee=Ce();ee.nodeValue=hs,o(Y,ee)},$$slots:{default:!0}})};m(c,A=>{e(s).entries.length>0&&A(Z)})}o(oe,be)},Re=oe=>{var be=Fe(),P=re(be);{var c=A=>{var Y=Ds(),X=re(Y);Se(X,{variant:"ghost",$$events:{click:aa},children:($,j)=>{pe();var O=Ce();O.nodeValue=Es,o($,O)},$$slots:{default:!0}});var ee=l(X,2);Se(ee,{variant:"ghost",$$events:{click:()=>i(le,"build")},children:($,j)=>{pe();var O=Ce();O.nodeValue=Xt,o($,O)},$$slots:{default:!0}});var C=l(ee,2);Se(C,{$$events:{click:sa},children:($,j)=>{pe();var O=Ce();O.nodeValue=Ls,o($,O)},$$slots:{default:!0}}),o(A,Y)},Z=A=>{Se(A,{variant:"ghost",$$events:{click:()=>i(le,"build")},children:(Y,X)=>{pe();var ee=Ce();ee.nodeValue=Xt,o(Y,ee)},$$slots:{default:!0}})};m(P,A=>{e(s).status==="in-progress"?A(c):A(Z,!1)},!0)}o(oe,be)};m(ce,oe=>{e(le)==="build"?oe(we):oe(Re,!1)},!0)}o(K,B)};m(ua,K=>{e(H)?K(_a):K(pa,!1)})}a(Pt),a(ge);var _t=l(ge,2),st=r(_t);st.textContent=Ya;var rt=l(st,2),Mt=r(rt);Mt.nodeValue=`${ja} `;var ma=l(Mt);{var xa=K=>{var B=Ps(),ce=r(B);a(B),E(()=>b(ce,`${e(ot)??""}/${e(Ie)??""}`)),o(K,B)};m(ma,K=>{e(Ie)>0&&K(xa)})}a(rt),a(_t);var fa=l(_t,2);{var ga=K=>{var B=Zs(),ce=r(B),we=r(ce),Re=r(we);Re.textContent=za;var oe=l(Re,2),be=r(oe,!0);a(oe);var P=l(oe,2);{var c=C=>{var $=Ms();$.textContent=es,o(C,$)};m(P,C=>{e(H)&&C(c)})}a(we);var Z=l(we,2);{var A=C=>{Va(C,{message:ts,size:"sm"})},Y=C=>{var $=Js(),j=re($);Be(j,4,()=>[["order","Order"],["name","Name"],["priority","Priority"],["status","Status"],["suite","Suite"]],gt,(q,w)=>{let T=()=>w[0],he=()=>w[1];var ne=Vs(),N=r(ne,!0),S=l(N);{var Ee=ve=>{var de=Us(),Ae=r(de,!0);a(de),E(()=>b(Ae,e(k).order==="asc"?" ↑":" ↓")),o(ve,de)};m(S,ve=>{e(k).by===T()&&ve(Ee)})}a(ne),E(()=>{I(ne,"active",e(k).by===T()),b(N,he())}),R("click",ne,()=>qt(T())),o(q,ne)}),a(j);var O=l(j,2);Be(O,5,()=>e(Je),q=>q.id,(q,w)=>{var T=Xs(),he=r(T);{var ne=n=>{var d=Gs();o(n,d)};m(he,n=>{!e(H)&&e(k).by==="order"&&n(ne)})}var N=l(he,2),S=r(N),Ee=r(S);ht(Ee,{get id(){return e(w).case.displayId}});var ve=l(Ee,2);Jt(ve,{get priority(){return e(w).case.priority}}),a(S);var de=l(S,2),Ae=r(de,!0);a(de);var He=l(de,2),Ke=r(He,!0);a(He),a(N);var p=l(N,2);{var L=n=>{lt(n)},te=n=>{var d=Ks();$a(d,()=>e(w).assignedToId??"");var x,h=r(d);h.value=((h.__value="")==null,""),h.textContent=as;var J=l(h);Be(J,1,()=>e(At),gt,(U,D)=>{var y=Hs(),ye={},ue=r(y,!0);a(y),E(()=>{ye!==(ye=e(D).id)&&(y.value=(y.__value=e(D).id)==null?"":e(D).id),b(ue,e(D).name)}),o(U,y)}),a(d),E(()=>{x!==(x=e(w).assignedToId??"")&&(d.value=(d.__value=e(w).assignedToId??"")==null?"":e(w).assignedToId??"",Oa(d,e(w).assignedToId??"")),d.disabled=e(et)===e(w).id}),R("change",d,U=>It(e(w).id,U.target.value)),o(n,d)};m(p,n=>{e(w).case.isAutomated?n(L):n(te,!1)})}var F=l(p,2);{var M=n=>{var d=Fs();R("click",d,()=>Zt(e(w).id)),o(n,d)};m(F,n=>{e(H)||n(M)})}a(T),E(()=>{var n;Ne(T,"draggable",!e(H)&&e(k).by==="order"),I(T,"entry-locked",e(H)),I(T,"dragging",e(Me)===e(w).id),I(T,"drag-over",e(tt)===e(w).id),b(Ae,e(w).case.title),b(Ke,((n=e(w).case.suite)==null?void 0:n.name)??"")}),R("dragstart",T,function(...n){var d;(d=e(H)||e(k).by!=="order"?null:x=>la(x,e(w).id))==null||d.apply(this,n)}),R("dragover",T,function(...n){var d;(d=e(H)||e(k).by!=="order"?null:x=>ia(x,e(w).id))==null||d.apply(this,n)}),R("dragleave",T,function(...n){var d;(d=e(H)||e(k).by!=="order"?null:()=>i(tt,null))==null||d.apply(this,n)}),R("drop",T,function(...n){var d;(d=e(H)||e(k).by!=="order"?null:x=>oa(x,e(w).id))==null||d.apply(this,n)}),o(q,T)}),a(O),o(C,$)};m(Z,C=>{e(s).entries.length===0?C(A):C(Y,!1)})}a(ce);var X=l(ce,2);{var ee=C=>{var $=Qs(),j=r($),O=r(j);O.textContent=ss;var q=l(O,2);Gt(q),Ne(q,"placeholder",rs),a(j);var w=l(j,2),T=r(w);Be(T,1,()=>e(it),N=>N.id,(N,S)=>{var Ee=qs(),ve=r(Ee),de=r(ve),Ae=l(de,2),He=r(Ae,!0);a(Ae);var Ke=l(Ae,2),p=r(Ke,!0);a(Ke),a(ve);var L=l(ve,2);{var te=M=>{var n=Ys();Be(n,5,()=>e(S).cases,d=>d.id,(d,x)=>{var h=Ws(),J=r(h);ht(J,{get id(){return e(x).displayId},small:!0});var U=l(J,2),D=r(U,!0);a(U);var y=l(U,2);Jt(y,{get priority(){return e(x).priority},small:!0});var ye=l(y,2);{var ue=_e=>{lt(_e)};m(ye,_e=>{e(x).isAutomated&&_e(ue)})}a(h),E(()=>b(D,e(x).title)),R("click",h,()=>Qt(e(x))),o(d,h)}),a(n),xt(3,n,()=>ft,()=>({y:-4,duration:120})),o(M,n)},F=M=>{var n=Fe(),d=re(n);{var x=h=>{var J=js(),U=r(J,!0);a(J),E(()=>b(U,e(ie)?Ts:e(S)._totalCases===0?As:Cs)),o(h,J)};m(d,h=>{e(Te).has(e(S).id)&&h(x)},!0)}o(M,n)};m(L,M=>{var n;e(Te).has(e(S).id)&&((n=e(S).cases)==null?void 0:n.length)>0?M(te):M(F,!1)})}a(Ee),E(M=>{var n;I(de,"open",M),b(He,e(S).name),b(p,((n=e(S).cases)==null?void 0:n.length)??0)},[()=>e(Te).has(e(S).id)],Xe),R("click",ve,()=>{e(Te).has(e(S).id)?e(Te).delete(e(S).id):e(Te).add(e(S).id),i(Te,new Set(e(Te)))}),o(N,Ee)});var he=l(T,2);{var ne=N=>{var S=zs();S.textContent=Ss,o(N,S)};m(he,N=>{e(it).length===0&&N(ne)})}a(w),a($),Ft(q,()=>e(ie),N=>i(ie,N)),o(C,$)};m(X,C=>{e(H)||C(ee)})}a(B),E(()=>{I(B,"locked-workspace",e(H)),b(be,e(s).entries.length)}),xt(3,B,()=>ft,()=>({y:4,duration:150})),o(K,B)},wa=K=>{var B=pr(),ce=r(B);{var we=P=>{var c=er();c.textContent=ls,o(P,c)};m(ce,P=>{e(s).status!=="in-progress"&&!e(H)&&P(we)})}var Re=l(ce,2);{var oe=P=>{var c=tr(),Z=r(c),A=r(Z),Y=r(A,!0);a(A);var X=l(A,2),ee=r(X,!0);a(X);var C=l(X,2),$=r(C,!0);a(C),a(Z);var j=l(Z,2),O=r(j),q=l(O,2);a(j),a(c),E((w,T,he)=>{b(Y,w),b(ee,T),b($,he),Ne(O,"style",`width: ${e(nt)/e(Ie)*100}%`),Ne(q,"style",`width: ${e(vt)/e(Ie)*100}%`)},[()=>is(e(nt)),()=>os(e(vt)),()=>ns(e(Ie)-e(ot))],Xe),o(P,c)};m(Re,P=>{e(Ie)>0&&P(oe)})}var be=l(Re,2);Be(be,5,()=>e(s).entries,P=>P.id,(P,c)=>{var Z=_r(),A=r(Z),Y=r(A),X=r(Y);{var ee=p=>{var L=ar();Ne(L,"title",Qa);var te=r(L);a(L),E(F=>I(te,"open",F),[()=>e(ke).has(e(c).id)],Xe),R("click",L,()=>zt(e(c).id)),o(p,L)};m(X,p=>{var L;((L=e(c).case.steps)==null?void 0:L.length)>0&&p(ee)})}var C=l(X,2);ht(C,{get id(){return e(c).case.displayId}});var $=l(C,2);{var j=p=>{lt(p)};m($,p=>{e(c).case.isAutomated&&p(j)})}var O=l($,2),q=r(O),w=r(q,!0);a(q);var T=l(q,2),he=r(T,!0);a(T),a(O),a(Y);var ne=l(Y,2),N=r(ne);{var S=p=>{var L=sr(),te=re(L),F=r(te);lt(F),a(te),pe(2),o(p,L)},Ee=p=>{var L=Fe(),te=re(L);{var F=M=>{var n=ir(),d=re(n),x=r(d);{var h=D=>{var y=rr(),ye=r(y,!0);a(y),E(()=>b(ye,e(c).assignedTo.name)),o(D,y)};m(x,D=>{e(c).assignedTo&&D(h)})}var J=l(x,2);{var U=D=>{var y=lr();y.textContent=gs,E(()=>y.disabled=e(et)===e(c).id),R("click",y,()=>It(e(c).id,e(Pe))),o(D,y)};m(J,D=>{var y;!e(H)&&((y=e(c).assignedTo)==null?void 0:y.id)!==e(Pe)&&D(U)})}a(d),pe(2),o(M,n)};m(te,M=>{var n;(e(c).assignedTo||!e(H)&&((n=e(c).assignedTo)==null?void 0:n.id)!==e(Pe))&&M(F)},!0)}o(p,L)};m(N,p=>{e(c).case.isAutomated?p(S):p(Ee,!1)})}var ve=l(N,2);{var de=p=>{Wt(p,{get status(){return e(c).status}})},Ae=p=>{var L=Fe(),te=re(L);{var F=n=>{var d=or(),x=r(d);x.textContent=vs;var h=l(x,2);h.textContent=ds;var J=l(h,2);J.textContent=cs;var U=l(J,2);U.textContent=us;var D=l(U,2);D.textContent=_s,a(d),E(()=>I(x,"active",e(c).status==="in-progress")),R("click",x,()=>Ue(e(c),"in-progress")),R("click",h,()=>Ue(e(c),"pass")),R("click",J,()=>Ue(e(c),"fail")),R("click",U,()=>Ue(e(c),"blocked")),R("click",D,()=>Ue(e(c),"skip")),o(n,d)},M=n=>{var d=nr(),x=r(d);Wt(x,{get status(){return e(c).status}});var h=l(x,2);Ne(h,"title",ps),h.textContent=ms,a(d),R("click",h,()=>Ue(e(c),"pending")),o(n,d)};m(te,n=>{e(c).status==="pending"||e(c).status==="in-progress"?n(F):n(M,!1)},!0)}o(p,L)};m(ve,p=>{e(H)||e(s).status!=="in-progress"?p(de):p(Ae,!1)})}a(ne),a(A);var He=l(A,2);{var Ke=p=>{var L=ur();Be(L,5,()=>e(c).case.steps,gt,(te,F,M)=>{var n=cr(),d=r(n);d.textContent=M+1;var x=l(d,2),h=r(x),J=r(h,!0);a(h);var U=l(h,2);{var D=ue=>{var _e=vr(),pt=r(_e,!0);a(_e),E(mt=>b(pt,mt),[()=>xs(e(F).testData)],Xe),o(ue,_e)};m(U,ue=>{e(F).testData&&ue(D)})}var y=l(U,2);{var ye=ue=>{var _e=dr(),pt=r(_e,!0);a(_e),E(mt=>b(pt,mt),[()=>fs(e(F).expectedOutput)],Xe),o(ue,_e)};m(y,ue=>{e(F).expectedOutput&&ue(ye)})}a(x),a(n),E(()=>b(J,e(F).action)),o(te,n)}),a(L),o(p,L)};m(He,p=>{e(c).case.steps&&e(c).case.steps.length>0&&e(ke).has(e(c).id)&&p(Ke)})}a(Z),E(()=>{var p;I(Z,"expanded",e(ct)===e(c).id),b(w,e(c).case.title),b(he,((p=e(c).case.suite)==null?void 0:p.name)??"")}),o(P,Z)}),a(be),a(B),xt(3,B,()=>ft,()=>({y:4,duration:150})),o(K,B)};m(fa,K=>{e(le)==="build"?K(ga):K(wa,!1)})}E(()=>{b($e,e(s).title),Aa(Ge,`run-status-badge ${e(s).status??""} svelte-1mxlw2t`),b(Oe,e(s).status),I(st,"active",e(le)==="build"),I(rt,"active",e(le)==="execute")}),R("click",Dt,()=>{i(Ye,{title:e(s).title}),i(We,!0)}),R("click",st,()=>i(le,"build")),R("click",rt,()=>i(le,"execute")),o(se,fe)};m(_,se=>{e(s)&&se(g)},!0)}o(t,v)};m(va,t=>{e(Ct)?t(da):t(ca,!1)})}E(()=>{var t;return b(na,((t=e(s))==null?void 0:t.title)??"…")}),o(Le,$t),Tt(),Q()}export{Rr as component};
6
+ import{a as o,t as u,s as b,h as ba,b as Ce,c as Fe,e as R,n as ha}from"../chunks/CMBQQ9RZ.js";import{i as Yt}from"../chunks/CKDtmZUQ.js";import{p as Et,l as me,s as i,ai as jt,b as Lt,d as r,k as a,t as E,g as e,c as Tt,m as f,o as Ea,f as re,x as Xe,$ as La,y as Ut,j as l,n as pe}from"../chunks/BAACMRH5.js";import{i as m,s as Ta,a as Vt}from"../chunks/CgnwuKKO.js";import{t as I,s as Aa,a as xt,f as ft,e as Be,i as gt}from"../chunks/TOCyHP97.js";import{k as Ca,b as Sa,r as Gt,h as Ht,i as Kt,C as ya,L as Ia,s as Ne}from"../chunks/CUC98kMZ.js";import{b as Ft}from"../chunks/t-La0hgu.js";import{T as ka,B as Se,i as $a,s as Oa}from"../chunks/CzlPaHY9.js";import{p as Ra}from"../chunks/DDZw0L0T.js";import{q as wt,r as Ba,t as Na,v as De,w as Da,x as Pa}from"../chunks/BUwxRmHf.js";import{r as bt}from"../chunks/DHM6H-es.js";import{a as Ma}from"../chunks/C1Vid6wz.js";import{M as Ua}from"../chunks/CMEtqUfQ.js";import{E as Va}from"../chunks/BKuh57WU.js";import{p as qe}from"../chunks/C8OURRSs.js";import{a5 as Ga,aD as Ha,aE as Ka,T as Fa,F as Xa,aF as Ja,aG as Wa,aH as Ya,aI as ja,aJ as qa,aK as za,aL as Qa,aM as Za,aN as es,aO as ts,aP as as,aQ as ss,aR as rs,aS as ls,aT as is,aU as os,aV as ns,aW as vs,aX as ds,aY as cs,aZ as us,a_ as _s,a$ as ps,b0 as ms,b1 as xs,b2 as fs,b3 as gs,b4 as ws,b5 as bs,b6 as hs,b7 as Es,b8 as Xt,b9 as Ls,ba as Ts,bb as As,bc as Cs,bd as Ss,be as ys}from"../chunks/BAMUGSh7.js";var Is=u('<span class="auto-badge svelte-1yr9844"></span>');function lt(Le){var z=Is();z.textContent=Ca,o(Le,z)}var ks=u('<span class="priority-badge svelte-1m066kw"> </span>');function Jt(Le,z){Et(z,!1);const V=f();let Q=qe(z,"priority",8,"Medium"),G=qe(z,"small",8,!1);me(()=>jt(Q()),()=>{var Je;i(V,((Je=Q())==null?void 0:Je.toLowerCase())??"medium")}),Lt(),Yt();var W=ks(),Pe=r(W,!0);a(W),E(()=>{I(W,"critical",e(V)==="critical"),I(W,"high",e(V)==="high"),I(W,"medium",e(V)==="medium"),I(W,"low",e(V)==="low"),I(W,"small",G()),b(Pe,Q())}),o(Le,W),Tt()}var $s=u('<span class="id-chip svelte-1gmo0py"> </span>');function ht(Le,z){let V=qe(z,"id",8,""),Q=qe(z,"small",8,!1);var G=$s(),W=r(G,!0);a(G),E(()=>{I(G,"small",Q()),b(W,V())}),o(Le,G)}var Os=u('<span class="result-chip svelte-1rgb1a1"> </span>');function Wt(Le,z){Et(z,!1);const V=f();let Q=qe(z,"status",8,"pending");me(()=>jt(Q()),()=>{i(V,Q()==="pass"?"pass":Q()==="fail"?"fail":Q()==="blocked"?"warn":Q()==="skip"?"muted":"pending")}),Lt();var G=Os(),W=r(G,!0);a(G),E(()=>{I(G,"pass",e(V)==="pass"),I(G,"fail",e(V)==="fail"),I(G,"warn",e(V)==="warn"),I(G,"muted",e(V)==="muted"),I(G,"pending",e(V)==="pending"),b(W,Q())}),o(Le,G),Tt()}var Rs=u('<div class="form-fields svelte-1mxlw2t"><div class="field"><label class="field-label" for="er-title"></label> <input id="er-title" type="text" class="field-input"></div> <div class="modal-actions svelte-1mxlw2t"><!> <!></div></div>'),Bs=u('<div class="loading-state svelte-1mxlw2t"></div>'),Ns=u("<!> <!>",1),Ds=u("<!> <!> <!>",1),Ps=u('<span class="exec-progress svelte-1mxlw2t"> </span>'),Ms=u('<span class="locked-badge svelte-1mxlw2t"></span>'),Us=u('<span class="entry-sort-dir svelte-1mxlw2t"> </span>'),Vs=u('<button class="entry-sort-chip svelte-1mxlw2t"> <!></button>'),Gs=ha('<svg class="drag-handle svelte-1mxlw2t" width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><circle cx="9" cy="5" r="1.5"></circle><circle cx="15" cy="5" r="1.5"></circle><circle cx="9" cy="12" r="1.5"></circle><circle cx="15" cy="12" r="1.5"></circle><circle cx="9" cy="19" r="1.5"></circle><circle cx="15" cy="19" r="1.5"></circle></svg>'),Hs=u("<option> </option>"),Ks=u('<select class="assignee-select svelte-1mxlw2t"><option></option><!></select>'),Fs=u('<button class="icon-btn danger svelte-1mxlw2t"><svg width="11" height="11" viewBox="0 0 14 14" fill="none"><path d="M1 1l12 12M13 1L1 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button>'),Xs=u('<div class="entry-row svelte-1mxlw2t" role="listitem"><!> <div class="entry-info svelte-1mxlw2t"><div class="entry-badges svelte-1mxlw2t"><!> <!></div> <p class="entry-title svelte-1mxlw2t"> </p> <span class="entry-suite svelte-1mxlw2t"> </span></div> <!> <!></div>'),Js=u('<div class="entry-sort-bar svelte-1mxlw2t"></div> <div class="entry-list svelte-1mxlw2t" role="list"></div>',1),Ws=u('<button class="browser-case svelte-1mxlw2t"><!> <span class="browser-case-title svelte-1mxlw2t"> </span> <!> <!></button>'),Ys=u('<div class="browser-cases svelte-1mxlw2t"></div>'),js=u('<p class="browser-empty svelte-1mxlw2t"> </p>'),qs=u('<div class="browser-suite svelte-1mxlw2t"><button class="browser-suite-header svelte-1mxlw2t"><svg class="chevron svelte-1mxlw2t" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><polyline points="9 18 15 12 9 6"></polyline></svg> <span class="browser-suite-name svelte-1mxlw2t"> </span> <span class="browser-suite-count svelte-1mxlw2t"> </span></button> <!></div>'),zs=u('<p class="browser-empty svelte-1mxlw2t"></p>'),Qs=u('<div class="builder-panel right-panel svelte-1mxlw2t"><div class="builder-panel-head svelte-1mxlw2t"><h2 class="builder-panel-title svelte-1mxlw2t"></h2> <input type="text" class="search-input svelte-1mxlw2t"></div> <div class="suite-browser svelte-1mxlw2t"><!> <!></div></div>'),Zs=u('<div class="builder-workspace svelte-1mxlw2t"><div class="builder-panel left-panel svelte-1mxlw2t"><div class="builder-panel-head svelte-1mxlw2t"><h2 class="builder-panel-title svelte-1mxlw2t"></h2> <span class="count-chip svelte-1mxlw2t"> </span> <!></div> <!></div> <!></div>'),er=u('<div class="exec-locked-banner svelte-1mxlw2t"></div>'),tr=u('<div class="progress-bar-wrap svelte-1mxlw2t"><div class="progress-stats svelte-1mxlw2t"><span class="stat pass svelte-1mxlw2t"> </span> <span class="stat fail svelte-1mxlw2t"> </span> <span class="stat muted svelte-1mxlw2t"> </span></div> <div class="progress-bar svelte-1mxlw2t"><div class="progress-fill pass svelte-1mxlw2t"></div> <div class="progress-fill fail svelte-1mxlw2t"></div></div></div>'),ar=u('<button class="exec-chevron svelte-1mxlw2t"><svg class="chevron svelte-1mxlw2t" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><polyline points="9 18 15 12 9 6"></polyline></svg></button>'),sr=u('<div class="exec-assignee-row svelte-1mxlw2t"><!></div> <div class="exec-assignee-divider svelte-1mxlw2t"></div>',1),rr=u('<span class="exec-assignee-name svelte-1mxlw2t"> </span>'),lr=u('<button class="exec-assign-me svelte-1mxlw2t"></button>'),ir=u('<div class="exec-assignee-row svelte-1mxlw2t"><!> <!></div> <div class="exec-assignee-divider svelte-1mxlw2t"></div>',1),or=u('<div class="exec-btns svelte-1mxlw2t"><button class="exec-btn in-progress svelte-1mxlw2t"></button> <button class="exec-btn pass svelte-1mxlw2t"></button> <button class="exec-btn fail svelte-1mxlw2t"></button> <button class="exec-btn warn svelte-1mxlw2t"></button> <button class="exec-btn muted svelte-1mxlw2t"></button></div>'),nr=u('<div class="exec-btns svelte-1mxlw2t"><!> <button class="exec-reset svelte-1mxlw2t"></button></div>'),vr=u('<p class="exec-step-data svelte-1mxlw2t"> </p>'),dr=u('<p class="exec-step-expected svelte-1mxlw2t"> </p>'),cr=u('<div class="exec-step svelte-1mxlw2t"><span class="exec-step-num svelte-1mxlw2t"></span> <div class="exec-step-body svelte-1mxlw2t"><p class="exec-step-action svelte-1mxlw2t"> </p> <!> <!></div></div>'),ur=u('<div class="exec-steps svelte-1mxlw2t"></div>'),_r=u('<div class="execute-row svelte-1mxlw2t"><div class="execute-row-main svelte-1mxlw2t"><div class="exec-info svelte-1mxlw2t"><!> <!> <!> <div><p class="exec-title svelte-1mxlw2t"> </p> <span class="exec-suite svelte-1mxlw2t"> </span></div></div> <div class="exec-actions svelte-1mxlw2t"><!> <!></div></div> <!></div>'),pr=u('<div class="execute-workspace"><!> <!> <div class="execute-list svelte-1mxlw2t"></div></div>'),mr=u('<div class="run-header svelte-1mxlw2t"><div class="run-header-left svelte-1mxlw2t"><h1 class="run-title svelte-1mxlw2t"> </h1> <span> </span> <button class="icon-btn svelte-1mxlw2t"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg></button></div> <div class="run-header-actions svelte-1mxlw2t"><!></div></div> <div class="mode-tabs svelte-1mxlw2t"><button class="mode-tab svelte-1mxlw2t"></button> <button class="mode-tab svelte-1mxlw2t"> <!></button></div> <!>',1),xr=u('<!> <!> <div class="breadcrumb svelte-1mxlw2t"><a href="/test-repository" class="bc-link svelte-1mxlw2t"></a> <span class="bc-sep svelte-1mxlw2t">›</span> <span class="bc-current"> </span></div> <!>',1);function Rr(Le,z){Et(z,!1);const[V,Q]=Ta(),G=()=>Vt(Ra,"$page",V),W=()=>Vt(Ma,"$auth",V),Pe=f(),Je=f(),ze=f(),it=f(),H=f(),ot=f(),Ie=f(),nt=f(),vt=f(),xe=G().params.id;let le=f("build"),s=f(null),Qe=f([]),At=f([]),Ct=f(!0),dt=f(null),Ze=f(!1),et=f(null),ie=f(""),Te=f(new Set);const St={Critical:0,High:1,Medium:2,Low:3};let k=f((()=>{try{const t=sessionStorage.getItem("plum:run:entries:sort");if(t)return JSON.parse(t)}catch{}return{by:"order",order:"asc"}})());function qt(t){e(k).by===t?Ut(k,e(k).order=e(k).order==="asc"?"desc":"asc"):i(k,{by:t,order:"asc"});try{sessionStorage.setItem("plum:run:entries:sort",JSON.stringify(e(k)))}catch{}}let Me=f(null),tt=f(null),ct=f(null),yt="",ke=f(new Set),We=f(!1),Ye=f({}),at=f(!1);function zt(t){e(ke).has(t)?e(ke).delete(t):e(ke).add(t),i(ke,new Set(e(ke)))}function ae(t,v){i(dt,{type:t,message:v}),setTimeout(()=>i(dt,null),Sa)}Ea(async()=>{try{await(async t=>(i(s,t[0]),i(Qe,t[1]),i(At,t[2])))(await Promise.all([wt(xe),Ba(),Na()])),i(Te,new Set(e(Qe).map(t=>t.id))),e(s).status==="in-progress"&&i(le,"execute")}catch{ae("error",Xa)}finally{i(Ct,!1)}});async function It(t,v){i(et,t);try{const _=await Da(t,v||null);i(s,{...e(s),entries:e(s).entries.map(g=>g.id===t?{...g,assignedToId:_.assignedToId,assignedTo:_.assignedTo}:g)})}catch(_){ae("error",_.message)}finally{i(et,null)}}async function Qt(t){if(!e(s)||e(ze).has(t.id))return;const v=e(s),_={id:`tmp-${t.id}`,order:e(s).entries.length,status:"pending",notes:"",executedAt:null,executedBy:null,case:t};i(s,{...e(s),entries:[...e(s).entries,_]});try{const g=e(s).entries.map(se=>se.case.id);await De(xe,{caseIds:g}),i(s,await wt(xe))}catch{i(s,v),ae("error",bs)}}function Zt(t){i(s,{...e(s),entries:e(s).entries.filter(v=>v.id!==t)})}async function ea(){i(at,!0);try{const t=await De(xe,e(Ye));i(s,{...e(s),...t}),i(We,!1),ae("success",Ja)}catch(t){ae("error",t.message)}finally{i(at,!1)}}async function kt(){i(Ze,!0);try{const t=e(s).entries.map(_=>_.case.id),v=await De(xe,{caseIds:t});i(s,await wt(xe)),ae("success",ws)}catch(t){ae("error",t.message)}finally{i(Ze,!1)}}async function ta(){await kt(),await De(xe,{status:"in-progress"}),i(s,{...e(s),status:"in-progress"}),i(le,"execute")}async function Ue(t,v){i(ct,t.id);try{const _=await Pa(t.id,{status:v,notes:yt});i(s,{...e(s),entries:e(s).entries.map(g=>g.id===t.id?{...g,..._,status:v}:g)}),yt=""}catch(_){ae("error",_.message)}finally{i(ct,null)}}async function aa(){try{await De(xe,{status:"backlog"}),i(s,{...e(s),status:"backlog"}),i(le,"build"),bt.update(t=>t+1)}catch(t){ae("error",t.message)}}async function sa(){try{await De(xe,{status:"complete"}),i(s,{...e(s),status:"complete"}),bt.update(t=>t+1),ae("success",ys)}catch(t){ae("error",t.message)}}async function ra(){try{await De(xe,{status:"backlog"}),i(s,{...e(s),status:"backlog"}),i(le,"build"),bt.update(t=>t+1),ae("success",Za)}catch(t){ae("error",t.message)}}function la(t,v){i(Me,v),t.dataTransfer.effectAllowed="move"}function ia(t,v){t.preventDefault(),i(tt,v)}function oa(t,v){if(t.preventDefault(),!e(Me)||e(Me)===v)return;const _=[...e(s).entries],g=_.findIndex(ge=>ge.id===e(Me)),se=_.findIndex(ge=>ge.id===v),[fe]=_.splice(g,1);_.splice(se,0,fe),i(s,{...e(s),entries:_}),i(Me,null),i(tt,null)}me(()=>W(),()=>{var t,v;i(Pe,((v=(t=W())==null?void 0:t.user)==null?void 0:v.id)??null)}),me(()=>(e(s),e(k)),()=>{i(Je,(()=>{if(!e(s))return[];const t=[...e(s).entries],v=e(k).order==="asc"?1:-1;return e(k).by==="name"?t.sort((_,g)=>v*_.case.title.localeCompare(g.case.title)):e(k).by==="priority"?t.sort((_,g)=>v*((St[_.case.priority]??99)-(St[g.case.priority]??99))):e(k).by==="status"?t.sort((_,g)=>v*_.status.localeCompare(g.status)):e(k).by==="suite"?t.sort((_,g)=>{var se,fe;return v*(((se=_.case.suite)==null?void 0:se.name)??"").localeCompare(((fe=g.case.suite)==null?void 0:fe.name)??"")}):t.sort((_,g)=>v*(_.order-g.order))})())}),me(()=>e(s),()=>{var t;i(ze,new Set(((t=e(s))==null?void 0:t.entries.map(v=>v.case.id))??[]))}),me(()=>(e(Qe),e(ze),e(ie)),()=>{i(it,e(Qe).map(t=>({...t,_totalCases:(t.cases??[]).length,cases:(t.cases??[]).filter(v=>!e(ze).has(v.id)&&(!e(ie)||t.displayId.toLowerCase().includes(e(ie).toLowerCase())||t.name.toLowerCase().includes(e(ie).toLowerCase())||v.title.toLowerCase().includes(e(ie).toLowerCase())||v.displayId.toLowerCase().includes(e(ie).toLowerCase())))})).filter(t=>!e(ie)||t.cases.length>0||t.displayId.toLowerCase().includes(e(ie).toLowerCase())||t.name.toLowerCase().includes(e(ie).toLowerCase())))}),me(()=>e(s),()=>{var t;i(H,((t=e(s))==null?void 0:t.status)==="complete")}),me(()=>e(s),()=>{var t;i(ot,((t=e(s))==null?void 0:t.entries.filter(v=>v.status!=="pending").length)??0)}),me(()=>e(s),()=>{var t;i(Ie,((t=e(s))==null?void 0:t.entries.length)??0)}),me(()=>e(s),()=>{var t;i(nt,((t=e(s))==null?void 0:t.entries.filter(v=>v.status==="pass").length)??0)}),me(()=>e(s),()=>{var t;i(vt,((t=e(s))==null?void 0:t.entries.filter(v=>v.status==="fail").length)??0)}),Lt(),Yt();var $t=xr();ba(t=>{E(v=>La.title=v,[()=>Ha(e(s))],Xe)});var Ot=re($t);ka(Ot,{get toast(){return e(dt)}});var Rt=l(Ot,2);Ua(Rt,{title:Ka,get open(){return e(We)},set open(t){i(We,t)},children:(t,v)=>{var _=Rs(),g=r(_),se=r(g);se.textContent=Fa;var fe=l(se,2);Gt(fe),a(g);var ge=l(g,2),Ve=r(ge);Se(Ve,{get disabled(){return e(at)},$$events:{click:ea},children:($e,Ge)=>{pe();var Oe=Ce();E(()=>b(Oe,e(at)?Ht:Kt)),o($e,Oe)},$$slots:{default:!0}});var je=l(Ve,2);Se(je,{variant:"ghost",$$events:{click:()=>i(We,!1)},children:($e,Ge)=>{pe();var Oe=Ce();Oe.nodeValue=ya,o($e,Oe)},$$slots:{default:!0}}),a(ge),a(_),Ft(fe,()=>e(Ye).title,$e=>Ut(Ye,e(Ye).title=$e)),o(t,_)},$$slots:{default:!0},$$legacy:!0});var ut=l(Rt,2),Bt=r(ut);Bt.textContent=Ga;var Nt=l(Bt,4),na=r(Nt,!0);a(Nt),a(ut);var va=l(ut,2);{var da=t=>{var v=Bs();v.textContent=Ia,o(t,v)},ca=t=>{var v=Fe(),_=re(v);{var g=se=>{var fe=mr(),ge=re(fe),Ve=r(ge),je=r(Ve),$e=r(je,!0);a(je);var Ge=l(je,2),Oe=r(Ge,!0);a(Ge);var Dt=l(Ge,2);Ne(Dt,"title",Wa),a(Ve);var Pt=l(Ve,2),ua=r(Pt);{var _a=K=>{Se(K,{variant:"ghost",$$events:{click:ra},children:(B,ce)=>{pe();var we=Ce();we.nodeValue=qa,o(B,we)},$$slots:{default:!0}})},pa=K=>{var B=Fe(),ce=re(B);{var we=oe=>{var be=Ns(),P=re(be);Se(P,{variant:"ghost",get disabled(){return e(Ze)},$$events:{click:kt},children:(A,Y)=>{pe();var X=Ce();E(()=>b(X,e(Ze)?Ht:Kt)),o(A,X)},$$slots:{default:!0}});var c=l(P,2);{var Z=A=>{Se(A,{$$events:{click:ta},children:(Y,X)=>{pe();var ee=Ce();ee.nodeValue=hs,o(Y,ee)},$$slots:{default:!0}})};m(c,A=>{e(s).entries.length>0&&A(Z)})}o(oe,be)},Re=oe=>{var be=Fe(),P=re(be);{var c=A=>{var Y=Ds(),X=re(Y);Se(X,{variant:"ghost",$$events:{click:aa},children:($,j)=>{pe();var O=Ce();O.nodeValue=Es,o($,O)},$$slots:{default:!0}});var ee=l(X,2);Se(ee,{variant:"ghost",$$events:{click:()=>i(le,"build")},children:($,j)=>{pe();var O=Ce();O.nodeValue=Xt,o($,O)},$$slots:{default:!0}});var C=l(ee,2);Se(C,{$$events:{click:sa},children:($,j)=>{pe();var O=Ce();O.nodeValue=Ls,o($,O)},$$slots:{default:!0}}),o(A,Y)},Z=A=>{Se(A,{variant:"ghost",$$events:{click:()=>i(le,"build")},children:(Y,X)=>{pe();var ee=Ce();ee.nodeValue=Xt,o(Y,ee)},$$slots:{default:!0}})};m(P,A=>{e(s).status==="in-progress"?A(c):A(Z,!1)},!0)}o(oe,be)};m(ce,oe=>{e(le)==="build"?oe(we):oe(Re,!1)},!0)}o(K,B)};m(ua,K=>{e(H)?K(_a):K(pa,!1)})}a(Pt),a(ge);var _t=l(ge,2),st=r(_t);st.textContent=Ya;var rt=l(st,2),Mt=r(rt);Mt.nodeValue=`${ja} `;var ma=l(Mt);{var xa=K=>{var B=Ps(),ce=r(B);a(B),E(()=>b(ce,`${e(ot)??""}/${e(Ie)??""}`)),o(K,B)};m(ma,K=>{e(Ie)>0&&K(xa)})}a(rt),a(_t);var fa=l(_t,2);{var ga=K=>{var B=Zs(),ce=r(B),we=r(ce),Re=r(we);Re.textContent=za;var oe=l(Re,2),be=r(oe,!0);a(oe);var P=l(oe,2);{var c=C=>{var $=Ms();$.textContent=es,o(C,$)};m(P,C=>{e(H)&&C(c)})}a(we);var Z=l(we,2);{var A=C=>{Va(C,{message:ts,size:"sm"})},Y=C=>{var $=Js(),j=re($);Be(j,4,()=>[["order","Order"],["name","Name"],["priority","Priority"],["status","Status"],["suite","Suite"]],gt,(q,w)=>{let T=()=>w[0],he=()=>w[1];var ne=Vs(),N=r(ne,!0),S=l(N);{var Ee=ve=>{var de=Us(),Ae=r(de,!0);a(de),E(()=>b(Ae,e(k).order==="asc"?" ↑":" ↓")),o(ve,de)};m(S,ve=>{e(k).by===T()&&ve(Ee)})}a(ne),E(()=>{I(ne,"active",e(k).by===T()),b(N,he())}),R("click",ne,()=>qt(T())),o(q,ne)}),a(j);var O=l(j,2);Be(O,5,()=>e(Je),q=>q.id,(q,w)=>{var T=Xs(),he=r(T);{var ne=n=>{var d=Gs();o(n,d)};m(he,n=>{!e(H)&&e(k).by==="order"&&n(ne)})}var N=l(he,2),S=r(N),Ee=r(S);ht(Ee,{get id(){return e(w).case.displayId}});var ve=l(Ee,2);Jt(ve,{get priority(){return e(w).case.priority}}),a(S);var de=l(S,2),Ae=r(de,!0);a(de);var He=l(de,2),Ke=r(He,!0);a(He),a(N);var p=l(N,2);{var L=n=>{lt(n)},te=n=>{var d=Ks();$a(d,()=>e(w).assignedToId??"");var x,h=r(d);h.value=((h.__value="")==null,""),h.textContent=as;var J=l(h);Be(J,1,()=>e(At),gt,(U,D)=>{var y=Hs(),ye={},ue=r(y,!0);a(y),E(()=>{ye!==(ye=e(D).id)&&(y.value=(y.__value=e(D).id)==null?"":e(D).id),b(ue,e(D).name)}),o(U,y)}),a(d),E(()=>{x!==(x=e(w).assignedToId??"")&&(d.value=(d.__value=e(w).assignedToId??"")==null?"":e(w).assignedToId??"",Oa(d,e(w).assignedToId??"")),d.disabled=e(et)===e(w).id}),R("change",d,U=>It(e(w).id,U.target.value)),o(n,d)};m(p,n=>{e(w).case.isAutomated?n(L):n(te,!1)})}var F=l(p,2);{var M=n=>{var d=Fs();R("click",d,()=>Zt(e(w).id)),o(n,d)};m(F,n=>{e(H)||n(M)})}a(T),E(()=>{var n;Ne(T,"draggable",!e(H)&&e(k).by==="order"),I(T,"entry-locked",e(H)),I(T,"dragging",e(Me)===e(w).id),I(T,"drag-over",e(tt)===e(w).id),b(Ae,e(w).case.title),b(Ke,((n=e(w).case.suite)==null?void 0:n.name)??"")}),R("dragstart",T,function(...n){var d;(d=e(H)||e(k).by!=="order"?null:x=>la(x,e(w).id))==null||d.apply(this,n)}),R("dragover",T,function(...n){var d;(d=e(H)||e(k).by!=="order"?null:x=>ia(x,e(w).id))==null||d.apply(this,n)}),R("dragleave",T,function(...n){var d;(d=e(H)||e(k).by!=="order"?null:()=>i(tt,null))==null||d.apply(this,n)}),R("drop",T,function(...n){var d;(d=e(H)||e(k).by!=="order"?null:x=>oa(x,e(w).id))==null||d.apply(this,n)}),o(q,T)}),a(O),o(C,$)};m(Z,C=>{e(s).entries.length===0?C(A):C(Y,!1)})}a(ce);var X=l(ce,2);{var ee=C=>{var $=Qs(),j=r($),O=r(j);O.textContent=ss;var q=l(O,2);Gt(q),Ne(q,"placeholder",rs),a(j);var w=l(j,2),T=r(w);Be(T,1,()=>e(it),N=>N.id,(N,S)=>{var Ee=qs(),ve=r(Ee),de=r(ve),Ae=l(de,2),He=r(Ae,!0);a(Ae);var Ke=l(Ae,2),p=r(Ke,!0);a(Ke),a(ve);var L=l(ve,2);{var te=M=>{var n=Ys();Be(n,5,()=>e(S).cases,d=>d.id,(d,x)=>{var h=Ws(),J=r(h);ht(J,{get id(){return e(x).displayId},small:!0});var U=l(J,2),D=r(U,!0);a(U);var y=l(U,2);Jt(y,{get priority(){return e(x).priority},small:!0});var ye=l(y,2);{var ue=_e=>{lt(_e)};m(ye,_e=>{e(x).isAutomated&&_e(ue)})}a(h),E(()=>b(D,e(x).title)),R("click",h,()=>Qt(e(x))),o(d,h)}),a(n),xt(3,n,()=>ft,()=>({y:-4,duration:120})),o(M,n)},F=M=>{var n=Fe(),d=re(n);{var x=h=>{var J=js(),U=r(J,!0);a(J),E(()=>b(U,e(ie)?Ts:e(S)._totalCases===0?As:Cs)),o(h,J)};m(d,h=>{e(Te).has(e(S).id)&&h(x)},!0)}o(M,n)};m(L,M=>{var n;e(Te).has(e(S).id)&&((n=e(S).cases)==null?void 0:n.length)>0?M(te):M(F,!1)})}a(Ee),E(M=>{var n;I(de,"open",M),b(He,e(S).name),b(p,((n=e(S).cases)==null?void 0:n.length)??0)},[()=>e(Te).has(e(S).id)],Xe),R("click",ve,()=>{e(Te).has(e(S).id)?e(Te).delete(e(S).id):e(Te).add(e(S).id),i(Te,new Set(e(Te)))}),o(N,Ee)});var he=l(T,2);{var ne=N=>{var S=zs();S.textContent=Ss,o(N,S)};m(he,N=>{e(it).length===0&&N(ne)})}a(w),a($),Ft(q,()=>e(ie),N=>i(ie,N)),o(C,$)};m(X,C=>{e(H)||C(ee)})}a(B),E(()=>{I(B,"locked-workspace",e(H)),b(be,e(s).entries.length)}),xt(3,B,()=>ft,()=>({y:4,duration:150})),o(K,B)},wa=K=>{var B=pr(),ce=r(B);{var we=P=>{var c=er();c.textContent=ls,o(P,c)};m(ce,P=>{e(s).status!=="in-progress"&&!e(H)&&P(we)})}var Re=l(ce,2);{var oe=P=>{var c=tr(),Z=r(c),A=r(Z),Y=r(A,!0);a(A);var X=l(A,2),ee=r(X,!0);a(X);var C=l(X,2),$=r(C,!0);a(C),a(Z);var j=l(Z,2),O=r(j),q=l(O,2);a(j),a(c),E((w,T,he)=>{b(Y,w),b(ee,T),b($,he),Ne(O,"style",`width: ${e(nt)/e(Ie)*100}%`),Ne(q,"style",`width: ${e(vt)/e(Ie)*100}%`)},[()=>is(e(nt)),()=>os(e(vt)),()=>ns(e(Ie)-e(ot))],Xe),o(P,c)};m(Re,P=>{e(Ie)>0&&P(oe)})}var be=l(Re,2);Be(be,5,()=>e(s).entries,P=>P.id,(P,c)=>{var Z=_r(),A=r(Z),Y=r(A),X=r(Y);{var ee=p=>{var L=ar();Ne(L,"title",Qa);var te=r(L);a(L),E(F=>I(te,"open",F),[()=>e(ke).has(e(c).id)],Xe),R("click",L,()=>zt(e(c).id)),o(p,L)};m(X,p=>{var L;((L=e(c).case.steps)==null?void 0:L.length)>0&&p(ee)})}var C=l(X,2);ht(C,{get id(){return e(c).case.displayId}});var $=l(C,2);{var j=p=>{lt(p)};m($,p=>{e(c).case.isAutomated&&p(j)})}var O=l($,2),q=r(O),w=r(q,!0);a(q);var T=l(q,2),he=r(T,!0);a(T),a(O),a(Y);var ne=l(Y,2),N=r(ne);{var S=p=>{var L=sr(),te=re(L),F=r(te);lt(F),a(te),pe(2),o(p,L)},Ee=p=>{var L=Fe(),te=re(L);{var F=M=>{var n=ir(),d=re(n),x=r(d);{var h=D=>{var y=rr(),ye=r(y,!0);a(y),E(()=>b(ye,e(c).assignedTo.name)),o(D,y)};m(x,D=>{e(c).assignedTo&&D(h)})}var J=l(x,2);{var U=D=>{var y=lr();y.textContent=gs,E(()=>y.disabled=e(et)===e(c).id),R("click",y,()=>It(e(c).id,e(Pe))),o(D,y)};m(J,D=>{var y;!e(H)&&((y=e(c).assignedTo)==null?void 0:y.id)!==e(Pe)&&D(U)})}a(d),pe(2),o(M,n)};m(te,M=>{var n;(e(c).assignedTo||!e(H)&&((n=e(c).assignedTo)==null?void 0:n.id)!==e(Pe))&&M(F)},!0)}o(p,L)};m(N,p=>{e(c).case.isAutomated?p(S):p(Ee,!1)})}var ve=l(N,2);{var de=p=>{Wt(p,{get status(){return e(c).status}})},Ae=p=>{var L=Fe(),te=re(L);{var F=n=>{var d=or(),x=r(d);x.textContent=vs;var h=l(x,2);h.textContent=ds;var J=l(h,2);J.textContent=cs;var U=l(J,2);U.textContent=us;var D=l(U,2);D.textContent=_s,a(d),E(()=>I(x,"active",e(c).status==="in-progress")),R("click",x,()=>Ue(e(c),"in-progress")),R("click",h,()=>Ue(e(c),"pass")),R("click",J,()=>Ue(e(c),"fail")),R("click",U,()=>Ue(e(c),"blocked")),R("click",D,()=>Ue(e(c),"skip")),o(n,d)},M=n=>{var d=nr(),x=r(d);Wt(x,{get status(){return e(c).status}});var h=l(x,2);Ne(h,"title",ps),h.textContent=ms,a(d),R("click",h,()=>Ue(e(c),"pending")),o(n,d)};m(te,n=>{e(c).status==="pending"||e(c).status==="in-progress"?n(F):n(M,!1)},!0)}o(p,L)};m(ve,p=>{e(H)||e(s).status!=="in-progress"?p(de):p(Ae,!1)})}a(ne),a(A);var He=l(A,2);{var Ke=p=>{var L=ur();Be(L,5,()=>e(c).case.steps,gt,(te,F,M)=>{var n=cr(),d=r(n);d.textContent=M+1;var x=l(d,2),h=r(x),J=r(h,!0);a(h);var U=l(h,2);{var D=ue=>{var _e=vr(),pt=r(_e,!0);a(_e),E(mt=>b(pt,mt),[()=>xs(e(F).testData)],Xe),o(ue,_e)};m(U,ue=>{e(F).testData&&ue(D)})}var y=l(U,2);{var ye=ue=>{var _e=dr(),pt=r(_e,!0);a(_e),E(mt=>b(pt,mt),[()=>fs(e(F).expectedOutput)],Xe),o(ue,_e)};m(y,ue=>{e(F).expectedOutput&&ue(ye)})}a(x),a(n),E(()=>b(J,e(F).action)),o(te,n)}),a(L),o(p,L)};m(He,p=>{e(c).case.steps&&e(c).case.steps.length>0&&e(ke).has(e(c).id)&&p(Ke)})}a(Z),E(()=>{var p;I(Z,"expanded",e(ct)===e(c).id),b(w,e(c).case.title),b(he,((p=e(c).case.suite)==null?void 0:p.name)??"")}),o(P,Z)}),a(be),a(B),xt(3,B,()=>ft,()=>({y:4,duration:150})),o(K,B)};m(fa,K=>{e(le)==="build"?K(ga):K(wa,!1)})}E(()=>{b($e,e(s).title),Aa(Ge,`run-status-badge ${e(s).status??""} svelte-1mxlw2t`),b(Oe,e(s).status),I(st,"active",e(le)==="build"),I(rt,"active",e(le)==="execute")}),R("click",Dt,()=>{i(Ye,{title:e(s).title}),i(We,!0)}),R("click",st,()=>i(le,"build")),R("click",rt,()=>i(le,"execute")),o(se,fe)};m(_,se=>{e(s)&&se(g)},!0)}o(t,v)};m(va,t=>{e(Ct)?t(da):t(ca,!1)})}E(()=>{var t;return b(na,((t=e(s))==null?void 0:t.title)??"…")}),o(Le,$t),Tt(),Q()}export{Rr as component};