@hot-updater/console 1.1.4 → 1.2.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/-native-builds-search-C-TGpFAm.js +1 -0
  3. package/.output/public/assets/{ConsoleFeatureUnavailable-C0KfsKWL.js → ConsoleFeatureUnavailable-CUtcXuY2.js} +1 -1
  4. package/.output/public/assets/EventDetails-Dl2RvPAk.js +1 -0
  5. package/.output/public/assets/HashValueDisplay-6lNRxDJX.js +1 -0
  6. package/.output/public/assets/InsightsPageHeader-DHhqY3DT.js +1 -0
  7. package/.output/public/assets/NotFoundPage-DZ3DxyRA.js +1 -0
  8. package/.output/public/assets/PlatformIcon-BBWQlWm9.js +1 -0
  9. package/.output/public/assets/RolloutPercentageBadge-Cxogpi8F.js +1 -0
  10. package/.output/public/assets/StoreSubmission-JpngSvHS.js +1 -0
  11. package/.output/public/assets/alert-dialog-BqYScr9y.js +1 -0
  12. package/.output/public/assets/api-P2g8dCNg.js +1 -0
  13. package/.output/public/assets/api-keys-DWQC2q6y.js +1 -0
  14. package/.output/public/assets/api-keys-FueRkF9q.js +1 -0
  15. package/.output/public/assets/arrow-left-g9cKqXuC.js +1 -0
  16. package/.output/public/assets/arrow-right-CNII8TYn.js +1 -0
  17. package/.output/public/assets/arrow-up-right-DK8Zdg40.js +1 -0
  18. package/.output/public/assets/badge-DWFcDWho.js +1 -0
  19. package/.output/public/assets/check-CXVR3s3X.js +1 -0
  20. package/.output/public/assets/chevron-right-BoUXo82O.js +1 -0
  21. package/.output/public/assets/circle-off-C7Muo0ss.js +1 -0
  22. package/.output/public/assets/{clipboard-DTkrlIMn.js → clipboard-DQbOcrL7.js} +1 -1
  23. package/.output/public/assets/console-features-api-DEXSwFtc.js +1 -0
  24. package/.output/public/assets/copy-DsuLj3oj.js +1 -0
  25. package/.output/public/assets/dialog-CNUPxNxH.js +1 -0
  26. package/.output/public/assets/{dist-dDj-R6uh.js → dist-CPlO6ko9.js} +1 -1
  27. package/.output/public/assets/download-Cf24LBde.js +1 -0
  28. package/.output/public/assets/{empty-Bf4DanOL.js → empty-B3Uwdd6k.js} +1 -1
  29. package/.output/public/assets/{field-GxF9SyUo.js → field-D-2-mnNh.js} +1 -1
  30. package/.output/public/assets/history-DqHlgSuV.js +1 -0
  31. package/.output/public/assets/index-BWU6owTG.js +10 -0
  32. package/.output/public/assets/{input-group-B4nrqIh0.js → input-group-D3OUBk4n.js} +1 -1
  33. package/.output/public/assets/insights-B-0odqpt.js +42 -0
  34. package/.output/public/assets/insights-BSVGfxSL.js +1 -0
  35. package/.output/public/assets/insights-NK5B6ReS.js +2 -0
  36. package/.output/public/assets/insights-api-BVCXJsoV.js +1 -0
  37. package/.output/public/assets/insights-search-DghCbEnk.js +1 -0
  38. package/.output/public/assets/insights-usage-rpc-CKQH0pUS.js +1 -0
  39. package/.output/public/assets/insights_.distribution-CJvgwcVZ.js +2 -0
  40. package/.output/public/assets/insights_.distribution-DblZM0mO.js +1 -0
  41. package/.output/public/assets/insights_.distribution-dvk6vYDM.js +1 -0
  42. package/.output/public/assets/installations-B674P5Z5.js +2 -0
  43. package/.output/public/assets/installations-BWxczZ2t.js +1 -0
  44. package/.output/public/assets/installations-Dv4kWQYz.js +1 -0
  45. package/.output/public/assets/{key-round-B4fI1psK.js → key-round-DwNKkHhy.js} +1 -1
  46. package/.output/public/assets/link-DTEyW70e.js +2 -0
  47. package/.output/public/assets/{list-Dtj7TtzV.js → list--NIee1FZ.js} +1 -1
  48. package/.output/public/assets/native-builds-BOC71grI.js +1 -0
  49. package/.output/public/assets/native-builds-BswZazmc.js +1 -0
  50. package/.output/public/assets/native-builds-c4BpOLAe.js +2 -0
  51. package/.output/public/assets/native-builds_._buildId-D_Spjl10.js +1 -0
  52. package/.output/public/assets/native-builds_._buildId-DtoXD8rz.js +2 -0
  53. package/.output/public/assets/plus-BReVKct-.js +1 -0
  54. package/.output/public/assets/preload-helper-B44EvKhG.js +1 -0
  55. package/.output/public/assets/{refresh-cw-DjIKjmrS.js → refresh-cw-B9HHjLej.js} +1 -1
  56. package/.output/public/assets/relativeTime-YQt84dYr.js +1 -0
  57. package/.output/public/assets/remote-config-B7ujqhLa.js +6 -0
  58. package/.output/public/assets/remote-config-WjpozBG5.js +1 -0
  59. package/.output/public/assets/remote-config-gXeH6PBW.js +1 -0
  60. package/.output/public/assets/rotate-cw-Cv2aVbYr.js +1 -0
  61. package/.output/public/assets/routes-BDdBIxYS.js +1 -0
  62. package/.output/public/assets/routes-CCD33Azv.js +2 -0
  63. package/.output/public/assets/search-BCel4Oy6.js +1 -0
  64. package/.output/public/assets/select-CBIU0_M1.js +1 -0
  65. package/.output/public/assets/{sidebar-BqX460IW.js → sidebar-Di9SN47G.js} +1 -1
  66. package/.output/public/assets/smartphone-CMaSy_ir.js +1 -0
  67. package/.output/public/assets/styles-Ccxthuz1.css +2 -0
  68. package/.output/public/assets/switch-BpdiHL_t.js +1 -0
  69. package/.output/public/assets/{table-ek1DmRHq.js → table-Bpy3SvSo.js} +1 -1
  70. package/.output/public/assets/{tabs-CgEH_fMT.js → tabs-Xmt7tZeG.js} +1 -1
  71. package/.output/public/assets/{undo-2-DxXx9Zvr.js → undo-2-CUX96_BG.js} +1 -1
  72. package/.output/public/assets/useCompositeListItem-JmyDfo3-.js +1 -0
  73. package/.output/public/assets/useInfiniteQuery-DX4WpBRG.js +1 -0
  74. package/.output/public/assets/useMutation-DbYw7boA.js +1 -0
  75. package/.output/public/assets/uuidv7-zXMtwR9Q.js +1 -0
  76. package/.output/public/assets/{valueToPercent-B44vDssN.js → valueToPercent-BLwGy_xK.js} +1 -1
  77. package/.output/server/{__23tanstack-start-server-fn-resolver-KpQ5Z_24.mjs → __23tanstack-start-server-fn-resolver-CygMPYHZ.mjs} +64 -40
  78. package/.output/server/_chunks/ssr-renderer.mjs +2 -2
  79. package/.output/server/_libs/@tanstack/react-router+[...].mjs +1 -1
  80. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +1 -1
  81. package/.output/server/_libs/lucide-react.mjs +88 -1
  82. package/.output/server/_libs/uqr.mjs +858 -0
  83. package/.output/server/_ssr/-native-builds-search-CwNcoXf4.mjs +37 -0
  84. package/.output/server/_ssr/{BundleIdDisplay-CjSnY65J.mjs → BundleIdDisplay-DOPz4pUS.mjs} +2 -2
  85. package/.output/server/_ssr/{ConsoleFeatureUnavailable-CHxn9f-w.mjs → ConsoleFeatureUnavailable-Xb1JKqcc.mjs} +7 -7
  86. package/.output/server/_ssr/{EventDetails-l6dF54zp.mjs → EventDetails-D7MejFCN.mjs} +8 -8
  87. package/.output/server/_ssr/{HashValueDisplay-Zs7ABoOi.mjs → HashValueDisplay-Dd-wu5rY.mjs} +2 -2
  88. package/.output/server/_ssr/{InsightsPageHeader-ZlAlDxQy.mjs → InsightsPageHeader-CWf1n4Vt.mjs} +13 -11
  89. package/.output/server/_ssr/{NotFoundPage-u28ndvp1.mjs → NotFoundPage-C5rFdUpg.mjs} +2 -2
  90. package/.output/server/_ssr/PlatformIcon-CFLiTjh1.mjs +29 -0
  91. package/.output/server/_ssr/RolloutPercentageBadge-g0Bhfl3M.mjs +21 -0
  92. package/.output/server/_ssr/StoreSubmission-JZ2Zltak.mjs +139 -0
  93. package/.output/server/_ssr/{alert-dialog-B8AqlJwo.mjs → alert-dialog-CvNvTvIJ.mjs} +1 -1
  94. package/.output/server/_ssr/{api-C_0B7NXM.mjs → api-0vtwA5vY.mjs} +126 -7
  95. package/.output/server/_ssr/{api-keys-pRNvn2-9.mjs → api-keys-D5dyA4D1.mjs} +10 -10
  96. package/.output/server/_ssr/{api-keys-rpc-wecWs0nA.mjs → api-keys-rpc-BOIUHhDi.mjs} +5 -5
  97. package/.output/server/_ssr/{api-keys-CLH38u9B.mjs → api-keys-yFlQDwQF.mjs} +2 -2
  98. package/.output/server/_ssr/{api-rpc-DWN8eOHS.mjs → api-rpc-COeFOpYi.mjs} +79 -12
  99. package/.output/server/_ssr/{auth-UP0wXs4i.mjs → auth-Z-wLddzh.mjs} +1 -1
  100. package/.output/server/_ssr/{auth-rpc-CLRArbIl.mjs → auth-rpc-D1ss2GUI.mjs} +6 -6
  101. package/.output/server/_ssr/{auth.server-DR9zc0EU.mjs → auth.server-DYS1OJ6P.mjs} +771 -641
  102. package/.output/server/_ssr/{badge-BpT7r-ng.mjs → badge-CEdVRgyl.mjs} +1 -1
  103. package/.output/server/_ssr/{bundleActivity-0qFIcvqt.mjs → bundleActivity-MLrjNJCT.mjs} +1 -1
  104. package/.output/server/_ssr/{config-WVX4IxSR.mjs → config-CjIBFhJX.mjs} +1 -1
  105. package/.output/server/_ssr/config.server-NnMFjMFX.mjs +43 -0
  106. package/.output/server/_ssr/{console-access-aUpQs49I.mjs → console-access-33BNlH97.mjs} +3 -3
  107. package/.output/server/_ssr/{console-features-4xAGfZHw.mjs → console-features-BTV-XuhQ.mjs} +1 -1
  108. package/.output/server/_ssr/{console-features-api-DSSgCV3v.mjs → console-features-api-v1fSycue.mjs} +6 -6
  109. package/.output/server/_ssr/{console-features-rpc-D6kMlR2A.mjs → console-features-rpc-C7XNVqm0.mjs} +5 -5
  110. package/.output/server/_ssr/createCsrfMiddleware-BwHbC8n-.mjs +159 -0
  111. package/.output/server/_ssr/createMiddleware-C3ACsfuG.mjs +24 -0
  112. package/.output/server/_ssr/{createMiddleware-B1iPez7u.mjs → createServerFn-AQvBMBjJ.mjs} +2 -23
  113. package/.output/server/_ssr/{createServerRpc-BaDJLGBx.mjs → createServerRpc-BVvRVOz5.mjs} +2 -2
  114. package/.output/server/_ssr/{databaseConfig-C5SkAyUy.mjs → databaseConfig-B_Bg7qS5.mjs} +1 -1
  115. package/.output/server/_ssr/{databaseJsonValue-Csbuzc9Q.mjs → databaseJsonValue-kS7cvEtz.mjs} +1 -1
  116. package/.output/server/_ssr/{databaseRows-CPphvbag.mjs → databaseRows-B6H8Cmgq.mjs} +3 -3
  117. package/.output/server/_ssr/{dialog-B4ALf7NJ.mjs → dialog-C8CS8RMt.mjs} +1 -1
  118. package/.output/server/_ssr/{dist-CbQbBIw-.mjs → dist-TEpM_UAD.mjs} +125 -125
  119. package/.output/server/_ssr/{downloadBundle-94jPBGSO.mjs → downloadBundle-DCmr7vsj.mjs} +1 -1
  120. package/.output/server/_ssr/{empty-Bh1FEeYF.mjs → empty-CkdEAvCY.mjs} +2 -2
  121. package/.output/server/_ssr/{empty-plugin-adapters-CpCHi1TV.mjs → empty-plugin-adapters-zrZ0xs6n.mjs} +1 -1
  122. package/.output/server/_ssr/{failureReports-Bh22wois.mjs → failureReports-Cn_zU9S8.mjs} +3 -3
  123. package/.output/server/_ssr/{field-HKCaPH3e.mjs → field-CW08sZXd.mjs} +2 -2
  124. package/.output/server/_ssr/{getBundleChildren-DfxB2K8D.mjs → getBundleChildren-rtkEEJw5.mjs} +2 -2
  125. package/.output/server/_ssr/git-CTA8Aqr0.mjs +56 -0
  126. package/.output/server/_ssr/{input-group-xm3LzDuq.mjs → input-group-D-TpFPuG.mjs} +1 -1
  127. package/.output/server/_ssr/{insights-BKZpJ_K4.mjs → insights-CMyzPs8l.mjs} +28 -27
  128. package/.output/server/_ssr/{insights-CCyTACIw.mjs → insights-CYeBl8N9.mjs} +5 -5
  129. package/.output/server/_ssr/{insights-CNqWQLJR.mjs → insights-DAi9KknT.mjs} +2 -2
  130. package/.output/server/_ssr/{insights-api-DtRFz5X3.mjs → insights-api-BFARQ5ct.mjs} +6 -6
  131. package/.output/server/_ssr/{insights-errors-Iy-lBaM7.mjs → insights-errors-7BCwFybo.mjs} +2 -2
  132. package/.output/server/_ssr/{insights-failures-BJN3RfLu.mjs → insights-failures-B9VPkzZE.mjs} +2 -2
  133. package/.output/server/_ssr/{insights-failures-rpc-DLZ91uOG.mjs → insights-failures-rpc-Q4WNNJkU.mjs} +12 -12
  134. package/.output/server/_ssr/{insights-recovery-BUuQdlA3.mjs → insights-recovery-BtXVU3ro.mjs} +1 -1
  135. package/.output/server/_ssr/{insights-recovery-rpc-BQHUhPi7.mjs → insights-recovery-rpc-CY5RYJKa.mjs} +8 -8
  136. package/.output/server/_ssr/{insights-rpc-C6Vukyn7.mjs → insights-rpc-BO7_evvs.mjs} +5 -5
  137. package/.output/server/_ssr/{insights-search-CBYoxT7v.mjs → insights-search-DKfxgHD3.mjs} +5 -5
  138. package/.output/server/_ssr/{insights-usage-CHqvtehH.mjs → insights-usage-DiGnuxW8.mjs} +1 -1
  139. package/.output/server/_ssr/{insights-usage-rpc-BJ7a-xco.mjs → insights-usage-rpc-B4czku50.mjs} +8 -8
  140. package/.output/server/_ssr/{insights-usage-rpc-C-lNUIsD.mjs → insights-usage-rpc-CUCTFska.mjs} +5 -5
  141. package/.output/server/_ssr/{insightsUsage-COUG-_-U.mjs → insightsUsage-ClAmoUz8.mjs} +3 -3
  142. package/.output/server/_ssr/{insights_.distribution-DmLW8I8a.mjs → insights_.distribution-BDeUhZGj.mjs} +2 -2
  143. package/.output/server/_ssr/{insights_.distribution-CTwilMPm.mjs → insights_.distribution-BRrbZN1X.mjs} +5 -5
  144. package/.output/server/_ssr/{insights_.distribution-DztDyrBj.mjs → insights_.distribution-C2MXpzKd.mjs} +15 -14
  145. package/.output/server/_ssr/{installations-Bct7ag5y.mjs → installations-BVk7okiY.mjs} +4 -4
  146. package/.output/server/_ssr/{installations-B6MK5iA8.mjs → installations-BjLMgBoH.mjs} +2 -2
  147. package/.output/server/_ssr/{installations-_N4PtYFl.mjs → installations-DxGZEC5G.mjs} +12 -12
  148. package/.output/server/_ssr/{listReleases-BfUBlCHo.mjs → listReleases-D_GY00SQ.mjs} +1 -1
  149. package/.output/server/_ssr/native-builds-CSCgFB21.mjs +10 -0
  150. package/.output/server/_ssr/native-builds-CdlyAldW.mjs +569 -0
  151. package/.output/server/_ssr/native-builds-DhXL5zf_.mjs +137 -0
  152. package/.output/server/_ssr/native-builds_._buildId-CMp1h8dT.mjs +10 -0
  153. package/.output/server/_ssr/native-builds_._buildId-GHpGaYyE.mjs +813 -0
  154. package/.output/server/_ssr/nativeBuildQr-84cnFQPX.mjs +59 -0
  155. package/.output/server/_ssr/nativeBuilds-B_7BPjt_.mjs +133 -0
  156. package/.output/server/_ssr/{plugins-BaD1slHx.mjs → plugins-RIryUNWj.mjs} +6 -5
  157. package/.output/server/_ssr/qr-code-C7kNRIDX.mjs +22 -0
  158. package/.output/server/_ssr/{release-adoption-DuYJTGuX.mjs → release-adoption-DoAtNPED.mjs} +2 -2
  159. package/.output/server/_ssr/{release-adoption-rpc-CHl7G_Zy.mjs → release-adoption-rpc-BJXZvtoQ.mjs} +10 -10
  160. package/.output/server/_ssr/{releaseAdoption-B39cpvfo.mjs → releaseAdoption-a2byXMfz.mjs} +4 -4
  161. package/.output/server/_ssr/releaseCatalogCompiler-DLcean2k.mjs +364 -0
  162. package/.output/server/_ssr/{releaseManagement-DFMUnDF5.mjs → releaseManagement-DHUux2az.mjs} +1 -1
  163. package/.output/server/_ssr/{releaseReachability-bFsuElSS.mjs → releaseReachability-DZOK_dH-.mjs} +2 -2
  164. package/.output/server/_ssr/{remote-config-Mj05qVYZ.mjs → remote-config-DjsEl270.mjs} +20 -19
  165. package/.output/server/_ssr/{remote-config-10-obSZ0.mjs → remote-config-DlyyohL2.mjs} +2 -2
  166. package/.output/server/_ssr/{remote-config-Dj1eTYi4.mjs → remote-config-XdYuByHz.mjs} +2 -2
  167. package/.output/server/_ssr/{remote-config-rpc-lteqDSLn.mjs → remote-config-rpc-GMLPb-90.mjs} +6 -6
  168. package/.output/server/_ssr/request-guard-CPdRBuGW.mjs +108 -0
  169. package/.output/server/_ssr/{router-Dr4jjjhx.mjs → router-vpxd56RW.mjs} +317 -71
  170. package/.output/server/_ssr/{routes-BZbrY_qw.mjs → routes-DyEM4b3x.mjs} +14 -14
  171. package/.output/server/_ssr/{routes-B5KrCDwk.mjs → routes-dQe3XhiS.mjs} +99 -81
  172. package/.output/server/_ssr/{runtime.server-DsHqVqTr.mjs → runtime.server-BdMY1blX.mjs} +4 -4
  173. package/.output/server/_ssr/schema-ChlRtZIo.mjs +23 -0
  174. package/.output/server/_ssr/schema-migration-rpc-BfGzEK_o.mjs +65 -0
  175. package/.output/server/_ssr/{select-BtdGNSmp.mjs → select-DM1uwtk9.mjs} +3 -27
  176. package/.output/server/_ssr/{server-BxaHSwHh.mjs → server-BUUKNSPI.mjs} +7 -161
  177. package/.output/server/_ssr/{sidebar-CVsgosaD.mjs → sidebar-DB2YQlok.mjs} +4 -4
  178. package/.output/server/_ssr/ssr.mjs +1 -1
  179. package/.output/server/_ssr/start-BvDsQehg.mjs +49 -0
  180. package/.output/server/_ssr/{switch-BmARgkUP.mjs → switch-DLD58zLy.mjs} +2 -2
  181. package/.output/server/_ssr/{table-M5P3YUfY.mjs → table-P4TnAZhl.mjs} +1 -1
  182. package/.output/server/_ssr/{tabs-CrmfOlJj.mjs → tabs-B7ZeLicF.mjs} +2 -2
  183. package/.output/server/_ssr/{updateFailures-z1IQy_4q.mjs → updateFailures-n-tGv90S.mjs} +3 -3
  184. package/.output/server/_ssr/{uuidv7-C88s9jWF.mjs → uuidv7-BIF4nb_q.mjs} +2 -2
  185. package/.output/server/_ssr/{schema-BiAVyEj2.mjs → version-CQ98ZBpL-CWSkTT9J.mjs} +2 -22
  186. package/.output/server/_tanstack-start-manifest_v-C-KC63Zq.mjs +184 -0
  187. package/.output/server/index.mjs +432 -271
  188. package/lib/vite-internal.mjs +32 -1
  189. package/package.json +8 -7
  190. package/src/components/AppSidebar.tsx +12 -1
  191. package/src/components/ConsoleAccessPage.tsx +49 -3
  192. package/src/components/QrCode.tsx +35 -0
  193. package/src/components/SchemaMigrationRequired.tsx +139 -0
  194. package/src/components/features/insights/BuiltinBundle.tsx +5 -3
  195. package/src/components/features/native-builds/BuiltInBundleCard.tsx +163 -0
  196. package/src/components/features/native-builds/CommitLink.tsx +30 -0
  197. package/src/components/features/native-builds/CopyableText.tsx +48 -0
  198. package/src/components/features/native-builds/ImportBuild.tsx +91 -0
  199. package/src/components/features/native-builds/InstallCard.tsx +205 -0
  200. package/src/components/features/native-builds/NativeBuildDetailPage.tsx +175 -0
  201. package/src/components/features/native-builds/NativeBuildsPage.tsx +151 -0
  202. package/src/components/features/native-builds/NativeBuildsTable.tsx +426 -0
  203. package/src/components/features/native-builds/PatchesCard.tsx +222 -0
  204. package/src/components/features/native-builds/ReleaseNativeBuildLink.tsx +101 -0
  205. package/src/components/features/native-builds/ServedNowCard.tsx +214 -0
  206. package/src/components/features/native-builds/ShortHash.tsx +41 -0
  207. package/src/components/features/native-builds/StoreSubmission.tsx +73 -0
  208. package/src/components/features/releases/ReleaseEditorSheet.tsx +8 -0
  209. package/src/lib/api-rpc.ts +98 -0
  210. package/src/lib/api.ts +120 -0
  211. package/src/lib/native-builds.ts +162 -0
  212. package/src/lib/qr-code.ts +16 -0
  213. package/src/lib/schema-migration-api.ts +54 -0
  214. package/src/lib/schema-migration-rpc.ts +26 -0
  215. package/src/lib/schema-migration.ts +101 -0
  216. package/src/lib/server/config.server.ts +23 -14
  217. package/src/lib/server/console-runtime.server.ts +4 -6
  218. package/src/lib/server/local-console.ts +164 -0
  219. package/src/lib/server/nativeBuildQr.ts +73 -0
  220. package/src/lib/server/nativeBuilds.ts +288 -0
  221. package/src/lib/shell.ts +9 -0
  222. package/src/routeTree.gen.ts +88 -1
  223. package/src/router.tsx +11 -1
  224. package/src/routes/-native-builds-search.ts +51 -0
  225. package/src/routes/[_]hot-updater/native-builds/qr.ts +14 -0
  226. package/src/routes/__root.tsx +11 -1
  227. package/src/routes/api/native-builds/$buildId/download.ts +50 -0
  228. package/src/routes/native-builds.tsx +21 -0
  229. package/src/routes/native-builds_.$buildId.tsx +23 -0
  230. package/src/start.ts +33 -0
  231. package/src/virtual-modules.d.ts +18 -0
  232. package/src/vite-internal.ts +57 -1
  233. package/.output/public/assets/EventDetails-gbD_fCqc.js +0 -1
  234. package/.output/public/assets/HashValueDisplay-BGkDPaYi.js +0 -1
  235. package/.output/public/assets/InsightsPageHeader-BRw8XkJW.js +0 -1
  236. package/.output/public/assets/NotFoundPage-Cei6W2lm.js +0 -1
  237. package/.output/public/assets/alert-dialog-BtVg50WQ.js +0 -1
  238. package/.output/public/assets/api-DoicFJfd.js +0 -1
  239. package/.output/public/assets/api-keys-D81VHHNM.js +0 -1
  240. package/.output/public/assets/api-keys-Dia6i8K1.js +0 -1
  241. package/.output/public/assets/arrow-left-DsivSewE.js +0 -1
  242. package/.output/public/assets/arrow-up-right-B5aM0F7f.js +0 -1
  243. package/.output/public/assets/badge-Bqf3UDee.js +0 -1
  244. package/.output/public/assets/circle-off-BsbZQtsF.js +0 -1
  245. package/.output/public/assets/console-features-api-DPE4C06Y.js +0 -2
  246. package/.output/public/assets/dialog-CGKPxz3n.js +0 -1
  247. package/.output/public/assets/index-DrkdiRIn.js +0 -10
  248. package/.output/public/assets/insights-C-5t8wh2.js +0 -2
  249. package/.output/public/assets/insights-D_ngQdiz.js +0 -1
  250. package/.output/public/assets/insights-KigRBDgC.js +0 -42
  251. package/.output/public/assets/insights-api-1ZjVu3Sb.js +0 -1
  252. package/.output/public/assets/insights-search-aT8BVCci.js +0 -1
  253. package/.output/public/assets/insights-usage-rpc-DqTiXI1_.js +0 -1
  254. package/.output/public/assets/insights_.distribution-Bzl6RFBR.js +0 -2
  255. package/.output/public/assets/insights_.distribution-Cthgttqb.js +0 -1
  256. package/.output/public/assets/insights_.distribution-D2c2v1bu.js +0 -1
  257. package/.output/public/assets/installations-2Nx8Htf-.js +0 -1
  258. package/.output/public/assets/installations-BskJ1xQr.js +0 -2
  259. package/.output/public/assets/installations-K2iJ_r0h.js +0 -1
  260. package/.output/public/assets/remote-config-D9X3NiwV.js +0 -6
  261. package/.output/public/assets/remote-config-DzOOiBIO.js +0 -1
  262. package/.output/public/assets/remote-config-ikg7kak0.js +0 -1
  263. package/.output/public/assets/routes-9rb9P5Y7.js +0 -2
  264. package/.output/public/assets/routes-P7683vKQ.js +0 -1
  265. package/.output/public/assets/search-DuI1FBpg.js +0 -1
  266. package/.output/public/assets/select-M3H2gxCc.js +0 -1
  267. package/.output/public/assets/smartphone-CtsHuiIC.js +0 -1
  268. package/.output/public/assets/styles-CpiW_YdW.css +0 -2
  269. package/.output/public/assets/switch-By_vfm8I.js +0 -1
  270. package/.output/public/assets/useCompositeListItem-B-UkrDlu.js +0 -1
  271. package/.output/server/_ssr/config.server-DTdsG47T.mjs +0 -35
  272. package/.output/server/_ssr/start-B6ECIE_7.mjs +0 -4
  273. package/.output/server/_tanstack-start-manifest_v-_BY9hYTm.mjs +0 -136
