@abtnode/blocklet-services 1.16.44-beta-20250528-003415-7a5e5d90 → 1.16.44-beta-20250529-004636-15e80e20
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.
- package/api/middlewares/proxy-to-daemon.js +2 -1
- package/api/routes/env.js +5 -0
- package/dist/assets/{AdapterDayjs-gCvKcGfu.js → AdapterDayjs-CDDcwz3P.js} +1 -1
- package/dist/assets/{ArrowDropDown-D32FY-Mt.js → ArrowDropDown-DPqiF9Rw.js} +1 -1
- package/dist/assets/{CheckCircle-BBSSDlcc.js → CheckCircle-Caqp5gKY.js} +1 -1
- package/dist/assets/{ChevronLeft-CF24ouxR.js → ChevronLeft-DONyUbIg.js} +1 -1
- package/dist/assets/{ChevronRight-DA9t_C-l.js → ChevronRight-DgAwWLdY.js} +1 -1
- package/dist/assets/{DeleteOutline-CzIOFoFP.js → DeleteOutline-DpNyWtNL.js} +1 -1
- package/dist/assets/{Done-MQdb8YLa.js → Done-BTd13H2U.js} +1 -1
- package/dist/assets/{Download-IxxF4Ujs.js → Download-Bm8sKXA2.js} +1 -1
- package/dist/assets/{Edit-DSht16TX.js → Edit-CUl1Rt8i.js} +1 -1
- package/dist/assets/{Error-CkoCqY66.js → Error-DEKvwVoF.js} +1 -1
- package/dist/assets/{ExpandLess-CudE_1oQ.js → ExpandLess-t1cH-Bc4.js} +1 -1
- package/dist/assets/{Google-AZBuQJFI.js → Google-Bn3zPWiu.js} +1 -1
- package/dist/assets/{Home-BaA3V3I7.js → Home-C3ax1tQ7.js} +1 -1
- package/dist/assets/{InfoOutlined-Cd28U1Oc.js → InfoOutlined-D3XnF0Vg.js} +1 -1
- package/dist/assets/{Launch-Ddo_WSQI.js → Launch-Dz9mQnYC.js} +1 -1
- package/dist/assets/{LaunchOutlined-CO4dugwH.js → LaunchOutlined-E7HcQu_6.js} +1 -1
- package/dist/assets/{MoreHoriz-D-L8sA4c.js → MoreHoriz-DpKn_fkc.js} +1 -1
- package/dist/assets/{PlayArrow-CLKgdv6H.js → PlayArrow-CDOOUxMp.js} +1 -1
- package/dist/assets/{TuneOutlined-BWqIZK2m.js → TuneOutlined-D0gGDoIJ.js} +1 -1
- package/dist/assets/{ViewList-DWudZTBg.js → ViewList-C8G9e3ft.js} +1 -1
- package/dist/assets/{access-control-DlT-JQML.js → access-control-eEjmzQYf.js} +1 -1
- package/dist/assets/{actions-azdiYocL.js → actions-DP7pj6xB.js} +1 -1
- package/dist/assets/{add-component-core-Cm8Y0zkt.js → add-component-core-pJP41zEE.js} +1 -1
- package/dist/assets/{add-resource-CVCoahx_.js → add-resource-CZeL421l.js} +1 -1
- package/dist/assets/{addon-3ZMGwARO.js → addon-CRj4Enw7.js} +1 -1
- package/dist/assets/{advanced-Nvg1CqJg.js → advanced-P0pT0XgG.js} +3 -3
- package/dist/assets/appearance-DeIbdwlo.js +1 -0
- package/dist/assets/{ar-T0OvMFDJ.js → ar-CSZJf27k.js} +1 -1
- package/dist/assets/{audit-logs-BPjUleS-.js → audit-logs-DdN0-QQr.js} +1 -1
- package/dist/assets/authorize-C_rSdM9R.js +1 -0
- package/dist/assets/{base32-CLrnUJal.js → base32-WurN0cIW.js} +1 -1
- package/dist/assets/{branding-B8r8EJ2R.js → branding-C6umqmKR.js} +2 -2
- package/dist/assets/{branding-Cr4GBUXi.js → branding-HedBd6t0.js} +1 -1
- package/dist/assets/{bundle-avatar-Br48PGS5.js → bundle-avatar-B9he3Bf1.js} +1 -1
- package/dist/assets/{button-8G90WP8a.js → button-_1HExv7r.js} +1 -1
- package/dist/assets/{click-to-copy-ByEMWZD_.js → click-to-copy-R7MF4AwY.js} +1 -1
- package/dist/assets/{collapse-Cliwxlbv.js → collapse-l9wHY9gJ.js} +1 -1
- package/dist/assets/{complete-CzlLydJT.js → complete-D7dveRTo.js} +1 -1
- package/dist/assets/{component-5_wmVxpp.js → component-cssFwqtY.js} +1 -1
- package/dist/assets/{config-BnObxTpi.js → config-Cd14MJHa.js} +1 -1
- package/dist/assets/{config-emhMgKqq.js → config-eQ2Et0RC.js} +1 -1
- package/dist/assets/{config-navigation-DbyhYIMw.js → config-navigation-0pU9J0da.js} +3 -3
- package/dist/assets/{config-space-TsP5osn9.js → config-space-CQ7Atb1l.js} +1 -1
- package/dist/assets/{confirm-DI8TUyRK.js → confirm-Tue92P8p.js} +1 -1
- package/dist/assets/{connect-D55qWQWC.js → connect-Cm-sTMiW.js} +1 -1
- package/dist/assets/{connect-B_BnGQjp.js → connect-PdQoyrqe.js} +1 -1
- package/dist/assets/{connect-to-DzPwhREN.js → connect-to-FvVJBIsZ.js} +1 -1
- package/dist/assets/{dashboard-AdC8-kkA.js → dashboard-BhR1WNzF.js} +3 -3
- package/dist/assets/{de-WYW4JJdA.js → de-C-F2uwju.js} +1 -1
- package/dist/assets/de-CA1MfHz7.js +1 -0
- package/dist/assets/{delete-confirm-Bn1HZjaL.js → delete-confirm-CHnQ2leb.js} +1 -1
- package/dist/assets/{did-address-BlAXR08O.js → did-address-Dq-4__HB.js} +1 -1
- package/dist/assets/{domain-Cod_zL8_.js → domain-FY9-unAU.js} +1 -1
- package/dist/assets/{domain-action-card-C4FpSn67.js → domain-action-card-Jvzi8kyL.js} +1 -1
- package/dist/assets/domains-CiBZW8yk.js +1 -0
- package/dist/assets/{email-CqVIYJc4.js → email-z4l1k3Mi.js} +1 -1
- package/dist/assets/{es-DaHPJdAX.js → es-B2TJqtV4.js} +1 -1
- package/dist/assets/{es-B6GuFK3b.js → es-CXgvF2gS.js} +1 -1
- package/dist/assets/{exchange-passport-C-hTCqg0.js → exchange-passport-DSoEjAA_.js} +1 -1
- package/dist/assets/fr-CzO5Th4h.js +1 -0
- package/dist/assets/{fr-Sdn9hi8k.js → fr-DN38boH3.js} +1 -1
- package/dist/assets/{fuel-M5L6Wmxz.js → fuel-CzrPInoR.js} +1 -1
- package/dist/assets/{gen-access-key-D6jr4e_G.js → gen-access-key-BU2nGVgA.js} +1 -1
- package/dist/assets/{get-safe-url-CRv5HbAK.js → get-safe-url-Q70tRxL7.js} +1 -1
- package/dist/assets/{get-safe-url-DrR-6D-i.js → get-safe-url-c4iAcpvA.js} +1 -1
- package/dist/assets/{hi-dJuR0lt2.js → hi-5tixPGqk.js} +1 -1
- package/dist/assets/hi-lZ18vyMl.js +1 -0
- package/dist/assets/{home-C7e6Ftxj.js → home-BZ8WpcWZ.js} +1 -1
- package/dist/assets/{id-DuYS34H0.js → id-CIDM1ypY.js} +1 -1
- package/dist/assets/id-QM66qYoI.js +1 -0
- package/dist/assets/{iframe-DSG-Hd99.js → iframe-Dl8NEFc5.js} +1 -1
- package/dist/assets/{index-C4vmLohg.js → index-5EytSaVA.js} +1 -1
- package/dist/assets/{index-BJHSgjnI.js → index-BKKwhjBs.js} +1 -1
- package/dist/assets/{index-DSoHmrHd.js → index-BUHyq-oP.js} +1 -1
- package/dist/assets/{index-YbYWmpAT.js → index-B_NDUfon.js} +22 -22
- package/dist/assets/{index-yvg4DpNi.js → index-C1XrZATd.js} +4 -4
- package/dist/assets/{index-BM1ZGOPs.js → index-C3le1atN.js} +2 -2
- package/dist/assets/{index-rn2nf2kX.js → index-ChHy6AQ7.js} +1 -1
- package/dist/assets/{index-AetYfL_f.js → index-D0F0qx_R.js} +1 -1
- package/dist/assets/{index-Bj2-CpPI.js → index-D1kTR2xk.js} +1 -1
- package/dist/assets/{index-bIHubQ8z.js → index-D2a97Hdb.js} +3 -3
- package/dist/assets/{index-CtLialsm.js → index-DC3jOsuk.js} +6 -6
- package/dist/assets/{index-DthGrDK3.js → index-DQD2rqsI.js} +1 -1
- package/dist/assets/{index-C2F-GVrD.js → index-DrHUHp5S.js} +1 -1
- package/dist/assets/index-DutfRO7F.js +284 -0
- package/dist/assets/{index-BFWnCQrF.js → index-I6_gMaPh.js} +1 -1
- package/dist/assets/{index-iQsPOXlb.js → index-NQMMaHuW.js} +1 -1
- package/dist/assets/{index-CEeLwMYO.js → index-P2m0RlAs.js} +1 -1
- package/dist/assets/{index-B5_fBwtl.js → index-hkk3GUEf.js} +1 -1
- package/dist/assets/{index-BUrgmCmL.js → index-klBzz5vO.js} +1 -1
- package/dist/assets/{index-BLbU4gf9.js → index-m831cH-_.js} +2 -2
- package/dist/assets/{invitation-StUiuLYU.js → invitation-CGjIZ62g.js} +1 -1
- package/dist/assets/{invite-E96eT2DF.js → invite-CS_4jRwt.js} +1 -1
- package/dist/assets/{issue-passport-DrGPTNsG.js → issue-passport-B6-OzJX7.js} +1 -1
- package/dist/assets/{item-Dgu9vLko.js → item-CuLwkmbx.js} +1 -1
- package/dist/assets/{ja-ACgKScTi.js → ja-C8AmHPMo.js} +1 -1
- package/dist/assets/{ja-Dh60q0r5.js → ja-pJLB4V2E.js} +1 -1
- package/dist/assets/{ko-CoqvBZUf.js → ko-D2NP5Ixe.js} +1 -1
- package/dist/assets/ko-xDWtmcv7.js +1 -0
- package/dist/assets/{landing-page-BOy_W1aP.js → landing-page-DrVLCVAm.js} +1 -1
- package/dist/assets/{layout-CYJJYqb_.js → layout-CNC_rrzE.js} +1 -1
- package/dist/assets/list-BNMEncjS.js +2 -0
- package/dist/assets/{list-uPz9xAWJ.js → list-BTBbj1K4.js} +1 -1
- package/dist/assets/localization-Bb0kc8SQ.js +1 -0
- package/dist/assets/{log-CzRRb9lq.js → log-29oTWiWO.js} +1 -1
- package/dist/assets/{logger-B4ZKcD6x.js → logger-BAVOmOw2.js} +1 -1
- package/dist/assets/{login-D3GnBJn4.js → login-C52vMwpY.js} +1 -1
- package/dist/assets/{login-oauth-callback-CVS9TwNM.js → login-oauth-callback-BrnNJIOK.js} +1 -1
- package/dist/assets/{logo-uploader-CbM-N8qP.js → logo-uploader-Cir_HrSm.js} +3 -3
- package/dist/assets/{lost-passport-5P2EFbv0.js → lost-passport-C2-kDXqq.js} +1 -1
- package/dist/assets/{open-window-c9TGr49M.js → open-window-Bl24RBAD.js} +1 -1
- package/dist/assets/{overview-BZRXhA-K.js → overview-BKOb0zVP.js} +1 -1
- package/dist/assets/{page-header-D_m0ANZl.js → page-header-BWqvvXOk.js} +1 -1
- package/dist/assets/{passport-item-DE-9Q-Cx.js → passport-item-OEfv-Vh7.js} +1 -1
- package/dist/assets/{permission-fpFyADH8.js → permission-DSHe73ba.js} +1 -1
- package/dist/assets/{preferences-0RYr2e_y.js → preferences-BzGNV3pM.js} +1 -1
- package/dist/assets/{profile-embed-BwbGy3El.js → profile-embed-iA-d50c3.js} +1 -1
- package/dist/assets/{pt-DCcbs0d0.js → pt-D1apbJwE.js} +1 -1
- package/dist/assets/pt-DSj10b9i.js +1 -0
- package/dist/assets/{publish-resource-CWz86TY0.js → publish-resource-DayX-x8-.js} +1 -1
- package/dist/assets/{react-beautiful-dnd.esm-G9cRB9Uf.js → react-beautiful-dnd.esm-Ck4xzwyU.js} +1 -1
- package/dist/assets/ru-BNuzbw_f.js +1 -0
- package/dist/assets/{ru-WYTV5VzH.js → ru-D2AG9Iea.js} +1 -1
- package/dist/assets/{runtime-63aIXcah.js → runtime-BbgMhX7n.js} +1 -1
- package/dist/assets/sdk-DeS3iq37.js +1 -0
- package/dist/assets/{section-BB6hVmdO.js → section-Ccxg0x_Y.js} +1 -1
- package/dist/assets/{security-YPRPQuQL.js → security-DFHcsUZl.js} +1 -1
- package/dist/assets/{session-Djj2U6sa.js → session-C_8V_o-O.js} +1 -1
- package/dist/assets/{setup-C9DGbmM7.js → setup-Do62jucF.js} +3 -3
- package/dist/assets/{spaces-fGcGlx-U.js → spaces-DApg1wzn.js} +1 -1
- package/dist/assets/{start-Cz_j6UYt.js → start-B8F850CZ.js} +1 -1
- package/dist/assets/{starting-progress-DHv9oucO.js → starting-progress-BHUTOY2b.js} +1 -1
- package/dist/assets/{status-B5ff49WY.js → status-D5JgbTyM.js} +1 -1
- package/dist/assets/{step-actions-CPiUgWLW.js → step-actions-1pM57149.js} +1 -1
- package/dist/assets/{studio-DnKLD9XD.js → studio-1mTu0Fgs.js} +1 -1
- package/dist/assets/{switch-control-DWjnOuBy.js → switch-control-CpCSorUo.js} +1 -1
- package/dist/assets/{table-tips-DEGQUNJa.js → table-tips-BfSSGl9N.js} +1 -1
- package/dist/assets/{th-Da4lMKTX.js → th-CRGgyPc5.js} +1 -1
- package/dist/assets/th-CsJSfFsn.js +1 -0
- package/dist/assets/{traffic-C262RTgV.js → traffic-Dvs1P0Re.js} +1 -1
- package/dist/assets/{transfer-CXfjw5Xg.js → transfer-bax-fMxe.js} +1 -1
- package/dist/assets/{unsubscribe-CdFXzPwR.js → unsubscribe-DwUfpwja.js} +1 -1
- package/dist/assets/{use-blocklet-logo-C_pDvfYN.js → use-blocklet-logo-BZU9LLmz.js} +1 -1
- package/dist/assets/use-server-logo-CxuMvwKh.js +1 -1
- package/dist/assets/{useLocalStorage-DO6t2PeQ.js → useLocalStorage-D6gvgmEW.js} +1 -1
- package/dist/assets/{user-center-DR1kV4iN.js → user-center-DQ_Kc4sL.js} +3 -3
- package/dist/assets/{util-Cs-QbPU0.js → util-BiCOL9ao.js} +1 -1
- package/dist/assets/{util-VM27PwRk.js → util-DMfPwzVN.js} +1 -1
- package/dist/assets/{vendor-arcblock-DuPySS9V.js → vendor-arcblock-BlrkGjK9.js} +1 -1
- package/dist/assets/{vendor-ux-did-connect-DIlRfE_S.js → vendor-ux-did-connect-2jRoUb28.js} +3 -3
- package/dist/assets/vi-Ce8JEW56.js +1 -0
- package/dist/assets/{vi-BxzaqoH9.js → vi-IIi6v-et.js} +1 -1
- package/dist/assets/wrap-locale-0GIFYj8p.js +1 -0
- package/dist/assets/{zh-Do6onry4.js → zh-DQX0RFjY.js} +1 -1
- package/dist/assets/zh-S-Nv5zr-.js +1 -0
- package/dist/assets/{zh-tw-BNgoHsYW.js → zh-tw-6n1CYpHc.js} +1 -1
- package/dist/assets/zh-tw-C-FYOTmO.js +1 -0
- package/dist/index.html +3 -3
- package/dist/service-worker.js +1 -1
- package/package.json +30 -30
- package/api/middlewares/check-admin-permission.js +0 -15
- package/dist/assets/appearance-CAsFMLaC.js +0 -1
- package/dist/assets/authorize-CdTK5Air.js +0 -1
- package/dist/assets/de-BWtUXhCw.js +0 -1
- package/dist/assets/domains-BhqtMbC1.js +0 -1
- package/dist/assets/fr-DjhyyiEi.js +0 -1
- package/dist/assets/hi-CtKbt1J4.js +0 -1
- package/dist/assets/id-CCuL3FP-.js +0 -1
- package/dist/assets/index-BJbAX71g.js +0 -284
- package/dist/assets/ko-gvJH4zFR.js +0 -1
- package/dist/assets/list-C8X2Voou.js +0 -2
- package/dist/assets/localization-CI5Q0B2F.js +0 -1
- package/dist/assets/pt-DzswFIpl.js +0 -1
- package/dist/assets/ru-EZJWVu3M.js +0 -1
- package/dist/assets/sdk-D4BoQHdn.js +0 -1
- package/dist/assets/th-Bn3Ch7SK.js +0 -1
- package/dist/assets/vi-CgnGroV4.js +0 -1
- package/dist/assets/wrap-locale-BWx2hEb7.js +0 -1
- package/dist/assets/zh-BWgwGxeZ.js +0 -1
- package/dist/assets/zh-tw-Ciod1pFs.js +0 -1
package/dist/service-worker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
try{self["workbox:core:7.0.0"]&&_()}catch{}const ue=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},fe=ue;let R=class extends Error{constructor(e,t){const n=fe(e,t);super(n),this.name=e,this.details=t}};const de=new Set,d={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},M=s=>[d.prefix,s,d.suffix].filter(e=>e&&e.length>0).join("-"),pe=s=>{for(const e of Object.keys(d))s(e)},ge={updateDetails:s=>{pe(e=>{typeof s[e]=="string"&&(d[e]=s[e])})},getGoogleAnalyticsName:s=>s||M(d.googleAnalytics),getPrecacheName:s=>s||M(d.precache),getPrefix:()=>d.prefix,getRuntimeName:s=>s||M(d.runtime),getSuffix:()=>d.suffix};function q(s,e){const t=new URL(s);for(const n of e)t.searchParams.delete(n);return t.href}async function me(s,e,t,n){const a=q(e.url,t);if(e.url===a)return s.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),i=await s.keys(e,r);for(const c of i){const o=q(c.url,t);if(a===o)return s.match(c,n)}}let we=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};async function ye(){for(const s of de)await s()}const _e=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function Re(s){return new Promise(e=>setTimeout(e,s))}function be(){self.addEventListener("activate",()=>self.clients.claim())}try{self["workbox:core:7.0.0"]&&_()}catch{}const Ce=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},xe=Ce;let u=class extends Error{constructor(e,t){const n=xe(e,t);super(n),this.name=e,this.details=t}};const p={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},A=s=>[p.prefix,s,p.suffix].filter(e=>e&&e.length>0).join("-"),ke=s=>{for(const e of Object.keys(p))s(e)},B={updateDetails:s=>{ke(e=>{typeof s[e]=="string"&&(p[e]=s[e])})},getGoogleAnalyticsName:s=>s||A(p.googleAnalytics),getPrecacheName:s=>s||A(p.precache),getPrefix:()=>p.prefix,getRuntimeName:s=>s||A(p.runtime),getSuffix:()=>p.suffix};function V(s,e){const t=e();return s.waitUntil(t),t}try{self["workbox:precaching:7.0.0"]&&_()}catch{}const Ee="__WB_REVISION__";function De(s){if(!s)throw new u("add-to-cache-list-unexpected-type",{entry:s});if(typeof s=="string"){const r=new URL(s,location.href);return{cacheKey:r.href,url:r.href}}const{revision:e,url:t}=s;if(!t)throw new u("add-to-cache-list-unexpected-type",{entry:s});if(!e){const r=new URL(t,location.href);return{cacheKey:r.href,url:r.href}}const n=new URL(t,location.href),a=new URL(t,location.href);return n.searchParams.set(Ee,e),{cacheKey:n.href,url:a.href}}class Ue{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type==="install"&&t&&t.originalRequest&&t.originalRequest instanceof Request){const a=t.originalRequest.url;n?this.notUpdatedURLs.push(a):this.updatedURLs.push(a)}return n}}}class Le{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:t,params:n})=>{const a=(n==null?void 0:n.cacheKey)||this._precacheController.getCacheKeyForURL(t.url);return a?new Request(a,{headers:t.headers}):t},this._precacheController=e}}let C;function Pe(){if(C===void 0){const s=new Response("");if("body"in s)try{new Response(s.body),C=!0}catch{C=!1}C=!1}return C}async function ve(s,e){let t=null;if(s.url&&(t=new URL(s.url).origin),t!==self.location.origin)throw new u("cross-origin-copy-response",{origin:t});const n=s.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},i=Pe()?n.body:await n.blob();return new Response(i,r)}const Te=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function G(s,e){const t=new URL(s);for(const n of e)t.searchParams.delete(n);return t.href}async function Ne(s,e,t,n){const a=G(e.url,t);if(e.url===a)return s.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),i=await s.keys(e,r);for(const c of i){const o=G(c.url,t);if(a===o)return s.match(c,n)}}class Me{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const Ae=new Set;async function Oe(){for(const s of Ae)await s()}function Se(s){return new Promise(e=>setTimeout(e,s))}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function U(s){return typeof s=="string"?new Request(s):s}let Ie=class{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new Me,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=U(e);if(n.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const i=await t.preloadResponse;if(i)return i}const a=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const i of this.iterateCallbacks("requestWillFetch"))n=await i({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new u("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const r=n.clone();try{let i;i=await fetch(n,n.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))i=await c({event:t,request:r,response:i});return i}catch(i){throw a&&await this.runCallbacks("fetchDidFail",{error:i,event:t,originalRequest:a.clone(),request:r.clone()}),i}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=U(e);let n;const{cacheName:a,matchOptions:r}=this._strategy,i=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},r),{cacheName:a});n=await caches.match(i,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await o({cacheName:a,matchOptions:r,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=U(e);await Se(0);const a=await this.getCacheKey(n,"write");if(!t)throw new u("cache-put-with-no-response",{url:Te(a.url)});const r=await this._ensureResponseSafeToCache(t);if(!r)return!1;const{cacheName:i,matchOptions:c}=this._strategy,o=await self.caches.open(i),l=this.hasCallback("cacheDidUpdate"),f=l?await Ne(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?r.clone():r)}catch(h){if(h instanceof Error)throw h.name==="QuotaExceededError"&&await Oe(),h}for(const h of this.iterateCallbacks("cacheDidUpdate"))await h({cacheName:i,oldResponse:f,newResponse:r.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let a=e;for(const r of this.iterateCallbacks("cacheKeyWillBeUsed"))a=U(await r({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[n]=a}return this._cacheKeys[n]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const n=this._pluginStateMap.get(t);yield r=>{const i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}},Ke=class{constructor(e={}){this.cacheName=B.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,r=new Ie(this,{event:t,request:n,params:a}),i=this._getResponse(r,n,t),c=this._awaitComplete(i,r,n,t);return[i,c]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new u("no-response",{url:t.url})}catch(r){if(r instanceof Error){for(const i of e.iterateCallbacks("handlerDidError"))if(a=await i({error:r,event:n,request:t}),a)break}if(!a)throw r}for(const r of e.iterateCallbacks("handlerWillRespond"))a=await r({event:n,request:t,response:a});return a}async _awaitComplete(e,t,n,a){let r,i;try{r=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:n,response:r}),await t.doneWaiting()}catch(c){c instanceof Error&&(i=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:n,response:r,error:i}),t.destroy(),i)throw i}};class y extends Ke{constructor(e={}){e.cacheName=B.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=e.fallbackToNetwork!==!1,this.plugins.push(y.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const n=await t.cacheMatch(e);return n||(t.event&&t.event.type==="install"?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n;const a=t.params||{};if(this._fallbackToNetwork){const r=a.integrity,i=e.integrity,c=!i||i===r;n=await t.fetch(new Request(e,{integrity:e.mode!=="no-cors"?i||r:void 0})),r&&c&&e.mode!=="no-cors"&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,n.clone()))}else throw new u("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const n=await t.fetch(e);if(!await t.cachePut(e,n.clone()))throw new u("bad-precaching-response",{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[n,a]of this.plugins.entries())a!==y.copyRedirectedCacheableResponsesPlugin&&(a===y.defaultPrecacheCacheabilityPlugin&&(e=n),a.cacheWillUpdate&&t++);t===0?this.plugins.push(y.defaultPrecacheCacheabilityPlugin):t>1&&e!==null&&this.plugins.splice(e,1)}}y.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:s}){return!s||s.status>=400?null:s}};y.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:s}){return s.redirected?await ve(s):s}};class We{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new y({cacheName:B.getPrecacheName(e),plugins:[...t,new Le({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const n of e){typeof n=="string"?t.push(n):n&&n.revision===void 0&&t.push(n.url);const{cacheKey:a,url:r}=De(n),i=typeof n!="string"&&n.revision?"reload":"default";if(this._urlsToCacheKeys.has(r)&&this._urlsToCacheKeys.get(r)!==a)throw new u("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(r),secondEntry:a});if(typeof n!="string"&&n.integrity){if(this._cacheKeysToIntegrities.has(a)&&this._cacheKeysToIntegrities.get(a)!==n.integrity)throw new u("add-to-cache-list-conflicting-integrities",{url:r});this._cacheKeysToIntegrities.set(a,n.integrity)}if(this._urlsToCacheKeys.set(r,a),this._urlsToCacheModes.set(r,i),t.length>0){const c=`Workbox is precaching URLs without revision info: ${t.join(", ")}
|
|
2
|
-
This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return V(e,async()=>{const t=new Ue;this.strategy.plugins.push(t);for(const[r,i]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(i),o=this._urlsToCacheModes.get(r),l=new Request(r,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:i},request:l,event:e}))}const{updatedURLs:n,notUpdatedURLs:a}=t;return{updatedURLs:n,notUpdatedURLs:a}})}activate(e){return V(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(const i of n)a.has(i.url)||(await t.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new u("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let O;const Z=()=>(O||(O=new We),O);try{self["workbox:routing:7.0.0"]&&_()}catch{}const ee="GET",v=s=>s&&typeof s=="object"?s:{handle:s};let D=class{constructor(e,t,n=ee){this.handler=v(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=v(e)}},$e=class extends D{constructor(e,t,n){const a=({url:r})=>{const i=e.exec(r.href);if(i&&!(r.origin!==location.origin&&i.index!==0))return i.slice(1)};super(a,t,n)}},je=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:n,request:e,event:t,params:r})}catch(h){l=Promise.reject(h)}const f=i&&i.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:n,request:e,event:t,params:r})}catch(b){b instanceof Error&&(h=b)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const i of r){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=ee){this._defaultHandlerMap.set(t,v(e))}setCatchHandler(e){this._catchHandler=v(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new u("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new u("unregister-route-route-not-registered")}},x;const He=()=>(x||(x=new je,x.addFetchListener(),x.addCacheListener()),x);function Be(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),i=({url:c})=>c.href===r.href;n=new D(i,e,t)}else if(s instanceof RegExp)n=new $e(s,e,t);else if(typeof s=="function")n=new D(s,e,t);else if(s instanceof D)n=s;else throw new u("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return He().registerRoute(n),n}function Fe(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*qe(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:a}={}){const r=new URL(s,location.href);r.hash="",yield r.href;const i=Fe(r,e);if(yield i.href,t&&i.pathname.endsWith("/")){const c=new URL(i.href);c.pathname+=t,yield c.href}if(n){const c=new URL(i.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:r});for(const o of c)yield o.href}}class Ve extends D{constructor(e,t){const n=({request:a})=>{const r=e.getURLsToCacheKeys();for(const i of qe(a.url,t)){const c=r.get(i);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(n,e.strategy)}}function Ge(s){const e=Z(),t=new Ve(e,s);Be(t)}function Je(s){Z().precache(s)}function Qe(s,e){Je(s),Ge(e)}try{self["workbox:core:7.0.0"]&&_()}catch{}const ze=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},Ye=ze;class Xe extends Error{constructor(e,t){const n=Ye(e,t);super(n),this.name=e,this.details=t}}function te(s){s.then(()=>{})}const Ze=(s,e)=>e.some(t=>s instanceof t);let J,Q;function et(){return J||(J=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function tt(){return Q||(Q=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const se=new WeakMap,$=new WeakMap,ne=new WeakMap,S=new WeakMap,F=new WeakMap;function st(s){const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("success",r),s.removeEventListener("error",i)},r=()=>{t(m(s.result)),a()},i=()=>{n(s.error),a()};s.addEventListener("success",r),s.addEventListener("error",i)});return e.then(t=>{t instanceof IDBCursor&&se.set(t,s)}).catch(()=>{}),F.set(e,s),e}function nt(s){if($.has(s))return;const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",i),s.removeEventListener("abort",i)},r=()=>{t(),a()},i=()=>{n(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",r),s.addEventListener("error",i),s.addEventListener("abort",i)});$.set(s,e)}let j={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return $.get(s);if(e==="objectStoreNames")return s.objectStoreNames||ne.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return m(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function at(s){j=s(j)}function rt(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(I(this),e,...t);return ne.set(n,e.sort?e.sort():[e]),m(n)}:tt().includes(s)?function(...e){return s.apply(I(this),e),m(se.get(this))}:function(...e){return m(s.apply(I(this),e))}}function it(s){return typeof s=="function"?rt(s):(s instanceof IDBTransaction&&nt(s),Ze(s,et())?new Proxy(s,j):s)}function m(s){if(s instanceof IDBRequest)return st(s);if(S.has(s))return S.get(s);const e=it(s);return e!==s&&(S.set(s,e),F.set(e,s)),e}const I=s=>F.get(s);function ct(s,e,{blocked:t,upgrade:n,blocking:a,terminated:r}={}){const i=indexedDB.open(s,e),c=m(i);return n&&i.addEventListener("upgradeneeded",o=>{n(m(i.result),o.oldVersion,o.newVersion,m(i.transaction),o)}),t&&i.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{r&&o.addEventListener("close",()=>r()),a&&o.addEventListener("versionchange",l=>a(l.oldVersion,l.newVersion,l))}).catch(()=>{}),c}function ot(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",n=>e(n.oldVersion,n)),m(t).then(()=>{})}const lt=["get","getKey","getAll","getAllKeys","count"],ht=["put","add","delete","clear"],K=new Map;function z(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(K.get(e))return K.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,a=ht.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(a||lt.includes(t)))return;const r=async function(i,...c){const o=this.transaction(i,a?"readwrite":"readonly");let l=o.store;return n&&(l=l.index(c.shift())),(await Promise.all([l[t](...c),a&&o.done]))[0]};return K.set(e,r),r}at(s=>({...s,get:(e,t,n)=>z(e,t)||s.get(e,t,n),has:(e,t)=>!!z(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.0.0"]&&_()}catch{}const ut="workbox-expiration",k="cache-entries",Y=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class ft{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(k,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&ot(this._cacheName)}async setTimestamp(e,t){e=Y(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=(await this.getDb()).transaction(k,"readwrite",{durability:"relaxed"});await r.store.put(n),await r.done}async getTimestamp(e){const n=await(await this.getDb()).get(k,this._getId(e));return n==null?void 0:n.timestamp}async expireEntries(e,t){const n=await this.getDb();let a=await n.transaction(k).store.index("timestamp").openCursor(null,"prev");const r=[];let i=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&i>=t?r.push(a.value):i++),a=await a.continue()}const c=[];for(const o of r)await n.delete(k,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+Y(e)}async getDb(){return this._db||(this._db=await ct(ut,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class dt{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new ft(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const a of t)await n.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,te(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<n:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}const g={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},W=s=>[g.prefix,s,g.suffix].filter(e=>e&&e.length>0).join("-"),pt=s=>{for(const e of Object.keys(g))s(e)},gt={updateDetails:s=>{pt(e=>{typeof s[e]=="string"&&(g[e]=s[e])})},getGoogleAnalyticsName:s=>s||W(g.googleAnalytics),getPrecacheName:s=>s||W(g.precache),getPrefix:()=>g.prefix,getRuntimeName:s=>s||W(g.runtime),getSuffix:()=>g.suffix},mt=new Set;function wt(s){mt.add(s)}class yt{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:n,cacheName:a,cachedResponse:r})=>{if(!r)return null;const i=this._isResponseDateFresh(r),c=this._getCacheExpiration(a);te(c.expireEntries());const o=c.updateTimestamp(n.url);if(t)try{t.waitUntil(o)}catch{}return i?r:null},this.cacheDidUpdate=async({cacheName:t,request:n})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(n.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&wt(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===gt.getRuntimeName())throw new Xe("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new dt(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const n=Date.now();return t>=n-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}try{self["workbox:routing:7.0.0"]&&_()}catch{}const ae="GET",T=s=>s&&typeof s=="object"?s:{handle:s};class P{constructor(e,t,n=ae){this.handler=T(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=T(e)}}class _t extends P{constructor(e,t,n){const a=({url:r})=>{const i=e.exec(r.href);if(i&&!(r.origin!==location.origin&&i.index!==0))return i.slice(1)};super(a,t,n)}}class Rt{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:n,request:e,event:t,params:r})}catch(h){l=Promise.reject(h)}const f=i&&i.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:n,request:e,event:t,params:r})}catch(b){b instanceof Error&&(h=b)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const i of r){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=ae){this._defaultHandlerMap.set(t,T(e))}setCatchHandler(e){this._catchHandler=T(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new R("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new R("unregister-route-route-not-registered")}}let E;const bt=()=>(E||(E=new Rt,E.addFetchListener(),E.addCacheListener()),E);function N(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),i=({url:c})=>c.href===r.href;n=new P(i,e,t)}else if(s instanceof RegExp)n=new _t(s,e,t);else if(typeof s=="function")n=new P(s,e,t);else if(s instanceof P)n=s;else throw new R("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return bt().registerRoute(n),n}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function L(s){return typeof s=="string"?new Request(s):s}class Ct{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new we,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=L(e);if(n.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const i=await t.preloadResponse;if(i)return i}const a=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const i of this.iterateCallbacks("requestWillFetch"))n=await i({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new R("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const r=n.clone();try{let i;i=await fetch(n,n.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))i=await c({event:t,request:r,response:i});return i}catch(i){throw a&&await this.runCallbacks("fetchDidFail",{error:i,event:t,originalRequest:a.clone(),request:r.clone()}),i}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=L(e);let n;const{cacheName:a,matchOptions:r}=this._strategy,i=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},r),{cacheName:a});n=await caches.match(i,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await o({cacheName:a,matchOptions:r,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=L(e);await Re(0);const a=await this.getCacheKey(n,"write");if(!t)throw new R("cache-put-with-no-response",{url:_e(a.url)});const r=await this._ensureResponseSafeToCache(t);if(!r)return!1;const{cacheName:i,matchOptions:c}=this._strategy,o=await self.caches.open(i),l=this.hasCallback("cacheDidUpdate"),f=l?await me(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?r.clone():r)}catch(h){if(h instanceof Error)throw h.name==="QuotaExceededError"&&await ye(),h}for(const h of this.iterateCallbacks("cacheDidUpdate"))await h({cacheName:i,oldResponse:f,newResponse:r.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let a=e;for(const r of this.iterateCallbacks("cacheKeyWillBeUsed"))a=L(await r({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[n]=a}return this._cacheKeys[n]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const n=this._pluginStateMap.get(t);yield r=>{const i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}}class re{constructor(e={}){this.cacheName=ge.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,r=new Ct(this,{event:t,request:n,params:a}),i=this._getResponse(r,n,t),c=this._awaitComplete(i,r,n,t);return[i,c]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new R("no-response",{url:t.url})}catch(r){if(r instanceof Error){for(const i of e.iterateCallbacks("handlerDidError"))if(a=await i({error:r,event:n,request:t}),a)break}if(!a)throw r}for(const r of e.iterateCallbacks("handlerWillRespond"))a=await r({event:n,request:t,response:a});return a}async _awaitComplete(e,t,n,a){let r,i;try{r=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:n,response:r}),await t.doneWaiting()}catch(c){c instanceof Error&&(i=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:n,response:r,error:i}),t.destroy(),i)throw i}}class ie extends re{async _handle(e,t){let n=await t.cacheMatch(e),a;if(!n)try{n=await t.fetchAndCachePut(e)}catch(r){r instanceof Error&&(a=r)}if(!n)throw new R("no-response",{url:e.url,error:a});return n}}const xt={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class ce extends re{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift(xt)}async _handle(e,t){const n=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(n);let a=await t.cacheMatch(e),r;if(!a)try{a=await n}catch(i){i instanceof Error&&(r=i)}if(!a)throw new R("no-response",{url:e.url,error:r});return a}}const H="sw-update-reload-times",oe="/lastUpdateMsgTimestamps",kt=10,Et=20*1e3;let le=!1;function Dt(s,e){let t;return(...n)=>{clearTimeout(t),t=setTimeout(()=>{s.apply(this,n)},e)}}function Ut(s,e=50,t=5e3){return new Promise(n=>{const a=Date.now(),r=()=>{s()||Date.now()-a>=t?n():setTimeout(r,e)};r()})}self.addEventListener("message",s=>{s.data&&s.data.type==="CLIENT_UPDATE_READY"&&(console.log("Service Worker: client ready"),le=!0)});async function Lt(s){const t=await(await caches.open(H)).match(`${oe}-${s}`);if(t)try{const n=await t.text();return JSON.parse(n)}catch{return[]}return[]}async function Pt(s,e){const t=await caches.open(H);if((await t.keys()).length>100){await caches.delete(H);return}const a=new Response(JSON.stringify(s));await t.put(`${oe}-${e}`,a)}const vt=Dt(async()=>{(await self.clients.matchAll()).forEach(e=>{e.postMessage({type:"SW_DOCUMENT_UPDATED"})})},100),X=/updatedAt:\s*\d+,/g,Tt={cacheDidUpdate:async({request:s,oldResponse:e,newResponse:t})=>{if(e)try{let n=await e.clone().text(),a=await t.clone().text();if(s.url.includes("__blocklet__.js")&&(n=n.replace(X,"updatedAt: ,"),a=a.replace(X,"updatedAt: ,")),n!==a){const r=Date.now(),c=(await Lt(s.url)).filter(o=>r-o<Et);if(c.length>=kt){console.warn("[SW] update too frequent, skip:",s.url);return}await Ut(()=>le),await Pt(c,s.url),console.log("[SW] document version or session updated",s.url),vt()}}catch(n){console.error("[SW] Error comparing document responses:",n)}}};Qe(([{"revision":null,"url":"assets/access-control-DlT-JQML.js"},{"revision":null,"url":"assets/actions-azdiYocL.js"},{"revision":null,"url":"assets/AdapterDayjs-gCvKcGfu.js"},{"revision":null,"url":"assets/add-component-core-Cm8Y0zkt.js"},{"revision":null,"url":"assets/add-component-core-D-IRi6XF.css"},{"revision":null,"url":"assets/add-resource-CVCoahx_.js"},{"revision":null,"url":"assets/addon-3ZMGwARO.js"},{"revision":null,"url":"assets/advanced-Nvg1CqJg.js"},{"revision":null,"url":"assets/api-BjteVZFg.js"},{"revision":null,"url":"assets/appearance-CAsFMLaC.js"},{"revision":null,"url":"assets/ar-CHiV3Onz.js"},{"revision":null,"url":"assets/ar-T0OvMFDJ.js"},{"revision":null,"url":"assets/ArrowDropDown-D32FY-Mt.js"},{"revision":null,"url":"assets/audit-logs-BPjUleS-.js"},{"revision":null,"url":"assets/authorize-CdTK5Air.js"},{"revision":null,"url":"assets/base-chart-D6qRW4Yg.js"},{"revision":null,"url":"assets/base32-CLrnUJal.js"},{"revision":null,"url":"assets/branding-B8r8EJ2R.js"},{"revision":null,"url":"assets/branding-Cr4GBUXi.js"},{"revision":null,"url":"assets/bundle-avatar-Br48PGS5.js"},{"revision":null,"url":"assets/button-8G90WP8a.js"},{"revision":null,"url":"assets/CheckCircle-BBSSDlcc.js"},{"revision":null,"url":"assets/ChevronLeft-CF24ouxR.js"},{"revision":null,"url":"assets/ChevronRight-DA9t_C-l.js"},{"revision":null,"url":"assets/click-to-copy-ByEMWZD_.js"},{"revision":null,"url":"assets/cloneDeep-UpFQ2VNg.js"},{"revision":null,"url":"assets/collapse-Cliwxlbv.js"},{"revision":null,"url":"assets/Community-BnAsVqMr.js"},{"revision":null,"url":"assets/complete-CzlLydJT.js"},{"revision":null,"url":"assets/component-5_wmVxpp.js"},{"revision":null,"url":"assets/config-BnObxTpi.js"},{"revision":null,"url":"assets/config-emhMgKqq.js"},{"revision":null,"url":"assets/config-navigation-DbyhYIMw.js"},{"revision":null,"url":"assets/config-space-TsP5osn9.js"},{"revision":null,"url":"assets/confirm-DI8TUyRK.js"},{"revision":null,"url":"assets/connect-B_BnGQjp.js"},{"revision":null,"url":"assets/connect-D55qWQWC.js"},{"revision":null,"url":"assets/connect-to-DzPwhREN.js"},{"revision":null,"url":"assets/content-layout-fV4nyVb5.js"},{"revision":null,"url":"assets/dark-animation-DhFa8I7D.js"},{"revision":null,"url":"assets/dashboard-AdC8-kkA.js"},{"revision":null,"url":"assets/de-BWtUXhCw.js"},{"revision":null,"url":"assets/de-WYW4JJdA.js"},{"revision":null,"url":"assets/default-animation-DARmPWCI.js"},{"revision":null,"url":"assets/delete-confirm-Bn1HZjaL.js"},{"revision":null,"url":"assets/DeleteOutline-CzIOFoFP.js"},{"revision":null,"url":"assets/did-address-BlAXR08O.js"},{"revision":null,"url":"assets/domain-action-card-C4FpSn67.js"},{"revision":null,"url":"assets/domain-Cod_zL8_.js"},{"revision":null,"url":"assets/domains-BhqtMbC1.js"},{"revision":null,"url":"assets/Done-MQdb8YLa.js"},{"revision":null,"url":"assets/dot-itVN8XTt.js"},{"revision":null,"url":"assets/Download-IxxF4Ujs.js"},{"revision":null,"url":"assets/Edit-DSht16TX.js"},{"revision":null,"url":"assets/EditIcon-8BXW1OHp.js"},{"revision":null,"url":"assets/Email-BirbvqZ3.js"},{"revision":null,"url":"assets/email-CqVIYJc4.js"},{"revision":null,"url":"assets/empty-spinner-BdaCO6xq.js"},{"revision":null,"url":"assets/Error-CkoCqY66.js"},{"revision":null,"url":"assets/es-B6GuFK3b.js"},{"revision":null,"url":"assets/es-DaHPJdAX.js"},{"revision":null,"url":"assets/exchange-passport-C-hTCqg0.js"},{"revision":null,"url":"assets/ExpandLess-CudE_1oQ.js"},{"revision":null,"url":"assets/fr-DjhyyiEi.js"},{"revision":null,"url":"assets/fr-Sdn9hi8k.js"},{"revision":null,"url":"assets/fuel-M5L6Wmxz.js"},{"revision":null,"url":"assets/gen-access-key-D6jr4e_G.js"},{"revision":null,"url":"assets/get-safe-url-CRv5HbAK.js"},{"revision":null,"url":"assets/get-safe-url-DrR-6D-i.js"},{"revision":null,"url":"assets/Google-AZBuQJFI.js"},{"revision":null,"url":"assets/hi-CtKbt1J4.js"},{"revision":null,"url":"assets/hi-dJuR0lt2.js"},{"revision":null,"url":"assets/Holiday-C4KRd5t6.js"},{"revision":null,"url":"assets/Home-BaA3V3I7.js"},{"revision":null,"url":"assets/home-C7e6Ftxj.js"},{"revision":null,"url":"assets/id-CCuL3FP-.js"},{"revision":null,"url":"assets/id-DuYS34H0.js"},{"revision":null,"url":"assets/iframe-DSG-Hd99.js"},{"revision":null,"url":"assets/index-8eXqqyHQ.js"},{"revision":null,"url":"assets/index-AetYfL_f.js"},{"revision":null,"url":"assets/index-AgKpYdvC.css"},{"revision":null,"url":"assets/index-B5_fBwtl.js"},{"revision":null,"url":"assets/index-BFWnCQrF.js"},{"revision":null,"url":"assets/index-bIHubQ8z.js"},{"revision":null,"url":"assets/index-Bj2-CpPI.js"},{"revision":null,"url":"assets/index-BJbAX71g.js"},{"revision":null,"url":"assets/index-BJHSgjnI.js"},{"revision":null,"url":"assets/index-BLbU4gf9.js"},{"revision":null,"url":"assets/index-BM1ZGOPs.js"},{"revision":null,"url":"assets/index-BmXcRfZR.js"},{"revision":null,"url":"assets/index-Bs1kxR8_.js"},{"revision":null,"url":"assets/index-BUrgmCmL.js"},{"revision":null,"url":"assets/index-C0Iiqot3.css"},{"revision":null,"url":"assets/index-C2F-GVrD.js"},{"revision":null,"url":"assets/index-C4vmLohg.js"},{"revision":null,"url":"assets/index-CEeLwMYO.js"},{"revision":null,"url":"assets/index-CPE8Apzb.js"},{"revision":null,"url":"assets/index-CtLialsm.js"},{"revision":null,"url":"assets/index-D2uDBC1o.js"},{"revision":null,"url":"assets/index-DOq-_YXu.css"},{"revision":null,"url":"assets/index-DSoHmrHd.js"},{"revision":null,"url":"assets/index-DthGrDK3.js"},{"revision":null,"url":"assets/index-DVQCgvFb.js"},{"revision":null,"url":"assets/index-iB7JyXwh.js"},{"revision":null,"url":"assets/index-iQsPOXlb.js"},{"revision":null,"url":"assets/index-J3Tqz9ZT.js"},{"revision":null,"url":"assets/index-rn2nf2kX.js"},{"revision":null,"url":"assets/index-RsjqbOR7.js"},{"revision":null,"url":"assets/index-YbYWmpAT.js"},{"revision":null,"url":"assets/index-yvg4DpNi.js"},{"revision":null,"url":"assets/InfoOutlined-Cd28U1Oc.js"},{"revision":null,"url":"assets/invitation-StUiuLYU.js"},{"revision":null,"url":"assets/invite-E96eT2DF.js"},{"revision":null,"url":"assets/issue-passport-DrGPTNsG.js"},{"revision":null,"url":"assets/item-Dgu9vLko.js"},{"revision":null,"url":"assets/ja-ACgKScTi.js"},{"revision":null,"url":"assets/ja-Dh60q0r5.js"},{"revision":null,"url":"assets/keyboard-arrow-down-rounded-DadBVmpO.js"},{"revision":null,"url":"assets/ko-CoqvBZUf.js"},{"revision":null,"url":"assets/ko-gvJH4zFR.js"},{"revision":null,"url":"assets/landing-page-BOy_W1aP.js"},{"revision":null,"url":"assets/Launch-Ddo_WSQI.js"},{"revision":null,"url":"assets/launch-result-message-FuvJDCvp.js"},{"revision":null,"url":"assets/LaunchOutlined-CO4dugwH.js"},{"revision":null,"url":"assets/layout-CYJJYqb_.js"},{"revision":null,"url":"assets/list-C8X2Voou.js"},{"revision":null,"url":"assets/list-header-xt282ZMS.js"},{"revision":null,"url":"assets/list-uPz9xAWJ.js"},{"revision":null,"url":"assets/localization-CI5Q0B2F.js"},{"revision":null,"url":"assets/Location-DxPzfR_p.js"},{"revision":null,"url":"assets/LockIcon-DFb6sSpT.js"},{"revision":null,"url":"assets/log-CzRRb9lq.js"},{"revision":null,"url":"assets/log-D33dFtt_.css"},{"revision":null,"url":"assets/logger-B4ZKcD6x.js"},{"revision":null,"url":"assets/login-D3GnBJn4.js"},{"revision":null,"url":"assets/login-oauth-callback-CVS9TwNM.js"},{"revision":null,"url":"assets/logo-uploader-CbM-N8qP.js"},{"revision":null,"url":"assets/lost-passport-5P2EFbv0.js"},{"revision":null,"url":"assets/lottie-error-CMOXHtBH.js"},{"revision":null,"url":"assets/lottie-loading-o-GBrhM9.js"},{"revision":null,"url":"assets/lottie-react.esm-D2t-u0YU.js"},{"revision":null,"url":"assets/lottie-web-jYmAQWuC.js"},{"revision":null,"url":"assets/lottie-welcome-C9B95FIi.js"},{"revision":null,"url":"assets/Meeting-DCL_ygud.js"},{"revision":null,"url":"assets/MoreHoriz-D-L8sA4c.js"},{"revision":null,"url":"assets/OffSick-DvgkmCUP.js"},{"revision":null,"url":"assets/omit-D2k92RIF.js"},{"revision":null,"url":"assets/open-window-c9TGr49M.js"},{"revision":null,"url":"assets/overview-BZRXhA-K.js"},{"revision":null,"url":"assets/page-header-D_m0ANZl.js"},{"revision":null,"url":"assets/passport-item-DE-9Q-Cx.js"},{"revision":null,"url":"assets/permission-fpFyADH8.js"},{"revision":null,"url":"assets/Phone-BkOMNOMO.js"},{"revision":null,"url":"assets/PlayArrow-CLKgdv6H.js"},{"revision":null,"url":"assets/preferences-0RYr2e_y.js"},{"revision":null,"url":"assets/profile-embed-BwbGy3El.js"},{"revision":null,"url":"assets/pt-DCcbs0d0.js"},{"revision":null,"url":"assets/pt-DzswFIpl.js"},{"revision":null,"url":"assets/publish-resource-CWz86TY0.js"},{"revision":null,"url":"assets/QuestionMarkCircle-DTGyWFVS.js"},{"revision":null,"url":"assets/raf-schd.esm-B3j6BePR.js"},{"revision":null,"url":"assets/react-beautiful-dnd.esm-G9cRB9Uf.js"},{"revision":null,"url":"assets/ru-EZJWVu3M.js"},{"revision":null,"url":"assets/ru-WYTV5VzH.js"},{"revision":null,"url":"assets/runtime-63aIXcah.js"},{"revision":null,"url":"assets/sdk-D4BoQHdn.js"},{"revision":null,"url":"assets/section-BB6hVmdO.js"},{"revision":null,"url":"assets/security-YPRPQuQL.js"},{"revision":null,"url":"assets/session-Djj2U6sa.js"},{"revision":null,"url":"assets/setup-C9DGbmM7.js"},{"revision":null,"url":"assets/shorten-label-DPIZ5X7v.js"},{"revision":null,"url":"assets/simple-select-CN3fsa56.js"},{"revision":null,"url":"assets/slicedToArray-DmqXMnHT.js"},{"revision":null,"url":"assets/spaces-fGcGlx-U.js"},{"revision":null,"url":"assets/start-Cz_j6UYt.js"},{"revision":null,"url":"assets/starting-progress-DHv9oucO.js"},{"revision":null,"url":"assets/status-B5ff49WY.js"},{"revision":null,"url":"assets/step-actions-CPiUgWLW.js"},{"revision":null,"url":"assets/studio-DnKLD9XD.js"},{"revision":null,"url":"assets/switch-control-DWjnOuBy.js"},{"revision":null,"url":"assets/table-tips-DEGQUNJa.js"},{"revision":null,"url":"assets/th-Bn3Ch7SK.js"},{"revision":null,"url":"assets/th-Da4lMKTX.js"},{"revision":null,"url":"assets/Timezone-D91Of94T.js"},{"revision":null,"url":"assets/traffic-C262RTgV.js"},{"revision":null,"url":"assets/transfer-CXfjw5Xg.js"},{"revision":null,"url":"assets/TuneOutlined-BWqIZK2m.js"},{"revision":null,"url":"assets/unsubscribe-CdFXzPwR.js"},{"revision":null,"url":"assets/use-blocklet-logo-C_pDvfYN.js"},{"revision":null,"url":"assets/use-mobile-BAa0wi8o.js"},{"revision":null,"url":"assets/use-mobile-C21X4TYN.js"},{"revision":null,"url":"assets/use-passport-id-B-b-_oYF.js"},{"revision":null,"url":"assets/use-server-logo-CxuMvwKh.js"},{"revision":null,"url":"assets/useAsync-510ntT1B.js"},{"revision":null,"url":"assets/useLocalStorage-DO6t2PeQ.js"},{"revision":null,"url":"assets/user-center-DR1kV4iN.js"},{"revision":null,"url":"assets/useSetState-CWq0AVWn.js"},{"revision":null,"url":"assets/util-Cs-QbPU0.js"},{"revision":null,"url":"assets/util-VM27PwRk.js"},{"revision":null,"url":"assets/vendor-arcblock-DuPySS9V.js"},{"revision":null,"url":"assets/vendor-hooks-BgUTpb6X.js"},{"revision":null,"url":"assets/vendor-mui-core-BV2FUxWJ.js"},{"revision":null,"url":"assets/vendor-mui-x-Bo-XOtzq.js"},{"revision":null,"url":"assets/vendor-react-DEoibe3W.js"},{"revision":null,"url":"assets/vendor-utils-rHXShPKm.js"},{"revision":null,"url":"assets/vendor-ux-did-connect-DIlRfE_S.js"},{"revision":null,"url":"assets/vendor-ux-did-connect-DpSGLE7B.css"},{"revision":null,"url":"assets/vi-BxzaqoH9.js"},{"revision":null,"url":"assets/vi-CgnGroV4.js"},{"revision":null,"url":"assets/ViewList-DWudZTBg.js"},{"revision":null,"url":"assets/WorkingRemotely-CpchWcXV.js"},{"revision":null,"url":"assets/wrap-locale-BWx2hEb7.js"},{"revision":null,"url":"assets/zh-BWgwGxeZ.js"},{"revision":null,"url":"assets/zh-Do6onry4.js"},{"revision":null,"url":"assets/zh-tw-BNgoHsYW.js"},{"revision":null,"url":"assets/zh-tw-Ciod1pFs.js"},{"revision":"52f5049a5f74502b29849f829e22ac98","url":"index.html"},{"revision":"629a14a7e3397a134f5a30b5dc735183","url":"registerSW.js"},{"revision":"07a287e43ae8e959a20d6b367a581667","url":"router-template-styles/styles.css"},{"revision":"8f9b8997bf5804519b8e9f8dd1bb6ef9","url":"share/shared-bridge.html"},{"revision":"3c1549cff96a2d2baec44397663c083e","url":"share/shared-service-worker.js"},{"revision":"19d4c6a99cb8ed11e68209a612e7ec44","url":"share/workbox-v7.3.0/workbox-background-sync.prod.js"},{"revision":"d9d631014689e2b4b0e343c129671749","url":"share/workbox-v7.3.0/workbox-broadcast-update.prod.js"},{"revision":"bdb39ceb7380dcb1483c543e8856242b","url":"share/workbox-v7.3.0/workbox-cacheable-response.prod.js"},{"revision":"b84dd900eb18e8bc842666bbb740604e","url":"share/workbox-v7.3.0/workbox-core.prod.js"},{"revision":"c582a61c037234d8283eea0b97693b1b","url":"share/workbox-v7.3.0/workbox-expiration.prod.js"},{"revision":"866ba7d03bd871fa990976e4db312ab3","url":"share/workbox-v7.3.0/workbox-navigation-preload.prod.js"},{"revision":"0c55bb581ea7ce5ebfac1ce95cdda21f","url":"share/workbox-v7.3.0/workbox-offline-ga.prod.js"},{"revision":"770d183cf1f189a1ceb11ba8b5d808fa","url":"share/workbox-v7.3.0/workbox-precaching.prod.js"},{"revision":"295decbe1eb3b073a2a8d67cfbdf5692","url":"share/workbox-v7.3.0/workbox-range-requests.prod.js"},{"revision":"0bcb90677f3508ebc8a3571d14194478","url":"share/workbox-v7.3.0/workbox-recipes.prod.js"},{"revision":"4af96b70b2d20b041e2edd7ef1a8ef27","url":"share/workbox-v7.3.0/workbox-routing.prod.js"},{"revision":"c78c21b4058a1134ad3e12286c57cb2f","url":"share/workbox-v7.3.0/workbox-strategies.prod.js"},{"revision":"7eeb2d820d409221e076d31951fdcf79","url":"share/workbox-v7.3.0/workbox-streams.prod.js"},{"revision":"aa7368887577b9719a46b585d5dcc7a5","url":"share/workbox-v7.3.0/workbox-sw.js"},{"revision":"e768668db4eeefde11b58542900ab2ad","url":"share/workbox-v7.3.0/workbox-window.prod.umd.js"},{"revision":"f272d080151aa40322ce1603c6261ec1","url":"manifest.webmanifest"}]||[]).filter(s=>s.url!=="/"&&!s.url.includes("index.html")));be();self.addEventListener("activate",()=>{console.log("Service Worker activated")});self.addEventListener("install",s=>{console.log("Service Worker installed"),s.waitUntil(self.skipWaiting())});const he=s=>!!(s.method!=="GET"||s.url.includes("/api")||s.url.includes("__meta__.js")||s.url.includes("__blocklet__.js"));N(({request:s})=>he(s)?!1:s.url.includes("/static/"),new ie({cacheName:`static-${self.registration.scope}`,plugins:[new yt({maxEntries:200})]}));N(({request:s,url:e})=>{var t,n;return(n=(t=self.blocklet)==null?void 0:t.canCache)!=null&&n.call(t,{url:e})?["image","font","style","script"].includes(s.destination):!1},new ie({cacheName:`static-resources-${self.registration.scope}`}));N(({request:s})=>he(s)?!1:s.url.includes("/images/")||s.url.includes("/router/-template-styles/"),new ce({cacheName:`StaleWhileRevalidate-${self.registration.scope}`}));const Nt={cacheKeyWillBeUsed({request:s}){const e=new URL(s.url);return s.destination==="document"&&e.pathname.startsWith("/.well-known/service/admin")?(e.pathname="/.well-known/service/admin",e.search="",e.toString()):s.url}},w={};N(({request:s})=>{const e=new URL(s.url);return s.destination==="document"&&e.pathname.startsWith("/.well-known/service/admin")?(Object.keys(w).forEach(t=>delete w[t]),!0):!w.env&&s.url.includes(".well-known/service/api/env")?(w.env=!0,!0):!w.session&&s.url.includes(".well-known/service/api/did/session")?(w.session=!0,!0):!w.blocklet&&s.url.endsWith("__blocklet__.js")?(w.blocklet=!0,!0):!1},new ce({cacheName:`documents-${self.registration.scope}`,plugins:[Tt,Nt]}));
|
|
2
|
+
This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return V(e,async()=>{const t=new Ue;this.strategy.plugins.push(t);for(const[r,i]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(i),o=this._urlsToCacheModes.get(r),l=new Request(r,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:i},request:l,event:e}))}const{updatedURLs:n,notUpdatedURLs:a}=t;return{updatedURLs:n,notUpdatedURLs:a}})}activate(e){return V(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(const i of n)a.has(i.url)||(await t.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new u("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let O;const Z=()=>(O||(O=new We),O);try{self["workbox:routing:7.0.0"]&&_()}catch{}const ee="GET",v=s=>s&&typeof s=="object"?s:{handle:s};let D=class{constructor(e,t,n=ee){this.handler=v(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=v(e)}},$e=class extends D{constructor(e,t,n){const a=({url:r})=>{const i=e.exec(r.href);if(i&&!(r.origin!==location.origin&&i.index!==0))return i.slice(1)};super(a,t,n)}},je=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:n,request:e,event:t,params:r})}catch(h){l=Promise.reject(h)}const f=i&&i.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:n,request:e,event:t,params:r})}catch(b){b instanceof Error&&(h=b)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const i of r){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=ee){this._defaultHandlerMap.set(t,v(e))}setCatchHandler(e){this._catchHandler=v(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new u("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new u("unregister-route-route-not-registered")}},x;const He=()=>(x||(x=new je,x.addFetchListener(),x.addCacheListener()),x);function Be(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),i=({url:c})=>c.href===r.href;n=new D(i,e,t)}else if(s instanceof RegExp)n=new $e(s,e,t);else if(typeof s=="function")n=new D(s,e,t);else if(s instanceof D)n=s;else throw new u("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return He().registerRoute(n),n}function Fe(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*qe(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:a}={}){const r=new URL(s,location.href);r.hash="",yield r.href;const i=Fe(r,e);if(yield i.href,t&&i.pathname.endsWith("/")){const c=new URL(i.href);c.pathname+=t,yield c.href}if(n){const c=new URL(i.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:r});for(const o of c)yield o.href}}class Ve extends D{constructor(e,t){const n=({request:a})=>{const r=e.getURLsToCacheKeys();for(const i of qe(a.url,t)){const c=r.get(i);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(n,e.strategy)}}function Ge(s){const e=Z(),t=new Ve(e,s);Be(t)}function Je(s){Z().precache(s)}function Qe(s,e){Je(s),Ge(e)}try{self["workbox:core:7.0.0"]&&_()}catch{}const ze=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},Ye=ze;class Xe extends Error{constructor(e,t){const n=Ye(e,t);super(n),this.name=e,this.details=t}}function te(s){s.then(()=>{})}const Ze=(s,e)=>e.some(t=>s instanceof t);let J,Q;function et(){return J||(J=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function tt(){return Q||(Q=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const se=new WeakMap,$=new WeakMap,ne=new WeakMap,S=new WeakMap,F=new WeakMap;function st(s){const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("success",r),s.removeEventListener("error",i)},r=()=>{t(m(s.result)),a()},i=()=>{n(s.error),a()};s.addEventListener("success",r),s.addEventListener("error",i)});return e.then(t=>{t instanceof IDBCursor&&se.set(t,s)}).catch(()=>{}),F.set(e,s),e}function nt(s){if($.has(s))return;const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",i),s.removeEventListener("abort",i)},r=()=>{t(),a()},i=()=>{n(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",r),s.addEventListener("error",i),s.addEventListener("abort",i)});$.set(s,e)}let j={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return $.get(s);if(e==="objectStoreNames")return s.objectStoreNames||ne.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return m(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function at(s){j=s(j)}function rt(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(I(this),e,...t);return ne.set(n,e.sort?e.sort():[e]),m(n)}:tt().includes(s)?function(...e){return s.apply(I(this),e),m(se.get(this))}:function(...e){return m(s.apply(I(this),e))}}function it(s){return typeof s=="function"?rt(s):(s instanceof IDBTransaction&&nt(s),Ze(s,et())?new Proxy(s,j):s)}function m(s){if(s instanceof IDBRequest)return st(s);if(S.has(s))return S.get(s);const e=it(s);return e!==s&&(S.set(s,e),F.set(e,s)),e}const I=s=>F.get(s);function ct(s,e,{blocked:t,upgrade:n,blocking:a,terminated:r}={}){const i=indexedDB.open(s,e),c=m(i);return n&&i.addEventListener("upgradeneeded",o=>{n(m(i.result),o.oldVersion,o.newVersion,m(i.transaction),o)}),t&&i.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{r&&o.addEventListener("close",()=>r()),a&&o.addEventListener("versionchange",l=>a(l.oldVersion,l.newVersion,l))}).catch(()=>{}),c}function ot(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",n=>e(n.oldVersion,n)),m(t).then(()=>{})}const lt=["get","getKey","getAll","getAllKeys","count"],ht=["put","add","delete","clear"],K=new Map;function z(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(K.get(e))return K.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,a=ht.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(a||lt.includes(t)))return;const r=async function(i,...c){const o=this.transaction(i,a?"readwrite":"readonly");let l=o.store;return n&&(l=l.index(c.shift())),(await Promise.all([l[t](...c),a&&o.done]))[0]};return K.set(e,r),r}at(s=>({...s,get:(e,t,n)=>z(e,t)||s.get(e,t,n),has:(e,t)=>!!z(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.0.0"]&&_()}catch{}const ut="workbox-expiration",k="cache-entries",Y=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class ft{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(k,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&ot(this._cacheName)}async setTimestamp(e,t){e=Y(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=(await this.getDb()).transaction(k,"readwrite",{durability:"relaxed"});await r.store.put(n),await r.done}async getTimestamp(e){const n=await(await this.getDb()).get(k,this._getId(e));return n==null?void 0:n.timestamp}async expireEntries(e,t){const n=await this.getDb();let a=await n.transaction(k).store.index("timestamp").openCursor(null,"prev");const r=[];let i=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&i>=t?r.push(a.value):i++),a=await a.continue()}const c=[];for(const o of r)await n.delete(k,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+Y(e)}async getDb(){return this._db||(this._db=await ct(ut,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class dt{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new ft(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const a of t)await n.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,te(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<n:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}const g={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},W=s=>[g.prefix,s,g.suffix].filter(e=>e&&e.length>0).join("-"),pt=s=>{for(const e of Object.keys(g))s(e)},gt={updateDetails:s=>{pt(e=>{typeof s[e]=="string"&&(g[e]=s[e])})},getGoogleAnalyticsName:s=>s||W(g.googleAnalytics),getPrecacheName:s=>s||W(g.precache),getPrefix:()=>g.prefix,getRuntimeName:s=>s||W(g.runtime),getSuffix:()=>g.suffix},mt=new Set;function wt(s){mt.add(s)}class yt{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:n,cacheName:a,cachedResponse:r})=>{if(!r)return null;const i=this._isResponseDateFresh(r),c=this._getCacheExpiration(a);te(c.expireEntries());const o=c.updateTimestamp(n.url);if(t)try{t.waitUntil(o)}catch{}return i?r:null},this.cacheDidUpdate=async({cacheName:t,request:n})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(n.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&wt(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===gt.getRuntimeName())throw new Xe("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new dt(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const n=Date.now();return t>=n-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}try{self["workbox:routing:7.0.0"]&&_()}catch{}const ae="GET",T=s=>s&&typeof s=="object"?s:{handle:s};class P{constructor(e,t,n=ae){this.handler=T(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=T(e)}}class _t extends P{constructor(e,t,n){const a=({url:r})=>{const i=e.exec(r.href);if(i&&!(r.origin!==location.origin&&i.index!==0))return i.slice(1)};super(a,t,n)}}class Rt{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:n,request:e,event:t,params:r})}catch(h){l=Promise.reject(h)}const f=i&&i.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:n,request:e,event:t,params:r})}catch(b){b instanceof Error&&(h=b)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const i of r){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=ae){this._defaultHandlerMap.set(t,T(e))}setCatchHandler(e){this._catchHandler=T(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new R("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new R("unregister-route-route-not-registered")}}let E;const bt=()=>(E||(E=new Rt,E.addFetchListener(),E.addCacheListener()),E);function N(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),i=({url:c})=>c.href===r.href;n=new P(i,e,t)}else if(s instanceof RegExp)n=new _t(s,e,t);else if(typeof s=="function")n=new P(s,e,t);else if(s instanceof P)n=s;else throw new R("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return bt().registerRoute(n),n}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function L(s){return typeof s=="string"?new Request(s):s}class Ct{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new we,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=L(e);if(n.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const i=await t.preloadResponse;if(i)return i}const a=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const i of this.iterateCallbacks("requestWillFetch"))n=await i({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new R("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const r=n.clone();try{let i;i=await fetch(n,n.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))i=await c({event:t,request:r,response:i});return i}catch(i){throw a&&await this.runCallbacks("fetchDidFail",{error:i,event:t,originalRequest:a.clone(),request:r.clone()}),i}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=L(e);let n;const{cacheName:a,matchOptions:r}=this._strategy,i=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},r),{cacheName:a});n=await caches.match(i,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await o({cacheName:a,matchOptions:r,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=L(e);await Re(0);const a=await this.getCacheKey(n,"write");if(!t)throw new R("cache-put-with-no-response",{url:_e(a.url)});const r=await this._ensureResponseSafeToCache(t);if(!r)return!1;const{cacheName:i,matchOptions:c}=this._strategy,o=await self.caches.open(i),l=this.hasCallback("cacheDidUpdate"),f=l?await me(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?r.clone():r)}catch(h){if(h instanceof Error)throw h.name==="QuotaExceededError"&&await ye(),h}for(const h of this.iterateCallbacks("cacheDidUpdate"))await h({cacheName:i,oldResponse:f,newResponse:r.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let a=e;for(const r of this.iterateCallbacks("cacheKeyWillBeUsed"))a=L(await r({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[n]=a}return this._cacheKeys[n]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const n=this._pluginStateMap.get(t);yield r=>{const i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}}class re{constructor(e={}){this.cacheName=ge.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,r=new Ct(this,{event:t,request:n,params:a}),i=this._getResponse(r,n,t),c=this._awaitComplete(i,r,n,t);return[i,c]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new R("no-response",{url:t.url})}catch(r){if(r instanceof Error){for(const i of e.iterateCallbacks("handlerDidError"))if(a=await i({error:r,event:n,request:t}),a)break}if(!a)throw r}for(const r of e.iterateCallbacks("handlerWillRespond"))a=await r({event:n,request:t,response:a});return a}async _awaitComplete(e,t,n,a){let r,i;try{r=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:n,response:r}),await t.doneWaiting()}catch(c){c instanceof Error&&(i=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:n,response:r,error:i}),t.destroy(),i)throw i}}class ie extends re{async _handle(e,t){let n=await t.cacheMatch(e),a;if(!n)try{n=await t.fetchAndCachePut(e)}catch(r){r instanceof Error&&(a=r)}if(!n)throw new R("no-response",{url:e.url,error:a});return n}}const xt={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class ce extends re{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift(xt)}async _handle(e,t){const n=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(n);let a=await t.cacheMatch(e),r;if(!a)try{a=await n}catch(i){i instanceof Error&&(r=i)}if(!a)throw new R("no-response",{url:e.url,error:r});return a}}const H="sw-update-reload-times",oe="/lastUpdateMsgTimestamps",kt=10,Et=20*1e3;let le=!1;function Dt(s,e){let t;return(...n)=>{clearTimeout(t),t=setTimeout(()=>{s.apply(this,n)},e)}}function Ut(s,e=50,t=5e3){return new Promise(n=>{const a=Date.now(),r=()=>{s()||Date.now()-a>=t?n():setTimeout(r,e)};r()})}self.addEventListener("message",s=>{s.data&&s.data.type==="CLIENT_UPDATE_READY"&&(console.log("Service Worker: client ready"),le=!0)});async function Lt(s){const t=await(await caches.open(H)).match(`${oe}-${s}`);if(t)try{const n=await t.text();return JSON.parse(n)}catch{return[]}return[]}async function Pt(s,e){const t=await caches.open(H);if((await t.keys()).length>100){await caches.delete(H);return}const a=new Response(JSON.stringify(s));await t.put(`${oe}-${e}`,a)}const vt=Dt(async()=>{(await self.clients.matchAll()).forEach(e=>{e.postMessage({type:"SW_DOCUMENT_UPDATED"})})},100),X=/updatedAt:\s*\d+,/g,Tt={cacheDidUpdate:async({request:s,oldResponse:e,newResponse:t})=>{if(e)try{let n=await e.clone().text(),a=await t.clone().text();if(s.url.includes("__blocklet__.js")&&(n=n.replace(X,"updatedAt: ,"),a=a.replace(X,"updatedAt: ,")),n!==a){const r=Date.now(),c=(await Lt(s.url)).filter(o=>r-o<Et);if(c.length>=kt){console.warn("[SW] update too frequent, skip:",s.url);return}await Ut(()=>le),await Pt(c,s.url),console.log("[SW] document version or session updated",s.url),vt()}}catch(n){console.error("[SW] Error comparing document responses:",n)}}};Qe(([{"revision":null,"url":"assets/access-control-eEjmzQYf.js"},{"revision":null,"url":"assets/actions-DP7pj6xB.js"},{"revision":null,"url":"assets/AdapterDayjs-CDDcwz3P.js"},{"revision":null,"url":"assets/add-component-core-D-IRi6XF.css"},{"revision":null,"url":"assets/add-component-core-pJP41zEE.js"},{"revision":null,"url":"assets/add-resource-CZeL421l.js"},{"revision":null,"url":"assets/addon-CRj4Enw7.js"},{"revision":null,"url":"assets/advanced-P0pT0XgG.js"},{"revision":null,"url":"assets/api-BjteVZFg.js"},{"revision":null,"url":"assets/appearance-DeIbdwlo.js"},{"revision":null,"url":"assets/ar-CHiV3Onz.js"},{"revision":null,"url":"assets/ar-CSZJf27k.js"},{"revision":null,"url":"assets/ArrowDropDown-DPqiF9Rw.js"},{"revision":null,"url":"assets/audit-logs-DdN0-QQr.js"},{"revision":null,"url":"assets/authorize-C_rSdM9R.js"},{"revision":null,"url":"assets/base-chart-D6qRW4Yg.js"},{"revision":null,"url":"assets/base32-WurN0cIW.js"},{"revision":null,"url":"assets/branding-C6umqmKR.js"},{"revision":null,"url":"assets/branding-HedBd6t0.js"},{"revision":null,"url":"assets/bundle-avatar-B9he3Bf1.js"},{"revision":null,"url":"assets/button-_1HExv7r.js"},{"revision":null,"url":"assets/CheckCircle-Caqp5gKY.js"},{"revision":null,"url":"assets/ChevronLeft-DONyUbIg.js"},{"revision":null,"url":"assets/ChevronRight-DgAwWLdY.js"},{"revision":null,"url":"assets/click-to-copy-R7MF4AwY.js"},{"revision":null,"url":"assets/cloneDeep-UpFQ2VNg.js"},{"revision":null,"url":"assets/collapse-l9wHY9gJ.js"},{"revision":null,"url":"assets/Community-BnAsVqMr.js"},{"revision":null,"url":"assets/complete-D7dveRTo.js"},{"revision":null,"url":"assets/component-cssFwqtY.js"},{"revision":null,"url":"assets/config-Cd14MJHa.js"},{"revision":null,"url":"assets/config-eQ2Et0RC.js"},{"revision":null,"url":"assets/config-navigation-0pU9J0da.js"},{"revision":null,"url":"assets/config-space-CQ7Atb1l.js"},{"revision":null,"url":"assets/confirm-Tue92P8p.js"},{"revision":null,"url":"assets/connect-Cm-sTMiW.js"},{"revision":null,"url":"assets/connect-PdQoyrqe.js"},{"revision":null,"url":"assets/connect-to-FvVJBIsZ.js"},{"revision":null,"url":"assets/content-layout-fV4nyVb5.js"},{"revision":null,"url":"assets/dark-animation-DhFa8I7D.js"},{"revision":null,"url":"assets/dashboard-BhR1WNzF.js"},{"revision":null,"url":"assets/de-C-F2uwju.js"},{"revision":null,"url":"assets/de-CA1MfHz7.js"},{"revision":null,"url":"assets/default-animation-DARmPWCI.js"},{"revision":null,"url":"assets/delete-confirm-CHnQ2leb.js"},{"revision":null,"url":"assets/DeleteOutline-DpNyWtNL.js"},{"revision":null,"url":"assets/did-address-Dq-4__HB.js"},{"revision":null,"url":"assets/domain-action-card-Jvzi8kyL.js"},{"revision":null,"url":"assets/domain-FY9-unAU.js"},{"revision":null,"url":"assets/domains-CiBZW8yk.js"},{"revision":null,"url":"assets/Done-BTd13H2U.js"},{"revision":null,"url":"assets/dot-itVN8XTt.js"},{"revision":null,"url":"assets/Download-Bm8sKXA2.js"},{"revision":null,"url":"assets/Edit-CUl1Rt8i.js"},{"revision":null,"url":"assets/EditIcon-8BXW1OHp.js"},{"revision":null,"url":"assets/Email-BirbvqZ3.js"},{"revision":null,"url":"assets/email-z4l1k3Mi.js"},{"revision":null,"url":"assets/empty-spinner-BdaCO6xq.js"},{"revision":null,"url":"assets/Error-DEKvwVoF.js"},{"revision":null,"url":"assets/es-B2TJqtV4.js"},{"revision":null,"url":"assets/es-CXgvF2gS.js"},{"revision":null,"url":"assets/exchange-passport-DSoEjAA_.js"},{"revision":null,"url":"assets/ExpandLess-t1cH-Bc4.js"},{"revision":null,"url":"assets/fr-CzO5Th4h.js"},{"revision":null,"url":"assets/fr-DN38boH3.js"},{"revision":null,"url":"assets/fuel-CzrPInoR.js"},{"revision":null,"url":"assets/gen-access-key-BU2nGVgA.js"},{"revision":null,"url":"assets/get-safe-url-c4iAcpvA.js"},{"revision":null,"url":"assets/get-safe-url-Q70tRxL7.js"},{"revision":null,"url":"assets/Google-Bn3zPWiu.js"},{"revision":null,"url":"assets/hi-5tixPGqk.js"},{"revision":null,"url":"assets/hi-lZ18vyMl.js"},{"revision":null,"url":"assets/Holiday-C4KRd5t6.js"},{"revision":null,"url":"assets/home-BZ8WpcWZ.js"},{"revision":null,"url":"assets/Home-C3ax1tQ7.js"},{"revision":null,"url":"assets/id-CIDM1ypY.js"},{"revision":null,"url":"assets/id-QM66qYoI.js"},{"revision":null,"url":"assets/iframe-Dl8NEFc5.js"},{"revision":null,"url":"assets/index-5EytSaVA.js"},{"revision":null,"url":"assets/index-8eXqqyHQ.js"},{"revision":null,"url":"assets/index-AgKpYdvC.css"},{"revision":null,"url":"assets/index-B_NDUfon.js"},{"revision":null,"url":"assets/index-BKKwhjBs.js"},{"revision":null,"url":"assets/index-BmXcRfZR.js"},{"revision":null,"url":"assets/index-Bs1kxR8_.js"},{"revision":null,"url":"assets/index-BUHyq-oP.js"},{"revision":null,"url":"assets/index-C0Iiqot3.css"},{"revision":null,"url":"assets/index-C1XrZATd.js"},{"revision":null,"url":"assets/index-C3le1atN.js"},{"revision":null,"url":"assets/index-ChHy6AQ7.js"},{"revision":null,"url":"assets/index-CPE8Apzb.js"},{"revision":null,"url":"assets/index-D0F0qx_R.js"},{"revision":null,"url":"assets/index-D1kTR2xk.js"},{"revision":null,"url":"assets/index-D2a97Hdb.js"},{"revision":null,"url":"assets/index-D2uDBC1o.js"},{"revision":null,"url":"assets/index-DC3jOsuk.js"},{"revision":null,"url":"assets/index-DOq-_YXu.css"},{"revision":null,"url":"assets/index-DQD2rqsI.js"},{"revision":null,"url":"assets/index-DrHUHp5S.js"},{"revision":null,"url":"assets/index-DutfRO7F.js"},{"revision":null,"url":"assets/index-DVQCgvFb.js"},{"revision":null,"url":"assets/index-hkk3GUEf.js"},{"revision":null,"url":"assets/index-I6_gMaPh.js"},{"revision":null,"url":"assets/index-iB7JyXwh.js"},{"revision":null,"url":"assets/index-J3Tqz9ZT.js"},{"revision":null,"url":"assets/index-klBzz5vO.js"},{"revision":null,"url":"assets/index-m831cH-_.js"},{"revision":null,"url":"assets/index-NQMMaHuW.js"},{"revision":null,"url":"assets/index-P2m0RlAs.js"},{"revision":null,"url":"assets/index-RsjqbOR7.js"},{"revision":null,"url":"assets/InfoOutlined-D3XnF0Vg.js"},{"revision":null,"url":"assets/invitation-CGjIZ62g.js"},{"revision":null,"url":"assets/invite-CS_4jRwt.js"},{"revision":null,"url":"assets/issue-passport-B6-OzJX7.js"},{"revision":null,"url":"assets/item-CuLwkmbx.js"},{"revision":null,"url":"assets/ja-C8AmHPMo.js"},{"revision":null,"url":"assets/ja-pJLB4V2E.js"},{"revision":null,"url":"assets/keyboard-arrow-down-rounded-DadBVmpO.js"},{"revision":null,"url":"assets/ko-D2NP5Ixe.js"},{"revision":null,"url":"assets/ko-xDWtmcv7.js"},{"revision":null,"url":"assets/landing-page-DrVLCVAm.js"},{"revision":null,"url":"assets/Launch-Dz9mQnYC.js"},{"revision":null,"url":"assets/launch-result-message-FuvJDCvp.js"},{"revision":null,"url":"assets/LaunchOutlined-E7HcQu_6.js"},{"revision":null,"url":"assets/layout-CNC_rrzE.js"},{"revision":null,"url":"assets/list-BNMEncjS.js"},{"revision":null,"url":"assets/list-BTBbj1K4.js"},{"revision":null,"url":"assets/list-header-xt282ZMS.js"},{"revision":null,"url":"assets/localization-Bb0kc8SQ.js"},{"revision":null,"url":"assets/Location-DxPzfR_p.js"},{"revision":null,"url":"assets/LockIcon-DFb6sSpT.js"},{"revision":null,"url":"assets/log-29oTWiWO.js"},{"revision":null,"url":"assets/log-D33dFtt_.css"},{"revision":null,"url":"assets/logger-BAVOmOw2.js"},{"revision":null,"url":"assets/login-C52vMwpY.js"},{"revision":null,"url":"assets/login-oauth-callback-BrnNJIOK.js"},{"revision":null,"url":"assets/logo-uploader-Cir_HrSm.js"},{"revision":null,"url":"assets/lost-passport-C2-kDXqq.js"},{"revision":null,"url":"assets/lottie-error-CMOXHtBH.js"},{"revision":null,"url":"assets/lottie-loading-o-GBrhM9.js"},{"revision":null,"url":"assets/lottie-react.esm-D2t-u0YU.js"},{"revision":null,"url":"assets/lottie-web-jYmAQWuC.js"},{"revision":null,"url":"assets/lottie-welcome-C9B95FIi.js"},{"revision":null,"url":"assets/Meeting-DCL_ygud.js"},{"revision":null,"url":"assets/MoreHoriz-DpKn_fkc.js"},{"revision":null,"url":"assets/OffSick-DvgkmCUP.js"},{"revision":null,"url":"assets/omit-D2k92RIF.js"},{"revision":null,"url":"assets/open-window-Bl24RBAD.js"},{"revision":null,"url":"assets/overview-BKOb0zVP.js"},{"revision":null,"url":"assets/page-header-BWqvvXOk.js"},{"revision":null,"url":"assets/passport-item-OEfv-Vh7.js"},{"revision":null,"url":"assets/permission-DSHe73ba.js"},{"revision":null,"url":"assets/Phone-BkOMNOMO.js"},{"revision":null,"url":"assets/PlayArrow-CDOOUxMp.js"},{"revision":null,"url":"assets/preferences-BzGNV3pM.js"},{"revision":null,"url":"assets/profile-embed-iA-d50c3.js"},{"revision":null,"url":"assets/pt-D1apbJwE.js"},{"revision":null,"url":"assets/pt-DSj10b9i.js"},{"revision":null,"url":"assets/publish-resource-DayX-x8-.js"},{"revision":null,"url":"assets/QuestionMarkCircle-DTGyWFVS.js"},{"revision":null,"url":"assets/raf-schd.esm-B3j6BePR.js"},{"revision":null,"url":"assets/react-beautiful-dnd.esm-Ck4xzwyU.js"},{"revision":null,"url":"assets/ru-BNuzbw_f.js"},{"revision":null,"url":"assets/ru-D2AG9Iea.js"},{"revision":null,"url":"assets/runtime-BbgMhX7n.js"},{"revision":null,"url":"assets/sdk-DeS3iq37.js"},{"revision":null,"url":"assets/section-Ccxg0x_Y.js"},{"revision":null,"url":"assets/security-DFHcsUZl.js"},{"revision":null,"url":"assets/session-C_8V_o-O.js"},{"revision":null,"url":"assets/setup-Do62jucF.js"},{"revision":null,"url":"assets/shorten-label-DPIZ5X7v.js"},{"revision":null,"url":"assets/simple-select-CN3fsa56.js"},{"revision":null,"url":"assets/slicedToArray-DmqXMnHT.js"},{"revision":null,"url":"assets/spaces-DApg1wzn.js"},{"revision":null,"url":"assets/start-B8F850CZ.js"},{"revision":null,"url":"assets/starting-progress-BHUTOY2b.js"},{"revision":null,"url":"assets/status-D5JgbTyM.js"},{"revision":null,"url":"assets/step-actions-1pM57149.js"},{"revision":null,"url":"assets/studio-1mTu0Fgs.js"},{"revision":null,"url":"assets/switch-control-CpCSorUo.js"},{"revision":null,"url":"assets/table-tips-BfSSGl9N.js"},{"revision":null,"url":"assets/th-CRGgyPc5.js"},{"revision":null,"url":"assets/th-CsJSfFsn.js"},{"revision":null,"url":"assets/Timezone-D91Of94T.js"},{"revision":null,"url":"assets/traffic-Dvs1P0Re.js"},{"revision":null,"url":"assets/transfer-bax-fMxe.js"},{"revision":null,"url":"assets/TuneOutlined-D0gGDoIJ.js"},{"revision":null,"url":"assets/unsubscribe-DwUfpwja.js"},{"revision":null,"url":"assets/use-blocklet-logo-BZU9LLmz.js"},{"revision":null,"url":"assets/use-mobile-BAa0wi8o.js"},{"revision":null,"url":"assets/use-mobile-C21X4TYN.js"},{"revision":null,"url":"assets/use-passport-id-B-b-_oYF.js"},{"revision":null,"url":"assets/use-server-logo-CxuMvwKh.js"},{"revision":null,"url":"assets/useAsync-510ntT1B.js"},{"revision":null,"url":"assets/useLocalStorage-D6gvgmEW.js"},{"revision":null,"url":"assets/user-center-DQ_Kc4sL.js"},{"revision":null,"url":"assets/useSetState-CWq0AVWn.js"},{"revision":null,"url":"assets/util-BiCOL9ao.js"},{"revision":null,"url":"assets/util-DMfPwzVN.js"},{"revision":null,"url":"assets/vendor-arcblock-BlrkGjK9.js"},{"revision":null,"url":"assets/vendor-hooks-BgUTpb6X.js"},{"revision":null,"url":"assets/vendor-mui-core-BV2FUxWJ.js"},{"revision":null,"url":"assets/vendor-mui-x-Bo-XOtzq.js"},{"revision":null,"url":"assets/vendor-react-DEoibe3W.js"},{"revision":null,"url":"assets/vendor-utils-rHXShPKm.js"},{"revision":null,"url":"assets/vendor-ux-did-connect-2jRoUb28.js"},{"revision":null,"url":"assets/vendor-ux-did-connect-DpSGLE7B.css"},{"revision":null,"url":"assets/vi-Ce8JEW56.js"},{"revision":null,"url":"assets/vi-IIi6v-et.js"},{"revision":null,"url":"assets/ViewList-C8G9e3ft.js"},{"revision":null,"url":"assets/WorkingRemotely-CpchWcXV.js"},{"revision":null,"url":"assets/wrap-locale-0GIFYj8p.js"},{"revision":null,"url":"assets/zh-DQX0RFjY.js"},{"revision":null,"url":"assets/zh-S-Nv5zr-.js"},{"revision":null,"url":"assets/zh-tw-6n1CYpHc.js"},{"revision":null,"url":"assets/zh-tw-C-FYOTmO.js"},{"revision":"0dc8f8e74ec7261b7124218d0946de30","url":"index.html"},{"revision":"629a14a7e3397a134f5a30b5dc735183","url":"registerSW.js"},{"revision":"07a287e43ae8e959a20d6b367a581667","url":"router-template-styles/styles.css"},{"revision":"8f9b8997bf5804519b8e9f8dd1bb6ef9","url":"share/shared-bridge.html"},{"revision":"3c1549cff96a2d2baec44397663c083e","url":"share/shared-service-worker.js"},{"revision":"19d4c6a99cb8ed11e68209a612e7ec44","url":"share/workbox-v7.3.0/workbox-background-sync.prod.js"},{"revision":"d9d631014689e2b4b0e343c129671749","url":"share/workbox-v7.3.0/workbox-broadcast-update.prod.js"},{"revision":"bdb39ceb7380dcb1483c543e8856242b","url":"share/workbox-v7.3.0/workbox-cacheable-response.prod.js"},{"revision":"b84dd900eb18e8bc842666bbb740604e","url":"share/workbox-v7.3.0/workbox-core.prod.js"},{"revision":"c582a61c037234d8283eea0b97693b1b","url":"share/workbox-v7.3.0/workbox-expiration.prod.js"},{"revision":"866ba7d03bd871fa990976e4db312ab3","url":"share/workbox-v7.3.0/workbox-navigation-preload.prod.js"},{"revision":"0c55bb581ea7ce5ebfac1ce95cdda21f","url":"share/workbox-v7.3.0/workbox-offline-ga.prod.js"},{"revision":"770d183cf1f189a1ceb11ba8b5d808fa","url":"share/workbox-v7.3.0/workbox-precaching.prod.js"},{"revision":"295decbe1eb3b073a2a8d67cfbdf5692","url":"share/workbox-v7.3.0/workbox-range-requests.prod.js"},{"revision":"0bcb90677f3508ebc8a3571d14194478","url":"share/workbox-v7.3.0/workbox-recipes.prod.js"},{"revision":"4af96b70b2d20b041e2edd7ef1a8ef27","url":"share/workbox-v7.3.0/workbox-routing.prod.js"},{"revision":"c78c21b4058a1134ad3e12286c57cb2f","url":"share/workbox-v7.3.0/workbox-strategies.prod.js"},{"revision":"7eeb2d820d409221e076d31951fdcf79","url":"share/workbox-v7.3.0/workbox-streams.prod.js"},{"revision":"aa7368887577b9719a46b585d5dcc7a5","url":"share/workbox-v7.3.0/workbox-sw.js"},{"revision":"e768668db4eeefde11b58542900ab2ad","url":"share/workbox-v7.3.0/workbox-window.prod.umd.js"},{"revision":"f272d080151aa40322ce1603c6261ec1","url":"manifest.webmanifest"}]||[]).filter(s=>s.url!=="/"&&!s.url.includes("index.html")));be();self.addEventListener("activate",()=>{console.log("Service Worker activated")});self.addEventListener("install",s=>{console.log("Service Worker installed"),s.waitUntil(self.skipWaiting())});const he=s=>!!(s.method!=="GET"||s.url.includes("/api")||s.url.includes("__meta__.js")||s.url.includes("__blocklet__.js"));N(({request:s})=>he(s)?!1:s.url.includes("/static/"),new ie({cacheName:`static-${self.registration.scope}`,plugins:[new yt({maxEntries:200})]}));N(({request:s,url:e})=>{var t,n;return(n=(t=self.blocklet)==null?void 0:t.canCache)!=null&&n.call(t,{url:e})?["image","font","style","script"].includes(s.destination):!1},new ie({cacheName:`static-resources-${self.registration.scope}`}));N(({request:s})=>he(s)?!1:s.url.includes("/images/")||s.url.includes("/router/-template-styles/"),new ce({cacheName:`StaleWhileRevalidate-${self.registration.scope}`}));const Nt={cacheKeyWillBeUsed({request:s}){const e=new URL(s.url);return s.destination==="document"&&e.pathname.startsWith("/.well-known/service/admin")?(e.pathname="/.well-known/service/admin",e.search="",e.toString()):s.url}},w={};N(({request:s})=>{const e=new URL(s.url);return s.destination==="document"&&e.pathname.startsWith("/.well-known/service/admin")?(Object.keys(w).forEach(t=>delete w[t]),!0):!w.env&&s.url.includes(".well-known/service/api/env")?(w.env=!0,!0):!w.session&&s.url.includes(".well-known/service/api/did/session")?(w.session=!0,!0):!w.blocklet&&s.url.endsWith("__blocklet__.js")?(w.blocklet=!0,!0):!1},new ce({cacheName:`documents-${self.registration.scope}`,plugins:[Tt,Nt]}));
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.16.44-beta-
|
|
6
|
+
"version": "1.16.44-beta-20250529-004636-15e80e20",
|
|
7
7
|
"description": "Provide unified services for every blocklet",
|
|
8
8
|
"main": "api/index.js",
|
|
9
9
|
"files": [
|
|
@@ -33,17 +33,17 @@
|
|
|
33
33
|
"author": "wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)",
|
|
34
34
|
"license": "Apache-2.0",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@abtnode/analytics": "1.16.44-beta-
|
|
37
|
-
"@abtnode/auth": "1.16.44-beta-
|
|
38
|
-
"@abtnode/client": "1.16.44-beta-
|
|
39
|
-
"@abtnode/connect-storage": "1.16.44-beta-
|
|
40
|
-
"@abtnode/constant": "1.16.44-beta-
|
|
41
|
-
"@abtnode/core": "1.16.44-beta-
|
|
42
|
-
"@abtnode/cron": "1.16.44-beta-
|
|
43
|
-
"@abtnode/logger": "1.16.44-beta-
|
|
44
|
-
"@abtnode/models": "1.16.44-beta-
|
|
45
|
-
"@abtnode/router-templates": "1.16.44-beta-
|
|
46
|
-
"@abtnode/util": "1.16.44-beta-
|
|
36
|
+
"@abtnode/analytics": "1.16.44-beta-20250529-004636-15e80e20",
|
|
37
|
+
"@abtnode/auth": "1.16.44-beta-20250529-004636-15e80e20",
|
|
38
|
+
"@abtnode/client": "1.16.44-beta-20250529-004636-15e80e20",
|
|
39
|
+
"@abtnode/connect-storage": "1.16.44-beta-20250529-004636-15e80e20",
|
|
40
|
+
"@abtnode/constant": "1.16.44-beta-20250529-004636-15e80e20",
|
|
41
|
+
"@abtnode/core": "1.16.44-beta-20250529-004636-15e80e20",
|
|
42
|
+
"@abtnode/cron": "1.16.44-beta-20250529-004636-15e80e20",
|
|
43
|
+
"@abtnode/logger": "1.16.44-beta-20250529-004636-15e80e20",
|
|
44
|
+
"@abtnode/models": "1.16.44-beta-20250529-004636-15e80e20",
|
|
45
|
+
"@abtnode/router-templates": "1.16.44-beta-20250529-004636-15e80e20",
|
|
46
|
+
"@abtnode/util": "1.16.44-beta-20250529-004636-15e80e20",
|
|
47
47
|
"@arcblock/did": "1.20.11",
|
|
48
48
|
"@arcblock/did-auth": "1.20.11",
|
|
49
49
|
"@arcblock/did-ext": "1.20.11",
|
|
@@ -53,19 +53,19 @@
|
|
|
53
53
|
"@arcblock/jwt": "1.20.11",
|
|
54
54
|
"@arcblock/validator": "1.20.11",
|
|
55
55
|
"@arcblock/ws": "1.20.11",
|
|
56
|
-
"@blocklet/constant": "1.16.44-beta-
|
|
56
|
+
"@blocklet/constant": "1.16.44-beta-20250529-004636-15e80e20",
|
|
57
57
|
"@blocklet/dbhub": "^0.2.9",
|
|
58
58
|
"@blocklet/did-space-js": "^1.0.56",
|
|
59
|
-
"@blocklet/env": "1.16.44-beta-
|
|
59
|
+
"@blocklet/env": "1.16.44-beta-20250529-004636-15e80e20",
|
|
60
60
|
"@blocklet/error": "^0.2.4",
|
|
61
61
|
"@blocklet/form-builder": "^0.1.11",
|
|
62
62
|
"@blocklet/form-collector": "^0.1.8",
|
|
63
|
-
"@blocklet/images": "1.16.44-beta-
|
|
64
|
-
"@blocklet/js-sdk": "1.16.44-beta-
|
|
63
|
+
"@blocklet/images": "1.16.44-beta-20250529-004636-15e80e20",
|
|
64
|
+
"@blocklet/js-sdk": "1.16.44-beta-20250529-004636-15e80e20",
|
|
65
65
|
"@blocklet/mcp": "^1.10.2",
|
|
66
|
-
"@blocklet/meta": "1.16.44-beta-
|
|
67
|
-
"@blocklet/sdk": "1.16.44-beta-
|
|
68
|
-
"@blocklet/theme": "^2.13.
|
|
66
|
+
"@blocklet/meta": "1.16.44-beta-20250529-004636-15e80e20",
|
|
67
|
+
"@blocklet/sdk": "1.16.44-beta-20250529-004636-15e80e20",
|
|
68
|
+
"@blocklet/theme": "^2.13.55",
|
|
69
69
|
"@blocklet/theme-builder": "^0.1.19",
|
|
70
70
|
"@blocklet/uploader-server": "^0.1.99",
|
|
71
71
|
"@blocklet/xss": "^0.1.36",
|
|
@@ -120,16 +120,16 @@
|
|
|
120
120
|
"whatwg-url": "14.0.0"
|
|
121
121
|
},
|
|
122
122
|
"devDependencies": {
|
|
123
|
-
"@abtnode/ux": "1.16.44-beta-
|
|
124
|
-
"@arcblock/bridge": "^2.13.
|
|
125
|
-
"@arcblock/did-connect": "^2.13.
|
|
126
|
-
"@arcblock/icons": "^2.13.
|
|
127
|
-
"@arcblock/react-hooks": "^2.13.
|
|
128
|
-
"@arcblock/ux": "^2.13.
|
|
129
|
-
"@blocklet/launcher-layout": "^2.13.
|
|
130
|
-
"@blocklet/payment-react": "^1.18.
|
|
131
|
-
"@blocklet/tracker": "1.16.44-beta-
|
|
132
|
-
"@blocklet/ui-react": "^2.13.
|
|
123
|
+
"@abtnode/ux": "1.16.44-beta-20250529-004636-15e80e20",
|
|
124
|
+
"@arcblock/bridge": "^2.13.55",
|
|
125
|
+
"@arcblock/did-connect": "^2.13.55",
|
|
126
|
+
"@arcblock/icons": "^2.13.55",
|
|
127
|
+
"@arcblock/react-hooks": "^2.13.55",
|
|
128
|
+
"@arcblock/ux": "^2.13.55",
|
|
129
|
+
"@blocklet/launcher-layout": "^2.13.55",
|
|
130
|
+
"@blocklet/payment-react": "^1.18.48",
|
|
131
|
+
"@blocklet/tracker": "1.16.44-beta-20250529-004636-15e80e20",
|
|
132
|
+
"@blocklet/ui-react": "^2.13.55",
|
|
133
133
|
"@blocklet/uploader": "^0.1.93",
|
|
134
134
|
"@emotion/react": "^11.11.4",
|
|
135
135
|
"@emotion/styled": "^11.11.5",
|
|
@@ -206,5 +206,5 @@
|
|
|
206
206
|
"url": "https://github.com/ArcBlock/blocklet-server/issues",
|
|
207
207
|
"email": "shijun@arcblock.io"
|
|
208
208
|
},
|
|
209
|
-
"gitHead": "
|
|
209
|
+
"gitHead": "93f38f56824d2dd2afcd6950b73a67510d9cd18c"
|
|
210
210
|
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const { ROLES } = require('@abtnode/constant');
|
|
2
|
-
|
|
3
|
-
module.exports = (req, res, next) => {
|
|
4
|
-
if (!req.user) {
|
|
5
|
-
res.status(401).json({ code: 'forbidden', error: 'not authorized' });
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
if (![ROLES.OWNER, ROLES.ADMIN].includes(req.user.role)) {
|
|
10
|
-
res.status(403).json({ code: 'forbidden', error: 'no permission' });
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
next();
|
|
15
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as p,J as _}from"./vendor-utils-rHXShPKm.js";import{j}from"./vendor-ux-did-connect-DIlRfE_S.js";import{r as e}from"./vendor-react-DEoibe3W.js";import{D as C,G as T}from"./index-YbYWmpAT.js";import{u as B}from"./use-mobile-C21X4TYN.js";import{e as k,j as o,aa as h,ab as H}from"./vendor-mui-core-BV2FUxWJ.js";import"./vendor-hooks-BgUTpb6X.js";import"./lottie-web-jYmAQWuC.js";import"./vendor-arcblock-DuPySS9V.js";function $(){const{info:g,inService:m}=C(),{did:E}=T(),c=e.useRef(null),s=k(),[w,x]=e.useState(0),f=B(),[i,y]=e.useState(!0),d=e.useRef(null);let r="";m?r=j.WELLKNOWN_SERVICE_PATH_PREFIX:r=g.routing.adminPath;const l=new URLSearchParams;m||l.set("authKey","__sst"),l.set("schemaKey",p(window.location.origin,r,`/api/theme?id=${encodeURIComponent(E)}`));const a=e.useCallback(()=>{if(d.current){const n=window.location.origin,t=_(JSON.parse(JSON.stringify(s)),["palette","typography","shape","direction","breakpoints","mixins","shadows","transitions","zIndex"]);d.current.contentWindow.postMessage({type:"SEND_THEME",payload:t},n)}},[s]);return e.useEffect(()=>{const n=t=>{t.origin===window.location.origin&&(t.data.type==="REQUEST_THEME"&&a(),t.data.type==="THEME_BUILDER_LOADED"&&y(!1))};return window.addEventListener("message",n),()=>{window.removeEventListener("message",n)}},[a]),e.useEffect(()=>{i===!1&&a()},[s,i,a]),e.useEffect(()=>{const n=document.querySelector("#arc__dashboard-main"),t=document.querySelector(".dashboard-content"),u=()=>{if(c.current){const{height:R}=n.getBoundingClientRect(),{top:S}=t.getBoundingClientRect(),{top:L}=c.current.getBoundingClientRect(),b=R-L+S-(f?108:164);x(b)}};return u(),window.addEventListener("resize",u),()=>{window.removeEventListener("resize",u)}},[f,s]),o.jsxs(o.Fragment,{children:[o.jsx(h,{ref:c}),i&&o.jsx(h,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"500px"},children:o.jsx(H,{})}),o.jsx("iframe",{title:"Theme Builder",ref:d,src:`${p(window.location.origin,r,"/hosted/theme-builder/")}?${l.toString()}`,style:{border:0,width:"100%",height:`${w}px`,display:i?"none":"block"}})]})}export{$ as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{v as R,j as e,aa as t,ab as I,y as d,T as a,bc as W,ad as L,bQ as D,bs as E,bR as O,X as T,be as y,al as F}from"./vendor-mui-core-BV2FUxWJ.js";import{r as _}from"./vendor-react-DEoibe3W.js";import{x as B}from"./vendor-hooks-BgUTpb6X.js";import{A as U}from"./vendor-utils-rHXShPKm.js";import{a as H,bj as M,z as w,j as v}from"./vendor-ux-did-connect-DIlRfE_S.js";import{L as x}from"./landing-page-BOy_W1aP.js";import{R as Q,H as X}from"./vendor-arcblock-DuPySS9V.js";import{W as G}from"./did-address-BlAXR08O.js";import{d as K}from"./Home-BaA3V3I7.js";import{u as V,d as Y}from"./index-YbYWmpAT.js";import"./lottie-web-jYmAQWuC.js";function oe(){var g,j,f,b;const{searchParams:i}=new URL(window.location.href),{session:o}=V(),{t:c}=H(),u=i.get("client_id"),C=i.get("scope")||"profile:read",[m,k]=_.useState(C.split(" ").filter(Boolean)),S=R("(max-width: 600px)"),A=U(window.location.origin,v.WELLKNOWN_SERVICE_PATH_PREFIX,"/oauth/authorize"),[h,p]=B({client:null,loading:!0});_.useEffect(()=>{(async()=>{const{data:n}=await Y.get("/oauth/client",{params:{clientId:u}});p({client:n,loading:!1})})()},[u,p]);const z=s=>{s!=="profile:read"&&k(n=>n.includes(s)?n.filter(P=>P!==s):[...n,s])};if(h.loading||!(o!=null&&o.user))return e.jsx(x,{did:(g=window.blocklet)==null?void 0:g.appPid,standalone:!0,children:e.jsx(t,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:e.jsx(I,{})})});if(!h.client)return e.jsx(x,{did:(j=window.blocklet)==null?void 0:j.appPid,standalone:!0,children:e.jsx(t,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:e.jsx(Q,{style:{backgroundColor:"transparent"},status:"error",title:c("notFoundOauthClient"),extra:e.jsx(d,{variant:"outlined",color:"primary",size:"small",startIcon:e.jsx(K,{}),href:"/",style:{borderRadius:4},children:c("connectCli.home")})})})});const{client:r}=h,{user:l}=o,N=(r.scope||"").split(" ");return e.jsxs(x,{did:(f=window.blocklet)==null?void 0:f.appPid,standalone:!0,children:[e.jsx(X,{children:e.jsx("title",{children:c("oauth.authorize")})}),e.jsx(M,{hideCloseButton:!0,children:e.jsxs(t,{sx:{display:"flex",flexDirection:"column",p:{xs:2,lg:3,xl:4},pt:{xs:3,xl:4},bgcolor:"background.paper"},className:"page-authorize",children:[e.jsxs(t,{sx:{textAlign:"center",mb:2},children:[e.jsxs(t,{sx:{display:"flex",alignItems:"center",justifyContent:"center",mb:2},children:[e.jsx(w,{src:(b=window.blocklet)==null?void 0:b.appLogo,alt:"Server",width:48,height:48}),e.jsxs(t,{sx:{mx:2,display:"flex",alignItems:"center","& .dot":{width:8,height:8,borderRadius:"50%",bgcolor:"divider",mx:.5}},children:[e.jsx(t,{className:"dot"}),e.jsx(t,{className:"dot"}),e.jsx(t,{className:"dot"})]}),e.jsx(w,{src:r.logo_uri,alt:r.client_name,width:48,height:48})]}),e.jsxs(a,{sx:{mb:1,fontSize:"1.2rem","& .app-name":{color:"primary.main"}},children:["Authorize ",e.jsx("span",{className:"app-name",children:r.client_name})]})]}),e.jsxs(t,{sx:{display:"flex",alignItems:"center",width:"100%",overflow:"hidden",mb:3,p:2,border:"1px solid",borderColor:"divider",borderRadius:1},className:"info",children:[e.jsx(W,{src:l.avatar,style:{width:48,height:48,backgroundColor:"transparent",marginRight:16}}),e.jsxs(t,{sx:{flex:1,overflow:"hidden"},children:[e.jsx(L,{title:l.fullName,children:e.jsx(t,{className:"name",sx:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:l.fullName})}),e.jsx(t,{className:"did",children:e.jsx(G,{compact:!0,responsive:!1,did:l.did,showQrcode:!S})})]})]}),e.jsxs(a,{variant:"subtitle1",sx:{mb:2,fontWeight:500},children:["Allow ",r.client_name," to do the following on your behalf:"]}),e.jsxs(t,{sx:{border:"1px solid",borderColor:"divider",borderRadius:2,overflow:"hidden"},children:[e.jsx(t,{sx:{p:2},children:e.jsx(D,{children:Object.entries(v.OAUTH_SCOPES).filter(([s])=>N.includes(s)).map(([s,n])=>e.jsx(E,{control:e.jsx(O,{checked:m.includes(s),onChange:()=>z(s),disabled:s==="profile:read"||["blocklet:read","blocklet:write"].includes(s)&&!["owner","admin","member"].includes(l.role),color:"primary",sx:{"&.Mui-checked":{color:"success.main"}}}),label:e.jsx(t,{children:e.jsx(a,{variant:"body1",sx:{fontWeight:500},children:n})}),sx:{mb:0}},s))})}),(r.tos_uri||r.policy_uri)&&e.jsxs(e.Fragment,{children:[e.jsx(T,{}),e.jsx(t,{sx:{height:1,bgcolor:"divider"}}),e.jsx(t,{sx:{p:2,color:"text.secondary"},children:e.jsxs(a,{variant:"body2",children:["By authorize the access, you also agree with the"," ",!!r.tos_uri&&e.jsx(y,{href:r.tos_uri,target:"_blank",children:"Terms of Use"}),!!r.tos_uri&&!!r.policy_uri&&" and ",!!r.policy_uri&&e.jsx(y,{href:r.policy_uri,target:"_blank",children:"Privacy Policy"})]})})]})]}),e.jsxs("form",{method:"POST",action:A,children:[i.get("client_id")&&e.jsx("input",{type:"hidden",name:"client_id",value:i.get("client_id")}),i.get("response_type")&&e.jsx("input",{type:"hidden",name:"response_type",value:i.get("response_type")}),i.get("redirect_uri")&&e.jsx("input",{type:"hidden",name:"redirect_uri",value:i.get("redirect_uri")}),i.get("code_challenge")&&e.jsx("input",{type:"hidden",name:"code_challenge",value:i.get("code_challenge")}),i.get("code_challenge_method")&&e.jsx("input",{type:"hidden",name:"code_challenge_method",value:i.get("code_challenge_method")}),i.get("state")&&e.jsx("input",{type:"hidden",name:"state",value:i.get("state")}),e.jsx("input",{type:"hidden",name:"scope",value:m.join(" ")}),e.jsx(t,{sx:{mt:"auto",pt:3},children:e.jsxs(F,{direction:"row",spacing:2,children:[e.jsx(d,{variant:"outlined",size:"large",fullWidth:!0,type:"submit",name:"action",value:"deny",children:"Cancel"}),e.jsx(d,{variant:"contained",size:"large",fullWidth:!0,type:"submit",name:"action",value:"allow",children:"Authorize"})]})}),i.get("redirect_uri")&&e.jsxs(t,{sx:{mt:3,textAlign:"center"},children:[e.jsx(a,{variant:"body2",color:"text.secondary",children:"You will be redirected to"}),e.jsx(a,{variant:"body2",color:"text.secondary",sx:{wordBreak:"break-all"},children:i.get("redirect_uri")})]}),e.jsx(t,{sx:{mt:2,textAlign:"center"},children:e.jsxs(a,{variant:"body2",children:["Not you?"," ",e.jsx(d,{variant:"text",color:"primary",onClick:()=>o.switchDid(),sx:{p:0,minWidth:"auto",textTransform:"none",verticalAlign:"baseline",fontWeight:"inherit",fontSize:"inherit","&:hover":{background:"none",textDecoration:"underline"}},children:"Use another account"})]})})]})]})})]})}export{oe as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={auth:{noPermission:{title:"Keine Erlaubnis",description:"Du bist nicht der Administrator des Blocklets"}},login:{reLogin:"Verbinden",description:"Du musst deine DIDs Wallet verbinden, um auf {name} zuzugreifen",already:"Du bist verbunden als",connectWallet:"Verbinde das DID Wallet",closeWindow:"Fenster schließen",accessLimit:{title:"Seitenzugriff eingeschränkt",description:"Diese Seite erfordert die folgenden Pässe zum Zugriff, verbinden Sie sich bitte mit dem Portemonnaie, um den entsprechenden Pass zu ändern oder zu beantragen.",alreadyHavePassport:"Habe bereits den Reisepass",connectWithPassport:"Verbinde mit diesem Reisepass",buyPassport:"Kaufen Sie einen Reisepass"},switchDid:{title:"Konto wechseln",scan:"Verwenden Sie die folgenden Methoden, um das Konto zu wechseln",confirm:"Bestätige den Wechsel in deiner DID-Wallet",success:"Erfolgreich umgeschaltet"},switchSpecifiedDid:{title:"Konto wechseln",scan:"Du musst die DID zu {did} wechseln, um die folgenden Aktionen abzuschließen.",confirm:"Bestätigen Sie den Wechsel in Ihrer DID-Brieftasche",success:"Erfolgreich gewechselt"},connect:{title:"Verbinden",scan:"Verwenden Sie bitte die folgenden Methoden, um die Verbindung herzustellen",confirm:"Bestätigen Sie in Ihrer DID-Geldbörse",success:"Sie sind erfolgreich verbunden"},needManualClose:"Anmeldung erfolgreich. Wenn sich dieses Fenster nicht automatisch schließt, bitte schließen.",connectWithPassport:"Verbinde dich mit diesem Reisepass",invalidRedirectUrl:"Ungültige Weiterleitungs-URL",issueKyc:{pageDescription:"Schließen Sie die Verifizierung ab, um Ihr Konto zu sichern und ein wiederverwendbares NFT zu erhalten, das von anderen Websites vertraut werden kann (einmal überprüfen und überall präsentieren).",verifyButton:"Überprüfen",sendCodeButton:"Holen Sie sich einen Bestätigungscode",codeSentMessage:"Wir haben gerade einen Bestätigungscode an {email} gesendet. Der Code ist 30 Minuten lang gültig. Bitte überprüfen Sie Ihr Postfach oder Spam-Ordner.",codeSentSuccess:"Bestätigungscode erfolgreich gesendet",claim:"Bestätigungs-E-Mail-Zertifikat abrufen",scan:"Verbinden Sie Ihre DID-Brieftasche, um das Zertifikat zu erhalten",confirm:"Bestätigen Sie auf Ihrem DID Wallet",success:"Herzlichen Glückwunsch! Sie haben Ihre E-Mail erfolgreich verifiziert und das Zertifikat in Ihrem DID Wallet beansprucht.",backToHome:"Zurück zum Start",emailPlaceholder:"Ihre E-Mail-Adresse",verifyTitle:"Bestätigen Sie Ihre E-Mail-Adresse",issueTitle:"Anspruch E-Mail-Verifizierung NFT",verifyAction:"Überprüfen",issueAction:"Beanspruchung",issueTarget:"Du bist {action} für die folgende DID, klicke auf den Avatar, um eine weitere DID hinzuzufügen"},updateKyc:{button:"Zertifikat präsentieren",title:"Präsentieren Sie das verifizierte E-Mail-Zertifikat",scan:"Verbinden Sie Ihre DID-Brieftasche, um das Zertifikat vorzulegen",confirm:"Bestätigen Sie auf Ihrem DID Wallet",success:"Herzlichen Glückwunsch! Ihr NFT wurde überprüft und akzeptiert."},invalidOpenerUrl:"Ungültige Opener-URL"},studio:{home:"Studio",preferences:"Präferenzaufbau",localization:"Lokalisierung",branding:"Markenbilder",ratio:"Verhältnis",size:"Größe",count:"Zählen",tip:"Tipp",change:"Klicken Sie auf das Logo, um es zu ändern.",order:"Bestellung",orderTip:"Ziehen zum Ändern",orderTipLong:"Ziehen Sie, um zu ändern. Wenn Sie Screenshots auf der Festplatte löschen, aktualisieren Sie bitte die Seite.",type:"Typ",videoTipLong:"Klicke auf das Cover, um den Videolink zu bearbeiten.",video:"Video",videoTooltip:"Ziehen Sie, um die Reihenfolge zu ändern.",videoType:"Unterstützte Webseiten",videoDialogTitle:"Video hinzufügen",videoDialogEditTitle:"Video bearbeiten/löschen",videoInputLabel:"Geben Sie einen YouTube- oder Vimeo-Videolink ein",videoDialogNoSrc:"Bitte geben Sie einen gültigen Videolink ein",duplicateVideo:"Dieses Video wurde hinzugefügt",confirm:"Bestätigen",cancel:"Abbrechen",preview:"Vorschau",delete:"Löschen",title:"Bilder für {title} bereitstellen",description:"Mehr Informationen finden Sie unter",documentation:"Dokumentation"},blocklet:{startApplication:"Starte Anwendung",startDescription:"Bereit, {name} zu starten",start:"Start",starting:"Starten...",open:"Öffnen",suspended:"Anwendung ausgesetzt",manageSubscription:"Abonnement verwalten",suspendedCausedByExpired:"Diese Anwendung wurde aufgrund einer Abonnementkündigung am {canceledAt} beendet. Sie können Ihr Abonnement vor dem {deadline} wieder aufnehmen.",suspendedCausedByPastDue:"Diese Anwendung wurde wegen Zahlungsrückständen des Abonnements ausgesetzt. Schließen Sie die Erneuerung vor dem {deadline} ab, um den Dienst wieder aufzunehmen. Nach dem Stichtag ist keine Erneuerung oder Wiederaufnahme mehr möglich.",willBeSuspendedSoon:"Diese Anwendung wird den Dienst am {deadline} einstellen, da das Abonnement kurz vor der Kündigung steht. Wenn Sie sie weiterhin nutzen möchten, stellen Sie Ihr Abonnement rechtzeitig wieder her.",suspendedCausedByTerminated:"Die Anwendung wurde aufgrund der am {canceledAt} gekündigten Subscription beendet und die Daten werden bis zum {deadline} vorgehalten. Bevor die Daten gelöscht werden, können Sie die Daten in DID Spaces sichern.",terminated:"Anwendung beendet",gotoVisitError:"Kann URL des Blocklets nicht aufrufen, bitte später erneut versuchen.",payNow:"Jetzt bezahlen",startLoadingText:"Dienst wird gestartet und kann einige Minuten dauern, bitte warten...",startingProgress:{starting:"Starte {name}...",success:"{name} erfolgreich gestartet",failed:"{name} konnte nicht gestartet werden"}},setup:{steps:{connect:"Verbinden",didSpace:"DID Spaces",config:"Konfiguration",domain:"Domain",access:"Zugangskontrolle",fuel:"Kraftstoff",complete:"Komplett",introduction:"Einführung",selectNodeDesc:"Wähle Blocklet Server aus",launchAppDesc:"Blocklet auf Server installieren",setupAppDesc:"Setup Blocklet",launched:"Vervollständigen"},connect:{title:"Verbinde mit Anwendung",scan:"Verwenden Sie die folgenden Methoden, um Benutzerprofil und Blocklet-Besitzerrechte bereitzustellen. Anschließend können Sie die App konfigurieren und starten.",confirm:"Bestätigen Sie in Ihrer DID-Brieftasche",success:"Sie sind erfolgreich verbunden"},domain:{addTitle:"Bestehende Domain binden (Optional)",title:"Domain auswählen",subTitle:"Passe deine Domain für die Anwendung an",label:"Bitte geben Sie einen gültigen Domainnamen an",tipStart:"Bitte stellen Sie sicher",tipEnd:"Hat Punkt zum aktuellen Server",addingCert:"Zertifikat wird erstellt...",recordType:"Datentyp",recordValue:"Aufzeichnungswert",genCertSuccess:"Das {domain}-Zertifikat wurde erfolgreich ausgestellt",genCertFailed:"Fehler beim Ausstellen des Zertifikats für {domain}: {message}",genCertFailedForNFTDomain:"NFT-Domain erfolgreich hinzugefügt, aber das HTTPS-Zertifikat konnte nicht generiert werden. Bitte versuche es später erneut.",buyDIDDomainTitle:"Kaufe eine DID-Domain (Optional)",buyDIDDomainTips:"Nach dem Kauf einer DID-Domain wird diese automatisch an die Anwendung gebunden.",buyOrConnect:"Sie können eine bestehende Domain kaufen oder konfigurieren",skipDescription:"Sie können vorübergehend die Standarddomains verwenden. Diese Domains sind nicht für die Produktion geeignet und sollten nicht mit Kunden geteilt werden."},didSpace:{title:"Konfigurieren Sie DID Spaces",subTitle:"Bitte schließen Sie den folgenden Verbindungsvorgang ab, um Anwendungsdaten in DID Spaces zu speichern.",tips:"Tipps",description:"Konfigurieren Sie die DID Spaces Instanzadresse und speichern Sie die Anwendungsdaten in DID Spaces nach einer erfolgreichen Verbindung",label:"Bitte wählen Sie den DID Spaces-Dienst",connected:"Sie haben erfolgreich eine Verbindung mit DID Spaces hergestellt",connect:"Verbinden Sie jetzt",reconnect:"Verbinden",addressCannotEmpty:"Die Adresse darf nicht leer sein",addressNotValid:"{url} ist keine gültige Adresse.",authorize:{title:"Verbinde {appName} mit DID Spaces",scan:"Verwenden Sie die folgenden Methoden, um der App {appName} die Verbindung zu DID Spaces zu ermöglichen",success:"Erfolgreich verbunden"}},config:{title:"Konfiguration",subTitle:"Andere Konfigurationselemente (Sie müssen auch die folgenden Elemente festlegen)"},complete:{title:"Ihre App ist bereit",failedTitle:"Fehler beim Starten der App",backToServer:"Zurück zum Blocklet Server",notRunning:"App konnte beim ersten Versuch nicht starten, bitte erneut versuchen",readyToStart:"Ihre App ist bald fertig"},fuel:{title:"Kraftstoff zum Starten erforderlich",tipStart:"Schlitz",tipEnd:"Für diese Anwendung ist eine Guthaben erforderlich, damit die Anwendung ordnungsgemäß funktionieren kann. Die Gelder werden in der Anwendungsbrieftasche gespeichert und können für Transaktionsgebühren verwendet werden. Sie können Ihr Guthaben jederzeit abheben, wenn Sie die App nicht mehr verwenden.",addressTitle:"Anwendungskonto",addressTip:"Befüllen Sie die Anwendung mit einer DID Wallet",need:"Brauchen",current:"Aktuell",fuelApp:"Anwendung mit Treibstoff versorgen"},title:"Aufbau",next:"Nächster",previous:"Vorherige",continue:"Weiter",skip:"Überspringen",startNow:"Starte jetzt",confirm:"Bestätigen",cancel:"Abbrechen"},user:{walletNotification:"DID Wallet Benachrichtigung",emailNotification:"E-Mail-Benachrichtigung",smsNotification:"SMS-Benachrichtigung",addWebhook:"Neuen Webhook hinzufügen"},pageTitle:{login:"Anmelden",dashboard:"Blocklet-Dashboard",userCenter:"Benutzerzentrum",invite:"Einladen",issuePassport:"Reisepass ausstellen",lostPassport:"Verloren Reisepass"},errorPage:{404:{title:"Ups! Seite nicht gefunden",description:"Es scheint, dass die gesuchte Seite nicht existiert.",backHome:'Wenn Sie ein Besucher sind, können Sie <a href="{url}">zurück zur Startseite gehen</a>',goToDashboard:"Wenn Sie der Site-Besitzer sind, können Sie sich im <a href={url}>Dashboard anmelden</a>."}},common:{branding:"Branding",theming:"Design",navigation:"Navigation",sitemap:"Sitemap",advanced:"Erweitert",performance:"Leistung",docs:"Dokumente",comingSoon:"Bald verfügbar",accessKeys:"Zugriffsschlüssel"},connectCli:{title:"Verbinden, um Zugangsschlüssel zu generieren",scan:"Scannen Sie folgenden QR-Code, um den Zugangsschlüssel zu generieren",success:"Verbindung zum Generieren des Zugriffsschlüssels erfolgreich hergestellt",successDesc:"Zugriffsschlüssel erfolgreich generiert, diese Seite kann sicher geschlossen werden. Sie können jetzt lokale Blocklets mit dem generierten Zugriffsschlüssel hochladen.",invalidSession:"Ungültige Sitzung",invalidSessionDesc:"Sitzung existiert nicht oder ist abgelaufen. Verwenden Sie den Befehl 'blocklet deploy --endpoint {endpoint}', um den Zugriffsschlüssel neu zu generieren.",connectionError:"Zugriffsschlüssel konnte nicht generiert werden",home:"Zurück zur Startseite",tips:{title:"Zugriffsschlüssel generieren",item1:"Unterstützt lokale Bereitstellung von Blocklets in der aktuellen Anwendung",item2:"Wird in der Liste der Zugriffsschlüssel der Anwendung angezeigt",item3:"Sie können den Zugriffsschlüssel jederzeit in der Liste widerrufen"}},notFoundOauthClient:"OAuth-App nicht gefunden, bitte überprüfen Sie Ihre OAuth-Konfiguration und versuchen Sie es erneut."};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as m}from"./vendor-react-DEoibe3W.js";import{a as n}from"./vendor-ux-did-connect-DIlRfE_S.js";import{G as p,D as l,M as c,f as u}from"./index-YbYWmpAT.js";import{a as x,b as d}from"./domain-action-card-C4FpSn67.js";import{j as t,aa as k,al as f,ak as D}from"./vendor-mui-core-BV2FUxWJ.js";import"./vendor-utils-rHXShPKm.js";import"./vendor-hooks-BgUTpb6X.js";import"./lottie-web-jYmAQWuC.js";import"./vendor-arcblock-DuPySS9V.js";import"./ExpandLess-CudE_1oQ.js";import"./permission-fpFyADH8.js";import"./session-Djj2U6sa.js";import"./dot-itVN8XTt.js";import"./useAsync-510ntT1B.js";import"./confirm-DI8TUyRK.js";import"./index-8eXqqyHQ.js";import"./actions-azdiYocL.js";import"./MoreHoriz-D-L8sA4c.js";import"./delete-confirm-Bn1HZjaL.js";import"./click-to-copy-ByEMWZD_.js";import"./util-Cs-QbPU0.js";import"./useSetState-CWq0AVWn.js";import"./InfoOutlined-Cd28U1Oc.js";import"./index-DSoHmrHd.js";import"./CheckCircle-BBSSDlcc.js";function h(){const{blocklet:o,actions:{updateBlockletDomainAliases:i}}=p(),{inService:r}=l(),{t:e}=n(),a=m.useMemo(()=>{let s=!0;return c(o)&&(s=s&&r),s},[r,o]);return t.jsxs(k,{component:f,sx:{maxWidth:820},gap:3,children:[t.jsxs(t.Fragment,{children:[u.isAccessible(o.status)===!1&&t.jsx(D,{severity:"warning",children:e("blocklet.router.noRunning")}),a&&t.jsx(x,{blocklet:o,updateBlockletDomainAliases:i,connectDomainProps:{shouldCheckDomain:!0}})]}),t.jsx(d,{showAllDomains:!0,updateBlockletDomainAliases:i})]})}h.propTypes={};export{h as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={auth:{noPermission:{title:"Pas de permission",description:"Vous n'êtes pas l'administrateur du bloclet"}},login:{reLogin:"Reconnecter",description:"Vous devez connecter votre portefeuille DID pour accéder à {name}",already:"Vous êtes connecté en tant que",connectWallet:"Connecter le portefeuille DID",closeWindow:"Fermer la fenêtre",accessLimit:{title:"Accès à la page restreint",description:"Cette page nécessite les passeports suivants pour y accéder, veuillez vous connecter au portefeuille pour changer ou demander le passe correspondant.",alreadyHavePassport:"J'ai déjà le passeport",connectWithPassport:"Connectez-vous avec ce passeport",buyPassport:"Acheter un passeport"},switchDid:{title:"Changer de compte",scan:"Utilisez les méthodes suivantes pour changer de compte",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Basculé avec succès"},switchSpecifiedDid:{title:"Changer de compte",scan:"Vous devez basculer de DID à {did} pour effectuer les actions suivantes.",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Changement effectué avec succès"},connect:{title:"Connecter",scan:"Veuillez utiliser les méthodes suivantes pour établir la connexion",confirm:"Confirmez sur votre portefeuille DID",success:"Vous êtes connecté avec succès"},needManualClose:"Connexion réussie, si cette fenêtre ne se ferme pas automatiquement, veuillez la fermer.",connectWithPassport:"Connectez-vous avec ce passeport",invalidRedirectUrl:"URL de redirection non valide",issueKyc:{pageDescription:"Complétez la vérification pour sécuriser votre compte et obtenir un NFT réutilisable, qui peut être approuvé par d'autres sites (vérifiez une fois et présentez partout).",verifyButton:"Vérifier",sendCodeButton:"Obtenez le code de vérification",codeSentMessage:"Nous venons d'envoyer un code de vérification à {email}, le code sera valide pendant 30 minutes, veuillez vérifier votre boîte de réception ou votre dossier spam.",codeSentSuccess:"Code de vérification envoyé avec succès",claim:"Certificat de messagerie électronique vérifiée",scan:"Connectez votre DID Wallet pour recevoir le certificat",confirm:"Confirmer sur votre portefeuille DID",success:"Félicitations! Vous avez vérifié votre e-mail avec succès et revendiqué le certificat dans votre DID Wallet.",backToHome:"Retour à la page d'accueil",emailPlaceholder:"Votre adresse e-mail",verifyTitle:"Vérifiez votre adresse e-mail",issueTitle:"Réclamation de vérification par email NFT",verifyAction:"Vérification",issueAction:"revendication",issueTarget:"Vous êtes {action} pour le DID suivant, cliquez sur l'avatar pour ajouter un autre DID"},updateKyc:{button:"Présenter le certificat",title:"Présenter le certificat d'e-mail vérifié",scan:"Connectez votre porte-monnaie DID pour présenter le certificat",confirm:"Confirmez sur votre DID Wallet",success:"Félicitations ! Votre NFT est vérifié et accepté."},invalidOpenerUrl:"URL d'ouverture invalide"},studio:{home:"Studio",preferences:"Générateur de préférences",localization:"Localisation",branding:"Images de marque",ratio:"Ratio",size:"Taille",count:"Compter",tip:"Conseil",change:"Cliquez sur le logo pour changer.",order:"Commande",orderTip:"Glisser pour changer",orderTipLong:"Faites glisser pour modifier. Si vous supprimez des captures d'écran sur le disque, veuillez rafraîchir la page.",type:"Type",videoTipLong:"Cliquez sur la couverture pour modifier le lien vidéo.",video:"Vidéo",videoTooltip:"Glissez pour changer l'ordre.",videoType:"Sites Web compatibles",videoDialogTitle:"Ajouter une vidéo",videoDialogEditTitle:"Modifier/Supprimer la vidéo",videoInputLabel:"Entrez le lien YouTube ou Vimeo",videoDialogNoSrc:"Veuillez entrer un lien vidéo valide",duplicateVideo:"Cette vidéo a été ajoutée",confirm:"Confirmer",cancel:"Annuler",preview:"Aperçu",delete:"Supprimer",title:"Fournir des images pour {title}",description:"Pour plus d'informations, veuillez consulter",documentation:"Documentation"},blocklet:{startApplication:"Démarrer l'application",startDescription:"Prêt à commencer {name}",start:"Commencer",starting:"Démarrage...",open:"Ouvrir",suspended:"Application suspendue",manageSubscription:"Gérer l'abonnement",suspendedCausedByExpired:"Cette application a été résiliée en raison de l'annulation de l'abonnement, annulée le {canceledAt}, l'abonnement peut être repris avant le {deadline}.",suspendedCausedByPastDue:"Cette application a été suspendue en raison du retard de paiement de l'abonnement, complétez le renouvellement avant le {deadline} pour la reprendre, après l'échéance, il ne sera plus possible de renouveler et de reprendre.",willBeSuspendedSoon:"Cette application cessera son service le {deadline} car l'abonnement sera bientôt annulé, veuillez récupérer l'abonnement en temps opportun si vous souhaitez continuer à l'utiliser.",suspendedCausedByTerminated:"L'application a été résiliée en raison de l'annulation de l'abonnement, qui a été annulé le {canceledAt}, et les données seront conservées jusqu'au {deadline} ; avant que les données ne soient supprimées, vous pouvez sauvegarder les données dans les espaces DID.",terminated:"Application terminée",gotoVisitError:"Impossible d'accéder à l'URL du blocklet, veuillez réessayer plus tard.",payNow:"Payer maintenant",startLoadingText:"Le service démarre et peut prendre quelques minutes, veuillez patienter...",startingProgress:{starting:"Démarrage de {name}...",success:"{name} démarré avec succès",failed:"{name} n'a pas pu démarrer"}},setup:{steps:{connect:"Connecter",didSpace:"DID Spaces",config:"Configuration",domain:"Domaine",access:"Contrôle d'accès",fuel:"Carburant",complete:"Complet",introduction:"Introduction",selectNodeDesc:"Sélectionnez le serveur Blocklet",launchAppDesc:"Installer le bloclet sur le serveur",setupAppDesc:"Configurer Blocklet",launched:"Compléter"},connect:{title:"Connectez-vous à l'application",scan:"Utilisez les méthodes suivantes pour fournir le profil utilisateur et les privilèges de propriétaire du Blocklet, puis vous pourrez configurer et lancer l'application.",confirm:"Confirmez sur votre portefeuille DID",success:"Vous êtes connecté avec succès"},domain:{addTitle:"Lier un domaine existant (facultatif)",title:"Choisir un domaine",subTitle:"Personnalisez votre domaine pour l'application",label:"Veuillez fournir un nom de domaine valide",tipStart:"Veuillez vous assurer",tipEnd:"A un point vers le serveur actuel",addingCert:"Génération du certificat en cours...",recordType:"Type d'enregistrement",recordValue:"Valeur d'enregistrement",genCertSuccess:"Le certificat {domain} est délivré avec succès",genCertFailed:"Impossible de délivrer un certificat pour {domain} : {message}",genCertFailedForNFTDomain:"Domaine NFT ajouté avec succès, mais échec de la génération du certificat HTTPS. Veuillez réessayer ultérieurement.",buyDIDDomainTitle:"Acheter un domaine DID (Optionnel)",buyDIDDomainTips:"Après l'achat d'un domaine DID, celui-ci sera automatiquement lié à l'application.",buyOrConnect:"Vous pouvez acheter ou configurer un domaine existant",skipDescription:"Vous pouvez utiliser temporairement les domaines par défaut. Ces domaines ne sont pas adaptés à un usage en production et ne doivent pas être partagés avec les clients."},didSpace:{title:"Configurer les espaces DID",subTitle:"Veuillez compléter le processus de connexion suivant pour stocker les données de l'application dans DID Spaces.",tips:"Conseils",description:"Configurez l'adresse de l'instance DID Spaces et stockez les données de l'application dans DID Spaces après une connexion réussie",label:"Veuillez sélectionner le service DID Spaces",connected:"Vous vous êtes connecté(e) avec succès à DID Spaces",connect:"Connectez maintenant",reconnect:"Reconnecter",addressCannotEmpty:"L'adresse ne peut pas être vide",addressNotValid:"{url} n'est pas une adresse valide.",authorize:{title:"Connectez {appName} à des espaces DID",scan:"Utilisez les méthodes suivantes pour autoriser l'application {appName} à se connecter à DID Spaces",success:"Connecté avec succès"}},config:{title:"Configuration",subTitle:"Autres éléments de configuration (vous devrez également configurer les éléments suivants)"},complete:{title:"Votre application est prête",failedTitle:"Échec du démarrage de l'application",backToServer:"Retour au serveur Blocklet",notRunning:"L'application n'a pas démarré du premier coup, veuillez réessayer",readyToStart:"Votre application sera bientôt prête"},fuel:{title:"Carburant nécessaire pour démarrer",tipStart:"fente",tipEnd:"Un solde est requis pour que cette application fonctionne correctement. Les fonds sont sauvegardés dans le porte-monnaie de l'application et peuvent être utilisés pour les frais de transaction. Vous pouvez retirer votre solde à tout moment lorsque vous n'avez plus l'application en cours d'exécution.",addressTitle:"Compte d'application",addressTip:"Alimenter l'application avec un portefeuille DID",need:"Besoin",current:"Actuel",fuelApp:"Alimenter l'application en carburant"},title:"Installation",next:"Suivant",previous:"Précédent",continue:"Continuer",skip:"Passer",startNow:"Commencez maintenant",confirm:"Confirmer",cancel:"Annuler"},user:{walletNotification:"Notification du portefeuille DID",emailNotification:"Notification par e-mail",smsNotification:"Notification SMS",addWebhook:"Ajouter un nouveau webhook"},pageTitle:{login:"Connexion",dashboard:"Tableau de bord de Blocklet",userCenter:"Centre d'utilisateur",invite:"Inviter",issuePassport:"Émettre un passeport",lostPassport:"Passeport perdu"},errorPage:{404:{title:"Oups! Page non trouvée",description:"Il semble que la page que vous cherchez n'existe pas.",backHome:`Si vous êtes un visiteur, vous pouvez <a href="{url}">revenir à la page d'accueil</a>`,goToDashboard:"Si vous êtes le propriétaire du site, vous pouvez <a href={url}>vous connecter au tableau de bord</a>."}},common:{branding:"Branding",theming:"Thème",navigation:"Navigation",sitemap:"Plan du site",advanced:"Avancé",performance:"Performance",docs:"Docs",comingSoon:"Bientôt disponible",accessKeys:"Clés d'accès"},connectCli:{title:"Connectez-vous pour générer une clé d'accès",scan:"Scannez le QR code suivant pour générer la clé d'accès",success:"Connexion établie pour générer la clé d'accès",successDesc:"Clé d'accès générée avec succès, cette page peut être fermée en toute sécurité. Vous pouvez maintenant télécharger les Blocklets locaux en utilisant la clé d'accès générée.",invalidSession:"Session invalide",invalidSessionDesc:"La session n'existe pas ou a expiré. Veuillez utiliser la commande 'blocklet deploy --endpoint {endpoint}' pour régénérer la clé d'accès.",connectionError:"Échec de la génération de la clé d'accès",home:"Retour à l'accueil",tips:{title:"Générer une clé d'accès",item1:"Supporte le déploiement local des Blocklets dans l'application actuelle",item2:"S'affichera dans la liste des clés d'accès de l'application",item3:"Vous pouvez révoquer la clé d'accès dans la liste à tout moment"}},notFoundOauthClient:"Application OAuth non trouvée, veuillez vérifier votre configuration OAuth puis réessayer."};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={auth:{noPermission:{title:"अनुमति नहीं",description:"आप ब्लॉकलेट के प्रशासक नहीं हैं"}},login:{reLogin:"फिर से जुड़ें",description:"आपको {name} तक पहुंचने के लिए अपना डिजीटल पहचान पत्र वॉलेट कनेक्ट करना होगा",already:"आप कनेक्ट किए गए हैं जैसे",connectWallet:"DID वॉलेट कनेक्ट करें",closeWindow:"विंडो बंद करें",accessLimit:{title:"पृष्ठ पहुंच सीमित है",description:"इस पृष्ठ तक पहुंच के लिए निम्नलिखित पासपोर्ट की आवश्यकता होती है, कृपया वॉलेट से कनेक्ट करें या संबंधित पास के लिए बदलें या आवेदन करें।",alreadyHavePassport:"पासपोर्ट पहले से ही है",connectWithPassport:"इस पासपोर्ट से कनेक्ट करें",buyPassport:"पासपोर्ट खरीदें"},switchDid:{title:"खाता बदलें",scan:"खाता बदलने के लिए निम्नलिखित विधियों का प्रयोग करें",confirm:"अपने डीआईड़ी वॉलेट में स्विच की पुष्टि करें",success:"सफलतापूर्वक स्विच कर दिया गया"},switchSpecifiedDid:{title:"खाता बदलें",scan:"आपको निम्नलिखित कार्रवाई अंत करने के लिए DID को {did} पर स्विच करने की आवश्यकता है।",confirm:"अपने डीआईडी वॉलेट में स्विच की पुष्टि करें",success:"सफलतापूर्वक स्विच किया गया"},connect:{title:"जुड़ें",scan:"कृपया कनेक्शन पूरा करने के लिए निम्नलिखित विधियों का उपयोग करें",confirm:"अपने डीआईडी वॉलेट पर पुष्टि करें",success:"आप सफलतापूर्वक कनेक्ट हुए हैं"},needManualClose:"लॉगिन सफल, अगर यह विंडो अपने आप बंद नहीं होती, तो कृपया इसे बंद कर दें.",connectWithPassport:"इस पासपोर्ट से जुड़ें",invalidRedirectUrl:"अमान्य रीडायरेक्ट यूआरएल",issueKyc:{pageDescription:"अपने खाते को सुरक्षित करने के लिए पुष्टि पूरी करें और एक पुन: उपयोगी एनएफटी प्राप्त करें, जो दूसरी साइटों द्वारा विश्वस्त हो सकता है (एक बार सत्यापन करें और हर जगह पेश करें)।",verifyButton:"सत्यापित करें",sendCodeButton:"कोड प्राप्त करें",codeSentMessage:"हमने {email} पर पुष्टि कोड भेजा है, कोड 30 मिनट के लिए मान्य होगा, कृपया अपना इनबॉक्स या स्पैम फोल्डर जांचें।",codeSentSuccess:"सत्यापन कोड सफलतापूर्वक भेजा गया",claim:"दावा सत्यापित ईमेल प्रमाणपत्र",scan:"प्रमाणपत्र प्राप्त करने के लिए अपनी DID वॉलेट को कनेक्ट करें",confirm:"अपने डीआईडी वॉलेट पर पुष्टि करें",success:"बधाई हो! आपने अपने ईमेल को सफलतापूर्वक सत्यापित किया है और अपने डीआईडी वॉलेट में प्रमाणपत्र का दावा किया है।",backToHome:"होम पेज पर वापस जाएं",emailPlaceholder:"आपका ईमेल पता",verifyTitle:"अपना ईमेल पता सत्यापित करें",issueTitle:"दावा ईमेल सत्यापन एनएफटी",verifyAction:"सत्यापित",issueAction:"दावा",issueTarget:"आप निम्नलिखित DID के लिए {action} कर रहे हैं, एवतार पर क्लिक करें एक और DID जोड़ने के लिए"},updateKyc:{button:"प्रमाण-पत्र पेश करें",title:"प्रस्तुत सत्यापित ईमेल प्रमाणपत्र",scan:"प्रमाणपत्र पेश करने के लिए अपनी डीआईडी वॉलेट को कनेक्ट करें",confirm:"अपने DID वॉलेट पर पुष्टि करें",success:"बधाई हो! आपका NFT सत्यापित और स्वीकृत है।"},invalidOpenerUrl:"अवैध ओपनर URL"},studio:{home:"स्टूडियो",preferences:"प्राथमिकता निर्माता",localization:"स्थानीयकरण",branding:"ब्रांडिंग छवियाँ",ratio:"अनुपात",size:"आकार",count:"गिनती",tip:"सुझाव",change:"लोगो पर क्लिक करें ताकि चेंज करें।",order:"आदेश",orderTip:"परिवर्तन के लिए खींचें",orderTipLong:"बदलने के लिए खींचें, अगर आप डिस्क पर कोई स्क्रीनशॉट हटाते हैं, तो पृष्ठ को रिफ्रेश करें।",type:"प्रकार",videoTipLong:"वीडियो लिंक को संपादित करने के लिए कवर पर क्लिक करें।",video:"वीडियो",videoTooltip:"क्रम बदलने के लिए खींचें।",videoType:"समर्थित वेबसाइटें",videoDialogTitle:"वीडियो जोड़ें",videoDialogEditTitle:"वीडियो संपादित करें/हटाएँ",videoInputLabel:"YouTube या Vimeo वीडियो लिंक डालें",videoDialogNoSrc:"कृपया एक वैध वीडियो लिंक दर्ज करें",duplicateVideo:"यह वीडियो जोड़ा गया है",confirm:"पुष्टि करें",cancel:"रद्द करें",preview:"पूर्वावलोकन",delete:"हटाएँ",title:"{title} के लिए छवियाँ प्रदान करें",description:"अधिक जानकारी के लिए, कृपया देखें",documentation:"दस्तावेज़ीकरण"},blocklet:{startApplication:"आवेदन शुरू करें",startDescription:"{name} शुरू करने के लिए तैयार",start:"शुरू",starting:"शुरू कर रहा हूँ...",open:"खोलें",suspended:"आवेदन निलंबित",manageSubscription:"सदस्यता प्रबंधित करें",suspendedCausedByExpired:"यह ऐप्लिकेशन सदस्यता रद्द होने के कारण समाप्त कर दिया गया है, {canceledAt} को रद्द किया गया, {deadline} से पहले सदस्यता को फिर से शुरू किया जा सकता है।",suspendedCausedByPastDue:"यह ऐप्लिकेशन सदस्यता भुगतान में देरी के कारण रोक दिया गया है, इसे फिर से शुरू करने के लिए {deadline} से पहले नवीनीकरण पूरा करें, समय सीमा के बाद नवीनीकरण और पुनरारंभ संभव नहीं होगा।",willBeSuspendedSoon:"यह ऐप्लिकेशन {deadline} पर सेवा बंद कर देगा क्योंकि सदस्यता जल्द ही रद्द होने वाली है, यदि आप इसका उपयोग जारी रखना चाहते हैं, तो कृपया समय पर सदस्यता को पुनर्प्राप्त करें।",suspendedCausedByTerminated:"सदस्यता समाप्ति के कारण एप्लीकेशन को समाप्त कर दिया गया था, जिसे {canceledAt} पर रद्द किया गया था, और डेटा को तब तक बनाए रखा जाएगा; डेटा को डिलीट करने से पहले, आप DID Spaces में डेटा का बैकअप ले सकते हैं।",terminated:"एप्लिकेशन समाप्त",gotoVisitError:"ब्लॉकलेट URL तक पहुँच नहीं सकते, कृपया बाद में पुनः प्रयास करें।",payNow:"अभी भुगतान करें",startLoadingText:"सेवा शुरू हो रही है और इसमें कुछ मिनट लग सकते हैं, कृपया प्रतीक्षा करें...",startingProgress:{starting:"{name} शुरू हो रहा है...",success:"{name} सफलतापूर्वक प्रारंभ हुआ",failed:"{name} शुरू नहीं हो सका"}},setup:{steps:{connect:"कनेक्ट करें",didSpace:"डीआईडी स्थान",config:"कॉन्फ़िगरेशन",domain:"डोमेन",access:"पहुंच नियंत्रण",fuel:"ईंधन",complete:"पूर्ण",introduction:"परिचय",selectNodeDesc:"ब्लॉकलेट सर्वर को चुनें",launchAppDesc:"सर्वर में ब्लॉकलेट स्थापित करें",setupAppDesc:"सेटअप ब्लॉकलेट",launched:"पूरा करें"},connect:{title:"एप्लिकेशन से कनेक्ट करें",scan:"उपयोगकर्ता प्रोफ़ाइल और Blocklet के स्वामी विशेषाधिकार प्रदान करने के लिए निम्नलिखित विधियों का उपयोग करें, फिर आप ऐप को कॉन्फ़िगर और लॉन्च कर सकते हैं।",confirm:"अपने डीआईडी वॉलेट में पुष्टि करें",success:"आप सफलतापूर्वक कनेक्ट हुए हैं"},domain:{addTitle:"मौजूदा डोमेन बाँधें (वैकल्पिक)",title:"डोमेन चुनें",subTitle:"एप्लिकेशन के लिए अपना डोमेन कस्टमाइज़ करें",label:"कृपया एक मान्य डोमेन नाम दें",tipStart:"कृपया सुनिश्चित करें",tipEnd:"वर्तमान सर्वर के लिए बिना",addingCert:"प्रमाणपत्र उत्पन्न हो रहा है...",recordType:"रेकॉर्ड प्रकार",recordValue:"रिकॉर्ड मान",genCertSuccess:"{domain} प्रमाणपत्र सफलतापूर्वक जारी किया गया है",genCertFailed:"{domain} के लिए प्रमाणपत्र जारी करने में विफल: {message}",genCertFailedForNFTDomain:"NFT डोमेन सफलतापूर्वक जोड़ा गया, लेकिन HTTPS प्रमाणपत्र उत्पन्न करने में विफल रहा, कृपया बाद में पुनः प्रयास करें।",buyDIDDomainTitle:"एक DID डोमेन खरीदें (वैकल्पिक)",buyDIDDomainTips:"DID डोमेन खरीदने के बाद, डोमेन स्वचालित रूप से एप्लिकेशन से जुड़ जाएगा।",buyOrConnect:"आप एक मौजूदा डोमेन खरीद या कॉन्फ़िगर कर सकते हैं",skipDescription:"आप अस्थायी रूप से डिफ़ॉल्ट डोमेन का उपयोग कर सकते हैं। ये डोमेन उत्पादन उपयोग के लिए उपयुक्त नहीं हैं और ग्राहकों के साथ साझा नहीं किए जाने चाहिए।"},didSpace:{title:"DID Spaces कॉन्फ़िगर करें",subTitle:"कृपया DID स्पेस में आवेदन डेटा संग्रहित करने के लिए निम्नलिखित कनेक्शन प्रक्रिया पूर्ण करें।",tips:"टिप्स",description:"सफलतापूर्वक कनेक्शन के बाद, दिद स्पेस की इंस्टेंस पता और आवेदन डेटा आपूर्ति करें",label:"कृपया डीआईडी स्थान सेवा का चयन करें",connected:"आपने सफलतापूर्वक DID स्थानों से कनेक्ट किया है",connect:"अभी कनेक्ट करें",reconnect:"पुनः कनेक्ट करें",addressCannotEmpty:"पता खाली नहीं हो सकता",addressNotValid:"{url} एक वैध पता नहीं है।",authorize:{title:"{appName} को DID स्थानों से कनेक्ट करें",scan:"ऐप {appName} को DID Spaces से कनेक्ट करने की अनुमति देने के लिए निम्नलिखित विधियों का उपयोग करें",success:"सफलतापूर्वक कनेक्ट किया गया"}},config:{title:"कॉन्फ़िगरेशन",subTitle:"अन्य कॉन्फ़िगरेशन आइटम (आपको निम्नलिखित आइटम भी सेट करने की आवश्यकता होगी)"},complete:{title:"आपका एप्लिकेशन तैयार है",failedTitle:"एप्लिकेशन शुरू करने में विफल",backToServer:"ब्लॉकलेट सर्वर पर वापस जाएं",notRunning:"ऐप पहले प्रयास में शुरू नहीं हो सका, कृपया पुनः प्रयास करें",readyToStart:"आपका ऐप जल्द ही तैयार होने वाला है"},fuel:{title:"शुरू करने के लिए इंधन आवश्यक",tipStart:"स्लॉट",tipEnd:"यह ऐप्लिकेशन ठीक से काम करने के लिए आवश्यक है, इसके लिए वित्त पैमाने में जमा किए जाते हैं और इस्तेमाल किए जाते हैं सौदा गैस के लिए। जब आपके पास एप्लिकेशन चलाने की आवश्यकता नहीं हो, तब आप किसी भी समय अपना भार निकाल सकते हैं।",addressTitle:"अनुप्रयोग खाता",addressTip:"DID वॉलेट के साथ एप्लिकेशन को भरें",need:"आवश्यकता",current:"वर्तमान",fuelApp:"एप्लिकेशन को ऊर्जा प्रदान करें"},title:"सेटअप",next:"अगला",previous:"पिछला",continue:"जारी रखें",skip:"छोड़ें",startNow:"अब शुरू करें",confirm:"पुष्टि करें",cancel:"रद्द करें"},user:{walletNotification:"डीआईडी वॉलेट अधिसूचना",emailNotification:"ईमेल सूचना",smsNotification:"एसएमएस सूचना",addWebhook:"नया वेबहुक जोड़ें"},pageTitle:{login:"लॉगिन करें",dashboard:"ब्लॉकलेट डैशबोर्ड",userCenter:"उपयोगकर्ता केंद्र",invite:"आमंत्रण",issuePassport:"पासपोर्ट जारी करें",lostPassport:"खो गया पासपोर्ट"},errorPage:{404:{title:"उफ़! पृष्ठ नहीं मिला",description:"ऐसा लगता है कि आप जिस पेज को खोज रहे हैं वह मौजूद नहीं है।",backHome:'यदि आप एक आगंतुक हैं, तो आप <a href="{url}">मुखपृष्ठ पर वापस जा सकते हैं</a>',goToDashboard:"यदि आप साइट मालिक हैं, तो आप <a href={url}>डैशबोर्ड में लॉगिन कर सकते हैं</a>।"}},common:{branding:"ब्रांडिंग",theming:"थीम",navigation:"नेविगेशन",sitemap:"साइटमैप",advanced:"उन्नत",performance:"प्रदर्शन",docs:"दस्तावेज़",comingSoon:"जल्द ही आ रहा है",accessKeys:"पहुँच कुंजी"},connectCli:{title:"पहुँच कुंजी उत्पन्न करने के लिए कनेक्ट करें",scan:"पहुँच कुंजी उत्पन्न करने के लिए निम्नलिखित QR कोड को स्कैन करें",success:"सफलतापूर्वक एक्सेस कुंजी उत्पन्न करने के लिए कनेक्ट किया गया",successDesc:"पहुँच कुंजी सफलतापूर्वक उत्पन्न हुई, इस पृष्ठ को सुरक्षित रूप से बंद किया जा सकता है। अब आप उत्पन्न पहुँच-कुंजी का उपयोग करके स्थानीय Blocklets अपलोड कर सकते हैं।",invalidSession:"अमान्य सत्र",invalidSessionDesc:"सत्र मौजूद नहीं है या समाप्त हो गया है, कृपया एक्सेस-की को पुनः उत्पन्न करने के लिए 'blocklet deploy --endpoint {endpoint}' कमांड का उपयोग करें।",connectionError:"पहुँच कुंजी उत्पन्न करने में विफल",home:"मुख्य पृष्ठ पर वापस जाएँ",tips:{title:"पहुँच कुंजी उत्पन्न करें",item1:"वर्तमान एप्लिकेशन में Blocklets की स्थानीय परिनियोजन का समर्थन करता है",item2:"एप्लिकेशन की एक्सेस कुंजी सूची में प्रदर्शित होगा",item3:"आप सूची में किसी भी समय एक्सेस कुंजी निरस्त कर सकते हैं"}},notFoundOauthClient:"OAuth ऐप नहीं मिला, कृपया अपनी OAuth कॉन्फ़िगरेशन जांचें और फिर पुनः प्रयास करें।"};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const a={auth:{noPermission:{title:"Tidak ada Izin",description:"Anda bukan administrator blocklet"}},login:{reLogin:"Menghubungkan kembali",description:"Anda harus menghubungkan Dompet DID Anda untuk mengakses {name}",already:"Anda terhubung sebagai",connectWallet:"Menghubungkan Dompet DID",closeWindow:"Tutup jendela",accessLimit:{title:"Akses halaman terbatas",description:"Halaman ini memerlukan paspor-paspor berikut untuk mengakses, harap hubungkan ke dompet untuk mengubah atau mengajukan permohonan pas yang sesuai.",alreadyHavePassport:"Sudah memiliki paspor",connectWithPassport:"Terhubung dengan paspor ini",buyPassport:"BeliPaspor"},switchDid:{title:"Ganti Akun",scan:"Gunakan metode berikut untuk menambahkan akun",confirm:"Konfirmasi pergantian di Dompet DID Anda",success:"Berhasil beralih"},switchSpecifiedDid:{title:"Ganti Akun",scan:"Anda perlu mengganti DID menjadi {did} untuk menyelesaikan tindakan-tindakan berikut",confirm:"Konfirmasi pergantian pada dompet DID Anda",success:"Berhasil beralih"},connect:{title:"Sambungkan",scan:"Gunakan metode berikut untuk menyelesaikan koneksi",confirm:"Konfirmasi di Dompet DID Anda",success:"Anda berhasil terhubung"},needManualClose:"Login sukses, jika jendela ini tidak tertutup secara otomatis, silakan tutup.",connectWithPassport:"Terhubung dengan paspor ini",invalidRedirectUrl:"URL pengalihan tidak valid",issueKyc:{pageDescription:"Lengkapilah verifikasi untuk mengamankan akun Anda dan dapatkan NFT yang dapat digunakan kembali, yang dapat dipercaya oleh situs lain (verifikasi sekali dan hadir di mana saja).",verifyButton:"Memverifikasi",sendCodeButton:"Dapatkan Kode Verifikasi",codeSentMessage:"Kami baru saja mengirimkan kode verifikasi ke {email}, kode tersebut akan berlaku selama 30 menit, silakan periksa kotak masuk atau folder spam Anda.",codeSentSuccess:"Kode verifikasi berhasil dikirim",claim:"Sertifikat Email Terverifikasi Klaim",scan:"Hubungkan Dompet DID Anda untuk menerima sertifikat",confirm:"Konfirmasi di Dompet DID Anda",success:"Selamat! Anda telah berhasil memverifikasi email Anda dan mengklaim sertifikat di Dompet DID Anda.",backToHome:"Kembali ke Rumah",emailPlaceholder:"Alamat email Anda",verifyTitle:"Verifikasi Alamat Email Anda",issueTitle:"Klaim Verifikasi Email NFT",verifyAction:"Memverifikasi",issueAction:"Mengklaim",issueTarget:"Anda {action} untuk DID berikut, klik avatar untuk menambahkan DID lain"},updateKyc:{button:"Sertifikat Hadir",title:"Sertifikat Email Terverifikasi Sekarang",scan:"Hubungkan Dompet DID Anda untuk menyajikan sertifikat",confirm:"Konfirmasi di dompet DID Anda",success:"Selamat! NFT Anda diverifikasi dan diterima."},invalidOpenerUrl:"URL Pembuka Tidak Sah"},studio:{home:"Studio",preferences:"Pembuat Preferensi",localization:"Lokalisasi",branding:"Gambar Branding",ratio:"Rasio",size:"Ukuran",count:"Hitung",tip:"Tip",change:"Klik logo untuk mengubah.",order:"Pesan",orderTip:"seret untuk mengubah",orderTipLong:"Seret untuk mengubah, jika Anda menghapus tangkapan layar di disk, harap refresh halaman.",type:"Tipe",videoTipLong:"Klik sampul untuk mengedit tautan video.",video:"Video",videoTooltip:"Seret untuk mengubah urutan",videoType:"Situs yang didukung",videoDialogTitle:"Tambahkan Video",videoDialogEditTitle:"Sunting/Hapus Video",videoInputLabel:"Masukkan tautan video YouTube atau Vimeo",videoDialogNoSrc:"Masukkan tautan video yang valid",duplicateVideo:"Video ini telah ditambahkan",confirm:"Konfirmasi",cancel:"Batal",preview:"Pratinjau",delete:"Hapus",title:"Beri gambar untuk {title}",description:"Untuk informasi lebih lanjut, silakan lihat",documentation:"Dokumentasi"},blocklet:{startApplication:"Mulai aplikasi",startDescription:"Siap untuk memulai, {name}",start:"Mulai",starting:"Memulai...",open:"Buka",suspended:"Aplikasi ditangguhkan",manageSubscription:"Kelola Langganan",suspendedCausedByExpired:"Aplikasi ini telah dihentikan karena pembatalan langganan, dibatalkan pada {canceledAt}, langganan dapat dilanjutkan sebelum {deadline}.",suspendedCausedByPastDue:"Aplikasi ini dihentikan karena keterlambatan pembayaran langganan, selesaikan perpanjangan sebelum {deadline} untuk melanjutkannya, setelah tenggat waktu tidak akan dapat memperpanjang dan melanjutkan.",willBeSuspendedSoon:"Aplikasi ini akan berhenti layanan pada {deadline} karena langganan akan segera dibatalkan, pulihkan langganan tepat waktu jika ingin terus menggunakannya.",suspendedCausedByTerminated:"Aplikasi telah dihentikan karena pembatalan langganan, yang telah dibatalkan pada {canceledAt}, dan data akan tetap dipertahankan hingga {deadline}; sebelum data dihapus, Anda dapat membuat cadangan data ke DID Spaces.",terminated:"Aplikasi telah ditutup",gotoVisitError:"Tidak dapat mengakses URL Blocklet, silakan coba lagi nanti",payNow:"Bayar Sekarang",startLoadingText:"Layanan sedang dimulai dan mungkin membutuhkan beberapa menit, harap tunggu...",startingProgress:{starting:"Memulai {name}...",success:"{name} berhasil dimulai",failed:"{name} gagal dimulai"}},setup:{steps:{connect:"Menghubungkan",didSpace:"DID Spaces",config:"Konfigurasi",domain:"Domain",access:"Kontrol Akses",fuel:"Bahan bakar",complete:"Lengkap",introduction:"Pengenalan",selectNodeDesc:"Pilih Server Blocklet",launchAppDesc:"Pasang Blocklet ke Server",setupAppDesc:"Pengaturan Blocklet",launched:"Lengkap"},connect:{title:"Menghubungkan ke Aplikasi",scan:"Gunakan metode berikut untuk memberikan profil pengguna dan hak akses pemilik Blocklet, lalu Anda dapat mengkonfigurasi dan meluncurkan aplikasi.",confirm:"Konfirmasi di Dompet DID Anda",success:"Anda berhasil terhubung"},domain:{addTitle:"Hubungkan domain yang sudah ada (Opsional)",title:"Pilih Domain",subTitle:"Kustomisasi domain Anda untuk aplikasi",label:"Tolong berikan nama domain yang valid",tipStart:"Harap pastikan",tipEnd:"memiliki titik ke Server saat ini",addingCert:"Menghasilkan sertifikat...",recordType:"Jenis Rekaman",recordValue:"Nilai Rekaman",genCertSuccess:"Sertifikat {domain} berhasil diterbitkan",genCertFailed:"Gagal mengeluarkan sertifikat untuk {domain}: {message}",genCertFailedForNFTDomain:"Domain NFT berhasil ditambahkan, tetapi gagal menghasilkan sertifikat HTTPS, silakan coba lagi nanti",buyDIDDomainTitle:"Beli domain DID (Opsional)",buyDIDDomainTips:"Setelah membeli DID Domain, domain tersebut akan otomatis terhubung ke aplikasi.",buyOrConnect:"Anda dapat membeli atau mengkonfigurasi domain yang sudah ada",skipDescription:"Anda dapat menggunakan domain default untuk sementara. Domain ini tidak cocok untuk penggunaan produksi dan tidak boleh dibagikan dengan pelanggan."},didSpace:{title:"Konfigurasi Ruang DID",subTitle:"Lengkapi proses koneksi berikut untuk menyimpan data aplikasi di DID Spaces",tips:"Tips",description:"Konfigurasikan alamat instansi Ruang DID dan simpan data aplikasi di Ruang DID setelah koneksi berhasil",label:"Silakan pilih layanan DID Spaces",connected:"Anda berhasil terhubung ke DID Spaces",connect:"Sambung Sekarang",reconnect:"Menghubungkan kembali",addressCannotEmpty:"Alamat tidak boleh kosong",addressNotValid:"{url} bukan alamat yang valid",authorize:{title:"Hubungkan {appName} ke DID Spaces",scan:"Gunakan metode berikut agar aplikasi {appName} dapat terhubung ke DID Spaces",success:"Terhubung berhasil"}},config:{title:"Konfigurasi",subTitle:"Item konfigurasi lainnya (Anda juga perlu mengatur item berikut)"},complete:{title:"Aplikasi Anda siap",failedTitle:"Gagal memulai aplikasi",backToServer:"Kembali ke Server Blocklet",notRunning:"Aplikasi gagal dimulai pada percobaan pertama, silakan coba lagi",readyToStart:"Aplikasi Anda akan segera siap"},fuel:{title:"Bahan bakar yang diperlukan untuk memulai",tipStart:"slot",tipEnd:"diperlukan untuk aplikasi ini agar dapat berfungsi dengan baik, dana disimpan di dompet aplikasi dan dapat digunakan untuk pembayaran biaya transaksi. Anda dapat menarik saldo Anda kapan saja jika Anda tidak lagi menjalankan aplikasi ini.",addressTitle:"Akun Aplikasi",addressTip:"Isi aplikasi dengan Dompet DID",need:"Butuh",current:"Saat ini",fuelApp:"Isi bahan bakar aplikasi"},title:"Persiapan",next:"Berikutnya",previous:"Sebelumnya",continue:"Lanjutkan",skip:"Lewati",startNow:"Mulai Sekarang",confirm:"Konfirmasi",cancel:"Batal"},user:{walletNotification:"Pemberitahuan Dompet DID",emailNotification:"Pemberitahuan melalui email",smsNotification:"Notifikasi SMS",addWebhook:"Tambah Webhook Baru"},pageTitle:{login:"Login",dashboard:"Dashboard Blocklet",userCenter:"Pusat Pengguna",invite:"Undang",issuePassport:"Menerbitkan paspor",lostPassport:"Paspor Hilang"},errorPage:{404:{title:"Ups! Halaman tidak ditemukan",description:"Tampaknya halaman yang Anda cari tidak ada.",backHome:'Jika Anda pengunjung, Anda dapat <a href="{url}">kembali ke beranda</a>',goToDashboard:"Jika Anda pemilik situs, Anda dapat <a href={url}>masuk ke dashboard</a>."}},common:{branding:"Branding",theming:"Tema",navigation:"Navigasi",sitemap:"Peta situs",advanced:"Lanjutan",performance:"Performa",docs:"Dokumen",comingSoon:"Segera",accessKeys:"Kunci Akses"},connectCli:{title:"Hubungkan untuk menghasilkan kunci akses",scan:"Pindai QR Code berikut untuk terhubung dan menghasilkan kunci akses",success:"Berhasil terhubung untuk menghasilkan kunci akses",successDesc:"Kunci akses berhasil dibuat, halaman ini dapat ditutup dengan aman. Anda sekarang dapat mengunggah Blocklets lokal menggunakan kunci akses yang dibuat.",invalidSession:"Sesi invalid",invalidSessionDesc:"Sesi tidak ada atau telah berakhir, silakan gunakan perintah 'blocklet deploy --endpoint {endpoint}' untuk menghasilkan ulang kunci akses.",connectionError:"Gagal menghasilkan kunci akses",home:"Kembali ke beranda",tips:{title:"Buat kunci akses",item1:"Mendukung penyebaran lokal Blocklets ke aplikasi saat ini",item2:"Akan ditampilkan di daftar Kunci Akses aplikasi",item3:"Anda dapat membatalkan Kunci Akses dalam daftar kapan saja"}},notFoundOauthClient:"Aplikasi OAuth tidak ditemukan, periksa konfigurasi OAuth Anda lalu coba lagi."};export{a as default};
|