@abtnode/webapp 1.16.50 → 1.16.51-beta-20250904-031834-c611f059

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 (185) hide show
  1. package/blocklet.js +1 -1
  2. package/blocklet.yml +1 -1
  3. package/dist/assets/{AdapterDayjs-DPswIgNd.js → AdapterDayjs-B454wUKi.js} +1 -1
  4. package/dist/assets/{Add-CTkKWsbA.js → Add-CobzoIKJ.js} +1 -1
  5. package/dist/assets/ArrowDropDown-wCDjkm6N.js +1 -0
  6. package/dist/assets/{Autocomplete-BnpjHbVI.js → Autocomplete-C06SKe4H.js} +1 -1
  7. package/dist/assets/{Breadcrumbs-BcwyHALS.js → Breadcrumbs-BWQdjcIC.js} +1 -1
  8. package/dist/assets/{ButtonGroup-B8CEk0Fm.js → ButtonGroup-D2nbA04k.js} +1 -1
  9. package/dist/assets/{CSSTransition-CgU-qJG1.js → CSSTransition-BIUxaspZ.js} +1 -1
  10. package/dist/assets/{CallMerge-DG9UCIML.js → CallMerge-Dkt7zPa_.js} +1 -1
  11. package/dist/assets/{CardContent-DUT0SHjO.js → CardContent-B-jtI1ie.js} +1 -1
  12. package/dist/assets/{ChevronLeft-Mrf8wNcO.js → ChevronLeft-T8dPGT4o.js} +1 -1
  13. package/dist/assets/{ChevronRight-CgNj8oK3.js → ChevronRight-BmNY6NuE.js} +1 -1
  14. package/dist/assets/{Clear-D0eiF7LM.js → Clear-DSDAa0M4.js} +1 -1
  15. package/dist/assets/{DeleteOutline-BXGUPwfv.js → DeleteOutline-BRh_jEgm.js} +1 -1
  16. package/dist/assets/{Done-B-4ttL5E.js → Done-DQFntFgi.js} +1 -1
  17. package/dist/assets/{Edit-BDZJlnuz.js → Edit-CvtjYyT4.js} +1 -1
  18. package/dist/assets/{ErrorOutline-DM8Q-uGO.js → ErrorOutline-jpwCi-bt.js} +1 -1
  19. package/dist/assets/{FilterList-BnK3OcNB.js → FilterList-DcOJVDM2.js} +1 -1
  20. package/dist/assets/{Google-BnsccEt-.js → Google-DEgZE56h.js} +1 -1
  21. package/dist/assets/{HelpOutline-95P320TL.js → HelpOutline-RoslCWCH.js} +1 -1
  22. package/dist/assets/{Launch-C31ynKKh.js → Launch-L3zM7z2U.js} +1 -1
  23. package/dist/assets/{Link-DKdN2Z0q.js → Link-DHlqc6YG.js} +1 -1
  24. package/dist/assets/{ListItemButton-wejxtEoj.js → ListItemButton-D_ncPLiT.js} +1 -1
  25. package/dist/assets/{ListSubheader-B_qXJClL.js → ListSubheader-CtIfn5EF.js} +1 -1
  26. package/dist/assets/{LoadingButton-Zo_5FEH-.js → LoadingButton-Dw3__mtY.js} +1 -1
  27. package/dist/assets/{MoreVert-Bg7SRP_I.js → MoreVert-DH4Y2k9h.js} +1 -1
  28. package/dist/assets/{OpenInNew-C4rxt70p.js → OpenInNew-MxPsaq-U.js} +1 -1
  29. package/dist/assets/{Refresh-L5IK_LF1.js → Refresh-DMoyFjzc.js} +1 -1
  30. package/dist/assets/{Search-2a28Zd0Q.js → Search-BvWmcM2k.js} +1 -1
  31. package/dist/assets/{Slider-DfrL_KUv.js → Slider-CaQ4_HVa.js} +1 -1
  32. package/dist/assets/{Stepper-B6f7_MVS.js → Stepper-DNM_ADcd.js} +1 -1
  33. package/dist/assets/{Switch-iXfQHCNE.js → Switch-CAccGI-e.js} +1 -1
  34. package/dist/assets/{TableSearch-BfqBG8KC.js → TableSearch-BuzsZxHI.js} +1 -1
  35. package/dist/assets/{ToggleButtonGroup-CAU8g76h.js → ToggleButtonGroup-DuGWJmyI.js} +1 -1
  36. package/dist/assets/{Verified-DFAnifny.js → Verified-CfeEGfMV.js} +1 -1
  37. package/dist/assets/{VerifiedUser-BFvcT9A-.js → VerifiedUser-BBYo9Pc2.js} +1 -1
  38. package/dist/assets/{ViewList-BF_nxJjM.js → ViewList-CPmudwlq.js} +1 -1
  39. package/dist/assets/{_createAggregator-DTDqEyEr.js → _createAggregator-DeRGH35v.js} +1 -1
  40. package/dist/assets/{actions-BfeIbo_G.js → actions-DkMO_r4a.js} +1 -1
  41. package/dist/assets/{actions-DcrS1GhL.js → actions-N_sfYn6F.js} +1 -1
  42. package/dist/assets/{agreement-8NAAXeTA.js → agreement-DJUZzBc6.js} +1 -1
  43. package/dist/assets/api-BmtVyz86.js +1 -0
  44. package/dist/assets/{appearance-BiJ6lD1T.js → appearance-BHLySBfx.js} +1 -1
  45. package/dist/assets/{audit-logs-xPU-sDla.js → audit-logs-D-nTmyPS.js} +1 -1
  46. package/dist/assets/{base-chart-CPd4vePQ.js → base-chart-DQ401Lk6.js} +1 -1
  47. package/dist/assets/{blocklet-BwXw89V1.js → blocklet-DISJHp6B.js} +1 -1
  48. package/dist/assets/{chain-d11c9jLj.js → chain-H_ZkBTRb.js} +1 -1
  49. package/dist/assets/{click-to-copy-mqyEDC5n.js → click-to-copy-DX5jjk2s.js} +1 -1
  50. package/dist/assets/client-mu06Cy2w.js +1 -0
  51. package/dist/assets/cloneDeep-DuTUFwXr.js +1 -0
  52. package/dist/assets/{collapse-Co_76D-y.js → collapse-D0TcL3yf.js} +1 -1
  53. package/dist/assets/{config-navigation-Bxan73e2.js → config-navigation-BUN_bn5b.js} +3 -3
  54. package/dist/assets/{connect-to-dgAF9yLc.js → connect-to-2qqraFvt.js} +1 -1
  55. package/dist/assets/{cssMode-C31W-e3q.js → cssMode-Cgd7qVp_.js} +1 -1
  56. package/dist/assets/{delete-confirm-BBlDevSj.js → delete-confirm-B_vil0gb.js} +1 -1
  57. package/dist/assets/{depsEqual-BxsaWGVI.js → depsEqual-D6ZeS2iD.js} +1 -1
  58. package/dist/assets/{detail-DAPMqeRx.js → detail-BHQbwbfp.js} +3 -3
  59. package/dist/assets/{domains-24jfdV6n.js → domains-BLJOV5Qw.js} +1 -1
  60. package/dist/assets/{download-3kRJTAFI.js → download-C8Jsk4ZH.js} +1 -1
  61. package/dist/assets/{edit.svg-BHgQlE3X.js → edit.svg-C6CO_uuX.js} +1 -1
  62. package/dist/assets/emotion-cache.browser.esm-Cm-YvbUu.js +1 -0
  63. package/dist/assets/engine-0m3b2g2H.js +1 -0
  64. package/dist/assets/{freemarker2-JmP3cv2S.js → freemarker2-C40Z2ucU.js} +1 -1
  65. package/dist/assets/{get-safe-url-DG3hbVuw.js → get-safe-url-CMpu7B-v.js} +1 -1
  66. package/dist/assets/getValidReactChildren-CFOO2Xyb.js +1 -0
  67. package/dist/assets/{graphqlMode-C78Ld2Eu.js → graphqlMode-3TdkToR6.js} +2 -2
  68. package/dist/assets/{handlebars-CKF2hLML.js → handlebars-CsECaVWw.js} +1 -1
  69. package/dist/assets/{html-CBskQMFu.js → html-CSc4ZJZE.js} +1 -1
  70. package/dist/assets/{html-title-F0NEfYXw.js → html-title-Cx_lv4tS.js} +1 -1
  71. package/dist/assets/{htmlMode-DsG66HOr.js → htmlMode-BeKAEeTT.js} +1 -1
  72. package/dist/assets/{iframe-B5DJ8-Ji.js → iframe-DYiNwxlH.js} +1 -1
  73. package/dist/assets/{index-B3FIRHqC.js → index-5KlKCCpC.js} +1 -1
  74. package/dist/assets/{index-C-fYS2zX.js → index-B4sphWdh.js} +1 -1
  75. package/dist/assets/{index-g2Hjwa9j.js → index-BGD5220j.js} +1 -1
  76. package/dist/assets/{index-DpRx2tZw.js → index-BIgUqZXA.js} +1 -1
  77. package/dist/assets/{index-OGdXuzH7.js → index-BSljJZ1V.js} +3 -3
  78. package/dist/assets/{index-DocroCwn.js → index-BW4Ntw6W.js} +1 -1
  79. package/dist/assets/{index-BeVhpCa2.js → index-BWDsxii_.js} +1 -1
  80. package/dist/assets/{index-D-LfiN9o.js → index-Bi0nnFEo.js} +1 -1
  81. package/dist/assets/{index-D9XGO23S.js → index-BitxghdI.js} +3 -3
  82. package/dist/assets/{index-DGDUIal5.js → index-BmTUrmH1.js} +1 -1
  83. package/dist/assets/{index-CIOQij4h.js → index-Bo967wkH.js} +1 -1
  84. package/dist/assets/{index-DAw4DSiR.js → index-BpFBX3ml.js} +1 -1
  85. package/dist/assets/{index-OdvXHPqT.js → index-BvAtsQd5.js} +3 -3
  86. package/dist/assets/{index-ClLVAMtr.js → index-BynKznHT.js} +1 -1
  87. package/dist/assets/{index-Bj_Te32l.js → index-C1LQFMVr.js} +1 -1
  88. package/dist/assets/{index-Y2ocg0We.js → index-C2JKqeAe.js} +1 -1
  89. package/dist/assets/{index-BShBVqEp.js → index-CB69gPUu.js} +1 -1
  90. package/dist/assets/{index-D9nLQXCy.js → index-CDf35iqn.js} +1 -1
  91. package/dist/assets/{index-DCkFWlji.js → index-CKY6mjuF.js} +1 -1
  92. package/dist/assets/{index-CTpUEnRG.js → index-CKv8PhTc.js} +1 -1
  93. package/dist/assets/{index-COFGt098.js → index-CNz77lZT.js} +1 -1
  94. package/dist/assets/{index-C3erfPAZ.js → index-CPqsIwYV.js} +3 -3
  95. package/dist/assets/{index-Dsvvy8_K.js → index-CYZ78qFI.js} +1 -1
  96. package/dist/assets/{index-BWyeLBJr.js → index-CZ8jsJu9.js} +1 -1
  97. package/dist/assets/{index-CN-8L-fW.js → index-Cg9PrZFL.js} +1 -1
  98. package/dist/assets/index-CmKeQSLC.js +1 -0
  99. package/dist/assets/{index-BLMobR0e.js → index-Cn-6wztm.js} +1 -1
  100. package/dist/assets/{index-H1nowJu-.js → index-CqgcvSrI.js} +1 -1
  101. package/dist/assets/{index-CPewySJ_.js → index-Cst_GbVp.js} +1 -1
  102. package/dist/assets/{index-DPKaJazb.js → index-CvPFmloQ.js} +1 -1
  103. package/dist/assets/{index-ChZ3ki2X.js → index-CxDumZ3y.js} +9 -9
  104. package/dist/assets/{index-COql_jsK.js → index-DBip_c5f.js} +1 -1
  105. package/dist/assets/{index-BMcGNp8z.js → index-DPRVx4ek.js} +3 -3
  106. package/dist/assets/{index-Cx9xeHC7.js → index-Dqnz6VXa.js} +1 -1
  107. package/dist/assets/{index-0496i8uI.js → index-Dsoqycrd.js} +2 -2
  108. package/dist/assets/{index-4ozQpL9g.js → index-Dv-ACCVn.js} +1 -1
  109. package/dist/assets/{index-BTOhdwnt.js → index-DyeX_qg7.js} +1 -1
  110. package/dist/assets/{index-2hrGtHmX.js → index-JGiTsamG.js} +1 -1
  111. package/dist/assets/{index-BUw2Zomp.js → index-KMm33XHL.js} +1 -1
  112. package/dist/assets/{index-DDIG3-mk.js → index-Pr52m2qZ.js} +1 -1
  113. package/dist/assets/{index-R68RI5nS.js → index-S7znBZmC.js} +1 -1
  114. package/dist/assets/{index-Mg5Ud6gu.js → index-aJIykGoH.js} +1 -1
  115. package/dist/assets/{index-C1YX-486.js → index-bvnJ1qfi.js} +1 -1
  116. package/dist/assets/{index-DKPVTl-I.js → index-f3wFrDOj.js} +1 -1
  117. package/dist/assets/{index-x8ZFxnS7.js → index-hrs7Mhjt.js} +1 -1
  118. package/dist/assets/{index.esm-Dt7UO6Gw.js → index.esm-LjN1Hm60.js} +1 -1
  119. package/dist/assets/{install-from-url-DP36MlN0.js → install-from-url-CCmRaPIQ.js} +1 -1
  120. package/dist/assets/{invitation-Iv5T__li.js → invitation-DNn6S4p1.js} +1 -1
  121. package/dist/assets/{is-path-prefix-equal-DVbPRsdH.js → is-path-prefix-equal-DceJmX9J.js} +1 -1
  122. package/dist/assets/{item-D5nrOHxx.js → item-Bg87F2Pj.js} +1 -1
  123. package/dist/assets/{javascript-DwMwjVUG.js → javascript-CImnwSoz.js} +1 -1
  124. package/dist/assets/{jsonMode-Dw4fMRhD.js → jsonMode-Bj5PmjjW.js} +1 -1
  125. package/dist/assets/{liquid-9EaYCIu3.js → liquid-CmLkJX3a.js} +1 -1
  126. package/dist/assets/{list-header-DofW2Ftc.js → list-header-C3WTZrdD.js} +1 -1
  127. package/dist/assets/{log-DaGgK84T.js → log-Dy47Mxwd.js} +1 -1
  128. package/dist/assets/{lottie-react.esm-tNmLlP7P.js → lottie-react.esm-DxER1I_l.js} +1 -1
  129. package/dist/assets/{mdx-WQ_--1yL.js → mdx-BtCUya4x.js} +1 -1
  130. package/dist/assets/{memory-BPr31Oys.js → memory-Ca4JR3KI.js} +1 -1
  131. package/dist/assets/{metric-D2ucAHiH.js → metric-CDR_xfqd.js} +1 -1
  132. package/dist/assets/omit-Cwb_YFfu.js +1 -0
  133. package/dist/assets/{overview-CCPEnAHB.js → overview-Bvtmyxun.js} +1 -1
  134. package/dist/assets/{permission-CUvNs2Zv.js → permission-EJYXw2v1.js} +1 -1
  135. package/dist/assets/{preference-BN0Jy77b.js → preference-CXe14Osu.js} +3 -3
  136. package/dist/assets/{python-C_uQOER7.js → python-CLcFjgec.js} +1 -1
  137. package/dist/assets/{raf-schd.esm-DUMXV33K.js → raf-schd.esm-9isuMxk8.js} +1 -1
  138. package/dist/assets/{razor-Bf6ygvvd.js → razor-BgYyruii.js} +1 -1
  139. package/dist/assets/{rotate-session-key-BdVsr217.js → rotate-session-key-CQB3pXN4.js} +1 -1
  140. package/dist/assets/{runtime-B54DBemf.js → runtime-B6StkUNa.js} +1 -1
  141. package/dist/assets/schema-Wv54HyG9.js +1 -0
  142. package/dist/assets/sdk-B2qcFc0E.js +1 -0
  143. package/dist/assets/{service-CcQaRfy1.js → service-BAFeuouA.js} +1 -1
  144. package/dist/assets/{shorten-label-CPrM7klu.js → shorten-label-B0m7WWm_.js} +1 -1
  145. package/dist/assets/{simple-select-Y6nLlyX-.js → simple-select-D5DhspLn.js} +1 -1
  146. package/dist/assets/{spaces-DfU2dhr-.js → spaces-BkLlvJlV.js} +1 -1
  147. package/dist/assets/{status-tQggAyS9.js → status-5TKR4Tl2.js} +1 -1
  148. package/dist/assets/{status-DjEtZNUr.js → status-D7zoO7lM.js} +1 -1
  149. package/dist/assets/{switch-control-LS_NeTom.js → switch-control-BJ9fbw3I.js} +1 -1
  150. package/dist/assets/{table-icons-LUDdTh3T.js → table-icons-DLsn7GMI.js} +1 -1
  151. package/dist/assets/{team-Dyq5wP2P.js → team-16Ujfno4.js} +1 -1
  152. package/dist/assets/{toLower-B8SBWvWe.js → toLower-CS_hmd2O.js} +1 -1
  153. package/dist/assets/toUpper-BiLpQm9G.js +1 -0
  154. package/dist/assets/{traffic-DgBk3o2N.js → traffic-BxsvLDRQ.js} +1 -1
  155. package/dist/assets/{tsMode-_qFiyVuf.js → tsMode-CN8rErtn.js} +1 -1
  156. package/dist/assets/{typescript-BClkULc3.js → typescript-DSffZA-5.js} +1 -1
  157. package/dist/assets/{url-evaluation-DgbmtLnr.js → url-evaluation-DFMzofgY.js} +1 -1
  158. package/dist/assets/{url-join-CTs-nsh5.js → url-join-D3PSxY2b.js} +1 -1
  159. package/dist/assets/{use-mobile-Yz2bScih.js → use-mobile-DNj1DdUP.js} +1 -1
  160. package/dist/assets/{use-mobile-BeKGXAC7.js → use-mobile-fMZ70tR1.js} +1 -1
  161. package/dist/assets/{useAsync-DkpPqR2N.js → useAsync-BD45gcWH.js} +1 -1
  162. package/dist/assets/{useAsyncRetry-Xbq1Vu1J.js → useAsyncRetry-D0_e0qFz.js} +1 -1
  163. package/dist/assets/{useLocalStorage-BRX7xEeE.js → useLocalStorage-bjVpdIUp.js} +1 -1
  164. package/dist/assets/{useThemeProps-B8kKGfuj.js → useThemeProps-BqbmQYZm.js} +1 -1
  165. package/dist/assets/{util-Cw9ZhkhZ.js → util-DwHVn3ka.js} +1 -1
  166. package/dist/assets/{wait-container-CESBMuDe.js → wait-container-BI50IOrN.js} +1 -1
  167. package/dist/assets/{without-wallet-DfzBh9gC.js → without-wallet-CmBFe6LE.js} +1 -1
  168. package/dist/assets/{wrap-locale-Bz8sQEwG.js → wrap-locale-C-kUviiw.js} +1 -1
  169. package/dist/assets/{xml-DgLvDwTZ.js → xml-DlNxIUrd.js} +1 -1
  170. package/dist/assets/{yaml-CBYpsbMl.js → yaml-kJOY6oFY.js} +1 -1
  171. package/dist/index.html +1 -1
  172. package/dist/service-worker.js +1 -1
  173. package/package.json +1 -1
  174. package/dist/assets/ArrowDropDown-CPMzkOwU.js +0 -1
  175. package/dist/assets/api-DHdVnqwS.js +0 -1
  176. package/dist/assets/client-CSeQ4CUw.js +0 -1
  177. package/dist/assets/cloneDeep-DrWSOVhF.js +0 -1
  178. package/dist/assets/emotion-cache.browser.esm-DKCrrwkN.js +0 -1
  179. package/dist/assets/engine-Cere5Eel.js +0 -1
  180. package/dist/assets/getValidReactChildren-UBZRExQI.js +0 -1
  181. package/dist/assets/index-B_D_eWlx.js +0 -1
  182. package/dist/assets/omit-BPHBFoDu.js +0 -1
  183. package/dist/assets/schema-C8eqaAts.js +0 -1
  184. package/dist/assets/sdk-B2QHgBcr.js +0 -1
  185. package/dist/assets/toUpper-z0GOUGgF.js +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-BeVhpCa2.js","./index-BojVbZw0.js","./index-C1YX-486.js","./metric-D2ucAHiH.js","./click-to-copy-mqyEDC5n.js","./index-4ozQpL9g.js","./useLocalStorage-BRX7xEeE.js","./index-Y2ocg0We.js","./FilterList-BnK3OcNB.js","./CSSTransition-CgU-qJG1.js","./emotion-cache.browser.esm-DKCrrwkN.js","./index-2hrGtHmX.js","./redux-DfszZyTl.js","./typeof-QjJsDpFa.js","./depsEqual-BxsaWGVI.js","./index-BShBVqEp.js","./TableSearch-BfqBG8KC.js","./Search-2a28Zd0Q.js","./Clear-D0eiF7LM.js","./MoreVert-Bg7SRP_I.js","./status-tQggAyS9.js","./url-evaluation-DgbmtLnr.js","./actions-BfeIbo_G.js","./get-safe-url-DG3hbVuw.js","./ButtonGroup-B8CEk0Fm.js","./getValidReactChildren-UBZRExQI.js","./permission-CUvNs2Zv.js","./install-from-url-DP36MlN0.js","./without-wallet-DfzBh9gC.js","./index-BWyeLBJr.js","./cloneDeep-DrWSOVhF.js","./Autocomplete-BnpjHbVI.js","./ListSubheader-B_qXJClL.js","./ListItemButton-wejxtEoj.js","./Stepper-B6f7_MVS.js","./Launch-C31ynKKh.js","./Add-CTkKWsbA.js","./index-CN-8L-fW.js","./schema-C8eqaAts.js","./index-BTOhdwnt.js","./toLower-B8SBWvWe.js","./index-DGDUIal5.js","./url-join-CTs-nsh5.js","./wait-container-CESBMuDe.js","./use-mobile-Yz2bScih.js","./DeleteOutline-BXGUPwfv.js","./spaces-DfU2dhr-.js","./api-DHdVnqwS.js","./index-Bj_Te32l.js","./item-D5nrOHxx.js","./Verified-DFAnifny.js","./ChevronLeft-Mrf8wNcO.js","./ChevronRight-CgNj8oK3.js","./blocklet-BwXw89V1.js","./VerifiedUser-BFvcT9A-.js","./Done-B-4ttL5E.js","./delete-confirm-BBlDevSj.js","./item-G0iZE90Q.css","./engine-Cere5Eel.js","./ArrowDropDown-CPMzkOwU.js","./Breadcrumbs-BcwyHALS.js","./index-COql_jsK.js","./html-title-F0NEfYXw.js","./index.esm-Dt7UO6Gw.js","./switch-control-LS_NeTom.js","./Switch-iXfQHCNE.js","./Link-DKdN2Z0q.js","./logo-BKA11TRi.js","./Refresh-L5IK_LF1.js","./LoadingButton-Zo_5FEH-.js","./rotate-session-key-BdVsr217.js","./is-path-prefix-equal-DVbPRsdH.js","./Edit-BDZJlnuz.js","./CallMerge-DG9UCIML.js","./CardContent-DUT0SHjO.js","./Slider-DfrL_KUv.js","./visuallyHidden-Dan1xhjv.js","./index-B3FIRHqC.js","./download-3kRJTAFI.js","./index-BLMobR0e.js","./audit-logs-xPU-sDla.js","./index-g2Hjwa9j.js","./decode-DPztD6kB.js","./index-gnjjKJuC.css","./shorten-label-CPrM7klu.js","./team-Dyq5wP2P.js","./index-CPewySJ_.js","./ViewList-BF_nxJjM.js","./use-mobile-BeKGXAC7.js","./client-CSeQ4CUw.js","./AdapterDayjs-DPswIgNd.js","./useThemeProps-B8kKGfuj.js","./ErrorOutline-DM8Q-uGO.js","./index-DAw4DSiR.js","./sdk-B2QHgBcr.js","./actions-DcrS1GhL.js","./index-BUw2Zomp.js","./Google-BnsccEt-.js","./edit.svg-BHgQlE3X.js","./list-header-DofW2Ftc.js","./chain-d11c9jLj.js","./ToggleButtonGroup-CAU8g76h.js","./index-Cx9xeHC7.js","./index-ZgkIHsf0.css","./useAsyncRetry-Xbq1Vu1J.js","./useAsync-DkpPqR2N.js","./detail-DAPMqeRx.js","./index-CIOQij4h.js","./index-DPKaJazb.js","./invitation-Iv5T__li.js","./wrap-locale-Bz8sQEwG.js","./index-OGdXuzH7.js","./index-DKPVTl-I.js","./index-CTpUEnRG.js","./agreement-8NAAXeTA.js","./index-DocroCwn.js","./index-x8ZFxnS7.js","./index-H1nowJu-.js","./traffic-DgBk3o2N.js","./iframe-B5DJ8-Ji.js","./index-DBii9-f-.js","./base-chart-CPd4vePQ.js","./index-DDIG3-mk.js","./index-DRYJ0xIl.js","./memory-BPr31Oys.js","./index-COFGt098.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-BWDsxii_.js","./index-BojVbZw0.js","./index-bvnJ1qfi.js","./metric-CDR_xfqd.js","./click-to-copy-DX5jjk2s.js","./index-Dv-ACCVn.js","./useLocalStorage-bjVpdIUp.js","./index-C2JKqeAe.js","./FilterList-DcOJVDM2.js","./CSSTransition-BIUxaspZ.js","./emotion-cache.browser.esm-Cm-YvbUu.js","./index-JGiTsamG.js","./redux-DfszZyTl.js","./typeof-QjJsDpFa.js","./depsEqual-D6ZeS2iD.js","./index-CB69gPUu.js","./TableSearch-BuzsZxHI.js","./Search-BvWmcM2k.js","./Clear-DSDAa0M4.js","./MoreVert-DH4Y2k9h.js","./status-5TKR4Tl2.js","./url-evaluation-DFMzofgY.js","./actions-DkMO_r4a.js","./get-safe-url-CMpu7B-v.js","./ButtonGroup-D2nbA04k.js","./getValidReactChildren-CFOO2Xyb.js","./permission-EJYXw2v1.js","./install-from-url-CCmRaPIQ.js","./without-wallet-CmBFe6LE.js","./index-CZ8jsJu9.js","./cloneDeep-DuTUFwXr.js","./Autocomplete-C06SKe4H.js","./ListSubheader-CtIfn5EF.js","./ListItemButton-D_ncPLiT.js","./Stepper-DNM_ADcd.js","./Launch-L3zM7z2U.js","./Add-CobzoIKJ.js","./index-Cg9PrZFL.js","./schema-Wv54HyG9.js","./index-DyeX_qg7.js","./toLower-CS_hmd2O.js","./index-BmTUrmH1.js","./url-join-D3PSxY2b.js","./wait-container-BI50IOrN.js","./use-mobile-DNj1DdUP.js","./DeleteOutline-BRh_jEgm.js","./spaces-BkLlvJlV.js","./api-BmtVyz86.js","./index-C1LQFMVr.js","./item-Bg87F2Pj.js","./Verified-CfeEGfMV.js","./ChevronLeft-T8dPGT4o.js","./ChevronRight-BmNY6NuE.js","./blocklet-DISJHp6B.js","./VerifiedUser-BBYo9Pc2.js","./Done-DQFntFgi.js","./delete-confirm-B_vil0gb.js","./item-G0iZE90Q.css","./engine-0m3b2g2H.js","./ArrowDropDown-wCDjkm6N.js","./Breadcrumbs-BWQdjcIC.js","./index-DBip_c5f.js","./html-title-Cx_lv4tS.js","./index.esm-LjN1Hm60.js","./switch-control-BJ9fbw3I.js","./Switch-CAccGI-e.js","./Link-DHlqc6YG.js","./logo-BKA11TRi.js","./Refresh-DMoyFjzc.js","./LoadingButton-Dw3__mtY.js","./rotate-session-key-CQB3pXN4.js","./is-path-prefix-equal-DceJmX9J.js","./Edit-CvtjYyT4.js","./CallMerge-Dkt7zPa_.js","./CardContent-B-jtI1ie.js","./Slider-CaQ4_HVa.js","./visuallyHidden-Dan1xhjv.js","./index-5KlKCCpC.js","./download-C8Jsk4ZH.js","./index-Cn-6wztm.js","./audit-logs-D-nTmyPS.js","./index-BGD5220j.js","./decode-DPztD6kB.js","./index-gnjjKJuC.css","./shorten-label-B0m7WWm_.js","./team-16Ujfno4.js","./index-Cst_GbVp.js","./ViewList-CPmudwlq.js","./use-mobile-fMZ70tR1.js","./client-mu06Cy2w.js","./AdapterDayjs-B454wUKi.js","./useThemeProps-BqbmQYZm.js","./ErrorOutline-jpwCi-bt.js","./index-BpFBX3ml.js","./sdk-B2qcFc0E.js","./actions-N_sfYn6F.js","./index-KMm33XHL.js","./Google-DEgZE56h.js","./edit.svg-C6CO_uuX.js","./list-header-C3WTZrdD.js","./chain-H_ZkBTRb.js","./ToggleButtonGroup-DuGWJmyI.js","./index-Dqnz6VXa.js","./index-ZgkIHsf0.css","./useAsyncRetry-D0_e0qFz.js","./useAsync-BD45gcWH.js","./detail-BHQbwbfp.js","./index-Bo967wkH.js","./index-CvPFmloQ.js","./invitation-DNn6S4p1.js","./wrap-locale-C-kUviiw.js","./index-BSljJZ1V.js","./index-f3wFrDOj.js","./index-CKv8PhTc.js","./agreement-DJUZzBc6.js","./index-BW4Ntw6W.js","./index-hrs7Mhjt.js","./index-CqgcvSrI.js","./traffic-BxsvLDRQ.js","./iframe-DYiNwxlH.js","./index-DBii9-f-.js","./base-chart-DQ401Lk6.js","./index-Pr52m2qZ.js","./index-DRYJ0xIl.js","./memory-Ca4JR3KI.js","./index-CNz77lZT.js"])))=>i.map(i=>d[i]);
