@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,858 @@
1
+ //#region ../../node_modules/.pnpm/uqr@0.1.3/node_modules/uqr/dist/index.mjs
2
+ var QrCodeDataType = /* @__PURE__ */ ((QrCodeDataType2) => {
3
+ QrCodeDataType2[QrCodeDataType2["Border"] = -1] = "Border";
4
+ QrCodeDataType2[QrCodeDataType2["Data"] = 0] = "Data";
5
+ QrCodeDataType2[QrCodeDataType2["Function"] = 1] = "Function";
6
+ QrCodeDataType2[QrCodeDataType2["Position"] = 2] = "Position";
7
+ QrCodeDataType2[QrCodeDataType2["Timing"] = 3] = "Timing";
8
+ QrCodeDataType2[QrCodeDataType2["Alignment"] = 4] = "Alignment";
9
+ return QrCodeDataType2;
10
+ })(QrCodeDataType || {});
11
+ var LOW = [0, 1];
12
+ var MEDIUM = [1, 0];
13
+ var QUARTILE = [2, 3];
14
+ var HIGH = [3, 2];
15
+ var EccMap = {
16
+ L: LOW,
17
+ M: MEDIUM,
18
+ Q: QUARTILE,
19
+ H: HIGH
20
+ };
21
+ var NUMERIC_REGEX = /^\d*$/;
22
+ var ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+./:-]*$/;
23
+ var ALPHANUMERIC_CHARSET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";
24
+ var MIN_VERSION = 1;
25
+ var MAX_VERSION = 40;
26
+ var PENALTY_N1 = 3;
27
+ var PENALTY_N2 = 3;
28
+ var PENALTY_N3 = 40;
29
+ var PENALTY_N4 = 10;
30
+ var ECC_CODEWORDS_PER_BLOCK = [
31
+ [
32
+ -1,
33
+ 7,
34
+ 10,
35
+ 15,
36
+ 20,
37
+ 26,
38
+ 18,
39
+ 20,
40
+ 24,
41
+ 30,
42
+ 18,
43
+ 20,
44
+ 24,
45
+ 26,
46
+ 30,
47
+ 22,
48
+ 24,
49
+ 28,
50
+ 30,
51
+ 28,
52
+ 28,
53
+ 28,
54
+ 28,
55
+ 30,
56
+ 30,
57
+ 26,
58
+ 28,
59
+ 30,
60
+ 30,
61
+ 30,
62
+ 30,
63
+ 30,
64
+ 30,
65
+ 30,
66
+ 30,
67
+ 30,
68
+ 30,
69
+ 30,
70
+ 30,
71
+ 30,
72
+ 30
73
+ ],
74
+ [
75
+ -1,
76
+ 10,
77
+ 16,
78
+ 26,
79
+ 18,
80
+ 24,
81
+ 16,
82
+ 18,
83
+ 22,
84
+ 22,
85
+ 26,
86
+ 30,
87
+ 22,
88
+ 22,
89
+ 24,
90
+ 24,
91
+ 28,
92
+ 28,
93
+ 26,
94
+ 26,
95
+ 26,
96
+ 26,
97
+ 28,
98
+ 28,
99
+ 28,
100
+ 28,
101
+ 28,
102
+ 28,
103
+ 28,
104
+ 28,
105
+ 28,
106
+ 28,
107
+ 28,
108
+ 28,
109
+ 28,
110
+ 28,
111
+ 28,
112
+ 28,
113
+ 28,
114
+ 28,
115
+ 28
116
+ ],
117
+ [
118
+ -1,
119
+ 13,
120
+ 22,
121
+ 18,
122
+ 26,
123
+ 18,
124
+ 24,
125
+ 18,
126
+ 22,
127
+ 20,
128
+ 24,
129
+ 28,
130
+ 26,
131
+ 24,
132
+ 20,
133
+ 30,
134
+ 24,
135
+ 28,
136
+ 28,
137
+ 26,
138
+ 30,
139
+ 28,
140
+ 30,
141
+ 30,
142
+ 30,
143
+ 30,
144
+ 28,
145
+ 30,
146
+ 30,
147
+ 30,
148
+ 30,
149
+ 30,
150
+ 30,
151
+ 30,
152
+ 30,
153
+ 30,
154
+ 30,
155
+ 30,
156
+ 30,
157
+ 30,
158
+ 30
159
+ ],
160
+ [
161
+ -1,
162
+ 17,
163
+ 28,
164
+ 22,
165
+ 16,
166
+ 22,
167
+ 28,
168
+ 26,
169
+ 26,
170
+ 24,
171
+ 28,
172
+ 24,
173
+ 28,
174
+ 22,
175
+ 24,
176
+ 24,
177
+ 30,
178
+ 28,
179
+ 28,
180
+ 26,
181
+ 28,
182
+ 30,
183
+ 24,
184
+ 30,
185
+ 30,
186
+ 30,
187
+ 30,
188
+ 30,
189
+ 30,
190
+ 30,
191
+ 30,
192
+ 30,
193
+ 30,
194
+ 30,
195
+ 30,
196
+ 30,
197
+ 30,
198
+ 30,
199
+ 30,
200
+ 30,
201
+ 30
202
+ ]
203
+ ];
204
+ var NUM_ERROR_CORRECTION_BLOCKS = [
205
+ [
206
+ -1,
207
+ 1,
208
+ 1,
209
+ 1,
210
+ 1,
211
+ 1,
212
+ 2,
213
+ 2,
214
+ 2,
215
+ 2,
216
+ 4,
217
+ 4,
218
+ 4,
219
+ 4,
220
+ 4,
221
+ 6,
222
+ 6,
223
+ 6,
224
+ 6,
225
+ 7,
226
+ 8,
227
+ 8,
228
+ 9,
229
+ 9,
230
+ 10,
231
+ 12,
232
+ 12,
233
+ 12,
234
+ 13,
235
+ 14,
236
+ 15,
237
+ 16,
238
+ 17,
239
+ 18,
240
+ 19,
241
+ 19,
242
+ 20,
243
+ 21,
244
+ 22,
245
+ 24,
246
+ 25
247
+ ],
248
+ [
249
+ -1,
250
+ 1,
251
+ 1,
252
+ 1,
253
+ 2,
254
+ 2,
255
+ 4,
256
+ 4,
257
+ 4,
258
+ 5,
259
+ 5,
260
+ 5,
261
+ 8,
262
+ 9,
263
+ 9,
264
+ 10,
265
+ 10,
266
+ 11,
267
+ 13,
268
+ 14,
269
+ 16,
270
+ 17,
271
+ 17,
272
+ 18,
273
+ 20,
274
+ 21,
275
+ 23,
276
+ 25,
277
+ 26,
278
+ 28,
279
+ 29,
280
+ 31,
281
+ 33,
282
+ 35,
283
+ 37,
284
+ 38,
285
+ 40,
286
+ 43,
287
+ 45,
288
+ 47,
289
+ 49
290
+ ],
291
+ [
292
+ -1,
293
+ 1,
294
+ 1,
295
+ 2,
296
+ 2,
297
+ 4,
298
+ 4,
299
+ 6,
300
+ 6,
301
+ 8,
302
+ 8,
303
+ 8,
304
+ 10,
305
+ 12,
306
+ 16,
307
+ 12,
308
+ 17,
309
+ 16,
310
+ 18,
311
+ 21,
312
+ 20,
313
+ 23,
314
+ 23,
315
+ 25,
316
+ 27,
317
+ 29,
318
+ 34,
319
+ 34,
320
+ 35,
321
+ 38,
322
+ 40,
323
+ 43,
324
+ 45,
325
+ 48,
326
+ 51,
327
+ 53,
328
+ 56,
329
+ 59,
330
+ 62,
331
+ 65,
332
+ 68
333
+ ],
334
+ [
335
+ -1,
336
+ 1,
337
+ 1,
338
+ 2,
339
+ 4,
340
+ 4,
341
+ 4,
342
+ 5,
343
+ 6,
344
+ 8,
345
+ 8,
346
+ 11,
347
+ 11,
348
+ 16,
349
+ 16,
350
+ 18,
351
+ 16,
352
+ 19,
353
+ 21,
354
+ 25,
355
+ 25,
356
+ 25,
357
+ 34,
358
+ 30,
359
+ 32,
360
+ 35,
361
+ 37,
362
+ 40,
363
+ 42,
364
+ 45,
365
+ 48,
366
+ 51,
367
+ 54,
368
+ 57,
369
+ 60,
370
+ 63,
371
+ 66,
372
+ 70,
373
+ 74,
374
+ 77,
375
+ 81
376
+ ]
377
+ ];
378
+ var QrCode = class {
379
+ constructor(version, ecc, dataCodewords, msk) {
380
+ this.version = version;
381
+ this.ecc = ecc;
382
+ if (version < MIN_VERSION || version > MAX_VERSION) throw new RangeError("Version value out of range");
383
+ if (msk < -1 || msk > 7) throw new RangeError("Mask value out of range");
384
+ this.size = version * 4 + 17;
385
+ const row = Array.from({ length: this.size }).fill(false);
386
+ for (let i = 0; i < this.size; i++) {
387
+ this.modules.push(row.slice());
388
+ this.types.push(row.map(() => 0));
389
+ }
390
+ this.drawFunctionPatterns();
391
+ const allCodewords = this.addEccAndInterleave(dataCodewords);
392
+ this.drawCodewords(allCodewords);
393
+ if (msk === -1) {
394
+ let minPenalty = 1e9;
395
+ for (let i = 0; i < 8; i++) {
396
+ this.applyMask(i);
397
+ this.drawFormatBits(i);
398
+ const penalty = this.getPenaltyScore();
399
+ if (penalty < minPenalty) {
400
+ msk = i;
401
+ minPenalty = penalty;
402
+ }
403
+ this.applyMask(i);
404
+ }
405
+ }
406
+ this.mask = msk;
407
+ this.applyMask(msk);
408
+ this.drawFormatBits(msk);
409
+ }
410
+ size;
411
+ mask;
412
+ modules = [];
413
+ types = [];
414
+ getModule(x, y) {
415
+ return x >= 0 && x < this.size && y >= 0 && y < this.size && this.modules[y][x];
416
+ }
417
+ drawFunctionPatterns() {
418
+ for (let i = 0; i < this.size; i++) {
419
+ this.setFunctionModule(6, i, i % 2 === 0, QrCodeDataType.Timing);
420
+ this.setFunctionModule(i, 6, i % 2 === 0, QrCodeDataType.Timing);
421
+ }
422
+ this.drawFinderPattern(3, 3);
423
+ this.drawFinderPattern(this.size - 4, 3);
424
+ this.drawFinderPattern(3, this.size - 4);
425
+ const alignPatPos = this.getAlignmentPatternPositions();
426
+ const numAlign = alignPatPos.length;
427
+ for (let i = 0; i < numAlign; i++) for (let j = 0; j < numAlign; j++) if (!(i === 0 && j === 0 || i === 0 && j === numAlign - 1 || i === numAlign - 1 && j === 0)) this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);
428
+ this.drawFormatBits(0);
429
+ this.drawVersion();
430
+ }
431
+ drawFormatBits(mask) {
432
+ const data = this.ecc[1] << 3 | mask;
433
+ let rem = data;
434
+ for (let i = 0; i < 10; i++) rem = rem << 1 ^ (rem >>> 9) * 1335;
435
+ const bits = (data << 10 | rem) ^ 21522;
436
+ for (let i = 0; i <= 5; i++) this.setFunctionModule(8, i, getBit(bits, i));
437
+ this.setFunctionModule(8, 7, getBit(bits, 6));
438
+ this.setFunctionModule(8, 8, getBit(bits, 7));
439
+ this.setFunctionModule(7, 8, getBit(bits, 8));
440
+ for (let i = 9; i < 15; i++) this.setFunctionModule(14 - i, 8, getBit(bits, i));
441
+ for (let i = 0; i < 8; i++) this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));
442
+ for (let i = 8; i < 15; i++) this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));
443
+ this.setFunctionModule(8, this.size - 8, true);
444
+ }
445
+ drawVersion() {
446
+ if (this.version < 7) return;
447
+ let rem = this.version;
448
+ for (let i = 0; i < 12; i++) rem = rem << 1 ^ (rem >>> 11) * 7973;
449
+ const bits = this.version << 12 | rem;
450
+ for (let i = 0; i < 18; i++) {
451
+ const color = getBit(bits, i);
452
+ const a = this.size - 11 + i % 3;
453
+ const b = Math.floor(i / 3);
454
+ this.setFunctionModule(a, b, color);
455
+ this.setFunctionModule(b, a, color);
456
+ }
457
+ }
458
+ drawFinderPattern(x, y) {
459
+ for (let dy = -4; dy <= 4; dy++) for (let dx = -4; dx <= 4; dx++) {
460
+ const dist = Math.max(Math.abs(dx), Math.abs(dy));
461
+ const xx = x + dx;
462
+ const yy = y + dy;
463
+ if (xx >= 0 && xx < this.size && yy >= 0 && yy < this.size) this.setFunctionModule(xx, yy, dist !== 2 && dist !== 4, QrCodeDataType.Position);
464
+ }
465
+ }
466
+ drawAlignmentPattern(x, y) {
467
+ for (let dy = -2; dy <= 2; dy++) for (let dx = -2; dx <= 2; dx++) this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) !== 1, QrCodeDataType.Alignment);
468
+ }
469
+ setFunctionModule(x, y, isDark, type = QrCodeDataType.Function) {
470
+ this.modules[y][x] = isDark;
471
+ this.types[y][x] = type;
472
+ }
473
+ addEccAndInterleave(data) {
474
+ const ver = this.version;
475
+ const ecl = this.ecc;
476
+ if (data.length !== getNumDataCodewords(ver, ecl)) throw new RangeError("Invalid argument");
477
+ const numBlocks = NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];
478
+ const blockEccLen = ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver];
479
+ const rawCodewords = Math.floor(getNumRawDataModules(ver) / 8);
480
+ const numShortBlocks = numBlocks - rawCodewords % numBlocks;
481
+ const shortBlockLen = Math.floor(rawCodewords / numBlocks);
482
+ const blocks = [];
483
+ const rsDiv = reedSolomonComputeDivisor(blockEccLen);
484
+ for (let i = 0, k = 0; i < numBlocks; i++) {
485
+ const dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));
486
+ k += dat.length;
487
+ const ecc = reedSolomonComputeRemainder(dat, rsDiv);
488
+ if (i < numShortBlocks) dat.push(0);
489
+ blocks.push(dat.concat(ecc));
490
+ }
491
+ const result = [];
492
+ for (let i = 0; i < blocks[0].length; i++) blocks.forEach((block, j) => {
493
+ if (i !== shortBlockLen - blockEccLen || j >= numShortBlocks) result.push(block[i]);
494
+ });
495
+ return result;
496
+ }
497
+ drawCodewords(data) {
498
+ if (data.length !== Math.floor(getNumRawDataModules(this.version) / 8)) throw new RangeError("Invalid argument");
499
+ let i = 0;
500
+ for (let right = this.size - 1; right >= 1; right -= 2) {
501
+ if (right === 6) right = 5;
502
+ for (let vert = 0; vert < this.size; vert++) for (let j = 0; j < 2; j++) {
503
+ const x = right - j;
504
+ const y = (right + 1 & 2) === 0 ? this.size - 1 - vert : vert;
505
+ if (!this.types[y][x] && i < data.length * 8) {
506
+ this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));
507
+ i++;
508
+ }
509
+ }
510
+ }
511
+ }
512
+ applyMask(mask) {
513
+ if (mask < 0 || mask > 7) throw new RangeError("Mask value out of range");
514
+ for (let y = 0; y < this.size; y++) for (let x = 0; x < this.size; x++) {
515
+ let invert;
516
+ switch (mask) {
517
+ case 0:
518
+ invert = (x + y) % 2 === 0;
519
+ break;
520
+ case 1:
521
+ invert = y % 2 === 0;
522
+ break;
523
+ case 2:
524
+ invert = x % 3 === 0;
525
+ break;
526
+ case 3:
527
+ invert = (x + y) % 3 === 0;
528
+ break;
529
+ case 4:
530
+ invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 === 0;
531
+ break;
532
+ case 5:
533
+ invert = x * y % 2 + x * y % 3 === 0;
534
+ break;
535
+ case 6:
536
+ invert = (x * y % 2 + x * y % 3) % 2 === 0;
537
+ break;
538
+ case 7:
539
+ invert = ((x + y) % 2 + x * y % 3) % 2 === 0;
540
+ break;
541
+ default: throw new Error("Unreachable");
542
+ }
543
+ if (!this.types[y][x] && invert) this.modules[y][x] = !this.modules[y][x];
544
+ }
545
+ }
546
+ getPenaltyScore() {
547
+ let result = 0;
548
+ for (let y = 0; y < this.size; y++) {
549
+ let runColor = false;
550
+ let runX = 0;
551
+ const runHistory = [
552
+ 0,
553
+ 0,
554
+ 0,
555
+ 0,
556
+ 0,
557
+ 0,
558
+ 0
559
+ ];
560
+ for (let x = 0; x < this.size; x++) if (this.modules[y][x] === runColor) {
561
+ runX++;
562
+ if (runX === 5) result += PENALTY_N1;
563
+ else if (runX > 5) result++;
564
+ } else {
565
+ this.finderPenaltyAddHistory(runX, runHistory);
566
+ if (!runColor) result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;
567
+ runColor = this.modules[y][x];
568
+ runX = 1;
569
+ }
570
+ result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * PENALTY_N3;
571
+ }
572
+ for (let x = 0; x < this.size; x++) {
573
+ let runColor = false;
574
+ let runY = 0;
575
+ const runHistory = [
576
+ 0,
577
+ 0,
578
+ 0,
579
+ 0,
580
+ 0,
581
+ 0,
582
+ 0
583
+ ];
584
+ for (let y = 0; y < this.size; y++) if (this.modules[y][x] === runColor) {
585
+ runY++;
586
+ if (runY === 5) result += PENALTY_N1;
587
+ else if (runY > 5) result++;
588
+ } else {
589
+ this.finderPenaltyAddHistory(runY, runHistory);
590
+ if (!runColor) result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;
591
+ runColor = this.modules[y][x];
592
+ runY = 1;
593
+ }
594
+ result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * PENALTY_N3;
595
+ }
596
+ for (let y = 0; y < this.size - 1; y++) for (let x = 0; x < this.size - 1; x++) {
597
+ const color = this.modules[y][x];
598
+ if (color === this.modules[y][x + 1] && color === this.modules[y + 1][x] && color === this.modules[y + 1][x + 1]) result += PENALTY_N2;
599
+ }
600
+ let dark = 0;
601
+ for (const row of this.modules) dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);
602
+ const total = this.size * this.size;
603
+ const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;
604
+ result += k * PENALTY_N4;
605
+ return result;
606
+ }
607
+ getAlignmentPatternPositions() {
608
+ if (this.version === 1) return [];
609
+ else {
610
+ const numAlign = Math.floor(this.version / 7) + 2;
611
+ const step = this.version === 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;
612
+ const result = [6];
613
+ for (let pos = this.size - 7; result.length < numAlign; pos -= step) result.splice(1, 0, pos);
614
+ return result;
615
+ }
616
+ }
617
+ finderPenaltyCountPatterns(runHistory) {
618
+ const n = runHistory[1];
619
+ const core = n > 0 && runHistory[2] === n && runHistory[3] === n * 3 && runHistory[4] === n && runHistory[5] === n;
620
+ return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);
621
+ }
622
+ finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {
623
+ if (currentRunColor) {
624
+ this.finderPenaltyAddHistory(currentRunLength, runHistory);
625
+ currentRunLength = 0;
626
+ }
627
+ currentRunLength += this.size;
628
+ this.finderPenaltyAddHistory(currentRunLength, runHistory);
629
+ return this.finderPenaltyCountPatterns(runHistory);
630
+ }
631
+ finderPenaltyAddHistory(currentRunLength, runHistory) {
632
+ if (runHistory[0] === 0) currentRunLength += this.size;
633
+ runHistory.pop();
634
+ runHistory.unshift(currentRunLength);
635
+ }
636
+ };
637
+ function appendBits(val, len, bb) {
638
+ if (len < 0 || len > 31 || val >>> len !== 0) throw new RangeError("Value out of range");
639
+ for (let i = len - 1; i >= 0; i--) bb.push(val >>> i & 1);
640
+ }
641
+ function getBit(x, i) {
642
+ return (x >>> i & 1) !== 0;
643
+ }
644
+ var QrSegment = class {
645
+ constructor(mode, numChars, bitData) {
646
+ this.mode = mode;
647
+ this.numChars = numChars;
648
+ this.bitData = bitData;
649
+ if (numChars < 0) throw new RangeError("Invalid argument");
650
+ this.bitData = bitData.slice();
651
+ }
652
+ getData() {
653
+ return this.bitData.slice();
654
+ }
655
+ };
656
+ var MODE_NUMERIC = [
657
+ 1,
658
+ 10,
659
+ 12,
660
+ 14
661
+ ];
662
+ var MODE_ALPHANUMERIC = [
663
+ 2,
664
+ 9,
665
+ 11,
666
+ 13
667
+ ];
668
+ var MODE_BYTE = [
669
+ 4,
670
+ 8,
671
+ 16,
672
+ 16
673
+ ];
674
+ function numCharCountBits(mode, ver) {
675
+ return mode[Math.floor((ver + 7) / 17) + 1];
676
+ }
677
+ function makeBytes(data) {
678
+ const bb = [];
679
+ for (const b of data) appendBits(b, 8, bb);
680
+ return new QrSegment(MODE_BYTE, data.length, bb);
681
+ }
682
+ function makeNumeric(digits) {
683
+ if (!isNumeric(digits)) throw new RangeError("String contains non-numeric characters");
684
+ const bb = [];
685
+ for (let i = 0; i < digits.length;) {
686
+ const n = Math.min(digits.length - i, 3);
687
+ appendBits(Number.parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);
688
+ i += n;
689
+ }
690
+ return new QrSegment(MODE_NUMERIC, digits.length, bb);
691
+ }
692
+ function makeAlphanumeric(text) {
693
+ if (!isAlphanumeric(text)) throw new RangeError("String contains unencodable characters in alphanumeric mode");
694
+ const bb = [];
695
+ let i;
696
+ for (i = 0; i + 2 <= text.length; i += 2) {
697
+ let temp = ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;
698
+ temp += ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));
699
+ appendBits(temp, 11, bb);
700
+ }
701
+ if (i < text.length) appendBits(ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);
702
+ return new QrSegment(MODE_ALPHANUMERIC, text.length, bb);
703
+ }
704
+ function makeSegments(text) {
705
+ if (text === "") return [];
706
+ else if (isNumeric(text)) return [makeNumeric(text)];
707
+ else if (isAlphanumeric(text)) return [makeAlphanumeric(text)];
708
+ else return [makeBytes(toUtf8ByteArray(text))];
709
+ }
710
+ function isNumeric(text) {
711
+ return NUMERIC_REGEX.test(text);
712
+ }
713
+ function isAlphanumeric(text) {
714
+ return ALPHANUMERIC_REGEX.test(text);
715
+ }
716
+ function getTotalBits(segs, version) {
717
+ let result = 0;
718
+ for (const seg of segs) {
719
+ const ccbits = numCharCountBits(seg.mode, version);
720
+ if (seg.numChars >= 1 << ccbits) return Number.POSITIVE_INFINITY;
721
+ result += 4 + ccbits + seg.bitData.length;
722
+ }
723
+ return result;
724
+ }
725
+ function toUtf8ByteArray(str) {
726
+ str = encodeURI(str);
727
+ const result = [];
728
+ for (let i = 0; i < str.length; i++) if (str.charAt(i) !== "%") result.push(str.charCodeAt(i));
729
+ else {
730
+ result.push(Number.parseInt(str.substring(i + 1, i + 3), 16));
731
+ i += 2;
732
+ }
733
+ return result;
734
+ }
735
+ function getNumRawDataModules(ver) {
736
+ if (ver < MIN_VERSION || ver > MAX_VERSION) throw new RangeError("Version number out of range");
737
+ let result = (16 * ver + 128) * ver + 64;
738
+ if (ver >= 2) {
739
+ const numAlign = Math.floor(ver / 7) + 2;
740
+ result -= (25 * numAlign - 10) * numAlign - 55;
741
+ if (ver >= 7) result -= 36;
742
+ }
743
+ return result;
744
+ }
745
+ function getNumDataCodewords(ver, ecl) {
746
+ return Math.floor(getNumRawDataModules(ver) / 8) - ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver] * NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];
747
+ }
748
+ function reedSolomonComputeDivisor(degree) {
749
+ if (degree < 1 || degree > 255) throw new RangeError("Degree out of range");
750
+ const result = [];
751
+ for (let i = 0; i < degree - 1; i++) result.push(0);
752
+ result.push(1);
753
+ let root = 1;
754
+ for (let i = 0; i < degree; i++) {
755
+ for (let j = 0; j < result.length; j++) {
756
+ result[j] = reedSolomonMultiply(result[j], root);
757
+ if (j + 1 < result.length) result[j] ^= result[j + 1];
758
+ }
759
+ root = reedSolomonMultiply(root, 2);
760
+ }
761
+ return result;
762
+ }
763
+ function reedSolomonComputeRemainder(data, divisor) {
764
+ const result = divisor.map((_) => 0);
765
+ for (const b of data) {
766
+ const factor = b ^ result.shift();
767
+ result.push(0);
768
+ divisor.forEach((coef, i) => result[i] ^= reedSolomonMultiply(coef, factor));
769
+ }
770
+ return result;
771
+ }
772
+ function reedSolomonMultiply(x, y) {
773
+ if (x >>> 8 !== 0 || y >>> 8 !== 0) throw new RangeError("Byte out of range");
774
+ let z = 0;
775
+ for (let i = 7; i >= 0; i--) {
776
+ z = z << 1 ^ (z >>> 7) * 285;
777
+ z ^= (y >>> i & 1) * x;
778
+ }
779
+ return z;
780
+ }
781
+ function encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {
782
+ if (!(MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= MAX_VERSION) || mask < -1 || mask > 7) throw new RangeError("Invalid value");
783
+ let version;
784
+ let dataUsedBits;
785
+ for (version = minVersion;; version++) {
786
+ const dataCapacityBits2 = getNumDataCodewords(version, ecl) * 8;
787
+ const usedBits = getTotalBits(segs, version);
788
+ if (usedBits <= dataCapacityBits2) {
789
+ dataUsedBits = usedBits;
790
+ break;
791
+ }
792
+ if (version >= maxVersion) throw new RangeError("Data too long");
793
+ }
794
+ for (const newEcl of [
795
+ MEDIUM,
796
+ QUARTILE,
797
+ HIGH
798
+ ]) if (boostEcl && dataUsedBits <= getNumDataCodewords(version, newEcl) * 8) ecl = newEcl;
799
+ const bb = [];
800
+ for (const seg of segs) {
801
+ appendBits(seg.mode[0], 4, bb);
802
+ appendBits(seg.numChars, numCharCountBits(seg.mode, version), bb);
803
+ for (const b of seg.getData()) bb.push(b);
804
+ }
805
+ const dataCapacityBits = getNumDataCodewords(version, ecl) * 8;
806
+ appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);
807
+ appendBits(0, (8 - bb.length % 8) % 8, bb);
808
+ for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 253) appendBits(padByte, 8, bb);
809
+ const dataCodewords = Array.from({ length: Math.ceil(bb.length / 8) }, () => 0);
810
+ bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));
811
+ return new QrCode(version, ecl, dataCodewords, mask);
812
+ }
813
+ function encode(data, options) {
814
+ const { ecc = "L", boostEcc = false, minVersion = 1, maxVersion = 40, maskPattern = -1, border = 1 } = options || {};
815
+ const segment = typeof data === "string" ? makeSegments(data) : Array.isArray(data) ? [makeBytes(data)] : void 0;
816
+ if (!segment) throw new Error(`uqr only supports encoding string and binary data, but got: ${typeof data}`);
817
+ const qr = encodeSegments(segment, EccMap[ecc], minVersion, maxVersion, maskPattern, boostEcc);
818
+ const result = addBorder({
819
+ version: qr.version,
820
+ maskPattern: qr.mask,
821
+ size: qr.size,
822
+ data: qr.modules,
823
+ types: qr.types
824
+ }, border);
825
+ if (options?.invert) result.data = result.data.map((row) => row.map((mod) => !mod));
826
+ options?.onEncoded?.(result);
827
+ return result;
828
+ }
829
+ function addBorder(input, border = 1) {
830
+ if (!border) return input;
831
+ const { size } = input;
832
+ const newSize = size + border * 2;
833
+ input.size = newSize;
834
+ input.data.forEach((row) => {
835
+ for (let i = 0; i < border; i++) {
836
+ row.unshift(false);
837
+ row.push(false);
838
+ }
839
+ });
840
+ for (let i = 0; i < border; i++) {
841
+ input.data.unshift(Array.from({ length: newSize }, (_) => false));
842
+ input.data.push(Array.from({ length: newSize }, (_) => false));
843
+ }
844
+ const b = QrCodeDataType.Border;
845
+ input.types.forEach((row) => {
846
+ for (let i = 0; i < border; i++) {
847
+ row.unshift(b);
848
+ row.push(b);
849
+ }
850
+ });
851
+ for (let i = 0; i < border; i++) {
852
+ input.types.unshift(Array.from({ length: newSize }, (_) => b));
853
+ input.types.push(Array.from({ length: newSize }, (_) => b));
854
+ }
855
+ return input;
856
+ }
857
+ //#endregion
858
+ export { encode as t };