@@ -0,0 +1 @@
1
+ import{t as e}from"./ConsoleFeatureUnavailable-CUtcXuY2.js";var t=e;export{t as notFoundComponent};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/insights-BSVGfxSL.js","assets/ConsoleFeatureUnavailable-CUtcXuY2.js","assets/sidebar-Di9SN47G.js","assets/console-features-api-DEXSwFtc.js","assets/arrow-up-right-DK8Zdg40.js","assets/NotFoundPage-DZ3DxyRA.js","assets/link-DTEyW70e.js","assets/empty-B3Uwdd6k.js","assets/insights-B-0odqpt.js","assets/alert-dialog-BqYScr9y.js","assets/select-CBIU0_M1.js","assets/useCompositeListItem-JmyDfo3-.js","assets/check-CXVR3s3X.js","assets/tabs-Xmt7tZeG.js","assets/insights-usage-rpc-CKQH0pUS.js","assets/valueToPercent-BLwGy_xK.js","assets/EventDetails-Dl2RvPAk.js","assets/insights-api-BVCXJsoV.js","assets/useInfiniteQuery-DX4WpBRG.js","assets/copy-DsuLj3oj.js","assets/download-Cf24LBde.js","assets/input-group-D3OUBk4n.js","assets/smartphone-CMaSy_ir.js","assets/badge-DWFcDWho.js","assets/dist-CPlO6ko9.js","assets/HashValueDisplay-6lNRxDJX.js","assets/InsightsPageHeader-DHhqY3DT.js","assets/list--NIee1FZ.js","assets/arrow-right-CNII8TYn.js","assets/chevron-right-BoUXo82O.js","assets/circle-off-C7Muo0ss.js","assets/refresh-cw-B9HHjLej.js","assets/rotate-cw-Cv2aVbYr.js","assets/undo-2-CUX96_BG.js","assets/insights-search-DghCbEnk.js","assets/uuidv7-zXMtwR9Q.js","assets/PlatformIcon-BBWQlWm9.js","assets/table-Bpy3SvSo.js","assets/api-P2g8dCNg.js","assets/useMutation-DbYw7boA.js"])))=>i.map(i=>d[i]);
2
+ import{n as e,r as t,t as n}from"./preload-helper-B44EvKhG.js";import{r}from"./console-features-api-DEXSwFtc.js";import{a as i}from"./insights-search-DghCbEnk.js";var a=t(`/insights`)({beforeLoad:({context:e})=>r(e.queryClient,`insightsAnalytics`),notFoundComponent:e(()=>n(()=>import(`./insights-BSVGfxSL.js`),__vite__mapDeps([0,1,2,3,4,5,6,7])),`notFoundComponent`),component:e(()=>n(()=>import(`./insights-B-0odqpt.js`),__vite__mapDeps([8,2,9,10,11,12,13,14,15,6,16,17,18,19,20,21,22,23,24,25,26,3,27,7,28,4,29,30,31,32,33,34,35,36,37,38,39])),`component`),validateSearch:i});export{a as t};
@@ -0,0 +1 @@
1
+ import{Gr as e,Vr as t,ar as n,ir as r,nr as i}from"./sidebar-Di9SN47G.js";import{t as a}from"./useInfiniteQuery-DX4WpBRG.js";var o=r(`chart-no-axes-combined`,[[`path`,{d:`M12 16v5`,key:`zza2cw`}],[`path`,{d:`M16 14v7`,key:`1g90b9`}],[`path`,{d:`M20 10v11`,key:`1iqoj0`}],[`path`,{d:`m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15`,key:`1fw8x9`}],[`path`,{d:`M4 18v3`,key:`1yp0dc`}],[`path`,{d:`M8 14v7`,key:`n3cwzv`}]]),s=r(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),c={"24h":{durationMs:864e5,intervalMs:36e5},"7d":{durationMs:7*864e5,intervalMs:6*36e5},"30d":{durationMs:30*864e5,intervalMs:864e5}},l=e=>Math.ceil(e/36e5)*36e5;function u(e){if(!e||e.platform!==`all`&&e.platform!==`ios`&&e.platform!==`android`||typeof e.channel!=`string`||!e.channel.trim()||e.channel.length>1024||e.releaseId!==void 0&&(typeof e.releaseId!=`string`||!e.releaseId.trim()||e.releaseId.length>36)||(e.window===void 0?e.releaseId===void 0:!Object.hasOwn(c,e.window)))throw Error(`Choose a platform, channel, and time window.`);return e}var d=({failedUpdates:e,downloads:t})=>e+t===0?null:e/(e+t),f=({failedInstallations:e,activeInstallations:t})=>t===0?null:Math.min(1,e/t),p=e=>e===null?`—`:`${(e*100).toFixed(2)}%`,m={check:`Update check`,download:`Download`,install:`Install`},h={network:`Network`,http:`HTTP error`,invalid_response:`Invalid response`,hash_mismatch:`Hash mismatch`,signature:`Signature`,patch:`Patch`,extract:`Extract`,storage:`Storage`,unknown:`No reason reported`},g=e=>m[e]??`Unknown stage`,_=e=>h[e]??`Unknown reason`,v=e=>[...e.httpStatus==null?[]:[`HTTP ${e.httpStatus}`],...e.originCode==null?[]:[e.originCode],...e.transport==null?[]:[e.transport],...e.resource==null?[]:[e.resource]],y=e=>{let t=e.errorMessage||(e.reason===`unknown`?`The client did not report a detailed cause`:_(e.reason));return[`${g(e.stage)} failed: ${t}`,...v(e)].join(` · `)},b=t({method:`GET`}).middleware([i]).handler(e(`0d1dacdd1e5ee6b100e5c142fb9af03602b6f2c6fe6af79312b36c223d7f8f97`)),x=t({method:`GET`}).middleware([i]).handler(e(`b4388826a9b515fb4d2113270aa8ded1c50ba13d7f07ac2b268c41396e87d0a3`)),S={rawDays:90,dailyDays:400},C=e=>`${e.toLocaleString(`en`)} ${e===1?`day`:`days`}`,w=({dailyDays:e})=>e>=364;t({method:`GET`}).middleware([i]).handler(e(`ff00311d412c8cdfa8ad5b0ba1eb6aa7471d0cc12170e6cc645deb91603d42dd`));var T=t({method:`GET`}).middleware([i]).handler(e(`d4c50f40701055145f24873dc90f3c55a5494457a6a03a743339b2ac4545eb19`)),E=t({method:`GET`}).middleware([i]).handler(e(`3c04bc6624be6dfdd80cf96819f9c6d0455e59a7bb4c0374b6afb0162ffd15b0`)),D=t({method:`GET`}).middleware([i]).handler(e(`6726f1ed9eda1f0cb4c1f1ad1023faee435ddcfd0b7c55ef08ca7f2f7f577370`)),O=t({method:`GET`}).middleware([i]).handler(e(`c6f18db42ac40385dbff247095197ee9f3fd3a97dc914efd368ce0ded1f098c6`)),k=t({method:`GET`}).middleware([i]).handler(e(`735c501f6d5ea81a445ff2b6b2ea6a1b589e3c6f63a465a881822c80ae71e7d1`)),A=3e4,j={reportingInstallations:e=>[`insights`,`reporting-installations`,e],events:e=>[`insights`,`events`,e],installations:e=>[`insights`,`installations`,e],installation:e=>[`insights`,`installation`,e],installationEvents:e=>[`insights`,`installation-events`,e]},M=(e,t)=>n({queryKey:j.events(e),queryFn:()=>T({data:e}),enabled:t,refetchOnWindowFocus:!0,staleTime:A}),N=(e,t)=>n({queryKey:j.installations(e),queryFn:()=>k({data:e}),enabled:t&&e.identity.length>0,staleTime:A}),P=(e,t)=>n({queryKey:j.installation(e),queryFn:()=>D({data:{installId:e}}),enabled:t&&e.length>0,staleTime:A}),F=(e,t)=>n({queryKey:j.installationEvents(e),queryFn:()=>E({data:e}),enabled:t&&e.installId.length>0,refetchOnWindowFocus:!0,staleTime:A}),I=(e,t=!0)=>n({queryKey:[`insights`,`update-failures`,e],queryFn:()=>b({data:u(e)}),enabled:t,refetchOnWindowFocus:!0,staleTime:A}),L=()=>n({queryKey:[`insights`,`retention`],queryFn:()=>O(),staleTime:1/0}).data??S,R=(e,t)=>a({queryKey:[`insights`,`failure-reports`,e],queryFn:({pageParam:t})=>x({data:{...e,cursor:t}}),initialPageParam:void 0,getNextPageParam:e=>e.nextCursor??void 0,enabled:t,staleTime:A});export{p as _,N as a,s as b,S as c,f as d,y as f,g,_ as h,P as i,C as l,d as m,M as n,L as o,v as p,F as r,I as s,R as t,w as u,l as v,o as x,c as y};
@@ -0,0 +1 @@
1
+ import{Fn as e,Wr as t,ii as n,it as r,nt as i,ti as a,tt as o}from"./sidebar-Di9SN47G.js";import{b as s}from"./insights-api-BVCXJsoV.js";import{m as c,t as l}from"./uuidv7-zXMtwR9Q.js";var u=n(a(),1),d=t();function f({label:t,children:n}){let a=(0,u.useId)(),[c,l]=(0,u.useState)(!1);return(0,d.jsxs)(o,{open:c,onOpenChange:l,triggerId:a,children:[(0,d.jsx)(r,{id:a,"aria-describedby":c?`${a}-description`:void 0,closeOnClick:!1,onClick:()=>l(e=>!e),render:(0,d.jsx)(e,{"aria-label":t,className:`size-11 sm:size-7`,size:`icon`,variant:`ghost`}),children:(0,d.jsx)(s,{})}),(0,d.jsx)(i,{id:`${a}-description`,role:`tooltip`,className:`max-w-64`,side:`bottom`,children:n})]})}var p=e=>typeof e==`string`&&e.trim().length>0&&e.length<=1024?e:void 0,m=e=>e===`24h`||e===`7d`||e===`30d`?e:void 0,h=e=>e===`adoption`||e===`crashes`?e:void 0,g=e=>e===`12m`?e:m(e),_=`production`,v=e=>e===`all`||e===`ios`||e===`android`?e:void 0;function y(e){return{platform:v(e.platform),channel:p(e.channel),appVersion:p(e.appVersion),window:g(e.window),bundleWindow:m(e.bundleWindow),releaseId:p(e.releaseId),healthChart:h(e.healthChart),bundles:p(e.bundles)}}function b(e){return{...y(e),version:p(e.version),page:typeof e.page==`number`&&Number.isSafeInteger(e.page)&&e.page>0?e.page:void 0}}function x(e,t=Date.now()){if(!c(e))return`7d`;let n=t-l(e);return n<=864e5?`24h`:n<=7*864e5?`7d`:`30d`}var S=e=>e===void 0?void 0:[...new Set(e.split(`,`).filter(e=>e.length>0))];export{y as a,b as i,x as n,f as o,S as r,_ as t};
@@ -0,0 +1 @@
1
+ import{Bn as e,Gr as t,Jn as n,Ln as r,Ut as i,Vr as a,Wr as o,ii as s,nr as c,qt as l,ti as u}from"./sidebar-Di9SN47G.js";import{r as d,t as f}from"./valueToPercent-BLwGy_xK.js";var p=s(u()),m=p.createContext(void 0);function h(){let e=p.useContext(m);if(e===void 0)throw Error(n(51));return e}var g=function(e){return e.complete=`data-complete`,e.indeterminate=`data-indeterminate`,e.progressing=`data-progressing`,e}({}),_={status(e){return e===`progressing`?{[g.progressing]:``}:e===`complete`?{[g.complete]:``}:e===`indeterminate`?{[g.indeterminate]:``}:null}},v=o();function y(e,t){return t==null?`indeterminate progress`:e||`${t}%`}var b=p.forwardRef(function(t,n){let{format:r,getAriaValueText:a=y,locale:o,max:s=100,min:c=0,value:u,render:f,className:h,children:g,style:b,...x}=t,[S,C]=p.useState(),w=l(r),T=`indeterminate`;Number.isFinite(u)&&(T=u===s?`complete`:`progressing`);let E=d(u,o,w.current),D=p.useMemo(()=>({status:T}),[T]),O={"aria-labelledby":S,"aria-valuemax":s,"aria-valuemin":c,"aria-valuenow":u??void 0,"aria-valuetext":a(E,u),role:`progressbar`,children:(0,v.jsxs)(p.Fragment,{children:[g,(0,v.jsx)(`span`,{role:`presentation`,style:i,children:`x`})]})},k=p.useMemo(()=>({formattedValue:E,max:s,min:c,setLabelId:C,state:D,status:T,value:u}),[E,s,c,C,D,T,u]),A=e(`div`,t,{state:D,ref:n,props:[O,x],stateAttributesMapping:_});return(0,v.jsx)(m.Provider,{value:k,children:A})}),x=p.forwardRef(function(t,n){let{render:r,className:i,style:a,...o}=t,{state:s}=h();return e(`div`,t,{state:s,ref:n,props:o,stateAttributesMapping:_})}),S=p.forwardRef(function(t,n){let{render:r,className:i,style:a,...o}=t,{max:s,min:c,value:l,state:u}=h(),d=Number.isFinite(l)&&l!==null?f(l,c,s):null;return e(`div`,t,{state:u,ref:n,props:[{style:d==null?{}:{insetInlineStart:0,height:`inherit`,width:`${d}%`}},o],stateAttributesMapping:_})});function C({className:e,children:t,value:n,...i}){return(0,v.jsxs)(b,{value:n,"data-slot":`progress`,className:r(`w-full`,e),...i,children:[t,(0,v.jsx)(w,{children:(0,v.jsx)(T,{})})]})}function w({className:e,...t}){return(0,v.jsx)(x,{className:r(`relative flex h-1 w-full items-center overflow-x-hidden rounded-md bg-muted`,e),"data-slot":`progress-track`,...t})}function T({className:e,...t}){return(0,v.jsx)(S,{"data-slot":`progress-indicator`,className:r(`h-full bg-primary transition-transform motion-reduce:transition-none`,e),...t})}var E=a({method:`GET`}).middleware([c]).handler(t(`8a98cd9c178e4a54185d62c25a95f09d3d59850c43d3f5baa1563e1614ad942e`));export{C as n,E as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/insights_.distribution-DblZM0mO.js","assets/ConsoleFeatureUnavailable-CUtcXuY2.js","assets/sidebar-Di9SN47G.js","assets/console-features-api-DEXSwFtc.js","assets/arrow-up-right-DK8Zdg40.js","assets/NotFoundPage-DZ3DxyRA.js","assets/link-DTEyW70e.js","assets/empty-B3Uwdd6k.js","assets/insights_.distribution-dvk6vYDM.js","assets/select-CBIU0_M1.js","assets/useCompositeListItem-JmyDfo3-.js","assets/check-CXVR3s3X.js","assets/insights-usage-rpc-CKQH0pUS.js","assets/valueToPercent-BLwGy_xK.js","assets/arrow-left-g9cKqXuC.js","assets/insights-api-BVCXJsoV.js","assets/useInfiniteQuery-DX4WpBRG.js","assets/rotate-cw-Cv2aVbYr.js","assets/badge-DWFcDWho.js","assets/insights-search-DghCbEnk.js","assets/uuidv7-zXMtwR9Q.js","assets/PlatformIcon-BBWQlWm9.js","assets/InsightsPageHeader-DHhqY3DT.js","assets/tabs-Xmt7tZeG.js","assets/list--NIee1FZ.js","assets/field-D-2-mnNh.js"])))=>i.map(i=>d[i]);
2
+ import{n as e,r as t,t as n}from"./preload-helper-B44EvKhG.js";import{r}from"./console-features-api-DEXSwFtc.js";import{i}from"./insights-search-DghCbEnk.js";var a=t(`/insights_/distribution`)({beforeLoad:({context:e})=>r(e.queryClient,`insightsAnalytics`),notFoundComponent:e(()=>n(()=>import(`./insights_.distribution-DblZM0mO.js`),__vite__mapDeps([0,1,2,3,4,5,6,7])),`notFoundComponent`),component:e(()=>n(()=>import(`./insights_.distribution-dvk6vYDM.js`),__vite__mapDeps([8,2,9,10,11,12,13,6,14,4,15,16,17,18,19,20,21,22,23,3,24,7,25])),`component`),validateSearch:i});export{a as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./ConsoleFeatureUnavailable-CUtcXuY2.js";var t=e;export{t as notFoundComponent};
@@ -0,0 +1 @@
1
+ import{$ as e,Fn as t,In as n,Wr as r,ar as i}from"./sidebar-Di9SN47G.js";import{t as a}from"./link-DTEyW70e.js";import{t as o}from"./arrow-left-g9cKqXuC.js";import{t as s}from"./arrow-up-right-DK8Zdg40.js";import{o as c,u as l}from"./insights-api-BVCXJsoV.js";import{a as u,i as d,n as f,o as p,r as m,t as h}from"./select-CBIU0_M1.js";import{t as g}from"./rotate-cw-Cv2aVbYr.js";import{a as _,d as v,i as y,l as ee,n as te,o as ne,s as re,t as b,u as x}from"./badge-DWFcDWho.js";import{a as S,o as C}from"./insights-search-DghCbEnk.js";import{i as w,o as T,r as E,t as D}from"./empty-B3Uwdd6k.js";import{t as O}from"./PlatformIcon-BBWQlWm9.js";import{a as k,t as A}from"./field-D-2-mnNh.js";import{t as j}from"./insights_.distribution-CJvgwcVZ.js";import{i as M}from"./valueToPercent-BLwGy_xK.js";import{n as N,t as P}from"./insights-usage-rpc-CKQH0pUS.js";import{c as ie,n as F,o as I,t as L}from"./InsightsPageHeader-DHhqY3DT.js";var R=r(),z=20,B=new Intl.DateTimeFormat(`en`,{month:`short`,day:`numeric`,timeZone:`UTC`}),V=e=>e.releaseId??(e.builtinBundleId?`Built-in bundle ${e.builtinBundleId}`:`Unknown bundle`);function H({bundleId:e}){return(0,R.jsxs)(`div`,{className:`flex min-h-11 min-w-0 flex-wrap items-center gap-2 md:min-h-9`,children:[(0,R.jsx)(F,{}),(0,R.jsx)(M,{bundleId:e,className:`text-muted-foreground`})]})}function U(){let r=j.useSearch(),M=c(),F=j.useNavigate(),U={platform:r.platform??`all`,channel:r.channel??`production`,appVersion:r.appVersion,window:r.window??`24h`},W=i({queryKey:[`insights`,`app-usage`,U],queryFn:()=>P({data:U}),staleTime:3e4}),G=W.error?void 0:W.data,K=G?`since ${B.format(G.distributionSinceMs)}, 00:00 UTC`:`in this period`,q=(G?.bundleDistribution??[]).filter(e=>!r.version||e.appVersion===r.version),J=q.reduce((e,t)=>e+t.installations,0),Y=Math.max(1,Math.ceil(q.length/z)),X=Math.min(r.page??1,Y),Z=[...new Set([...G?.versions.map(e=>e.name)??[],...r.version?[r.version]:[]])],Q=S(r),$=e=>void F({search:{...r,page:void 0,...e}});return(0,R.jsxs)(`div`,{className:`flex h-svh min-h-0 flex-col`,children:[(0,R.jsx)(L,{view:`distribution`,overviewSearch:Q}),(0,R.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto bg-muted/5 px-4 py-6 sm:p-8`,children:(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-6xl flex-col gap-6`,children:[(0,R.jsxs)(a,{to:`/insights`,search:Q,className:n({variant:`ghost`,className:`h-11 w-fit sm:h-9`}),children:[(0,R.jsx)(o,{"aria-hidden":`true`,"data-icon":`inline-start`}),`Back to overview`]}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-4`,children:[(0,R.jsx)(`h2`,{className:`text-2xl font-semibold tracking-tight`,children:`Distribution`}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(I,{twelveMonths:l(M),window:U.window,onWindowChange:e=>$({window:e})}),(0,R.jsx)(t,{"aria-label":`Refresh distribution`,variant:`ghost`,size:`icon`,className:`size-11 sm:size-9`,disabled:W.isFetching,onClick:()=>void W.refetch(),children:(0,R.jsx)(g,{"aria-hidden":`true`})})]})]}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-4`,children:[(0,R.jsxs)(A,{className:`w-full sm:w-64`,children:[(0,R.jsx)(k,{htmlFor:`distribution-version`,children:`App version`}),(0,R.jsxs)(h,{items:Object.fromEntries([[`all`,`All versions`],...Z.map(e=>[`version:${e}`,e])]),value:r.version?`version:${r.version}`:`all`,onValueChange:e=>{e!==null&&$({version:e===`all`?void 0:e.slice(8)})},children:[(0,R.jsx)(u,{id:`distribution-version`,className:`min-h-11 w-full sm:min-h-9`,children:(0,R.jsx)(p,{})}),(0,R.jsx)(f,{children:(0,R.jsxs)(m,{children:[(0,R.jsx)(d,{value:`all`,children:`All versions`}),Z.map(e=>(0,R.jsx)(d,{value:`version:${e}`,children:e},e))]})})]})]}),(0,R.jsxs)(`div`,{className:`flex min-h-9 flex-wrap items-center gap-2`,"aria-label":`Distribution scope`,children:[(0,R.jsxs)(b,{variant:`outline`,className:`gap-1.5`,children:[U.platform===`all`?null:(0,R.jsx)(O,{platform:U.platform,className:`size-3.5`}),U.platform===`all`?`All platforms`:U.platform===`ios`?`iOS`:`Android`]}),(0,R.jsx)(b,{variant:`outline`,children:U.channel}),U.appVersion?(0,R.jsxs)(b,{variant:`outline`,children:[`Reports from `,U.appVersion]}):null]})]}),(0,R.jsxs)(ne,{"aria-label":`Bundles by app version`,role:`region`,className:`min-w-0`,children:[(0,R.jsxs)(x,{className:`flex flex-col gap-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,R.jsx)(v,{children:`Bundles by app version`}),(0,R.jsxs)(C,{label:`How bundle distribution is counted`,children:[`Each installation counts once, by its latest report`,` `,K,`. Shares are within each app version. Built-in bundle: the bundle the native build shipped, by its ID. Unknown bundle: no deployment and no built-in bundle ID.`]})]}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-3 gap-y-1`,children:[W.isPending?(0,R.jsx)(e,{className:`h-9 w-16`}):(0,R.jsx)(`p`,{className:`text-3xl font-semibold tabular-nums`,children:G?`${G.truncated?`≥`:``}${J.toLocaleString()}`:`—`}),(0,R.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Reporting installations`})]})]}),(0,R.jsxs)(re,{className:`flex min-w-0 flex-col gap-4`,children:[G?.truncated?(0,R.jsxs)(te,{children:[(0,R.jsx)(_,{children:`Partial history`}),(0,R.jsxs)(y,{children:[`Counts and shares reflect reports since`,` `,new Date(G.sinceMs).toLocaleString(`en`,{timeZone:`UTC`}),` `,`UTC. Choose a shorter period for a more complete view.`]})]}):null,W.isPending?(0,R.jsx)(e,{"aria-label":`Loading bundle distribution`,className:`h-64`}):W.error?(0,R.jsxs)(`div`,{className:`flex flex-col items-start gap-4`,children:[(0,R.jsx)(ie,{error:W.error,fallbackTitle:`Distribution unavailable`}),(0,R.jsx)(t,{variant:`outline`,onClick:()=>void W.refetch(),children:`Retry distribution`})]}):q.length===0?(0,R.jsxs)(D,{children:[(0,R.jsxs)(w,{children:[(0,R.jsx)(T,{children:`No bundles reported`}),(0,R.jsx)(E,{children:`Choose another version or period, or change the filters in the overview.`})]}),(0,R.jsx)(t,{variant:`outline`,onClick:()=>$({version:void 0}),children:`Show all versions`})]}):(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsxs)(`div`,{"aria-hidden":`true`,className:`hidden grid-cols-[8rem_minmax(0,1fr)_7rem_7rem] gap-4 border-b px-3 pb-3 text-xs text-muted-foreground md:grid`,children:[(0,R.jsx)(`span`,{children:`App version`}),(0,R.jsx)(`span`,{children:`Bundle ID`}),(0,R.jsx)(`span`,{className:`text-right`,children:`Active installations`}),(0,R.jsx)(`span`,{className:`text-right`,children:`Version share`})]}),(0,R.jsx)(`ul`,{"aria-label":`Bundle distribution`,className:`divide-y`,children:q.slice((X-1)*z,X*z).map(e=>{let t=G?.versions.find(t=>t.name===e.appVersion)?.installations??0,n=t>0?e.installations/t*100:0;return(0,R.jsxs)(`li`,{className:`grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-x-4 gap-y-3 px-1 py-4 md:grid-cols-[8rem_minmax(0,1fr)_7rem_7rem] md:px-3`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,R.jsx)(`span`,{className:`truncate text-sm font-medium`,title:e.appVersion,children:e.appVersion}),(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,R.jsx)(O,{platform:e.platform,className:`size-3.5`}),e.platform===`ios`?`iOS`:`Android`]})]}),(0,R.jsxs)(`div`,{className:`col-span-2 row-start-2 min-w-0 md:col-span-1 md:row-auto`,children:[e.releaseId?(0,R.jsxs)(a,{to:`/`,search:{releaseId:e.releaseId},"aria-label":`Review bundle ${e.releaseId} for app version ${e.appVersion}`,className:`flex min-h-11 min-w-0 items-center gap-2 text-xs underline-offset-4 hover:underline md:min-h-9`,children:[(0,R.jsx)(`span`,{className:`break-all font-mono`,children:e.releaseId}),(0,R.jsx)(s,{"aria-hidden":`true`,className:`size-3.5 shrink-0`})]}):e.builtinBundleId?null:(0,R.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Unknown bundle`}),e.builtinBundleId?(0,R.jsx)(H,{bundleId:e.builtinBundleId}):null]}),(0,R.jsxs)(`div`,{className:`col-start-2 row-start-1 text-right md:col-auto md:row-auto`,children:[(0,R.jsx)(`span`,{className:`text-sm font-medium tabular-nums`,children:e.installations.toLocaleString()}),(0,R.jsx)(`span`,{className:`ml-1 text-xs text-muted-foreground md:sr-only`,children:`active`}),(0,R.jsxs)(`p`,{className:`mt-1 text-xs tabular-nums text-muted-foreground md:hidden`,children:[n.toFixed(1),`% of version`]})]}),(0,R.jsxs)(`div`,{className:`hidden flex-col gap-2 md:flex`,children:[(0,R.jsxs)(`span`,{className:`text-right text-sm tabular-nums`,children:[n.toFixed(1),`%`]}),(0,R.jsx)(N,{"aria-label":`${V(e)} share in ${e.appVersion} on ${e.platform}`,value:n})]})]},JSON.stringify([e.appVersion,e.platform,e.releaseId,e.builtinBundleId]))})})]})]}),G&&q.length>0?(0,R.jsxs)(ee,{className:`flex flex-wrap items-center justify-between gap-3 border-t pt-4`,children:[(0,R.jsxs)(`p`,{className:`text-xs tabular-nums text-muted-foreground`,children:[(X-1)*z+1,`–`,Math.min(X*z,q.length),` of `,q.length]}),(0,R.jsxs)(`nav`,{"aria-label":`Distribution pages`,className:`flex gap-2`,children:[(0,R.jsx)(t,{variant:`outline`,className:`h-11 sm:h-9`,disabled:X<=1,onClick:()=>$({page:X-1}),children:`Previous`}),(0,R.jsx)(t,{variant:`outline`,className:`h-11 sm:h-9`,disabled:X>=Y,onClick:()=>$({page:X+1}),children:`Next`})]})]}):null]})]})})]})}export{U as component};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/installations-Dv4kWQYz.js","assets/ConsoleFeatureUnavailable-CUtcXuY2.js","assets/sidebar-Di9SN47G.js","assets/console-features-api-DEXSwFtc.js","assets/arrow-up-right-DK8Zdg40.js","assets/NotFoundPage-DZ3DxyRA.js","assets/link-DTEyW70e.js","assets/empty-B3Uwdd6k.js","assets/installations-BWxczZ2t.js","assets/preload-helper-B44EvKhG.js","assets/useCompositeListItem-JmyDfo3-.js","assets/EventDetails-Dl2RvPAk.js","assets/insights-api-BVCXJsoV.js","assets/useInfiniteQuery-DX4WpBRG.js","assets/check-CXVR3s3X.js","assets/copy-DsuLj3oj.js","assets/download-Cf24LBde.js","assets/input-group-D3OUBk4n.js","assets/smartphone-CMaSy_ir.js","assets/badge-DWFcDWho.js","assets/dist-CPlO6ko9.js","assets/HashValueDisplay-6lNRxDJX.js","assets/InsightsPageHeader-DHhqY3DT.js","assets/tabs-Xmt7tZeG.js","assets/list--NIee1FZ.js","assets/arrow-left-g9cKqXuC.js","assets/refresh-cw-B9HHjLej.js","assets/search-BCel4Oy6.js","assets/field-D-2-mnNh.js","assets/table-Bpy3SvSo.js"])))=>i.map(i=>d[i]);
2
+ import{n as e,r as t,t as n}from"./preload-helper-B44EvKhG.js";import{r}from"./console-features-api-DEXSwFtc.js";var i=864e5,a={"24h":{period:`24 hours`,durationMs:i},"7d":{period:`7 days`,durationMs:7*i},"30d":{period:`30 days`,durationMs:30*i},"90d":{period:`90 days`,durationMs:90*i}},o=Object.keys(a),s=e=>o[o.indexOf(e)+1],c=(e,t)=>({beforeReceivedAtMs:t,sinceMs:Math.max(0,t-a[e].durationMs)}),l=e=>typeof e==`string`&&e.length>0?e:void 0,u=e=>typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:void 0,d=e=>o.find(t=>t===e);function f(e){let t=p(e.search);return t.query===void 0&&t.installId===void 0?`/installations?eventsBefore=${t.eventsBefore??`new`}&eventsRange=${t.eventsRange??`7d`}&eventsCursor=${t.eventsCursor??`first`}`:e.state.__TSR_key}function p(e){return{query:typeof e.query==`string`?e.query:void 0,installId:typeof e.installId==`string`?e.installId:void 0,eventsCursor:l(e.eventsCursor),eventsBefore:u(e.eventsBefore),eventsRange:d(e.eventsRange),searchCursor:l(e.searchCursor),historyCursor:l(e.historyCursor),historyBefore:u(e.historyBefore)}}var m=t(`/installations`)({beforeLoad:({context:e})=>r(e.queryClient,`insights`),notFoundComponent:e(()=>n(()=>import(`./installations-Dv4kWQYz.js`),__vite__mapDeps([0,1,2,3,4,5,6,7])),`notFoundComponent`),component:e(()=>n(()=>import(`./installations-BWxczZ2t.js`),__vite__mapDeps([8,2,9,6,10,11,12,13,14,15,16,17,18,19,20,21,22,23,3,24,7,25,4,26,27,28,29])),`component`),staticData:{scrollRestorationKey:f},validateSearch:p});export{a,c as i,f as n,s as o,o as r,m as t};
@@ -0,0 +1 @@
1
+ import{$ as e,Fn as t,In as n,Ln as r,Wr as i,et as a,ii as o,rr as s,ti as c}from"./sidebar-Di9SN47G.js";import{h as l,i as u,m as d,t as f}from"./link-DTEyW70e.js";import{o as p,s as m}from"./preload-helper-B44EvKhG.js";import{a as h,n as g,o as _,r as v,t as y}from"./EventDetails-Dl2RvPAk.js";import{t as b}from"./arrow-left-g9cKqXuC.js";import{t as x}from"./arrow-up-right-DK8Zdg40.js";import{a as S,c as C,i as w,l as T,n as E,o as ee,r as te}from"./insights-api-BVCXJsoV.js";import{t as D}from"./check-CXVR3s3X.js";import{a as O}from"./useCompositeListItem-JmyDfo3-.js";import{t as k}from"./refresh-cw-B9HHjLej.js";import{i as A,n as j,r as M,t as N}from"./input-group-D3OUBk4n.js";import{t as P}from"./search-BCel4Oy6.js";import{c as ne,d as F,o as I,s as L,u as R}from"./badge-DWFcDWho.js";import{a as z,i as re,n as ie,o as ae,r as oe,t as B}from"./installations-B674P5Z5.js";import{a as se,t as ce}from"./field-D-2-mnNh.js";import{a as V,i as H,n as le,o as U,r as W,t as G}from"./table-Bpy3SvSo.js";import{n as ue,t as K}from"./HashValueDisplay-6lNRxDJX.js";import{a as de,c as q,n as fe,r as pe,t as me}from"./InsightsPageHeader-DHhqY3DT.js";function he(){l(u(),!0)}function ge(e){return he(),d(u(),e)}function _e(e){let t=u();return m(t.stores.location,p(e,t))}var J=o(c(),1),Y=i();function ve({events:e,formatter:t,renderIdentity:n}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{className:`px-4 pb-2 text-xs text-muted-foreground sm:px-6`,children:`Time in your browser zone`}),(0,Y.jsx)(`ol`,{"aria-label":`Events`,className:`divide-y border-y`,children:e.map(e=>(0,Y.jsxs)(`li`,{className:`flex min-w-0 flex-col gap-3 px-4 py-4 sm:px-6`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-4 gap-y-1`,children:[(0,Y.jsx)(v,{event:e}),(0,Y.jsx)(`div`,{className:`text-xs tabular-nums`,children:(0,Y.jsx)(g,{value:e.receivedAtMs,formatter:t,touch:!0})})]}),n?.(e),(0,Y.jsxs)(`dl`,{className:`flex flex-wrap gap-x-2 gap-y-1 text-sm`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`sr-only`,children:`App`}),(0,Y.jsxs)(`dd`,{children:[e.platform===`ios`?`iOS`:`Android`,` `,e.appVersion]})]}),(0,Y.jsxs)(`div`,{className:`min-w-0 text-muted-foreground`,children:[(0,Y.jsx)(`dt`,{className:`sr-only`,children:`Channel`}),(0,Y.jsx)(`dd`,{className:`wrap-anywhere`,children:e.channel})]})]}),(0,Y.jsx)(`div`,{className:`text-xs`,"aria-label":`Bundle`,children:(0,Y.jsx)(y,{event:e,touch:!0})})]},e.id))})]})}function X({hasPrevious:e,label:n,nextCursor:r,onNext:i,onPrevious:a,pageLength:o,pageNumber:s}){return(0,Y.jsxs)(`nav`,{"aria-label":`${n} pagination`,className:`flex flex-wrap items-center justify-between gap-3 border-t px-4 py-3 sm:px-6`,children:[(0,Y.jsxs)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:[`Page `,s,` · `,o.toLocaleString(),` rows`]}),(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsx)(t,{className:`h-11 min-w-11 px-3 lg:h-8 lg:min-w-0 lg:px-2`,disabled:!e,onClick:a,size:`sm`,type:`button`,variant:`outline`,children:`Previous`}),(0,Y.jsx)(t,{className:`h-11 min-w-11 px-3 lg:h-8 lg:min-w-0 lg:px-2`,disabled:r===null,onClick:i,size:`sm`,type:`button`,variant:`outline`,children:`Next`})]})]})}var ye=e=>oe.filter((t,n)=>n===0||z[t].durationMs<=e*864e5);function be({event:e,eventsLocation:t,touch:r=!1}){return(0,Y.jsxs)(`div`,{className:r?`flex min-w-0 flex-wrap items-center justify-between gap-2`:`flex min-w-0 flex-col items-start gap-2`,children:[(0,Y.jsxs)(f,{className:n({className:r?`-ml-2 h-auto min-h-11 min-w-0 flex-1 justify-start gap-2 whitespace-normal text-sm`:`-ml-2 max-w-full justify-start`,size:`sm`,variant:`ghost`}),to:`/installations`,search:{...t,query:e.installId||void 0,installId:e.installId},state:e=>({insightsPagination:{eventsBack:e.insightsPagination?.eventsBack}}),"aria-label":`View history for ${e.userId??`anonymous installation`} (${e.installId})`,children:[(0,Y.jsx)(`span`,{className:r?`min-w-0 text-left wrap-anywhere`:`truncate`,children:e.userId??`Anonymous installation`}),(0,Y.jsx)(x,{"aria-hidden":`true`,"data-icon":`inline-end`})]}),(0,Y.jsx)(K,{value:e.installId,maxLength:13,buttonClassName:r?`min-h-11 px-3`:void 0})]})}function xe({children:n,description:r,error:i,eventsLocation:a,history:o,isFetching:s,isLoading:c,onNext:l,onPrevious:u,onRangeChange:d,onRefresh:f,pageNumber:p,range:m,rawDays:h=90,title:b=`All events`}){let x=_(),S=p>1,C=ye(h),w=m===void 0?void 0:ae(m),T=w!==void 0&&C.includes(w)?w:void 0,E=T!==void 0&&d?(0,Y.jsx)(t,{className:`h-11 px-3 lg:h-8`,onClick:()=>d(T),type:`button`,variant:`outline`,children:`Show the last ${z[T].period}`}):null;return(0,Y.jsxs)(I,{className:`@container min-w-0 shadow-sm`,"aria-busy":s,children:[(0,Y.jsxs)(R,{className:`gap-4 p-4 sm:p-6`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Y.jsx)(F,{children:(0,Y.jsx)(`h2`,{children:b})}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[m!==void 0&&d?(0,Y.jsx)(de,{label:`Time range`,onPeriodChange:d,period:m,periods:C.map(e=>({value:e,name:`Last ${z[e].period}`}))}):null,(0,Y.jsxs)(t,{className:`h-11 lg:h-8`,disabled:s,onClick:f,size:`lg`,variant:`outline`,children:[(0,Y.jsx)(k,{"aria-hidden":`true`,"data-icon":`inline-start`}),`Refresh`]})]})]}),r?(0,Y.jsx)(ne,{children:r}):null]}),n]}),(0,Y.jsx)(L,{className:`min-w-0 p-0`,children:c?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,role:`status`,"aria-label":`Loading events`,children:[(0,Y.jsx)(e,{className:`h-12 w-full`}),(0,Y.jsx)(e,{className:`h-12 w-full`}),(0,Y.jsx)(e,{className:`h-12 w-full`})]}):i?(0,Y.jsx)(`div`,{className:`px-6 pb-6`,children:(0,Y.jsx)(q,{error:i,fallbackTitle:`Event history unavailable`})}):o?(0,Y.jsxs)(Y.Fragment,{children:[o.data.length>0?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`@[58rem]:hidden`,children:(0,Y.jsx)(ve,{events:o.data,formatter:x,renderIdentity:e=>(0,Y.jsx)(be,{event:e,eventsLocation:a,touch:!0})})}),(0,Y.jsx)(`div`,{className:`hidden @[58rem]:block`,children:(0,Y.jsxs)(G,{className:`min-w-4xl table-fixed`,children:[(0,Y.jsx)(V,{children:(0,Y.jsxs)(U,{className:`[&>th]:px-4 sm:[&>th]:px-6`,children:[(0,Y.jsx)(H,{className:`w-64`,children:`Time`}),(0,Y.jsx)(H,{className:`w-48`,children:`Event`}),(0,Y.jsx)(H,{className:`w-48`,children:`User / installation`}),(0,Y.jsx)(H,{className:`w-32`,children:`App`}),(0,Y.jsx)(H,{className:`w-52`,children:`Bundle`})]})}),(0,Y.jsx)(le,{children:o.data.map(e=>(0,Y.jsxs)(U,{className:`[&>td]:px-4 [&>td]:py-4 [&>td]:align-top sm:[&>td]:px-6`,children:[(0,Y.jsx)(W,{className:`whitespace-normal text-xs tabular-nums`,children:(0,Y.jsx)(g,{value:e.receivedAtMs,formatter:x})}),(0,Y.jsx)(W,{children:(0,Y.jsx)(v,{event:e})}),(0,Y.jsx)(W,{children:(0,Y.jsx)(be,{event:e,eventsLocation:a})}),(0,Y.jsx)(W,{className:`whitespace-normal text-xs`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsxs)(`span`,{children:[e.platform===`ios`?`iOS`:`Android`,` `,e.appVersion]}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e.channel})]})}),(0,Y.jsx)(W,{className:`whitespace-normal text-xs`,children:(0,Y.jsx)(y,{event:e})})]},e.id))})]})})]}):(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 px-4 pb-4 sm:px-6 sm:pb-6`,children:[(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:S?`No older events in this range.`:m===void 0?b===`All events`?`No events recorded yet`:`No matching reports in this period`:`No events in the last ${z[m].period}.`}),S?null:E]}),m!==void 0&&o.nextCursor===null&&(o.data.length>0||S)?(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t px-4 py-3 sm:px-6`,children:[(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Start of range reached`}),E]}):null,o.data.length>0||S||o.nextCursor?(0,Y.jsx)(X,{hasPrevious:S,label:b,nextCursor:o.nextCursor,onNext:l,onPrevious:u,pageLength:o.data.length,pageNumber:p}):null]}):null})]})}var Se=e=>e.userId??`—`,Ce=e=>`lastKnownBundleId`in e?e.lastKnownBundleId:e.type===`UPDATE_DOWNLOADED`||e.type===`UPDATE_FAILED`?e.fromBundleId:e.toBundleId;function we({error:n,history:r,isLoading:i,onNext:o,onPrevious:s,onRefresh:c,pageNumber:l,retention:u=C,selectedEvent:d,selectedInstallId:f}){let p=_(),m=d?Ce(d):void 0,b=d&&`pendingBundleId`in d?d.pendingBundleId:d&&`type`in d&&d.type===`UPDATE_DOWNLOADED`?d.toBundleId:null;return(0,Y.jsxs)(I,{className:`@container min-h-0 min-w-0 shadow-sm`,children:[(0,Y.jsx)(R,{className:`p-4 sm:p-6`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[(0,Y.jsx)(F,{className:`text-sm font-medium`,children:(0,Y.jsx)(`h2`,{children:f===void 0?`Select an installation`:`Installation history`})}),f===void 0?null:(0,Y.jsxs)(ne,{children:[`Bundle changes and update failures are kept for`,` `,T(u.rawDays),`; the latest report, for`,` `,T(u.dailyDays),` after the installation last reports.`]})]}),c&&f!==void 0?(0,Y.jsxs)(t,{className:`h-11 lg:h-8`,size:`lg`,variant:`outline`,onClick:c,disabled:i,children:[(0,Y.jsx)(k,{"aria-hidden":`true`,"data-icon":`inline-start`}),`Refresh`]}):null]})}),(0,Y.jsxs)(L,{className:`min-h-0 p-0`,children:[f!==void 0&&d?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`section`,{"aria-labelledby":`latest-installation-state`,className:`px-4 pb-4 sm:px-6 sm:pb-6`,children:[(0,Y.jsx)(`h3`,{className:`sr-only`,id:`latest-installation-state`,children:`Latest reported state`}),(0,Y.jsxs)(`dl`,{className:`grid grid-cols-2 gap-4 @[36rem]:grid-cols-3`,children:[(0,Y.jsxs)(`div`,{className:`col-span-2 min-w-0 @[36rem]:col-span-1`,children:[(0,Y.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:`User ID`}),(0,Y.jsx)(`dd`,{className:`mt-1 text-sm font-medium wrap-anywhere`,children:Se(d)})]}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:`Install ID`}),(0,Y.jsx)(`dd`,{className:`mt-1 font-mono text-xs`,children:(0,Y.jsx)(K,{value:f,buttonClassName:`min-h-11 px-3 lg:min-h-0 lg:px-1.5`})})]}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:`Last known bundle`}),(0,Y.jsxs)(`dd`,{className:`mt-1 flex min-w-0 flex-wrap items-center gap-2 font-mono text-xs`,children:[m?(0,Y.jsx)(K,{value:m,buttonClassName:`min-h-11 px-3 lg:min-h-0 lg:px-1.5`}):`—`,pe(m,d.minBundleId)?(0,Y.jsx)(fe,{}):null]})]}),b?(0,Y.jsxs)(`div`,{className:`col-span-2 min-w-0`,children:[(0,Y.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:`Downloaded · Not launched yet`}),(0,Y.jsx)(`dd`,{className:`mt-1 text-xs`,children:(0,Y.jsx)(K,{value:b})})]}):null]}),d.httpResponse?(0,Y.jsx)(`div`,{className:`mt-4`,children:(0,Y.jsx)(h,{event:d})}):null]}),(0,Y.jsx)(a,{})]}):null,f===void 0?null:i?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 p-6`,role:`status`,"aria-label":`Loading installation history`,children:[(0,Y.jsx)(e,{className:`h-10 w-full`}),(0,Y.jsx)(e,{className:`h-10 w-full`}),(0,Y.jsx)(e,{className:`h-10 w-full`})]}):n?(0,Y.jsx)(`div`,{className:`p-6`,children:(0,Y.jsx)(q,{error:n instanceof Error?n:Error(),fallbackTitle:`Installation history unavailable`})}):r&&r.data.length>0?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`@[48rem]:hidden`,children:(0,Y.jsx)(ve,{events:r.data,formatter:p})}),(0,Y.jsx)(`div`,{className:`hidden @[48rem]:block`,children:(0,Y.jsxs)(G,{className:`min-w-3xl table-fixed`,children:[(0,Y.jsx)(V,{children:(0,Y.jsxs)(U,{className:`[&>th]:px-4 sm:[&>th]:px-6`,children:[(0,Y.jsx)(H,{className:`w-64`,children:`Time`}),(0,Y.jsx)(H,{className:`w-48`,children:`Event`}),(0,Y.jsx)(H,{className:`w-32`,children:`App`}),(0,Y.jsx)(H,{className:`w-52`,children:`Bundle`})]})}),(0,Y.jsx)(le,{children:r.data.map(e=>(0,Y.jsxs)(U,{className:`[&>td]:px-4 [&>td]:py-4 [&>td]:align-top sm:[&>td]:px-6`,children:[(0,Y.jsx)(W,{className:`whitespace-normal text-xs tabular-nums`,children:(0,Y.jsx)(g,{value:e.receivedAtMs,formatter:p})}),(0,Y.jsx)(W,{children:(0,Y.jsx)(v,{event:e})}),(0,Y.jsx)(W,{className:`whitespace-normal text-xs`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsxs)(`span`,{children:[e.platform===`ios`?`iOS`:`Android`,` `,e.appVersion]}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e.channel})]})}),(0,Y.jsx)(W,{className:`whitespace-normal text-xs`,children:(0,Y.jsx)(y,{event:e})})]},e.id))})]})}),(0,Y.jsx)(X,{hasPrevious:l>1,label:`Installation history`,nextCursor:r.nextCursor,onNext:o,onPrevious:s,pageLength:r.data.length,pageNumber:l})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`p-6 text-sm text-muted-foreground`,children:l>1?`No older bundle changes.`:`No bundle changes recorded yet.`}),r&&(l>1||r.nextCursor)?(0,Y.jsx)(X,{hasPrevious:l>1,label:`Installation history`,nextCursor:r.nextCursor,onNext:o,onPrevious:s,pageLength:0,pageNumber:l}):null]})]})]})}var Te=e=>e.lastKnownBundleId,Ee=e=>e.userId??`—`;function De({error:e,onNext:i,onPrevious:a,onSelect:o,pageNumber:s,results:c,selectedInstallId:l}){let[u,d]=(0,J.useState)(!1),f=(0,J.useId)(),p=(0,J.useRef)(null),m=!e&&c&&c.data.length>0;return(0,Y.jsxs)(I,{className:`min-h-0 min-w-0 shadow-sm`,children:[(0,Y.jsx)(R,{className:`p-4 sm:px-6`,children:(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsx)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:(0,Y.jsx)(F,{className:`text-sm font-medium`,children:(0,Y.jsx)(`h2`,{children:`Matching installations`})})}),(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:m?(0,Y.jsx)(t,{"aria-controls":f,"aria-expanded":u,"aria-label":u?`Hide matching installations`:`Show matching installations`,className:`size-11 lg:hidden`,onClick:()=>d(!u),ref:p,size:`icon-lg`,variant:`ghost`,children:(0,Y.jsx)(O,{"aria-hidden":`true`,className:r(u&&`rotate-180`)})}):null})]})}),(0,Y.jsxs)(L,{className:r(`min-h-0 p-0`,m&&!u&&`hidden lg:block`),id:f,children:[e?(0,Y.jsx)(`div`,{className:`p-6`,children:(0,Y.jsx)(q,{error:e instanceof Error?e:Error(),fallbackTitle:`Installation search unavailable`})}):c&&c.data.length>0?(0,Y.jsx)(`ul`,{"aria-label":`Matching installations`,className:`divide-y`,children:c.data.map(e=>{let t=Te(e),n=e.installId===l;return(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{"aria-label":`${Ee(e)}, install ID ${e.installId}`,"aria-pressed":n,className:`group flex w-full min-w-0 flex-col gap-2 border-l-2 border-transparent px-4 py-4 text-left outline-none transition-colors hover:bg-muted/40 focus-visible:border-ring focus-visible:bg-muted/40 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/30 aria-pressed:border-primary aria-pressed:bg-muted/60 motion-reduce:transition-none sm:px-6`,onClick:()=>{o(e.installId),d(!1),p.current?.focus()},type:`button`,children:[(0,Y.jsxs)(`span`,{className:`flex w-full min-w-0 items-center justify-between gap-3`,children:[(0,Y.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium`,children:Ee(e)}),n?(0,Y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1 text-xs font-medium text-primary`,children:[(0,Y.jsx)(D,{"aria-hidden":`true`,className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`sr-only`,children:`Selected`})]}):null]}),(0,Y.jsx)(`span`,{className:`flex flex-wrap items-center gap-2`,children:(0,Y.jsx)(`span`,{className:`font-mono text-xs`,title:e.installId,children:ue(e.installId)})}),(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Bundle`}),t?(0,Y.jsx)(`span`,{className:`font-mono text-xs`,title:t,children:ue(t)}):(0,Y.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`—`})]})]})},e.installId)})}):(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 p-4 sm:px-6`,children:[(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No matches`}),(0,Y.jsx)(`a`,{className:n({variant:`outline`,className:`h-11 px-3 lg:h-8`}),href:`#installation-history-search`,children:`Edit search`})]}),c&&(c.data.length>0||s>1||c.nextCursor)?(0,Y.jsx)(X,{hasPrevious:s>1,label:`Installation results`,nextCursor:c.nextCursor,onNext:i,onPrevious:a,pageLength:c.data.length,pageNumber:s}):null]})]})}function Oe({draftQuery:e,onDraftQueryChange:n,onSubmit:r,onClear:i}){return(0,Y.jsx)(`form`,{"aria-label":`Find installation`,onSubmit:t=>{t.preventDefault(),e.trim()&&r()},role:`search`,children:(0,Y.jsxs)(ce,{className:`gap-2`,children:[(0,Y.jsx)(se,{className:`sr-only`,htmlFor:`installation-history-search`,children:`User ID or installation ID`}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsxs)(N,{className:`h-11 w-auto min-w-0 flex-1 basis-44 lg:h-8`,children:[(0,Y.jsx)(j,{children:(0,Y.jsx)(P,{"aria-hidden":`true`})}),(0,Y.jsx)(A,{autoComplete:`off`,className:`h-11 text-base md:text-base lg:h-8 lg:text-xs`,id:`installation-history-search`,maxLength:1024,name:`installation`,onChange:e=>n(e.target.value),placeholder:`User ID or installation ID`,spellCheck:!1,type:`search`,value:e}),e.length>0?(0,Y.jsx)(j,{align:`inline-end`,children:(0,Y.jsx)(M,{"aria-label":`Clear installation lookup`,className:`size-11 lg:size-5`,onClick:i,size:`icon-xs`,children:(0,Y.jsx)(s,{"aria-hidden":`true`})})}):null]}),(0,Y.jsx)(t,{"aria-label":`Find installation`,className:`h-11 px-3 lg:h-8`,disabled:e.trim().length===0,size:`lg`,type:`submit`,variant:`outline`,children:`Find`})]})]})})}function ke(){return(0,Y.jsxs)(`div`,{className:`grid items-stretch gap-6 lg:min-h-96 lg:grid-cols-[minmax(18rem,20rem)_minmax(0,1fr)]`,children:[(0,Y.jsx)(e,{className:`h-64 w-full lg:h-full`}),(0,Y.jsx)(e,{className:`h-64 w-full lg:h-full`})]})}var Ae=20,je=50,Z=()=>Date.now(),Q=(e,t)=>[...e,t??``],$=e=>({cursor:e?.at(-1)||void 0,stack:e.slice(0,-1)});function Me(){let e=B.useSearch(),n=B.useNavigate(),r=ee(),[i,a]=(0,J.useState)(e.query??``),[o]=(0,J.useState)(Z),[s]=(0,J.useState)(Z),c=_e({select:e=>e.state.insightsPagination}),l=c?.eventsBack??[],u=c?.searchBack??[],d=c?.historyBack??[],f=e.query?.trim()??``,p=f.length>0,m=e.installId!==void 0,h=p||m,g=e.eventsBefore??o,_=e.eventsRange??`7d`,v=e.historyBefore??s,y=(t,r=!1,i={})=>{n({to:`/installations`,search:{...e,...t},state:e=>({...e,insightsPagination:{...e.insightsPagination,...i}}),replace:r})};(0,J.useEffect)(()=>{a(e.query??``)},[e.query]),(0,J.useEffect)(()=>{e.eventsBefore===void 0&&y({eventsBefore:g},!0)},[g,e.eventsBefore]),(0,J.useEffect)(()=>{m&&e.historyBefore===void 0&&y({historyBefore:v},!0)},[m,v,e.historyBefore]);let x=E({...re(_,g),cursor:e.eventsCursor,limit:20},!h),C=S({cursor:e.searchCursor,identity:f,limit:Ae},p);(0,J.useEffect)(()=>{let e=C.data?.data[0]?.installId;!p||m||e===void 0||y({historyBefore:Z(),historyCursor:void 0,installId:e},!0,{historyBack:[]})},[p,m,C.data?.data]);let D=w(e.installId??``,m),O=te({beforeReceivedAtMs:v,cursor:e.historyCursor,installId:e.installId??``,limit:je},m),k=D.data??C.data?.data.find(({installId:t})=>t===e.installId)??O.data?.data[0],A=h?`installation-history-${e.historyCursor??`first`}`:`all-events-${e.eventsCursor??`first`}`,j=(0,J.useRef)(null),M=ge({id:A,getKey:ie});(0,J.useLayoutEffect)(()=>{!h&&!x.isLoading&&j.current&&(j.current.scrollTop=M?.scrollY??0)},[x.isLoading,h,M?.scrollY,A]);let N=()=>{a(``),y({historyBefore:void 0,historyCursor:void 0,installId:void 0,query:void 0,searchCursor:void 0},!1,{historyBack:[],searchBack:[]})},P=(0,Y.jsx)(Oe,{draftQuery:i,onClear:N,onDraftQueryChange:a,onSubmit:()=>{let e=i.trim();if(!e){N();return}y({historyBefore:void 0,historyCursor:void 0,installId:void 0,query:e,searchCursor:void 0},!1,{historyBack:[],searchBack:[]})}});return(0,Y.jsxs)(`div`,{className:`flex h-svh min-h-0 flex-col`,children:[(0,Y.jsx)(me,{view:`events`}),(0,Y.jsx)(`div`,{ref:j,"data-scroll-restoration-id":A,id:`insights-events-scroll`,className:`min-h-0 min-w-0 flex-1 overflow-y-auto bg-muted/5 p-3 sm:p-6`,children:(0,Y.jsxs)(`div`,{className:`mx-auto flex w-full max-w-7xl flex-col gap-4 sm:gap-6`,children:[h?(0,Y.jsx)(I,{className:`shadow-sm`,children:(0,Y.jsxs)(L,{className:`flex flex-col gap-3 p-4 sm:p-6`,children:[(0,Y.jsxs)(t,{className:`-ml-2 h-11 self-start lg:h-8`,onClick:N,variant:`ghost`,children:[(0,Y.jsx)(b,{"aria-hidden":`true`,"data-icon":`inline-start`}),`Back to all events`]}),P]})}):null,h?C.isLoading&&p?(0,Y.jsx)(ke,{}):(0,Y.jsxs)(`div`,{className:`grid min-h-0 min-w-0 items-stretch gap-4 sm:gap-6 ${p?`lg:min-h-96 lg:grid-cols-[minmax(18rem,20rem)_minmax(0,1fr)]`:`lg:grid-cols-1`}`,children:[p?(0,Y.jsx)(De,{error:C.error,onNext:()=>{C.data?.nextCursor&&y({installId:void 0,searchCursor:C.data.nextCursor},!0,{searchBack:Q(u,e.searchCursor)})},onPrevious:()=>{let e=$(u);y({installId:void 0,searchCursor:e.cursor},!0,{searchBack:e.stack})},onSelect:e=>{y({historyBefore:Z(),historyCursor:void 0,installId:e},!1,{historyBack:[]})},pageNumber:u.length+1,results:C.data,selectedInstallId:e.installId}):null,(0,Y.jsx)(we,{error:O.error??D.error,history:O.data,isLoading:O.isLoading||D.isLoading,onNext:()=>{O.data?.nextCursor&&y({historyCursor:O.data.nextCursor},!0,{historyBack:Q(d,e.historyCursor)})},onPrevious:()=>{let e=$(d);y({historyCursor:e.cursor},!0,{historyBack:e.stack})},onRefresh:()=>{y({historyBefore:Z(),historyCursor:void 0},!0,{historyBack:[]})},pageNumber:d.length+1,retention:r,selectedEvent:k,selectedInstallId:e.installId})]}):(0,Y.jsx)(xe,{description:`Downloads, launches, crashes, update failures, and other changes to what an installation runs, newest first, kept for ${T(r.rawDays)}. Launches that change nothing aren't listed.`,error:x.error,eventsLocation:{eventsBefore:g,eventsCursor:e.eventsCursor,eventsRange:e.eventsRange},history:x.data,isFetching:x.isFetching,isLoading:x.isLoading,onNext:()=>{x.data?.nextCursor&&y({eventsCursor:x.data.nextCursor},!0,{eventsBack:Q(l,e.eventsCursor)})},onPrevious:()=>{let e=$(l);y({eventsCursor:e.cursor},!0,{eventsBack:e.stack})},onRangeChange:e=>{y({eventsBefore:Z(),eventsCursor:void 0,eventsRange:e},!1,{eventsBack:[]})},onRefresh:()=>{y({eventsBefore:Z(),eventsCursor:void 0},!0,{eventsBack:[]})},pageNumber:l.length+1,range:_,rawDays:r.rawDays,children:P})]})},A)]})}export{Me as component};
@@ -0,0 +1 @@
1
+ import{t as e}from"./ConsoleFeatureUnavailable-CUtcXuY2.js";var t=e;export{t as notFoundComponent};
@@ -1 +1 @@
1
- import{ar as e}from"./sidebar-BqX460IW.js";var t=e(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]);export{t};
1
+ import{ir as e}from"./sidebar-Di9SN47G.js";var t=e(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]);export{t};
@@ -0,0 +1,2 @@
1
+ import{Jr as e,Kr as t,Wr as n,Yr as r,Zr as i,ii as a,qr as o,ti as s}from"./sidebar-Di9SN47G.js";function c(e){return e.replaceAll(`/`,`#`)}function l(e){return e[e.length-1]}function u(e,t){return typeof e==`function`?e(t):e}var d=Object.prototype.hasOwnProperty;function f(e){for(let t in e)if(d.call(e,t))return!0;return!1}var p=()=>Object.create(null),m=(e,t)=>h(e,t,!0);function h(e,t,n,r=0){if(e===t)return e;if(r++>500)return t;let i=Array.isArray(e)&&Array.isArray(t);if(!i&&!(g(e)&&g(t)))return t;let a=Object.keys(e),o=a.length,s=Object.keys(t),c=s.length;if(i?o!==e.length||c!==t.length||o&&l(a)!==`${o-1}`||c&&l(s)!==`${c-1}`:o!==Object.getOwnPropertyNames(e).length||c!==Object.getOwnPropertyNames(t).length||Object.getOwnPropertySymbols(t).length)return t;let u=0,f,m,_;if(i){for(;u<c&&(_=u,m=e[_],f=t[_],f=m===f?m:typeof m==`object`?h(m,f,n,r):f,f===m);u++);if(u===c&&o===c)return e}else{let i=o===c,l=!0;for(;u<c;u++){_=s[u],m=e[_];let o=t[_];f=m===o?m:typeof m==`object`?h(m,o,n,r):o,i&&=f===m&&(a[u]===_||d.call(e,_)),l&&=Object.is(f,o),a[u]=f}if(i)return Object.getOwnPropertySymbols(e).length?t:e;if(l)return t}let v=i?s.fill(0):n?p():{};for(let o=0;o<c;o++)_=i?o:s[o],i?(m=e[_],o>u&&(f=t[_],f=m===f?m:typeof m==`object`?h(m,f,n,r):f),v[_]=o<u?m:f):v[_]=a[o];return v}function g(e){return!e||typeof e!=`object`?!1:(Object.getPrototypeOf(e)?.constructor??Object)===Object}function _(e,t,n,r){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let i=0,a=e.length;i<a;i++){let a=e[i],o=t[i];if(a!==o&&!_(a,o,n,r))return!1}return!0}if(g(e)&&g(t)){if(n){for(let i in t)if((r||t[i]!==void 0)&&!_(e[i],t[i],n,r))return!1;return!0}let i=0;if(r)i=Object.keys(e).length;else for(let t in e)e[t]!==void 0&&i++;for(let a in t)if((r||t[a]!==void 0)&&(i--===0||!_(e[a],t[a],n,r)))return!1;return i===0}return!1}function v(e){return typeof e?.message==`string`?e.message.startsWith(`Failed to fetch dynamically imported module`)||e.message.startsWith(`error loading dynamically imported module`)||e.message.startsWith(`Importing a module script failed`):!1}function y(e){return!!(e&&typeof e==`object`&&typeof e.then==`function`)}var b=/[\x00-\x1f\x7f"<>`{}]/g;function x(e){return e.replace(b,e=>`%`+e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`))}function S(e){let t;try{t=decodeURI(e)}catch{t=e.replaceAll(/%[0-9A-F]{2}/gi,e=>{try{return decodeURI(e)}catch{return e}})}return x(t)}var C=[`http:`,`https:`,`mailto:`,`tel:`];function w(e){if(e[0]!==`/`&&e.includes(`:`))return/^[\x00-\x20]*([a-z][a-z\d+.\t\n\r-]*:)/i.exec(e)?.[1]?.replace(/[\t\n\r]/g,``).toLowerCase()}var T=/^[\x00-\x20]*[\\/][\t\n\r]*[\\/]/;function E(e,t){if(!e)return!1;if(T.test(e))return!0;let n=w(e);return n?!t.has(n):!1}var D={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},O=/[&><\u2028\u2029]/g;function k(e){return e.replace(O,e=>D[e])}function A(e){if(!e)return e;let t=e;if(/[%\\\x00-\x1f\x7f]/.test(e)){let n=/%25|%5C/gi,r=0,i;for(t=``;(i=n.exec(e))!==null;)t+=S(e.slice(r,i.index))+i[0],r=n.lastIndex;t+=S(r?e.slice(r):e)}return t}function ee(e){return/[\s\u0080-\uFFFF]/.test(e)?e.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):e}function j(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function M(e){return e.replace(/\/{2,}/g,`/`)}function N(e){return e===`/`?e:e.replace(/^\/+/,``)}function P(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/+$/,``):e}function te(e){return P(N(e))}function ne(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function re(e,t,n=`never`,r){if(t.includes(`//`)&&(t=M(t)),t.startsWith(`/`))return t.length===1||n===`preserve`?t:n===`always`?t.endsWith(`/`)?t:`${t}/`:t.endsWith(`/`)?t.slice(0,-1):t;let i=t===`.`,a;if(r){a=i?e:e+`\0`+t;let n=r.get(a);if(n)return n}let o;if(i)o=e.split(`/`);else{for(e.includes(`//`)&&(e=M(e)),o=e.split(`/`);o.length>1&&l(o)===``;)o.pop();let n=t.split(`/`);for(let e=0,t=n.length;e<t;e++){let r=n[e];r===``?e?e===t-1&&o.push(r):o=[r]:r===`..`?o.length>1?o.pop():o=[``]:r===`.`||o.push(r)}}o.length>1&&(l(o)===``?n===`never`&&o.pop():n===`always`&&o.push(``));let s=o.join(`/`),c=(i?M(s):s)||`/`;return a&&r&&r.set(a,c),c}function ie(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=new RegExp([...t.keys()].join(`|`).replace(/[.*()]/g,`\\$&`),`g`);return e=>e.replace(n,e=>t.get(e)??e)}function ae(e){return e==null||e===``}function oe(e,t,n){if(typeof t!=`string`)return``+(t??void 0);let r=e===`_splat`;if(r&&(!t||/^[a-zA-Z0-9\-._~!/]*$/.test(t)))return t;let i=encodeURIComponent(t);return r&&(i=i.replaceAll(`%2F`,`/`)),n?n(i):i}function se(e,t,n,r,i){let a=e.endsWith(`/`)?`/`:``,o=``;for(let e of t){if(typeof e==`string`){o+=e;continue}let[t,s,c,l]=e,u=t===2,d=u&&l!==void 0?l+a:l,f=n[s];if(!(t===3&&f==null)){if(i&&(i[s]=f,u&&(i[`*`]=f)),u&&ae(f)){if(c===`/`&&!d)continue;f=``}o+=c+oe(s,f,r)+(d||``)}}return o+a||`/`}function ce(e){let t=new Map,n,r;return{get(e){let n=t.get(e);if(n)return n.visited=!0,n.value},set(i,a){let o=t.get(i);if(o){o.value=a;return}if(t.size>=e){let e=n?.next().value;for(;!e||e.visited;)e?e.visited=!1:n=t.values(),e=n.next().value;e===r&&(n=void 0),t.delete(e.key)}let s={key:i,value:a,visited:!1};r=s,t.set(i,s)},clear(){t.clear(),n=void 0,r=void 0}}}var F=4,le=5;function ue(e){let t=e.names;if(t)return t;let n=[];for(let t of e)typeof t!=`string`&&n.push(t[1]);return e.names=n}function de(e,t,n){let r=e.slice(t,n);if(r.charCodeAt(0)===36)return r.length===1?[2,`_splat`,``,void 0]:[1,r.slice(1),``,``];let i=r.indexOf(`{`);if(i>=0){let a=r.indexOf(`}`,i),o=r.charCodeAt(i+1)===45,s=i+(o?3:2);if(a>=0&&r.charCodeAt(s-1)===36&&(!o||s<a)){let c=r.slice(s,a);return[o?3:c?1:2,c||`_splat`,r.slice(0,i),e.slice(t+a+1,c?n:e.length)]}}return r}function I(e,t,n,r,i,a){let o=n,s=t.fullPath??t.from,c=t.options,u=s.length,d=s.endsWith(`/`)?u-1:u,f=c?.caseSensitive??e,p=c?.params?.parse??c?.parseParams,m,h=a?n-1:0;if(!r||s.includes(`$`)){m=a?.slice()??[];let e=l(m);e&&typeof e!=`string`&&e[0]===2&&(m[m.length-1]=[e[0],e[1],e[2],e[3]===void 0?void 0:e[3]+s.substring(n-(s[n-2]===`/`?2:1),d)],h=u)}for(;o<u;){let e=o,t=s.indexOf(`/`,e),n=t===-1?u:t,a=de(s,e,n);o=n+1;let c;if(typeof a==`string`){if(!r)continue;let e=a,t;f?t=r.static??=new Map:(e=a.toLowerCase(),t=r.staticInsensitive??=new Map);let n=t.get(e);if(n)c=n;else{let n=L(r);c=n,t.set(e,n)}}else{let t=a[0],l=a[2],g=a[3]??``;if(t===2&&(n=u,o=n+1),m&&h<n&&(h<e-1&&m.push(s.slice(h,e-1)),a[2]=`/`+l,t===2&&a[3]!==void 0&&d<u&&(a[3]=g.slice(0,-1)),m.push(a),h=n),!r)continue;let _=f&&!!(l||g);f||(l=l.toLowerCase(),g=g.toLowerCase());let v=t===1?r.dynamic??=[]:t===3?r.optional??=[]:r.wildcard??=[],y=t!==2&&!p&&v.find(e=>!e.parse&&e.caseSensitive===_&&e.prefix===l&&e.suffix===g);if(y)c=y;else{let e=L(r,t,_,l,g);c=e,v.push(e),v.length===2&&i?.push(v)}}r=c}m&&h<d&&m.push(s.slice(h,d));let g=m?.slice();if(!r)return g;if(p&&t.children&&!t.isRoot&&t.id&&t.id.charCodeAt(t.id.lastIndexOf(`/`)+1)===95){let e=L(r,le);(r.pathless??=[]).push(e),r=e}let _=(t.path||!t.children)&&!t.isRoot;if(_&&d<u){let e=L(r,F);r.index=e,r=e}return r.parse=p??null,r.priority=c?.params?.priority??0,r.route||(r.data=g,_&&(r.route=t)),[r,o,g]}function fe(e,t){if(e.parse&&!t.parse)return-1;if(!e.parse&&t.parse)return 1;if(e.parse&&t.parse&&(e.priority||t.priority))return t.priority-e.priority;if(e.prefix&&t.prefix&&e.prefix!==t.prefix){if(e.prefix.startsWith(t.prefix))return-1;if(t.prefix.startsWith(e.prefix))return 1}if(e.suffix&&t.suffix&&e.suffix!==t.suffix){if(e.suffix.endsWith(t.suffix))return-1;if(t.suffix.endsWith(e.suffix))return 1}return e.prefix&&!t.prefix?-1:!e.prefix&&t.prefix?1:e.suffix&&!t.suffix?-1:!e.suffix&&t.suffix?1:e.caseSensitive&&!t.caseSensitive?-1:!e.caseSensitive&&t.caseSensitive?1:0}function L(e,t=0,n,r,i){return{kind:t,depth:e?e.depth+1:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,data:void 0,parent:e,parse:null,priority:0,caseSensitive:n,prefix:r,suffix:i}}function pe(e,t){let n=L(),r=[];function i(e,t,n,a){let[o,s,c]=I(!1,e,t,n,r,a);if(e.children)for(let t of e.children)i(t,s,o,c)}for(let t of e)i(t,1,n);for(let e of r)e.sort(fe);t.masksTree=n,t.flatCache=ce(1e3)}function me(e,t){e||=`/`;let n=t.flatCache.get(e);if(n!==void 0)return n;let r=ve(e,t.masksTree);return t.flatCache.set(e,r),r}function he(e,t,n,r,i){e||=`/`,r||=`/`;let a=t?`case\0${e}`:e,o=i.singleCache.get(a);return o||(o=L(),I(t,{from:e},1,o),i.singleCache.set(a,o)),ve(r,o,n)}function ge(e,t,n=!1){let r=n?e:`nofuzz\0${e}`,i=t.matchCache.get(r);if(i!==void 0)return i;e||=`/`;let a;try{a=ve(e,t.segmentTree,n)}catch(e){if(e instanceof URIError)a=null;else throw e}return a&&(a.branch=be(a.route)),t.matchCache.set(r,a),a}function _e(t,n=!1){let r=L(),i=[],a={},o={},s=0;function c(t,r,l,u){if(t.init(s),t.id in a&&e(),a[t.id]=t,s!==0&&t.path){let e=P(t.fullPath);(!o[e]||t.fullPath.endsWith(`/`))&&(o[e]=t)}s++;let[d,f,p]=I(n,t,r,l,i,u);if(t._interpolation=p,t.children)for(let e of t.children)c(e,f,d,p)}c(t,1,r);for(let e of i)e.sort(fe);return{processedTree:{segmentTree:r,singleCache:ce(1e3),matchCache:ce(1e3),flatCache:null,masksTree:null},routesById:a,routesByPath:o}}function ve(e,t,n=!1){let r=e.split(`/`),i=Se(e,r,t,n);if(!i)return null;let[a]=ye(e,r,i);return{route:i.node.route,rawParams:a}}function ye(e,t,n){let r=xe(n.node),i=n.node.data&&ue(n.node.data),a=Object.create(null),o=n.extract?.part??0,s=n.extract?.node??0,c=n.extract?.path??0,l=n.extract?.param??0;for(;s<r.length;o++,s++,c++){let u=r[s];if(u.kind===F)break;if(u.kind===le){o--,c--;continue}let d=t[o],f=c;if(d&&(c+=d.length),u.kind===1||u.kind===3){let e=i[l++];if(u.kind===3&&n.skipped&1<<s){o--,c=f-1;continue}let t=u.suffix||u.prefix?d.substring(u.prefix.length,d.length-u.suffix.length):d;(t||u.kind===1)&&(a[e]=decodeURIComponent(t))}else if(u.kind===2){let t=u,n=e.substring(f+t.prefix.length,e.length-t.suffix.length),r=decodeURIComponent(n);a[`*`]=r,a._splat=r;break}}return n.rawParams&&Object.assign(a,n.rawParams),[a,{part:o,node:s,path:c,param:l}]}function be(e){let t=[e];for(;e.parentRoute;)e=e.parentRoute,t.push(e);return t.reverse(),t}function xe(e){let t=Array(e.depth+1);do t[e.depth]=e,e=e.parent;while(e);return t}function Se(e,t,n,r){if(e===`/`&&n.index)return{node:n.index,skipped:0};let i=!l(t),a=i&&e!==`/`,o=t.length-+!!i,s=[{node:n,index:1,skipped:0,statics:0,dynamics:0,optionals:0}],c=null,u=null;for(;s.length;){let n=s.pop(),{node:i,index:l,skipped:d,statics:f,dynamics:p,optionals:m}=n,{extract:h,rawParams:g}=n;if(i.kind===2&&i.route&&!Ee(u,n))continue;if(i.parse){if(!Te(e,t,n))continue;g=n.rawParams,h=n.extract}r&&i.route&&i.kind!==F&&Ee(c,n)&&(c=n);let _=l===o;if(_&&(i.route&&(!a||i.kind===F||i.kind===2)&&Ee(u,n)&&(u=n),!i.optional&&!i.wildcard&&!i.index&&!i.pathless))continue;let v=_?void 0:t[l],y;if(_&&i.index){let n={node:i.index,index:l,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g},r=!0;if(i.index.parse&&(Te(e,t,n)||(r=!1)),r){if(!p&&!m&&!d&&we(f,o))return n;Ee(u,n)&&(u=n)}}if(i.wildcard)for(let e=i.wildcard.length-1;e>=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!(r&&(_||!(n.caseSensitive?v:y??=v.toLowerCase()).startsWith(r)))){if(a){if(_)continue;let e=t.slice(l).join(`/`),i=e.slice(-a.length);if((n.caseSensitive?i:i.toLowerCase())!==a||e.length-a.length<r.length)continue}s.push({node:n,index:o,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}}if(i.optional){let e=d|1<<i.depth+1;for(let t=i.optional.length-1;t>=0;t--){let n=i.optional[t];s.push({node:n,index:l,skipped:e,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}if(!_)for(let e=i.optional.length-1;e>=0;e--){let t=i.optional[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)<n.length)continue}s.push({node:t,index:l+1,skipped:d,statics:f,dynamics:p,optionals:m+Ce(o,l),extract:h,rawParams:g})}}if(!_&&i.dynamic&&v)for(let e=i.dynamic.length-1;e>=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)<n.length)continue}s.push({node:t,index:l+1,skipped:d,statics:f,dynamics:p+Ce(o,l),optionals:m,extract:h,rawParams:g})}if(!_&&i.staticInsensitive){let e=i.staticInsensitive.get(y??=v.toLowerCase());e&&s.push({node:e,index:l+1,skipped:d,statics:f+Ce(o,l),dynamics:p,optionals:m,extract:h,rawParams:g})}if(!_&&i.static){let e=i.static.get(v);e&&s.push({node:e,index:l+1,skipped:d,statics:f+Ce(o,l),dynamics:p,optionals:m,extract:h,rawParams:g})}if(i.pathless)for(let e=i.pathless.length-1;e>=0;e--){let t=i.pathless[e];s.push({node:t,index:l,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}}if(u)return u;if(r&&c){let n=c.index;for(let e=0;e<c.index;e++)n+=t[e].length;let r=n===e.length?`/`:e.slice(n);return c.rawParams??=Object.create(null),c.rawParams[`**`]=decodeURIComponent(r),c}return null}function Ce(e,t){return 2**(e-t-1)}function we(e,t){return e===2**(t-1)-1}function Te(e,t,n){let r,i;try{[r,i]=ye(e,t,n)}catch{return null}if(n.rawParams=r,n.extract=i,!n.node.parse)return!0;try{if(n.node.parse(r)===!1)return null}catch{}return!0}function Ee(e,t){return e?t.statics>e.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===F)>(e.node.kind===F)||t.node.kind===F==(e.node.kind===F)&&t.node.depth>e.node.depth))):!0}function De(){try{return sessionStorage}catch{return}}var Oe=`tsr-scroll-restoration-v1_3`,ke=De();function Ae(){try{return JSON.parse(ke?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}var R=Ae(),je=`data-scroll-restoration-id`,Me=e=>e.state.__TSR_key||e.href;function Ne(e){let t=e.getAttribute(je);if(t)return`[${je}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}function Pe(e,t){let n=R[(t.getKey||Me)(e.latestLocation)];if(!n)return;if(t.id)return n[`[${je}="${t.id}"]`];let r=t.getElement?.();if(r)return n[r===window?z:Ne(r)]}var Fe=!1,z=`window`;function Ie(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function Le(e){let t=new Set;for(let n of e){if(n===z)continue;let e=Ie(n);e&&t.add(e)}return t}function Re(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.e=!0);let i=e.options.getScrollRestorationKey||Me,a=new Set,o=e=>{let t=R[e]||={};for(let e of a)e===document?t[z]={scrollX,scrollY}:e.isConnected&&(t[Ne(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.s&&(r.s=!0,Fe=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{Fe||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{history.scrollRestoration=`auto`,o(i(e.stores.resolvedLocation.get()??e.stores.location.get()));try{ke?.setItem(Oe,JSON.stringify(R))}catch{}}),addEventListener(`pageshow`,e=>{e.persisted&&(history.scrollRestoration=`manual`)})),!r.r&&(r.r=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.n,c=r.h,l;if(a.clear(),r.n=!0,r.h=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.e&&d&&d!==u){let e=R[d];if(e){let t=R[u];for(let n in e){if(n===z){if(s)continue}else{let e=Ie(n);if(!e||s&&o&&(l??=Le(o),l.has(e)))continue}t||=R[u]={},t[n]??=e[n]}}}Fe=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=Le(o));let t=e&&i&&c,s=r.e?R[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===z){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=Ie(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{Fe=!1}}))}var ze=/^(?:\s|["[{\d-]|fa|nu|tr)/,Be=He(JSON.parse),Ve=Ue(JSON.stringify,JSON.parse);function He(e){let n=e===JSON.parse;return r=>{r[0]===`?`&&(r=r.slice(1));let i=t(r);for(let t in i){let r=i[t];if(typeof r==`string`){if(n&&!ze.test(r))continue;try{i[t]=e(r)}catch{}}}return i}}function Ue(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!ze.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=o(e,r);return t?`?${t}`:``}}var We=`__root__`;function Ge(e,t,n){let r=te(e),i=`/${r}`,a=t?i:i.toLowerCase(),o=`${a}/`,s={input:({url:e})=>{let n=t?e.pathname:e.pathname.toLowerCase();return n===a?e.pathname=`/`:n.startsWith(o)&&(e.pathname=e.pathname.slice(i.length)),e},output:({url:e})=>(e.pathname=M(`/${r}${e.pathname}`),e)};return n?{input:({url:e})=>Ke(n,s.input({url:e})),output:({url:e})=>s.output({url:qe(n,e)})}:s}function Ke(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function qe(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Je(e){let t=e;return{get(){return t},set(e){t=u(e,t)}}}function Ye(e){return{get(){return e()}}}function Xe(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),s=n(e),c=n(void 0),l=n([]),u=r(()=>l.get().map(e=>a.get(e).get())),d=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:u.get(),location:s.get(),resolvedLocation:c.get()}));function f(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let p={status:o,location:s,resolvedLocation:c,ids:l,matches:u,byRoute:a,__store:d,getMatchStore:f,setMatches:m};function m(e){let t=l.get(),n=e.map(e=>e.routeId);i(()=>{j(t,n)||l.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=f(t.routeId);e.get()!==t&&e.set(t)}})}return p}var B=`__TSR_index`,Ze=`popstate`,Qe=`beforeunload`,$e=/^[\x00-\x20]*(?:[\\/][\t\n\r]*){2,}/;function et(e){let t=$e.exec(e);return t?`/`+e.slice(t[0].length):e}function tt(e){return/[\x00-\x1f\x7f]/.test(e)&&(e=e.replace(/[\x00-\x1f\x7f]/g,e=>`
2
+ \r`.includes(e)?``:encodeURIComponent(e))),et(e)}function nt(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async n=>{let r=n.navigateOpts?.ignoreBlocker?void 0:e.getBlockers?.();if(typeof document<`u`&&r?.length&&(n.type===`PUSH`||n.type===`REPLACE`))for(let i of r){let r=at(n.path,n.state);if(await i.blockerFn({currentLocation:t,nextLocation:r,action:n.type})){e.onBlocked?.();return}}n.task()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[B];i=rt(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[B];i=rt(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t,n?.ignoreBlocker??!1),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[B]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r,_getBlockers:()=>e.getBlockers?.()??[]}}function rt(e,t){let n=ot();return{...t,key:n,__TSR_key:n,[B]:e}}function it(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=t=>tt(e?.createHref?e.createHref(t):t),c=e?.parseLocation??(()=>at(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=ot();t.history.replaceState({[B]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(t,n,r)=>{let i=e?.createHref?s(n):void 0,a=!!g;a||(u=l),l=at(n,r),g=[i??l.href,r,g?.[2]||t],a||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(m=!1,f){f=!1;return}let e=c(),n=e.state[B]-l.state[B],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let r=a();if(typeof document<`u`&&r.length){for(let i of r)if(await i.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(-n),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=nt({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0,m=!0),t.history.back()),forward:e=>{e&&(p=!0,m=!0),t.history.forward()},go:(e,n)=>{d=!0,n&&(p=!0,m=!0),t.history.go(e)},createHref:s,flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(Qe,x,{capture:!0}),t.removeEventListener(Ze,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return S._ignoreNextBeforeUnload=e=>{m=!1;try{e=new URL(e,t.document.baseURI).href,m=/^https?:/.test(e)&&(!e.includes(`#`)||e.split(`#`)[0]!==t.location.href.split(`#`)[0])}catch{}},t.addEventListener(Qe,x,{capture:!0}),t.addEventListener(Ze,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function at(e,t){let n=tt(e),r=n.indexOf(`#`),i=n.indexOf(`?`);if(!t){let e=ot();t={[B]:0,key:e,__TSR_key:e}}return{href:n,pathname:n.slice(0,r>-1?i>-1?Math.min(r,i):r:i>-1?i:n.length),hash:r>-1?n.slice(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t}}function ot(){return(Math.random()+1).toString(36).slice(7)}function st(e,t){return e.protocol!==`http:`&&e.protocol!==`https:`||e.origin!==t||!!e.username||!!e.password}function ct(e){return e.pathname+e.search+e.hash}function lt(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function ut(e){return e instanceof Error?{name:e.name,message:e.message}:{data:e}}function dt(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function ft({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function pt(e){return e.findIndex(e=>e.status===`error`||e.status===`notFound`||e._notFound)+1}function mt(e,t,n,r,i,a){r&&(t=t.slice(0,r)),i&&(n=n.slice(0,i));for(let r of t){if(a&&e._tx!==a)return;n.some(e=>e.routeId===r.routeId)||e.routesById[r.routeId].options.onLeave?.(r)}for(let r of n){if(a&&e._tx!==a)return;e.routesById[r.routeId].options[t.some(e=>e.routeId===r.routeId)?`onStay`:`onEnter`]?.(r)}}var ht=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={n:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options;this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.staticLocations=new WeakMap,this.protocolAllowlist=new Set(this.options.protocolAllowlist),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=it()),this.origin=this.options.origin,this.origin||(window?.origin&&window.origin!==`null`?this.origin=window.origin:this.origin=`http://localhost`);let n=this.options.basepath??`/`,r=this.options.rewrite,i=this.basepath!==n||t?.rewrite!==r||t?.caseSensitive!==this.options.caseSensitive;if(i&&(this.basepath=n,this.rewrite=n!==`/`&&te(n)?Ge(n,this.options.caseSensitive,r):r),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;e=this.buildRouteTree(),this.setRoutes(e)}if(this.stores)i&&this.stores.location.set(this.latestLocation);else if(this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=Xe(this.latestLocation,e),Re(this)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=_e(this.routeTree,this.options.caseSensitive);return this.options.routeMasks&&pe(this.options.routeMasks,e.processedTree),{...e,resolvePathCache:ce(1e3)}},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i},a)=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:A(e),external:!1,searchStr:o,search:m(t?.search,i),hash:A(r.slice(1)),state:h(t?.state,a)}}let o=Ke(this.rewrite,new URL(i,this.origin)),s=this.options.parseSearch(o.search),c=this.options.stringifySearch(s);return o.search=c,{href:o.href.replace(o.origin,``),publicHref:i,pathname:A(et(o.pathname)),external:!!this.rewrite&&st(o,this.origin),searchStr:c,search:m(t?.search,s),hash:A(o.hash.slice(1)),state:h(t?.state,a)}},r=n(e,e.state),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i,{...i.state,__tempLocation:void 0,key:r.state.key,__TSR_key:r.state.__TSR_key});return e.maskedLocation=r,e}return r},this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=ge(P(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{{let t=this.staticLocations.get(e);if(t)return t}let t=!1,n=(n={})=>{if(n.href){let e=at(n.href,{});n={...n,to:Ke(this.rewrite,new URL(e.pathname,this.origin)).pathname,search:this.options.parseSearch(e.search),hash:e.hash.slice(1)}}let r=e._fromLocation||this._pendingLocation||this.latestLocation,i,a=()=>(t=!0,r),o=()=>i??=this.matchRoutesLightweight(a()),s=n.to?`${n.to}`:`.`,c=re(s[0]===`/`?``:n.unsafeRelative===`path`?a().pathname:n.from??o()[1],s,this.options.trailingSlash,this.resolvePathCache),l=this.routesByPath[P(c)],u=c.includes(`$`),d;if(l)d=l._branch??=be(l);else if(u)d=[];else{let[e,t,n]=this.getMatchedRoutes(c);d=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(d=[...d,this.options.notFoundRoute])}let m=u?l?._interpolation??I(!1,{fullPath:c},0):void 0,h;for(let e of d){let t=e.options.params?.stringify??e.options.stringifyParams;if(t){let e=o()[3];if(h??=bt(n.params,e),!f(h))break;h===e&&(h=Object.assign(p(),h));try{Object.assign(h,t(h))}catch{}}}h??=bt(n.params,xt(n.params,m)?o()[3]:St);let g=e.leaveParams?c:et(A(m?se(c,m,h,this.pathParamsDecoder):c)),_=Ct(d,e._includeValidateSearch),v=()=>{let t=o()[2];if(e._includeValidateSearch&&this.options.search?.strict){let e={};d.forEach(n=>{if(n.options.validateSearch)try{Object.assign(e,yt(n.options.validateSearch,{...e,...t}))}catch{}}),t=e}return t},y=_.length?wt(_,v(),n):n.search===!0?v():typeof n.search==`function`?n.search(v()):n.search||St,b=this.options.stringifySearch(y),x=n.hash===!0?a().hash:typeof n.hash==`function`?n.hash(a().hash):n.hash||void 0,S=x?`#${x}`:``,C=n.state?n.state===!0?a().state:typeof n.state==`function`?n.state(a().state):n.state:St,w=`${g}${b}${S}`,T,E,D=!1;if(this.rewrite){let e=new URL(w,this.origin),t=e.origin,n=qe(this.rewrite,e);T=ct(e),st(n,t)?(E=n.href,D=!0):E=et(ct(n))}else T=ee(w),E=T;return{publicHref:E,href:T,pathname:g,search:y,searchStr:b,state:C,hash:x??``,external:D,unmaskOnReload:n.unmaskOnReload}},r=n(e);if(e.mask)r.maskedLocation=n({from:e.from,...e.mask});else if(this.options.routeMasks){let t=me(r.pathname,this.processedTree);if(t){let i=Object.assign(p(),t.rawParams),{from:a,params:o,...s}=t.route,c=bt(o,i);r.maskedLocation=n({from:e.from,...s,params:c})}}return!t&&e._fromLocation&&this.staticLocations.set(e,r),r},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=n.maskedLocation??n;if(r.external)return gt(this,r.publicHref,{replace:n.replace,ignoreBlocker:t});let i,a=P(this.latestLocation.href)===P(n.href)&&_(ft(n.state),ft(this.latestLocation.state)),o=this._commitPromise,s,c=new Promise(e=>{s=e});if(c.resolve=()=>{s(),o?.resolve()},this._commitPromise=c,a)this.load();else{let{maskedLocation:r,hashScrollIntoView:a,...o}=n;r&&(o={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state={...o.state,__hashScrollIntoViewOptions:a??this.options.defaultHashScrollIntoView??!0},this.shouldViewTransition=e,i=n.replace?`REPLACE`:`PUSH`,this.history[i===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:i}})}return this._scroll.n=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,...a}={})=>{let o=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=o;let s=this.commitLocation({...o,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===o&&(this._pendingLocation=void 0)}),s},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=n?w(n):void 0;if(a||t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i}),a=t.maskedLocation??t;n??=a.publicHref,r??=a.publicHref}return gt(this,!a&&r?r:n,i)}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.h=e.action.type===`PUSH`||e.action.type===`REPLACE`),await cn(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(dt(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set,a=e=>{(!n||n(e))&&i.add(e.id)};t.forEach(a),this._cache.forEach(a),r?.forEach(e=>e.forEach(a)),this._tx?.[3].forEach(a);let o=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),o.push(e));this._committed=t.map(t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&lt(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t});for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i){let t=this._flights?.get(e);this._flights?.delete(e),t&&!t[2]&&o.push(t[1])}for(let e of o)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.options,n=e.headers.get(`Location`)||t.href;if(!n){let e=this.buildLocation(t);n=(e.maskedLocation??e).publicHref||`/`}let r;if(T.test(n)||(r=w(n))&&!this.protocolAllowlist.has(r))throw Error(`Redirect blocked: unsafe protocol`);if(r===`http:`||r===`https:`){let e=new URL(n);e.pathname.startsWith(`//`)?n=e.href:st(e,this.origin)||(n=ct(e),r=void 0)}return r&&(t.reloadDocument=!0),t.href=n,e.headers.set(`Location`,n),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=V,this.preloadRoute=e=>ln(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?re(e.from||``,e.to,this.options.trailingSlash,this.resolvePathCache):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=he(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!_(o.rawParams,e.params,!0)?!1:t?.includeSearch??!0?_(a.search,r.search,!0)?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,e.pathParamsAllowedCharacters?.length&&(this.pathParamsDecoder=ie(e.pathParamsAllowedCharacters)),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??Ve,parseSearch:e.parseSearch??Be,protocolAllowlist:e.protocolAllowlist??C}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes(e){Object.assign(this,e),this.lightweightCache=new WeakMap,this.staticLocations=new WeakMap;let t=this.options.notFoundRoute;t&&(t.init(99999999999),this.routesById[t.id]!==t&&(t._interpolation=I(!1,t,0)),this.routesById[t.id]=t)}matchRoutesInternal(e,t){let[n,a,o]=this.getMatchedRoutes(e.pathname),s=n,c=!1;(o?o.path!==`/`&&a[`**`]:P(e.pathname))&&(this.options.notFoundRoute?s=[...s,this.options.notFoundRoute]:c=!0);let l=c?Tt(this.options.notFoundMode,s):void 0,u=Array(s.length),d=this._committed,f=(e,t)=>{let n=d[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?d.find(t=>t.routeId===e.id):void 0},g;for(let n=0;n<s.length;n++){let o=s[n],c=u[n-1],d,_,v;{let n=c?.search??e.search,r=c?._strictSearch??void 0;try{let e=yt(o.options.validateSearch,{...n})??void 0;d={...n,...e},_={...r,...e}}catch(e){let r=e;if(e instanceof _t||(r=new _t(e.message,{cause:e})),t?.throwOnError)throw r;d=n,_={},v=r}}let y=``,b=``;try{y=o.options.loaderDeps?.({search:d})??``,b=y&&JSON.stringify(y)||``}catch(e){if(t?.throwOnError)throw e;v??=e}let x=p(),S=o._interpolation?se(o.fullPath,o._interpolation,a,this.pathParamsDecoder,x):o.fullPath,C=o.id+S+b,w=f(o,n),T=this._cache.get(C)??(w?.id===C?w:void 0);g=T?._strictParams??Object.assign(x,g);let E;if(!T)try{Et(o,g)}catch(e){if(E=i(e)||r(e)?e:new vt(e.message,{cause:e}),t?.throwOnError)throw E}let D=w?`stay`:`enter`,O;if(T)O={...T,cause:D,search:m(w?w.search:T.search,d),_strictSearch:_,searchError:v};else{let e=lt(o)?`pending`:`success`;O={id:C,ssr:o.options.ssr,index:n,routeId:o.id,params:w?.params??g,_strictParams:g,pathname:S,updatedAt:Date.now(),search:w?m(w.search,d):d,_strictSearch:_,searchError:v,status:e,isFetching:!1,error:void 0,paramsError:E,context:{},abortController:t?._controller??new AbortController,cause:D,loaderDeps:w?h(w.loaderDeps,y):y,invalid:!1,preload:!1,staticData:o.options.staticData||{},fullPath:o.fullPath}}let k=l===o.id;O._notFound&&!k&&(O.error=void 0),O._notFound=k,u[n]=O}for(let e=0;e<u.length;e++){let n=u[e];n.params=n.cause===`stay`?m(n.params,g):g,t?._controller&&(n.context={})}return u}matchRoutesLightweight(e){let t=l(this.stores.ids.get()),n=t?this.stores.byRoute.get(t).get():void 0,r=n?.id,i=this.lightweightCache.get(e);if(i&&i[0]===r)return i[1];let[a,o]=this.getMatchedRoutes(e.pathname),s=l(a),c={...e.search};for(let e of a)try{Object.assign(c,yt(e.options.validateSearch,c))}catch{}let u=n&&n.routeId===s.id&&n.pathname===e.pathname,d;if(u)d=n.params;else{let e=o;for(let t of a)try{Et(t,e)}catch{}d=e}let f=[a,s.fullPath,c,d];return this.lightweightCache.set(e,[r,f]),f}};async function gt(e,t,{replace:n,ignoreBlocker:r}){if(!E(t,e.protocolAllowlist)){if(!r){let t=e.history._getBlockers();for(let r of t)if(r?.blockerFn&&await r.blockerFn({currentLocation:e.history.location,nextLocation:e.history.location,action:n?`REPLACE`:`PUSH`}))return}e.history._ignoreNextBeforeUnload?.(t),n?window.location.replace(t):window.location.href=t}}var _t=class extends Error{},vt=class extends Error{};function yt(e,t){if(e==null)return{};if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw new _t(`Async validation not supported`);if(n.issues)throw new _t(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return`parse`in e?e.parse(t):typeof e==`function`?e(t):{}}function bt(e,t){if(e===void 0||e===!0)return t;let n=Object.create(null);return e===!1||e===null?n:typeof e==`function`?(Object.assign(n,t),Object.assign(n,e(n))):Object.assign(n,t,e)}function xt(e,t){return typeof e==`function`?!0:!t||e===!1||e===null?!1:e===void 0||e===!0||t.some(t=>typeof t!=`string`&&!d.call(e,t[1]))}var St=Object.freeze({});function Ct(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r].options;`search`in i?i.search?.middlewares&&n.push(...i.search.middlewares):(i.preSearchFilters||i.postSearchFilters)&&n.push(({search:e,next:t})=>{let n=t(i.preSearchFilters?i.preSearchFilters.reduce((e,t)=>t(e),e):e);return i.postSearchFilters?i.postSearchFilters.reduce((e,t)=>t(e),n):n});let a=i.validateSearch;t&&a&&n.push(({search:e,next:t,meta:n})=>{let r=t(e);try{let e=yt(a,r);if(n&&e)for(let t in e)t in r||(n.defaulted||=new Map).set(t,e[t]);return{...r,...e}}catch{}return r})}return n}function wt(e,t,n){let r=(t,i,a)=>{if(t>=e.length){if(!n.search)return{};if(n.search===!0)return i;let e=u(n.search,i);return a&&(a.explicit=e),e}return e[t]({search:i,next:(e,n)=>{if(n){let n=a||{};return{search:r(t+1,e,n),meta:n}}return r(t+1,e,a)},meta:a})};return r(0,t)}function Tt(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return We}function Et(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function Dt(e,t){return e.options[t]?.preload?.()}function Ot(e,t){let n=Dt(e,`component`),r=Dt(e,`pendingComponent`);return t&&(r?r=r.then(t):t()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}function V(e,t,n){let r=()=>t===!1?void 0:t?Dt(e,t):Ot(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function kt(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t<e.length?e.slice(0,t):e}function At(e,t,n){let r=e._tx;return t&&r?.[2]===n&&!r[3].some(e=>e.routeId===t)}function jt(e){let t=e.length;for(let n=0;n<t;n++){let r=e[n];if(r._assetEnd!==void 0){t=Math.min(t,Math.max(n+1,r._assetEnd));continue}if(r.status!==`success`||r._notFound){t=n+1;break}}return t<e.length?e.slice(0,t):e}var H=0,U=1,Mt=2,W=3,G=[4];function Nt(e){return typeof e[0]==`number`}function K(e,t){return t.aborted?Promise.race([Promise.reject(t),e]):new Promise((n,r)=>{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).then(()=>t.removeEventListener(`abort`,i))})}function q(e,t){return e.routesById[t.routeId]}function Pt(e,t,n){return r(e)?[W,e]:i(e)?(e.routeId||=n,[Mt,e]):t?(typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),[U,e]):[H,e]}function Ft(e,t){let n=Pt(t,!0,e.id);if(n[0]!==U)return n;try{e.options.onError?.(n[1])}catch(t){n=Pt(t,!0,e.id)}return n}function It(e,t,n,r,i){return i[0].signal.aborted?G:Yt(e,t,n,Ft(n,r),i)}async function Lt(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[3];for(let i=n[6]??0;i<r;i++){let r=s[i],u=q(e,r);r.abortController=n[0];let d=s[i-1]?.context??e.options.context??{},f={params:r.params,location:o,navigate:t=>e.navigate({...t,_fromLocation:o}),buildLocation:e.buildLocation,cause:l?`preload`:r.cause,abortController:n[0],preload:l,matches:s,routeId:u.id};try{let e=r._ctx||=u.options.context?u.options.context({...f,deps:r.loaderDeps,context:d})||{}:void 0;r.context={...d,...e}}catch(a){return J(e,r),[i,It(e,t,u,a,n)]}if(c.aborted)return[i,G];let p=r.paramsError??r.searchError;if(p!==void 0)return J(e,r),[i,It(e,t,u,p,n)];let m=u.options.beforeLoad;if(!m)continue;let h=r.status;i>=a&&(r.status=`pending`,n[7]?.());try{Bt(e,r,`beforeLoad`,n[0]);let a=m({...f,search:r.search,context:r.context,...e.options.additionalContext}),o=await(typeof a?.then==`function`?K(a,c):a);if(c.aborted)return[i,G];let s=Yt(e,t,u,Pt(o,!1,u.id),n);if(s[0]!==H)return J(e,r),[i,s];r.context={...r.context,...o}}catch(a){return J(e,r),[i,It(e,t,u,a,n)]}finally{r.status=h,Bt(e,r,!1,n[0])}}i()}function Rt(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function J(e,t){let n=t._flight;t._flight=void 0,Rt(e,t,n)?.abort()}function Y(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=Rt(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function zt(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Bt(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Vt(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:t=>e.navigate({...t,_fromLocation:s}),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Ht(e,t,n,r,i,a,o){let s=o[0],c=s.signal;if(c.aborted)return G;if(!i)return[H,void 0];let l=n._flight;Bt(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Vt(e,t,n,r,s,a,!!o[3]))).then(e=>Pt(e,!1,r.id),e=>Pt(e,!0,r.id)).then(t=>(t[0]!==H&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===U&&l[2]?Ft(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],Yt(e,t,r,await K(l[0],c),o)}catch(t){if(t!==c||!c.aborted)throw t;return J(e,n),G}finally{Bt(e,n,!1,s)}}function Ut(e,t,n){t[0]!==W&&(e.status=`success`,e.error=void 0,t[0]===H?(e.loaderData=t[1],e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):e.invalid=!0)}function Wt(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&J(e,r)}function Gt(e,t){return t[0]===U||t[0]===Mt?{...e,status:t[0]===U?`error`:`notFound`,error:t[1],_flight:void 0}:e}function Kt(e,t,n,r,i,a,o){let s=t[1][n],c=q(e,s),l=!!a[3],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Vt(e,t,s,c,a[0],i,l))),a[0].signal.aborted&&(p=G)),!p)if(s.status!==`success`)f=!0;else{let t=l||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[5]||s.cause===`enter`||a[2].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}catch(n){s.invalid=!0,J(e,s),p=It(e,t,c,n,a)}let m=c.options.loader,h=typeof m==`function`,g=h?m:m?.handler,_=!l||c.options.preload!==!1,v=_&&m?e._flights?.get(s.id):void 0;v===s._flight||p?v=void 0:v&&!f&&!l&&d===void 0?f=!0:f||(v=void 0);let y=!!(m&&f&&s.status===`success`&&!l&&!a[4]&&((h?void 0:m.staleReloadMode)??e.options.defaultStaleReloadMode)!==`blocking`),b=f&&_,x=b&&!y&&(s.status!==`success`||!!m),S=n>=o?a[7]:void 0,C=c.lazyFn&&c._lazy!==!0?S:void 0;if(b&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),v&&v[2]++,x){let t=s._flight;s._flight=v,Rt(e,s,t)?.abort(),n>=o&&(s.status=`pending`),S?.()}b||(s.isFetching=!1);let w=!p&&x?Ht(e,t,s,c,g,i,a).then(t=>(Ut(s,t,l),t[0]===H&&(m&&!a[0].signal.aborted&&Wt(e,s,u),n>=o&&(s.status=`pending`)),t)):Promise.resolve(p??[H,s.loaderData]),T=(async()=>{try{let e=V(c,void 0,C);e&&await K(e,a[0].signal)}catch(r){if(!t[1].some((e,t)=>t<=n&&(e.status===`error`||e.status===`notFound`||e._notFound)))return[n,It(e,t,c,r,a)]}let r=await w;x&&r[0]===H&&s.status===`pending`&&!a[0].signal.aborted&&(s.status=`success`,S?.())})();if(r.push([n,w,T]),!y)return w.then(e=>Gt(s,e));let E={...s,status:`pending`,preload:!1,_flight:v};s.invalid=!1,s.isFetching=`loader`;let D=Ht(e,t,E,c,g,i,a).then(e=>(s.isFetching=!1,Ut(E,e,!1),e));return(t[2]??=[]).push([n,D,T,E]),D.then(e=>Gt(E,e))}async function qt(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=q(e,t[n]);try{let e=V(i,!1);e&&await K(e,r)}catch(e){if(e===r&&r.aborted)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function X(e,t){t[2]&&=(Y(e,t[2].map(e=>e[3])),void 0)}async function Jt(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=W)throw[a,t];!i&&t[0]!==H&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===W)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}function Yt(e,t,n,r,i,a){for(;r[0]===W;){let o=r[1],s=o.options;try{if((s.href||o.headers.has(`Location`))&&(e.resolveRedirect(o),s.reloadDocument)||(s.reloadDocument?i[3]:i[1]>=20))return r;let n=e.buildLocation({...s,_fromLocation:t[0],_includeValidateSearch:!0}),a=n.maskedLocation??n;if(a.external){let t=o.clone();return t.options={...s},t.headers.set(`Location`,a.publicHref),e.resolveRedirect(t),i[3]?[W,t]:[W,t,a]}return[W,o,n]}catch(e){r=a?[U,e]:Ft(n,e),a=!0}}return r}async function Xt(e,t,n,r,i,a){let o=t[1],s=await i,c=!1,l=o.findIndex(e=>e._notFound),u=t=>t[1][0]===Mt?qt(e,o,t,r.signal):t[0],d=l<0?o.length:l;if((s?.[1][0]??0)>=W)d=0;else if(s){d=s[2]??=await u(s);for(let e of n){if(e[0]>=d)break;let t=await e[1];if(t[0]!==H&&t[0]<W&&!(`loaderData`in o[e[0]])){s=[e[0],t],d=s[2]=await u(s);break}}}for(let e of n){if(e[0]>=d)break;let t=await e[2];if(t){s=t;break}}if((s?.[1][0]??0)>=W){let n=s[1];if(n[0]!==W||n[1].options.reloadDocument||n[2])return X(e,t),n;c=!0,s=[0,[U,Error(`Too many redirects`)]]}let f=s?s[2]??await u(s):l;if(f>=0){let i=s?.[1],l=i?.[0],u=o[f],d=i?.[1],p=()=>{i&&(u._notFound=void 0,l===U?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};p(),i||a?.();let m=q(e,u);try{await K(i?Promise.resolve().then(()=>V(m,l===U?`errorComponent`:`notFoundComponent`)):Promise.all([V(m),V(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal&&r.signal.aborted)return X(e,t),G}i?c&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),X(e,t),Y(e,o),p()):u.status=`success`}return t}async function Zt(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;t<i;t++){let r=a[t],i=q(e,r).options;if(i.head||i.scripts)try{let t={ssr:e.options.ssr,matches:a,match:r,params:r.params,loaderData:r.loaderData},[o,s]=await K(Promise.all([i.head?.(t),i.scripts?.(t)]),n);r.meta=o?.meta,r.links=o?.links,r.headScripts=o?.scripts,r.styles=o?.styles,r.scripts=s}catch(e){if(e===n&&n.aborted)break;console.error(e)}if(r.status!==`success`||r._notFound)break}return t}async function Qt(e,t,n,r){let i=[t,n],a=r[0].signal,o;try{let t=e.stores.matches.get(),s=n.findIndex(e=>e._notFound);if(e.options.notFoundMode!==`root`&&s>=0){let t=await qt(e,n,void 0,a,s);n[s]._notFound=void 0,n[t]._notFound=!0,s=t}let c=s<0?n.length:s+1,l=0;for(;l<c&&l!==s;){let e=n[l],i=r[2][l],a=t[l];if(i?.id!==e.id||i.status!==`success`||e.preload||a?.id!==e.id||a.status!==`success`||(l++,i._notFound||a._notFound))break}let u=[],d=r[6]??0,f=d?Promise.resolve(n[d-1]):void 0,p=()=>{for(let t=d;t<c&&!a.aborted;t++)f=Kt(e,i,t,u,f,r,l)},m=await Lt(e,i,r,c,p,l);if(m){if(r[4]=!0,c=m[0],m[1][0]===Mt){let t=await qt(e,n,m,a);m[2]=t,c=Math.min(c,t+1)}else m[1][0]>=W&&(c=0);p()}if(!a.aborted&&!r[3]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let h=Xt(e,i,u,r[0],Jt(u,m,i[2]),r[7]);i[2]?.length&&(i[3]=Jt(i[2],void 0,void 0,h.then(e=>Nt(e)?0:kt(n).length,()=>0))),o=await h}catch(t){if(X(e,i),t===a&&a.aborted)return G;throw t}return Nt(o)?o:Zt(e,o,a,r[6]===n.length?r[6]:0)}function $t(e,t){if(e._tx!==t)return;let n=t[3],r=e.stores.matches.get(),i=e._pending;for(let a=0;a<n.length;a++){let o=n[a],s=o.status===`success`&&!o._notFound,c=r[a]?.id===o.id&&r[a]?.status===`pending`;if(s&&!c)continue;let l=q(e,o),u=s||o.invalid?0:l.options.pendingMs??e.options.defaultPendingMs,d=l.options.pendingComponent??e.options.defaultPendingComponent;if(!d||typeof u!=`number`||u===1/0){i&&(i[0]=t,i[2]=0,i[4]=!0);return}let f=l.options.pendingMinMs??e.options.defaultPendingMinMs??0,p=!1;if(i?.[1]===o.id?(p=i[0]!==t,i[0]=t):(clearTimeout(i?.[3]),e._pending=i=void 0),i||(e._pending=i=[t,o.id,c?Date.now()+f:t[4]+u,void 0,c||void 0,d]),i[4]&&!p&&i[5]===d)return;if(i[5]=d,!i[4]){clearTimeout(i[3]);let n=i[2]-Date.now();if(n>0){i[3]=setTimeout(()=>$t(e,t),n);return}i[2]=0}let m=n.map(e=>({...e,_flight:void 0}));m[a].status=`pending`;let h=i[4]=e.startTransition(()=>e.stores.setMatches(m),m).then(t=>(t&&e._pending===i&&i[4]===h&&!i[2]&&(i[2]=Date.now()+f),t));return}}function Z(e,t){let n=e._pending;(e._tx===t||!e._tx?.[3].some(e=>e.id===n?.[1]))&&(clearTimeout(n?.[3]),e._pending=void 0)}async function en(e,t){let n=e._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!kt(t[3]).some(e=>e.id===n[1]))return;let i;try{await K(new Promise(e=>{i=setTimeout(e,r)}),t[0].signal)}catch{}clearTimeout(i)}function tn(e,t){e._committed=t,e.stores.setMatches(t)}function nn(e,t,n,r){let i=e._committed,a=e._lifecycleEnd,o=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let s=kt(n).length,c=new Map;{let t=Date.now(),r=new Set;for(let e=0;e<n.length;e++){let t=n[e];(e<s||t.status===`success`)&&r.add(t.id)}for(let n of[...i,...o.values()]){if(n.status!==`success`||r.has(n.id))continue;let i=q(e,n);!i.options.loader||t-n.updatedAt>=(n.preload?i.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:i.options.gcTime??e.options.defaultGcTime??3e5)||c.set(n.id,o.get(n.id)===n?n:{...n,_flight:void 0,isFetching:!1,context:{}})}}t[3]=[],e._cache=c;let l=e._lifecycleEnd=pt(n);tn(e,n),Y(e,[...o.values(),...i].filter(e=>e._flight&&c.get(e.id)!==e),n),mt(e,i,n,a,l,t)}async function rn(e,t){let n=e._tx;for(;n&&n!==t;)t=n,await n[5],n=e._tx}function an(e,t,n){let r=n[1].options,i=n[2];if(!i)return e.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return e.navigate({href:(i.maskedLocation??i).publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});i._redirects=t[1]+1,e._pendingLocation=i;let a=e.commitLocation({...i,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{e._pendingLocation===i&&(e._pendingLocation=void 0)}),a}async function on(e,t,n,r,i){let a=n.map(e=>({...e}));zt(a);for(let t of r)J(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await Xt(e,o,r,t[0],i)}catch(t){throw Y(e,a),t}if(Nt(s)){Y(e,a),s[0]===W&&e._tx===t&&e._committed===n&&await an(e,t,s);return}if(await Zt(e,s,t[0].signal),e._tx!==t||e._committed!==n){Y(e,a);return}for(let t of a){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),J(e,n))}tn(e,a),Y(e,n,a)}async function sn(e,t,n,r,i,a){let o=await Qt(e,t[2],t[3],[t[0],t[1],e._committed,void 0,i,n,a,r]);if(Nt(o)){let n=o[0]===W&&e._tx===t;if((!n||o[1].options.reloadDocument)&&Z(e,t),Y(e,t[3]),t[3]=[],!n)return;if(e._tx!==t){Z(e,t);return}await an(e,t,o);return}let s=o[1];if(e._tx===t&&await en(e,t),e._tx!==t){Z(e,t),Y(e,s),X(e,o);return}let c=t[2],l=dt(c,e.stores.resolvedLocation.get()),u=o[2];await e.startViewTransition(async()=>{if(e._tx===t&&await en(e,t),e._tx!==t){Z(e,t),Y(e,s),X(e,o);return}let n=await e.startTransition(()=>{Z(e,t),nn(e,t,s,a),e._tx===t&&(e.emit({type:`onLoad`,...l}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...l}))},s);if(e._tx!==t){X(e,o);return}u?.length&&on(e,t,s,u,o[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(c),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...l}),n&&e._tx===t&&e.emit({type:`onRendered`,...l})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function cn(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),!u.signal.aborted){let t=dt(a,r);e.emit({type:`onBeforeNavigate`,...t}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...t})}if(u.signal.aborted){await rn(e,n);return}let f=i.href===a.href,p=u,m=e.matchRoutes(a,{_controller:u});zt(m);let h=l?c[1](m):void 0;if(h?p=l:l?.abort(),u.signal.aborted){Y(e,m),await rn(e,n);return}e._preflight=void 0;let g,_=()=>sn(e,y,f,()=>$t(e,y),t?.sync,h),v=t?.sync?new Promise(e=>g=e):Promise.resolve().then(_),y=[p,s,a,m,Date.now(),v.then(()=>rn(e,y))];if(e._tx=y,n){for(let t of e.stores.matches.get()){if(e._tx!==y)break;t.isFetching&&Bt(e,t,!1)}n[0].abort(),Y(e,n[3],y[3],!0)}if(e._tx!==y){Y(e,y[3]),y[3]=[],g?.(),await rn(e,y);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),(h||!e._committed.length&&m[0]?.status!==`success`&&!m.some(e=>e._notFound))&&$t(e,y),g?.(_()),await y[5]}async function ln(e,t){let n=e.buildLocation(t);for(let t=0;;t++){let r=e._committed,a=new AbortController,o,s,c;try{try{o=e.matchRoutes(n,{_controller:a}),zt(o),s=(e._preloads??=new Map).set(a,o),c=await Qt(e,n,o,[a,t,r,!0])}finally{s&&(s=s.delete(a),Y(e,o)),a.abort()}if(!Nt(c))return c[1];if(!s||c.length<3)return;n=c[2]}catch(e){i(e)||console.error(e);return}}}async function un(e){let t=window.$_TSR,n=e.options.serializationAdapters;n?.length&&(t.t=new Map(n.map(e=>[e.key,e.fromSerializable])),t.buffer.forEach(e=>e())),t.initialized=!0;let r=t.router;e.ssr={manifest:r.manifest},e.options.ssr={nonce:document.querySelector(`meta[property="csp-nonce"]`)?.content};let i=r.matches,a=new AbortController,o=e._preflight;e._preflight=a,o?.abort();let s=()=>e._preflight===a,l,u,d,f;try{if(await K(e.options.hydrate?.(r.dehydratedData),a.signal),!s())return;let t=e.history.location;d=t.href,f=t.state,e.updateLatestLocation(),l=e.latestLocation,e.stores.location.set(l),u=e.matchRoutes(l,{_controller:a})}catch(t){if(s()&&(e._preflight=void 0),a.abort(t),t!==a.signal)throw t}if(!s())return;let p=[],m,h=0,g=t=>{h=Math.min(h,t+1);let n=p.splice(t);for(let t of n)q(e,t).options.loader&&(t.status===`success`||!t.invalid&&`loaderData`in t)&&Wt(e,{...t,status:`success`,error:void 0,preload:!0},e._cache.get(t.id));Y(e,n)},_=i.length>u.length?u.findIndex(e=>e._notFound)+1:i.length,v=!1;for(let t=0;t<_;t++){let n=u[t],r=i[t];if(r.i!==c(n.id)){m??=t;break}h=t+1;let a=q(e,n);if((`l`in r||r.s===`success`&&r.e===void 0&&a.options.loader)&&(n.loaderData=r.l),n.status=r.s,n.ssr=r.ssr,a.options.ssr=n.ssr,n.updatedAt=r.u,n.error=r.e,n._notFound||=r.g,n.status===`error`||n.status===`notFound`||n._notFound){v=!0,p.push(n),(n.ssr===!1||n.ssr===`data-only`)&&(m??=t);break}if(n.status===`pending`){m??=t;break}p.push(n),n.ssr===`data-only`&&(m??=t)}!v&&p.length===_&&_<u.length&&(m=_);let y=p.map(async t=>{try{let n=q(e,t);return await(t._notFound?Promise.all([V(n),V(n,`notFoundComponent`)]):V(n,t.status===`error`?`errorComponent`:t.status===`notFound`?`notFoundComponent`:void 0)),!0}catch{return!1}}),b=0;try{for(;b<y.length&&await K(y[b],a.signal);)b++}catch{return}if(!s())return;b<p.length&&g(b);let x=Math.max(m===p.length?p.length+1:p.length,b<y.length?b:h);for(let t=0;t<x;t++){let n=u[t],r=q(e,n),o=u[t-1]?.context??e.options.context??{},c;if(r.options.context){try{c=n._ctx=r.options.context({deps:n.loaderDeps,params:n.params,context:o,location:l,navigate:t=>e.navigate({...t,_fromLocation:l}),buildLocation:e.buildLocation,cause:n.cause,abortController:a,preload:!1,matches:u,routeId:r.id})||{}}catch{if(!s())return;if(n.status!==`error`&&n.status!==`notFound`&&!n._notFound){m=Math.min(m??t,t),g(t);break}}if(!s())return}n.context={...o,...c,...p[t]&&i[t].b}}if(await Zt(e,[l,u],a.signal,0,h),!s())return;let S=m!==void 0||p.length<_,C=v&&p.length===_?u:p,w=S?u:C,T;if(S&&m!==void 0){let e=w[m];T=e.ssr===`data-only`&&h>m+1?h:void 0,w=w.slice(),w[m]={...e,status:`pending`,ssr:e.ssr===`data-only`?`data-only`:!1,_assetEnd:T}}let E=()=>{let t=e.history.location;return S&&!e._tx&&t.href===d&&t.state===f&&e._committed===C&&C.length&&!a.signal.aborted?a:void 0},D=[E,t=>{if(e._handoff!==D)return;e._handoff=void 0;let n=C.length;if(!t||!E()||C.some((e,n)=>e.id!==t[n]?.id)){a.abort();return}let r=T;if(r!==void 0){for(let e=n;e<r;e++)if(u[e]?.id!==t[e]?.id){r=e>m+1?e:void 0;break}}let i=C.map(e=>({...e}));r!==void 0&&(i[m]._assetEnd=r),Y(e,t.splice(0,n,...i));for(let e=n;e<t.length;e++){let n=t[e],r=u[e];r?.id===n.id&&r._ctx&&(n._ctx=r._ctx),n.abortController=a}return n}];e._committed=C,e._lifecycleEnd=pt(C),e._handoff=D,e._preflight=void 0,e.batch(()=>{e.stores.setMatches(w),e.stores.status.set(`idle`),S||e.stores.resolvedLocation.set(e.stores.location.get())})}var dn=`Error preloading route! ☝️`,Q=a(s(),1),fn=Q.createContext(null);function pn(e){return Q.useContext(fn)}function mn(e,t){let n=e.stores.location,r=new Set,i,a,o=n=>{At(e,t,n)||(i=n,r.forEach(e=>e()))};return[()=>i??n.get(),e=>(r.size||(i=n.get(),a=n.subscribe(o).unsubscribe),r.add(e),()=>{r.delete(e),r.size||(a(),i=void 0)})]}var hn=Q.createContext(void 0),gn=Q.createContext(void 0);n();function _n(...e){let t=Q.useRef(e),n=t.current;return e.forEach((e,t)=>{_(n[t],e,!1,!0)||(n[t]=e)}),t.current}function vn(e,t){e.preloadRoute(t).catch(e=>{console.warn(e),console.warn(dn)})}function yn(e,t){let n=typeof e==`string`&&w(e);if(n)return t.has(n)?e:null}function bn(e,t,n,r){let i=ne(e.pathname,r),a=ne(t.pathname,r);return(n?.exact?i!==a:!(i.startsWith(a)&&(i.length===a.length||i[a.length]===`/`)))||(n?.includeSearch??!0)&&!_(e.search,t.search,!n?.exact,n?.explicitUndefined)?!1:!n?.includeHash||e.hash===t.hash}function xn(e,t,n){let r=pn(),i=Q.useRef(null),a=Q.useCallback(e=>{if(i.current=e,typeof t==`function`)return t(e);t&&(t.current=e)},[t]),{activeOptions:o,to:s,preload:c,preloadDelay:l,disabled:u,target:d,onClick:f,onBlur:p,onFocus:m,onMouseEnter:h,onMouseLeave:g,onTouchStart:_}=e,[v,y,b]=_n(e.search,e.params,o),x=Q.useContext(hn),S=(r.stores._linkScopes??={})[x]??=mn(r,x),[C,T,E]=Q.useMemo(()=>{let t=yn(s,r.protocolAllowlist);if(t!==void 0){let n=[t??void 0];return[e,()=>n]}let n={...e},i,a,o,c=()=>{let e=S[0]();if(e!==i){n._fromLocation=e;let t=r.buildLocation(n),o=On(t,r,u),s=u||o&&!w(o)?bn(e,t,b,r.basepath):void 0;(!a||a[0]!==o||a[1]!==s)&&(a=[o,s]),i=e}return a};return[n,c,b?.includeHash&&(()=>{let e=c();return e[1]?o??=[e[0],!1]:e})]},[r,S,e.from,e.hash,e.href,s,v,y,e.state,e.mask,e.unsafeRelative,b,u]),[D,O]=Q.useSyncExternalStore(S[1],T,E||T),k=O===void 0&&D,A=u||D===void 0,ee=Q.useRef(!1),j=e.reloadDocument||k||A?!1:c??r.options.defaultPreload,M=l??r.options.defaultPreloadDelay??0,N=Q.useCallback(e=>{let t=e?.isIntersecting;if(!(t??j===`intent`)){t===!1&&Dn(i);return}if(!M){vn(r,C);return}i.t??=setTimeout(()=>{i.t=void 0,vn(r,C)},M)},[r,C,i,j,M]);Q.useEffect(()=>{if(!j)return;j===`render`&&!ee.current&&(ee.current=!0,vn(r,C));let e=!0,t;return j===`viewport`&&i.current&&typeof IntersectionObserver==`function`&&(t=new IntersectionObserver(t=>{e&&N(t.pop())},{rootMargin:`100px`}),t.observe(i.current)),()=>{e=!1,t?.disconnect(),Dn(i)}},[r,C,j,N,i]);let P=Tn(e,n);if(P.ref=t?a:i,k)return P.href=k,P;let te=t=>{let n=d??t.currentTarget.getAttribute(`target`);!A&&!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(!n||n===`_self`)&&t.button===0&&(t.preventDefault(),Dn(i),r.navigate({...e,_fromLocation:C._fromLocation}))},ne=()=>{j===`intent`&&vn(r,C)},re=()=>{j===`intent`&&Dn(i)};return P.onClick=$(f,te),P.onBlur=$(p,re),P.onFocus=$(m,N),P.onMouseEnter=$(h,N),P.onMouseLeave=$(g,re),P.onTouchStart=$(_,ne),En(P,e,O,D,A,n)}var Sn={},Cn={className:`active`},wn=new Set([`to`,`params`,`search`,`hash`,`state`,`mask`,`from`,`unsafeRelative`,`reloadDocument`,`preload`,`preloadDelay`,`preloadIntentProximity`,`hashScrollIntoView`,`replace`,`startTransition`,`resetScroll`,`viewTransition`,`ignoreBlocker`,`activeProps`,`inactiveProps`,`activeOptions`,`_asChild`]);function Tn(e,t){let n={};for(let r in e)wn.has(r)||r===`type`&&t!==void 0||r===`disabled`&&t===`a`||(n[r]=e[r]);return n}function En(e,t,n,r,i,a){let{activeProps:o,inactiveProps:s,className:c,style:l,target:d}=t,f=u(n?o:s,{})??(n?Cn:Sn);Object.assign(e,f),e.href=r,a!==`a`&&(e.disabled=i),e.target=d;let p=f.style;(l||p)&&(e.style=l&&p?{...l,...p}:l||p);let m=f.className;return(c||m)&&(e.className=c?m?`${c} ${m}`:c:m),i&&(e.role=`link`,e[`aria-disabled`]=!0),n&&(e[`data-status`]=`active`,e[`aria-current`]=`page`),e}var Dn=e=>{clearTimeout(e.t),e.t=void 0},$=(e,t)=>e?n=>n.defaultPrevented||(e(n),n.defaultPrevented||t(n)):t;function On(e,t,n){if(n)return;let r=e.maskedLocation??e,i=r.external?r.publicHref:t.history.createHref(r.publicHref)||`/`;if(!((r.external||i!==r.publicHref)&&E(i,t.protocolAllowlist)))return i}var kn=Q.memo(Q.forwardRef((e,t)=>{let n=e._asChild||`a`,r=xn(e,t,n),i=typeof e.children==`function`?e.children({isActive:r[`data-status`]===`active`}):e.children;return Q.createElement(n,r,i)}),An);function An(e,t){let n=0;for(let r in t)if(n++,e[r]!==t[r]&&(!wn.has(r)||!_(e[r],t[r],!1,!0)))return!1;for(let t in e)n--;return n===0}export{y as C,v as S,N as _,fn as a,k as b,ht as c,Je as d,Ye as f,M as g,Re as h,pn as i,ut as l,Pe as m,gn as n,jt as o,We as p,hn as r,un as s,kn as t,dt as u,P as v,h as w,f as x,_ as y};
@@ -1 +1 @@
1
- import{ar as e}from"./sidebar-BqX460IW.js";var t=e(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]);export{t};
1
+ import{ir as e}from"./sidebar-Di9SN47G.js";var t=e(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{Wr as e,ii as t,ir as n}from"./sidebar-Di9SN47G.js";import{f as r,p as i,t as a}from"./uuidv7-zXMtwR9Q.js";import{n as o,t as s}from"./relativeTime-YQt84dYr.js";var c=n(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),l=t(o(),1),u=t(s(),1),d=e();l.default.extend(u.default);function f({uuid:e,format:t=`relative`}){let n=(0,l.default)(a(e));return t===`relative`?(0,d.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:n.fromNow()}):t===`absolute`?(0,d.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:n.format(`YYYY-MM-DD HH:mm:ss`)}):(0,d.jsxs)(`div`,{className:`flex flex-col`,children:[(0,d.jsx)(`span`,{className:`text-sm`,children:n.fromNow()}),(0,d.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:n.format(`YYYY-MM-DD HH:mm:ss`)})]})}var p=e=>{let t=e.trim();if(t.startsWith(`git@`)){let e=t.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(e)return`https://${e[1]}/${e[2]}`}if(t.startsWith(`ssh://`))try{let e=new URL(t);return`https://${e.hostname}${e.pathname}`.replace(/\/+$/,``).replace(/\.git$/,``)}catch{return t.replace(/\/+$/,``).replace(/\.git$/,``)}return t.replace(/\/+$/,``).replace(/\.git$/,``)},m=(e,t)=>{if(!e?.trim())return null;let n=p(e);try{let{hostname:e}=new URL(n);if(e.includes(`gitlab`))return`${n}/-/commit/${t}`;if(e.includes(`bitbucket`))return`${n}/commits/${t}`}catch{}return`${n}/commit/${t}`},h=e=>/^[\w@%+=:,./-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'\\''`)}'`,g={apk:{label:`APK`,installs:`Android device or emulator`},aab:{label:`AAB`,installs:`Google Play or bundletool`},app:{label:`Simulator app`,installs:`iOS Simulator`},ipa:{label:`IPA`,installs:`registered iOS devices`}},_=e=>e===`ios`?`iOS`:`Android`,v=e=>`/api/native-builds/${encodeURIComponent(e)}/download`,y=e=>i(e.channel_id.slice(8)),b=e=>{if(e.fingerprintHash!==null)return{platform:e.platform,channel:e.channel,fingerprintHash:e.fingerprintHash,appVersion:null};let t=e.targetAppVersion;return t===null||r(t)!==t?null:{platform:e.platform,channel:e.channel,fingerprintHash:null,appVersion:t}},x=e=>{let t=(e.artifact_storage_uri.split(/[?#]/,1)[0]??``).split(`/`).at(-1)??``;try{return decodeURIComponent(t)}catch{return t}},S=e=>e.app_version===null?{label:`Fingerprint`,value:e.fingerprint_hash??``}:{label:`App version`,value:e.app_version},C=[`B`,`KB`,`MB`,`GB`],w=e=>{let t=e,n=0;for(;t>=1024&&n<C.length-1;)t/=1024,n+=1;return`${n===0?t:t.toFixed(1)} ${C[n]}`},T=e=>{let t=x(e),n=t.replace(/\.zip$/,``);return`unzip -o ${h(t)} && xcrun simctl install booted ${h(n)}`},E=e=>`adb install -r ${h(x(e))}`;export{v as a,_ as c,m as d,f,y as i,b as l,w as n,x as o,c as p,g as r,S as s,E as t,T as u};
@@ -0,0 +1 @@
1
+ import{$ as e,Fn as t,In as n,Wr as r,ir as i,p as a}from"./sidebar-Di9SN47G.js";import{t as o}from"./link-DTEyW70e.js";import{a as s}from"./preload-helper-B44EvKhG.js";import{t as c}from"./arrow-up-right-DK8Zdg40.js";import{a as l,c as u,f as d,i as ee,n as f,o as p,p as m,r as h,s as g}from"./native-builds-BOC71grI.js";import{t as _}from"./chevron-right-BoUXo82O.js";import{a as v,i as y,n as te,o as ne,r as re,t as ie}from"./select-CBIU0_M1.js";import{t as ae}from"./download-Cf24LBde.js";import{r as oe}from"./-native-builds-search-C-TGpFAm.js";import{t as b}from"./refresh-cw-B9HHjLej.js";import{a as x,i as S,r as C,t as w}from"./StoreSubmission-JpngSvHS.js";import{a as T,f as E,i as D,n as O,o as k,r as A,s as j,t as M}from"./badge-DWFcDWho.js";import{t as N}from"./native-builds-c4BpOLAe.js";import{t as P}from"./PlatformIcon-BBWQlWm9.js";import{a as F,n as I,o as L,r as R,s as z,t as se}from"./dialog-CNUPxNxH.js";import{f as B,i as V}from"./api-P2g8dCNg.js";import{a as H,i as U,n as W,o as G,r as K,t as ce}from"./table-Bpy3SvSo.js";var le=i(`file-up`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]),ue=i(`hard-drive-download`,[[`path`,{d:`M12 2v8`,key:`1q4o3n`}],[`path`,{d:`m16 6-4 4-4-4`,key:`6wukr`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,key:`w68u3i`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`M10 18h.01`,key:`h775k`}]]),q=r(),J=`npx hot-updater native-build import <path-to-.ipa|.aab|.apk|.app|.app.zip>`,Y=`https://hot-updater.dev/docs/guides/native-build#import-a-build-made-elsewhere`;function de(){return(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Track an `,(0,q.jsx)(`code`,{className:`font-mono`,children:`.ipa`}),`,`,` `,(0,q.jsx)(`code`,{className:`font-mono`,children:`.aab`}),`,`,` `,(0,q.jsx)(`code`,{className:`font-mono`,children:`.apk`}),` or simulator`,` `,(0,q.jsx)(`code`,{className:`font-mono`,children:`.app`}),` (or its`,` `,(0,q.jsx)(`code`,{className:`font-mono`,children:`.app.zip`}),`) built elsewhere, such as by EAS, Xcode Cloud or Fastlane, so the OTAs you deploy after it patch from its built-in bundle. Run in the app's project:`]}),(0,q.jsx)(x,{label:`the import command`,value:J,wrap:!0}),(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Add `,(0,q.jsx)(`code`,{className:`font-mono`,children:`-c <channel>`}),` (`,(0,q.jsx)(`code`,{className:`font-mono`,children:`--channel`}),`) when the app reports another channel than the one it was built with, such as one its code sets or switches to at runtime.`]})]})}function fe(){return(0,q.jsxs)(se,{children:[(0,q.jsxs)(z,{render:(0,q.jsx)(t,{"aria-label":`Import a build`,className:`min-h-11 sm:min-h-7`,size:`sm`,variant:`outline`}),children:[(0,q.jsx)(le,{"data-icon":`inline-start`}),(0,q.jsx)(`span`,{className:`hidden sm:inline`,children:`Import a build`})]}),(0,q.jsxs)(I,{className:`sm:max-w-lg`,children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(L,{children:`Import a build`}),(0,q.jsx)(R,{children:`The build appears here once the command tracks it.`})]}),(0,q.jsx)(de,{}),(0,q.jsxs)(`a`,{className:n({className:`min-h-11 w-full sm:min-h-8 sm:w-fit`,variant:`outline`}),href:Y,rel:`noreferrer`,target:`_blank`,children:[`Import guide`,(0,q.jsx)(c,{"data-icon":`inline-end`})]})]})]})}var pe=`https://hot-updater.dev/docs/guides/native-build#register-a-build`,me=6;function he({channel:e,paged:r,onClearChannel:i,onNewest:a}){return(0,q.jsx)(G,{children:(0,q.jsx)(K,{className:`h-44 text-center text-muted-foreground`,colSpan:me,children:(0,q.jsxs)(`div`,{className:`mx-auto flex max-w-sm flex-col items-center gap-2 whitespace-normal`,children:[(0,q.jsx)(ue,{"aria-hidden":`true`,className:`size-5`}),r?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`font-medium text-foreground`,children:`No more native builds`}),(0,q.jsx)(t,{className:`mt-1 min-h-11 sm:min-h-8`,onClick:a,variant:`outline`,children:`Show the newest builds`})]}):e===void 0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`font-medium text-foreground`,children:`No native builds`}),(0,q.jsxs)(`p`,{children:[`Build a release app with`,` `,(0,q.jsx)(`code`,{className:`font-mono text-xs`,children:`hot-updater native-build android`}),` `,`or `,(0,q.jsx)(`code`,{className:`font-mono text-xs`,children:`native-build ios`}),`, which tracks it here, or import one built elsewhere:`]}),(0,q.jsx)(`div`,{className:`w-full text-left`,children:(0,q.jsx)(x,{label:`the import command`,value:J,wrap:!0})}),(0,q.jsxs)(`a`,{className:n({className:`mt-1 min-h-11 sm:min-h-8`,variant:`outline`}),href:pe,rel:`noreferrer`,target:`_blank`,children:[`Native build guide`,(0,q.jsx)(c,{"data-icon":`inline-end`})]}),(0,q.jsxs)(`a`,{className:n({className:`min-h-11 sm:min-h-8`,variant:`outline`}),href:Y,rel:`noreferrer`,target:`_blank`,children:[`Import guide`,(0,q.jsx)(c,{"data-icon":`inline-end`})]})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`p`,{className:`font-medium text-foreground`,children:[`No native build embeds `,(0,q.jsx)(`span`,{translate:`no`,children:e})]}),(0,q.jsx)(`p`,{children:`A build embeds the channel it was built on. Build one on this channel, or list every channel's builds.`}),(0,q.jsx)(t,{className:`mt-1 min-h-11 sm:min-h-8`,onClick:i,variant:`outline`,children:`Show all channels`})]})]})})})}function ge(){return Array.from({length:3},(t,n)=>(0,q.jsxs)(G,{children:[(0,q.jsxs)(K,{className:`space-y-2 py-3`,children:[n===0?(0,q.jsx)(`span`,{className:`sr-only`,children:`Loading native builds`}):null,(0,q.jsx)(e,{className:`h-3.5 w-40`}),(0,q.jsx)(e,{className:`h-3 w-24`})]}),(0,q.jsx)(K,{className:`hidden md:table-cell`,children:(0,q.jsx)(e,{className:`h-5 w-20`})}),(0,q.jsx)(K,{className:`hidden xl:table-cell`,children:(0,q.jsx)(e,{className:`h-3.5 w-28`})}),(0,q.jsx)(K,{className:`hidden xl:table-cell`,children:(0,q.jsx)(e,{className:`h-3.5 w-14`})}),(0,q.jsx)(K,{className:`hidden sm:table-cell`,children:(0,q.jsx)(e,{className:`h-3.5 w-20`})}),(0,q.jsx)(K,{children:(0,q.jsx)(e,{className:`ml-auto h-6 w-16`})})]},n))}function X({build:e,onChannel:t}){let r=s(),i=g(e),a=ee(e),c=`${u(e.platform)} ${h[e.artifact_kind].label}`;return(0,q.jsxs)(G,{className:`cursor-pointer`,onClick:()=>void r({to:`/native-builds/$buildId`,params:{buildId:e.id}}),children:[(0,q.jsx)(K,{className:`py-3 whitespace-normal`,children:(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,q.jsx)(P,{className:`size-3.5 shrink-0 text-muted-foreground`,platform:e.platform}),(0,q.jsx)(o,{className:`font-medium underline-offset-4 hover:underline`,onClick:e=>e.stopPropagation(),params:{buildId:e.id},to:`/native-builds/$buildId`,children:c}),(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:f(e.byte_size)}),(0,q.jsx)(w,{build:e,withTime:!0})]}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-1.5 text-xs text-muted-foreground`,children:[(0,q.jsx)(`span`,{children:i.label}),e.fingerprint_hash===null?(0,q.jsx)(`span`,{className:`font-mono text-foreground`,translate:`no`,children:i.value}):(0,q.jsx)(S,{label:`fingerprint`,length:12,value:e.fingerprint_hash}),e.build_number?(0,q.jsxs)(`span`,{className:`tabular-nums`,translate:`no`,children:[`· build `,e.build_number]}):null,(0,q.jsxs)(`span`,{className:`md:hidden`,translate:`no`,children:[`· `,a]}),e.git_commit_hash===null?null:(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 xl:hidden`,children:[`· commit `,(0,q.jsx)(C,{hash:e.git_commit_hash})]})]}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground xl:hidden`,children:[`Built-in bundle`,` `,(0,q.jsx)(`span`,{className:`font-mono [overflow-wrap:anywhere] text-foreground`,translate:`no`,children:e.min_bundle_id})]})]})}),(0,q.jsx)(K,{className:`hidden md:table-cell`,children:(0,q.jsx)(`button`,{"aria-label":`Show the builds that embed ${a}`,className:`rounded-md text-left focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none`,onClick:e=>{e.stopPropagation(),t(a)},type:`button`,children:(0,q.jsx)(M,{className:`whitespace-nowrap`,translate:`no`,variant:`outline`,children:a})})}),(0,q.jsx)(K,{className:`hidden xl:table-cell`,children:(0,q.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,translate:`no`,children:e.min_bundle_id})}),(0,q.jsx)(K,{className:`hidden xl:table-cell`,children:(0,q.jsx)(C,{hash:e.git_commit_hash})}),(0,q.jsx)(K,{className:`hidden sm:table-cell`,children:(0,q.jsx)(d,{uuid:e.id})}),(0,q.jsx)(K,{className:`text-right`,children:(0,q.jsxs)(`a`,{"aria-label":`Download ${p(e)}`,className:n({className:`min-h-11 sm:min-h-7`,size:`sm`,variant:`outline`}),download:!0,href:l(e.id),onClick:e=>e.stopPropagation(),children:[(0,q.jsx)(ae,{"data-icon":`inline-start`}),`Download`]})})]})}function _e({builds:e,channel:n,paged:r,onChannel:i,onPage:a}){let o=e.data?.data,{next:s,previous:c}=e.data??{};return e.isError?(0,q.jsx)(`div`,{className:`p-4`,children:(0,q.jsxs)(O,{variant:`destructive`,children:[(0,q.jsx)(E,{}),(0,q.jsx)(T,{children:`Native builds couldn't be loaded`}),(0,q.jsx)(D,{children:`Check your connection and try again.`}),(0,q.jsx)(A,{children:(0,q.jsxs)(t,{onClick:()=>void e.refetch(),size:`xs`,variant:`outline`,children:[(0,q.jsx)(b,{"data-icon":`inline-start`}),`Retry`]})})]})}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(ce,{"aria-busy":e.isPlaceholderData,"aria-label":`Native builds`,children:[(0,q.jsx)(H,{children:(0,q.jsxs)(G,{children:[(0,q.jsx)(U,{children:`Build`}),(0,q.jsx)(U,{className:`hidden md:table-cell`,children:`Channel`}),(0,q.jsx)(U,{className:`hidden xl:table-cell`,children:`Built-in bundle`}),(0,q.jsx)(U,{className:`hidden xl:table-cell`,children:`Commit`}),(0,q.jsx)(U,{className:`hidden sm:table-cell`,children:`Created`}),(0,q.jsx)(U,{className:`text-right`,children:(0,q.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,q.jsx)(W,{children:e.isLoading?(0,q.jsx)(ge,{}):o?.length===0?(0,q.jsx)(he,{channel:n,onClearChannel:()=>i(void 0),onNewest:()=>a({}),paged:r}):o?.map(e=>(0,q.jsx)(X,{build:e,onChannel:i},e.id))})]}),s!==void 0||c!==void 0?(0,q.jsxs)(`nav`,{"aria-label":`Native build pages`,className:`flex items-center justify-end gap-2 border-t px-4 py-2`,children:[(0,q.jsxs)(t,{className:`min-h-11 sm:min-h-7`,disabled:c===void 0||e.isPlaceholderData,onClick:()=>a({after:c}),size:`sm`,variant:`ghost`,children:[(0,q.jsx)(m,{"data-icon":`inline-start`}),`Newer`]}),(0,q.jsxs)(t,{className:`min-h-11 sm:min-h-7`,disabled:s===void 0||e.isPlaceholderData,onClick:()=>a({before:s}),size:`sm`,variant:`ghost`,children:[`Older`,(0,q.jsx)(_,{"data-icon":`inline-end`})]})]}):null]})}var Z=`all`,Q=`channel:`,$=e=>`${Q}${e}`;function ve({search:e,onSearchChange:n}){let{channel:r,before:i,after:o}=e,s=B(e),c=V(),l=c.data?.map(({name:e})=>e)??[],u=r===void 0||l.includes(r)?l:[r,...l],d=e=>n(e===void 0?{}:{channel:e});return(0,q.jsxs)(`div`,{className:`flex h-svh min-h-0 flex-col`,children:[(0,q.jsxs)(`header`,{className:`sticky top-0 z-10 flex shrink-0 flex-wrap items-center gap-x-3 gap-y-1 border-b bg-background px-3 py-3 sm:min-h-12 sm:flex-nowrap sm:bg-card/70 sm:px-4 sm:backdrop-blur-sm`,children:[(0,q.jsx)(a,{className:`-ml-1 size-11 lg:size-7`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(oe,{"aria-hidden":`true`,className:`size-3.5 text-muted-foreground`}),(0,q.jsx)(`h1`,{className:`text-sm font-medium`,children:`Native builds`})]}),(0,q.jsx)(`p`,{className:`basis-full pl-12 text-xs text-muted-foreground sm:basis-auto sm:pl-0`,children:`Store and test builds, each the built-in bundle its OTAs patch from.`})]}),(0,q.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto bg-muted/5 p-3 sm:p-6`,children:(0,q.jsxs)(k,{className:`mx-auto w-full max-w-6xl overflow-hidden shadow-sm`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 border-b px-4 py-3`,children:[(0,q.jsxs)(ie,{items:[{label:`All channels`,value:Z},...u.map(e=>({label:e,value:$(e)}))],onOpenChange:e=>{e&&c.refetch()},onValueChange:e=>d(e?.startsWith(Q)?e.slice(8):void 0),value:r===void 0?Z:$(r),children:[(0,q.jsx)(v,{"aria-label":`Channel`,className:`h-11 min-w-0 flex-1 text-xs sm:h-8 sm:w-48 sm:flex-none`,children:(0,q.jsx)(ne,{})}),(0,q.jsx)(te,{children:(0,q.jsxs)(re,{children:[(0,q.jsx)(y,{value:Z,children:`All channels`}),u.map(e=>(0,q.jsx)(y,{translate:`no`,value:$(e),children:e},e))]})})]}),(0,q.jsx)(`div`,{className:`ml-auto`,children:(0,q.jsx)(fe,{})}),(0,q.jsx)(t,{"aria-label":`Refresh native builds`,className:`size-11 sm:size-7`,disabled:s.isLoading,onClick:()=>void s.refetch(),size:`icon-sm`,variant:`ghost`,children:(0,q.jsx)(b,{"aria-hidden":`true`})})]}),(0,q.jsx)(j,{className:`p-0`,children:(0,q.jsx)(_e,{builds:s,channel:r,onChannel:d,onPage:e=>n({...r===void 0?{}:{channel:r},...e}),paged:i!==void 0||o!==void 0})})]})})]})}function ye(){let e=N.useSearch(),t=N.useNavigate();return(0,q.jsx)(ve,{onSearchChange:e=>void t({search:e}),search:e})}export{ye as component};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-builds-BswZazmc.js","assets/sidebar-Di9SN47G.js","assets/preload-helper-B44EvKhG.js","assets/link-DTEyW70e.js","assets/select-CBIU0_M1.js","assets/useCompositeListItem-JmyDfo3-.js","assets/check-CXVR3s3X.js","assets/arrow-up-right-DK8Zdg40.js","assets/native-builds-BOC71grI.js","assets/relativeTime-YQt84dYr.js","assets/uuidv7-zXMtwR9Q.js","assets/chevron-right-BoUXo82O.js","assets/download-Cf24LBde.js","assets/-native-builds-search-C-TGpFAm.js","assets/refresh-cw-B9HHjLej.js","assets/StoreSubmission-JpngSvHS.js","assets/copy-DsuLj3oj.js","assets/badge-DWFcDWho.js","assets/dist-CPlO6ko9.js","assets/api-P2g8dCNg.js","assets/useMutation-DbYw7boA.js","assets/PlatformIcon-BBWQlWm9.js","assets/dialog-CNUPxNxH.js","assets/table-Bpy3SvSo.js"])))=>i.map(i=>d[i]);
2
+ import{n as e,r as t,t as n}from"./preload-helper-B44EvKhG.js";import{n as r}from"./-native-builds-search-C-TGpFAm.js";var i=t(`/native-builds`)({component:e(()=>n(()=>import(`./native-builds-BswZazmc.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])),`component`),validateSearch:r});export{i as t};
@@ -0,0 +1 @@
1
+ import{$ as e,Fn as t,In as n,Ln as r,Wr as i,ii as a,ir as o,p as s,ti as c}from"./sidebar-Di9SN47G.js";import{t as l}from"./link-DTEyW70e.js";import{t as u}from"./arrow-up-right-DK8Zdg40.js";import{a as d,c as f,f as p,n as m,o as ee,p as te,r as ne,s as re,t as ie,u as ae}from"./native-builds-BOC71grI.js";import{t as oe}from"./chevron-right-BoUXo82O.js";import{n as se,t as h}from"./native-builds_._buildId-DtoXD8rz.js";import{t as ce}from"./download-Cf24LBde.js";import{n as le,t as ue}from"./history-DqHlgSuV.js";import{r as de}from"./-native-builds-search-C-TGpFAm.js";import{t as fe}from"./refresh-cw-B9HHjLej.js";import{a as g,i as pe,n as _,r as me,t as he}from"./StoreSubmission-JpngSvHS.js";import{a as v,d as y,f as b,i as x,n as S,o as C,r as ge,s as w,t as T,u as E}from"./badge-DWFcDWho.js";import{r as _e}from"./uuidv7-zXMtwR9Q.js";import{a as D,i as O,n as k,o as A,r as j,t as M}from"./empty-B3Uwdd6k.js";import{t as ve}from"./PlatformIcon-BBWQlWm9.js";import{d as ye,l as be,u as xe}from"./api-P2g8dCNg.js";import{a as N,i as P,n as F,o as I,r as L,t as R}from"./table-Bpy3SvSo.js";import{t as Se}from"./RolloutPercentageBadge-Cxogpi8F.js";var Ce=o(`package-open`,[[`path`,{d:`M12 22v-9`,key:`x3hkom`}],[`path`,{d:`M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z`,key:`2ntwy6`}],[`path`,{d:`M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13`,key:`1pmm1c`}],[`path`,{d:`M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z`,key:`12ttoo`}]]),z=i();function B({label:e,children:t}){return(0,z.jsxs)(`div`,{className:`grid gap-1 sm:grid-cols-[10rem_minmax(0,1fr)] sm:gap-4`,children:[(0,z.jsx)(`dt`,{className:`text-xs font-medium text-muted-foreground`,children:e}),(0,z.jsx)(`dd`,{className:`min-w-0 text-sm`,children:t})]})}function we({detail:e}){let{build:t,newestInScope:n}=e;return n===null?null:n.id===t.id?(0,z.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border bg-muted/40 p-3 text-xs`,children:[(0,z.jsx)(se,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 shrink-0 text-muted-foreground`}),(0,z.jsxs)(`p`,{children:[(0,z.jsx)(`span`,{className:`font-medium`,children:`Current baseline.`}),` New deploys to this scope add a patch from this build's bundle.`]})]}):(0,z.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border bg-muted/40 p-3 text-xs`,children:[(0,z.jsx)(ue,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 shrink-0 text-muted-foreground`}),(0,z.jsxs)(`p`,{children:[(0,z.jsx)(`span`,{className:`font-medium`,children:`Superseded`}),` by`,` `,(0,z.jsxs)(l,{className:`inline-flex items-center gap-0.5 font-medium underline underline-offset-4`,params:{buildId:n.id},to:`/native-builds/$buildId`,children:[f(n.platform),` `,ne[n.artifact_kind].label,` ·`,` `,(0,z.jsx)(p,{uuid:n.id}),(0,z.jsx)(u,{"aria-hidden":`true`,className:`size-3`})]}),`. New deploys patch from that build, so this one gets no new patches.`]})]})}function Te({detail:e}){let{build:t,builtInBundle:n,channel:r}=e,i=re(t),a=n?.childCount??0;return(0,z.jsxs)(C,{className:`overflow-hidden shadow-sm`,children:[(0,z.jsx)(E,{className:`border-b px-4 py-3`,children:(0,z.jsx)(y,{className:`text-sm`,children:(0,z.jsx)(`h2`,{children:`Built-in bundle`})})}),(0,z.jsxs)(w,{className:`flex flex-col gap-4 p-4 sm:p-6`,children:[(0,z.jsxs)(`dl`,{className:`flex flex-col gap-3`,children:[(0,z.jsx)(B,{label:`Bundle ID`,children:(0,z.jsx)(`span`,{className:`break-all font-mono text-xs`,translate:`no`,children:t.min_bundle_id})}),(0,z.jsx)(B,{label:`OTAs patching from it`,children:(0,z.jsx)(`span`,{className:`tabular-nums`,children:a===1?`1 bundle`:`${a} bundles`})}),(0,z.jsx)(B,{label:`Scope`,children:(0,z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,z.jsx)(l,{"aria-label":`Show the builds that embed ${r}`,search:{channel:r},to:`/native-builds`,children:(0,z.jsx)(T,{translate:`no`,variant:`outline`,children:r})}),(0,z.jsx)(`span`,{className:`text-xs`,children:f(t.platform)}),(0,z.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`· `,i.label]}),t.fingerprint_hash===null?(0,z.jsx)(`span`,{className:`font-mono text-xs`,translate:`no`,children:i.value}):(0,z.jsx)(pe,{label:`fingerprint`,length:12,value:t.fingerprint_hash})]})}),t.build_number?(0,z.jsx)(B,{label:`Build number`,children:(0,z.jsx)(`span`,{className:`font-mono text-xs tabular-nums`,translate:`no`,children:t.build_number})}):null,_(t)?(0,z.jsx)(B,{label:`Store`,children:(0,z.jsx)(he,{build:t,withTime:!0})}):null,(0,z.jsx)(B,{label:`Commit`,children:(0,z.jsx)(me,{hash:t.git_commit_hash})}),(0,z.jsx)(B,{label:`Created`,children:(0,z.jsx)(p,{format:`both`,uuid:t.id})})]}),(0,z.jsx)(we,{detail:e}),(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A store or test install of this build runs this bundle until its first OTA. That OTA downloads as a patch from this bundle when one exists, and as the full bundle otherwise.`})]})]})}var Ee=a(c(),1),V=(e=>(e[e.Border=-1]=`Border`,e[e.Data=0]=`Data`,e[e.Function=1]=`Function`,e[e.Position=2]=`Position`,e[e.Timing=3]=`Timing`,e[e.Alignment=4]=`Alignment`,e))(V||{}),De=[0,1],Oe=[1,0],ke=[2,3],Ae=[3,2],je={L:De,M:Oe,Q:ke,H:Ae},Me=/^\d*$/,Ne=/^[A-Z0-9 $%*+./:-]*$/,H=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`,U=1,W=40,Pe=3,Fe=3,G=40,Ie=10,Le=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],Re=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],ze=class{constructor(e,t,n,r){if(this.version=e,this.ecc=t,e<U||e>W)throw RangeError(`Version value out of range`);if(r<-1||r>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let i=Array.from({length:this.size}).fill(!1);for(let e=0;e<this.size;e++)this.modules.push(i.slice()),this.types.push(i.map(()=>0));this.drawFunctionPatterns();let a=this.addEccAndInterleave(n);if(this.drawCodewords(a),r===-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(r=t,e=n),this.applyMask(t)}}this.mask=r,this.applyMask(r),this.drawFormatBits(r)}size;mask;modules=[];types=[];getModule(e,t){return e>=0&&e<this.size&&t>=0&&t<this.size&&this.modules[t][e]}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0,V.Timing),this.setFunctionModule(e,6,e%2==0,V.Timing);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n===0&&r===0||n===0&&r===t-1||n===t-1&&r===0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.ecc[1]<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let r=(t<<10|n)^21522;for(let e=0;e<=5;e++)this.setFunctionModule(8,e,q(r,e));this.setFunctionModule(8,7,q(r,6)),this.setFunctionModule(8,8,q(r,7)),this.setFunctionModule(7,8,q(r,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,q(r,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,q(r,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,q(r,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;for(let e=0;e<18;e++){let n=q(t,e),r=this.size-11+e%3,i=Math.floor(e/3);this.setFunctionModule(r,i,n),this.setFunctionModule(i,r,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;a>=0&&a<this.size&&o>=0&&o<this.size&&this.setFunctionModule(a,o,i!==2&&i!==4,V.Position)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!==1,V.Alignment)}setFunctionModule(e,t,n,r=V.Function){this.modules[t][e]=n,this.types[t][e]=r}addEccAndInterleave(e){let t=this.version,n=this.ecc;if(e.length!==X(t,n))throw RangeError(`Invalid argument`);let r=Re[n[0]][t],i=Le[n[0]][t],a=Math.floor(Y(t)/8),o=r-a%r,s=Math.floor(a/r),c=[],l=Qe(i);for(let t=0,n=0;t<r;t++){let r=e.slice(n,n+s-i+(t<o?0:1));n+=r.length;let a=$e(r,l);t<o&&r.push(0),c.push(r.concat(a))}let u=[];for(let e=0;e<c[0].length;e++)c.forEach((t,n)=>{(e!==s-i||n>=o)&&u.push(t[e])});return u}drawCodewords(e){if(e.length!==Math.floor(Y(this.version)/8))throw RangeError(`Invalid argument`);let t=0;for(let n=this.size-1;n>=1;n-=2){n===6&&(n=5);for(let r=0;r<this.size;r++)for(let i=0;i<2;i++){let a=n-i,o=n+1&2?r:this.size-1-r;!this.types[o][a]&&t<e.length*8&&(this.modules[o][a]=q(e[t>>>3],7-(t&7)),t++)}}}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.types[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[t][a]===n?(r++,r===5?e+=Pe:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*G),n=this.modules[t][a],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*G}for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[a][t]===n?(r++,r===5?e+=Pe:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*G),n=this.modules[a][t],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*G}for(let t=0;t<this.size-1;t++)for(let n=0;n<this.size-1;n++){let r=this.modules[t][n];r===this.modules[t][n+1]&&r===this.modules[t+1][n]&&r===this.modules[t+1][n+1]&&(e+=Fe)}let t=0;for(let e of this.modules)t=e.reduce((e,t)=>e+ +!!t,t);let n=this.size*this.size,r=Math.ceil(Math.abs(t*20-n*10)/n)-1;return e+=r*Ie,e}getAlignmentPatternPositions(){if(this.version===1)return[];{let e=Math.floor(this.version/7)+2,t=this.version===32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}finderPenaltyCountPatterns(e){let t=e[1],n=t>0&&e[2]===t&&e[3]===t*3&&e[4]===t&&e[5]===t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]===0&&(e+=this.size),t.pop(),t.unshift(e)}};function K(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function q(e,t){return(e>>>t&1)!=0}var J=class{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}getData(){return this.bitData.slice()}},Be=[1,10,12,14],Ve=[2,9,11,13],He=[4,8,16,16];function Ue(e,t){return e[Math.floor((t+7)/17)+1]}function We(e){let t=[];for(let n of e)K(n,8,t);return new J(He,e.length,t)}function Ge(e){if(!Je(e))throw RangeError(`String contains non-numeric characters`);let t=[];for(let n=0;n<e.length;){let r=Math.min(e.length-n,3);K(Number.parseInt(e.substring(n,n+r),10),r*3+1,t),n+=r}return new J(Be,e.length,t)}function Ke(e){if(!Ye(e))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let t=[],n;for(n=0;n+2<=e.length;n+=2){let r=H.indexOf(e.charAt(n))*45;r+=H.indexOf(e.charAt(n+1)),K(r,11,t)}return n<e.length&&K(H.indexOf(e.charAt(n)),6,t),new J(Ve,e.length,t)}function qe(e){return e===``?[]:Je(e)?[Ge(e)]:Ye(e)?[Ke(e)]:[We(Ze(e))]}function Je(e){return Me.test(e)}function Ye(e){return Ne.test(e)}function Xe(e,t){let n=0;for(let r of e){let e=Ue(r.mode,t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}function Ze(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)===`%`?(t.push(Number.parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}function Y(e){if(e<U||e>W)throw RangeError(`Version number out of range`);let t=(16*e+128)*e+64;if(e>=2){let n=Math.floor(e/7)+2;t-=(25*n-10)*n-55,e>=7&&(t-=36)}return t}function X(e,t){return Math.floor(Y(e)/8)-Le[t[0]][e]*Re[t[0]][e]}function Qe(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let t=[];for(let n=0;n<e-1;n++)t.push(0);t.push(1);let n=1;for(let r=0;r<e;r++){for(let e=0;e<t.length;e++)t[e]=Z(t[e],n),e+1<t.length&&(t[e]^=t[e+1]);n=Z(n,2)}return t}function $e(e,t){let n=t.map(e=>0);for(let r of e){let e=r^n.shift();n.push(0),t.forEach((t,r)=>n[r]^=Z(t,e))}return n}function Z(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return n}function et(e,t,n=1,r=40,i=-1,a=!0){if(!(U<=n&&n<=r&&r<=W)||i<-1||i>7)throw RangeError(`Invalid value`);let o,s;for(o=n;;o++){let n=X(o,t)*8,i=Xe(e,o);if(i<=n){s=i;break}if(o>=r)throw RangeError(`Data too long`)}for(let e of[Oe,ke,Ae])a&&s<=X(o,e)*8&&(t=e);let c=[];for(let t of e){K(t.mode[0],4,c),K(t.numChars,Ue(t.mode,o),c);for(let e of t.getData())c.push(e)}let l=X(o,t)*8;K(0,Math.min(4,l-c.length),c),K(0,(8-c.length%8)%8,c);for(let e=236;c.length<l;e^=253)K(e,8,c);let u=Array.from({length:Math.ceil(c.length/8)},()=>0);return c.forEach((e,t)=>u[t>>>3]|=e<<7-(t&7)),new ze(o,t,u,i)}function tt(e,t){let{ecc:n=`L`,boostEcc:r=!1,minVersion:i=1,maxVersion:a=40,maskPattern:o=-1,border:s=1}=t||{},c=typeof e==`string`?qe(e):Array.isArray(e)?[We(e)]:void 0;if(!c)throw Error(`uqr only supports encoding string and binary data, but got: ${typeof e}`);let l=et(c,je[n],i,a,o,r),u=nt({version:l.version,maskPattern:l.mask,size:l.size,data:l.modules,types:l.types},s);return t?.invert&&(u.data=u.data.map(e=>e.map(e=>!e))),t?.onEncoded?.(u),u}function nt(e,t=1){if(!t)return e;let{size:n}=e,r=n+t*2;e.size=r,e.data.forEach(e=>{for(let n=0;n<t;n++)e.unshift(!1),e.push(!1)});for(let n=0;n<t;n++)e.data.unshift(Array.from({length:r},e=>!1)),e.data.push(Array.from({length:r},e=>!1));let i=V.Border;e.types.forEach(e=>{for(let n=0;n<t;n++)e.unshift(i),e.push(i)});for(let n=0;n<t;n++)e.types.unshift(Array.from({length:r},e=>i)),e.types.push(Array.from({length:r},e=>i));return e}var rt=e=>{let{data:t,size:n}=tt(e,{ecc:`M`,border:4}),r=``;return t.forEach((e,t)=>e.forEach((e,n)=>{e&&(r+=`M${n} ${t}h1v1h-1z`)})),{size:n,path:r}};function it({value:e,label:t,className:n}){let{size:i,path:a}=(0,Ee.useMemo)(()=>rt(e),[e]);return(0,z.jsxs)(`svg`,{"aria-label":t,className:r(`aspect-square rounded-md`,n),role:`img`,shapeRendering:`crispEdges`,viewBox:`0 0 ${i} ${i}`,children:[(0,z.jsx)(`rect`,{fill:`#fff`,height:i,width:i}),(0,z.jsx)(`path`,{d:a,fill:`#000`})]})}var Q={ipa:`The .ipa installs only on devices its signing profile allows (development or ad hoc); an App Store export reaches testers through TestFlight.`,aab:`The .aab installs through Google Play or bundletool, not from the file.`},at={apk:`Scan with an Android phone's camera, then open the APK to install it.`,ipa:`Scan to download. ${Q.ipa}`,aab:`Scan to download. ${Q.aab}`,app:`Scan to download the .app.zip on a Mac.`};function ot({build:t}){let n=xe(t.id,!0),r=n.data?.url;if(r===null){let e=Q[t.artifact_kind];return(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(`p`,{children:`This storage gives no download link a phone can open without signing in, so there is no QR code. Download the build here, or open this page on the phone signed in to the console.`}),e?(0,z.jsx)(`p`,{children:e}):null]})}return(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[r===void 0?n.isError?(0,z.jsxs)(S,{variant:`destructive`,children:[(0,z.jsx)(b,{}),(0,z.jsx)(v,{children:`The download link couldn't be created`}),(0,z.jsx)(x,{children:n.error.message})]}):(0,z.jsx)(e,{className:`size-48`}):(0,z.jsx)(it,{className:`size-48`,label:`Download ${ee(t)}`,value:r}),(0,z.jsx)(`p`,{className:`max-w-56 text-center text-xs text-muted-foreground`,children:at[t.artifact_kind]})]})}function $({build:e}){return(0,z.jsx)(`span`,{className:`font-mono text-foreground`,translate:`no`,children:e.submitted_version??`this build`})}function st({build:e}){switch(e.artifact_kind){case`apk`:return(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`On an emulator or a phone over USB, download the APK and install it:`}),(0,z.jsx)(g,{label:`the install command`,value:ie(e)})]});case`app`:return(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`It runs only in the iOS Simulator. Install it on the booted one:`}),(0,z.jsx)(g,{label:`the install command`,value:ae(e)})]});case`aab`:return _(e)?(0,z.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Submitted to Google Play internal testing as`,` `,(0,z.jsx)($,{build:e}),`. Testers get it once its release is rolled out; on an app Play Console hasn't published, the release is a draft you roll out in Play Console.`]}):(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`For testers, build and release to internal testing:`}),(0,z.jsx)(g,{label:`the Google Play command`,value:`npx hot-updater google-play upload`})]});case`ipa`:return _(e)?(0,z.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`On TestFlight as `,(0,z.jsx)($,{build:e}),`.`]}):(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Over USB, Xcode or Apple Configurator installs it. For testers:`}),(0,z.jsx)(g,{label:`the TestFlight command`,value:`npx hot-updater testflight`})]})}}function ct({build:e}){let t=ee(e);return(0,z.jsxs)(C,{className:`overflow-hidden shadow-sm`,children:[(0,z.jsx)(E,{className:`border-b px-4 py-3`,children:(0,z.jsx)(y,{className:`text-sm`,children:(0,z.jsx)(`h2`,{children:`Install`})})}),(0,z.jsxs)(w,{className:`grid gap-6 p-4 sm:grid-cols-[12rem_minmax(0,1fr)] sm:p-6`,children:[(0,z.jsx)(ot,{build:e}),(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-4`,children:[(0,z.jsx)(st,{build:e}),(0,z.jsxs)(`a`,{className:n({className:`h-auto min-h-11 w-full min-w-0 py-2 whitespace-normal sm:min-h-8 sm:w-fit`,variant:`outline`}),download:!0,href:d(e.id),children:[(0,z.jsx)(ce,{"data-icon":`inline-start`}),(0,z.jsxs)(`span`,{className:`text-left [overflow-wrap:anywhere]`,children:[`Download `,t]})]})]})]})]})}var lt=`https://hot-updater.dev/docs/guides/bundle-diffing#first-ota-update`;function ut({detail:r,page:i,onPage:a}){let o=i.before!==void 0||i.after!==void 0,s=ye(r.build.min_bundle_id,i,o),c=o?s.data:r.patches,{next:d,previous:f}=c??{};return(0,z.jsxs)(C,{className:`overflow-hidden shadow-sm`,id:`patches`,children:[(0,z.jsx)(E,{className:`border-b px-4 py-3`,children:(0,z.jsx)(y,{className:`text-sm`,children:(0,z.jsx)(`h2`,{children:`Patches from this build`})})}),(0,z.jsxs)(w,{className:`p-0`,children:[o&&s.isError?(0,z.jsx)(`div`,{className:`p-4`,children:(0,z.jsxs)(S,{variant:`destructive`,children:[(0,z.jsx)(b,{}),(0,z.jsx)(v,{children:`Patches couldn't be loaded`}),(0,z.jsx)(x,{children:s.error.message}),(0,z.jsx)(ge,{children:(0,z.jsxs)(t,{onClick:()=>void s.refetch(),size:`xs`,variant:`outline`,children:[(0,z.jsx)(fe,{"data-icon":`inline-start`}),`Retry`]})})]})}):c===void 0?(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,z.jsx)(`span`,{className:`sr-only`,children:`Loading patches`}),(0,z.jsx)(e,{className:`h-4 w-full`}),(0,z.jsx)(e,{className:`h-4 w-2/3`})]}):c.data.length===0?o?(0,z.jsxs)(M,{className:`py-10`,children:[(0,z.jsx)(O,{children:(0,z.jsx)(A,{children:`No more patches`})}),(0,z.jsx)(t,{className:`min-h-11 sm:min-h-8`,onClick:()=>a({}),variant:`outline`,children:`Show the newest patches`})]}):(0,z.jsxs)(M,{className:`py-10`,children:[(0,z.jsxs)(O,{children:[(0,z.jsx)(D,{variant:`icon`,children:(0,z.jsx)(le,{})}),(0,z.jsx)(A,{children:`No patches from this build`}),(0,z.jsxs)(j,{children:[`A deploy adds a patch from this build's bundle while it is its scope's newest build and the deploy config turns patches on, with `,(0,z.jsx)(`code`,{className:`font-mono`,children:`patch`}),` in`,` `,(0,z.jsx)(`code`,{className:`font-mono`,children:`hot-updater.config.ts`}),`.`]})]}),(0,z.jsx)(k,{children:(0,z.jsxs)(`a`,{className:n({className:`min-h-11 sm:min-h-8`,variant:`outline`}),href:lt,rel:`noreferrer`,target:`_blank`,children:[`Bundle diffing guide`,(0,z.jsx)(u,{"data-icon":`inline-end`})]})})]}):(0,z.jsxs)(R,{"aria-busy":o&&s.isPlaceholderData,"aria-label":`Patches from this build`,className:`table-fixed`,children:[(0,z.jsx)(N,{children:(0,z.jsxs)(I,{children:[(0,z.jsx)(P,{children:`Target bundle`}),(0,z.jsx)(P,{className:`w-28`,children:`Patch size`}),(0,z.jsx)(P,{className:`hidden w-32 sm:table-cell`,children:`Created`})]})}),(0,z.jsx)(F,{children:c.data.map(e=>(0,z.jsxs)(I,{children:[(0,z.jsx)(L,{className:`py-3 whitespace-normal`,children:(0,z.jsx)(l,{className:`block font-mono text-xs [overflow-wrap:anywhere] underline-offset-4 hover:underline`,search:{bundleId:e.bundleId},title:e.bundleId,to:`/`,translate:`no`,children:e.bundleId})}),(0,z.jsx)(L,{className:`text-xs tabular-nums`,children:m(e.byteSize)}),(0,z.jsx)(L,{className:`hidden sm:table-cell`,children:(0,z.jsx)(p,{uuid:e.bundleId})})]},e.bundleId))})]}),d!==void 0||f!==void 0?(0,z.jsxs)(`nav`,{"aria-label":`Patch pages`,className:`flex items-center justify-end gap-2 border-t px-4 py-2`,children:[(0,z.jsxs)(t,{className:`min-h-11 sm:min-h-7`,disabled:f===void 0||o&&s.isPlaceholderData,onClick:()=>a({after:f}),size:`sm`,variant:`ghost`,children:[(0,z.jsx)(te,{"data-icon":`inline-start`}),`Newer`]}),(0,z.jsxs)(t,{className:`min-h-11 sm:min-h-7`,disabled:d===void 0||o&&s.isPlaceholderData,onClick:()=>a({before:d}),size:`sm`,variant:`ghost`,children:[`Older`,(0,z.jsx)(oe,{"data-icon":`inline-end`})]})]}):null]})]})}var dt=(e,t)=>{let n=e.data.find(e=>e.bundleId===t);if(n!==void 0)return{kind:`patch`,byteSize:n.byteSize};let r=e.data.at(-1)?.bundleId;return e.next!==void 0&&r!==void 0&&t<r?{kind:`unknown`}:{kind:`full`}};function ft({download:e}){switch(e.kind){case`patch`:return(0,z.jsxs)(`span`,{className:`text-xs`,children:[`Patch`,` `,(0,z.jsxs)(`span`,{className:`text-muted-foreground tabular-nums`,children:[`(`,m(e.byteSize),`)`]})]});case`full`:return(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Full bundle`});case`unknown`:return(0,z.jsx)(`a`,{className:`text-xs underline-offset-4 hover:underline`,href:`#patches`,children:`See patches`})}}function pt({detail:e}){let{servedNow:t,patches:r,catalogScopeKey:i}=e,a=(0,z.jsxs)(l,{className:`inline-flex items-center gap-0.5 underline-offset-4 hover:underline`,search:{scopeKey:i},to:`/`,children:[`All releases in this scope`,(0,z.jsx)(u,{"aria-hidden":`true`,className:`size-3`})]});return(0,z.jsxs)(C,{className:`overflow-hidden shadow-sm`,children:[(0,z.jsx)(E,{className:`border-b px-4 py-3`,children:(0,z.jsx)(y,{className:`text-sm`,children:(0,z.jsx)(`h2`,{children:`Served now`})})}),(0,z.jsx)(w,{className:`p-0`,children:t.length===0?(0,z.jsxs)(M,{className:`py-10`,children:[(0,z.jsxs)(O,{children:[(0,z.jsx)(D,{variant:`icon`,children:(0,z.jsx)(Ce,{})}),(0,z.jsx)(A,{children:`No OTA for this build yet`}),(0,z.jsxs)(j,{children:[`No release in this build's scope is newer than its built-in bundle. Deploy one with`,` `,(0,z.jsx)(`code`,{className:`font-mono`,children:`hot-updater deploy`}),`, and it shows here.`]})]}),(0,z.jsx)(k,{children:(0,z.jsx)(l,{className:n({className:`min-h-11 sm:min-h-8`,variant:`outline`}),search:{scopeKey:i},to:`/`,children:`All releases in this scope`})})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(R,{"aria-label":`Served now`,className:`table-fixed`,children:[(0,z.jsx)(N,{children:(0,z.jsxs)(I,{children:[(0,z.jsx)(P,{children:`Bundle`}),(0,z.jsx)(P,{className:`hidden w-40 md:table-cell`,children:`Rollout`}),(0,z.jsx)(P,{className:`hidden w-32 sm:table-cell`,children:`Created`}),(0,z.jsx)(P,{className:`w-32`,children:`First OTA download`})]})}),(0,z.jsx)(F,{children:t.map(e=>{let t=e.bundleId,n=e.rolloutCohortCount/_e*100;return(0,z.jsxs)(I,{children:[(0,z.jsx)(L,{className:`py-3 whitespace-normal`,children:(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,z.jsx)(l,{className:`font-mono text-xs [overflow-wrap:anywhere] underline-offset-4 hover:underline`,search:{releaseId:e.releaseId},title:t,to:`/`,translate:`no`,children:t}),e.message?(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.message}):null]})}),(0,z.jsx)(L,{className:`hidden md:table-cell`,children:(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[e.targetCohorts.length>0?(0,z.jsx)(T,{variant:`secondary`,children:e.targetCohorts.length===1?`1 cohort`:`${e.targetCohorts.length} cohorts`}):(0,z.jsx)(Se,{percentage:n}),e.shouldForceUpdate?(0,z.jsx)(T,{variant:`outline`,children:`Forced`}):null]})}),(0,z.jsx)(L,{className:`hidden sm:table-cell`,children:(0,z.jsx)(p,{uuid:t})}),(0,z.jsx)(L,{children:(0,z.jsx)(ft,{download:dt(r,t)})})]},e.releaseId)})})]}),(0,z.jsxs)(`p`,{className:`border-t px-4 py-3 text-xs text-muted-foreground`,children:[`What the update check serves an install of this build now, newest first: not the history. `,a]})]})})]})}function mt({buildId:r,search:i,onSearchChange:a}){let o=be(r),c=o.data,u={...i.patchesBefore===void 0?{}:{before:i.patchesBefore},...i.patchesAfter===void 0?{}:{after:i.patchesAfter}};return(0,z.jsxs)(`div`,{className:`flex h-svh min-h-0 flex-col`,children:[(0,z.jsxs)(`header`,{className:`sticky top-0 z-10 flex shrink-0 items-center gap-x-2 border-b bg-background px-3 py-3 sm:min-h-12 sm:bg-card/70 sm:px-4 sm:backdrop-blur-sm`,children:[(0,z.jsx)(s,{className:`-ml-1 size-11 lg:size-7`}),(0,z.jsxs)(l,{className:n({className:`min-h-11 sm:min-h-7`,size:`sm`,variant:`ghost`}),to:`/native-builds`,children:[(0,z.jsx)(te,{"data-icon":`inline-start`}),`Native builds`]}),c?(0,z.jsxs)(`h1`,{className:`flex min-w-0 items-center gap-1.5 text-sm font-medium`,children:[(0,z.jsx)(ve,{className:`size-3.5 shrink-0 text-muted-foreground`,platform:c.build.platform}),(0,z.jsxs)(`span`,{className:`min-w-0 [overflow-wrap:anywhere]`,children:[f(c.build.platform),` `,ne[c.build.artifact_kind].label,` ·`,` `,(0,z.jsx)(`span`,{translate:`no`,children:c.channel})]}),(0,z.jsx)(`span`,{className:`hidden text-xs font-normal text-muted-foreground tabular-nums sm:inline`,children:m(c.build.byte_size)})]}):(0,z.jsx)(`h1`,{className:`sr-only`,children:`Native build`})]}),(0,z.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto bg-muted/5 p-3 sm:p-6`,children:(0,z.jsx)(`div`,{className:`mx-auto flex w-full max-w-5xl flex-col gap-4 sm:gap-6`,children:o.isError?(0,z.jsxs)(S,{variant:`destructive`,children:[(0,z.jsx)(b,{}),(0,z.jsx)(v,{children:`The native build couldn't be loaded`}),(0,z.jsx)(x,{children:o.error.message}),(0,z.jsx)(ge,{children:(0,z.jsxs)(t,{onClick:()=>void o.refetch(),size:`xs`,variant:`outline`,children:[(0,z.jsx)(fe,{"data-icon":`inline-start`}),`Retry`]})})]}):c===void 0?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`span`,{className:`sr-only`,children:`Loading the native build`}),(0,z.jsx)(e,{className:`h-56 w-full rounded-xl`}),(0,z.jsx)(e,{className:`h-64 w-full rounded-xl`})]}):c===null?(0,z.jsxs)(M,{className:`border py-16`,children:[(0,z.jsxs)(O,{children:[(0,z.jsx)(D,{variant:`icon`,children:(0,z.jsx)(de,{})}),(0,z.jsx)(A,{children:`Native build not found`}),(0,z.jsxs)(j,{children:[`No native build has this ID. It may have been deleted with`,` `,(0,z.jsx)(`code`,{className:`font-mono`,children:`native-build delete`}),`, or be from another console.`]})]}),(0,z.jsx)(k,{children:(0,z.jsx)(l,{className:n({className:`min-h-11 sm:min-h-8`,variant:`outline`}),to:`/native-builds`,children:`Show all native builds`})})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(ct,{build:c.build}),(0,z.jsx)(Te,{detail:c}),(0,z.jsx)(pt,{detail:c}),(0,z.jsx)(ut,{detail:c,onPage:e=>a({...e.before===void 0?{}:{patchesBefore:e.before},...e.after===void 0?{}:{patchesAfter:e.after}}),page:u})]})})})]})}function ht(){let{buildId:e}=h.useParams(),t=h.useSearch(),n=h.useNavigate();return(0,z.jsx)(mt,{buildId:e,onSearchChange:e=>void n({search:e,replace:!0}),search:t})}export{ht as component};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-builds_._buildId-D_Spjl10.js","assets/sidebar-Di9SN47G.js","assets/link-DTEyW70e.js","assets/arrow-up-right-DK8Zdg40.js","assets/native-builds-BOC71grI.js","assets/relativeTime-YQt84dYr.js","assets/uuidv7-zXMtwR9Q.js","assets/chevron-right-BoUXo82O.js","assets/download-Cf24LBde.js","assets/history-DqHlgSuV.js","assets/-native-builds-search-C-TGpFAm.js","assets/refresh-cw-B9HHjLej.js","assets/StoreSubmission-JpngSvHS.js","assets/copy-DsuLj3oj.js","assets/badge-DWFcDWho.js","assets/dist-CPlO6ko9.js","assets/api-P2g8dCNg.js","assets/useMutation-DbYw7boA.js","assets/PlatformIcon-BBWQlWm9.js","assets/RolloutPercentageBadge-Cxogpi8F.js","assets/empty-B3Uwdd6k.js","assets/table-Bpy3SvSo.js"])))=>i.map(i=>d[i]);
2
+ import{ir as e}from"./sidebar-Di9SN47G.js";import{n as t,r as n,t as r}from"./preload-helper-B44EvKhG.js";import{t as i}from"./-native-builds-search-C-TGpFAm.js";var a=e(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),o=n(`/native-builds_/$buildId`)({component:t(()=>r(()=>import(`./native-builds_._buildId-D_Spjl10.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])),`component`),validateSearch:i});export{a as n,o as t};
@@ -0,0 +1 @@
1
+ import{ir as e}from"./sidebar-Di9SN47G.js";var t=e(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),n=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import{Hr as e,Jr as t,Wr as n,Xr as r,ii as i,ti as a}from"./sidebar-Di9SN47G.js";import{S as o,_ as s,g as c,i as l,n as u,p as d,r as f,t as p,v as m,w as h}from"./link-DTEyW70e.js";var g=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e,this._branch=void 0;let n=this.options,r=!n?.path&&!n?.id;this.parentRoute=this.options.getParentRoute?.(),r?this._path=d:this.parentRoute||t();let i=r?d:n?.path;i&&i!==`/`&&(i=s(i));let a=n?.id||i,o=r?d:c((this.parentRoute.id===`__root__`?``:this.parentRoute.id)+`/`+(a??``));i===`__root__`&&(i=`/`);let l=o===`__root__`?`/`:i===void 0?this.parentRoute.fullPath:c(this.parentRoute.fullPath+`/`+i);this._path=i,this._id=o,this._fullPath=l,this._to=m(l)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>r({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},_=class extends g{constructor(e){super(e)}},v=i(a(),1),y=v.use,b=v.useLayoutEffect,x=e();function S(e,t){return e===t}function C(e,t=e=>e,n){let r=n?.compare??S,i=(0,v.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),a=(0,v.useCallback)(()=>e.get(),[e]);return(0,x.useSyncExternalStoreWithSelector)(i,a,a,t,r)}var w={};function T(e,t){let n=v.useRef();return r=>{let i=e?.select?e.select(r):r;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=h(n.current,i):i}}function E(e){let n=l(),r=v.useContext(e.from?u:f),i=e.from??r,a=n.stores.getMatchStore(i),o=T(e,n),s=C(a,e=>e?o(e):w);if(s!==w)return s;(e.shouldThrow??!0)&&t()}function D(e){return E({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function O(e){let{select:t,...n}=e;return E({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function k(e){return E({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function A(e){return E({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function j(e){let t=l();return v.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function M(e){return E({...e,select:t=>e.select?e.select(t.context):t.context})}var N=n(),P=class extends g{constructor(e){super(e),this.useMatch=e=>E({...e,from:this.id}),this.useRouteContext=e=>M({...e,from:this.id}),this.useSearch=e=>A({...e,from:this.id}),this.useParams=e=>k({...e,from:this.id}),this.useLoaderDeps=e=>O({...e,from:this.id}),this.useLoaderData=e=>D({...e,from:this.id}),this.useNavigate=()=>j({from:this.fullPath}),this.Link=v.forwardRef((e,t)=>(0,N.jsx)(p,{ref:t,from:this.fullPath,...e}))}};function F(e){return new P(e)}function I(){return e=>R(e)}var L=class extends _{constructor(e){super(e),this.useMatch=e=>E({...e,from:this.id}),this.useRouteContext=e=>M({...e,from:this.id}),this.useSearch=e=>A({...e,from:this.id}),this.useParams=e=>k({...e,from:this.id}),this.useLoaderDeps=e=>O({...e,from:this.id}),this.useLoaderData=e=>D({...e,from:this.id}),this.useNavigate=()=>j({from:this.fullPath}),this.Link=v.forwardRef((e,t)=>(0,N.jsx)(p,{ref:t,from:this.fullPath,...e}))}};function R(e){return new L(e)}function z(e){return e=>{let t=F(e);return t.isRoot=!1,t}}function B(e,t){let n,r,i,a=()=>(n||=(i=void 0,e().then(e=>{n=void 0,s.preload=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,i=e})),n),s=function(e){if(i){if(o(i)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw i}if(!r)if(y)y(a());else throw a();return v.createElement(r,e)};return s.preload=a,s}var V=`modulepreload`,H=function(e){return`/`+e},U={},W=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=H(t,n),t in U)return;U[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:V,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};export{j as a,y as c,I as i,b as l,B as n,T as o,z as r,C as s,W as t};
@@ -1 +1 @@
1
- import{ar as e}from"./sidebar-BqX460IW.js";var t=e(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]);export{t};
1
+ import{ir as e}from"./sidebar-Di9SN47G.js";var t=e(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{ni as e}from"./sidebar-Di9SN47G.js";var t=e(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),n=e(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_relativeTime=r()})(e,(function(){return function(e,t,n){e||={};var r=t.prototype,i={future:`in %s`,past:`%s ago`,s:`a few seconds`,m:`a minute`,mm:`%d minutes`,h:`an hour`,hh:`%d hours`,d:`a day`,dd:`%d days`,M:`a month`,MM:`%d months`,y:`a year`,yy:`%d years`};function a(e,t,n,i){return r.fromToBase(e,t,n,i)}n.en.relativeTime=i,r.fromToBase=function(t,r,a,o,s){for(var c,l,u,d=a.$locale().relativeTime||i,f=e.thresholds||[{l:`s`,r:44,d:`second`},{l:`m`,r:89},{l:`mm`,r:44,d:`minute`},{l:`h`,r:89},{l:`hh`,r:21,d:`hour`},{l:`d`,r:35},{l:`dd`,r:25,d:`day`},{l:`M`,r:45},{l:`MM`,r:10,d:`month`},{l:`y`,r:17},{l:`yy`,d:`year`}],p=f.length,m=0;m<p;m+=1){var h=f[m];h.d&&(c=o?n(t).diff(a,h.d,!0):a.diff(t,h.d,!0));var g=(e.rounding||Math.round)(Math.abs(c));if(u=c>0,g<=h.r||!h.r){g<=1&&m>0&&(h=f[m-1]);var _=d[h.l];s&&(g=s(``+g)),l=typeof _==`string`?_.replace(`%d`,g):_(g,r,h.l,u);break}}if(r)return l;var v=u?d.future:d.past;return typeof v==`function`?v(l):v.replace(`%s`,l)},r.to=function(e,t){return a(e,t,this,!0)},r.from=function(e,t){return a(e,t,this)};var o=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(o(this),e)},r.fromNow=function(e){return this.from(o(this),e)}}}))}));export{t as n,n as t};