2
2
  function _mergeNamespaces(Be,Me){for(var qe=0;qe<Me.length;qe++){const He=Me[qe];if(typeof He!="string"&&!Array.isArray(He)){for(const Je in He)if(Je!=="default"&&!(Je in Be)){const Ye=Object.getOwnPropertyDescriptor(He,Je);Ye&&Object.defineProperty(Be,Je,Ye.get?Ye:{enumerable:!0,get:()=>He[Je]})}}}return Object.freeze(Object.defineProperty(Be,Symbol.toStringTag,{value:"Module"}))}(function(){const Me=document.createElement("link").relList;if(Me&&Me.supports&&Me.supports("modulepreload"))return;for(const Je of document.querySelectorAll('link[rel="modulepreload"]'))He(Je);new MutationObserver(Je=>{for(const Ye of Je)if(Ye.type==="childList")for(const Ze of Ye.addedNodes)Ze.tagName==="LINK"&&Ze.rel==="modulepreload"&&He(Ze)}).observe(document,{childList:!0,subtree:!0});function qe(Je){const Ye={};return Je.integrity&&(Ye.integrity=Je.integrity),Je.referrerPolicy&&(Ye.referrerPolicy=Je.referrerPolicy),Je.crossOrigin==="use-credentials"?Ye.credentials="include":Je.crossOrigin==="anonymous"?Ye.credentials="omit":Ye.credentials="same-origin",Ye}function He(Je){if(Je.ep)return;Je.ep=!0;const Ye=qe(Je);fetch(Je.href,Ye)}})();var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs$1(Be){return Be&&Be.__esModule&&Object.prototype.hasOwnProperty.call(Be,"default")?Be.default:Be}function getAugmentedNamespace(Be){if(Object.prototype.hasOwnProperty.call(Be,"__esModule"))return Be;var Me=Be.default;if(typeof Me=="function"){var qe=function He(){var Je=!1;try{Je=this instanceof He}catch{}return Je?Reflect.construct(Me,arguments,this.constructor):Me.apply(this,arguments)};qe.prototype=Me.prototype}else qe={};return Object.defineProperty(qe,"__esModule",{value:!0}),Object.keys(Be).forEach(function(He){var Je=Object.getOwnPropertyDescriptor(Be,He);Object.defineProperty(qe,He,Je.get?Je:{enumerable:!0,get:function(){return Be[He]}})}),qe}var jsxRuntime={exports:{}},reactJsxRuntime_production={};/**
3
3
  * @license React
4
4
  * react-jsx-runtime.production.js
@@ -522,7 +522,7 @@ ${Je}-----END CERTIFICATE-----
522
522
  `+Me)+`
523
523
  `+st+"}":"{"+ut.join(",")+"}",Me=st,it}}return stringify=function(tt,Qe,rt){var nt;if(Me="",qe="",typeof rt=="number")for(nt=0;nt<rt;nt+=1)qe+=" ";else typeof rt=="string"&&(qe=rt);if(Je=Qe,Qe&&typeof Qe!="function"&&(typeof Qe!="object"||typeof Qe.length!="number"))throw new Error("JSON.stringify");return Ze("",{"":tt})},stringify}var hasRequiredJsonify;function requireJsonify(){return hasRequiredJsonify||(hasRequiredJsonify=1,jsonify.parse=requireParse(),jsonify.stringify=requireStringify()),jsonify}var isarray$1,hasRequiredIsarray$1;function requireIsarray$1(){if(hasRequiredIsarray$1)return isarray$1;hasRequiredIsarray$1=1;var Be={}.toString;return isarray$1=Array.isArray||function(Me){return Be.call(Me)=="[object Array]"},isarray$1}var isArguments,hasRequiredIsArguments;function requireIsArguments(){if(hasRequiredIsArguments)return isArguments;hasRequiredIsArguments=1;var Be=Object.prototype.toString;return isArguments=function(qe){var He=Be.call(qe),Je=He==="[object Arguments]";return Je||(Je=He!=="[object Array]"&&qe!==null&&typeof qe=="object"&&typeof qe.length=="number"&&qe.length>=0&&Be.call(qe.callee)==="[object Function]"),Je},isArguments}var implementation,hasRequiredImplementation;function requireImplementation(){if(hasRequiredImplementation)return implementation;hasRequiredImplementation=1;var Be;if(!Object.keys){var Me=Object.prototype.hasOwnProperty,qe=Object.prototype.toString,He=requireIsArguments(),Je=Object.prototype.propertyIsEnumerable,Ye=!Je.call({toString:null},"toString"),Ze=Je.call(function(){},"prototype"),tt=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Qe=function(at){var st=at.constructor;return st&&st.prototype===at},rt={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},nt=function(){if(typeof window>"u")return!1;for(var at in window)try{if(!rt["$"+at]&&Me.call(window,at)&&window[at]!==null&&typeof window[at]=="object")try{Qe(window[at])}catch{return!0}}catch{return!0}return!1}(),it=function(at){if(typeof window>"u"||!nt)return Qe(at);try{return Qe(at)}catch{return!1}};Be=function(st){var ut=st!==null&&typeof st=="object",ct=qe.call(st)==="[object Function]",dt=He(st),pt=ut&&qe.call(st)==="[object String]",mt=[];if(!ut&&!ct&&!dt)throw new TypeError("Object.keys called on a non-object");var ft=Ze&&ct;if(pt&&st.length>0&&!Me.call(st,0))for(var yt=0;yt<st.length;++yt)mt.push(String(yt));if(dt&&st.length>0)for(var bt=0;bt<st.length;++bt)mt.push(String(bt));else for(var St in st)!(ft&&St==="prototype")&&Me.call(st,St)&&mt.push(String(St));if(Ye)for(var Tt=it(st),kt=0;kt<tt.length;++kt)!(Tt&&tt[kt]==="constructor")&&Me.call(st,tt[kt])&&mt.push(tt[kt]);return mt}}return implementation=Be,implementation}var objectKeys$1,hasRequiredObjectKeys$1;function requireObjectKeys$1(){if(hasRequiredObjectKeys$1)return objectKeys$1;hasRequiredObjectKeys$1=1;var Be=Array.prototype.slice,Me=requireIsArguments(),qe=Object.keys,He=qe?function(Ze){return qe(Ze)}:requireImplementation(),Je=Object.keys;return He.shim=function(){if(Object.keys){var Ze=function(){var tt=Object.keys(arguments);return tt&&tt.length===arguments.length}(1,2);Ze||(Object.keys=function(Qe){return Me(Qe)?Je(Be.call(Qe)):Je(Qe)})}else Object.keys=He;return Object.keys||He},objectKeys$1=He,objectKeys$1}var jsonStableStringify,hasRequiredJsonStableStringify;function requireJsonStableStringify(){if(hasRequiredJsonStableStringify)return jsonStableStringify;hasRequiredJsonStableStringify=1;var Be=(typeof JSON<"u"?JSON:requireJsonify()).stringify,Me=requireIsarray$1(),qe=requireObjectKeys$1(),He=requireCallBind(),Je=requireCallBound(),Ye=Je("Array.prototype.join"),Ze=Je("Array.prototype.indexOf"),tt=Je("Array.prototype.splice"),Qe=Je("Array.prototype.sort"),rt=function(at,st){for(var ut="",ct=0;ct<at;ct+=1)ut+=st;return ut},nt=function(it,at,st){return st};return jsonStableStringify=function(at){var st=arguments.length>1?arguments[1]:void 0,ut=st&&st.space||"";typeof ut=="number"&&(ut=rt(ut," "));var ct=!!st&&typeof st.cycles=="boolean"&&st.cycles,dt=st&&st.replacer?He(st.replacer):nt;if(st&&typeof st.collapseEmpty<"u"&&typeof st.collapseEmpty!="boolean")throw new TypeError("`collapseEmpty` must be a boolean, if provided");var pt=!!st&&st.collapseEmpty,mt=typeof st=="function"?st:st&&st.cmp,ft=mt&&function(bt){var St=mt.length>2&&function(kt){return bt[kt]};return function(Tt,kt){return mt({key:Tt,value:bt[Tt]},{key:kt,value:bt[kt]},St?{__proto__:null,get:St}:void 0)}},yt=[];return function bt(St,Tt,kt,jt){var Lt=ut?`
524
524
  `+rt(jt,ut):"",Gt=ut?": ":":";if(kt&&kt.toJSON&&typeof kt.toJSON=="function"&&(kt=kt.toJSON()),kt=dt(St,Tt,kt),kt!==void 0){if(typeof kt!="object"||kt===null)return Be(kt);var At=function(Dt,wt){return pt&&Dt.length===0?wt:(wt==="[]"?"[":"{")+Ye(Dt,",")+Lt+(wt==="[]"?"]":"}")};if(Me(kt)){for(var Et=[],Rt=0;Rt<kt.length;Rt++){var gt=bt(kt,Rt,kt[Rt],jt+1)||Be(null);Et[Et.length]=Lt+ut+gt}return At(Et,"[]")}if(Ze(yt,kt)!==-1){if(ct)return Be("__cycle__");throw new TypeError("Converting circular structure to JSON")}else yt[yt.length]=kt;for(var xt=Qe(qe(kt),ft&&ft(kt)),Et=[],Rt=0;Rt<xt.length;Rt++){var Tt=xt[Rt],Ct=bt(kt,Tt,kt[Tt],jt+1);if(Ct){var _t=Be(Tt)+Gt+Ct;Et[Et.length]=Lt+ut+_t}}return tt(yt,Ze(yt,kt),1),At(Et,"{}")}}({"":at},"",at,0)},jsonStableStringify}var jsonStableStringifyExports=requireJsonStableStringify();const Wt=getDefaultExportFromCjs$1(jsonStableStringifyExports);var lib$9={},lib$8={},hasRequiredLib$9;function requireLib$9(){return hasRequiredLib$9||(hasRequiredLib$9=1,function(Be){var Me=lib$8&&lib$8.__createBinding||(Object.create?function($t,ln,Sn,kn){kn===void 0&&(kn=Sn);var Ln=Object.getOwnPropertyDescriptor(ln,Sn);(!Ln||("get"in Ln?!ln.__esModule:Ln.writable||Ln.configurable))&&(Ln={enumerable:!0,get:function(){return ln[Sn]}}),Object.defineProperty($t,kn,Ln)}:function($t,ln,Sn,kn){kn===void 0&&(kn=Sn),$t[kn]=ln[Sn]}),qe=lib$8&&lib$8.__setModuleDefault||(Object.create?function($t,ln){Object.defineProperty($t,"default",{enumerable:!0,value:ln})}:function($t,ln){$t.default=ln}),He=lib$8&&lib$8.__importStar||function($t){if($t&&$t.__esModule)return $t;var ln={};if($t!=null)for(var Sn in $t)Sn!=="default"&&Object.prototype.hasOwnProperty.call($t,Sn)&&Me(ln,$t,Sn);return qe(ln,$t),ln},Je=lib$8&&lib$8.__importDefault||function($t){return $t&&$t.__esModule?$t:{default:$t}};Object.defineProperty(Be,"__esModule",{value:!0}),Be.fromTokenToUnit=Be.fromUnitToToken=Be.numberToString=Be.toHex=Be.hexToBytes=Be.bytesToHex=Be.numberToHex=Be.hexToNumber=Be.hexToUtf8=Be.utf8ToHex=Be.toBN=Be.isHex=Be.isHexStrict=Be.isBigNumber=Be.isBN=Be.stripHexPrefix=Be.isHexPrefixed=Be.numberToBN=Be.rightPad=Be.leftPad=Be.BN=Be.isBase58btc=void 0,Be.isUint8Array=qt,Be.UUID=nn,Be.isUUID=Vt,Be.toUint8Array=Qt,Be.toBuffer=mn,Be.toBase58=En,Be.fromBase58=Ht,Be.toBase64=Ot,Be.fromBase64=Xt,Be.toAddress=rn,Be.toDid=pn,Be.isSameDid=An,Be.formatTxType=Rn;const Ye=Je(require$$0$8),Ze=Je(require$$1$6),tt=Je(require$$2$3),Qe=Je(require$$3$1),rt=Je(require$$1$5),nt=Je(require$$5),it=Je(require$$6$2),at=Je(require$$7);Be.rightPad=at.default;const st=Je(require$$0$7);Be.leftPad=st.default;const ut=Je(requireBs58()),ct=Je(requireBase64Url()),dt=Je(requireBn$3());Be.BN=dt.default;const pt=He(requireUtf8()),mt="did:abt:",ft=new dt.default(0),yt=new dt.default(-1),bt={encode:$t=>`z${ut.default.encode($t)}`,decode:$t=>ut.default.decode($t.slice(1))},St=$t=>{if(typeof $t!="string")return!1;if($t[0]==="z")try{return bt.decode($t),!0}catch{return!1}return!1};Be.isBase58btc=St;const Tt=$t=>{if(typeof $t=="string"||typeof $t=="number"){let ln=new dt.default(1);const Sn=String($t).toLowerCase().trim(),kn=Sn.substr(0,2)==="0x"||Sn.substr(0,3)==="-0x";let Ln=(0,Be.stripHexPrefix)(Sn);if(Ln.substr(0,1)==="-"&&(Ln=(0,Be.stripHexPrefix)(Ln.slice(1)),ln=new dt.default(-1,10)),Ln=Ln===""?"0":Ln,!Ln.match(/^-?[0-9]+$/)&&Ln.match(/^[0-9A-Fa-f]+$/)||Ln.match(/^[a-fA-F]+$/)||kn===!0&&Ln.match(/^[0-9A-Fa-f]+$/))return new dt.default(Ln,16).mul(ln);if((Ln.match(/^-?[0-9]+$/)||Ln==="")&&kn===!1)return new dt.default(Ln,10).mul(ln)}if((0,Be.isBN)($t))return new dt.default($t.toString(10),10);throw new Error(`[number-to-bn] while converting number ${JSON.stringify($t)} to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.`)};Be.numberToBN=Tt;const kt=$t=>{if(typeof $t!="string")throw new Error("[is-hex-prefixed] value must be type string");return $t.slice(0,2).toLowerCase()==="0x"};Be.isHexPrefixed=kt;const jt=$t=>typeof $t=="string"&&(0,Be.isHexPrefixed)($t)?$t.slice(2):$t;Be.stripHexPrefix=jt;const Lt=$t=>$t instanceof dt.default||$t&&$t.constructor&&$t.constructor.name==="BN";Be.isBN=Lt;const Gt=$t=>$t&&$t.constructor&&$t.constructor.name==="BigNumber";Be.isBigNumber=Gt;const At=$t=>((0,Ze.default)($t)||(0,tt.default)($t))&&/^(-)?0x[0-9a-f]*$/i.test($t);Be.isHexStrict=At;const Rt=$t=>((0,Ze.default)($t)||(0,tt.default)($t))&&/^(-0x|0x|0X|-0X)?[0-9a-f]*$/i.test($t);Be.isHex=Rt;const gt=($t,ln=10)=>{try{if(typeof $t=="number"&&$t>0){const Sn=Number($t).toLocaleString("fullwide",{useGrouping:!1});return new dt.default(Sn,ln)}return(0,Be.numberToBN)($t)}catch(Sn){throw new Error(`${Sn} Given value: "${$t}"`)}};Be.toBN=gt;const xt=$t=>{$t=pt.encode($t);let ln="";$t=$t.replace(/^(?:\u0000)*/,""),$t=$t.split("").reverse().join(""),$t=$t.replace(/^(?:\u0000)*/,""),$t=$t.split("").reverse().join("");for(let Sn=0;Sn<$t.length;Sn++){const Ln=$t.charCodeAt(Sn).toString(16);ln+=Ln.length<2?`0${Ln}`:Ln}return`0x${ln}`};Be.utf8ToHex=xt;const Et=$t=>{if(!(0,Be.isHexStrict)($t))throw new Error(`The parameter "${$t}" must be a valid HEX string.`);let ln="",Sn=0;$t=$t.replace(/^0x/i,""),$t=$t.replace(/^(?:00)*/,""),$t=$t.split("").reverse().join(""),$t=$t.replace(/^(?:00)*/,""),$t=$t.split("").reverse().join("");const kn=$t.length;for(let Ln=0;Ln<kn;Ln+=2)Sn=parseInt($t.substr(Ln,2),16),ln+=String.fromCharCode(Sn);return pt.decode(ln)};Be.hexToUtf8=Et;const Ct=$t=>$t?(0,Be.toBN)($t).toNumber():0;Be.hexToNumber=Ct;const _t=$t=>{if((0,it.default)($t)||typeof $t>"u")return $t;if(!isFinite($t)&&!(0,Be.isHex)($t))throw new Error(`Given input "${$t}" is not a number.`);const ln=(0,Be.toBN)($t),Sn=ln.toString(16);return ln.lt(new dt.default(0))?`-0x${Sn.substr(1)}`:`0x${Sn}`};Be.numberToHex=_t;const Dt=$t=>{const ln=[];for(let Sn=0;Sn<$t.length;Sn++)ln.push(($t[Sn]>>>4).toString(16)),ln.push(($t[Sn]&15).toString(16));return`0x${ln.join("")}`};Be.bytesToHex=Dt;const wt=$t=>{if($t=$t.toString(16),!(0,Be.isHex)($t))throw new Error(`Given value "${$t}" is not a valid hex string.`);$t=$t.replace(/^0x/i,""),$t=$t.length%2?`0${$t}`:$t;const ln=[];for(let Sn=0;Sn<$t.length;Sn+=2)ln.push(parseInt($t.substr(Sn,2),16));return ln};Be.hexToBytes=wt;const Pt=($t,ln=!1)=>qt($t)||Buffer$1.isBuffer($t)?ln?"bytes":(0,Be.bytesToHex)($t):(0,Be.isBase58btc)($t)?ln?"bytes":(0,Be.bytesToHex)(bt.decode($t)):(0,Ye.default)($t)?ln?"bool":$t?"0x01":"0x00":(0,Qe.default)($t)&&!(0,Be.isBigNumber)($t)&&!(0,Be.isBN)($t)?ln?"string":(0,Be.utf8ToHex)(JSON.stringify($t)):typeof $t=="string"?$t.indexOf("-0x")===0||$t.indexOf("-0X")===0?ln?"int256":(0,Be.numberToHex)($t):$t.indexOf("0x")===0||$t.indexOf("0X")===0?ln?"bytes":$t:ln?"string":(0,Be.utf8ToHex)($t):ln?+$t<0?"int256":"uint256":(0,Be.numberToHex)($t);Be.toHex=Pt;const It=$t=>{if(typeof $t=="string"){if(!$t.match(/^-?[0-9.]+$/))throw new Error(`Invalid value '${$t}' while converting to string, should be a number matching (^-?[0-9.]+).`);return $t}if(typeof $t=="number")return Number.isInteger($t)&&$t>0?Number($t).toLocaleString("fullwide",{useGrouping:!1}):String($t);if(typeof $t=="object"&&$t.toString&&($t.toTwos||$t.dividedToIntegerBy))return $t.toPrecision?String($t.toPrecision()):$t.toString(10);throw new Error(`while converting number to string, invalid number value '${$t}' type ${typeof $t}.`)};Be.numberToString=It;const Mt=($t,ln=18,Sn={})=>{let kn=(0,Be.toBN)($t);const Ln=kn.lt(ft),Yn=(0,Be.toBN)(`1${"0".repeat(ln)}`,10),Wn=Yn.toString(10).length-1||1,dn=Sn||{};Ln&&(kn=kn.mul(yt));let Cn=kn.mod(Yn).toString(10);for(;Cn.length<Wn;)Cn=`0${Cn}`;dn.pad||(Cn=Cn.match(/^([0-9]*[1-9]|0)(0*)/)[1]);let Bn=kn.div(Yn).toString(10);dn.commify&&(Bn=Bn.replace(/\B(?=(\d{3})+(?!\d))/g,","));let zn=`${Bn}${Cn==="0"?"":`.${Cn}`}`;return Ln&&(zn=`-${zn}`),zn};Be.fromUnitToToken=Mt;const sn=($t,ln=18)=>{let Sn=(0,Be.numberToString)($t);const kn=(0,Be.toBN)(`1${"0".repeat(ln)}`,10),Ln=kn.toString(10).length-1||1,Yn=Sn.substring(0,1)==="-";if(Yn&&(Sn=Sn.substring(1)),Sn===".")throw new Error(`error converting token ${$t} to unit, invalid value`);const Wn=Sn.split(".");if(Wn.length>2)throw new Error(`error converting token ${$t} to unit, too many decimal points`);let dn=Wn[0],Cn=Wn[1];if(dn||(dn="0"),Cn||(Cn="0"),Cn.length>Ln)throw new Error(`error converting token ${$t} to unit, too many decimal places`);for(;Cn.length<Ln;)Cn+="0";dn=new dt.default(dn),Cn=new dt.default(Cn);let Bn=dn.mul(kn).add(Cn);return Yn&&(Bn=Bn.mul(yt)),new dt.default(Bn.toString(10),10)};Be.fromTokenToUnit=sn;function qt($t){return Object.prototype.toString.call($t)==="[object Uint8Array]"}function nn(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,$t=>{const ln=Math.random()*16|0;return($t==="x"?ln:ln&3|8).toString(16)})}function Vt($t){return/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test($t)}function Qt($t){let ln=null;if([null,void 0,""].includes($t))ln=new Uint8Array;else if(Buffer$1.isBuffer($t))ln=new Uint8Array($t);else if((0,Be.isHexStrict)($t))ln=new Uint8Array((0,Be.hexToBytes)($t));else if(qt($t))ln=new Uint8Array($t);else if((0,Be.isBase58btc)($t))ln=new Uint8Array(bt.decode($t));else if(typeof $t=="string")ln=new Uint8Array((0,Be.hexToBytes)((0,Be.toHex)($t)));else throw new Error(`Unsupported input type ${typeof $t} detected for toBuffer, only Uint8Array/Buffer/Hex/Base58 are supported`);return ln}function mn($t){return Buffer$1.from(Qt($t))}function En($t){const ln=bt.encode(Qt($t));return Buffer$1.from(ln).toString("utf-8")}function Ht($t){if((0,Be.isBase58btc)($t)===!1)throw new Error("fromBase58 expect strict base58 encoded string as input");return Buffer$1.from(bt.decode($t))}function Ot($t,ln=!0){const Sn=ct.default.encode(mn($t));return ln?ct.default.escape(Sn):Sn}function Xt($t){if(typeof $t!="string")throw new Error("fromBase64 requires input to be a string");return Buffer$1.from(ct.default.unescape($t),"base64")}function rn($t){return $t.replace(mt,"")}function pn($t){return`${mt}${rn($t)}`}function An($t,ln){return rn($t).toLowerCase()===rn(ln).toLowerCase()}function Rn($t){return(0,rt.default)((0,nt.default)($t))}}(lib$8)),lib$8}var lib$7={},encode$4={},hasRequiredEncode$3;function requireEncode$3(){if(hasRequiredEncode$3)return encode$4;hasRequiredEncode$3=1,Object.defineProperty(encode$4,"__esModule",{value:!0}),encode$4.encode=Me;const Be=requireLib$9();function Me(qe,He="hex"){return["hex","base16"].includes(He)?(0,Be.toHex)(qe):He==="base58"?(0,Be.toBase58)(qe):He==="base64"?(0,Be.toBase64)(qe):He==="Uint8Array"?(0,Be.toUint8Array)(qe):He==="buffer"?(0,Be.toBuffer)(qe):qe}return encode$4}var keccak$2={},hasRequiredKeccak$2;function requireKeccak$2(){if(hasRequiredKeccak$2)return keccak$2;hasRequiredKeccak$2=1;var Be=keccak$2&&keccak$2.__importDefault||function(Ye){return Ye&&Ye.__esModule?Ye:{default:Ye}};Object.defineProperty(keccak$2,"__esModule",{value:!0}),keccak$2.KeccakHasher=void 0;const Me=Be(requireSha3$4()),qe=requireLib$9(),He=requireEncode$3();class Je{constructor(){[224,256,384,512].forEach(Ze=>{const tt=`hash${Ze}`,Qe=nt=>Me.default[`keccak${Ze}`](nt),rt=(nt,it)=>it===1?Qe(nt):rt(Qe(nt),it-1);this[tt]=(nt,it=1,at="hex")=>{let st=nt;try{st=(0,qe.toUint8Array)(nt)}catch{}const ut=rt(st,it);return(0,He.encode)(`0x${ut}`,at)}})}}return keccak$2.KeccakHasher=Je,keccak$2.default=new Je,keccak$2}var sha2$2={},hasRequiredSha2$2;function requireSha2$2(){if(hasRequiredSha2$2)return sha2$2;hasRequiredSha2$2=1,Object.defineProperty(sha2$2,"__esModule",{value:!0}),sha2$2.Sha2Hasher=void 0;const Be=requireLib$9(),Me=requireHash$2(),qe=requireEncode$3(),He={sha224:Me.sha224,sha256:Me.sha256,sha384:Me.sha384,sha512:Me.sha512};class Je{constructor(){[224,256,384,512].forEach(Ze=>{const tt=`hash${Ze}`,Qe=He[`sha${Ze}`],rt=(nt,it)=>{let at=nt;try{at=(0,Be.toUint8Array)(nt)}catch{}return it===1?`0x${Qe().update(at).digest("hex")}`:rt(rt(at,1),it-1)};this[tt]=(nt,it=2,at="hex")=>{const st=rt(nt,it);return(0,qe.encode)(st,at)}})}}return sha2$2.Sha2Hasher=Je,sha2$2.default=new Je,sha2$2}var sha3$2={},hasRequiredSha3$2;function requireSha3$2(){if(hasRequiredSha3$2)return sha3$2;hasRequiredSha3$2=1;var Be=sha3$2&&sha3$2.__importDefault||function(Ye){return Ye&&Ye.__esModule?Ye:{default:Ye}};Object.defineProperty(sha3$2,"__esModule",{value:!0}),sha3$2.Sha3Hasher=void 0;const Me=Be(requireSha3$4()),qe=requireLib$9(),He=requireEncode$3();class Je{constructor(){[224,256,384,512].forEach(Ze=>{const tt=`hash${Ze}`,Qe=Me.default[`sha3_${Ze}`],rt=(nt,it)=>it===1?Qe(nt):rt(Qe(nt),it-1);this[tt]=(nt,it=1,at="hex")=>{let st=nt;try{st=(0,qe.toUint8Array)(nt)}catch{}const ut=rt(st,it);return(0,He.encode)(`0x${ut}`,at)}})}}return sha3$2.Sha3Hasher=Je,sha3$2.default=new Je,sha3$2}var ed25519$2={},signer$2={},hasRequiredSigner$2;function requireSigner$2(){if(hasRequiredSigner$2)return signer$2;hasRequiredSigner$2=1;var Be=signer$2&&signer$2.__importDefault||function(qe){return qe&&qe.__esModule?qe:{default:qe}};Object.defineProperty(signer$2,"__esModule",{value:!0});const Me=Be(require_interface());return signer$2.default=Me.default.create("genKeyPair","getPublicKey","sign","verify"),signer$2}var hasRequiredEd25519$2;function requireEd25519$2(){if(hasRequiredEd25519$2)return ed25519$2;hasRequiredEd25519$2=1;var Be=ed25519$2&&ed25519$2.__importDefault||function(Qe){return Qe&&Qe.__esModule?Qe:{default:Qe}};Object.defineProperty(ed25519$2,"__esModule",{value:!0}),ed25519$2.Ed25519Signer=void 0;const Me=Be(requireNaclFast()),qe=Be(requireBrowser$j()),He=requireLib$9(),Je=Be(requireSigner$2()),Ye=requireEncode$3(),Ze=Me.default.sign;class tt extends Je.default{constructor(){super()}genKeyPair(rt="hex",nt){const it=nt?(0,He.toUint8Array)(nt):new Uint8Array((0,qe.default)(32));if(it.byteLength!==32)throw new Error("Invalid seed to generate key pair");const at=Ze.keyPair.fromSeed(it);return at.publicKey=(0,Ye.encode)(at.publicKey,rt),at.secretKey=(0,Ye.encode)(at.secretKey,rt),at}getPublicKey(rt,nt="hex"){const it=(0,He.toUint8Array)(rt),at=Ze.keyPair.fromSecretKey(it).publicKey;return(0,Ye.encode)(at,nt)}sign(rt,nt,it="hex"){const at=(0,He.toUint8Array)(nt),st=(0,He.toUint8Array)(rt),ut=Ze.detached(st,at);return(0,Ye.encode)(ut,it)}verify(rt,nt,it){const at=(0,He.toUint8Array)(it),st=(0,He.toUint8Array)(rt),ut=(0,He.toUint8Array)(nt);return Ze.detached.verify(st,ut,at)}}return ed25519$2.Ed25519Signer=tt,ed25519$2.default=new tt,ed25519$2}var ethereum$2={},secp256k1$2={},hasRequiredSecp256k1$2;function requireSecp256k1$2(){if(hasRequiredSecp256k1$2)return secp256k1$2;hasRequiredSecp256k1$2=1;var Be=secp256k1$2&&secp256k1$2.__importDefault||function(rt){return rt&&rt.__esModule?rt:{default:rt}};Object.defineProperty(secp256k1$2,"__esModule",{value:!0}),secp256k1$2.Secp256k1Signer=void 0;const Me=Be(requireElliptic()),qe=requireLib$9(),He=Be(requireBrowser$j()),Je=Be(requireSigner$2()),Ye=requireEncode$3(),Ze=Me.default.ec,tt=new Ze("secp256k1");class Qe extends Je.default{constructor(){super(),this.pkHasFormatPrefix=!0,this.pkCompressed=!1}isValidSK(nt){if(nt.byteLength!==32)return!1;const it=new qe.BN(nt);return it.cmp(tt.curve.n)<0&&!it.isZero()}genKeyPair(nt="hex"){let it=null;do it=new Uint8Array((0,He.default)(32));while(!this.isValidSK(it));const at=this.getPublicKey((0,qe.toHex)(it));return{secretKey:(0,Ye.encode)(it,nt),publicKey:(0,Ye.encode)(at,nt)}}getPublicKey(nt,it="hex"){if(!this.isValidSK((0,qe.toUint8Array)(nt)))throw new Error("Invalid secret key");let at=tt.keyFromPrivate((0,qe.toBuffer)(nt)).getPublic(this.pkCompressed,"hex");return this.pkHasFormatPrefix===!1&&(at=at.slice(2)),(0,Ye.encode)(`0x${at}`,it)}sign(nt,it,at="hex"){let st=nt;try{st=(0,qe.toUint8Array)(nt)}catch{}const ut=tt.keyFromPrivate((0,qe.toBuffer)(it)).sign((0,qe.stripHexPrefix)(st),{canonical:!0}).toDER("hex");return(0,Ye.encode)(`0x${ut}`,at)}verify(nt,it,at){let st=nt;try{st=(0,qe.toUint8Array)(nt)}catch{}let ut=(0,qe.toBuffer)(at);return this.pkHasFormatPrefix===!1&&ut[0]!==4&&ut.byteLength===64&&(ut=Buffer$1.concat([Buffer$1.from([4]),ut])),tt.keyFromPublic(ut).verify((0,qe.stripHexPrefix)(st),(0,qe.stripHexPrefix)((0,qe.toHex)(it)))}}return secp256k1$2.Secp256k1Signer=Qe,secp256k1$2.default=new Qe,secp256k1$2}var hasRequiredEthereum$2;function requireEthereum$2(){if(hasRequiredEthereum$2)return ethereum$2;hasRequiredEthereum$2=1;var Be=ethereum$2&&ethereum$2.__importDefault||function(Ze){return Ze&&Ze.__esModule?Ze:{default:Ze}};Object.defineProperty(ethereum$2,"__esModule",{value:!0}),ethereum$2.EthereumSigner=void 0;const Me=Be(requireAccount()),qe=Be(requireHash()),He=requireLib$9(),Je=requireSecp256k1$2();class Ye extends Je.Secp256k1Signer{constructor(){super(),this.pkHasFormatPrefix=!1}ethHash(tt){const Qe=(0,He.isHexStrict)(tt)?tt:(0,He.utf8ToHex)(tt),rt=(0,He.hexToBytes)(Qe),nt=Buffer$1.from(rt),it=`Ethereum Signed Message:
525
- ${rt.length}`,at=Buffer$1.from(it),st=Buffer$1.concat([at,nt]);return qe.default.keccak256s(st)}ethSign(tt,Qe){return Me.default.sign(tt,Qe)}ethRecover(tt,Qe){return Me.default.recover(tt,Qe)}}return ethereum$2.EthereumSigner=Ye,ethereum$2.default=new Ye,ethereum$2}var passkey$2={},hasRequiredPasskey$2;function requirePasskey$2(){if(hasRequiredPasskey$2)return passkey$2;hasRequiredPasskey$2=1;var Be=passkey$2&&passkey$2.__importDefault||function(Ye){return Ye&&Ye.__esModule?Ye:{default:Ye}};Object.defineProperty(passkey$2,"__esModule",{value:!0}),passkey$2.PasskeySigner=void 0;const Me=requireLib$9(),qe=requireHelpers(),He=Be(requireSigner$2());class Je extends He.default{constructor(){super()}genKeyPair(Ze="hex",tt){throw new Error("Not supported")}getPublicKey(Ze,tt="hex"){throw new Error("Not supported")}sign(Ze,tt,Qe="hex"){throw new Error("Not supported")}async verify(Ze,tt,Qe,rt){const nt=JSON.parse(rt);if(!nt.authenticatorData||!nt.clientDataJSON)throw new Error("extra.authenticatorData or extra.clientDataJSON is required for passkey signature verification");const it=(0,Me.toBuffer)((0,Me.fromBase64)(nt.authenticatorData)),at=await(0,qe.toHash)(qe.isoBase64URL.toBuffer(nt.clientDataJSON));if((0,qe.decodeClientDataJSON)(nt.clientDataJSON).challenge!==(0,Me.toBase64)(Ze))throw new Error("challenge mismatch for passkey signature");return(0,qe.verifySignature)({signature:qe.isoBase64URL.toBuffer(typeof tt=="string"?tt:(0,Me.toBase64)(tt)),data:qe.isoUint8Array.concat([it,at]),credentialPublicKey:Qe})}}return passkey$2.PasskeySigner=Je,passkey$2.default=new Je,passkey$2}var hasRequiredLib$8;function requireLib$8(){return hasRequiredLib$8||(hasRequiredLib$8=1,function(Be){var Me=lib$7&&lib$7.__importDefault||function(ct){return ct&&ct.__esModule?ct:{default:ct}};Object.defineProperty(Be,"__esModule",{value:!0}),Be.toTxHash=Be.Hashers=Be.Signers=Be.types=Be.Hasher=Be.Signer=void 0,Be.getSigner=it,Be.getHasher=at,Be.getRandomBytes=st;const qe=Me(requireBrowser$j()),He=requireEncode$3(),Je=Me(requireKeccak$2()),Ye=Me(requireSha2$2()),Ze=Me(requireSha3$2()),tt=Me(requireEd25519$2()),Qe=Me(requireEthereum$2()),rt=Me(requireSecp256k1$2()),nt=Me(requirePasskey$2());Be.Signer={Ed25519:tt.default,Secp256k1:rt.default,Ethereum:Qe.default,Passkey:nt.default},Be.Hasher={SHA2:Ye.default,SHA3:Ze.default,Keccak:Je.default},Be.types={KeyType:{ED25519:0,SECP256K1:1,ETHEREUM:2,PASSKEY:3},HashType:{KECCAK:0,SHA3:1,KECCAK_384:2,SHA3_384:3,KECCAK_512:4,SHA3_512:5,SHA2:6},RoleType:{ROLE_ACCOUNT:0,ROLE_NODE:1,ROLE_DEVICE:2,ROLE_APPLICATION:3,ROLE_SMART_CONTRACT:4,ROLE_BOT:5,ROLE_ASSET:6,ROLE_STAKE:7,ROLE_VALIDATOR:8,ROLE_GROUP:9,ROLE_TX:10,ROLE_TETHER:11,ROLE_SWAP:12,ROLE_DELEGATION:13,ROLE_VC:14,ROLE_BLOCKLET:15,ROLE_STORE:16,ROLE_TOKEN:17,ROLE_FACTORY:18,ROLE_ROLLUP:19,ROLE_STORAGE:20,ROLE_PROFILE:21,ROLE_PASSKEY:22,ROLE_TOKEN_FACTORY:23,ROLE_ANY:63},EncodingType:{BASE16:0,BASE58:1}};function it(ct){if(typeof Be.Signers[ct]>"u")throw new Error(`Unsupported signer type: ${ct}`);return Be.Signers[ct]}function at(ct){if(typeof Be.Hashers[ct]>"u")throw new Error(`Unsupported hash type: ${ct}`);return Be.Hashers[ct]}function st(ct=32,dt="hex"){return(0,He.encode)((0,qe.default)(ct),dt)}Be.Signers=Object.freeze({[Be.types.KeyType.ED25519]:Be.Signer.Ed25519,[Be.types.KeyType.SECP256K1]:Be.Signer.Secp256k1,[Be.types.KeyType.ETHEREUM]:Be.Signer.Ethereum,[Be.types.KeyType.PASSKEY]:Be.Signer.Passkey}),Be.Hashers=Object.freeze({[Be.types.HashType.KECCAK]:Be.Hasher.Keccak.hash256,[Be.types.HashType.KECCAK_384]:Be.Hasher.Keccak.hash384,[Be.types.HashType.KECCAK_512]:Be.Hasher.Keccak.hash512,[Be.types.HashType.SHA3]:Be.Hasher.SHA3.hash256,[Be.types.HashType.SHA3_384]:Be.Hasher.SHA3.hash384,[Be.types.HashType.SHA3_512]:Be.Hasher.SHA3.hash512,[Be.types.HashType.SHA2]:Be.Hasher.SHA2.hash256});const ut=ct=>Be.Hasher.SHA2.hash256(ct,1,"hex").replace(/^0x/,"").toUpperCase();Be.toTxHash=ut}(lib$7)),lib$7}var lib$6={},type$1={},util$6={},hasRequiredUtil$5;function requireUtil$5(){if(hasRequiredUtil$5)return util$6;hasRequiredUtil$5=1;var Be=util$6&&util$6.__importDefault||function(tt){return tt&&tt.__esModule?tt:{default:tt}};Object.defineProperty(util$6,"__esModule",{value:!0}),util$6.toStrictHex=util$6.toBytes=util$6.toBits=util$6.DID_PREFIX=void 0;const Me=Be(require$$0$7),qe=requireLib$9(),He="did:abt:";util$6.DID_PREFIX=He;const Je=tt=>{try{if((0,qe.isHexStrict)(tt))return Buffer$1.from((0,qe.stripHexPrefix)(tt),"hex");let Qe=(0,qe.fromBase58)(tt.replace(He,""));for(;Qe.length<26;)Qe=Buffer$1.concat([Buffer$1.from([0]),Qe]);return Qe}catch(Qe){throw new Error(`Cannot convert DID string to byte array: ${Qe.message}`)}};util$6.toBytes=Je;const Ye=(tt,Qe)=>(0,Me.default)((0,qe.toBN)(tt).toString(2),Qe,"0");util$6.toBits=Ye;const Ze=(tt,Qe)=>{const rt=tt.replace(/^0x/i,"");return typeof Qe=="number"&&Qe%2===0?(0,Me.default)(tt,Qe,"0"):rt.length%2===0?rt:`0${rt}`};return util$6.toStrictHex=Ze,util$6}var hasRequiredType$1;function requireType$1(){if(hasRequiredType$1)return type$1;hasRequiredType$1=1;var Be=type$1&&type$1.__importDefault||function(ft){return ft&&ft.__esModule?ft:{default:ft}};Object.defineProperty(type$1,"__esModule",{value:!0}),type$1.toChecksumAddress=type$1.isEthereumDid=type$1.isEthereumType=type$1.toTypeInfoStr=type$1.toTypeInfo=type$1.fromTypeInfo=type$1.DID_TYPE_PASSKEY=type$1.DID_TYPE_ETHEREUM=type$1.DID_TYPE_ARCBLOCK=void 0,type$1.DidType=ct;const Me=requireLib$9(),qe=Be(require$$1$5),He=Be(require$$2),Je=Be(require$$3),Ye=requireLib$8(),Ze=requireUtil$5(),tt={pk:"key",address:"encoding"},Qe={role:Ye.types.RoleType.ROLE_ACCOUNT,pk:Ye.types.KeyType.ED25519,hash:Ye.types.HashType.SHA3,address:Ye.types.EncodingType.BASE58};type$1.DID_TYPE_ARCBLOCK=Qe;const rt={role:Ye.types.RoleType.ROLE_PASSKEY,pk:Ye.types.KeyType.PASSKEY,hash:Ye.types.HashType.SHA2,address:Ye.types.EncodingType.BASE58};type$1.DID_TYPE_PASSKEY=rt;const nt={role:Ye.types.RoleType.ROLE_ACCOUNT,pk:Ye.types.KeyType.ETHEREUM,hash:Ye.types.HashType.KECCAK,address:Ye.types.EncodingType.BASE16};type$1.DID_TYPE_ETHEREUM=nt;const it=ft=>{const yt=["pk","hash","address"];return(0,He.default)((0,Je.default)(ft,yt),(0,Je.default)(nt,yt))};type$1.isEthereumType=it;const at=ft=>{const yt=(0,Me.toAddress)(ft);return/^(0x)?[0-9a-f]{40}$/i.test(yt)?/^(0x|0X)?[0-9a-f]{40}$/.test(yt)||/^(0x|0X)?[0-9A-F]{40}$/.test(yt)?!0:st(yt):!1};type$1.isEthereumDid=at;const st=ft=>{const yt=ft.replace(/^0x/i,""),bt=Ye.Hasher.Keccak.hash256(yt.toLowerCase()).replace(/^0x/i,"");for(let St=0;St<40;St++)if(parseInt(bt[St],16)>7&&yt[St].toUpperCase()!==yt[St]||parseInt(bt[St],16)<=7&&yt[St].toLowerCase()!==yt[St])return!1;return!0},ut=ft=>{if(typeof ft>"u")return"";if(!/^(0x)?[0-9a-f]{40}$/i.test(ft))throw new Error(`Given address "${ft}" is not a valid Ethereum address.`);const yt=ft.toLowerCase().replace(/^0x/i,""),bt=Ye.Hasher.Keccak.hash256(yt).replace(/^0x/i,"");let St="0x";for(let Tt=0;Tt<yt.length;Tt++)parseInt(bt[Tt],16)>7?St+=yt[Tt].toUpperCase():St+=yt[Tt];return St};type$1.toChecksumAddress=ut;function ct(ft={}){let yt={};["default","arcblock"].includes(ft)?yt=Qe:["eth","ethereum"].includes(ft)?yt=nt:["passkey"].includes(ft)?yt=rt:yt={...Qe,...ft};const{role:bt,pk:St,hash:Tt,address:kt}=yt;Object.keys(yt).forEach(Lt=>{const Gt=(0,qe.default)(`${tt[Lt]||Lt}Type`);if(Object.values(Ye.types[Gt]).includes(yt[Lt])===!1)throw new Error(`Unsupported ${Lt} type: ${yt[Lt]}`)});const jt={role:bt,pk:St,hash:Tt,address:kt};return it(jt)===!1&&[Ye.types.RoleType.ROLE_NODE,Ye.types.RoleType.ROLE_VALIDATOR,Ye.types.RoleType.ROLE_TETHER,Ye.types.RoleType.ROLE_SWAP].includes(jt.role)&&(jt.hash=Ye.types.HashType.SHA2),jt}ct.toJSON=ft=>Object.keys(ft).reduce((yt,bt)=>{const St=(0,qe.default)(`${tt[bt]||bt}Type`),Tt=Object.keys(Ye.types[St]),kt=Object.values(Ye.types[St]);return yt[bt]=Tt[kt.indexOf(ft[bt])],yt},{}),ct.fromJSON=ft=>Object.keys(ft).reduce((yt,bt)=>{const St=(0,qe.default)(`${tt[bt]||bt}Type`),Tt=Object.keys(Ye.types[St]),kt=Object.values(Ye.types[St]);return yt[bt]=kt[Tt.indexOf(ft[bt])],yt},{});const dt=ft=>{const yt=ct(ft),bt=(0,Ze.toBits)(yt.role,6),St=(0,Ze.toBits)(yt.pk,5),Tt=(0,Ze.toBits)(yt.hash,5),kt=`${bt}${St}${Tt}`,jt=(0,Me.stripHexPrefix)((0,Me.numberToHex)(parseInt(kt,2)));return(0,Ze.toStrictHex)(jt,4)};type$1.fromTypeInfo=dt;const pt=ft=>{let yt={};try{if(at(ft))yt=nt;else{const St=(0,Ze.toBytes)(ft).slice(0,2),Tt=(0,Ze.toStrictHex)(Buffer$1.from(St).toString("hex")),kt=(0,Ze.toBits)(new Me.BN(Tt,16),16),jt=kt.slice(0,6),Lt=kt.slice(6,11),Gt=kt.slice(11,16);yt={role:parseInt(jt,2),pk:parseInt(Lt,2),hash:parseInt(Gt,2),address:(0,Me.isHex)((0,Me.toAddress)(ft))?Ye.types.EncodingType.BASE16:Ye.types.EncodingType.BASE58}}return Object.keys(yt).forEach(bt=>{Object.values(Ye.types[`${(0,qe.default)(tt[bt]||bt)}Type`]).includes(yt[bt])===!1&&delete yt[bt]}),yt}catch{return yt}};type$1.toTypeInfo=pt;const mt=ft=>{const yt=pt(ft);return Object.keys(yt).reduce((bt,St)=>{const Tt=Ye.types[`${(0,qe.default)(tt[St]||St)}Type`];return bt[St]=Object.keys(Tt).find(kt=>Tt[kt]===yt[St]),bt},{})};return type$1.toTypeInfoStr=mt,type$1}var hasRequiredLib$7;function requireLib$7(){return hasRequiredLib$7||(hasRequiredLib$7=1,function(Be){Object.defineProperty(Be,"__esModule",{value:!0}),Be.DID_TYPE_PASSKEY=Be.DID_TYPE_ETHEREUM=Be.DID_TYPE_ARCBLOCK=Be.DID_PREFIX=Be.DidType=Be.fromTypeInfo=Be.toTypeInfoStr=Be.toTypeInfo=Be.isEthereumType=Be.isEthereumDid=Be.isValid=Be.isFromPublicKey=Be.toDid=Be.toAddress=Be.fromHash=Be.fromPublicKeyHash=Be.fromPublicKey=Be.fromSecretKey=Be.toStrictHex=Be.types=void 0;const Me=requireLib$8();Object.defineProperty(Be,"types",{enumerable:!0,get:function(){return Me.types}});const qe=requireLib$9();Object.defineProperty(Be,"toAddress",{enumerable:!0,get:function(){return qe.toAddress}}),Object.defineProperty(Be,"toDid",{enumerable:!0,get:function(){return qe.toDid}});const He=requireType$1();Object.defineProperty(Be,"DidType",{enumerable:!0,get:function(){return He.DidType}}),Object.defineProperty(Be,"DID_TYPE_ARCBLOCK",{enumerable:!0,get:function(){return He.DID_TYPE_ARCBLOCK}}),Object.defineProperty(Be,"DID_TYPE_ETHEREUM",{enumerable:!0,get:function(){return He.DID_TYPE_ETHEREUM}}),Object.defineProperty(Be,"DID_TYPE_PASSKEY",{enumerable:!0,get:function(){return He.DID_TYPE_PASSKEY}}),Object.defineProperty(Be,"fromTypeInfo",{enumerable:!0,get:function(){return He.fromTypeInfo}}),Object.defineProperty(Be,"isEthereumDid",{enumerable:!0,get:function(){return He.isEthereumDid}}),Object.defineProperty(Be,"isEthereumType",{enumerable:!0,get:function(){return He.isEthereumType}}),Object.defineProperty(Be,"toTypeInfo",{enumerable:!0,get:function(){return He.toTypeInfo}}),Object.defineProperty(Be,"toTypeInfoStr",{enumerable:!0,get:function(){return He.toTypeInfoStr}});const Je=requireUtil$5();Object.defineProperty(Be,"DID_PREFIX",{enumerable:!0,get:function(){return Je.DID_PREFIX}}),Object.defineProperty(Be,"toStrictHex",{enumerable:!0,get:function(){return Je.toStrictHex}});const Ye=(it,at)=>{const st=(0,He.DidType)(at),ut=(0,Me.getSigner)(st.pk).getPublicKey(it);return Ze(ut.indexOf("0x")===0?ut:`0x${ut}`,st)};Be.fromSecretKey=Ye;const Ze=(it,at)=>{const st=(0,He.DidType)(at),ct=(0,Me.getHasher)(st.hash)(it,1);return tt(ct,st)};Be.fromPublicKey=Ze;const tt=(it,at)=>{const st=(0,He.DidType)(at),ut=(0,qe.stripHexPrefix)(it).slice(0,40),ct=(0,Me.getHasher)(st.hash),dt=(0,He.fromTypeInfo)(st),pt=(0,qe.stripHexPrefix)(ct(`0x${dt}${ut}`,1)).slice(0,8),mt=`0x${dt}${ut}${pt}`;return(0,He.isEthereumType)(st)?(0,He.toChecksumAddress)(`0x${it.slice(-40)}`):st.address===Me.types.EncodingType.BASE58?(0,qe.toBase58)(mt):mt};Be.fromPublicKeyHash=tt;const Qe=(it,at=Me.types.RoleType.ROLE_ACCOUNT)=>{const st=Object.keys(Me.types.RoleType),ut=Object.values(Me.types.RoleType);if(ut.indexOf(at)===-1)throw new Error(`Unsupported role type ${at} when gen ddi from hash`);const ct=(0,He.DidType)({role:Me.types.RoleType[st[ut.indexOf(at)]]});return tt(it,ct)};Be.fromHash=Qe;const rt=(it,at)=>{if(nt(it)===!1)return!1;const st=(0,He.toTypeInfo)(it),ut=Ze(at,st),ct=it.replace(Je.DID_PREFIX,"");return ut===ct};Be.isFromPublicKey=rt;const nt=it=>{if(!it)return!1;const at=(0,qe.toAddress)(String(it)),{hash:st}=(0,He.toTypeInfo)(at);if(typeof st>"u")return!1;if((0,He.isEthereumDid)(at))return!0;const ut=(0,Me.getHasher)(st),ct=(0,Je.toBytes)(at),dt=(0,Je.toStrictHex)(Buffer$1.from(ct.slice(0,22)).toString("hex")),pt=(0,Je.toStrictHex)(Buffer$1.from(ct.slice(22,26)).toString("hex")),mt=(0,qe.stripHexPrefix)(ut(`0x${dt}`,1)).slice(0,8);return pt===mt};Be.isValid=nt}(lib$6)),lib$6}var hasRequiredLib$6;function requireLib$6(){if(hasRequiredLib$6)return lib$9;hasRequiredLib$6=1,Object.defineProperty(lib$9,"__esModule",{value:!0}),lib$9.WalletType=void 0,lib$9.Wallet=He,lib$9.fromSecretKey=Je,lib$9.fromPublicKey=Ye,lib$9.fromAddress=Ze,lib$9.fromRandom=tt,lib$9.fromJSON=Qe,lib$9.isValid=rt;const Be=requireLib$9(),Me=requireLib$8(),qe=requireLib$7();lib$9.WalletType=qe.DidType;function He(nt,it="default"){const at=(0,qe.DidType)(it),st=(0,Me.getSigner)(at.pk),ut=(0,Me.getHasher)(at.hash);return{type:at,secretKey:nt.sk,publicKey:nt.pk,address:nt.pk?(0,qe.fromPublicKey)(nt.pk,at):nt.address,hash(ct,dt=1,pt="hex"){return ut(ct,dt,pt)},sign(ct,dt=!0,pt="hex"){if(!nt.sk)throw new Error("Cannot sign data without a secretKey");if(dt){const mt=ut(ct,1);return st.sign(mt,nt.sk,pt)}return st.sign(ct,nt.sk,pt)},async verify(ct,dt,pt=!0,mt){if(!nt.pk)throw new Error("Cannot verify data without a publicKey");const ft=pt?ut(ct,1):ct;return st.verify(ft,dt,nt.pk,mt)},ethHash(ct){if(typeof st.ethHash!="function")throw new Error("ethHash is not supported by signer");return st.ethHash(ct)},ethSign(ct,dt=!0){if(!nt.sk)throw new Error("Cannot sign data without a secretKey");if(typeof st.ethHash!="function")throw new Error("ethSign is not supported by signer");return dt?st.ethSign(st.ethHash(ct),(0,Be.toHex)(nt.sk)):st.ethSign(ct,(0,Be.toHex)(nt.sk))},ethVerify(ct,dt,pt=!0){if(typeof st.ethHash!="function")throw new Error("ethVerify is not supported by signer");const mt=pt?st.ethHash(ct):ct;return st.ethRecover(mt,dt)===this.address},toAddress(){return nt.pk?(0,qe.fromPublicKey)(nt.pk,at):nt.address},toJSON(){return{type:qe.DidType.toJSON(at),sk:(0,Be.toHex)(nt.sk),pk:(0,Be.toHex)(nt.pk),address:this.address}}}}function Je(nt,it="default"){const at=(0,qe.DidType)(it),st={sk:nt,pk:(0,Me.getSigner)(at.pk).getPublicKey(nt)};return He(st,at)}function Ye(nt,it="default"){return He({pk:nt},(0,qe.DidType)(it))}function Ze(nt){return He({address:(0,qe.toAddress)(nt)},(0,qe.toTypeInfo)(nt))}function tt(nt="default"){const it=(0,qe.DidType)(nt),st=(0,Me.getSigner)(it.pk).genKeyPair();return He({sk:st.secretKey,pk:st.publicKey},it)}function Qe(nt){const it=qe.DidType.fromJSON(nt.type);return He(nt,it)}function rt(nt,it=!0){return!(!nt||typeof nt!="object"||typeof nt.verify!="function"||typeof nt.toAddress!="function"||typeof nt.toJSON!="function"||!nt.type||!nt.publicKey||it&&(!nt.secretKey||typeof nt.sign!="function"))}return lib$9}var libExports$8=requireLib$6(),libExports$7=requireLib$7(),isUrl_1,hasRequiredIsUrl;function requireIsUrl(){if(hasRequiredIsUrl)return isUrl_1;hasRequiredIsUrl=1,isUrl_1=He;var Be=/^(?:\w+:)?\/\/(\S+)$/,Me=/^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/,qe=/^[^\s\.]+\.\S{2,}$/;function He(Je){if(typeof Je!="string")return!1;var Ye=Je.match(Be);if(!Ye)return!1;var Ze=Ye[1];return Ze?!!(Me.test(Ze)||qe.test(Ze)):!1}return isUrl_1}var isUrlExports=requireIsUrl();const isUrl=getDefaultExportFromCjs$1(isUrlExports);var __defProp$4=Object.defineProperty,__defNormalProp$4=(Be,Me,qe)=>Me in Be?__defProp$4(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField$4=(Be,Me,qe)=>(__defNormalProp$4(Be,typeof Me!="symbol"?Me+"":Me,qe),qe);class AuthService{constructor({api:Me,token:qe}){__publicField$4(this,"api"),__publicField$4(this,"token"),this.api=Me,this.token=qe}async getUserPublicInfo({did:Me}){const{data:qe}=await this.api.get("/api/user",{params:{did:Me}});return qe}async getUserPrivacyConfig({did:Me}){const{data:qe}=await this.api.get("/api/user/privacy/config",{params:{did:Me}});return qe}async saveUserPrivacyConfig(Me){const{data:qe}=await this.api.post("/api/user/privacy/config",Me);return qe}async getUserNotificationConfig(){const{data:Me}=await this.api.get("/api/user/notification/config");return Me}async saveUserNotificationConfig(Me){const{data:qe}=await this.api.post("/api/user/notification/config",Me);return qe}async testNotificationWebhook(Me){const{data:qe}=await this.api.put("/api/user/notification/webhook",Me);return qe}async getProfileUrl({did:Me,locale:qe}){const He=`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/user`;return withQuery(He,{did:Me,locale:qe})}async getProfile(){const{data:Me}=await this.api.get("/api/user/profile");return Me}async refreshProfile(){await this.api.put("/api/user/refreshProfile")}async followUser({userDid:Me}){await this.api.post(`/api/user/follow/${Me}`)}async unfollowUser({userDid:Me}){await this.api.delete(`/api/user/follow/${Me}`)}async isFollowingUser({userDid:Me}){const{data:qe}=await this.api.get(`/api/user/follow/${Me}`);return qe.isFollowing}async saveProfile({locale:Me,inviter:qe,metadata:He,address:Je}){const{data:Ye}=await this.api.put("/api/user/profile",{locale:Me,inviter:qe,metadata:He,address:Je});return Ye}async updateDidSpace({spaceGateway:Me}){await this.api.put("/api/user/updateDidSpace",{spaceGateway:Me})}async logout({visitorId:Me,status:qe,includeFederated:He}){const Je=this.token.getRefreshToken(),{data:Ye}=await this.api.post("/api/user/logout",{visitorId:Me,status:qe,includeFederated:He,refreshToken:Je});return Ye}async destroyMyself(){const{data:Me}=await this.api.delete("/api/user");return Me}}class TokenService{getSessionToken(Me){return api$3.get(constantExports$1.SESSION_TOKEN_STORAGE_KEY)?api$3.get(constantExports$1.SESSION_TOKEN_STORAGE_KEY):Me.sessionTokenKey?window.localStorage.getItem(Me.sessionTokenKey):""}setSessionToken(Me){api$3.set(constantExports$1.SESSION_TOKEN_STORAGE_KEY,Me)}removeSessionToken(){api$3.remove(constantExports$1.SESSION_TOKEN_STORAGE_KEY)}getRefreshToken(){return localStorage.getItem(constantExports$1.REFRESH_TOKEN_STORAGE_KEY)}setRefreshToken(Me){localStorage.setItem(constantExports$1.REFRESH_TOKEN_STORAGE_KEY,Me)}removeRefreshToken(){localStorage.removeItem(constantExports$1.REFRESH_TOKEN_STORAGE_KEY)}}const blockletCache=new QuickLRU({maxSize:30,maxAge:60*1e3});class BlockletService{getBlocklet(Me,qe=!1){if(!Me){if(typeof window>"u"||typeof document>"u")throw new Error("Cannot get blocklet in server side without baseUrl");return window.blocklet}if(!qe&&blockletCache.has(Me))return blockletCache.get(Me);const He=withQuery(joinURL(Me,"__blocklet__.js"),{type:"json",t:Date.now()});return new Promise(async Je=>{const Ze=await(await fetch(He)).json();blockletCache.set(Me,Ze),Je(Ze)})}loadBlocklet(){return new Promise((Me,qe)=>{if(typeof window>"u"||typeof document>"u"){qe();return}const He=document.createElement("script");let Je="/";window.blocklet&&window.blocklet.prefix&&(Je=window.blocklet.prefix),He.src=withQuery(joinURL(Je,"__blocklet__.js"),{t:Date.now()}),He.onload=()=>{Me()},He.onerror=()=>{qe()},document.head.append(He)})}getPrefix(Me){return Me?Me?.prefix||"/":typeof window>"u"||typeof document>"u"?null:window.blocklet?.prefix||"/"}}var __defProp$3=Object.defineProperty,__defNormalProp$3=(Be,Me,qe)=>Me in Be?__defProp$3(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField$3=(Be,Me,qe)=>(__defNormalProp$3(Be,typeof Me!="symbol"?Me+"":Me,qe),qe);class UserSessionService{constructor({api:Me,blocklet:qe}){__publicField$3(this,"api"),__publicField$3(this,"blocklet"),this.api=Me,this.blocklet=qe||new BlockletService}getBaseUrl(Me){return Me?joinURL(Me,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX):void 0}async getUserSessions({did:Me,appUrl:qe}){const He=this.getBaseUrl(qe),Je=await this.blocklet.getBlocklet(),{data:Ye}=await this.api.get("/api/user-session",{baseURL:He,params:{userDid:Me,appPid:Je.appPid}});return Ye}async getMyLoginSessions({appUrl:Me}={},qe={page:1,pageSize:10}){const He=this.getBaseUrl(Me),{data:Je}=await this.api.get("/api/user-session/myself",{baseURL:He,params:qe});return Je}async loginByUserSession({id:Me,appPid:qe,userDid:He,passportId:Je,appUrl:Ye}){const Ze=this.getBaseUrl(Ye),{data:tt}=await this.api.post("/api/user-session/login",{id:Me,appPid:qe,userDid:He,passportId:Je},{baseURL:Ze});return tt}}var __defProp$2=Object.defineProperty,__defNormalProp$2=(Be,Me,qe)=>Me in Be?__defProp$2(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField$2=(Be,Me,qe)=>(__defNormalProp$2(Be,Me+"",qe),qe);class ComponentService{constructor({blocklet:Me=window.blocklet}={}){__publicField$2(this,"blocklet"),this.blocklet=Me}getComponent(Me){return(this.blocklet?.componentMountPoints||[]).find(Je=>[Je.title,Je.name,Je.did].includes(Me))}getComponentMountPoint(Me){return this.getComponent(Me)?.mountPoint||""}getUrl(Me,...qe){const He=this.getComponentMountPoint(Me),Je=this.blocklet?.appUrl||"";return joinURL(Je,He,...qe)}}var __defProp$1=Object.defineProperty,__defNormalProp$1=(Be,Me,qe)=>Me in Be?__defProp$1(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField$1=(Be,Me,qe)=>(__defNormalProp$1(Be,typeof Me!="symbol"?Me+"":Me,qe),qe);class FederatedService{constructor({api:Me,blocklet:qe}){__publicField$1(this,"api"),__publicField$1(this,"blocklet"),__publicField$1(this,"blockletDataCache",{}),this.api=Me,this.blocklet=qe||new BlockletService}async getTrustedDomains(){const{data:Me}=await this.api.get("/api/federated/getTrustedDomains");return Me}getMaster(Me=this.blocklet.getBlocklet()){return Me?.settings?.federated?.master}getConfig(Me=this.blocklet.getBlocklet()){return Me?.settings?.federated?.config}getFederatedEnabled(Me=this.blocklet.getBlocklet()){return this.getConfig(Me)?.status==="approved"}getSourceAppPid(Me=this.blocklet.getBlocklet()){return this.getMaster(Me)?.appPid}getFederatedApp(Me=this.blocklet.getBlocklet()){const qe=this.getMaster(Me);return isEmpty(qe)?null:{appId:qe.appId,appName:qe.appName,appDescription:qe.appDescription,appLogo:qe.appLogo,appPid:qe.appPid,appUrl:qe.appUrl,version:qe.version,sourceAppPid:qe.appPid,provider:"wallet"}}getCurrentApp(Me=this.blocklet.getBlocklet()){if(Me)return{appId:Me.appId,appName:Me.appName,appDescription:Me.appDescription,appLogo:Me.appLogo,appPid:Me.appPid,appUrl:Me.appUrl,version:Me.version,sourceAppPid:null,provider:"wallet"};if(window.env){const qe=window.env;return{appId:qe.appId,appName:qe.appName,appDescription:qe.appDescription,appUrl:qe.baseUrl,sourceAppPid:null,provider:"wallet",type:"server"}}return null}getApps(Me=this.blocklet.getBlocklet()){const qe=[],He=this.getFederatedApp(Me),Je=this.getCurrentApp(Me),Ye=this.getFederatedEnabled(Me);return Je&&qe.push(Je),He&&He?.appId!==Je?.appId&&Ye&&qe.push(He),qe.reverse()}async getBlockletData(Me,qe=!1){if(!qe&&this.blockletDataCache[Me])return this.blockletDataCache[Me];try{const He=new URL("__blocklet__.js",Me);He.searchParams.set("type","json");const Ye=await(await fetch(He.href)).json();return this.blockletDataCache[Me]=Ye,Ye}catch(He){return console.error(`Failed to get blocklet data: ${Me}`,He),null}}}const version="1.16.49",sleep$1=(Be=0)=>new Promise(Me=>{setTimeout(()=>{Me()},Be)}),getBearerToken=Be=>`Bearer ${encodeURIComponent(Be)}`,visitorIdKey="__visitor_id",getVisitorId=()=>localStorage.getItem(visitorIdKey),verifyResponse=(Be,Me)=>{if(isObject$3(Be.data)&&Be.status>=200&&Be.status<300&&window.blocklet&&window.blocklet.appId&&window.blocklet.appPk){if(!Be.data.$signature)throw Me(),new Error("Invalid response");const{appId:qe,appPk:He}=window.blocklet;if(libExports$8.fromPublicKey(He,libExports$7.toTypeInfo(qe)).verify(Wt(omit(Be.data,["$signature"])),Be.data.$signature)===!1)throw Me(),new Error("Invalid response")}return Be};function getCSRFToken(){return api$3.get("x-csrf-token")}async function sleepForLoading(Be,Me=300){Be.metaData.endTime=+new Date;const{startTime:qe,endTime:He}=Be.metaData,Je=He-qe;Je<Me&&await sleep$1(Me-Je),delete Be.metaData}const createAxios$1=(Be,Me)=>{const qe={...Be?.headers,"x-blocklet-js-sdk-version":version},He=new ComponentService,Je=axios$2.create({...Be,headers:qe});return Me?.lazy&&(Je.interceptors.request.use(Ye=>(Ye.metaData={startTime:+new Date},Ye),Ye=>Promise.reject(Ye)),Je.interceptors.response.use(async Ye=>(Ye.config&&await sleepForLoading(Ye.config,Me?.lazyTime),Ye),async Ye=>(Ye.response&&await sleepForLoading(Ye.response.config,Me?.lazyTime),Promise.reject(Ye)))),Je.interceptors.request.use(Ye=>{const Ze=Me?.componentDid??window.blocklet?.componentId?.split("/").pop();Ye.baseURL=Ye.baseURL||He.getComponentMountPoint(Ze),Ye.timeout=Ye.timeout||20*1e3,Ye.headers["x-csrf-token"]=getCSRFToken();const tt=getVisitorId();return[void 0,null].includes(tt)||(Ye.headers["x-blocklet-visitor-id"]=tt),Ye},Ye=>Promise.reject(Ye)),Je};async function renewRefreshToken$1(Be){if(!Be)throw new Error("Refresh token not found");const Me=createAxios$1({baseURL:constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,timeout:10*1e3,secure:!0,headers:{authorization:getBearerToken(Be)}}),{data:qe}=await Me.post("/api/did/refreshSession");return qe}function createRequest$1({getSessionToken:Be,setSessionToken:Me,removeSessionToken:qe,getRefreshToken:He,setRefreshToken:Je,removeRefreshToken:Ye,onRefreshTokenError:Ze,onRefreshTokenSuccess:tt},Qe,rt){let nt=null;const it=createAxios$1({timeout:30*1e3,...Qe},rt);return it.interceptors.request.use(async at=>{if(!api$3.get(constantExports$1.SESSION_TOKEN_STORAGE_KEY)){const st=Be(at);st&&(at.headers.authorization=getBearerToken(st))}return nt&&await nt,at},at=>Promise.reject(at)),it.interceptors.response.use(at=>at.config?.secure?verifyResponse(at,()=>{qe(),Ye()}):at,async at=>{const st=at.config;if(st&&(st.headers=st?.headers?{...st.headers}:{},at?.response?.status===401&&!st._retry)){st._retry=!0;try{nt||(nt=renewRefreshToken$1(He()));const ut=await nt;return Me(ut.nextToken),Je(ut.nextRefreshToken),typeof tt=="function"&&tt(ut),it(st)}catch(ut){return qe(),Ye(),typeof Ze=="function"&&Ze(ut),Promise.reject(at)}finally{nt=null}}return Promise.reject(at)}),it}var __defProp=Object.defineProperty,__defNormalProp=(Be,Me,qe)=>Me in Be?__defProp(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField=(Be,Me,qe)=>(__defNormalProp(Be,typeof Me!="symbol"?Me+"":Me,qe),qe);class BlockletSDK{constructor(){__publicField(this,"api"),__publicField(this,"user"),__publicField(this,"userSession"),__publicField(this,"token"),__publicField(this,"blocklet"),__publicField(this,"federated");const Me=new TokenService,qe=createRequest$1({getSessionToken:Me.getSessionToken,setSessionToken:Me.setSessionToken,removeSessionToken:Me.removeSessionToken,getRefreshToken:Me.getRefreshToken,setRefreshToken:Me.setRefreshToken,removeRefreshToken:Me.removeRefreshToken,onRefreshTokenError:()=>{console.error("Failed to refresh token")},onRefreshTokenSuccess:()=>{}},{baseURL:constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}),He=new BlockletService;this.user=new AuthService({api:qe,token:Me}),this.federated=new FederatedService({api:qe,blocklet:He}),this.userSession=new UserSessionService({api:qe,blocklet:He}),this.token=Me,this.blocklet=He,this.api=qe}}function createAxios(Be={},Me={}){const qe=new TokenService;return createRequest$1({getSessionToken:qe.getSessionToken,setSessionToken:qe.setSessionToken,removeSessionToken:qe.removeSessionToken,getRefreshToken:qe.getRefreshToken,setRefreshToken:qe.setRefreshToken,removeRefreshToken:qe.removeRefreshToken,onRefreshTokenError:()=>{console.error("Failed to refresh token")},onRefreshTokenSuccess:()=>{}},Be,Me)}const getBlockletSDK=(()=>{let Be;return()=>(Be||(Be=new BlockletSDK),Be)})();let s$b=null;try{s$b=new BlockletSDK}catch(Be){console.error("Failed to initialize BlockletSDK:",Be),s$b=null}const n$7="ux_user_",u$d=60*60*1e3,f$7=Be=>{if(typeof sessionStorage>"u")return null;try{const Me=`${n$7}${Be}`,qe=sessionStorage.getItem(Me);if(!qe)return null;const He=JSON.parse(qe),Je=He.timestamp||0;return Date.now()-Je>u$d?(sessionStorage.removeItem(Me),null):He.user}catch(Me){return console.error(`Failed to load user cache for did ${Be}:`,Me),null}},m$a=(Be,Me)=>{if(!(typeof sessionStorage>"u"))try{const qe=`${n$7}${Be}`,He={user:Me,timestamp:Date.now()};sessionStorage.setItem(qe,JSON.stringify(He))}catch(qe){console.error(`Failed to save user cache for did ${Be}:`,qe)}};function g$c(Be){if(!Be)return null;let Me="";return Be.fullName?Me=Be.fullName.charAt(0).toUpperCase():Be.email?Me=Be.email.split("@")[0].charAt(0).toUpperCase():Me=Be.did?Be.did.charAt(0).toUpperCase():"?",Me}function S$5(Be){if(!Be||typeof Be!="string")return!1;try{const Me=libExports$9.toTypeInfo(Be);return Me.role!==void 0&&Me.role!==libExports$a.types.RoleType.ROLE_APPLICATION}catch(Me){return console.error("Failed to check if did is user did:",Me),!1}}async function I$5(Be){if(!Be)return null;const Me=f$7(Be);if(Me)return Me;if(!s$b)return null;try{const qe=await s$b.user.getUserPublicInfo({did:Be});return qe&&m$a(Be,qe),qe}catch(qe){return console.error("Failed to get user by did:",qe),null}}const N$3=(Be,Me=48,qe=void 0,He=void 0,Je=!1)=>{const Ye=Ze=>{He?.(Be,Ze)};if(!Be.avatar){const Ze=g$c(Be),{className:tt,style:Qe,alt:rt}=qe||{};return jsxRuntimeExports.jsx(Avatar,{onClick:Ye,className:tt,style:Qe,alt:rt,sx:{width:Me,height:Me,fontSize:Me*.4,cursor:Je||He?"pointer":"default"},variant:"circular",children:Ze})}return jsxRuntimeExports.jsx(Box,{className:"user-card__avatar",sx:{display:"flex"},children:jsxRuntimeExports.jsx($$5,{size:Me,did:Be.did,variant:"circle",useProxyFallback:!0,style:{cursor:Je||He?"pointer":"default"},onClick:Ye,src:Be.avatar,alt:Be.fullName||"",...qe||{}})})},_$4=(Be,Me=120)=>Be?jsxRuntimeExports.jsx(Box,{sx:{maxWidth:Me},className:"user-card__top-right-content",children:Be()}):null;function x$a({user:Be,avatarSize:Me,shouldShowHoverCard:qe,renderCardContent:He=void 0,tooltipTitle:Je=void 0,tooltipProps:Ye=void 0,avatarProps:Ze=void 0,onAvatarClick:tt}){const Qe=N$3(Be,Me,Ze,tt,qe||!!Je);return Je?jsxRuntimeExports.jsx(Tooltip,{enterDelay:200,title:Je,placement:"bottom",...Ye??{},children:Qe}):qe?jsxRuntimeExports.jsx(Tooltip,{enterDelay:200,title:He?He():null,placement:"bottom",arrow:!1,...Ye??{},slotProps:{popper:{sx:{"& .MuiTooltip-tooltip":{backgroundColor:"transparent",p:0,maxWidth:500,zIndex:1e3}}}},slots:{transition:Zoom},children:Qe}):Qe}function p$b(Be){const{user:Me,infoType:qe,avatarSize:He=48,shouldShowHoverCard:Je=!1,renderCardContent:Ye,...Ze}=Be;return jsxRuntimeExports.jsx(x$a,{user:Me,avatarSize:He,shouldShowHoverCard:Je,renderCardContent:Ye,...Ze})}function p$a(Be,Me=10){return Be?Be.length<=Me?Be:`${Be.slice(0,Me-1)}...${Be.slice(-2)}`:""}function s$a({children:Be,maxLength:Me=10,sx:qe=void 0,hiddenTip:He=!1}){const Je=reactExports.useMemo(()=>p$a(Be,Me),[Be,Me]);return Be?.length<=Me?jsxRuntimeExports.jsx(Typography,{sx:qe,children:Be}):He?jsxRuntimeExports.jsx(Typography,{sx:qe,children:Je}):jsxRuntimeExports.jsx(Tooltip,{title:Be,placement:"top",children:jsxRuntimeExports.jsx(Typography,{sx:qe,children:Je})})}const F$6=Be=>{const{response:Me}=Be;return Me?`Request failed: ${Me.status} ${Me.statusText}: ${JSON.stringify(Me.data)}`:Be.message};function z$5({user:Be,t:Me,isMySelf:qe,visible:He}){const[Je,Ye]=reactExports.useState(!1),Ze=reactExports.useMemo(()=>Be?.did,[Be]),tt=reactExports.useMemo(()=>Object.prototype.hasOwnProperty.call(Be,"isFollowing")&&!isNil(Be.isFollowing),[Be]),Qe=reactExports.useMemo(()=>{let at=null;try{at=new BlockletSDK}catch(st){console.error("Failed to initialize BlockletSDK:",st),at=null}return at},[]),rt=useMemoizedFn(async()=>{if(!Qe){Ye(!1);return}try{const at=await Qe.user.isFollowingUser({userDid:Ze});Ye(at)}catch(at){console.error(at)}}),nt=useMemoizedFn(async(at=Ze)=>{if(!(!Qe||qe))try{await Qe.user.followUser({userDid:at}),H$6.success(Me("follow_success")),rt()}catch(st){console.error(st),H$6.error(F$6(st))}}),it=useMemoizedFn(async(at=Ze)=>{if(!(!Qe||qe))try{await Qe.user.unfollowUser({userDid:at}),H$6.success(Me("unfollow_success")),rt()}catch(st){console.error(st),H$6.error(F$6(st))}});return reactExports.useEffect(()=>{He&&Ze&&!qe&&Qe&&!tt&&rt()},[rt,Ze,qe,Qe,tt,He]),reactExports.useEffect(()=>{tt&&Ye(Be?.isFollowing||!1)},[tt,Be]),{followed:Je,followUser:nt,unfollowUser:it}}const _$3={zh:{chat:"聊天",follow:"关注",unfollow:"取消关注",follow_success:"关注成功",unfollow_success:"取消关注成功"},en:{chat:"Chat",follow:"Follow",unfollow:"Unfollow",follow_success:"Follow success",unfollow_success:"Unfollow success"}},P$5=()=>{const{componentMountPoints:Be=[]}=window.blocklet||{};return Be.find(Me=>Me.name==="did-comments")?.mountPoint};function j$7({user:Be,showSocialActions:Me,session:qe}){const{locale:He}=T$8()||{locale:"en"},Je=useMemoizedFn((Qe,rt={})=>p$c(_$3,Qe,He,"en",rt)),Ye=reactExports.useMemo(()=>!!qe?.user?.did,[qe?.user?.did]),Ze=reactExports.useMemo(()=>P$5(),[]),tt=useMemoizedFn(()=>{if(!Ye){qe?.login(noop$1,{openMode:"redirect",redirect:window.location.href});return}window.open(joinURL(Ze,`/chat/dm/${Be?.did}`),"_blank")});return reactExports.useMemo(()=>(typeof Me=="boolean"?!!Me:Me?.chat)&&!!Ze,[Me,Ze])?jsxRuntimeExports.jsxs(x$9,{className:"user-card__social-actions-chat",variant:"outlined",color:"primary",size:"small",onClick:tt,children:[jsxRuntimeExports.jsx(Icon,{icon:"tabler:message-dots",style:{marginRight:4}}),Je("chat")]}):null}function B$6({user:Be,showSocialActions:Me,session:qe}){const{locale:He}=T$8()||{locale:"en"},Je=useMemoizedFn((it,at={})=>p$c(_$3,it,He,"en",at)),Ye=reactExports.useMemo(()=>!!qe?.user?.did,[qe?.user?.did]),Ze=reactExports.useMemo(()=>typeof Me=="boolean"?!!Me:Me?.follow,[Me]),{followed:tt,followUser:Qe,unfollowUser:rt}=z$5({user:Be,t:Je,isMySelf:!1,visible:!!Ze}),nt=useMemoizedFn(()=>{if(!Ye){qe?.login(noop$1,{openMode:"redirect",redirect:window.location.href});return}tt?rt(Be.did):Qe(Be.did)});return Ze?jsxRuntimeExports.jsxs(x$9,{className:"user-card__social-actions-follow",variant:"outlined",color:"primary",size:"small",onClick:nt,children:[tt?jsxRuntimeExports.jsx(k$6,{sx:{fontSize:14,mr:.5}}):jsxRuntimeExports.jsx(U$2,{sx:{fontSize:14,mr:.5}}),Je(tt?"unfollow":"follow")]}):null}function Q$3({showSocialActions:Be,session:Me,user:qe}){const He=reactExports.useMemo(()=>Me?.user?.did===qe?.did,[Me?.user?.did,qe?.did]),Je=reactExports.useMemo(()=>Ne(),[]);return He||!Je||!Be?null:jsxRuntimeExports.jsxs(Box,{className:"user-card__social-actions",sx:{display:"flex",gap:1},children:[jsxRuntimeExports.jsx(j$7,{session:Me,user:qe,showSocialActions:Be}),jsxRuntimeExports.jsx(B$6,{session:Me,user:qe,showSocialActions:Be})]})}const x$9=styled(Button)`
525
+ ${rt.length}`,at=Buffer$1.from(it),st=Buffer$1.concat([at,nt]);return qe.default.keccak256s(st)}ethSign(tt,Qe){return Me.default.sign(tt,Qe)}ethRecover(tt,Qe){return Me.default.recover(tt,Qe)}}return ethereum$2.EthereumSigner=Ye,ethereum$2.default=new Ye,ethereum$2}var passkey$2={},hasRequiredPasskey$2;function requirePasskey$2(){if(hasRequiredPasskey$2)return passkey$2;hasRequiredPasskey$2=1;var Be=passkey$2&&passkey$2.__importDefault||function(Ye){return Ye&&Ye.__esModule?Ye:{default:Ye}};Object.defineProperty(passkey$2,"__esModule",{value:!0}),passkey$2.PasskeySigner=void 0;const Me=requireLib$9(),qe=requireHelpers(),He=Be(requireSigner$2());class Je extends He.default{constructor(){super()}genKeyPair(Ze="hex",tt){throw new Error("Not supported")}getPublicKey(Ze,tt="hex"){throw new Error("Not supported")}sign(Ze,tt,Qe="hex"){throw new Error("Not supported")}async verify(Ze,tt,Qe,rt){const nt=JSON.parse(rt);if(!nt.authenticatorData||!nt.clientDataJSON)throw new Error("extra.authenticatorData or extra.clientDataJSON is required for passkey signature verification");const it=(0,Me.toBuffer)((0,Me.fromBase64)(nt.authenticatorData)),at=await(0,qe.toHash)(qe.isoBase64URL.toBuffer(nt.clientDataJSON));if((0,qe.decodeClientDataJSON)(nt.clientDataJSON).challenge!==(0,Me.toBase64)(Ze))throw new Error("challenge mismatch for passkey signature");return(0,qe.verifySignature)({signature:qe.isoBase64URL.toBuffer(typeof tt=="string"?tt:(0,Me.toBase64)(tt)),data:qe.isoUint8Array.concat([it,at]),credentialPublicKey:Qe})}}return passkey$2.PasskeySigner=Je,passkey$2.default=new Je,passkey$2}var hasRequiredLib$8;function requireLib$8(){return hasRequiredLib$8||(hasRequiredLib$8=1,function(Be){var Me=lib$7&&lib$7.__importDefault||function(ct){return ct&&ct.__esModule?ct:{default:ct}};Object.defineProperty(Be,"__esModule",{value:!0}),Be.toTxHash=Be.Hashers=Be.Signers=Be.types=Be.Hasher=Be.Signer=void 0,Be.getSigner=it,Be.getHasher=at,Be.getRandomBytes=st;const qe=Me(requireBrowser$j()),He=requireEncode$3(),Je=Me(requireKeccak$2()),Ye=Me(requireSha2$2()),Ze=Me(requireSha3$2()),tt=Me(requireEd25519$2()),Qe=Me(requireEthereum$2()),rt=Me(requireSecp256k1$2()),nt=Me(requirePasskey$2());Be.Signer={Ed25519:tt.default,Secp256k1:rt.default,Ethereum:Qe.default,Passkey:nt.default},Be.Hasher={SHA2:Ye.default,SHA3:Ze.default,Keccak:Je.default},Be.types={KeyType:{ED25519:0,SECP256K1:1,ETHEREUM:2,PASSKEY:3},HashType:{KECCAK:0,SHA3:1,KECCAK_384:2,SHA3_384:3,KECCAK_512:4,SHA3_512:5,SHA2:6},RoleType:{ROLE_ACCOUNT:0,ROLE_NODE:1,ROLE_DEVICE:2,ROLE_APPLICATION:3,ROLE_SMART_CONTRACT:4,ROLE_BOT:5,ROLE_ASSET:6,ROLE_STAKE:7,ROLE_VALIDATOR:8,ROLE_GROUP:9,ROLE_TX:10,ROLE_TETHER:11,ROLE_SWAP:12,ROLE_DELEGATION:13,ROLE_VC:14,ROLE_BLOCKLET:15,ROLE_STORE:16,ROLE_TOKEN:17,ROLE_FACTORY:18,ROLE_ROLLUP:19,ROLE_STORAGE:20,ROLE_PROFILE:21,ROLE_PASSKEY:22,ROLE_TOKEN_FACTORY:23,ROLE_ANY:63},EncodingType:{BASE16:0,BASE58:1}};function it(ct){if(typeof Be.Signers[ct]>"u")throw new Error(`Unsupported signer type: ${ct}`);return Be.Signers[ct]}function at(ct){if(typeof Be.Hashers[ct]>"u")throw new Error(`Unsupported hash type: ${ct}`);return Be.Hashers[ct]}function st(ct=32,dt="hex"){return(0,He.encode)((0,qe.default)(ct),dt)}Be.Signers=Object.freeze({[Be.types.KeyType.ED25519]:Be.Signer.Ed25519,[Be.types.KeyType.SECP256K1]:Be.Signer.Secp256k1,[Be.types.KeyType.ETHEREUM]:Be.Signer.Ethereum,[Be.types.KeyType.PASSKEY]:Be.Signer.Passkey}),Be.Hashers=Object.freeze({[Be.types.HashType.KECCAK]:Be.Hasher.Keccak.hash256,[Be.types.HashType.KECCAK_384]:Be.Hasher.Keccak.hash384,[Be.types.HashType.KECCAK_512]:Be.Hasher.Keccak.hash512,[Be.types.HashType.SHA3]:Be.Hasher.SHA3.hash256,[Be.types.HashType.SHA3_384]:Be.Hasher.SHA3.hash384,[Be.types.HashType.SHA3_512]:Be.Hasher.SHA3.hash512,[Be.types.HashType.SHA2]:Be.Hasher.SHA2.hash256});const ut=ct=>Be.Hasher.SHA2.hash256(ct,1,"hex").replace(/^0x/,"").toUpperCase();Be.toTxHash=ut}(lib$7)),lib$7}var lib$6={},type$1={},util$6={},hasRequiredUtil$5;function requireUtil$5(){if(hasRequiredUtil$5)return util$6;hasRequiredUtil$5=1;var Be=util$6&&util$6.__importDefault||function(tt){return tt&&tt.__esModule?tt:{default:tt}};Object.defineProperty(util$6,"__esModule",{value:!0}),util$6.toStrictHex=util$6.toBytes=util$6.toBits=util$6.DID_PREFIX=void 0;const Me=Be(require$$0$7),qe=requireLib$9(),He="did:abt:";util$6.DID_PREFIX=He;const Je=tt=>{try{if((0,qe.isHexStrict)(tt))return Buffer$1.from((0,qe.stripHexPrefix)(tt),"hex");let Qe=(0,qe.fromBase58)(tt.replace(He,""));for(;Qe.length<26;)Qe=Buffer$1.concat([Buffer$1.from([0]),Qe]);return Qe}catch(Qe){throw new Error(`Cannot convert DID string to byte array: ${Qe.message}`)}};util$6.toBytes=Je;const Ye=(tt,Qe)=>(0,Me.default)((0,qe.toBN)(tt).toString(2),Qe,"0");util$6.toBits=Ye;const Ze=(tt,Qe)=>{const rt=tt.replace(/^0x/i,"");return typeof Qe=="number"&&Qe%2===0?(0,Me.default)(tt,Qe,"0"):rt.length%2===0?rt:`0${rt}`};return util$6.toStrictHex=Ze,util$6}var hasRequiredType$1;function requireType$1(){if(hasRequiredType$1)return type$1;hasRequiredType$1=1;var Be=type$1&&type$1.__importDefault||function(ft){return ft&&ft.__esModule?ft:{default:ft}};Object.defineProperty(type$1,"__esModule",{value:!0}),type$1.toChecksumAddress=type$1.isEthereumDid=type$1.isEthereumType=type$1.toTypeInfoStr=type$1.toTypeInfo=type$1.fromTypeInfo=type$1.DID_TYPE_PASSKEY=type$1.DID_TYPE_ETHEREUM=type$1.DID_TYPE_ARCBLOCK=void 0,type$1.DidType=ct;const Me=requireLib$9(),qe=Be(require$$1$5),He=Be(require$$2),Je=Be(require$$3),Ye=requireLib$8(),Ze=requireUtil$5(),tt={pk:"key",address:"encoding"},Qe={role:Ye.types.RoleType.ROLE_ACCOUNT,pk:Ye.types.KeyType.ED25519,hash:Ye.types.HashType.SHA3,address:Ye.types.EncodingType.BASE58};type$1.DID_TYPE_ARCBLOCK=Qe;const rt={role:Ye.types.RoleType.ROLE_PASSKEY,pk:Ye.types.KeyType.PASSKEY,hash:Ye.types.HashType.SHA2,address:Ye.types.EncodingType.BASE58};type$1.DID_TYPE_PASSKEY=rt;const nt={role:Ye.types.RoleType.ROLE_ACCOUNT,pk:Ye.types.KeyType.ETHEREUM,hash:Ye.types.HashType.KECCAK,address:Ye.types.EncodingType.BASE16};type$1.DID_TYPE_ETHEREUM=nt;const it=ft=>{const yt=["pk","hash","address"];return(0,He.default)((0,Je.default)(ft,yt),(0,Je.default)(nt,yt))};type$1.isEthereumType=it;const at=ft=>{const yt=(0,Me.toAddress)(ft);return/^(0x)?[0-9a-f]{40}$/i.test(yt)?/^(0x|0X)?[0-9a-f]{40}$/.test(yt)||/^(0x|0X)?[0-9A-F]{40}$/.test(yt)?!0:st(yt):!1};type$1.isEthereumDid=at;const st=ft=>{const yt=ft.replace(/^0x/i,""),bt=Ye.Hasher.Keccak.hash256(yt.toLowerCase()).replace(/^0x/i,"");for(let St=0;St<40;St++)if(parseInt(bt[St],16)>7&&yt[St].toUpperCase()!==yt[St]||parseInt(bt[St],16)<=7&&yt[St].toLowerCase()!==yt[St])return!1;return!0},ut=ft=>{if(typeof ft>"u")return"";if(!/^(0x)?[0-9a-f]{40}$/i.test(ft))throw new Error(`Given address "${ft}" is not a valid Ethereum address.`);const yt=ft.toLowerCase().replace(/^0x/i,""),bt=Ye.Hasher.Keccak.hash256(yt).replace(/^0x/i,"");let St="0x";for(let Tt=0;Tt<yt.length;Tt++)parseInt(bt[Tt],16)>7?St+=yt[Tt].toUpperCase():St+=yt[Tt];return St};type$1.toChecksumAddress=ut;function ct(ft={}){let yt={};["default","arcblock"].includes(ft)?yt=Qe:["eth","ethereum"].includes(ft)?yt=nt:["passkey"].includes(ft)?yt=rt:yt={...Qe,...ft};const{role:bt,pk:St,hash:Tt,address:kt}=yt;Object.keys(yt).forEach(Lt=>{const Gt=(0,qe.default)(`${tt[Lt]||Lt}Type`);if(Object.values(Ye.types[Gt]).includes(yt[Lt])===!1)throw new Error(`Unsupported ${Lt} type: ${yt[Lt]}`)});const jt={role:bt,pk:St,hash:Tt,address:kt};return it(jt)===!1&&[Ye.types.RoleType.ROLE_NODE,Ye.types.RoleType.ROLE_VALIDATOR,Ye.types.RoleType.ROLE_TETHER,Ye.types.RoleType.ROLE_SWAP].includes(jt.role)&&(jt.hash=Ye.types.HashType.SHA2),jt}ct.toJSON=ft=>Object.keys(ft).reduce((yt,bt)=>{const St=(0,qe.default)(`${tt[bt]||bt}Type`),Tt=Object.keys(Ye.types[St]),kt=Object.values(Ye.types[St]);return yt[bt]=Tt[kt.indexOf(ft[bt])],yt},{}),ct.fromJSON=ft=>Object.keys(ft).reduce((yt,bt)=>{const St=(0,qe.default)(`${tt[bt]||bt}Type`),Tt=Object.keys(Ye.types[St]),kt=Object.values(Ye.types[St]);return yt[bt]=kt[Tt.indexOf(ft[bt])],yt},{});const dt=ft=>{const yt=ct(ft),bt=(0,Ze.toBits)(yt.role,6),St=(0,Ze.toBits)(yt.pk,5),Tt=(0,Ze.toBits)(yt.hash,5),kt=`${bt}${St}${Tt}`,jt=(0,Me.stripHexPrefix)((0,Me.numberToHex)(parseInt(kt,2)));return(0,Ze.toStrictHex)(jt,4)};type$1.fromTypeInfo=dt;const pt=ft=>{let yt={};try{if(at(ft))yt=nt;else{const St=(0,Ze.toBytes)(ft).slice(0,2),Tt=(0,Ze.toStrictHex)(Buffer$1.from(St).toString("hex")),kt=(0,Ze.toBits)(new Me.BN(Tt,16),16),jt=kt.slice(0,6),Lt=kt.slice(6,11),Gt=kt.slice(11,16);yt={role:parseInt(jt,2),pk:parseInt(Lt,2),hash:parseInt(Gt,2),address:(0,Me.isHex)((0,Me.toAddress)(ft))?Ye.types.EncodingType.BASE16:Ye.types.EncodingType.BASE58}}return Object.keys(yt).forEach(bt=>{Object.values(Ye.types[`${(0,qe.default)(tt[bt]||bt)}Type`]).includes(yt[bt])===!1&&delete yt[bt]}),yt}catch{return yt}};type$1.toTypeInfo=pt;const mt=ft=>{const yt=pt(ft);return Object.keys(yt).reduce((bt,St)=>{const Tt=Ye.types[`${(0,qe.default)(tt[St]||St)}Type`];return bt[St]=Object.keys(Tt).find(kt=>Tt[kt]===yt[St]),bt},{})};return type$1.toTypeInfoStr=mt,type$1}var hasRequiredLib$7;function requireLib$7(){return hasRequiredLib$7||(hasRequiredLib$7=1,function(Be){Object.defineProperty(Be,"__esModule",{value:!0}),Be.DID_TYPE_PASSKEY=Be.DID_TYPE_ETHEREUM=Be.DID_TYPE_ARCBLOCK=Be.DID_PREFIX=Be.DidType=Be.fromTypeInfo=Be.toTypeInfoStr=Be.toTypeInfo=Be.isEthereumType=Be.isEthereumDid=Be.isValid=Be.isFromPublicKey=Be.toDid=Be.toAddress=Be.fromHash=Be.fromPublicKeyHash=Be.fromPublicKey=Be.fromSecretKey=Be.toStrictHex=Be.types=void 0;const Me=requireLib$8();Object.defineProperty(Be,"types",{enumerable:!0,get:function(){return Me.types}});const qe=requireLib$9();Object.defineProperty(Be,"toAddress",{enumerable:!0,get:function(){return qe.toAddress}}),Object.defineProperty(Be,"toDid",{enumerable:!0,get:function(){return qe.toDid}});const He=requireType$1();Object.defineProperty(Be,"DidType",{enumerable:!0,get:function(){return He.DidType}}),Object.defineProperty(Be,"DID_TYPE_ARCBLOCK",{enumerable:!0,get:function(){return He.DID_TYPE_ARCBLOCK}}),Object.defineProperty(Be,"DID_TYPE_ETHEREUM",{enumerable:!0,get:function(){return He.DID_TYPE_ETHEREUM}}),Object.defineProperty(Be,"DID_TYPE_PASSKEY",{enumerable:!0,get:function(){return He.DID_TYPE_PASSKEY}}),Object.defineProperty(Be,"fromTypeInfo",{enumerable:!0,get:function(){return He.fromTypeInfo}}),Object.defineProperty(Be,"isEthereumDid",{enumerable:!0,get:function(){return He.isEthereumDid}}),Object.defineProperty(Be,"isEthereumType",{enumerable:!0,get:function(){return He.isEthereumType}}),Object.defineProperty(Be,"toTypeInfo",{enumerable:!0,get:function(){return He.toTypeInfo}}),Object.defineProperty(Be,"toTypeInfoStr",{enumerable:!0,get:function(){return He.toTypeInfoStr}});const Je=requireUtil$5();Object.defineProperty(Be,"DID_PREFIX",{enumerable:!0,get:function(){return Je.DID_PREFIX}}),Object.defineProperty(Be,"toStrictHex",{enumerable:!0,get:function(){return Je.toStrictHex}});const Ye=(it,at)=>{const st=(0,He.DidType)(at),ut=(0,Me.getSigner)(st.pk).getPublicKey(it);return Ze(ut.indexOf("0x")===0?ut:`0x${ut}`,st)};Be.fromSecretKey=Ye;const Ze=(it,at)=>{const st=(0,He.DidType)(at),ct=(0,Me.getHasher)(st.hash)(it,1);return tt(ct,st)};Be.fromPublicKey=Ze;const tt=(it,at)=>{const st=(0,He.DidType)(at),ut=(0,qe.stripHexPrefix)(it).slice(0,40),ct=(0,Me.getHasher)(st.hash),dt=(0,He.fromTypeInfo)(st),pt=(0,qe.stripHexPrefix)(ct(`0x${dt}${ut}`,1)).slice(0,8),mt=`0x${dt}${ut}${pt}`;return(0,He.isEthereumType)(st)?(0,He.toChecksumAddress)(`0x${it.slice(-40)}`):st.address===Me.types.EncodingType.BASE58?(0,qe.toBase58)(mt):mt};Be.fromPublicKeyHash=tt;const Qe=(it,at=Me.types.RoleType.ROLE_ACCOUNT)=>{const st=Object.keys(Me.types.RoleType),ut=Object.values(Me.types.RoleType);if(ut.indexOf(at)===-1)throw new Error(`Unsupported role type ${at} when gen ddi from hash`);const ct=(0,He.DidType)({role:Me.types.RoleType[st[ut.indexOf(at)]]});return tt(it,ct)};Be.fromHash=Qe;const rt=(it,at)=>{if(nt(it)===!1)return!1;const st=(0,He.toTypeInfo)(it),ut=Ze(at,st),ct=it.replace(Je.DID_PREFIX,"");return ut===ct};Be.isFromPublicKey=rt;const nt=it=>{if(!it)return!1;const at=(0,qe.toAddress)(String(it)),{hash:st}=(0,He.toTypeInfo)(at);if(typeof st>"u")return!1;if((0,He.isEthereumDid)(at))return!0;const ut=(0,Me.getHasher)(st),ct=(0,Je.toBytes)(at),dt=(0,Je.toStrictHex)(Buffer$1.from(ct.slice(0,22)).toString("hex")),pt=(0,Je.toStrictHex)(Buffer$1.from(ct.slice(22,26)).toString("hex")),mt=(0,qe.stripHexPrefix)(ut(`0x${dt}`,1)).slice(0,8);return pt===mt};Be.isValid=nt}(lib$6)),lib$6}var hasRequiredLib$6;function requireLib$6(){if(hasRequiredLib$6)return lib$9;hasRequiredLib$6=1,Object.defineProperty(lib$9,"__esModule",{value:!0}),lib$9.WalletType=void 0,lib$9.Wallet=He,lib$9.fromSecretKey=Je,lib$9.fromPublicKey=Ye,lib$9.fromAddress=Ze,lib$9.fromRandom=tt,lib$9.fromJSON=Qe,lib$9.isValid=rt;const Be=requireLib$9(),Me=requireLib$8(),qe=requireLib$7();lib$9.WalletType=qe.DidType;function He(nt,it="default"){const at=(0,qe.DidType)(it),st=(0,Me.getSigner)(at.pk),ut=(0,Me.getHasher)(at.hash);return{type:at,secretKey:nt.sk,publicKey:nt.pk,address:nt.pk?(0,qe.fromPublicKey)(nt.pk,at):nt.address,hash(ct,dt=1,pt="hex"){return ut(ct,dt,pt)},sign(ct,dt=!0,pt="hex"){if(!nt.sk)throw new Error("Cannot sign data without a secretKey");if(dt){const mt=ut(ct,1);return st.sign(mt,nt.sk,pt)}return st.sign(ct,nt.sk,pt)},async verify(ct,dt,pt=!0,mt){if(!nt.pk)throw new Error("Cannot verify data without a publicKey");const ft=pt?ut(ct,1):ct;return st.verify(ft,dt,nt.pk,mt)},ethHash(ct){if(typeof st.ethHash!="function")throw new Error("ethHash is not supported by signer");return st.ethHash(ct)},ethSign(ct,dt=!0){if(!nt.sk)throw new Error("Cannot sign data without a secretKey");if(typeof st.ethHash!="function")throw new Error("ethSign is not supported by signer");return dt?st.ethSign(st.ethHash(ct),(0,Be.toHex)(nt.sk)):st.ethSign(ct,(0,Be.toHex)(nt.sk))},ethVerify(ct,dt,pt=!0){if(typeof st.ethHash!="function")throw new Error("ethVerify is not supported by signer");const mt=pt?st.ethHash(ct):ct;return st.ethRecover(mt,dt)===this.address},toAddress(){return nt.pk?(0,qe.fromPublicKey)(nt.pk,at):nt.address},toJSON(){return{type:qe.DidType.toJSON(at),sk:(0,Be.toHex)(nt.sk),pk:(0,Be.toHex)(nt.pk),address:this.address}}}}function Je(nt,it="default"){const at=(0,qe.DidType)(it),st={sk:nt,pk:(0,Me.getSigner)(at.pk).getPublicKey(nt)};return He(st,at)}function Ye(nt,it="default"){return He({pk:nt},(0,qe.DidType)(it))}function Ze(nt){return He({address:(0,qe.toAddress)(nt)},(0,qe.toTypeInfo)(nt))}function tt(nt="default"){const it=(0,qe.DidType)(nt),st=(0,Me.getSigner)(it.pk).genKeyPair();return He({sk:st.secretKey,pk:st.publicKey},it)}function Qe(nt){const it=qe.DidType.fromJSON(nt.type);return He(nt,it)}function rt(nt,it=!0){return!(!nt||typeof nt!="object"||typeof nt.verify!="function"||typeof nt.toAddress!="function"||typeof nt.toJSON!="function"||!nt.type||!nt.publicKey||it&&(!nt.secretKey||typeof nt.sign!="function"))}return lib$9}var libExports$8=requireLib$6(),libExports$7=requireLib$7(),isUrl_1,hasRequiredIsUrl;function requireIsUrl(){if(hasRequiredIsUrl)return isUrl_1;hasRequiredIsUrl=1,isUrl_1=He;var Be=/^(?:\w+:)?\/\/(\S+)$/,Me=/^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/,qe=/^[^\s\.]+\.\S{2,}$/;function He(Je){if(typeof Je!="string")return!1;var Ye=Je.match(Be);if(!Ye)return!1;var Ze=Ye[1];return Ze?!!(Me.test(Ze)||qe.test(Ze)):!1}return isUrl_1}var isUrlExports=requireIsUrl();const isUrl=getDefaultExportFromCjs$1(isUrlExports);var __defProp$4=Object.defineProperty,__defNormalProp$4=(Be,Me,qe)=>Me in Be?__defProp$4(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField$4=(Be,Me,qe)=>(__defNormalProp$4(Be,typeof Me!="symbol"?Me+"":Me,qe),qe);class AuthService{constructor({api:Me,token:qe}){__publicField$4(this,"api"),__publicField$4(this,"token"),this.api=Me,this.token=qe}async getUserPublicInfo({did:Me}){const{data:qe}=await this.api.get("/api/user",{params:{did:Me}});return qe}async getUserPrivacyConfig({did:Me}){const{data:qe}=await this.api.get("/api/user/privacy/config",{params:{did:Me}});return qe}async saveUserPrivacyConfig(Me){const{data:qe}=await this.api.post("/api/user/privacy/config",Me);return qe}async getUserNotificationConfig(){const{data:Me}=await this.api.get("/api/user/notification/config");return Me}async saveUserNotificationConfig(Me){const{data:qe}=await this.api.post("/api/user/notification/config",Me);return qe}async testNotificationWebhook(Me){const{data:qe}=await this.api.put("/api/user/notification/webhook",Me);return qe}async getProfileUrl({did:Me,locale:qe}){const He=`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/user`;return withQuery(He,{did:Me,locale:qe})}async getProfile(){const{data:Me}=await this.api.get("/api/user/profile");return Me}async refreshProfile(){await this.api.put("/api/user/refreshProfile")}async followUser({userDid:Me}){await this.api.post(`/api/user/follow/${Me}`)}async unfollowUser({userDid:Me}){await this.api.delete(`/api/user/follow/${Me}`)}async isFollowingUser({userDid:Me}){const{data:qe}=await this.api.get(`/api/user/follow/${Me}`);return qe.isFollowing}async saveProfile({locale:Me,inviter:qe,metadata:He,address:Je}){const{data:Ye}=await this.api.put("/api/user/profile",{locale:Me,inviter:qe,metadata:He,address:Je});return Ye}async updateDidSpace({spaceGateway:Me}){await this.api.put("/api/user/updateDidSpace",{spaceGateway:Me})}async logout({visitorId:Me,status:qe,includeFederated:He}){const Je=this.token.getRefreshToken(),{data:Ye}=await this.api.post("/api/user/logout",{visitorId:Me,status:qe,includeFederated:He,refreshToken:Je});return Ye}async destroyMyself(){const{data:Me}=await this.api.delete("/api/user");return Me}}class TokenService{getSessionToken(Me){return api$3.get(constantExports$1.SESSION_TOKEN_STORAGE_KEY)?api$3.get(constantExports$1.SESSION_TOKEN_STORAGE_KEY):Me.sessionTokenKey?window.localStorage.getItem(Me.sessionTokenKey):""}setSessionToken(Me){api$3.set(constantExports$1.SESSION_TOKEN_STORAGE_KEY,Me)}removeSessionToken(){api$3.remove(constantExports$1.SESSION_TOKEN_STORAGE_KEY)}getRefreshToken(){return localStorage.getItem(constantExports$1.REFRESH_TOKEN_STORAGE_KEY)}setRefreshToken(Me){localStorage.setItem(constantExports$1.REFRESH_TOKEN_STORAGE_KEY,Me)}removeRefreshToken(){localStorage.removeItem(constantExports$1.REFRESH_TOKEN_STORAGE_KEY)}}const blockletCache=new QuickLRU({maxSize:30,maxAge:60*1e3});class BlockletService{getBlocklet(Me,qe=!1){if(!Me){if(typeof window>"u"||typeof document>"u")throw new Error("Cannot get blocklet in server side without baseUrl");return window.blocklet}if(!qe&&blockletCache.has(Me))return blockletCache.get(Me);const He=withQuery(joinURL(Me,"__blocklet__.js"),{type:"json",t:Date.now()});return new Promise(async Je=>{const Ze=await(await fetch(He)).json();blockletCache.set(Me,Ze),Je(Ze)})}loadBlocklet(){return new Promise((Me,qe)=>{if(typeof window>"u"||typeof document>"u"){qe();return}const He=document.createElement("script");let Je="/";window.blocklet&&window.blocklet.prefix&&(Je=window.blocklet.prefix),He.src=withQuery(joinURL(Je,"__blocklet__.js"),{t:Date.now()}),He.onload=()=>{Me()},He.onerror=()=>{qe()},document.head.append(He)})}getPrefix(Me){return Me?Me?.prefix||"/":typeof window>"u"||typeof document>"u"?null:window.blocklet?.prefix||"/"}}var __defProp$3=Object.defineProperty,__defNormalProp$3=(Be,Me,qe)=>Me in Be?__defProp$3(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField$3=(Be,Me,qe)=>(__defNormalProp$3(Be,typeof Me!="symbol"?Me+"":Me,qe),qe);class UserSessionService{constructor({api:Me,blocklet:qe}){__publicField$3(this,"api"),__publicField$3(this,"blocklet"),this.api=Me,this.blocklet=qe||new BlockletService}getBaseUrl(Me){return Me?joinURL(Me,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX):void 0}async getUserSessions({did:Me,appUrl:qe}){const He=this.getBaseUrl(qe),Je=await this.blocklet.getBlocklet(),{data:Ye}=await this.api.get("/api/user-session",{baseURL:He,params:{userDid:Me,appPid:Je.appPid}});return Ye}async getMyLoginSessions({appUrl:Me}={},qe={page:1,pageSize:10}){const He=this.getBaseUrl(Me),{data:Je}=await this.api.get("/api/user-session/myself",{baseURL:He,params:qe});return Je}async loginByUserSession({id:Me,appPid:qe,userDid:He,passportId:Je,appUrl:Ye}){const Ze=this.getBaseUrl(Ye),{data:tt}=await this.api.post("/api/user-session/login",{id:Me,appPid:qe,userDid:He,passportId:Je},{baseURL:Ze});return tt}}var __defProp$2=Object.defineProperty,__defNormalProp$2=(Be,Me,qe)=>Me in Be?__defProp$2(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField$2=(Be,Me,qe)=>(__defNormalProp$2(Be,Me+"",qe),qe);class ComponentService{constructor({blocklet:Me=window.blocklet}={}){__publicField$2(this,"blocklet"),this.blocklet=Me}getComponent(Me){return(this.blocklet?.componentMountPoints||[]).find(Je=>[Je.title,Je.name,Je.did].includes(Me))}getComponentMountPoint(Me){return this.getComponent(Me)?.mountPoint||""}getUrl(Me,...qe){const He=this.getComponentMountPoint(Me),Je=this.blocklet?.appUrl||"";return joinURL(Je,He,...qe)}}var __defProp$1=Object.defineProperty,__defNormalProp$1=(Be,Me,qe)=>Me in Be?__defProp$1(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField$1=(Be,Me,qe)=>(__defNormalProp$1(Be,typeof Me!="symbol"?Me+"":Me,qe),qe);class FederatedService{constructor({api:Me,blocklet:qe}){__publicField$1(this,"api"),__publicField$1(this,"blocklet"),__publicField$1(this,"blockletDataCache",{}),this.api=Me,this.blocklet=qe||new BlockletService}async getTrustedDomains(){const{data:Me}=await this.api.get("/api/federated/getTrustedDomains");return Me}getMaster(Me=this.blocklet.getBlocklet()){return Me?.settings?.federated?.master}getConfig(Me=this.blocklet.getBlocklet()){return Me?.settings?.federated?.config}getFederatedEnabled(Me=this.blocklet.getBlocklet()){return this.getConfig(Me)?.status==="approved"}getSourceAppPid(Me=this.blocklet.getBlocklet()){return this.getMaster(Me)?.appPid}getFederatedApp(Me=this.blocklet.getBlocklet()){const qe=this.getMaster(Me);return isEmpty(qe)?null:{appId:qe.appId,appName:qe.appName,appDescription:qe.appDescription,appLogo:qe.appLogo,appPid:qe.appPid,appUrl:qe.appUrl,version:qe.version,sourceAppPid:qe.appPid,provider:"wallet"}}getCurrentApp(Me=this.blocklet.getBlocklet()){if(Me)return{appId:Me.appId,appName:Me.appName,appDescription:Me.appDescription,appLogo:Me.appLogo,appPid:Me.appPid,appUrl:Me.appUrl,version:Me.version,sourceAppPid:null,provider:"wallet"};if(window.env){const qe=window.env;return{appId:qe.appId,appName:qe.appName,appDescription:qe.appDescription,appUrl:qe.baseUrl,sourceAppPid:null,provider:"wallet",type:"server"}}return null}getApps(Me=this.blocklet.getBlocklet()){const qe=[],He=this.getFederatedApp(Me),Je=this.getCurrentApp(Me),Ye=this.getFederatedEnabled(Me);return Je&&qe.push(Je),He&&He?.appId!==Je?.appId&&Ye&&qe.push(He),qe.reverse()}async getBlockletData(Me,qe=!1){if(!qe&&this.blockletDataCache[Me])return this.blockletDataCache[Me];try{const He=new URL("__blocklet__.js",Me);He.searchParams.set("type","json");const Ye=await(await fetch(He.href)).json();return this.blockletDataCache[Me]=Ye,Ye}catch(He){return console.error(`Failed to get blocklet data: ${Me}`,He),null}}}const version="1.16.50",sleep$1=(Be=0)=>new Promise(Me=>{setTimeout(()=>{Me()},Be)}),getBearerToken=Be=>`Bearer ${encodeURIComponent(Be)}`,visitorIdKey="__visitor_id",getVisitorId=()=>localStorage.getItem(visitorIdKey),verifyResponse=(Be,Me)=>{if(isObject$3(Be.data)&&Be.status>=200&&Be.status<300&&window.blocklet&&window.blocklet.appId&&window.blocklet.appPk){if(!Be.data.$signature)throw Me(),new Error("Invalid response");const{appId:qe,appPk:He}=window.blocklet;if(libExports$8.fromPublicKey(He,libExports$7.toTypeInfo(qe)).verify(Wt(omit(Be.data,["$signature"])),Be.data.$signature)===!1)throw Me(),new Error("Invalid response")}return Be};function getCSRFToken(){return api$3.get("x-csrf-token")}async function sleepForLoading(Be,Me=300){Be.metaData.endTime=+new Date;const{startTime:qe,endTime:He}=Be.metaData,Je=He-qe;Je<Me&&await sleep$1(Me-Je),delete Be.metaData}const createAxios$1=(Be,Me)=>{const qe={...Be?.headers,"x-blocklet-js-sdk-version":version},He=new ComponentService,Je=axios$2.create({...Be,headers:qe});return Me?.lazy&&(Je.interceptors.request.use(Ye=>(Ye.metaData={startTime:+new Date},Ye),Ye=>Promise.reject(Ye)),Je.interceptors.response.use(async Ye=>(Ye.config&&await sleepForLoading(Ye.config,Me?.lazyTime),Ye),async Ye=>(Ye.response&&await sleepForLoading(Ye.response.config,Me?.lazyTime),Promise.reject(Ye)))),Je.interceptors.request.use(Ye=>{const Ze=Me?.componentDid??window.blocklet?.componentId?.split("/").pop();Ye.baseURL=Ye.baseURL||He.getComponentMountPoint(Ze),Ye.timeout=Ye.timeout||20*1e3,Ye.headers["x-csrf-token"]=getCSRFToken();const tt=getVisitorId();return[void 0,null].includes(tt)||(Ye.headers["x-blocklet-visitor-id"]=tt),Ye},Ye=>Promise.reject(Ye)),Je};async function renewRefreshToken$1(Be){if(!Be)throw new Error("Refresh token not found");const Me=createAxios$1({baseURL:constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,timeout:10*1e3,secure:!0,headers:{authorization:getBearerToken(Be)}}),{data:qe}=await Me.post("/api/did/refreshSession");return qe}function createRequest$1({getSessionToken:Be,setSessionToken:Me,removeSessionToken:qe,getRefreshToken:He,setRefreshToken:Je,removeRefreshToken:Ye,onRefreshTokenError:Ze,onRefreshTokenSuccess:tt},Qe,rt){let nt=null;const it=createAxios$1({timeout:30*1e3,...Qe},rt);return it.interceptors.request.use(async at=>{if(!api$3.get(constantExports$1.SESSION_TOKEN_STORAGE_KEY)){const st=Be(at);st&&(at.headers.authorization=getBearerToken(st))}return nt&&await nt,at},at=>Promise.reject(at)),it.interceptors.response.use(at=>at.config?.secure?verifyResponse(at,()=>{qe(),Ye()}):at,async at=>{const st=at.config;if(st&&(st.headers=st?.headers?{...st.headers}:{},at?.response?.status===401&&!st._retry)){st._retry=!0;try{nt||(nt=renewRefreshToken$1(He()));const ut=await nt;return Me(ut.nextToken),Je(ut.nextRefreshToken),typeof tt=="function"&&tt(ut),it(st)}catch(ut){return qe(),Ye(),typeof Ze=="function"&&Ze(ut),Promise.reject(at)}finally{nt=null}}return Promise.reject(at)}),it}var __defProp=Object.defineProperty,__defNormalProp=(Be,Me,qe)=>Me in Be?__defProp(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Be[Me]=qe,__publicField=(Be,Me,qe)=>(__defNormalProp(Be,typeof Me!="symbol"?Me+"":Me,qe),qe);class BlockletSDK{constructor(){__publicField(this,"api"),__publicField(this,"user"),__publicField(this,"userSession"),__publicField(this,"token"),__publicField(this,"blocklet"),__publicField(this,"federated");const Me=new TokenService,qe=createRequest$1({getSessionToken:Me.getSessionToken,setSessionToken:Me.setSessionToken,removeSessionToken:Me.removeSessionToken,getRefreshToken:Me.getRefreshToken,setRefreshToken:Me.setRefreshToken,removeRefreshToken:Me.removeRefreshToken,onRefreshTokenError:()=>{console.error("Failed to refresh token")},onRefreshTokenSuccess:()=>{}},{baseURL:constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}),He=new BlockletService;this.user=new AuthService({api:qe,token:Me}),this.federated=new FederatedService({api:qe,blocklet:He}),this.userSession=new UserSessionService({api:qe,blocklet:He}),this.token=Me,this.blocklet=He,this.api=qe}}function createAxios(Be={},Me={}){const qe=new TokenService;return createRequest$1({getSessionToken:qe.getSessionToken,setSessionToken:qe.setSessionToken,removeSessionToken:qe.removeSessionToken,getRefreshToken:qe.getRefreshToken,setRefreshToken:qe.setRefreshToken,removeRefreshToken:qe.removeRefreshToken,onRefreshTokenError:()=>{console.error("Failed to refresh token")},onRefreshTokenSuccess:()=>{}},Be,Me)}const getBlockletSDK=(()=>{let Be;return()=>(Be||(Be=new BlockletSDK),Be)})();let s$b=null;try{s$b=new BlockletSDK}catch(Be){console.error("Failed to initialize BlockletSDK:",Be),s$b=null}const n$7="ux_user_",u$d=60*60*1e3,f$7=Be=>{if(typeof sessionStorage>"u")return null;try{const Me=`${n$7}${Be}`,qe=sessionStorage.getItem(Me);if(!qe)return null;const He=JSON.parse(qe),Je=He.timestamp||0;return Date.now()-Je>u$d?(sessionStorage.removeItem(Me),null):He.user}catch(Me){return console.error(`Failed to load user cache for did ${Be}:`,Me),null}},m$a=(Be,Me)=>{if(!(typeof sessionStorage>"u"))try{const qe=`${n$7}${Be}`,He={user:Me,timestamp:Date.now()};sessionStorage.setItem(qe,JSON.stringify(He))}catch(qe){console.error(`Failed to save user cache for did ${Be}:`,qe)}};function g$c(Be){if(!Be)return null;let Me="";return Be.fullName?Me=Be.fullName.charAt(0).toUpperCase():Be.email?Me=Be.email.split("@")[0].charAt(0).toUpperCase():Me=Be.did?Be.did.charAt(0).toUpperCase():"?",Me}function S$5(Be){if(!Be||typeof Be!="string")return!1;try{const Me=libExports$9.toTypeInfo(Be);return Me.role!==void 0&&Me.role!==libExports$a.types.RoleType.ROLE_APPLICATION}catch(Me){return console.error("Failed to check if did is user did:",Me),!1}}async function I$5(Be){if(!Be)return null;const Me=f$7(Be);if(Me)return Me;if(!s$b)return null;try{const qe=await s$b.user.getUserPublicInfo({did:Be});return qe&&m$a(Be,qe),qe}catch(qe){return console.error("Failed to get user by did:",qe),null}}const N$3=(Be,Me=48,qe=void 0,He=void 0,Je=!1)=>{const Ye=Ze=>{He?.(Be,Ze)};if(!Be.avatar){const Ze=g$c(Be),{className:tt,style:Qe,alt:rt}=qe||{};return jsxRuntimeExports.jsx(Avatar,{onClick:Ye,className:tt,style:Qe,alt:rt,sx:{width:Me,height:Me,fontSize:Me*.4,cursor:Je||He?"pointer":"default"},variant:"circular",children:Ze})}return jsxRuntimeExports.jsx(Box,{className:"user-card__avatar",sx:{display:"flex"},children:jsxRuntimeExports.jsx($$5,{size:Me,did:Be.did,variant:"circle",useProxyFallback:!0,style:{cursor:Je||He?"pointer":"default"},onClick:Ye,src:Be.avatar,alt:Be.fullName||"",...qe||{}})})},_$4=(Be,Me=120)=>Be?jsxRuntimeExports.jsx(Box,{sx:{maxWidth:Me},className:"user-card__top-right-content",children:Be()}):null;function x$a({user:Be,avatarSize:Me,shouldShowHoverCard:qe,renderCardContent:He=void 0,tooltipTitle:Je=void 0,tooltipProps:Ye=void 0,avatarProps:Ze=void 0,onAvatarClick:tt}){const Qe=N$3(Be,Me,Ze,tt,qe||!!Je);return Je?jsxRuntimeExports.jsx(Tooltip,{enterDelay:200,title:Je,placement:"bottom",...Ye??{},children:Qe}):qe?jsxRuntimeExports.jsx(Tooltip,{enterDelay:200,title:He?He():null,placement:"bottom",arrow:!1,...Ye??{},slotProps:{popper:{sx:{"& .MuiTooltip-tooltip":{backgroundColor:"transparent",p:0,maxWidth:500,zIndex:1e3}}}},slots:{transition:Zoom},children:Qe}):Qe}function p$b(Be){const{user:Me,infoType:qe,avatarSize:He=48,shouldShowHoverCard:Je=!1,renderCardContent:Ye,...Ze}=Be;return jsxRuntimeExports.jsx(x$a,{user:Me,avatarSize:He,shouldShowHoverCard:Je,renderCardContent:Ye,...Ze})}function p$a(Be,Me=10){return Be?Be.length<=Me?Be:`${Be.slice(0,Me-1)}...${Be.slice(-2)}`:""}function s$a({children:Be,maxLength:Me=10,sx:qe=void 0,hiddenTip:He=!1}){const Je=reactExports.useMemo(()=>p$a(Be,Me),[Be,Me]);return Be?.length<=Me?jsxRuntimeExports.jsx(Typography,{sx:qe,children:Be}):He?jsxRuntimeExports.jsx(Typography,{sx:qe,children:Je}):jsxRuntimeExports.jsx(Tooltip,{title:Be,placement:"top",children:jsxRuntimeExports.jsx(Typography,{sx:qe,children:Je})})}const F$6=Be=>{const{response:Me}=Be;return Me?`Request failed: ${Me.status} ${Me.statusText}: ${JSON.stringify(Me.data)}`:Be.message};function z$5({user:Be,t:Me,isMySelf:qe,visible:He}){const[Je,Ye]=reactExports.useState(!1),Ze=reactExports.useMemo(()=>Be?.did,[Be]),tt=reactExports.useMemo(()=>Object.prototype.hasOwnProperty.call(Be,"isFollowing")&&!isNil(Be.isFollowing),[Be]),Qe=reactExports.useMemo(()=>{let at=null;try{at=new BlockletSDK}catch(st){console.error("Failed to initialize BlockletSDK:",st),at=null}return at},[]),rt=useMemoizedFn(async()=>{if(!Qe){Ye(!1);return}try{const at=await Qe.user.isFollowingUser({userDid:Ze});Ye(at)}catch(at){console.error(at)}}),nt=useMemoizedFn(async(at=Ze)=>{if(!(!Qe||qe))try{await Qe.user.followUser({userDid:at}),H$6.success(Me("follow_success")),rt()}catch(st){console.error(st),H$6.error(F$6(st))}}),it=useMemoizedFn(async(at=Ze)=>{if(!(!Qe||qe))try{await Qe.user.unfollowUser({userDid:at}),H$6.success(Me("unfollow_success")),rt()}catch(st){console.error(st),H$6.error(F$6(st))}});return reactExports.useEffect(()=>{He&&Ze&&!qe&&Qe&&!tt&&rt()},[rt,Ze,qe,Qe,tt,He]),reactExports.useEffect(()=>{tt&&Ye(Be?.isFollowing||!1)},[tt,Be]),{followed:Je,followUser:nt,unfollowUser:it}}const _$3={zh:{chat:"聊天",follow:"关注",unfollow:"取消关注",follow_success:"关注成功",unfollow_success:"取消关注成功"},en:{chat:"Chat",follow:"Follow",unfollow:"Unfollow",follow_success:"Follow success",unfollow_success:"Unfollow success"}},P$5=()=>{const{componentMountPoints:Be=[]}=window.blocklet||{};return Be.find(Me=>Me.name==="did-comments")?.mountPoint};function j$7({user:Be,showSocialActions:Me,session:qe}){const{locale:He}=T$8()||{locale:"en"},Je=useMemoizedFn((Qe,rt={})=>p$c(_$3,Qe,He,"en",rt)),Ye=reactExports.useMemo(()=>!!qe?.user?.did,[qe?.user?.did]),Ze=reactExports.useMemo(()=>P$5(),[]),tt=useMemoizedFn(()=>{if(!Ye){qe?.login(noop$1,{openMode:"redirect",redirect:window.location.href});return}window.open(joinURL(Ze,`/chat/dm/${Be?.did}`),"_blank")});return reactExports.useMemo(()=>(typeof Me=="boolean"?!!Me:Me?.chat)&&!!Ze,[Me,Ze])?jsxRuntimeExports.jsxs(x$9,{className:"user-card__social-actions-chat",variant:"outlined",color:"primary",size:"small",onClick:tt,children:[jsxRuntimeExports.jsx(Icon,{icon:"tabler:message-dots",style:{marginRight:4}}),Je("chat")]}):null}function B$6({user:Be,showSocialActions:Me,session:qe}){const{locale:He}=T$8()||{locale:"en"},Je=useMemoizedFn((it,at={})=>p$c(_$3,it,He,"en",at)),Ye=reactExports.useMemo(()=>!!qe?.user?.did,[qe?.user?.did]),Ze=reactExports.useMemo(()=>typeof Me=="boolean"?!!Me:Me?.follow,[Me]),{followed:tt,followUser:Qe,unfollowUser:rt}=z$5({user:Be,t:Je,isMySelf:!1,visible:!!Ze}),nt=useMemoizedFn(()=>{if(!Ye){qe?.login(noop$1,{openMode:"redirect",redirect:window.location.href});return}tt?rt(Be.did):Qe(Be.did)});return Ze?jsxRuntimeExports.jsxs(x$9,{className:"user-card__social-actions-follow",variant:"outlined",color:"primary",size:"small",onClick:nt,children:[tt?jsxRuntimeExports.jsx(k$6,{sx:{fontSize:14,mr:.5}}):jsxRuntimeExports.jsx(U$2,{sx:{fontSize:14,mr:.5}}),Je(tt?"unfollow":"follow")]}):null}function Q$3({showSocialActions:Be,session:Me,user:qe}){const He=reactExports.useMemo(()=>Me?.user?.did===qe?.did,[Me?.user?.did,qe?.did]),Je=reactExports.useMemo(()=>Ne(),[]);return He||!Je||!Be?null:jsxRuntimeExports.jsxs(Box,{className:"user-card__social-actions",sx:{display:"flex",gap:1},children:[jsxRuntimeExports.jsx(j$7,{session:Me,user:qe,showSocialActions:Be}),jsxRuntimeExports.jsx(B$6,{session:Me,user:qe,showSocialActions:Be})]})}const x$9=styled(Button)`
526
526
  color: ${({theme:Be})=>Be.palette.text.primary};
527
527
  font-weight: 500;
528
528
  border-color: ${({theme:Be})=>Be.palette.grey[300]};
@@ -2899,4 +2899,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
2899
2899
  padding-top: 16px;
2900
2900
  ${Be=>Be.scrollable?"":"overflow: hidden"};
2901
2901
  }
2902
- `;function GlobalSubscriber(){const{t:Be}=T$8(),{session:Me}=useSessionContext$1(),{info:qe,refresh:He}=useNodeContext();return useSubscription(constantExports.TeamEvents.userUpdated,({teamDid:Je,user:Ye})=>{Je===qe.did&&Ye&&!Ye.approved&&Me&&Me.user&&Me.user.did===Ye.did&&(H$6.warning(Be("session.blockAccess"),{autoHideDuration:10*1e3}),Me.logout())}),useSubscription(constantExports$1.EVENTS.NOTIFICATION_CREATE,Je=>{Je.entityType==="node"&&He({silent:!0})}),useSubscription(constantExports$1.EVENTS.NODE_UPDATED,()=>{He({silent:!0})}),null}const authorize=({user:Be,launchType:Me,nftId:qe})=>{if(!Be)return!1;if(Me==="serverless"){if(!qe)throw new Error("nftId is required");return Be?.controller?.nftId===qe}return(Be.permissions||[]).includes("mutate_blocklets")},isServerlessBlockletInstalled=Be=>Be.isGetBlocklet&&Be.runtimeBlocklet?.controller?.consumedAt,getRestoredAccessUrl=async Be=>{const Me=getBlockletUrls({blocklet:Be});let qe="";return qe=Me.find(He=>{try{const{hostname:Je}=new URL(He);return urlEvaluationExports.isSlpDomain(Je)}catch(Je){return console.error(Je),!1}}),qe||(qe=await getAccessibleUrl(Me)),qe},LaunchBlockletContext=reactExports.createContext({}),{Provider:Provider$1,Consumer:Consumer$1}=LaunchBlockletContext;function LaunchBlockletProvider({children:Be}){const{session:Me}=useSessionContext$1(),{t:qe}=T$8(),{api:He,info:Je}=useNodeContext(),[Ye]=useSearchParams(),Ze=Ye.get("launchType"),tt=Ye.get("fromLauncher"),Qe=Ye.get("blocklet_meta_url")||"",rt=Ye.get("nftId")||"",nt=Ye.get("from")||"",it=Ye.get("launcherSessionId")||"",at=Ye.get("launcherUrl")||"",st=nt==="url",ut=nt==="empty",ct=st||ut?"":new URL(Qe).origin,[dt,pt]=reactExports.useState({meta:null,appDid:Ye.get("appDid")||null,sessionId:Ye.get("sessionId")||null,isFree:!0,isExternal:!1,isInstalling:!1,isInstalled:!1,isRunning:!1,launcherSession:null,registryUrl:""}),mt=(At,Rt)=>pt(gt=>({...gt,appDid:At,sessionId:Rt})),ft=authorize({user:Me.user,launchType:Ze,nftId:rt}),[yt,bt]=reactExports.useState(null),[St,Tt]=reactExports.useState(!0),kt=reactExports.useMemo(()=>Je?getServerUrl(Je):"",[Je]),jt=async At=>{if(!At)throw new Error("appDid should not be empty");const{blocklet:Rt}=await He.getBlocklet({input:{did:At,attachConfig:!1}});if(!Rt)return null;const gt=constantExports.BlockletStatus[Rt.status],xt=!!rt,Et=gt<constantExports.BlockletStatus.installed,Ct=gt===constantExports.BlockletStatus.installed,_t=gt===constantExports.BlockletStatus.running;return pt(Dt=>({...Dt,isInstalled:Ct,isRunning:_t,isExternal:xt,isInstalling:Et})),{isInstalled:Ct,isRunning:_t,isExternal:xt,isInstalling:Et}},Lt=async()=>{if(Tt(!0),ut){pt(At=>({...At,meta:{title:Ye.get("title")||"",description:Ye.get("description")||""}})),Tt(!1);return}try{if(!Qe&&!ut)throw new Error(qe("common.invalidParam"));const[{meta:At,isFree:Rt,registryUrl:gt},{launcherSession:xt,error:Et}]=await Promise.all([He.getBlockletMetaFromUrl({input:{url:Qe,checkPrice:!0}}),it?He.getLauncherSession({input:{launcherSessionId:it,launcherUrl:at}}):Promise.resolve({})]);if(it&&!xt)throw new Error(`Launch session invalid: ${Et}`);if(!At)throw new Error(qe("LaunchBlockletBlocklet.error.loadMetaFailed"));let Ct={};ft&&dt.appDid&&(Ct=await jt(dt.appDid)),pt(_t=>({..._t,...Ct,meta:At,isFree:Rt,registryUrl:gt,launcherSession:xt}))}catch(At){console.error(At),bt(At.message)}finally{Tt(!1)}};reactExports.useEffect(()=>{Me?.user?.role===constantExports$1.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&Me?.user?.controller?.nftId!==rt&&Me.logout(),Lt()},[]),reactExports.useEffect(()=>{St||!dt.meta||(ft?dt.appDid&&jt(dt.appDid).catch(At=>{H$6.error(At.message)}):(pt(At=>({...At,isInstalled:!1,isRunning:!1,isExternal:!1})),bt(null)))},[ft]);const Gt={meta:dt.meta,isFree:dt.isFree,appDid:dt.appDid,sessionId:dt.sessionId,isInstalling:dt.isInstalling,isInstalled:dt.isInstalled,isExternal:dt.isExternal,isRunning:dt.isRunning,serverUrl:kt,storeUrl:dt.registryUrl||ct,blockletMetaUrl:Qe,fromLauncher:tt,loading:St,error:yt,api:He,getBlocklet:jt,setAppDid:mt,launcherUrl:at,launcherSession:dt.launcherSession,launcherSessionId:it,launchType:Ze};return jsxRuntimeExports.jsx(Provider$1,{value:Gt,children:Be})}function useLaunchBlockletContext(){return reactExports.useContext(LaunchBlockletContext)}var useAsyncExports=requireUseAsync();const useAsync=getDefaultExportFromCjs$1(useAsyncExports);function useQuery(){return new URLSearchParams(useLocation().search)}const BlockletAppContext=reactExports.createContext(),{Provider,Consumer}=BlockletAppContext;function BlockletAppProvider({children:Be}){const qe=useQuery().get("blocklet_meta_url"),He=useAsync(async()=>{const{data:Ye}=await axios.get(qe);return Ye});if(He.loading)return jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(CircularProgress,{})});const Je={meta:He.value,error:He.error};return jsxRuntimeExports.jsx(Provider,{value:Je,children:Be})}BlockletAppProvider.propTypes={children:o$i.any.isRequired};function useBlockletAppContext(){return reactExports.useContext(BlockletAppContext)}const Dashboard=reactExports.lazy(()=>__vitePreload(()=>import("./index-BeVhpCa2.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),BlockletList=reactExports.lazy(()=>__vitePreload(()=>import("./index-4ozQpL9g.js"),__vite__mapDeps([5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,2,31,32,33,34,35,36,37,38]),import.meta.url)),BlockletRestore=reactExports.lazy(()=>__vitePreload(()=>import("./index-BTOhdwnt.js"),__vite__mapDeps([39,40,41,42,43,44,23,6,35,45,46,47,19,15]),import.meta.url)),BlockletStore=reactExports.lazy(()=>__vitePreload(()=>import("./index-Bj_Te32l.js"),__vite__mapDeps([48,6,49,50,51,52,17,15,53,31,32,54,36,35,55,45,56,4,19,23,24,25,57,58,26,59,60]),import.meta.url)),Settings=reactExports.lazy(()=>__vitePreload(()=>import("./index-COql_jsK.js"),__vite__mapDeps([61,62,59,63,64,65,26,7,8,9,10,11,12,13,14,15,16,17,18,19,66,21,56,4,2,67,6,68,69,70,36,20,71,52,72,73,74,75,76]),import.meta.url)),LogPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-B3FIRHqC.js"),__vite__mapDeps([77,78,24,25,6]),import.meta.url)),TeamPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-BLMobR0e.js"),__vite__mapDeps([79,62,80,15,16,17,18,6,81,82,83,84,85,53,21,86,36,87,7,8,9,10,11,12,13,14,19,88,89,26,4,90,91,76,2,50,45,92,93,94,44,95,96,37,24,25,97,30,98,99,100,101,72,102,103,1,56,104,105]),import.meta.url)),BlockletDetail=reactExports.lazy(()=>__vitePreload(()=>import("./detail-DAPMqeRx.js"),__vite__mapDeps([106,62,20,21,22,6,19,23,24,25,26,53,107,85,60]),import.meta.url)),EULAPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-Dsvvy8_K.js"),[],import.meta.url)),Notifications=reactExports.lazy(()=>__vitePreload(()=>import("./index-DCkFWlji.js"),[],import.meta.url)),IssuePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-DPKaJazb.js"),__vite__mapDeps([108,109,107,93,10,94,110,23]),import.meta.url)),LostPassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-OGdXuzH7.js"),__vite__mapDeps([111,87,55,93,10,110,23,34]),import.meta.url)),ExchangePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-DKPVTl-I.js"),__vite__mapDeps([112,110,23]),import.meta.url)),BlockletLauncher=reactExports.lazy(()=>__vitePreload(()=>import("./index-CTpUEnRG.js"),__vite__mapDeps([113,41,42,43,44,104,105,114,81,82,83,23,28,29,47,38,6,67,58]),import.meta.url)),NotFoundPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-DocroCwn.js"),__vite__mapDeps([115,107]),import.meta.url)),Invite=reactExports.lazy(()=>__vitePreload(()=>import("./index-x8ZFxnS7.js"),__vite__mapDeps([116,109,107,93,10,94,110]),import.meta.url)),Console=reactExports.lazy(()=>__vitePreload(()=>import("./index-0496i8uI.js"),[],import.meta.url)),AnalyticsPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-H1nowJu-.js"),__vite__mapDeps([117,62,118,119,51,52,120,13,121,122,90,91,9,76,7,8,10,11,12,14,15,16,17,18,19,123,124,74,6,101,25]),import.meta.url)),GenKeyPair=reactExports.lazy(()=>__vitePreload(()=>import("./index-COFGt098.js"),__vite__mapDeps([125,107]),import.meta.url));function useSharedContext(){const Be=useNodeContext(),{session:Me}=useSessionContext$1(),{wallet:qe}=d$e(),He=Me.user&&Me.user.did;return reactExports.useEffect(()=>{const Je=getWsClient();return He?Je.connect():Je.isConnected()&&Je.disconnect(),()=>{Je.isConnected()&&Je.disconnect()}},[He]),reactExports.useEffect(()=>{if(qe)return()=>{};const Je=()=>{document.visibilityState==="visible"&&Me.refresh()};return document.addEventListener("visibilitychange",Je),()=>{document.removeEventListener("visibilitychange",Je)}},[]),{node:Be,session:Me}}function ProtectedApp(){const{t:Be}=T$8(),{node:Me,session:qe}=useSharedContext(),He=useLocation();reactExports.useEffect(()=>{window.tracker&&typeof window.tracker.pageView=="function"&&window.tracker.pageView(`${He.pathname}${He.search}`)},[He]),reactExports.useEffect(()=>{qe?.user?.role===constantExports$1.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&qe.logout()},[qe?.user?.role]);const Je=jsxRuntimeExports.jsx(CircularProgress,{});if(Me.loading||qe.loading)return jsxRuntimeExports.jsx(o$g,{children:Je});if(!Me.info.initialized)return getAuthMethodExports.getServerAuthMethod(Me.info)==="nft"?jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"verify-owner"}):jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(NodeConnectOwner,{})});if(Me.info.upgradeSessionId)return jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(MaintainProgress,{})});if(!qe.user)return jsxRuntimeExports.jsx(NodeLogin,{loadingEle:Je});const Ye=jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(BlockletsProvider,{children:jsxRuntimeExports.jsxs(NotificationProvider,{children:[jsxRuntimeExports.jsx(Health,{}),jsxRuntimeExports.jsx(CheckNodeStatus,{}),jsxRuntimeExports.jsx(GlobalSubscriber,{}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:Ye,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:"/dashboard",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:"Dashboard",children:jsxRuntimeExports.jsx(Dashboard,{})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.blocklets"),children:jsxRuntimeExports.jsx(BlockletList,{})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets/:did/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:"Blocklets",children:jsxRuntimeExports.jsx(BlockletDetail,{})})}),jsxRuntimeExports.jsx(Route,{path:"/settings/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.setting"),children:jsxRuntimeExports.jsx(Settings,{})})}),jsxRuntimeExports.jsx(Route,{path:"/eula",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("setup.steps.eula"),children:jsxRuntimeExports.jsx(EULAPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/store",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.store"),children:jsxRuntimeExports.jsx(BlockletStore,{})})}),jsxRuntimeExports.jsx(Route,{path:"/console",element:jsxRuntimeExports.jsx(DashboardRoute,{title:`GraphQL ${Be("common.console")}`,scrollable:!1,fullWidth:!0,children:jsxRuntimeExports.jsx(Console,{})})}),jsxRuntimeExports.jsx(Route,{path:"/notifications",element:jsxRuntimeExports.jsx(DashboardRoute,{title:Be("common.notifications"),children:jsxRuntimeExports.jsx(Notifications,{})})}),jsxRuntimeExports.jsx(Route,{path:"/team/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.team"),children:jsxRuntimeExports.jsx(TeamPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/logs/:name?",element:jsxRuntimeExports.jsx(DashboardRoute,{scrollable:!1,fullWidth:!0,title:Be("common.logs"),children:jsxRuntimeExports.jsx(LogPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/analytics/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.analytics"),children:jsxRuntimeExports.jsx(AnalyticsPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/",element:jsxRuntimeExports.jsx(Navigate,{to:"/dashboard",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/team",element:jsxRuntimeExports.jsx(Navigate,{to:"/team/members",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/analytics",element:jsxRuntimeExports.jsx(Navigate,{to:"/analytics/traffic",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/router",element:jsxRuntimeExports.jsx(Navigate,{to:"/router/rules",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/settings",element:jsxRuntimeExports.jsx(Navigate,{to:"/settings/basic",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/marketplace",element:jsxRuntimeExports.jsx(Navigate,{to:"/store",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/marketplace/:did",element:jsxRuntimeExports.jsx(Navigate,{to:"/store/:did",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"*",element:jsxRuntimeExports.jsx(NotFoundPage,{})})]})})]})})}function UnprotectedWrapper({children:Be}){const{node:Me,session:qe}=useSharedContext();return Me.loading||!qe.initialized&&qe.loading?jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(CircularProgress,{})}):Me.info.upgradeSessionId?jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(MaintainProgress,{})}):Be}function App(){const{changeLocale:Be}=T$8(),Me=useQuery();reactExports.useEffect(()=>{const He=Me.get("locale");He&&["zh","en"].includes(He)&&Be(He)},[]);const qe=jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:qe,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/issue-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(IssuePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/lost-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LostPassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/exchange-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(ExchangePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:"/accept-server",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"accept-server"})})}),jsxRuntimeExports.jsx(Route,{path:"/gen-key-pair/",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(GenKeyPair,{})})}),jsxRuntimeExports.jsx(Route,{path:"/launch-blocklet/*",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LaunchBlockletProvider,{children:jsxRuntimeExports.jsx(BlockletLauncher,{})})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets/restore/*",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(BlockletAppProvider,{children:jsxRuntimeExports.jsx(BlockletRestore,{})})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/invite`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(Invite,{})})}),jsxRuntimeExports.jsx(Route,{path:"/*",element:jsxRuntimeExports.jsx(ProtectedApp,{})})]})})}function AppWrapper(){const Be=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";return jsxRuntimeExports.jsx(BrowserRouter,{history:history$1,basename:Be,children:jsxRuntimeExports.jsx(Root,{children:jsxRuntimeExports.jsx(App,{})})})}const root=clientExports.createRoot(document.getElementById("root"));root.render(jsxRuntimeExports.jsx(AppWrapper,{}));const prefix=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";register(`${prefix}/service-worker.js`.replace(/\/+/g,"/"),{registrationOptions:{scope:prefix},registered(){console.info("Service worker has been registered.")},ready(){console.info("Service worker is active.")},cached(){console.info("Content has been cached for offline use.")},updatefound(){console.info("New content is downloading.")},updated(){console.info("New content is available; please refresh.")},offline(){console.info("No internet connection found. App is running in offline mode.")},error(Be){console.error("Error during service worker registration:",Be)}});export{$$4 as $,useNavigate as A,useSearchParams as B,CircularProgress as C,DialogContentText as D,constantExports$1 as E,useMediaQuery as F,Grid$1 as G,H$6 as H,libExports$7 as I,utilExports as J,Link$1 as K,Link as L,BlockletAppAvatar as M,Box as N,isEmpty as O,et as P,FormControl as Q,InputLabel as R,Select as S,Typography as T,MenuItem as U,Checkbox as V,WrappedDidAddress as W,Alert as X,formatError as Y,o$g as Z,CheckIcon$2 as _,useSubscription as a,Menu as a$,propTypesExports as a0,api as a1,merge as a2,cloneDeep as a3,IconButton as a4,R$3 as a5,ListItemSecondaryAction as a6,List as a7,ListItem as a8,ListItemText as a9,getBlockletMetaUrl as aA,ErrorBoundary as aB,k$1 as aC,formatRegistryLogoPath as aD,Icon as aE,ListItemIcon as aF,createSvgIcon as aG,ensureDomainAliases as aH,getIp as aI,normalizePathPrefix as aJ,sortBy as aK,stringSortHandlerAsc as aL,getAccessUrl as aM,history$1 as aN,semver as aO,useReactive as aP,useAsyncEffect as aQ,InfoOutlinedIcon as aR,sleep as aS,checkInputByType as aT,FormControlLabel as aU,Stack$1 as aV,useAsync as aW,axios as aX,shouldCheckDomainStatus as aY,formatMountPoint as aZ,urlPathFriendly as a_,getServerUrl as aa,useBlockletAppContext as ab,getAuthMethodExports as ac,ConfirmDialog as ad,getRestoredAccessUrl as ae,setSessionToken as af,isEqual as ag,isServerlessBlockletInstalled as ah,Debug as ai,getWsClient as aj,useQuery as ak,getPathPrefix as al,Global as am,Routes as an,Route as ao,Navigate as ap,HeaderAddon as aq,SessionContext as ar,css as as,$$5 as at,formatToDatetime as au,alpha$1 as av,getLaunchAgreementUrl as aw,axios$2 as ax,useSessionContext$1 as ay,Tooltip as az,constantExports as b,composeClasses as b$,checkIsWildcardDomain as b0,Popover as b1,Card as b2,formatToDate as b3,sortDomains as b4,C$a as b5,Collapse as b6,CheckCircle as b7,styled as b8,isUrl as b9,isInstalling as bA,Badge as bB,createAppPassportSvg as bC,NavLink as bD,__vitePreload as bE,SetCache as bF,arrayIncludes$1 as bG,arrayIncludesWith as bH,cacheHas as bI,baseUniq as bJ,baseFlatten as bK,baseRest as bL,last as bM,arrayFilter as bN,isArrayLikeObject as bO,t$9 as bP,isDownloading as bQ,getBlockletUrl as bR,getBlockletUrlParams as bS,ButtonBase as bT,memoTheme as bU,emphasize as bV,generateUtilityClasses$1 as bW,generateUtilityClass$1 as bX,useDefaultProps as bY,useSlotProps as bZ,clsx$1 as b_,__awaiter as ba,__generator as bb,__spread as bc,getDefaultExportFromCjs$1 as bd,U$4 as be,dayjs$1 as bf,Divider as bg,isCertificateMatch as bh,FormHelperText as bi,FormGroup as bj,o$d as bk,NodeContext as bl,useParams as bm,useNodeContext$1 as bn,uniqBy as bo,libExports$3 as bp,B$5 as bq,o$a as br,l$h as bs,BlockletAvatar as bt,ClickAwayListener as bu,f$9 as bv,createPassportSvg as bw,getWalletType as bx,useCreation as by,BlockletAdminRoles as bz,createCompounder as c,en$2 as c$,__read as c0,toSlotDomain as c1,omit as c2,fixBlocklet as c3,isProtectedRole as c4,baseOrderBy as c5,isArray$1 as c6,rootShouldForwardProp as c7,useFormControl as c8,createChainedFunction$1 as c9,Container$3 as cA,K$3 as cB,getLauncherBaseURL as cC,SvgIcon as cD,Buffer$1 as cE,parseURL as cF,withHttps as cG,useLaunchBlockletContext as cH,z$3 as cI,authorize as cJ,ArrowForwardIcon as cK,isNewStoreUrl as cL,getAccessibleUrl as cM,getBlockletLogoUrl as cN,t as cO,M$7 as cP,__spreadArrays as cQ,__assign as cR,h$6 as cS,useLocation as cT,l$8 as cU,useMount as cV,e$e as cW,formatDateTime as cX,getExplorerLink as cY,patchJsxToLocale as cZ,flat as c_,useSlot as ca,capitalize$1 as cb,SwitchBase as cc,createSimplePaletteValueFilter as cd,useControlled as ce,useForkRef as cf,useId as cg,getBlockletUrls as ch,defaultCheckAccessible as ci,urlEvaluationExports as cj,memoize as ck,ButtonGroupContext as cl,ButtonGroupButtonContext as cm,useNotificationContext as cn,utilExports$1 as co,NotificationList as cp,useRequest as cq,useMemoizedFn as cr,isNumber$3 as cs,useLatest as ct,dayjs as cu,d$e as cv,Avatar as cw,isFromWallet as cx,usePassportId as cy,isFunction$2 as cz,useBlockletsContext as d,afterRead as d$,Q$4 as d0,getSessionToken as d1,LinearProgress as d2,SvgLogo as d3,isNumber$1 as d4,useEnhancedEffect$1 as d5,debounce$2 as d6,ownerWindow as d7,useRtl as d8,KeyboardArrowLeft as d9,requireReactDom as dA,isObject$3 as dB,require$$0$2 as dC,require$$3$2 as dD,requireConstant$1 as dE,$e$2 as dF,noop$1 as dG,Button as dH,Paper as dI,MenuList as dJ,Popper as dK,_inheritsLoose$1 as dL,ReactDOM as dM,_objectWithoutPropertiesLoose$1 as dN,TransitionGroup as dO,ENTERED as dP,ENTERING as dQ,EXITING as dR,TransitionGroupContext as dS,Transition as dT,config$1 as dU,popperGenerator as dV,eventListeners as dW,popperOffsets$1 as dX,computeStyles$1 as dY,applyStyles$1 as dZ,afterMain as d_,KeyboardArrowRight as da,useEventCallback$1 as db,ownerDocument as dc,l$p as dd,getCommonHtmlTitle as de,HelmetExport as df,requireReact as dg,i$e as dh,oe$2 as di,ne$2 as dj,InfoIcon$2 as dk,upperFirst as dl,camelCase as dm,Skeleton as dn,R$4 as dp,isArrayLike as dq,baseIteratee as dr,keys as ds,toInteger as dt,baseFindIndex as du,commonjsGlobal as dv,getAugmentedNamespace as dw,emotionUtils_browser_esm as dx,requireJsxRuntime as dy,requirePropTypes as dz,useAsyncRetry as e,mergeThemeOptions as e$,afterWrite as e0,arrow$1 as e1,auto as e2,basePlacements as e3,beforeMain as e4,beforeRead as e5,beforeWrite as e6,bottom as e7,clippingParents as e8,createPopper as e9,requireLib$9 as eA,requireLib$7 as eB,requireConstant$2 as eC,requireUrlPathFriendly as eD,b$8 as eE,data$t as eF,global$2 as eG,hoistStatics as eH,isEqual$3 as eI,usePreviousProps as eJ,setRef as eK,ClearIcon as eL,ArrowDropDownIcon as eM,Chip as eN,filledInputClasses as eO,inputBaseClasses as eP,outlinedInputClasses as eQ,inputClasses as eR,ListContext as eS,getListItemButtonUtilityClass as eT,listItemButtonClasses as eU,emotionReact_browser_esm as eV,emotionCache_browser_esm as eW,cloneDeep$1 as eX,forceReflow as eY,_extends$2 as eZ,toString$2 as e_,createPopper$1 as ea,detectOverflow as eb,end as ec,flip$1 as ed,hide$1 as ee,left as ef,main as eg,modifierPhases as eh,offset$1 as ei,placements as ej,popper as ek,preventOverflow$1 as el,read as em,reference as en,right as eo,start as ep,top as eq,variationPlacements as er,viewport as es,write as et,requireReactIs as eu,emotionStyled_browser_esm as ev,emotionSerialize_esm as ew,emotionSheet_esm as ex,process$1 as ey,requireLib$8 as ez,useTheme as f,requireBrowser$h as f$,StyledEngineProvider as f0,ThemeProvider as f1,ThemeProvider$3 as f2,s$3 as f3,CloseIcon as f4,isString$1 as f5,createTheme as f6,createAxios as f7,pick as f8,omitBy as f9,requireNormalizePathPrefix as fA,debounce as fB,useInterval as fC,formatTime as fD,CloseFullscreenIcon as fE,S$8 as fF,TablePagination as fG,parseAvatar as fH,__rest as fI,useEffectWithTarget$1 as fJ,__values as fK,tmp as fL,useUpdate as fM,Y$3 as fN,I$3 as fO,p$c as fP,ee$1 as fQ,requireUtil$8 as fR,requireObjectKeys$1 as fS,requireShams$1 as fT,requireCallBound as fU,requireEsObjectAtoms as fV,requireDefineDataProperty as fW,requireHasPropertyDescriptors as fX,requireCallBind as fY,requireCallBound$1 as fZ,requireSafeBuffer$1 as f_,MenuIcon as fa,useDebounceFn as fb,Dialog as fc,OutlinedInput as fd,data as fe,Drawer as ff,parseQuery as fg,parseFilename as fh,stringifyParsedURL as fi,Grow as fj,Wt as fk,InputAdornment as fl,tooltipClasses as fm,e$b as fn,requireEngine as fo,__spreadArray as fp,useEventListener as fq,le$7 as fr,getTargetElement as fs,clamp as ft,extractEventHandlers as fu,isFocusVisible as fv,isHostComponent as fw,lighten as fx,darken as fy,slotShouldForwardProp as fz,g$e as g,isServerless as g$,requireElliptic as g0,requireCryptoBrowserify as g1,requireRipemd160 as g2,requireLib$6 as g3,requireUtil as g4,shouldForwardProp as g5,resolveComponentProps as g6,l as g7,getInviteLink as g8,copy as g9,useTimeout as gA,Fade as gB,FocusTrap as gC,DialogActions as gD,dialogClasses as gE,DialogContent as gF,localizedFormatPlugin as gG,n$8 as gH,purify as gI,Buffer$1$1 as gJ,Q$2 as gK,requireJsonStableStringify as gL,requireSemver as gM,requireBrowser$7 as gN,require$$0$1 as gO,requireIsAbsoluteUrl as gP,requireDist$2 as gQ,requireBrowser$1 as gR,require$$3 as gS,resolveProps as gT,useThemeProps as gU,defaultTheme$1 as gV,THEME_ID as gW,isIndex as gX,useTheme$4 as gY,objectAssign as gZ,__extends as g_,e$d as ga,getIssuePassportLink as gb,uniqBy$1 as gc,isNodeOwner as gd,isSelf as ge,Q$1 as gf,createPassportSvgExports as gg,getBlockletAccessibleUrl as gh,A$1 as gi,createPassportSvg$1 as gj,requireMs as gk,E$3 as gl,trim as gm,BlockletSDK as gn,getBlockletSDK as go,MoreHorizIcon as gp,identity$1 as gq,arrayEach as gr,baseEach as gs,arrayMap as gt,baseMap as gu,baseForOwn as gv,isPlainObject$2 as gw,require$$1$6 as gx,throttle$2 as gy,isUndefined$1 as gz,get$1 as h,t$1 as h$,isFunction$1 as h0,omit$1 as h1,TableContext as h2,Tablelvl2Context as h3,d$f as h4,useUnmount as h5,isDidDomainOrIpEchoDomain as h6,ExpandLess as h7,validateDomain as h8,requireDist as h9,isBrowser$1 as hA,root$1 as hB,isNil$1 as hC,require$$3$1 as hD,requireHoistNonReactStatics_cjs as hE,_assertThisInitialized$1 as hF,reactDomExports as hG,loadIcon as hH,withoutLeadingSlash as hI,fetchSvgAsPng as hJ,blobToFile as hK,withoutTrailingSlash as hL,Ce as hM,t$g as hN,i as hO,R$7 as hP,requireEventemitter3$1 as hQ,requirePhoenix_cjs as hR,highlightExports as hS,funcExports as hT,data$y as hU,useSnackbar as hV,common$3 as hW,green as hX,amber as hY,SnackbarContent as hZ,d$h as h_,requireAxios as ha,trim$1 as hb,requirePRetry as hc,TableCell as hd,xe$1 as he,getSystemDomains as hf,copyArray as hg,baseIndexOf as hh,ke$1 as hi,useAppLogo as hj,getTransferAppLink as hk,requireBn$3 as hl,require$$2 as hm,uniq as hn,updateWindowEnv as ho,M$3 as hp,isNil as hq,requireBase32 as hr,Pe as hs,withTrailingSlash as ht,data$B as hu,keyframes as hv,requireAssertString as hw,isEmail as hx,isURL as hy,createUseStorageState as hz,filesize as i,I$6 as i$,Y as i0,f$3 as i1,b as i2,g$9 as i3,withErrorBoundary as i4,z$2 as i5,M$4 as i6,$e as i7,G as i8,xe as i9,requireHasown as iA,requireBrowser as iB,require$$4 as iC,flatten as iD,trimEnd as iE,DialogTitle as iF,base32Exports as iG,flatExports as iH,Kt as iI,AxiosError as iJ,require$$0$8 as iK,require$$2$3 as iL,require$$1$5 as iM,require$$5 as iN,require$$6$2 as iO,require$$7 as iP,require$$0$7 as iQ,requireBs58 as iR,requireBase64Url as iS,requireUtf8 as iT,requireSha3$4 as iU,requireHash$2 as iV,requireNaclFast as iW,requireBrowser$j as iX,requireAccount as iY,requireHash as iZ,requireHelpers as i_,useBlockletLogo as ia,isPlainObject$1 as ib,Toolbar as ic,_setPrototypeOf as id,isString$3 as ie,FormLabel as ig,RelativeTime as ih,isIncludeActivity as ii,isUserActor as ij,ActorAvatar as ik,SendComponentAvatar as il,Activity as im,NotificationContent$1 as io,AvatarGroup as ip,requireCjs as iq,useTheme$2 as ir,baseAssignValue as is,isValidClusterSize as it,extractStatusUrlFromNextWorkflow as iu,pWaitFor as iv,hasRequiredSteps as iw,getStoreList as ix,commonjsRequire as iy,require_interface as iz,jsxRuntimeExports as j,isNull as j0,orange as j1,purple as j2,useStore as j3,createStore as j4,create$1 as j5,t$h as j6,clientExports as j7,Ve$1 as j8,retry as j9,isNetworkError as ja,requirePTimeout as jb,n$5 as jc,Modal as jd,GlobalStyles$2 as je,useSize as jf,prettyMs as k,formatLocale as l,T$8 as m,useSessionContext as n,o$i as o,p$3 as p,useSetState as q,reactExports as r,styled$3 as s,TextField as t,useNodeContext as u,n$4 as v,lo as w,getWebWalletUrl as x,joinURL as y,withQuery as z};
2902
+ `;function GlobalSubscriber(){const{t:Be}=T$8(),{session:Me}=useSessionContext$1(),{info:qe,refresh:He}=useNodeContext();return useSubscription(constantExports.TeamEvents.userUpdated,({teamDid:Je,user:Ye})=>{Je===qe.did&&Ye&&!Ye.approved&&Me&&Me.user&&Me.user.did===Ye.did&&(H$6.warning(Be("session.blockAccess"),{autoHideDuration:10*1e3}),Me.logout())}),useSubscription(constantExports$1.EVENTS.NOTIFICATION_CREATE,Je=>{Je.entityType==="node"&&He({silent:!0})}),useSubscription(constantExports$1.EVENTS.NODE_UPDATED,()=>{He({silent:!0})}),null}const authorize=({user:Be,launchType:Me,nftId:qe})=>{if(!Be)return!1;if(Me==="serverless"){if(!qe)throw new Error("nftId is required");return Be?.controller?.nftId===qe}return(Be.permissions||[]).includes("mutate_blocklets")},isServerlessBlockletInstalled=Be=>Be.isGetBlocklet&&Be.runtimeBlocklet?.controller?.consumedAt,getRestoredAccessUrl=async Be=>{const Me=getBlockletUrls({blocklet:Be});let qe="";return qe=Me.find(He=>{try{const{hostname:Je}=new URL(He);return urlEvaluationExports.isSlpDomain(Je)}catch(Je){return console.error(Je),!1}}),qe||(qe=await getAccessibleUrl(Me)),qe},LaunchBlockletContext=reactExports.createContext({}),{Provider:Provider$1,Consumer:Consumer$1}=LaunchBlockletContext;function LaunchBlockletProvider({children:Be}){const{session:Me}=useSessionContext$1(),{t:qe}=T$8(),{api:He,info:Je}=useNodeContext(),[Ye]=useSearchParams(),Ze=Ye.get("launchType"),tt=Ye.get("fromLauncher"),Qe=Ye.get("blocklet_meta_url")||"",rt=Ye.get("nftId")||"",nt=Ye.get("from")||"",it=Ye.get("launcherSessionId")||"",at=Ye.get("launcherUrl")||"",st=nt==="url",ut=nt==="empty",ct=st||ut?"":new URL(Qe).origin,[dt,pt]=reactExports.useState({meta:null,appDid:Ye.get("appDid")||null,sessionId:Ye.get("sessionId")||null,isFree:!0,isExternal:!1,isInstalling:!1,isInstalled:!1,isRunning:!1,launcherSession:null,registryUrl:""}),mt=(At,Rt)=>pt(gt=>({...gt,appDid:At,sessionId:Rt})),ft=authorize({user:Me.user,launchType:Ze,nftId:rt}),[yt,bt]=reactExports.useState(null),[St,Tt]=reactExports.useState(!0),kt=reactExports.useMemo(()=>Je?getServerUrl(Je):"",[Je]),jt=async At=>{if(!At)throw new Error("appDid should not be empty");const{blocklet:Rt}=await He.getBlocklet({input:{did:At,attachConfig:!1}});if(!Rt)return null;const gt=constantExports.BlockletStatus[Rt.status],xt=!!rt,Et=gt<constantExports.BlockletStatus.installed,Ct=gt===constantExports.BlockletStatus.installed,_t=gt===constantExports.BlockletStatus.running;return pt(Dt=>({...Dt,isInstalled:Ct,isRunning:_t,isExternal:xt,isInstalling:Et})),{isInstalled:Ct,isRunning:_t,isExternal:xt,isInstalling:Et}},Lt=async()=>{if(Tt(!0),ut){pt(At=>({...At,meta:{title:Ye.get("title")||"",description:Ye.get("description")||""}})),Tt(!1);return}try{if(!Qe&&!ut)throw new Error(qe("common.invalidParam"));const[{meta:At,isFree:Rt,registryUrl:gt},{launcherSession:xt,error:Et}]=await Promise.all([He.getBlockletMetaFromUrl({input:{url:Qe,checkPrice:!0}}),it?He.getLauncherSession({input:{launcherSessionId:it,launcherUrl:at}}):Promise.resolve({})]);if(it&&!xt)throw new Error(`Launch session invalid: ${Et}`);if(!At)throw new Error(qe("LaunchBlockletBlocklet.error.loadMetaFailed"));let Ct={};ft&&dt.appDid&&(Ct=await jt(dt.appDid)),pt(_t=>({..._t,...Ct,meta:At,isFree:Rt,registryUrl:gt,launcherSession:xt}))}catch(At){console.error(At),bt(At.message)}finally{Tt(!1)}};reactExports.useEffect(()=>{Me?.user?.role===constantExports$1.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&Me?.user?.controller?.nftId!==rt&&Me.logout(),Lt()},[]),reactExports.useEffect(()=>{St||!dt.meta||(ft?dt.appDid&&jt(dt.appDid).catch(At=>{H$6.error(At.message)}):(pt(At=>({...At,isInstalled:!1,isRunning:!1,isExternal:!1})),bt(null)))},[ft]);const Gt={meta:dt.meta,isFree:dt.isFree,appDid:dt.appDid,sessionId:dt.sessionId,isInstalling:dt.isInstalling,isInstalled:dt.isInstalled,isExternal:dt.isExternal,isRunning:dt.isRunning,serverUrl:kt,storeUrl:dt.registryUrl||ct,blockletMetaUrl:Qe,fromLauncher:tt,loading:St,error:yt,api:He,getBlocklet:jt,setAppDid:mt,launcherUrl:at,launcherSession:dt.launcherSession,launcherSessionId:it,launchType:Ze};return jsxRuntimeExports.jsx(Provider$1,{value:Gt,children:Be})}function useLaunchBlockletContext(){return reactExports.useContext(LaunchBlockletContext)}var useAsyncExports=requireUseAsync();const useAsync=getDefaultExportFromCjs$1(useAsyncExports);function useQuery(){return new URLSearchParams(useLocation().search)}const BlockletAppContext=reactExports.createContext(),{Provider,Consumer}=BlockletAppContext;function BlockletAppProvider({children:Be}){const qe=useQuery().get("blocklet_meta_url"),He=useAsync(async()=>{const{data:Ye}=await axios.get(qe);return Ye});if(He.loading)return jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(CircularProgress,{})});const Je={meta:He.value,error:He.error};return jsxRuntimeExports.jsx(Provider,{value:Je,children:Be})}BlockletAppProvider.propTypes={children:o$i.any.isRequired};function useBlockletAppContext(){return reactExports.useContext(BlockletAppContext)}const Dashboard=reactExports.lazy(()=>__vitePreload(()=>import("./index-BWDsxii_.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),BlockletList=reactExports.lazy(()=>__vitePreload(()=>import("./index-Dv-ACCVn.js"),__vite__mapDeps([5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,2,31,32,33,34,35,36,37,38]),import.meta.url)),BlockletRestore=reactExports.lazy(()=>__vitePreload(()=>import("./index-DyeX_qg7.js"),__vite__mapDeps([39,40,41,42,43,44,23,6,35,45,46,47,19,15]),import.meta.url)),BlockletStore=reactExports.lazy(()=>__vitePreload(()=>import("./index-C1LQFMVr.js"),__vite__mapDeps([48,6,49,50,51,52,17,15,53,31,32,54,36,35,55,45,56,4,19,23,24,25,57,58,26,59,60]),import.meta.url)),Settings=reactExports.lazy(()=>__vitePreload(()=>import("./index-DBip_c5f.js"),__vite__mapDeps([61,62,59,63,64,65,26,7,8,9,10,11,12,13,14,15,16,17,18,19,66,21,56,4,2,67,6,68,69,70,36,20,71,52,72,73,74,75,76]),import.meta.url)),LogPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-5KlKCCpC.js"),__vite__mapDeps([77,78,24,25,6]),import.meta.url)),TeamPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-Cn-6wztm.js"),__vite__mapDeps([79,62,80,15,16,17,18,6,81,82,83,84,85,53,21,86,36,87,7,8,9,10,11,12,13,14,19,88,89,26,4,90,91,76,2,50,45,92,93,94,44,95,96,37,24,25,97,30,98,99,100,101,72,102,103,1,56,104,105]),import.meta.url)),BlockletDetail=reactExports.lazy(()=>__vitePreload(()=>import("./detail-BHQbwbfp.js"),__vite__mapDeps([106,62,20,21,22,6,19,23,24,25,26,53,107,85,60]),import.meta.url)),EULAPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-CYZ78qFI.js"),[],import.meta.url)),Notifications=reactExports.lazy(()=>__vitePreload(()=>import("./index-CKY6mjuF.js"),[],import.meta.url)),IssuePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-CvPFmloQ.js"),__vite__mapDeps([108,109,107,93,10,94,110,23]),import.meta.url)),LostPassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-BSljJZ1V.js"),__vite__mapDeps([111,87,55,93,10,110,23,34]),import.meta.url)),ExchangePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-f3wFrDOj.js"),__vite__mapDeps([112,110,23]),import.meta.url)),BlockletLauncher=reactExports.lazy(()=>__vitePreload(()=>import("./index-CKv8PhTc.js"),__vite__mapDeps([113,41,42,43,44,104,105,114,81,82,83,23,28,29,47,38,6,67,58]),import.meta.url)),NotFoundPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-BW4Ntw6W.js"),__vite__mapDeps([115,107]),import.meta.url)),Invite=reactExports.lazy(()=>__vitePreload(()=>import("./index-hrs7Mhjt.js"),__vite__mapDeps([116,109,107,93,10,94,110]),import.meta.url)),Console=reactExports.lazy(()=>__vitePreload(()=>import("./index-Dsoqycrd.js"),[],import.meta.url)),AnalyticsPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-CqgcvSrI.js"),__vite__mapDeps([117,62,118,119,51,52,120,13,121,122,90,91,9,76,7,8,10,11,12,14,15,16,17,18,19,123,124,74,6,101,25]),import.meta.url)),GenKeyPair=reactExports.lazy(()=>__vitePreload(()=>import("./index-CNz77lZT.js"),__vite__mapDeps([125,107]),import.meta.url));function useSharedContext(){const Be=useNodeContext(),{session:Me}=useSessionContext$1(),{wallet:qe}=d$e(),He=Me.user&&Me.user.did;return reactExports.useEffect(()=>{const Je=getWsClient();return He?Je.connect():Je.isConnected()&&Je.disconnect(),()=>{Je.isConnected()&&Je.disconnect()}},[He]),reactExports.useEffect(()=>{if(qe)return()=>{};const Je=()=>{document.visibilityState==="visible"&&Me.refresh()};return document.addEventListener("visibilitychange",Je),()=>{document.removeEventListener("visibilitychange",Je)}},[]),{node:Be,session:Me}}function ProtectedApp(){const{t:Be}=T$8(),{node:Me,session:qe}=useSharedContext(),He=useLocation();reactExports.useEffect(()=>{window.tracker&&typeof window.tracker.pageView=="function"&&window.tracker.pageView(`${He.pathname}${He.search}`)},[He]),reactExports.useEffect(()=>{qe?.user?.role===constantExports$1.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&qe.logout()},[qe?.user?.role]);const Je=jsxRuntimeExports.jsx(CircularProgress,{});if(Me.loading||qe.loading)return jsxRuntimeExports.jsx(o$g,{children:Je});if(!Me.info.initialized)return getAuthMethodExports.getServerAuthMethod(Me.info)==="nft"?jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"verify-owner"}):jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(NodeConnectOwner,{})});if(Me.info.upgradeSessionId)return jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(MaintainProgress,{})});if(!qe.user)return jsxRuntimeExports.jsx(NodeLogin,{loadingEle:Je});const Ye=jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(BlockletsProvider,{children:jsxRuntimeExports.jsxs(NotificationProvider,{children:[jsxRuntimeExports.jsx(Health,{}),jsxRuntimeExports.jsx(CheckNodeStatus,{}),jsxRuntimeExports.jsx(GlobalSubscriber,{}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:Ye,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:"/dashboard",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:"Dashboard",children:jsxRuntimeExports.jsx(Dashboard,{})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.blocklets"),children:jsxRuntimeExports.jsx(BlockletList,{})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets/:did/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:"Blocklets",children:jsxRuntimeExports.jsx(BlockletDetail,{})})}),jsxRuntimeExports.jsx(Route,{path:"/settings/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.setting"),children:jsxRuntimeExports.jsx(Settings,{})})}),jsxRuntimeExports.jsx(Route,{path:"/eula",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("setup.steps.eula"),children:jsxRuntimeExports.jsx(EULAPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/store",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.store"),children:jsxRuntimeExports.jsx(BlockletStore,{})})}),jsxRuntimeExports.jsx(Route,{path:"/console",element:jsxRuntimeExports.jsx(DashboardRoute,{title:`GraphQL ${Be("common.console")}`,scrollable:!1,fullWidth:!0,children:jsxRuntimeExports.jsx(Console,{})})}),jsxRuntimeExports.jsx(Route,{path:"/notifications",element:jsxRuntimeExports.jsx(DashboardRoute,{title:Be("common.notifications"),children:jsxRuntimeExports.jsx(Notifications,{})})}),jsxRuntimeExports.jsx(Route,{path:"/team/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.team"),children:jsxRuntimeExports.jsx(TeamPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/logs/:name?",element:jsxRuntimeExports.jsx(DashboardRoute,{scrollable:!1,fullWidth:!0,title:Be("common.logs"),children:jsxRuntimeExports.jsx(LogPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/analytics/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:Be("common.analytics"),children:jsxRuntimeExports.jsx(AnalyticsPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/",element:jsxRuntimeExports.jsx(Navigate,{to:"/dashboard",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/team",element:jsxRuntimeExports.jsx(Navigate,{to:"/team/members",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/analytics",element:jsxRuntimeExports.jsx(Navigate,{to:"/analytics/traffic",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/router",element:jsxRuntimeExports.jsx(Navigate,{to:"/router/rules",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/settings",element:jsxRuntimeExports.jsx(Navigate,{to:"/settings/basic",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/marketplace",element:jsxRuntimeExports.jsx(Navigate,{to:"/store",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/marketplace/:did",element:jsxRuntimeExports.jsx(Navigate,{to:"/store/:did",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"*",element:jsxRuntimeExports.jsx(NotFoundPage,{})})]})})]})})}function UnprotectedWrapper({children:Be}){const{node:Me,session:qe}=useSharedContext();return Me.loading||!qe.initialized&&qe.loading?jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(CircularProgress,{})}):Me.info.upgradeSessionId?jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(MaintainProgress,{})}):Be}function App(){const{changeLocale:Be}=T$8(),Me=useQuery();reactExports.useEffect(()=>{const He=Me.get("locale");He&&["zh","en"].includes(He)&&Be(He)},[]);const qe=jsxRuntimeExports.jsx(o$g,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:qe,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/issue-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(IssuePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/lost-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LostPassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/exchange-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(ExchangePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:"/accept-server",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"accept-server"})})}),jsxRuntimeExports.jsx(Route,{path:"/gen-key-pair/",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(GenKeyPair,{})})}),jsxRuntimeExports.jsx(Route,{path:"/launch-blocklet/*",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LaunchBlockletProvider,{children:jsxRuntimeExports.jsx(BlockletLauncher,{})})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets/restore/*",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(BlockletAppProvider,{children:jsxRuntimeExports.jsx(BlockletRestore,{})})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/invite`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(Invite,{})})}),jsxRuntimeExports.jsx(Route,{path:"/*",element:jsxRuntimeExports.jsx(ProtectedApp,{})})]})})}function AppWrapper(){const Be=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";return jsxRuntimeExports.jsx(BrowserRouter,{history:history$1,basename:Be,children:jsxRuntimeExports.jsx(Root,{children:jsxRuntimeExports.jsx(App,{})})})}const root=clientExports.createRoot(document.getElementById("root"));root.render(jsxRuntimeExports.jsx(AppWrapper,{}));const prefix=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";register(`${prefix}/service-worker.js`.replace(/\/+/g,"/"),{registrationOptions:{scope:prefix},registered(){console.info("Service worker has been registered.")},ready(){console.info("Service worker is active.")},cached(){console.info("Content has been cached for offline use.")},updatefound(){console.info("New content is downloading.")},updated(){console.info("New content is available; please refresh.")},offline(){console.info("No internet connection found. App is running in offline mode.")},error(Be){console.error("Error during service worker registration:",Be)}});export{$$4 as $,useNavigate as A,useSearchParams as B,CircularProgress as C,DialogContentText as D,constantExports$1 as E,useMediaQuery as F,Grid$1 as G,H$6 as H,libExports$7 as I,utilExports as J,Link$1 as K,Link as L,BlockletAppAvatar as M,Box as N,isEmpty as O,et as P,FormControl as Q,InputLabel as R,Select as S,Typography as T,MenuItem as U,Checkbox as V,WrappedDidAddress as W,Alert as X,formatError as Y,o$g as Z,CheckIcon$2 as _,useSubscription as a,Menu as a$,propTypesExports as a0,api as a1,merge as a2,cloneDeep as a3,IconButton as a4,R$3 as a5,ListItemSecondaryAction as a6,List as a7,ListItem as a8,ListItemText as a9,getBlockletMetaUrl as aA,ErrorBoundary as aB,k$1 as aC,formatRegistryLogoPath as aD,Icon as aE,ListItemIcon as aF,createSvgIcon as aG,ensureDomainAliases as aH,getIp as aI,normalizePathPrefix as aJ,sortBy as aK,stringSortHandlerAsc as aL,getAccessUrl as aM,history$1 as aN,semver as aO,useReactive as aP,useAsyncEffect as aQ,InfoOutlinedIcon as aR,sleep as aS,checkInputByType as aT,FormControlLabel as aU,Stack$1 as aV,useAsync as aW,axios as aX,shouldCheckDomainStatus as aY,formatMountPoint as aZ,urlPathFriendly as a_,getServerUrl as aa,useBlockletAppContext as ab,getAuthMethodExports as ac,ConfirmDialog as ad,getRestoredAccessUrl as ae,setSessionToken as af,isEqual as ag,isServerlessBlockletInstalled as ah,Debug as ai,getWsClient as aj,useQuery as ak,getPathPrefix as al,Global as am,Routes as an,Route as ao,Navigate as ap,HeaderAddon as aq,SessionContext as ar,css as as,$$5 as at,formatToDatetime as au,alpha$1 as av,getLaunchAgreementUrl as aw,axios$2 as ax,useSessionContext$1 as ay,Tooltip as az,constantExports as b,composeClasses as b$,checkIsWildcardDomain as b0,Popover as b1,Card as b2,formatToDate as b3,sortDomains as b4,C$a as b5,Collapse as b6,CheckCircle as b7,styled as b8,isUrl as b9,isInstalling as bA,Badge as bB,createAppPassportSvg as bC,NavLink as bD,__vitePreload as bE,SetCache as bF,arrayIncludes$1 as bG,arrayIncludesWith as bH,cacheHas as bI,baseUniq as bJ,baseFlatten as bK,baseRest as bL,last as bM,arrayFilter as bN,isArrayLikeObject as bO,t$9 as bP,isDownloading as bQ,getBlockletUrl as bR,getBlockletUrlParams as bS,ButtonBase as bT,memoTheme as bU,emphasize as bV,generateUtilityClasses$1 as bW,generateUtilityClass$1 as bX,useDefaultProps as bY,useSlotProps as bZ,clsx$1 as b_,__awaiter as ba,__generator as bb,__spread as bc,getDefaultExportFromCjs$1 as bd,U$4 as be,dayjs$1 as bf,Divider as bg,isCertificateMatch as bh,FormHelperText as bi,FormGroup as bj,o$d as bk,NodeContext as bl,useParams as bm,useNodeContext$1 as bn,uniqBy as bo,libExports$3 as bp,B$5 as bq,o$a as br,l$h as bs,BlockletAvatar as bt,ClickAwayListener as bu,f$9 as bv,createPassportSvg as bw,getWalletType as bx,useCreation as by,BlockletAdminRoles as bz,createCompounder as c,en$2 as c$,__read as c0,toSlotDomain as c1,omit as c2,fixBlocklet as c3,isProtectedRole as c4,baseOrderBy as c5,isArray$1 as c6,rootShouldForwardProp as c7,useFormControl as c8,createChainedFunction$1 as c9,Container$3 as cA,K$3 as cB,getLauncherBaseURL as cC,SvgIcon as cD,Buffer$1 as cE,parseURL as cF,withHttps as cG,useLaunchBlockletContext as cH,z$3 as cI,authorize as cJ,ArrowForwardIcon as cK,isNewStoreUrl as cL,getAccessibleUrl as cM,getBlockletLogoUrl as cN,t as cO,M$7 as cP,__spreadArrays as cQ,__assign as cR,h$6 as cS,useLocation as cT,l$8 as cU,useMount as cV,e$e as cW,formatDateTime as cX,getExplorerLink as cY,patchJsxToLocale as cZ,flat as c_,useSlot as ca,capitalize$1 as cb,SwitchBase as cc,createSimplePaletteValueFilter as cd,useControlled as ce,useForkRef as cf,useId as cg,getBlockletUrls as ch,defaultCheckAccessible as ci,urlEvaluationExports as cj,memoize as ck,ButtonGroupContext as cl,ButtonGroupButtonContext as cm,useNotificationContext as cn,utilExports$1 as co,NotificationList as cp,useRequest as cq,useMemoizedFn as cr,isNumber$3 as cs,useLatest as ct,dayjs as cu,d$e as cv,Avatar as cw,isFromWallet as cx,usePassportId as cy,isFunction$2 as cz,useBlockletsContext as d,afterRead as d$,Q$4 as d0,getSessionToken as d1,LinearProgress as d2,SvgLogo as d3,isNumber$1 as d4,useEnhancedEffect$1 as d5,debounce$2 as d6,ownerWindow as d7,useRtl as d8,KeyboardArrowLeft as d9,requireReactDom as dA,isObject$3 as dB,require$$0$2 as dC,require$$3$2 as dD,requireConstant$1 as dE,$e$2 as dF,noop$1 as dG,Button as dH,Paper as dI,MenuList as dJ,Popper as dK,_inheritsLoose$1 as dL,ReactDOM as dM,_objectWithoutPropertiesLoose$1 as dN,TransitionGroup as dO,ENTERED as dP,ENTERING as dQ,EXITING as dR,TransitionGroupContext as dS,Transition as dT,config$1 as dU,popperGenerator as dV,eventListeners as dW,popperOffsets$1 as dX,computeStyles$1 as dY,applyStyles$1 as dZ,afterMain as d_,KeyboardArrowRight as da,useEventCallback$1 as db,ownerDocument as dc,l$p as dd,getCommonHtmlTitle as de,HelmetExport as df,requireReact as dg,i$e as dh,oe$2 as di,ne$2 as dj,InfoIcon$2 as dk,upperFirst as dl,camelCase as dm,Skeleton as dn,R$4 as dp,isArrayLike as dq,baseIteratee as dr,keys as ds,toInteger as dt,baseFindIndex as du,commonjsGlobal as dv,getAugmentedNamespace as dw,emotionUtils_browser_esm as dx,requireJsxRuntime as dy,requirePropTypes as dz,useAsyncRetry as e,mergeThemeOptions as e$,afterWrite as e0,arrow$1 as e1,auto as e2,basePlacements as e3,beforeMain as e4,beforeRead as e5,beforeWrite as e6,bottom as e7,clippingParents as e8,createPopper as e9,requireLib$9 as eA,requireLib$7 as eB,requireConstant$2 as eC,requireUrlPathFriendly as eD,b$8 as eE,data$t as eF,global$2 as eG,hoistStatics as eH,isEqual$3 as eI,usePreviousProps as eJ,setRef as eK,ClearIcon as eL,ArrowDropDownIcon as eM,Chip as eN,filledInputClasses as eO,inputBaseClasses as eP,outlinedInputClasses as eQ,inputClasses as eR,ListContext as eS,getListItemButtonUtilityClass as eT,listItemButtonClasses as eU,emotionReact_browser_esm as eV,emotionCache_browser_esm as eW,cloneDeep$1 as eX,forceReflow as eY,_extends$2 as eZ,toString$2 as e_,createPopper$1 as ea,detectOverflow as eb,end as ec,flip$1 as ed,hide$1 as ee,left as ef,main as eg,modifierPhases as eh,offset$1 as ei,placements as ej,popper as ek,preventOverflow$1 as el,read as em,reference as en,right as eo,start as ep,top as eq,variationPlacements as er,viewport as es,write as et,requireReactIs as eu,emotionStyled_browser_esm as ev,emotionSerialize_esm as ew,emotionSheet_esm as ex,process$1 as ey,requireLib$8 as ez,useTheme as f,requireBrowser$h as f$,StyledEngineProvider as f0,ThemeProvider as f1,ThemeProvider$3 as f2,s$3 as f3,CloseIcon as f4,isString$1 as f5,createTheme as f6,createAxios as f7,pick as f8,omitBy as f9,requireNormalizePathPrefix as fA,debounce as fB,useInterval as fC,formatTime as fD,CloseFullscreenIcon as fE,S$8 as fF,TablePagination as fG,parseAvatar as fH,__rest as fI,useEffectWithTarget$1 as fJ,__values as fK,tmp as fL,useUpdate as fM,Y$3 as fN,I$3 as fO,p$c as fP,ee$1 as fQ,requireUtil$8 as fR,requireObjectKeys$1 as fS,requireShams$1 as fT,requireCallBound as fU,requireEsObjectAtoms as fV,requireDefineDataProperty as fW,requireHasPropertyDescriptors as fX,requireCallBind as fY,requireCallBound$1 as fZ,requireSafeBuffer$1 as f_,MenuIcon as fa,useDebounceFn as fb,Dialog as fc,OutlinedInput as fd,data as fe,Drawer as ff,parseQuery as fg,parseFilename as fh,stringifyParsedURL as fi,Grow as fj,Wt as fk,InputAdornment as fl,tooltipClasses as fm,e$b as fn,requireEngine as fo,__spreadArray as fp,useEventListener as fq,le$7 as fr,getTargetElement as fs,clamp as ft,extractEventHandlers as fu,isFocusVisible as fv,isHostComponent as fw,lighten as fx,darken as fy,slotShouldForwardProp as fz,g$e as g,isServerless as g$,requireElliptic as g0,requireCryptoBrowserify as g1,requireRipemd160 as g2,requireLib$6 as g3,requireUtil as g4,shouldForwardProp as g5,resolveComponentProps as g6,l as g7,getInviteLink as g8,copy as g9,useTimeout as gA,Fade as gB,FocusTrap as gC,DialogActions as gD,dialogClasses as gE,DialogContent as gF,localizedFormatPlugin as gG,n$8 as gH,purify as gI,Buffer$1$1 as gJ,Q$2 as gK,requireJsonStableStringify as gL,requireSemver as gM,requireBrowser$7 as gN,require$$0$1 as gO,requireIsAbsoluteUrl as gP,requireDist$2 as gQ,requireBrowser$1 as gR,require$$3 as gS,resolveProps as gT,useThemeProps as gU,defaultTheme$1 as gV,THEME_ID as gW,isIndex as gX,useTheme$4 as gY,objectAssign as gZ,__extends as g_,e$d as ga,getIssuePassportLink as gb,uniqBy$1 as gc,isNodeOwner as gd,isSelf as ge,Q$1 as gf,createPassportSvgExports as gg,getBlockletAccessibleUrl as gh,A$1 as gi,createPassportSvg$1 as gj,requireMs as gk,E$3 as gl,trim as gm,BlockletSDK as gn,getBlockletSDK as go,MoreHorizIcon as gp,identity$1 as gq,arrayEach as gr,baseEach as gs,arrayMap as gt,baseMap as gu,baseForOwn as gv,isPlainObject$2 as gw,require$$1$6 as gx,throttle$2 as gy,isUndefined$1 as gz,get$1 as h,t$1 as h$,isFunction$1 as h0,omit$1 as h1,TableContext as h2,Tablelvl2Context as h3,d$f as h4,useUnmount as h5,isDidDomainOrIpEchoDomain as h6,ExpandLess as h7,validateDomain as h8,requireDist as h9,isBrowser$1 as hA,root$1 as hB,isNil$1 as hC,require$$3$1 as hD,requireHoistNonReactStatics_cjs as hE,_assertThisInitialized$1 as hF,reactDomExports as hG,loadIcon as hH,withoutLeadingSlash as hI,fetchSvgAsPng as hJ,blobToFile as hK,withoutTrailingSlash as hL,Ce as hM,t$g as hN,i as hO,R$7 as hP,requireEventemitter3$1 as hQ,requirePhoenix_cjs as hR,highlightExports as hS,funcExports as hT,data$y as hU,useSnackbar as hV,common$3 as hW,green as hX,amber as hY,SnackbarContent as hZ,d$h as h_,requireAxios as ha,trim$1 as hb,requirePRetry as hc,TableCell as hd,xe$1 as he,getSystemDomains as hf,copyArray as hg,baseIndexOf as hh,ke$1 as hi,useAppLogo as hj,getTransferAppLink as hk,requireBn$3 as hl,require$$2 as hm,uniq as hn,updateWindowEnv as ho,M$3 as hp,isNil as hq,requireBase32 as hr,Pe as hs,withTrailingSlash as ht,data$B as hu,keyframes as hv,requireAssertString as hw,isEmail as hx,isURL as hy,createUseStorageState as hz,filesize as i,I$6 as i$,Y as i0,f$3 as i1,b as i2,g$9 as i3,withErrorBoundary as i4,z$2 as i5,M$4 as i6,$e as i7,G as i8,xe as i9,requireHasown as iA,requireBrowser as iB,require$$4 as iC,flatten as iD,trimEnd as iE,DialogTitle as iF,base32Exports as iG,flatExports as iH,Kt as iI,AxiosError as iJ,require$$0$8 as iK,require$$2$3 as iL,require$$1$5 as iM,require$$5 as iN,require$$6$2 as iO,require$$7 as iP,require$$0$7 as iQ,requireBs58 as iR,requireBase64Url as iS,requireUtf8 as iT,requireSha3$4 as iU,requireHash$2 as iV,requireNaclFast as iW,requireBrowser$j as iX,requireAccount as iY,requireHash as iZ,requireHelpers as i_,useBlockletLogo as ia,isPlainObject$1 as ib,Toolbar as ic,_setPrototypeOf as id,isString$3 as ie,FormLabel as ig,RelativeTime as ih,isIncludeActivity as ii,isUserActor as ij,ActorAvatar as ik,SendComponentAvatar as il,Activity as im,NotificationContent$1 as io,AvatarGroup as ip,requireCjs as iq,useTheme$2 as ir,baseAssignValue as is,isValidClusterSize as it,extractStatusUrlFromNextWorkflow as iu,pWaitFor as iv,hasRequiredSteps as iw,getStoreList as ix,commonjsRequire as iy,require_interface as iz,jsxRuntimeExports as j,isNull as j0,orange as j1,purple as j2,useStore as j3,createStore as j4,create$1 as j5,t$h as j6,clientExports as j7,Ve$1 as j8,retry as j9,isNetworkError as ja,requirePTimeout as jb,n$5 as jc,Modal as jd,GlobalStyles$2 as je,useSize as jf,prettyMs as k,formatLocale as l,T$8 as m,useSessionContext as n,o$i as o,p$3 as p,useSetState as q,reactExports as r,styled$3 as s,TextField as t,useNodeContext as u,n$4 as v,lo as w,getWebWalletUrl as x,joinURL as y,withQuery as z};
@@ -1 +1 @@
1
- import{aG as le,j as e,hw as ce,bd as ue,bn as Y,m as Z,fO as ee,f8 as te,aP as re,cr as u,H as S,hx as M,N as R,t as x,hy as V,aU as H,Q as p,az as de,v as N,s as ie,aV as ne,z as me,y as fe,E as he,r as U,g as xe,by as pe}from"./index-OdvXHPqT.js";import{T as ve}from"./html-title-F0NEfYXw.js";import{u as se,C as m}from"./index.esm-Dt7UO6Gw.js";import{S as h,A as je,a as be,b as ge,c as ye}from"./collapse-Co_76D-y.js";import{u as ae}from"./blocklet-BwXw89V1.js";import{S as $}from"./Switch-iXfQHCNE.js";const Re=le(e.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}));var K={exports:{}},O={exports:{}},z={exports:{}},J;function Te(){return J||(J=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=t;function t(d){return d==null}c.exports=s.default,c.exports.default=s.default}(z,z.exports)),z.exports}var Q;function we(){return Q||(Q=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=k;var t=b(ce()),d=b(Te());function b(n){return n&&n.__esModule?n:{default:n}}var f=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,P=/^[-+]?[0-9]+$/;function k(n,i){(0,t.default)(n),i=i||{};var _=i.allow_leading_zeroes===!1?f:P,q=!i.hasOwnProperty("min")||(0,d.default)(i.min)||n>=i.min,l=!i.hasOwnProperty("max")||(0,d.default)(i.max)||n<=i.max,a=!i.hasOwnProperty("lt")||(0,d.default)(i.lt)||n<i.lt,C=!i.hasOwnProperty("gt")||(0,d.default)(i.gt)||n>i.gt;return _.test(n)&&q&&l&&a&&C}c.exports=s.default,c.exports.default=s.default}(O,O.exports)),O.exports}var G;function Ee(){return G||(G=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=b;var t=d(we());function d(f){return f&&f.__esModule?f:{default:f}}function b(f){return(0,t.default)(f,{allow_leading_zeroes:!1,min:0,max:65535})}c.exports=s.default,c.exports.default=s.default}(K,K.exports)),K.exports}var Se=Ee();const ke=ue(Se),B={enabled:!1,secure:!1,from:"",host:"",port:"",user:"",password:"",companyName:"",companyLink:"",companyAddress:"",supportEmail:""};function Ce(){const{api:c}=Y(),{blocklet:s}=ae(),{t}=Z(),{confirmApi:d,confirmHolder:b}=ee(),f=s?.meta?.did,P=Object.assign({...B},s?.settings?.notification?.email||{}),{handleSubmit:k,control:n,formState:i,watch:_,reset:q}=se({defaultValues:te(P,Object.keys(B))}),l=re({testReceiver:"",testReceiverError:""}),a=_("enabled"),C=u(async(r,g,E=!0)=>{try{const{blocklet:y}=await c.configNotification({input:{did:f,notification:JSON.stringify({email:r})}}),oe=Object.assign({...B},y?.settings?.notification?.email||{});q(oe),E&&S.success(t("oauth.saveSuccess"))}catch(y){if(E)S.error(y.message||t("oauth.saveFailed"));else throw y}}),W=u(async(r,g,E)=>{try{i.isDirty&&await C(r,g,!1),await c.sendEmail({input:{did:f,receiver:E,email:JSON.stringify({body:"Your SMTP configuration is correct!",title:"Test email",type:"notification"})}}),S.success(t("notification.email.testSuccess"))}catch(y){S.error(y.message||t("notification.email.testfailed"))}}),A=u((r,g)=>{l.testReceiver="",l.testReceiverError="",d.open({title:t("notification.email.testSendEmail"),content:()=>e.jsx(R,{sx:{width:"300px"},children:e.jsx(x,{sx:{mt:1},fullWidth:!0,name:"testReceiver",label:t("notification.email.inputTestReceiver"),value:l.testReceiver,onChange:E=>{l.testReceiver=E.target.value},error:!!l.testReceiverError,helperText:l.testReceiverError||" "})}),confirmButtonText:t("common.confirm"),cancelButtonText:t("common.cancel"),async onConfirm(E){const y=l.testReceiver?.trim();if(!y){l.testReceiverError=t("notification.email.receiverRequired");return}if(!M(y)){l.testReceiverError=t("notification.email.receiverInvalid");return}l.testReceiverError="",await W(r,g,y),E()}})}),F=u(r=>{const g=r?.trim();return g?M(g)?!0:t("notification.email.fromInvalid"):t("notification.email.fromRequired")}),L=u(r=>{const g=r?.trim();return g?V(g,{require_host:!1,protocols:[]})?!0:t("notification.email.hostInvalid"):t("notification.email.hostRequired")}),o=u(r=>r?ke(r)?!0:t("notification.email.portInvalid"):t("notification.email.portRequired")),T=u(r=>r?.trim()?!0:t("notification.email.userRequired")),v=u(r=>r?.trim()?!0:t("notification.email.passwordRequired")),w=u(r=>r?.trim()&&!V(r,{protocols:["http","https"],require_protocol:!0})?t("notification.email.linkInvalid"):!0),I=u(r=>r?.trim()&&!M(r)?t("notification.email.emailInvalid"):!0),j=u(()=>!0);return e.jsxs(R,{children:[e.jsxs(Pe,{component:"form",onSubmit:k(C),disabled:!0,sx:{".section-left":{width:"160px"}},children:[e.jsx(h,{title:t("notification.email.enable"),my:2.5,children:e.jsx(m,{name:"enabled",control:n,render:({field:r})=>e.jsx(H,{control:e.jsx($,{checked:r.value,...r})})})}),e.jsx(h,{title:t("notification.email.from"),children:e.jsx(m,{name:"from",control:n,rules:{validate:a?F:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,label:t("notification.email.from"),error:!!i.errors[r.name],helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.host"),children:e.jsx(m,{name:"host",control:n,rules:{validate:a?L:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,error:!!i.errors[r.name],label:t("notification.email.host"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.port"),children:e.jsx(m,{name:"port",control:n,rules:{validate:a?o:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,type:"number",error:!!i.errors[r.name],label:t("notification.email.port"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.user"),children:e.jsx(m,{name:"user",control:n,rules:{validate:a?T:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,error:!!i.errors[r.name],label:t("notification.email.user"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.password"),children:e.jsx(m,{name:"password",control:n,rules:{validate:a?v:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,type:"password",error:!!i.errors[r.name],label:t("notification.email.password"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.secure"),children:e.jsx(m,{name:"secure",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(H,{control:e.jsx($,{checked:r.value,...r,disabled:!a})})})})}),e.jsxs(je,{children:[e.jsxs(be,{expandIcon:e.jsx(ge,{fontSize:"small"}),"aria-controls":"panel1-content",id:"panel1-header",children:[t("notification.email.signature"),e.jsx(de,{title:t("notification.email.signatureTooltip"),children:e.jsx(Re,{fontSize:"small",sx:{ml:1,cursor:"help"}})})]}),e.jsxs(ye,{children:[e.jsx(h,{title:t("notification.email.companyName"),children:e.jsx(m,{name:"companyName",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyName"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.companyLink"),children:e.jsx(m,{name:"companyLink",control:n,rules:{validate:a?w:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyLink"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.companyAddress"),children:e.jsx(m,{name:"companyAddress",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyAddress"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.supportEmail"),children:e.jsx(m,{name:"supportEmail",control:n,rules:{validate:a?I:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",type:"email",error:!!i.errors[r.name],label:t("notification.email.supportEmail"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})})]})]}),e.jsxs(R,{sx:{display:"flex",justifyContent:"flex-end",gap:2,mt:3},children:[e.jsx(N,{variant:"outlined",color:"warning",onClick:k(A),disabled:!a,children:t("oauth.runTest")}),e.jsx(N,{type:"submit",variant:"contained",disabled:!i.isDirty,children:t("oauth.save")})]})]}),b]})}const Pe=ie(ne)``,D={enabled:!1,endpoint:"",did:void 0,pushPath:void 0};function _e(){const{api:c}=Y(),{blocklet:s}=ae(),{t}=Z(),{confirmApi:d,confirmHolder:b}=ee(),f=s?.meta?.did,P=Object.assign({...D},s?.settings?.notification?.pushKit||{}),{handleSubmit:k,control:n,formState:i,watch:_,reset:q}=se({defaultValues:te(P,Object.keys(D))}),l=re({testReceiver:"",testReceiverError:""}),a=_("enabled"),C=u(async(o,T,v=!0)=>{try{const{blocklet:w}=await c.configNotification({input:{did:f,notification:JSON.stringify({pushKit:o})}}),I=Object.assign({...D},w?.settings?.notification?.pushKit||{});q(I),v&&S.success(t("oauth.saveSuccess"))}catch(w){if(v)S.error(w.message||t("oauth.saveFailed"));else throw w}}),W=u(async(o,T)=>{try{i.isDirty&&await C(o,T,!1);const v=(s?.configs||[]).find(j=>j.key==="BLOCKLET_APP_URL")?.value,w=me(fe(v,he.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo"),{v:s?.meta?.version,t:new Date(s?.updatedAt||0).getTime()}),I={type:"passthrough",passthroughType:"messageStatus",data:{message:{title:"Test push-kit notification",body:"This is message from push-kit config test",sender:{did:s?.appDid,fullName:s?.meta?.title,avatar:w}}}};await c.sendPush({input:{did:f,receiver:l.testReceiver,notification:JSON.stringify(I)}}),S.success(t("notification.pushKit.testSuccess"))}catch(v){S.error(v.message||t("notification.pushKit.testfailed"))}}),A=u((o,T)=>{l.testReceiverError="",d.open({title:t("notification.pushKit.testSend"),content:()=>e.jsx(R,{sx:{width:"450px",maxWidth:"100%"},children:e.jsx(x,{sx:{mt:1},fullWidth:!0,name:"testReceiver",label:t("notification.pushKit.inputTestReceiver"),value:l.testReceiver,onChange:v=>{l.testReceiver=v.target.value},error:!!l.testReceiverError,helperText:l.testReceiverError||" "})}),confirmButtonText:t("common.confirm"),cancelButtonText:t("common.cancel"),async onConfirm(v){if(!l.testReceiver?.trim()){l.testReceiverError=t("notification.pushKit.receiverRequired");return}l.testReceiverError="",await W(o,T),v()}})}),F=u(o=>{const T=o?.trim();return T?V(T)?!0:t("notification.pushKit.endpointInvalid"):t("notification.pushKit.endpointRequired")}),L=u(()=>!0);return e.jsxs(R,{children:[e.jsxs(qe,{component:"form",onSubmit:k(C),disabled:!0,sx:{".section-left":{width:"160px"}},children:[e.jsx(h,{title:t("notification.pushKit.enable"),my:2.5,children:e.jsx(m,{name:"enabled",control:n,render:({field:o})=>e.jsx(H,{control:e.jsx($,{checked:o.value,...o})})})}),e.jsx(h,{title:t("notification.pushKit.endpoint"),children:e.jsx(m,{name:"endpoint",control:n,rules:{validate:a?F:L},render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",required:!0,label:t("notification.pushKit.endpoint"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})})}),e.jsxs(h,{title:t("notification.pushKit.customOptions"),children:[e.jsx(m,{name:"did",control:n,render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",label:t("notification.pushKit.did"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})}),e.jsx(m,{name:"pushPath",control:n,render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",label:t("notification.pushKit.pushPath"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})})]}),e.jsxs(R,{sx:{display:"flex",justifyContent:"flex-end",gap:2,mt:3},children:[e.jsx(N,{variant:"outlined",color:"warning",onClick:k(A),disabled:!a,children:t("oauth.runTest")}),e.jsx(N,{type:"submit",variant:"contained",disabled:!i.isDirty,children:t("oauth.save")})]})]}),b]})}const qe=ie(ne)``,X=[{label:e.jsx(R,{sx:{textAlign:"center",width:"100%"},children:"Email"}),value:"email"},{label:e.jsx(R,{sx:{textAlign:"center",width:"100%"},children:"Push Kit"}),value:"pushKit"}];function Ae(){const[c,s]=U.useState(X[0].value),{locale:t}=U.useContext(xe),d=pe(()=>({email:e.jsx(Ce,{}),pushKit:e.jsx(_e,{})}),[t]),b=U.useMemo(()=>({padding:"10px 0"}),[]);return e.jsxs(R,{children:[e.jsx(ve,{tabs:X,current:c,onChange:s}),e.jsx(R,{style:b,children:d[c]})]})}export{Ae as B};
1
+ import{aG as le,j as e,hw as ce,bd as ue,bn as Y,m as Z,fO as ee,f8 as te,aP as re,cr as u,H as S,hx as M,N as R,t as x,hy as V,aU as H,Q as p,az as de,v as N,s as ie,aV as ne,z as me,y as fe,E as he,r as U,g as xe,by as pe}from"./index-BvAtsQd5.js";import{T as ve}from"./html-title-Cx_lv4tS.js";import{u as se,C as m}from"./index.esm-LjN1Hm60.js";import{S as h,A as je,a as be,b as ge,c as ye}from"./collapse-D0TcL3yf.js";import{u as ae}from"./blocklet-DISJHp6B.js";import{S as $}from"./Switch-CAccGI-e.js";const Re=le(e.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}));var K={exports:{}},O={exports:{}},z={exports:{}},J;function Te(){return J||(J=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=t;function t(d){return d==null}c.exports=s.default,c.exports.default=s.default}(z,z.exports)),z.exports}var Q;function we(){return Q||(Q=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=k;var t=b(ce()),d=b(Te());function b(n){return n&&n.__esModule?n:{default:n}}var f=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,P=/^[-+]?[0-9]+$/;function k(n,i){(0,t.default)(n),i=i||{};var _=i.allow_leading_zeroes===!1?f:P,q=!i.hasOwnProperty("min")||(0,d.default)(i.min)||n>=i.min,l=!i.hasOwnProperty("max")||(0,d.default)(i.max)||n<=i.max,a=!i.hasOwnProperty("lt")||(0,d.default)(i.lt)||n<i.lt,C=!i.hasOwnProperty("gt")||(0,d.default)(i.gt)||n>i.gt;return _.test(n)&&q&&l&&a&&C}c.exports=s.default,c.exports.default=s.default}(O,O.exports)),O.exports}var G;function Ee(){return G||(G=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=b;var t=d(we());function d(f){return f&&f.__esModule?f:{default:f}}function b(f){return(0,t.default)(f,{allow_leading_zeroes:!1,min:0,max:65535})}c.exports=s.default,c.exports.default=s.default}(K,K.exports)),K.exports}var Se=Ee();const ke=ue(Se),B={enabled:!1,secure:!1,from:"",host:"",port:"",user:"",password:"",companyName:"",companyLink:"",companyAddress:"",supportEmail:""};function Ce(){const{api:c}=Y(),{blocklet:s}=ae(),{t}=Z(),{confirmApi:d,confirmHolder:b}=ee(),f=s?.meta?.did,P=Object.assign({...B},s?.settings?.notification?.email||{}),{handleSubmit:k,control:n,formState:i,watch:_,reset:q}=se({defaultValues:te(P,Object.keys(B))}),l=re({testReceiver:"",testReceiverError:""}),a=_("enabled"),C=u(async(r,g,E=!0)=>{try{const{blocklet:y}=await c.configNotification({input:{did:f,notification:JSON.stringify({email:r})}}),oe=Object.assign({...B},y?.settings?.notification?.email||{});q(oe),E&&S.success(t("oauth.saveSuccess"))}catch(y){if(E)S.error(y.message||t("oauth.saveFailed"));else throw y}}),W=u(async(r,g,E)=>{try{i.isDirty&&await C(r,g,!1),await c.sendEmail({input:{did:f,receiver:E,email:JSON.stringify({body:"Your SMTP configuration is correct!",title:"Test email",type:"notification"})}}),S.success(t("notification.email.testSuccess"))}catch(y){S.error(y.message||t("notification.email.testfailed"))}}),A=u((r,g)=>{l.testReceiver="",l.testReceiverError="",d.open({title:t("notification.email.testSendEmail"),content:()=>e.jsx(R,{sx:{width:"300px"},children:e.jsx(x,{sx:{mt:1},fullWidth:!0,name:"testReceiver",label:t("notification.email.inputTestReceiver"),value:l.testReceiver,onChange:E=>{l.testReceiver=E.target.value},error:!!l.testReceiverError,helperText:l.testReceiverError||" "})}),confirmButtonText:t("common.confirm"),cancelButtonText:t("common.cancel"),async onConfirm(E){const y=l.testReceiver?.trim();if(!y){l.testReceiverError=t("notification.email.receiverRequired");return}if(!M(y)){l.testReceiverError=t("notification.email.receiverInvalid");return}l.testReceiverError="",await W(r,g,y),E()}})}),F=u(r=>{const g=r?.trim();return g?M(g)?!0:t("notification.email.fromInvalid"):t("notification.email.fromRequired")}),L=u(r=>{const g=r?.trim();return g?V(g,{require_host:!1,protocols:[]})?!0:t("notification.email.hostInvalid"):t("notification.email.hostRequired")}),o=u(r=>r?ke(r)?!0:t("notification.email.portInvalid"):t("notification.email.portRequired")),T=u(r=>r?.trim()?!0:t("notification.email.userRequired")),v=u(r=>r?.trim()?!0:t("notification.email.passwordRequired")),w=u(r=>r?.trim()&&!V(r,{protocols:["http","https"],require_protocol:!0})?t("notification.email.linkInvalid"):!0),I=u(r=>r?.trim()&&!M(r)?t("notification.email.emailInvalid"):!0),j=u(()=>!0);return e.jsxs(R,{children:[e.jsxs(Pe,{component:"form",onSubmit:k(C),disabled:!0,sx:{".section-left":{width:"160px"}},children:[e.jsx(h,{title:t("notification.email.enable"),my:2.5,children:e.jsx(m,{name:"enabled",control:n,render:({field:r})=>e.jsx(H,{control:e.jsx($,{checked:r.value,...r})})})}),e.jsx(h,{title:t("notification.email.from"),children:e.jsx(m,{name:"from",control:n,rules:{validate:a?F:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,label:t("notification.email.from"),error:!!i.errors[r.name],helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.host"),children:e.jsx(m,{name:"host",control:n,rules:{validate:a?L:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,error:!!i.errors[r.name],label:t("notification.email.host"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.port"),children:e.jsx(m,{name:"port",control:n,rules:{validate:a?o:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,type:"number",error:!!i.errors[r.name],label:t("notification.email.port"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.user"),children:e.jsx(m,{name:"user",control:n,rules:{validate:a?T:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,error:!!i.errors[r.name],label:t("notification.email.user"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.password"),children:e.jsx(m,{name:"password",control:n,rules:{validate:a?v:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,type:"password",error:!!i.errors[r.name],label:t("notification.email.password"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.secure"),children:e.jsx(m,{name:"secure",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(H,{control:e.jsx($,{checked:r.value,...r,disabled:!a})})})})}),e.jsxs(je,{children:[e.jsxs(be,{expandIcon:e.jsx(ge,{fontSize:"small"}),"aria-controls":"panel1-content",id:"panel1-header",children:[t("notification.email.signature"),e.jsx(de,{title:t("notification.email.signatureTooltip"),children:e.jsx(Re,{fontSize:"small",sx:{ml:1,cursor:"help"}})})]}),e.jsxs(ye,{children:[e.jsx(h,{title:t("notification.email.companyName"),children:e.jsx(m,{name:"companyName",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyName"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.companyLink"),children:e.jsx(m,{name:"companyLink",control:n,rules:{validate:a?w:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyLink"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.companyAddress"),children:e.jsx(m,{name:"companyAddress",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyAddress"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.supportEmail"),children:e.jsx(m,{name:"supportEmail",control:n,rules:{validate:a?I:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",type:"email",error:!!i.errors[r.name],label:t("notification.email.supportEmail"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})})]})]}),e.jsxs(R,{sx:{display:"flex",justifyContent:"flex-end",gap:2,mt:3},children:[e.jsx(N,{variant:"outlined",color:"warning",onClick:k(A),disabled:!a,children:t("oauth.runTest")}),e.jsx(N,{type:"submit",variant:"contained",disabled:!i.isDirty,children:t("oauth.save")})]})]}),b]})}const Pe=ie(ne)``,D={enabled:!1,endpoint:"",did:void 0,pushPath:void 0};function _e(){const{api:c}=Y(),{blocklet:s}=ae(),{t}=Z(),{confirmApi:d,confirmHolder:b}=ee(),f=s?.meta?.did,P=Object.assign({...D},s?.settings?.notification?.pushKit||{}),{handleSubmit:k,control:n,formState:i,watch:_,reset:q}=se({defaultValues:te(P,Object.keys(D))}),l=re({testReceiver:"",testReceiverError:""}),a=_("enabled"),C=u(async(o,T,v=!0)=>{try{const{blocklet:w}=await c.configNotification({input:{did:f,notification:JSON.stringify({pushKit:o})}}),I=Object.assign({...D},w?.settings?.notification?.pushKit||{});q(I),v&&S.success(t("oauth.saveSuccess"))}catch(w){if(v)S.error(w.message||t("oauth.saveFailed"));else throw w}}),W=u(async(o,T)=>{try{i.isDirty&&await C(o,T,!1);const v=(s?.configs||[]).find(j=>j.key==="BLOCKLET_APP_URL")?.value,w=me(fe(v,he.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo"),{v:s?.meta?.version,t:new Date(s?.updatedAt||0).getTime()}),I={type:"passthrough",passthroughType:"messageStatus",data:{message:{title:"Test push-kit notification",body:"This is message from push-kit config test",sender:{did:s?.appDid,fullName:s?.meta?.title,avatar:w}}}};await c.sendPush({input:{did:f,receiver:l.testReceiver,notification:JSON.stringify(I)}}),S.success(t("notification.pushKit.testSuccess"))}catch(v){S.error(v.message||t("notification.pushKit.testfailed"))}}),A=u((o,T)=>{l.testReceiverError="",d.open({title:t("notification.pushKit.testSend"),content:()=>e.jsx(R,{sx:{width:"450px",maxWidth:"100%"},children:e.jsx(x,{sx:{mt:1},fullWidth:!0,name:"testReceiver",label:t("notification.pushKit.inputTestReceiver"),value:l.testReceiver,onChange:v=>{l.testReceiver=v.target.value},error:!!l.testReceiverError,helperText:l.testReceiverError||" "})}),confirmButtonText:t("common.confirm"),cancelButtonText:t("common.cancel"),async onConfirm(v){if(!l.testReceiver?.trim()){l.testReceiverError=t("notification.pushKit.receiverRequired");return}l.testReceiverError="",await W(o,T),v()}})}),F=u(o=>{const T=o?.trim();return T?V(T)?!0:t("notification.pushKit.endpointInvalid"):t("notification.pushKit.endpointRequired")}),L=u(()=>!0);return e.jsxs(R,{children:[e.jsxs(qe,{component:"form",onSubmit:k(C),disabled:!0,sx:{".section-left":{width:"160px"}},children:[e.jsx(h,{title:t("notification.pushKit.enable"),my:2.5,children:e.jsx(m,{name:"enabled",control:n,render:({field:o})=>e.jsx(H,{control:e.jsx($,{checked:o.value,...o})})})}),e.jsx(h,{title:t("notification.pushKit.endpoint"),children:e.jsx(m,{name:"endpoint",control:n,rules:{validate:a?F:L},render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",required:!0,label:t("notification.pushKit.endpoint"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})})}),e.jsxs(h,{title:t("notification.pushKit.customOptions"),children:[e.jsx(m,{name:"did",control:n,render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",label:t("notification.pushKit.did"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})}),e.jsx(m,{name:"pushPath",control:n,render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",label:t("notification.pushKit.pushPath"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})})]}),e.jsxs(R,{sx:{display:"flex",justifyContent:"flex-end",gap:2,mt:3},children:[e.jsx(N,{variant:"outlined",color:"warning",onClick:k(A),disabled:!a,children:t("oauth.runTest")}),e.jsx(N,{type:"submit",variant:"contained",disabled:!i.isDirty,children:t("oauth.save")})]})]}),b]})}const qe=ie(ne)``,X=[{label:e.jsx(R,{sx:{textAlign:"center",width:"100%"},children:"Email"}),value:"email"},{label:e.jsx(R,{sx:{textAlign:"center",width:"100%"},children:"Push Kit"}),value:"pushKit"}];function Ae(){const[c,s]=U.useState(X[0].value),{locale:t}=U.useContext(xe),d=pe(()=>({email:e.jsx(Ce,{}),pushKit:e.jsx(_e,{})}),[t]),b=U.useMemo(()=>({padding:"10px 0"}),[]);return e.jsxs(R,{children:[e.jsx(ve,{tabs:X,current:c,onChange:s}),e.jsx(R,{style:b,children:d[c]})]})}export{Ae as B};
@@ -1,4 +1,4 @@
1
- import{ak as ee,A as T,r as f,a as te,b as se,m as S,u as j,x as oe,aw as A,J as F,j as t,w as q,ax as re,T as R,y as k,$,o as m,ay as ne,az as ae,v as _,C as N,aA as ie,H as O,Y as W,aB as le,aC as ce,N as B,aD as ue,E as de,L as pe,aE as he,aa as fe,s as M,a7 as me,a8 as ge,aF as xe,a9 as be}from"./index-OdvXHPqT.js";import{u as L}from"./useLocalStorage-BRX7xEeE.js";import{C as ke,c as ye,e as Se,_ as je,a as we,d as ve,s as Pe,S as z,b as Re,A as Ce}from"./item-D5nrOHxx.js";import{e as D}from"./engine-Cere5Eel.js";import{g as U}from"./get-safe-url-DG3hbVuw.js";import{P as V}from"./permission-CUvNs2Zv.js";import{A as Le}from"./ArrowDropDown-CPMzkOwU.js";import{B as Ee}from"./Breadcrumbs-BcwyHALS.js";import"./Verified-DFAnifny.js";import"./ChevronLeft-Mrf8wNcO.js";import"./ChevronRight-CgNj8oK3.js";import"./Search-2a28Zd0Q.js";import"./index-BShBVqEp.js";import"./blocklet-BwXw89V1.js";import"./Autocomplete-BnpjHbVI.js";import"./ListSubheader-B_qXJClL.js";import"./VerifiedUser-BFvcT9A-.js";import"./Add-CTkKWsbA.js";import"./Launch-C31ynKKh.js";import"./Done-B-4ttL5E.js";import"./DeleteOutline-BXGUPwfv.js";import"./delete-confirm-BBlDevSj.js";import"./click-to-copy-mqyEDC5n.js";import"./MoreVert-Bg7SRP_I.js";import"./ButtonGroup-B8CEk0Fm.js";import"./getValidReactChildren-UBZRExQI.js";function De(e){const n=ee(),l=T(),[s,r]=L(`sid:blocklet:purchase:${e}`),[i,c]=f.useState(!1),[u,a]=f.useState(null),d=()=>{const{pathname:o,searchParams:g}=new URL(window.location.href),x=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";g.get("sid")&&(r(""),l(o.replace(x,"/"),{replace:!0}))},p=!!(n.get("assetDid")&&s&&n.get("sid")===s);return te(se.BlockletEvents.purchaseChange,o=>{o.did===e&&(a(o.session),["declined","confirmed","error"].includes(o.session.status)&&(c(!0),setTimeout(d,2e3)))}),f.useEffect(()=>{u&&u.id!==s&&r(u.id)},[u]),{hasCompleted:i,hasPurchased:p,session:u,setSession:a,doRedirect:d}}function Be(e){setTimeout(()=>{window.location.href=U(e,{allowDomains:null})},1e3)}function H({meta:e,onCancel:n,handlePaySuccess:l=Be,storeUrl:s}){const{t:r}=S(),{info:i}=j(),[c,u]=f.useState("both"),[a,d]=f.useState(1),p=oe(i),o=A(e,i,s),g=P=>{P!==c&&u(P)},x=()=>{c&&(d(2),c==="verify"&&(window.location.href=U(o)))},w=(P,E)=>{E!=="backdropClick"&&n()},b=()=>{l(o)},h=F.getDisplayName({meta:e});if(c==="purchase"&&a===2)return t.jsx(q,{open:!0,popup:!0,baseUrl:s,action:"acquire-asset",checkFn:re.create({baseURL:k(s,"/store")}).get,onSuccess:b,onClose:n,checkTimeout:60*5e3,extraParams:{factory:e.nftFactory},webWalletUrl:p,disableClose:!0,saveConnect:!1,showDownload:!1,messages:{title:r("store.purchase.auth.title",{name:h}),scan:r("store.purchase.auth.scan"),confirm:r("store.purchase.auth.confirm"),success:t.jsxs(t.Fragment,{children:[t.jsx(R,{gutterBottom:!0,children:r("store.purchase.auth.success")}),t.jsxs(R,{variant:"subtitle2",children:[" ",r("store.purchase.autoLaunch",{name:h})]})]})}});const v=$;return t.jsx(v,{title:r("store.purchase.title",{name:h}),disableEscapeKeyDown:!0,open:!0,fullWidth:!0,onClose:w,children:t.jsx("div",{style:{marginBottom:16},children:t.jsx(ke,{action:c,onNext:x,onSelect:g})})})}H.propTypes={...ye,storeUrl:m.string.isRequired,handlePaySuccess:m.func};function K({meta:e,buttonText:n,storeUrl:l,isResource:s=!1}){const{t:r}=S(),i=T(),{info:c}=j(),{api:u}=ne(),a=F.isFreeBlocklet(e)===!1,[d,p]=f.useState(!1),{hasPurchased:o}=De(e.did),[g,x]=f.useState(!1),[w]=L("instant-blocklet-install",!1),[b,h]=f.useState(!1),v=f.useMemo(()=>d?r(a?"blocklet.status.purchasing":"blocklet.status.waiting"):"",[d,r,a]),P=f.useMemo(()=>s?r("blocklet.status.resource"):a?n.purchase:n.launch,[a,n,s]),E=y=>{y.preventDefault(),y.stopPropagation();try{if(p(!0),a){x(!0);return}if(w){h(!0);return}if(!a){const C=A(e,c,l);window.location.href=U(C)}}catch(C){O.error(W(C),{autoHideDuration:5e3}),console.error("Blocklet installed failed",C)}finally{p(!1)}},Q=()=>{p(!1),x(!1)},X=y=>{p(!1),h(!1),i(`/blocklets/${y.appDid}/components`)},Z=()=>{p(!1),h(!1)};return t.jsxs(t.Fragment,{children:[t.jsx(Se,{children:t.jsx(V,{permission:"mutate_blocklets",children:y=>t.jsx(ae,{title:s?r("launchBlocklet.error.resourceBlocklet"):"",children:t.jsx(_,{onClick:E,size:"small",sx:{cursor:s?"not-allowed":"pointer",overflow:"hidden"},disabled:!!(v||!y),variant:"outlined",color:"primary","data-cy":"install-blocklet",children:v?t.jsxs(t.Fragment,{children:[t.jsx(N,{size:16,style:{marginRight:3}}),v]}):P},e.did)})})}),(o||g)&&t.jsx(H,{method:"launch",meta:e,mode:"both",onCancel:Q,storeUrl:l}),b&&t.jsx(q,{popup:!0,open:!0,forceConnected:!1,className:"launch-from-url-auth",action:"launch-free-blocklet-by-session",checkFn:u.get,checkTimeout:5*60*1e3,onSuccess:X,extraParams:{title:e.title,blockletMetaUrl:decodeURIComponent(ie(l,e.did).trim())},messages:{title:r("setup.keyPair.title"),scan:r("setup.keyPair.scan"),confirm:r("setup.keyPair.confirm"),success:r("setup.keyPair.success")},onClose:Z})]})}K.propTypes={isResource:m.bool,meta:m.object.isRequired,buttonText:m.shape({purchase:m.string.isRequired,launch:m.string.isRequired}).isRequired,storeUrl:m.string.isRequired};const Ue=(e,n,l)=>{const s=fe(n);return k(l,`/blocklets/${e.did}/?server-url=${s}`)},I=({meta:e,attribute:n,value:l})=>e._formatted?e._formatted[n]:l,Ie=(e,n)=>{if(!e||!n)return"";try{return k(n,e)}catch(l){return console.warn("Failed to construct avatar URL:",l),""}};function G({blocklet:e,endpoint:n="",serverVersion:l=""}){const{t:s}=S(),r=j();let i=k(r.imgPrefix,"blocklet.png");const c=n;if(c.startsWith("http")&&e.logo)i=k(c,ue(e.did,e.logo,e.version));else{let g=(window.env.apiPrefix||"/").replace(/^\/+/,"").replace(/\/+$/,"");g&&(g=`/${g}`),i=k(g,`/blocklet/logo/${e.did}`)}try{const o=new URL(i);o.searchParams.set("v",e.version||+new Date),i=o.href}catch{}const u=r?.info.mode!==de.NODE_MODES.SERVERLESS,a=o=>o.currentTarget.contains(o.target)?!0:(o.preventDefault(),!1),d={meta:e,buttonText:{purchase:s("common.purchase"),launch:s("common.launch")},storeUrl:c};let p=null;return u&&(p=t.jsx("div",{style:{display:"flex",alignItems:"center"},children:t.jsx(we,{serverVersion:l,requirementVersion:e.requirements?.server,size:"small",children:t.jsx(K,{isResource:!(D.hasStartEngine(e)||D.isGatewayBlocklet(e)||D.isPackBlocklet(e)),...d})})})),t.jsx(pe,{href:Ue(e,r.info,n),style:{color:"initial",textDecoration:"none"},onClick:a,target:"_blank",children:t.jsx(Te,{title:I({meta:e,attribute:"title",value:e.title||e.name}),did:e.did,description:I({meta:e,attribute:"description",value:e.description}),cover:e.logo?i:"",version:e.version,onButtonClick:null,icons:e.docker?.image?[{key:"docker",icon:t.jsx(B,{sx:{display:"flex",color:"primary.main"},children:t.jsx(he,{icon:ve})}),title:s("blocklet.dockerImage")}]:[],official:e.isOfficial?{tooltip:s("blocklet.component.isOfficial")}:void 0,author:e.owner.fullName,avatar:Ie(e.owner.avatar,n),download:e.stats.downloads,button:p})})}G.propTypes={blocklet:m.object.isRequired,serverVersion:m.string,endpoint:m.string};function Y({storeUrl:e,handleSearchSelect:n=null,extraFilter:l=void 0,...s}){const{locale:r}=S(),i=j(),[c,u]=f.useState({}),a=o=>{u(o)},d=e,p=i?.info?.version;return f.useEffect(()=>{u({})},[d]),t.jsx(le,{FallbackComponent:ce,resetKeys:[d],children:t.jsx(B,{...s,sx:{"& .title-bar":{pt:0},".blocklet-list":{mt:0},"& h2":{display:"none"}},children:t.jsx(je,{layout:{showExplore:!1,showTitle:!0},blockletRender:o=>t.jsx(G,{...o,endpoint:d}),baseSearch:!0,endpoint:d,locale:r,onFilterChange:a,onSearchSelect:n,filters:c,extraFilter:l,serverVersion:p})})})}Y.propTypes={storeUrl:m.string.isRequired,handleSearchSelect:m.func,extraFilter:m.func};const Te=M(Pe)`
1
+ import{ak as ee,A as T,r as f,a as te,b as se,m as S,u as j,x as oe,aw as A,J as F,j as t,w as q,ax as re,T as R,y as k,$,o as m,ay as ne,az as ae,v as _,C as N,aA as ie,H as O,Y as W,aB as le,aC as ce,N as B,aD as ue,E as de,L as pe,aE as he,aa as fe,s as M,a7 as me,a8 as ge,aF as xe,a9 as be}from"./index-BvAtsQd5.js";import{u as L}from"./useLocalStorage-bjVpdIUp.js";import{C as ke,c as ye,e as Se,_ as je,a as we,d as ve,s as Pe,S as z,b as Re,A as Ce}from"./item-Bg87F2Pj.js";import{e as D}from"./engine-0m3b2g2H.js";import{g as U}from"./get-safe-url-CMpu7B-v.js";import{P as V}from"./permission-EJYXw2v1.js";import{A as Le}from"./ArrowDropDown-wCDjkm6N.js";import{B as Ee}from"./Breadcrumbs-BWQdjcIC.js";import"./Verified-CfeEGfMV.js";import"./ChevronLeft-T8dPGT4o.js";import"./ChevronRight-BmNY6NuE.js";import"./Search-BvWmcM2k.js";import"./index-CB69gPUu.js";import"./blocklet-DISJHp6B.js";import"./Autocomplete-C06SKe4H.js";import"./ListSubheader-CtIfn5EF.js";import"./VerifiedUser-BBYo9Pc2.js";import"./Add-CobzoIKJ.js";import"./Launch-L3zM7z2U.js";import"./Done-DQFntFgi.js";import"./DeleteOutline-BRh_jEgm.js";import"./delete-confirm-B_vil0gb.js";import"./click-to-copy-DX5jjk2s.js";import"./MoreVert-DH4Y2k9h.js";import"./ButtonGroup-D2nbA04k.js";import"./getValidReactChildren-CFOO2Xyb.js";function De(e){const n=ee(),l=T(),[s,r]=L(`sid:blocklet:purchase:${e}`),[i,c]=f.useState(!1),[u,a]=f.useState(null),d=()=>{const{pathname:o,searchParams:g}=new URL(window.location.href),x=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";g.get("sid")&&(r(""),l(o.replace(x,"/"),{replace:!0}))},p=!!(n.get("assetDid")&&s&&n.get("sid")===s);return te(se.BlockletEvents.purchaseChange,o=>{o.did===e&&(a(o.session),["declined","confirmed","error"].includes(o.session.status)&&(c(!0),setTimeout(d,2e3)))}),f.useEffect(()=>{u&&u.id!==s&&r(u.id)},[u]),{hasCompleted:i,hasPurchased:p,session:u,setSession:a,doRedirect:d}}function Be(e){setTimeout(()=>{window.location.href=U(e,{allowDomains:null})},1e3)}function H({meta:e,onCancel:n,handlePaySuccess:l=Be,storeUrl:s}){const{t:r}=S(),{info:i}=j(),[c,u]=f.useState("both"),[a,d]=f.useState(1),p=oe(i),o=A(e,i,s),g=P=>{P!==c&&u(P)},x=()=>{c&&(d(2),c==="verify"&&(window.location.href=U(o)))},w=(P,E)=>{E!=="backdropClick"&&n()},b=()=>{l(o)},h=F.getDisplayName({meta:e});if(c==="purchase"&&a===2)return t.jsx(q,{open:!0,popup:!0,baseUrl:s,action:"acquire-asset",checkFn:re.create({baseURL:k(s,"/store")}).get,onSuccess:b,onClose:n,checkTimeout:60*5e3,extraParams:{factory:e.nftFactory},webWalletUrl:p,disableClose:!0,saveConnect:!1,showDownload:!1,messages:{title:r("store.purchase.auth.title",{name:h}),scan:r("store.purchase.auth.scan"),confirm:r("store.purchase.auth.confirm"),success:t.jsxs(t.Fragment,{children:[t.jsx(R,{gutterBottom:!0,children:r("store.purchase.auth.success")}),t.jsxs(R,{variant:"subtitle2",children:[" ",r("store.purchase.autoLaunch",{name:h})]})]})}});const v=$;return t.jsx(v,{title:r("store.purchase.title",{name:h}),disableEscapeKeyDown:!0,open:!0,fullWidth:!0,onClose:w,children:t.jsx("div",{style:{marginBottom:16},children:t.jsx(ke,{action:c,onNext:x,onSelect:g})})})}H.propTypes={...ye,storeUrl:m.string.isRequired,handlePaySuccess:m.func};function K({meta:e,buttonText:n,storeUrl:l,isResource:s=!1}){const{t:r}=S(),i=T(),{info:c}=j(),{api:u}=ne(),a=F.isFreeBlocklet(e)===!1,[d,p]=f.useState(!1),{hasPurchased:o}=De(e.did),[g,x]=f.useState(!1),[w]=L("instant-blocklet-install",!1),[b,h]=f.useState(!1),v=f.useMemo(()=>d?r(a?"blocklet.status.purchasing":"blocklet.status.waiting"):"",[d,r,a]),P=f.useMemo(()=>s?r("blocklet.status.resource"):a?n.purchase:n.launch,[a,n,s]),E=y=>{y.preventDefault(),y.stopPropagation();try{if(p(!0),a){x(!0);return}if(w){h(!0);return}if(!a){const C=A(e,c,l);window.location.href=U(C)}}catch(C){O.error(W(C),{autoHideDuration:5e3}),console.error("Blocklet installed failed",C)}finally{p(!1)}},Q=()=>{p(!1),x(!1)},X=y=>{p(!1),h(!1),i(`/blocklets/${y.appDid}/components`)},Z=()=>{p(!1),h(!1)};return t.jsxs(t.Fragment,{children:[t.jsx(Se,{children:t.jsx(V,{permission:"mutate_blocklets",children:y=>t.jsx(ae,{title:s?r("launchBlocklet.error.resourceBlocklet"):"",children:t.jsx(_,{onClick:E,size:"small",sx:{cursor:s?"not-allowed":"pointer",overflow:"hidden"},disabled:!!(v||!y),variant:"outlined",color:"primary","data-cy":"install-blocklet",children:v?t.jsxs(t.Fragment,{children:[t.jsx(N,{size:16,style:{marginRight:3}}),v]}):P},e.did)})})}),(o||g)&&t.jsx(H,{method:"launch",meta:e,mode:"both",onCancel:Q,storeUrl:l}),b&&t.jsx(q,{popup:!0,open:!0,forceConnected:!1,className:"launch-from-url-auth",action:"launch-free-blocklet-by-session",checkFn:u.get,checkTimeout:5*60*1e3,onSuccess:X,extraParams:{title:e.title,blockletMetaUrl:decodeURIComponent(ie(l,e.did).trim())},messages:{title:r("setup.keyPair.title"),scan:r("setup.keyPair.scan"),confirm:r("setup.keyPair.confirm"),success:r("setup.keyPair.success")},onClose:Z})]})}K.propTypes={isResource:m.bool,meta:m.object.isRequired,buttonText:m.shape({purchase:m.string.isRequired,launch:m.string.isRequired}).isRequired,storeUrl:m.string.isRequired};const Ue=(e,n,l)=>{const s=fe(n);return k(l,`/blocklets/${e.did}/?server-url=${s}`)},I=({meta:e,attribute:n,value:l})=>e._formatted?e._formatted[n]:l,Ie=(e,n)=>{if(!e||!n)return"";try{return k(n,e)}catch(l){return console.warn("Failed to construct avatar URL:",l),""}};function G({blocklet:e,endpoint:n="",serverVersion:l=""}){const{t:s}=S(),r=j();let i=k(r.imgPrefix,"blocklet.png");const c=n;if(c.startsWith("http")&&e.logo)i=k(c,ue(e.did,e.logo,e.version));else{let g=(window.env.apiPrefix||"/").replace(/^\/+/,"").replace(/\/+$/,"");g&&(g=`/${g}`),i=k(g,`/blocklet/logo/${e.did}`)}try{const o=new URL(i);o.searchParams.set("v",e.version||+new Date),i=o.href}catch{}const u=r?.info.mode!==de.NODE_MODES.SERVERLESS,a=o=>o.currentTarget.contains(o.target)?!0:(o.preventDefault(),!1),d={meta:e,buttonText:{purchase:s("common.purchase"),launch:s("common.launch")},storeUrl:c};let p=null;return u&&(p=t.jsx("div",{style:{display:"flex",alignItems:"center"},children:t.jsx(we,{serverVersion:l,requirementVersion:e.requirements?.server,size:"small",children:t.jsx(K,{isResource:!(D.hasStartEngine(e)||D.isGatewayBlocklet(e)||D.isPackBlocklet(e)),...d})})})),t.jsx(pe,{href:Ue(e,r.info,n),style:{color:"initial",textDecoration:"none"},onClick:a,target:"_blank",children:t.jsx(Te,{title:I({meta:e,attribute:"title",value:e.title||e.name}),did:e.did,description:I({meta:e,attribute:"description",value:e.description}),cover:e.logo?i:"",version:e.version,onButtonClick:null,icons:e.docker?.image?[{key:"docker",icon:t.jsx(B,{sx:{display:"flex",color:"primary.main"},children:t.jsx(he,{icon:ve})}),title:s("blocklet.dockerImage")}]:[],official:e.isOfficial?{tooltip:s("blocklet.component.isOfficial")}:void 0,author:e.owner.fullName,avatar:Ie(e.owner.avatar,n),download:e.stats.downloads,button:p})})}G.propTypes={blocklet:m.object.isRequired,serverVersion:m.string,endpoint:m.string};function Y({storeUrl:e,handleSearchSelect:n=null,extraFilter:l=void 0,...s}){const{locale:r}=S(),i=j(),[c,u]=f.useState({}),a=o=>{u(o)},d=e,p=i?.info?.version;return f.useEffect(()=>{u({})},[d]),t.jsx(le,{FallbackComponent:ce,resetKeys:[d],children:t.jsx(B,{...s,sx:{"& .title-bar":{pt:0},".blocklet-list":{mt:0},"& h2":{display:"none"}},children:t.jsx(je,{layout:{showExplore:!1,showTitle:!0},blockletRender:o=>t.jsx(G,{...o,endpoint:d}),baseSearch:!0,endpoint:d,locale:r,onFilterChange:a,onSearchSelect:n,filters:c,extraFilter:l,serverVersion:p})})})}Y.propTypes={storeUrl:m.string.isRequired,handleSearchSelect:m.func,extraFilter:m.func};const Te=M(Pe)`
2
2
  .ms-highlight {
3
3
  color: ${e=>e.theme.palette.primary.main};
4
4
  }