useblocks 1.1.18 → 1.1.24
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/iframe/js/amp.DAh9j5NQ.js +1 -0
- package/iframe/js/iframe-eblock.js +1 -1
- package/iframe/js/iframe.js +1 -1
- package/iframe/js/rules.B4dVzZIU.js +1 -1
- package/package.json +1 -1
- package/singlepage_headless_plugin.html +1 -1
- package/static/core/39a1b0bf.js +1 -0
- package/static/core/{9cff1281.js → 4b2f0647.js} +1 -1
- package/static/core/5872b082.js +834 -0
- package/static/core/{4563fc0f.js → 5abb5c27.js} +1 -1
- package/static/core/{35607bb1.js → 7eb3f045.js} +1 -1
- package/static/core/{d40f545f.js → 9721d8c0.js} +1 -1
- package/static/core/{ae8e0b50.js → 9b1a1232.js} +1 -1
- package/static/core/{5314a021.js → b639c36e.js} +1 -1
- package/static/core/{1f689931.js → b98ddc69.js} +1 -1
- package/static/core/{509ab76b.js → c52a21ea.js} +1 -1
- package/static/core/{2badccbb.js → c547314f.js} +6 -6
- package/static/core/{f996d4e4.js → d172b1ec.js} +1 -1
- package/static/core/{3a42c130.js → d241e8cb.js} +1 -1
- package/static/core/{dd0f0da5.js → d6d622d8.js} +1 -1
- package/static/esm/{d7803c14.js → bead096a.js} +1 -1
- package/two_step_headless_plugin.html +1 -1
- package/{useblocks-core.4d06f79d.js → useblocks-core.952eee2c.js} +1 -1
- package/useblocks-esm.js +3 -3
- package/useblocks.js +4 -4
- package/vite/index.cjs +21 -3
- package/vite/index.js +21 -3
- package/iframe/js/amp.D-Tohkio.js +0 -1
- package/static/core/6bcdbb89.js +0 -1
- package/static/core/7af8064f.js +0 -834
- /package/iframe/{iframe-eblock.4d06f79d.html → iframe-eblock.952eee2c.html} +0 -0
- /package/iframe/{iframe.4d06f79d.html → iframe.952eee2c.html} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
__useblocks__.define(`static/core/4563fc0f.js`,[`require`,`exports`,`module`,`static/core/4dc58c63.js`,`static/core/91f27762.js`,`static/core/ae8e0b50.js`,`static/core/9cff1281.js`,`static/core/3a42c130.js`],function(e,t,n){let r=e("./4dc58c63.js"),i=e("./ae8e0b50.js"),a=e("./9cff1281.js"),o=e("./91f27762.js"),s=e("./3a42c130.js");var c=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){let n=this._plugins.get(e);if(n?.overrides)for(let e of n.overrides)t=e(t)||t;return t}_notifyListeners(e,t){let n=this._listeners.get(e);if(!n||n.length===0)return;for(let e of n)try{e.callback(t)}catch{}let r=n.filter(e=>!e.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){let t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){let t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){let n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){let n=Promise.resolve(t.factory()).then(n=>(t.ctor=n,t.loading=void 0,this._notifyListeners(e,n),n));t.loading=n;let r=await n;return this._applyOverrides(e,r)}return new Promise(t=>{this.on(e,n=>t(this._applyOverrides(e,n)))})}add(e,t){let n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(let t of Object.keys(e)){let n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){let n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){let t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){let n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{let e=n.overrides.indexOf(t);e>=0&&n.overrides.splice(e,1)}}}on(e,t){let n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));let i={callback:t,once:!1};return r.push(i),{dispose:()=>this._removeListener(e,t)}}once(e,t){let n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));let i={callback:t,once:!0};return r.push(i),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){let n=this._listeners.get(e);if(n){let r=n.findIndex(e=>e.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){let e=this;return{add(t,n){e.add(t,n)}}}},l=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}};function u(e){if(e instanceof DOMException&&e.name===`AbortError`)return e;let t=e===void 0?`The operation was aborted.`:typeof e==`string`?e:e instanceof Error?e.message:String(e);return new DOMException(t,`AbortError`)}function d(e){if(e?.aborted)throw u(e.reason)}function f(e,t){return t?(d(t),new Promise((n,r)=>{let i=()=>{a(),r(u(t.reason))},a=()=>{t.removeEventListener(`abort`,i)};t.addEventListener(`abort`,i),e.then(e=>{a(),n(e)},e=>{a(),r(e)})})):e}var p=e=>{let t={current:Promise.resolve(),state:e,decorate:(e,n)=>(n&&(e=e.bind(n)),function(...n){let r=t.current.then(()=>e(...n));return t.current=r.then(e=>{t.state=e},e=>{}),r})};return t};r.i(),o.n();var m=`Ai`,h=i.Si({reducerPath:`AiApi`,tagTypes:[m],baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/save-file/v1/`}),endpoints:e=>({sendMessage:e.mutation({queryFn({body:e},t){return i.hi(t).aiGenerator.ai_create(e)}}),getDialog:e.query({queryFn({entity_id:e,connection:t=`chat`},n){return n.getState().configSlice?.config?.aiAssistentEnabled===!1?Promise.resolve({data:{documents:[],totalCount:0}}):i.hi(n).aiGenerator.ai_status_list({connection:t,entity_id:e})},providesTags:e=>e?.documents?[...e.documents.map(({id:e})=>({type:m,id:e})),{type:m,id:`LIST`}]:[{type:m,id:`LIST`}]})})}),{useSendMessageMutation:g,useGetDialogQuery:_,useLazyGetDialogQuery:v}=h,y=i.Si({reducerPath:`proxyApi`,tagTypes:[`Proxy`],baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/cors-proxy/v1/get`}),endpoints:e=>({getFile:e.query({queryFn({url:e,tryFetch:t=!0,type:n},r){let a=i.hi(r),o=t?fetch(e):Promise.reject(),s=e=>{switch(n){case`json`:return e.json();case`text`:return e.text();default:return e.blob()}},c=e=>s(e).then(e=>({data:e}));return o.then(e=>c(e)).catch(()=>a.corsProxy.get_list({format:`blob`,extraQuery:{url:encodeURIComponent(e)}}))}})})}),{useGetFileQuery:b,useLazyGetFileQuery:x}=y,S=i.Si({reducerPath:`tokenApi`,baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/jwt-auth/v1/`}),endpoints:e=>({tokenCreate:e.mutation({queryFn(e,t){return i.hi(t).jwtAuth.token_create({body:e,type:i.no.Json})}}),tokenValidate:e.mutation({queryFn(e,t){return i.hi(t).jwtAuth.token_validate_create({type:i.no.Json})}})})}),{useTokenCreateMutation:C,useTokenValidateMutation:w}=S,T=i.Si({reducerPath:`promoApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/promo/v1/`}),endpoints:e=>({checkPromo:e.mutation({queryFn:({code:e,type:t},n)=>i.hi(n).promo.set_code_create({code:e,type:t})}),getPromoInfo:e.query({queryFn({code:e},t){return i.hi(t).promo.get_code_info_list({code:e})}})})}),{useCheckPromoMutation:E,useGetPromoInfoQuery:D}=T,O=`LOCALES`,k=i.Si({reducerPath:`localesApi`,tagTypes:[O],baseQuery:i.Di({baseUrl:`https://app.useblocks.io/api/wp-json/translations/v1`}),endpoints:e=>({getLocale:e.query({async queryFn({id:e},t){let n=i.hi(t);try{return await n.translations.get_translations3({id:e,file:`react_app`})}catch{return n.translations.get_translations3({id:`en_US`,file:`react_app`})}},providesTags:(e,t,n)=>[{type:O,id:n}]}),getLocales:e.query({queryFn:function(e,t){return i.hi(t).translations.get_translations2({file:`react_app`})},providesTags:(e,t,n)=>[{type:O,id:`react_app`}]})})}),{useGetLocalesQuery:A,useGetLocaleQuery:j,useLazyGetLocaleQuery:M,useLazyGetLocalesQuery:N}=k,P=i.Si({reducerPath:`saveFileApi`,tagTypes:[`Images`],baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/save-file/v1/`}),endpoints:e=>({uploadImage:e.mutation({queryFn(e,t){return i.hi(t).saveFile.upload_create(e,{type:i.no.FormData})}}),sendTestEmail:e.mutation({queryFn(e,t){return i.hi(t).saveFile.send_email_create(e,{type:i.no.FormData})}}),sendLivePreview:e.mutation({queryFn(e,t){return i.hi(t).saveFile.get_link_create(e,{type:i.no.FormData})}}),sendShortLink:e.mutation({queryFn(e,t){return i.hi(t).saveFile.shortener_create(e,{type:i.no.FormData})}})})}),{useUploadImageMutation:ee,useSendTestEmailMutation:te,useSendLivePreviewMutation:ne,useSendShortLinkMutation:re}=P,ie=`EmailRaw`,ae=i.Si({reducerPath:`emailRawApi`,tagTypes:[ie],baseQuery:i.Di({baseUrl:`https://app.useblocks.io/api/wp-json/wp/v2/`}),endpoints:e=>({getEmailRaw:e.query({queryFn:function({emailId:e,secret_hash:t},n){return i.Ua(n).wp.email_detail({id:e},{extraQuery:{secret_hash:t}}).then(i.ci(i.li))},providesTags:(e,t,n)=>[{type:ie,id:n}]})})}),{useGetEmailRawQuery:oe}=ae,se=`Optimise`,F=`usage_limit_exceeded`,I=i.Si({reducerPath:`optimiseApi`,tagTypes:[se],baseQuery:async(e,t,n)=>{let r=await i.pi({baseUrl:`${i.hi(t).baseUrl.replaceAll(/[\\/]$/g,``)}/optimization/v1/validate`})(e,t,n);if(r.error){let e=r.error;if(typeof e.json==`function`)try{e=await e.json()}catch{e=await e}return{error:e}}return r},endpoints:e=>({editLinks:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/links`,body:e}),invalidatesTags:[se]}),editImages:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/images`,body:e})}),editSpam:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/spamassasin`,body:e})})})}),{useEditLinksMutation:ce,useEditImagesMutation:le,useEditSpamMutation:ue}=I,de=i.Si({reducerPath:`exportPngApi`,baseQuery:async(e,t,n)=>{try{let{notification:r,...a}=e,o=await i.Di({baseUrl:`https://racs.rest/v3`})(a,t,n);if(o.error)throw Error();return o}catch(t){return(e?.notification).error(t),{error:t}}},endpoints:e=>({makeTemporaryMailForPng:e.mutation({query:({file:e,title:t,notification:n})=>{let r=new Blob([e],{type:`text/html`}),i=new FormData;return i.append(`file`,r,`base.html`),i.append(`contentType`,`text/html`),{url:`?resource=exportPngApi`,method:`POST`,body:i,notification:n}}}),deleteTemporaryMail:e.mutation({query:({id:e,notification:t})=>({url:`/${e}?resource=exportPngApi`,method:`DELETE`,notification:t})})})}),{useMakeTemporaryMailForPngMutation:L,useDeleteTemporaryMailMutation:fe}=de,pe=i.Si({reducerPath:`yandexAuthApi`,baseQuery:i.pi({baseUrl:`https://app.useblocks.io/apiwp-json/auth/v1/yandex/callback`}),endpoints:e=>({validateYandexToken:e.mutation({query:e=>({url:``,method:`POST`,body:e})})})}),{useValidateYandexTokenMutation:R}=pe,z=i.Si({reducerPath:`googleAuthApi`,baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/auth/v1/google/callback`}),endpoints:e=>({validateGoogleToken:e.mutation({query:e=>({url:``,method:`POST`,body:e})})})}),{useValidateGoogleTokenMutation:B}=z,me=i.Si({reducerPath:`webHookApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({postDataByWebHook:e.mutation({query:({url:e,body:t})=>({url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,body:t})})})}),{usePostDataByWebHookMutation:he}=me,V=i.Si({reducerPath:`unisenderApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createEmailMessage:e.mutation({query:e=>{let t=new URLSearchParams;return t.append(`format`,`json`),Object.entries(e).forEach(([e,n])=>{t.append(e,String(n))}),{url:`?proxy_url=https%3A%2F%2Fapi.unisender.com%2Fru%2Fapi%2FcreateEmailMessage`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t.toString()}}})})}),{useCreateEmailMessageMutation:ge}=V,H=i.Si({reducerPath:`mailganerApi`,baseQuery:i.Di({baseUrl:`https://mailganer.com`}),endpoints:e=>({createMailing:e.mutation({query:e=>{let t=new URLSearchParams;return t.append(`api_key`,e.api_key),t.append(`name`,e.name),t.append(`html-content`,e.html_content),e.theme&&t.append(`theme`,e.theme),e.from_name&&t.append(`from_name`,e.from_name),e.from_email&&t.append(`from_email`,e.from_email),e.segment_id&&t.append(`segment_id`,String(e.segment_id)),e.utm_campaign&&t.append(`utm_campaign`,e.utm_campaign),e.utm_source&&t.append(`utm_source`,e.utm_source),e.utm_medium&&t.append(`utm_medium`,e.utm_medium),{url:`/api/v1/mailing/create/`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t.toString()}}})})}),{useCreateMailingMutation:U}=H,W=i.Si({reducerPath:`sendsayApi`,baseQuery:i.Di({baseUrl:`https://api.sendsay.ru`}),endpoints:e=>({createDraft:e.mutation({query:e=>{let t={action:`issue.draft.set`,apikey:e.api_key,return_fresh_obj:1,obj:{name:e.name,letter:{subject:e.subject,"from.name":e.from_name||void 0,"from.email":e.from_email||void 0,message:{html:e.html_content}}}};return{url:`/general/api/v100/json/${e.login.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:t}}})})}),{useCreateDraftMutation:G}=W,K=i.Si({reducerPath:`altcraftApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({addTemplate:e.mutation({query:e=>{let t=`${e.api_url}/api/v1.1/templates/add`,n={token:e.api_key,name:e.name,channels:[{sid:`email`,fields:{html:e.html_content,text:``,subject:e.subject||e.name,from_email:e.from_email||``,from_name:e.from_name||``,replyto_email:``,replyto_name:``,is_not_inline:!0}}],is_draft:e.is_draft??!1};return{url:`?proxy_url=${encodeURIComponent(t)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}}})})}),{useAddTemplateMutation:q}=K,_e=e=>e.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,``).replace(/<script[^>]*>[\s\S]*?<\/script>/gi,``).replace(/<[^>]+>/g,` `).replace(/ /g,` `).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/\s+/g,` `).trim(),ve=i.Si({reducerPath:`enkodApi`,baseQuery:i.Di({baseUrl:`https://api.enkod.ru`}),endpoints:e=>({createMessage:e.mutation({query:e=>{let t=_e(e.html_content)||e.subject,n={message:{subject:e.subject,fromEmail:e.sender_email||``,fromName:e.sender_name||``,html:e.html_content,plainText:t},isDraft:!0};return{url:`/v1/message/onetime/`,method:`POST`,headers:{"Content-Type":`application/json`,Apikey:e.api_key},body:n}}})})}),{useCreateMessageMutation:J}=ve,ye=e=>{let t=e.split(`-`);return t.length>1?t[1]:`us1`},be=e=>`https://${ye(e)}.api.mailchimp.com/3.0`,Y=i.Si({reducerPath:`mailchimpApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=be(e.api_key),a=btoa(`anystring:${e.api_key}`),o={type:`regular`,recipients:{list_id:e.list_id},settings:{subject_line:e.subject,from_name:e.from_name,reply_to:e.from_email}},s=await r({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Basic ${a}`},body:JSON.stringify(o)});if(s.error){let e=s.error,t=e?.data?.detail||e?.error||String(s.error),n=e?.data?.errors;return{error:{status:`CUSTOM_ERROR`,error:n?.length?n.map(e=>e.detail||e.title).join(`; `):t}}}let c=s.data;if(!c?.id)return{error:{status:`CUSTOM_ERROR`,error:s.data?.errors?.map(e=>e.detail||e.title).join(`; `)||`Failed to create campaign`}};let l={html:e.html},u=await r({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns/${c.id}/content`)}`,method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Basic ${a}`},body:JSON.stringify(l)});if(u.error){let e=u.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.detail||e?.error||String(u.error)}}}return{data:{id:c.id,status:c.status,web_id:c.web_id}}}})})}),{useCreateCampaignMutation:X}=Y,xe=`https://a.klaviyo.com/api`,Se=`2025-04-15`,Ce=e=>({"Content-Type":`application/json`,Accept:`application/json`,Authorization:`Klaviyo-API-Key ${e}`,revision:Se}),we=i.Si({reducerPath:`klaviyoApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=Ce(e.api_key),a={data:{type:`template`,attributes:{name:`Email ${Date.now()}`,editor_type:`CODE`,html:e.html}}},o=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/templates`)}`,method:`POST`,headers:i,body:JSON.stringify(a)});if(o.error){let e=o.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(o.error)}}}let s=o.data?.data?.id;if(!s)return{error:{status:`CUSTOM_ERROR`,error:`Failed to create template`}};let c={data:{type:`campaign`,attributes:{name:`Campaign ${Date.now()}`,audiences:{included:[e.list_id],excluded:[]},send_strategy:{method:`immediate`},"campaign-messages":{data:[{type:`campaign-message`,attributes:{definition:{channel:`email`,label:e.subject,content:{subject:e.subject,from_email:e.from_email,from_label:e.from_name,reply_to_email:e.from_email}}}}]}}}},l=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/campaigns`)}`,method:`POST`,headers:i,body:JSON.stringify(c)});if(l.error){let e=l.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(l.error)}}}let u=l.data,d=u?.data?.relationships?.[`campaign-messages`]?.data?.[0]?.id,f=u?.data?.id;if(!d)return{error:{status:`CUSTOM_ERROR`,error:`Failed to get campaign message from campaign`}};let p={data:{type:`campaign-message`,id:d,relationships:{template:{data:{type:`template`,id:s}}}}},m=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/campaign-message-assign-template`)}`,method:`POST`,headers:i,body:JSON.stringify(p)});if(m.error){let e=m.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(m.error)}}}return{data:{id:f,campaign_message_id:d}}}})})}),{useCreateCampaignMutation:Te}=we,Ee=`https://api.hubapi.com`,De=e=>({"Content-Type":`application/json`,Authorization:`Bearer ${e}`}),Oe=i.Si({reducerPath:`hubspotApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createEmail:e.mutation({queryFn:async(e,t,n,r)=>{let i=De(e.api_key),a={name:e.name,subject:e.subject,from:{fromName:e.from_name,replyTo:e.from_email},content:{templatePath:`@hubspot/email/dnd/plain_text.html`,widgets:{"module-0-1-1":{body:{html:e.html,path:`@hubspot/rich_text`,schema_version:2},child_css:{},css:{},id:`module-0-1-1`,name:`module-0-1-1`,order:2,styles:{},type:`module`},"module-1-1-1":{body:{align:`center`,path:`@hubspot/email_footer`,schema_version:2,unsubscribe_link_type:`both`},child_css:{},css:{},id:`module-1-1-1`,name:`module-1-1-1`,order:3,styles:{},type:`module`}}}},o=await r({url:`?proxy_url=${encodeURIComponent(`${Ee}/marketing/v3/emails/`)}`,method:`POST`,headers:i,body:JSON.stringify(a)});if(o.error){let e=o.error,t=e?.data?.errors,n=e?.data?.message;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.message||e.errorType).join(`; `):n||e?.error||String(o.error)}}}let s=o.data;return s?.id?{data:{id:s.id}}:{error:{status:`CUSTOM_ERROR`,error:o.data?.errors?.map(e=>e.message||e.errorType).join(`; `)||`Failed to create email`}}}})})}),{useCreateEmailMutation:ke}=Oe,Ae=i.Si({reducerPath:`salesforceMcApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createEmail:e.mutation({queryFn:async(e,t,n,r)=>{let i=`https://${e.subdomain}.auth.marketingcloudapis.com/v2/token`,a=await r({url:`?proxy_url=${encodeURIComponent(i)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({grant_type:`client_credentials`,client_id:e.client_id,client_secret:e.client_secret})});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_description||e?.data?.error||e?.error||String(a.error)}}}let o=a.data,s=o?.access_token,c=o?.rest_instance_url;if(!s||!c)return{error:{status:`CUSTOM_ERROR`,error:o?.error_description||o?.error||`Failed to get access token`}};let l={name:e.name,assetType:{id:208,name:`htmlemail`},views:{html:{content:e.html},text:{},subjectline:{content:e.subject},preheader:{}},data:{email:{options:{characterEncoding:`utf-8`}}}},u=await r({url:`?proxy_url=${encodeURIComponent(`${c.replace(/\/$/,``)}/asset/v1/content/assets`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${s}`},body:JSON.stringify(l)});if(u.error){let e=u.error,t=e?.data?.errors,n=e?.data?.message;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.message||e.documentation).join(`; `):n||e?.error||String(u.error)}}}let d=u.data;return d?.id?{data:{id:d.id}}:{error:{status:`CUSTOM_ERROR`,error:u.data?.errors?.map(e=>e.message).join(`; `)||`Failed to create email`}}}})})}),{useCreateEmailMutation:je}=Ae,Me=e=>e.replace(/\/$/,``),Ne=e=>e.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim()||` `,Pe=i.Si({reducerPath:`activecampaignApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=Me(e.api_url),a=e.api_key,o={"Content-Type":`application/json`,"Api-Token":a},s=await r({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/addresses`)}`,method:`GET`,headers:{"Api-Token":a}});if(s.error)return{error:{status:`CUSTOM_ERROR`,error:`Failed to load mailing addresses. Check your API URL and Key.`}};let c=s.data?.addresses??[],l=c.find(e=>e.isDefault===`1`)??c[0];if(!l?.id)return{error:{status:`CUSTOM_ERROR`,error:`NO_MAILING_ADDRESS`}};let u={message:{name:e.name,fromname:e.from_name,fromemail:e.from_email,email:e.from_email,reply2:e.from_email,subject:e.subject,html:e.html,text:Ne(e.html),preheader_text:``,format:`mime`}},d=await r({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/messages`)}`,method:`POST`,headers:o,body:JSON.stringify(u)});if(d.error){let e=d.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||`Failed to create message.`}}}let f=d.data?.message?.id;if(!f)return{error:{status:`CUSTOM_ERROR`,error:`Message created but no ID returned.`}};let p=`${i}/admin/api.php?api_action=campaign_create&api_output=json`,m=new URLSearchParams;m.append(`type`,`single`),m.append(`name`,e.name),m.append(`sdate`,`2099-12-31 12:00:00`),m.append(`status`,`0`),m.append(`public`,`1`),m.append(`trackreads`,`1`),m.append(`tracklinks`,`all`),m.append(`htmlunsub`,`1`),m.append(`textunsub`,`1`),m.append(`addressid`,String(l.id)),m.append(`p[${e.list_id}]`,e.list_id),m.append(`m[${f}]`,`100`);let h=await r({url:`?proxy_url=${encodeURIComponent(p)}`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,"Api-Token":a},body:m.toString()});if(h.error){let e=h.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.result_message||e?.error||`Message created, but campaign creation failed.`}}}let g=h.data;if(Number(g?.result_code)===0)return{error:{status:`CUSTOM_ERROR`,error:g?.result_message||`Campaign creation failed (v1 API).`}};let _=g?.id;return _?{data:{campaignId:String(_)}}:{error:{status:`CUSTOM_ERROR`,error:g?.result_message||`Campaign created but no ID returned.`}}}})})}),{useCreateCampaignMutation:Fe}=Pe,Ie=`https://api.brevo.com/v3`,Le=i.Si({reducerPath:`brevoApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i={name:e.name,subject:e.subject,sender:{name:e.from_name,email:e.from_email},htmlContent:e.html,recipients:{listIds:[e.list_id]}},a=await r({url:`?proxy_url=${encodeURIComponent(`${Ie}/emailCampaigns`)}`,method:`POST`,headers:{"Content-Type":`application/json`,"api-key":e.api_key},body:JSON.stringify(i)});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.data?.code||e?.error||String(a.error)}}}let o=a.data;return o?.id?{data:{id:o.id}}:{error:{status:`CUSTOM_ERROR`,error:a.data?.message||`Failed to create campaign`}}}})})}),{useCreateCampaignMutation:Re}=Le,ze=`https://api.createsend.com/api/v3.3`,Be=e=>`Basic ${btoa(`${e}:x`)}`,Ve=i.Si({reducerPath:`campaignMonitorApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i={Name:e.name,Subject:e.subject,FromName:e.from_name,FromEmail:e.from_email,ReplyTo:e.from_email,HtmlUrl:e.html_url,ListIDs:[e.list_id],InlineCss:!0},a=await r({url:`?proxy_url=${encodeURIComponent(`${ze}/campaigns/${e.client_id}.json`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:Be(e.api_key)},body:JSON.stringify(i)});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.Message||e?.error||String(a.error)}}}let o=a.data,s=typeof o==`string`?o:o?.id;return!s||typeof s!=`string`?{error:{status:`CUSTOM_ERROR`,error:o?.Message||`Failed to create campaign`}}:{data:{id:s}}}})})}),{useCreateCampaignMutation:He}=Ve,Ue=`https://api.cc.email/v3`,We=e=>e.includes(`[[trackingImage]]`)?e:e.replace(/<body([^>]*)>/i,`<body$1>[[trackingImage]]`),Ge=i.Si({reducerPath:`constantContactApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=We(e.html),a={name:e.name,email_campaign_activities:[{format_type:5,from_email:e.from_email,reply_to_email:e.from_email,from_name:e.from_name,subject:e.subject,html_content:i}]},o=await r({url:`?proxy_url=${encodeURIComponent(`${Ue}/emails`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${e.access_token}`},body:JSON.stringify(a)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_message||e?.data?.error_key||e?.error||String(o.error)}}}let s=o.data,c=s?.campaign_activities?.find(e=>e.role===`primary_email`)?.campaign_activity_id,l=s?.campaign_id;if(!c||!l)return{error:{status:`CUSTOM_ERROR`,error:`Failed to create campaign`}};let u={campaign_activity_id:c,campaign_id:l,role:`primary_email`,contact_list_ids:[e.list_id],segment_ids:[],current_status:`DRAFT`,format_type:5,from_email:e.from_email,from_name:e.from_name,reply_to_email:e.from_email,subject:e.subject,html_content:i},d=await r({url:`?proxy_url=${encodeURIComponent(`${Ue}/emails/activities/${c}`)}`,method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${e.access_token}`},body:JSON.stringify(u)});if(d.error){let e=d.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_message||e?.data?.error_key||e?.error||String(d.error)}}}return{data:{campaign_id:l}}}})})}),{useCreateCampaignMutation:Ke}=Ge,qe=`https://api.getresponse.com/v3`,Je=e=>`api-key ${e}`,Ye=i.Si({reducerPath:`getresponseApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createNewsletter:e.mutation({queryFn:async(e,t,n,r)=>{let i=e.html.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim(),a={name:e.name,type:`draft`,subject:e.subject,fromField:{fromFieldId:e.from_field_id},replyTo:{fromFieldId:e.from_field_id},campaign:{campaignId:e.campaign_id},content:{html:e.html,plain:i||`Newsletter`},flags:[`openrate`,`clicktrack`],sendSettings:{selectedCampaigns:[e.campaign_id]}},o=await r({url:`?proxy_url=${encodeURIComponent(`${qe}/newsletters`)}`,method:`POST`,headers:{"Content-Type":`application/json`,"X-Auth-Token":Je(e.api_key)},body:JSON.stringify(a)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.data?.code||e?.error||String(o.error)}}}let s=o.data;return s?.newsletterId?{data:{newsletterId:s.newsletterId}}:{error:{status:`CUSTOM_ERROR`,error:o.data?.message||`Failed to create newsletter`}}}})})}),{useCreateNewsletterMutation:Xe}=Ye,Ze=e=>`https://${e||`r1`}-api.dotdigital.com/v2`,Qe=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,$e=e=>e&&typeof e==`object`&&`data`in e&&e.data!==void 0?e.data:e,et=e=>e.trim().toLowerCase(),tt=i.Si({reducerPath:`dotdigitalApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=e.html.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim(),a=Ze(e.region),o={"Content-Type":`application/json`,Authorization:Qe(e.username,e.password)},s=await r({url:`?proxy_url=${encodeURIComponent(`${a}/custom-from-addresses`)}`,method:`GET`,headers:{Authorization:Qe(e.username,e.password)}}),c=[];if(!s.error){let e=$e(s.data);Array.isArray(e)?c=e:e&&typeof e==`object`&&Array.isArray(e.items)&&(c=e.items)}let l=et(e.from_email),u=c.find(e=>e.email&&et(e.email)===l),d={name:e.name,subject:e.subject,fromName:e.from_name,htmlContent:e.html,plainTextContent:i||`Newsletter`},f=!u?.id;u?.id!=null&&(d.fromAddress={id:u.id});let p=await r({url:`?proxy_url=${encodeURIComponent(`${a}/campaigns`)}`,method:`POST`,headers:o,body:JSON.stringify(d)});if(p.error){let e=p.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||String(p.error)}}}let m=$e(p.data);return m?.id?{data:{id:m.id,usedAccountDefaultFromAddress:f}}:{error:{status:`CUSTOM_ERROR`,error:p.data?.message||m?.message||`Failed to create campaign`}}}})})}),{useCreateCampaignMutation:nt}=tt,rt=`https://app.bentonow.com/api/v1`,it=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,at=i.Si({reducerPath:`bentoApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createBroadcast:e.mutation({queryFn:async(e,t,n,r)=>{let i={broadcasts:[{name:e.name,subject:e.subject,content:e.html,type:`raw`,from:{email:e.from_email,name:e.from_name},inclusive_tags:e.inclusive_tags||`subscribers`,exclusive_tags:``,segment_id:e.segment_id||``,batch_size_per_hour:500,approved:!1}]},a=`${rt}/batch/broadcasts?site_uuid=${encodeURIComponent(e.site_uuid)}`,o=await r({url:`?proxy_url=${encodeURIComponent(a)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:it(e.publishable_key,e.secret_key),"User-Agent":`EmailMaker/1.0`},body:JSON.stringify(i)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||String(o.error)}}}return{data:{count:o.data?.count??1}}}})})}),{useCreateBroadcastMutation:ot}=at,st=a.w(),ct=i.Si({reducerPath:`AiApiGenerator`,baseQuery:async(e,t,n)=>{let r=await i.pi({baseUrl:i.hi(t).baseUrl.replaceAll(/[\\/]$/g,``)})(e,t,n);if(r.error){let e=r.error;if(typeof e.json==`function`)try{e=await e.json()}catch{e=await e}return{error:e}}return r},endpoints:e=>({generateIdForTask:e.mutation({queryFn(e,t){return i.mi(t).tasks.tasksControllerCreateTask(e).then(e=>e)}}),clearAiChat:e.query({queryFn(e,t){return i.hi(t).aiGenerator.clear_history_list(e).then(e=>e)}}),getGeneratedContent:e.query({queryFn:e=>({data:[]}),async onCacheEntryAdded({id:e,setError:t},n){let{updateCachedData:r,cacheEntryRemoved:o}=n,s=i.hi(n).baseUrl.indexOf(`emailmaker`)>=0?i.Ma.maker:i.Ma.blocks,c=i._a.isPlugin?await i.vi.getInstance(n,a.D):a.T.get(i.Fi.em_token),l=c?{Authorization:`Bearer ${c}`}:{},u=new st.EventSourcePolyfill(`${s}/tasks/${e}`,{headers:l});u.onmessage=e=>{let t=JSON.parse(e.data);r(e=>{e.push(t)})},u.onerror=e=>{t(`Error connecting to EventSource`),u.close()},await o,u.close()}}),getAiGenerateStatus:e.mutation({query:e=>({url:`/constructor/v1/ai-save-task`,method:`POST`,body:e})})})}),{useGenerateIdForTaskMutation:lt,useGetGeneratedContentQuery:ut,useLazyClearAiChatQuery:dt,useLazyGetGeneratedContentQuery:ft,useGetAiGenerateStatusMutation:pt}=ct,mt=async e=>{let t=await e.text(),n=t;try{n=JSON.parse(t)}catch{n=t}return n},ht=(e,t,n)=>{if(!e)throw Error(`Set ${n}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:t,responseHandler:mt}},gt=(e,t,n)=>{if(!e)throw Error(`Set ${n}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,body:t,responseHandler:mt}},_t=i.Si({reducerPath:`requestPlaneApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({getRequest:e.mutation({query:e=>gt(`https://webhook.latenode.com/5868/prod/5c07527e-9d53-467a-a148-87220d46e9ae`,e,`REACT_APP_PIPEDREAM_REQUEST_PLANE_SRC`)}),getInvoiceRequest:e.mutation({query:e=>ht(`https://webhook.latenode.com/5868/prod/5c07527e-9d53-467a-a148-87220d46e9ae`,e,`REACT_APP_REQUEST_PLANE_WEBHOOK_URL`)})})}),{useGetRequestMutation:vt,useGetInvoiceRequestMutation:yt}=_t,bt=i.Si({reducerPath:`htmlToPdfPlusApi`,baseQuery:async(e,t,n)=>{try{let{notification:r,...a}=e,o=await i.Di({baseUrl:`https://html2pdf.emcdn.ru/convert/html-to-pdf`})(a,t,n);if(o.error)throw Error();return o}catch(t){return(e?.notification).error(t),{error:t}}},endpoints:e=>({generateHtmlToPdf:e.mutation({query:({htmlContent:e,notification:t})=>({url:``,method:`POST`,body:e,notification:t,responseHandler:e=>e.blob()})})})}),{useGenerateHtmlToPdfMutation:xt}=bt;function St({title:e,content:t,acf:{seen:n,type:r,event:a,data:o},...s}){return{...s,seen:n,type:r,event:a,data:o,title:i.di(e),content:t}}var Ct=`Notifications`,wt=i.Si({reducerPath:`notificationsApi`,tagTypes:[Ct],baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/wp/v2/`}),endpoints:e=>({getNotifications:e.query({queryFn(e,t){return i.hi(t).wp.notification_list({author:[Number(e)]}).then(i.si(St))},providesTags:e=>e?[...e.map(({id:e})=>({type:Ct,id:e})),{type:Ct,id:`LIST`}]:[{type:Ct,id:`LIST`}]}),notificationShown:e.mutation({queryFn({id:e,datetime:t},n){return i.hi(n).wp.notification_create2({id:e},{},{type:i.no.Json,extraQuery:{"acf[seen]":t}}).then(i.ci(St))},invalidatesTags:[{type:Ct,id:`LIST`}]})})}),{useGetNotificationsQuery:Tt,useNotificationShownMutation:Et}=wt,Dt=i.Si({reducerPath:`getCheckoutUrlApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({GetCheckoutUrl:e.mutation({query:e=>({url:`?proxy_url=https%3A%2F%2Fwebhook.latenode.com%2F5868%2Fprod%2F5072387e-5ace-4ca7-9a25-2f952a7075af`,method:`POST`,body:e})})})}),{useGetCheckoutUrlMutation:Ot}=Dt,kt=i.Si({reducerPath:`recoverPasswordApi`,baseQuery:i.Di({baseUrl:`https://app.useblocks.io/api/wp-json/bdpwr/v1/`}),endpoints:e=>({resetPassword:e.mutation({queryFn(e,t){return i.Ua(t).bdpwr.reset_password_create({body:e,type:i.no.Json})}}),setPassword:e.mutation({queryFn(e,t){return i.Ua(t).bdpwr.set_password_create({body:e,type:i.no.Json})}}),validateRecoverPasswordCode:e.mutation({queryFn(e,t){return i.Ua(t).bdpwr.validate_code_create({body:e,type:i.no.Json})}})})}),{useResetPasswordMutation:At,useSetPasswordMutation:jt,useValidateRecoverPasswordCodeMutation:Mt}=kt,Nt=i.Si({reducerPath:`addUserToProjectApi`,baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/user_to_project/v1/add_user`}),endpoints:e=>({addUserToProject:e.mutation({queryFn(e,t){return i.hi(t).userToProject.add_user_create(e,{type:i.no.FormData})}})})}),{useAddUserToProjectMutation:Pt}=Nt,Ft=i.Si({reducerPath:`confirmationMailApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`,responseHandler:e=>e.text()}),endpoints:e=>({getConfirmationMail:e.query({query:({userId:e,email:t})=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/1fbda9c1-3211-4b12-be45-9cd2ea73d73d?user_id=${e}&user_email=${t}`)}`})})})}),{useLazyGetConfirmationMailQuery:It}=Ft,Lt=i.Si({reducerPath:`recurrenceSubscriptionsOffApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({getCanselRecurrence:e.query({query:e=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/38815aec-cb5d-4b40-8dcb-75e7453573a0?subscription_id=${e.sid}&user_id=${e.uid}`)}`})})})}),{useLazyGetCanselRecurrenceQuery:Rt,useGetCanselRecurrenceQuery:zt}=Lt,Bt=i.Si({reducerPath:`recurrenceSubscriptionsOnApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({getRecurrence:e.query({query:e=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/7ac13d46-e4af-4dea-ab21-aab55415575b?subscription_id=${e.sid}&user_id=${e.uid}`)}`})})})}),{useLazyGetRecurrenceQuery:Vt,useGetRecurrenceQuery:Ht}=Bt,Ut=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
1
|
+
__useblocks__.define(`static/core/5abb5c27.js`,[`require`,`exports`,`module`,`static/core/4dc58c63.js`,`static/core/91f27762.js`,`static/core/9b1a1232.js`,`static/core/4b2f0647.js`,`static/core/d241e8cb.js`],function(e,t,n){let r=e("./4dc58c63.js"),i=e("./9b1a1232.js"),a=e("./4b2f0647.js"),o=e("./91f27762.js"),s=e("./d241e8cb.js");var c=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){let n=this._plugins.get(e);if(n?.overrides)for(let e of n.overrides)t=e(t)||t;return t}_notifyListeners(e,t){let n=this._listeners.get(e);if(!n||n.length===0)return;for(let e of n)try{e.callback(t)}catch{}let r=n.filter(e=>!e.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){let t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){let t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){let n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){let n=Promise.resolve(t.factory()).then(n=>(t.ctor=n,t.loading=void 0,this._notifyListeners(e,n),n));t.loading=n;let r=await n;return this._applyOverrides(e,r)}return new Promise(t=>{this.on(e,n=>t(this._applyOverrides(e,n)))})}add(e,t){let n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(let t of Object.keys(e)){let n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){let n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){let t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){let n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{let e=n.overrides.indexOf(t);e>=0&&n.overrides.splice(e,1)}}}on(e,t){let n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));let i={callback:t,once:!1};return r.push(i),{dispose:()=>this._removeListener(e,t)}}once(e,t){let n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));let i={callback:t,once:!0};return r.push(i),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){let n=this._listeners.get(e);if(n){let r=n.findIndex(e=>e.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){let e=this;return{add(t,n){e.add(t,n)}}}},l=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}};function u(e){if(e instanceof DOMException&&e.name===`AbortError`)return e;let t=e===void 0?`The operation was aborted.`:typeof e==`string`?e:e instanceof Error?e.message:String(e);return new DOMException(t,`AbortError`)}function d(e){if(e?.aborted)throw u(e.reason)}function f(e,t){return t?(d(t),new Promise((n,r)=>{let i=()=>{a(),r(u(t.reason))},a=()=>{t.removeEventListener(`abort`,i)};t.addEventListener(`abort`,i),e.then(e=>{a(),n(e)},e=>{a(),r(e)})})):e}var p=e=>{let t={current:Promise.resolve(),state:e,decorate:(e,n)=>(n&&(e=e.bind(n)),function(...n){let r=t.current.then(()=>e(...n));return t.current=r.then(e=>{t.state=e},e=>{}),r})};return t};r.i(),o.n();var m=`Ai`,h=i.Si({reducerPath:`AiApi`,tagTypes:[m],baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/save-file/v1/`}),endpoints:e=>({sendMessage:e.mutation({queryFn({body:e},t){return i.hi(t).aiGenerator.ai_create(e)}}),getDialog:e.query({queryFn({entity_id:e,connection:t=`chat`},n){return n.getState().configSlice?.config?.aiAssistentEnabled===!1?Promise.resolve({data:{documents:[],totalCount:0}}):i.hi(n).aiGenerator.ai_status_list({connection:t,entity_id:e})},providesTags:e=>e?.documents?[...e.documents.map(({id:e})=>({type:m,id:e})),{type:m,id:`LIST`}]:[{type:m,id:`LIST`}]})})}),{useSendMessageMutation:g,useGetDialogQuery:_,useLazyGetDialogQuery:v}=h,y=i.Si({reducerPath:`proxyApi`,tagTypes:[`Proxy`],baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/cors-proxy/v1/get`}),endpoints:e=>({getFile:e.query({queryFn({url:e,tryFetch:t=!0,type:n},r){let a=i.hi(r),o=t?fetch(e):Promise.reject(),s=e=>{switch(n){case`json`:return e.json();case`text`:return e.text();default:return e.blob()}},c=e=>s(e).then(e=>({data:e}));return o.then(e=>c(e)).catch(()=>a.corsProxy.get_list({format:`blob`,extraQuery:{url:encodeURIComponent(e)}}))}})})}),{useGetFileQuery:b,useLazyGetFileQuery:x}=y,S=i.Si({reducerPath:`tokenApi`,baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/jwt-auth/v1/`}),endpoints:e=>({tokenCreate:e.mutation({queryFn(e,t){return i.hi(t).jwtAuth.token_create({body:e,type:i.no.Json})}}),tokenValidate:e.mutation({queryFn(e,t){return i.hi(t).jwtAuth.token_validate_create({type:i.no.Json})}})})}),{useTokenCreateMutation:C,useTokenValidateMutation:w}=S,T=i.Si({reducerPath:`promoApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/promo/v1/`}),endpoints:e=>({checkPromo:e.mutation({queryFn:({code:e,type:t},n)=>i.hi(n).promo.set_code_create({code:e,type:t})}),getPromoInfo:e.query({queryFn({code:e},t){return i.hi(t).promo.get_code_info_list({code:e})}})})}),{useCheckPromoMutation:E,useGetPromoInfoQuery:D}=T,O=`LOCALES`,k=i.Si({reducerPath:`localesApi`,tagTypes:[O],baseQuery:i.Di({baseUrl:`https://app.useblocks.io/api/wp-json/translations/v1`}),endpoints:e=>({getLocale:e.query({async queryFn({id:e},t){let n=i.hi(t);try{return await n.translations.get_translations3({id:e,file:`react_app`})}catch{return n.translations.get_translations3({id:`en_US`,file:`react_app`})}},providesTags:(e,t,n)=>[{type:O,id:n}]}),getLocales:e.query({queryFn:function(e,t){return i.hi(t).translations.get_translations2({file:`react_app`})},providesTags:(e,t,n)=>[{type:O,id:`react_app`}]})})}),{useGetLocalesQuery:A,useGetLocaleQuery:j,useLazyGetLocaleQuery:M,useLazyGetLocalesQuery:N}=k,P=i.Si({reducerPath:`saveFileApi`,tagTypes:[`Images`],baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/save-file/v1/`}),endpoints:e=>({uploadImage:e.mutation({queryFn(e,t){return i.hi(t).saveFile.upload_create(e,{type:i.no.FormData})}}),sendTestEmail:e.mutation({queryFn(e,t){return i.hi(t).saveFile.send_email_create(e,{type:i.no.FormData})}}),sendLivePreview:e.mutation({queryFn(e,t){return i.hi(t).saveFile.get_link_create(e,{type:i.no.FormData})}}),sendShortLink:e.mutation({queryFn(e,t){return i.hi(t).saveFile.shortener_create(e,{type:i.no.FormData})}})})}),{useUploadImageMutation:ee,useSendTestEmailMutation:te,useSendLivePreviewMutation:ne,useSendShortLinkMutation:re}=P,ie=`EmailRaw`,ae=i.Si({reducerPath:`emailRawApi`,tagTypes:[ie],baseQuery:i.Di({baseUrl:`https://app.useblocks.io/api/wp-json/wp/v2/`}),endpoints:e=>({getEmailRaw:e.query({queryFn:function({emailId:e,secret_hash:t},n){return i.Ua(n).wp.email_detail({id:e},{extraQuery:{secret_hash:t}}).then(i.ci(i.li))},providesTags:(e,t,n)=>[{type:ie,id:n}]})})}),{useGetEmailRawQuery:oe}=ae,se=`Optimise`,F=`usage_limit_exceeded`,I=i.Si({reducerPath:`optimiseApi`,tagTypes:[se],baseQuery:async(e,t,n)=>{let r=await i.pi({baseUrl:`${i.hi(t).baseUrl.replaceAll(/[\\/]$/g,``)}/optimization/v1/validate`})(e,t,n);if(r.error){let e=r.error;if(typeof e.json==`function`)try{e=await e.json()}catch{e=await e}return{error:e}}return r},endpoints:e=>({editLinks:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/links`,body:e}),invalidatesTags:[se]}),editImages:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/images`,body:e})}),editSpam:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/spamassasin`,body:e})})})}),{useEditLinksMutation:ce,useEditImagesMutation:le,useEditSpamMutation:ue}=I,de=i.Si({reducerPath:`exportPngApi`,baseQuery:async(e,t,n)=>{try{let{notification:r,...a}=e,o=await i.Di({baseUrl:`https://racs.rest/v3`})(a,t,n);if(o.error)throw Error();return o}catch(t){return(e?.notification).error(t),{error:t}}},endpoints:e=>({makeTemporaryMailForPng:e.mutation({query:({file:e,title:t,notification:n})=>{let r=new Blob([e],{type:`text/html`}),i=new FormData;return i.append(`file`,r,`base.html`),i.append(`contentType`,`text/html`),{url:`?resource=exportPngApi`,method:`POST`,body:i,notification:n}}}),deleteTemporaryMail:e.mutation({query:({id:e,notification:t})=>({url:`/${e}?resource=exportPngApi`,method:`DELETE`,notification:t})})})}),{useMakeTemporaryMailForPngMutation:L,useDeleteTemporaryMailMutation:fe}=de,pe=i.Si({reducerPath:`yandexAuthApi`,baseQuery:i.pi({baseUrl:`https://app.useblocks.io/apiwp-json/auth/v1/yandex/callback`}),endpoints:e=>({validateYandexToken:e.mutation({query:e=>({url:``,method:`POST`,body:e})})})}),{useValidateYandexTokenMutation:R}=pe,z=i.Si({reducerPath:`googleAuthApi`,baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/auth/v1/google/callback`}),endpoints:e=>({validateGoogleToken:e.mutation({query:e=>({url:``,method:`POST`,body:e})})})}),{useValidateGoogleTokenMutation:B}=z,me=i.Si({reducerPath:`webHookApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({postDataByWebHook:e.mutation({query:({url:e,body:t})=>({url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,body:t})})})}),{usePostDataByWebHookMutation:he}=me,V=i.Si({reducerPath:`unisenderApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createEmailMessage:e.mutation({query:e=>{let t=new URLSearchParams;return t.append(`format`,`json`),Object.entries(e).forEach(([e,n])=>{t.append(e,String(n))}),{url:`?proxy_url=https%3A%2F%2Fapi.unisender.com%2Fru%2Fapi%2FcreateEmailMessage`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t.toString()}}})})}),{useCreateEmailMessageMutation:ge}=V,H=i.Si({reducerPath:`mailganerApi`,baseQuery:i.Di({baseUrl:`https://mailganer.com`}),endpoints:e=>({createMailing:e.mutation({query:e=>{let t=new URLSearchParams;return t.append(`api_key`,e.api_key),t.append(`name`,e.name),t.append(`html-content`,e.html_content),e.theme&&t.append(`theme`,e.theme),e.from_name&&t.append(`from_name`,e.from_name),e.from_email&&t.append(`from_email`,e.from_email),e.segment_id&&t.append(`segment_id`,String(e.segment_id)),e.utm_campaign&&t.append(`utm_campaign`,e.utm_campaign),e.utm_source&&t.append(`utm_source`,e.utm_source),e.utm_medium&&t.append(`utm_medium`,e.utm_medium),{url:`/api/v1/mailing/create/`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t.toString()}}})})}),{useCreateMailingMutation:U}=H,W=i.Si({reducerPath:`sendsayApi`,baseQuery:i.Di({baseUrl:`https://api.sendsay.ru`}),endpoints:e=>({createDraft:e.mutation({query:e=>{let t={action:`issue.draft.set`,apikey:e.api_key,return_fresh_obj:1,obj:{name:e.name,letter:{subject:e.subject,"from.name":e.from_name||void 0,"from.email":e.from_email||void 0,message:{html:e.html_content}}}};return{url:`/general/api/v100/json/${e.login.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:t}}})})}),{useCreateDraftMutation:G}=W,K=i.Si({reducerPath:`altcraftApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({addTemplate:e.mutation({query:e=>{let t=`${e.api_url}/api/v1.1/templates/add`,n={token:e.api_key,name:e.name,channels:[{sid:`email`,fields:{html:e.html_content,text:``,subject:e.subject||e.name,from_email:e.from_email||``,from_name:e.from_name||``,replyto_email:``,replyto_name:``,is_not_inline:!0}}],is_draft:e.is_draft??!1};return{url:`?proxy_url=${encodeURIComponent(t)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}}})})}),{useAddTemplateMutation:q}=K,_e=e=>e.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,``).replace(/<script[^>]*>[\s\S]*?<\/script>/gi,``).replace(/<[^>]+>/g,` `).replace(/ /g,` `).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/\s+/g,` `).trim(),ve=i.Si({reducerPath:`enkodApi`,baseQuery:i.Di({baseUrl:`https://api.enkod.ru`}),endpoints:e=>({createMessage:e.mutation({query:e=>{let t=_e(e.html_content)||e.subject,n={message:{subject:e.subject,fromEmail:e.sender_email||``,fromName:e.sender_name||``,html:e.html_content,plainText:t},isDraft:!0};return{url:`/v1/message/onetime/`,method:`POST`,headers:{"Content-Type":`application/json`,Apikey:e.api_key},body:n}}})})}),{useCreateMessageMutation:J}=ve,ye=e=>{let t=e.split(`-`);return t.length>1?t[1]:`us1`},be=e=>`https://${ye(e)}.api.mailchimp.com/3.0`,Y=i.Si({reducerPath:`mailchimpApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=be(e.api_key),a=btoa(`anystring:${e.api_key}`),o={type:`regular`,recipients:{list_id:e.list_id},settings:{subject_line:e.subject,from_name:e.from_name,reply_to:e.from_email}},s=await r({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Basic ${a}`},body:JSON.stringify(o)});if(s.error){let e=s.error,t=e?.data?.detail||e?.error||String(s.error),n=e?.data?.errors;return{error:{status:`CUSTOM_ERROR`,error:n?.length?n.map(e=>e.detail||e.title).join(`; `):t}}}let c=s.data;if(!c?.id)return{error:{status:`CUSTOM_ERROR`,error:s.data?.errors?.map(e=>e.detail||e.title).join(`; `)||`Failed to create campaign`}};let l={html:e.html},u=await r({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns/${c.id}/content`)}`,method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Basic ${a}`},body:JSON.stringify(l)});if(u.error){let e=u.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.detail||e?.error||String(u.error)}}}return{data:{id:c.id,status:c.status,web_id:c.web_id}}}})})}),{useCreateCampaignMutation:X}=Y,xe=`https://a.klaviyo.com/api`,Se=`2025-04-15`,Ce=e=>({"Content-Type":`application/json`,Accept:`application/json`,Authorization:`Klaviyo-API-Key ${e}`,revision:Se}),we=i.Si({reducerPath:`klaviyoApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=Ce(e.api_key),a={data:{type:`template`,attributes:{name:`Email ${Date.now()}`,editor_type:`CODE`,html:e.html}}},o=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/templates`)}`,method:`POST`,headers:i,body:JSON.stringify(a)});if(o.error){let e=o.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(o.error)}}}let s=o.data?.data?.id;if(!s)return{error:{status:`CUSTOM_ERROR`,error:`Failed to create template`}};let c={data:{type:`campaign`,attributes:{name:`Campaign ${Date.now()}`,audiences:{included:[e.list_id],excluded:[]},send_strategy:{method:`immediate`},"campaign-messages":{data:[{type:`campaign-message`,attributes:{definition:{channel:`email`,label:e.subject,content:{subject:e.subject,from_email:e.from_email,from_label:e.from_name,reply_to_email:e.from_email}}}}]}}}},l=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/campaigns`)}`,method:`POST`,headers:i,body:JSON.stringify(c)});if(l.error){let e=l.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(l.error)}}}let u=l.data,d=u?.data?.relationships?.[`campaign-messages`]?.data?.[0]?.id,f=u?.data?.id;if(!d)return{error:{status:`CUSTOM_ERROR`,error:`Failed to get campaign message from campaign`}};let p={data:{type:`campaign-message`,id:d,relationships:{template:{data:{type:`template`,id:s}}}}},m=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/campaign-message-assign-template`)}`,method:`POST`,headers:i,body:JSON.stringify(p)});if(m.error){let e=m.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(m.error)}}}return{data:{id:f,campaign_message_id:d}}}})})}),{useCreateCampaignMutation:Te}=we,Ee=`https://api.hubapi.com`,De=e=>({"Content-Type":`application/json`,Authorization:`Bearer ${e}`}),Oe=i.Si({reducerPath:`hubspotApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createEmail:e.mutation({queryFn:async(e,t,n,r)=>{let i=De(e.api_key),a={name:e.name,subject:e.subject,from:{fromName:e.from_name,replyTo:e.from_email},content:{templatePath:`@hubspot/email/dnd/plain_text.html`,widgets:{"module-0-1-1":{body:{html:e.html,path:`@hubspot/rich_text`,schema_version:2},child_css:{},css:{},id:`module-0-1-1`,name:`module-0-1-1`,order:2,styles:{},type:`module`},"module-1-1-1":{body:{align:`center`,path:`@hubspot/email_footer`,schema_version:2,unsubscribe_link_type:`both`},child_css:{},css:{},id:`module-1-1-1`,name:`module-1-1-1`,order:3,styles:{},type:`module`}}}},o=await r({url:`?proxy_url=${encodeURIComponent(`${Ee}/marketing/v3/emails/`)}`,method:`POST`,headers:i,body:JSON.stringify(a)});if(o.error){let e=o.error,t=e?.data?.errors,n=e?.data?.message;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.message||e.errorType).join(`; `):n||e?.error||String(o.error)}}}let s=o.data;return s?.id?{data:{id:s.id}}:{error:{status:`CUSTOM_ERROR`,error:o.data?.errors?.map(e=>e.message||e.errorType).join(`; `)||`Failed to create email`}}}})})}),{useCreateEmailMutation:ke}=Oe,Ae=i.Si({reducerPath:`salesforceMcApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createEmail:e.mutation({queryFn:async(e,t,n,r)=>{let i=`https://${e.subdomain}.auth.marketingcloudapis.com/v2/token`,a=await r({url:`?proxy_url=${encodeURIComponent(i)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({grant_type:`client_credentials`,client_id:e.client_id,client_secret:e.client_secret})});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_description||e?.data?.error||e?.error||String(a.error)}}}let o=a.data,s=o?.access_token,c=o?.rest_instance_url;if(!s||!c)return{error:{status:`CUSTOM_ERROR`,error:o?.error_description||o?.error||`Failed to get access token`}};let l={name:e.name,assetType:{id:208,name:`htmlemail`},views:{html:{content:e.html},text:{},subjectline:{content:e.subject},preheader:{}},data:{email:{options:{characterEncoding:`utf-8`}}}},u=await r({url:`?proxy_url=${encodeURIComponent(`${c.replace(/\/$/,``)}/asset/v1/content/assets`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${s}`},body:JSON.stringify(l)});if(u.error){let e=u.error,t=e?.data?.errors,n=e?.data?.message;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.message||e.documentation).join(`; `):n||e?.error||String(u.error)}}}let d=u.data;return d?.id?{data:{id:d.id}}:{error:{status:`CUSTOM_ERROR`,error:u.data?.errors?.map(e=>e.message).join(`; `)||`Failed to create email`}}}})})}),{useCreateEmailMutation:je}=Ae,Me=e=>e.replace(/\/$/,``),Ne=e=>e.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim()||` `,Pe=i.Si({reducerPath:`activecampaignApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=Me(e.api_url),a=e.api_key,o={"Content-Type":`application/json`,"Api-Token":a},s=await r({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/addresses`)}`,method:`GET`,headers:{"Api-Token":a}});if(s.error)return{error:{status:`CUSTOM_ERROR`,error:`Failed to load mailing addresses. Check your API URL and Key.`}};let c=s.data?.addresses??[],l=c.find(e=>e.isDefault===`1`)??c[0];if(!l?.id)return{error:{status:`CUSTOM_ERROR`,error:`NO_MAILING_ADDRESS`}};let u={message:{name:e.name,fromname:e.from_name,fromemail:e.from_email,email:e.from_email,reply2:e.from_email,subject:e.subject,html:e.html,text:Ne(e.html),preheader_text:``,format:`mime`}},d=await r({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/messages`)}`,method:`POST`,headers:o,body:JSON.stringify(u)});if(d.error){let e=d.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||`Failed to create message.`}}}let f=d.data?.message?.id;if(!f)return{error:{status:`CUSTOM_ERROR`,error:`Message created but no ID returned.`}};let p=`${i}/admin/api.php?api_action=campaign_create&api_output=json`,m=new URLSearchParams;m.append(`type`,`single`),m.append(`name`,e.name),m.append(`sdate`,`2099-12-31 12:00:00`),m.append(`status`,`0`),m.append(`public`,`1`),m.append(`trackreads`,`1`),m.append(`tracklinks`,`all`),m.append(`htmlunsub`,`1`),m.append(`textunsub`,`1`),m.append(`addressid`,String(l.id)),m.append(`p[${e.list_id}]`,e.list_id),m.append(`m[${f}]`,`100`);let h=await r({url:`?proxy_url=${encodeURIComponent(p)}`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,"Api-Token":a},body:m.toString()});if(h.error){let e=h.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.result_message||e?.error||`Message created, but campaign creation failed.`}}}let g=h.data;if(Number(g?.result_code)===0)return{error:{status:`CUSTOM_ERROR`,error:g?.result_message||`Campaign creation failed (v1 API).`}};let _=g?.id;return _?{data:{campaignId:String(_)}}:{error:{status:`CUSTOM_ERROR`,error:g?.result_message||`Campaign created but no ID returned.`}}}})})}),{useCreateCampaignMutation:Fe}=Pe,Ie=`https://api.brevo.com/v3`,Le=i.Si({reducerPath:`brevoApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i={name:e.name,subject:e.subject,sender:{name:e.from_name,email:e.from_email},htmlContent:e.html,recipients:{listIds:[e.list_id]}},a=await r({url:`?proxy_url=${encodeURIComponent(`${Ie}/emailCampaigns`)}`,method:`POST`,headers:{"Content-Type":`application/json`,"api-key":e.api_key},body:JSON.stringify(i)});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.data?.code||e?.error||String(a.error)}}}let o=a.data;return o?.id?{data:{id:o.id}}:{error:{status:`CUSTOM_ERROR`,error:a.data?.message||`Failed to create campaign`}}}})})}),{useCreateCampaignMutation:Re}=Le,ze=`https://api.createsend.com/api/v3.3`,Be=e=>`Basic ${btoa(`${e}:x`)}`,Ve=i.Si({reducerPath:`campaignMonitorApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i={Name:e.name,Subject:e.subject,FromName:e.from_name,FromEmail:e.from_email,ReplyTo:e.from_email,HtmlUrl:e.html_url,ListIDs:[e.list_id],InlineCss:!0},a=await r({url:`?proxy_url=${encodeURIComponent(`${ze}/campaigns/${e.client_id}.json`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:Be(e.api_key)},body:JSON.stringify(i)});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.Message||e?.error||String(a.error)}}}let o=a.data,s=typeof o==`string`?o:o?.id;return!s||typeof s!=`string`?{error:{status:`CUSTOM_ERROR`,error:o?.Message||`Failed to create campaign`}}:{data:{id:s}}}})})}),{useCreateCampaignMutation:He}=Ve,Ue=`https://api.cc.email/v3`,We=e=>e.includes(`[[trackingImage]]`)?e:e.replace(/<body([^>]*)>/i,`<body$1>[[trackingImage]]`),Ge=i.Si({reducerPath:`constantContactApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=We(e.html),a={name:e.name,email_campaign_activities:[{format_type:5,from_email:e.from_email,reply_to_email:e.from_email,from_name:e.from_name,subject:e.subject,html_content:i}]},o=await r({url:`?proxy_url=${encodeURIComponent(`${Ue}/emails`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${e.access_token}`},body:JSON.stringify(a)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_message||e?.data?.error_key||e?.error||String(o.error)}}}let s=o.data,c=s?.campaign_activities?.find(e=>e.role===`primary_email`)?.campaign_activity_id,l=s?.campaign_id;if(!c||!l)return{error:{status:`CUSTOM_ERROR`,error:`Failed to create campaign`}};let u={campaign_activity_id:c,campaign_id:l,role:`primary_email`,contact_list_ids:[e.list_id],segment_ids:[],current_status:`DRAFT`,format_type:5,from_email:e.from_email,from_name:e.from_name,reply_to_email:e.from_email,subject:e.subject,html_content:i},d=await r({url:`?proxy_url=${encodeURIComponent(`${Ue}/emails/activities/${c}`)}`,method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${e.access_token}`},body:JSON.stringify(u)});if(d.error){let e=d.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_message||e?.data?.error_key||e?.error||String(d.error)}}}return{data:{campaign_id:l}}}})})}),{useCreateCampaignMutation:Ke}=Ge,qe=`https://api.getresponse.com/v3`,Je=e=>`api-key ${e}`,Ye=i.Si({reducerPath:`getresponseApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createNewsletter:e.mutation({queryFn:async(e,t,n,r)=>{let i=e.html.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim(),a={name:e.name,type:`draft`,subject:e.subject,fromField:{fromFieldId:e.from_field_id},replyTo:{fromFieldId:e.from_field_id},campaign:{campaignId:e.campaign_id},content:{html:e.html,plain:i||`Newsletter`},flags:[`openrate`,`clicktrack`],sendSettings:{selectedCampaigns:[e.campaign_id]}},o=await r({url:`?proxy_url=${encodeURIComponent(`${qe}/newsletters`)}`,method:`POST`,headers:{"Content-Type":`application/json`,"X-Auth-Token":Je(e.api_key)},body:JSON.stringify(a)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.data?.code||e?.error||String(o.error)}}}let s=o.data;return s?.newsletterId?{data:{newsletterId:s.newsletterId}}:{error:{status:`CUSTOM_ERROR`,error:o.data?.message||`Failed to create newsletter`}}}})})}),{useCreateNewsletterMutation:Xe}=Ye,Ze=e=>`https://${e||`r1`}-api.dotdigital.com/v2`,Qe=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,$e=e=>e&&typeof e==`object`&&`data`in e&&e.data!==void 0?e.data:e,et=e=>e.trim().toLowerCase(),tt=i.Si({reducerPath:`dotdigitalApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=e.html.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim(),a=Ze(e.region),o={"Content-Type":`application/json`,Authorization:Qe(e.username,e.password)},s=await r({url:`?proxy_url=${encodeURIComponent(`${a}/custom-from-addresses`)}`,method:`GET`,headers:{Authorization:Qe(e.username,e.password)}}),c=[];if(!s.error){let e=$e(s.data);Array.isArray(e)?c=e:e&&typeof e==`object`&&Array.isArray(e.items)&&(c=e.items)}let l=et(e.from_email),u=c.find(e=>e.email&&et(e.email)===l),d={name:e.name,subject:e.subject,fromName:e.from_name,htmlContent:e.html,plainTextContent:i||`Newsletter`},f=!u?.id;u?.id!=null&&(d.fromAddress={id:u.id});let p=await r({url:`?proxy_url=${encodeURIComponent(`${a}/campaigns`)}`,method:`POST`,headers:o,body:JSON.stringify(d)});if(p.error){let e=p.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||String(p.error)}}}let m=$e(p.data);return m?.id?{data:{id:m.id,usedAccountDefaultFromAddress:f}}:{error:{status:`CUSTOM_ERROR`,error:p.data?.message||m?.message||`Failed to create campaign`}}}})})}),{useCreateCampaignMutation:nt}=tt,rt=`https://app.bentonow.com/api/v1`,it=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,at=i.Si({reducerPath:`bentoApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({createBroadcast:e.mutation({queryFn:async(e,t,n,r)=>{let i={broadcasts:[{name:e.name,subject:e.subject,content:e.html,type:`raw`,from:{email:e.from_email,name:e.from_name},inclusive_tags:e.inclusive_tags||`subscribers`,exclusive_tags:``,segment_id:e.segment_id||``,batch_size_per_hour:500,approved:!1}]},a=`${rt}/batch/broadcasts?site_uuid=${encodeURIComponent(e.site_uuid)}`,o=await r({url:`?proxy_url=${encodeURIComponent(a)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:it(e.publishable_key,e.secret_key),"User-Agent":`EmailMaker/1.0`},body:JSON.stringify(i)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||String(o.error)}}}return{data:{count:o.data?.count??1}}}})})}),{useCreateBroadcastMutation:ot}=at,st=a.w(),ct=i.Si({reducerPath:`AiApiGenerator`,baseQuery:async(e,t,n)=>{let r=await i.pi({baseUrl:i.hi(t).baseUrl.replaceAll(/[\\/]$/g,``)})(e,t,n);if(r.error){let e=r.error;if(typeof e.json==`function`)try{e=await e.json()}catch{e=await e}return{error:e}}return r},endpoints:e=>({generateIdForTask:e.mutation({queryFn(e,t){return i.mi(t).tasks.tasksControllerCreateTask(e).then(e=>e)}}),clearAiChat:e.query({queryFn(e,t){return i.hi(t).aiGenerator.clear_history_list(e).then(e=>e)}}),getGeneratedContent:e.query({queryFn:e=>({data:[]}),async onCacheEntryAdded({id:e,setError:t},n){let{updateCachedData:r,cacheEntryRemoved:o}=n,s=i.hi(n).baseUrl.indexOf(`emailmaker`)>=0?i.Ma.maker:i.Ma.blocks,c=i._a.isPlugin?await i.vi.getInstance(n,a.D):a.T.get(i.Fi.em_token),l=c?{Authorization:`Bearer ${c}`}:{},u=new st.EventSourcePolyfill(`${s}/tasks/${e}`,{headers:l});u.onmessage=e=>{let t=JSON.parse(e.data);r(e=>{e.push(t)})},u.onerror=e=>{t(`Error connecting to EventSource`),u.close()},await o,u.close()}}),getAiGenerateStatus:e.mutation({query:e=>({url:`/constructor/v1/ai-save-task`,method:`POST`,body:e})})})}),{useGenerateIdForTaskMutation:lt,useGetGeneratedContentQuery:ut,useLazyClearAiChatQuery:dt,useLazyGetGeneratedContentQuery:ft,useGetAiGenerateStatusMutation:pt}=ct,mt=async e=>{let t=await e.text(),n=t;try{n=JSON.parse(t)}catch{n=t}return n},ht=(e,t,n)=>{if(!e)throw Error(`Set ${n}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:t,responseHandler:mt}},gt=(e,t,n)=>{if(!e)throw Error(`Set ${n}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,body:t,responseHandler:mt}},_t=i.Si({reducerPath:`requestPlaneApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({getRequest:e.mutation({query:e=>gt(`https://webhook.latenode.com/5868/prod/5c07527e-9d53-467a-a148-87220d46e9ae`,e,`REACT_APP_PIPEDREAM_REQUEST_PLANE_SRC`)}),getInvoiceRequest:e.mutation({query:e=>ht(`https://webhook.latenode.com/5868/prod/5c07527e-9d53-467a-a148-87220d46e9ae`,e,`REACT_APP_REQUEST_PLANE_WEBHOOK_URL`)})})}),{useGetRequestMutation:vt,useGetInvoiceRequestMutation:yt}=_t,bt=i.Si({reducerPath:`htmlToPdfPlusApi`,baseQuery:async(e,t,n)=>{try{let{notification:r,...a}=e,o=await i.Di({baseUrl:`https://html2pdf.emcdn.ru/convert/html-to-pdf`})(a,t,n);if(o.error)throw Error();return o}catch(t){return(e?.notification).error(t),{error:t}}},endpoints:e=>({generateHtmlToPdf:e.mutation({query:({htmlContent:e,notification:t})=>({url:``,method:`POST`,body:e,notification:t,responseHandler:e=>e.blob()})})})}),{useGenerateHtmlToPdfMutation:xt}=bt;function St({title:e,content:t,acf:{seen:n,type:r,event:a,data:o},...s}){return{...s,seen:n,type:r,event:a,data:o,title:i.di(e),content:t}}var Ct=`Notifications`,wt=i.Si({reducerPath:`notificationsApi`,tagTypes:[Ct],baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/wp/v2/`}),endpoints:e=>({getNotifications:e.query({queryFn(e,t){return i.hi(t).wp.notification_list({author:[Number(e)]}).then(i.si(St))},providesTags:e=>e?[...e.map(({id:e})=>({type:Ct,id:e})),{type:Ct,id:`LIST`}]:[{type:Ct,id:`LIST`}]}),notificationShown:e.mutation({queryFn({id:e,datetime:t},n){return i.hi(n).wp.notification_create2({id:e},{},{type:i.no.Json,extraQuery:{"acf[seen]":t}}).then(i.ci(St))},invalidatesTags:[{type:Ct,id:`LIST`}]})})}),{useGetNotificationsQuery:Tt,useNotificationShownMutation:Et}=wt,Dt=i.Si({reducerPath:`getCheckoutUrlApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({GetCheckoutUrl:e.mutation({query:e=>({url:`?proxy_url=https%3A%2F%2Fwebhook.latenode.com%2F5868%2Fprod%2F5072387e-5ace-4ca7-9a25-2f952a7075af`,method:`POST`,body:e})})})}),{useGetCheckoutUrlMutation:Ot}=Dt,kt=i.Si({reducerPath:`recoverPasswordApi`,baseQuery:i.Di({baseUrl:`https://app.useblocks.io/api/wp-json/bdpwr/v1/`}),endpoints:e=>({resetPassword:e.mutation({queryFn(e,t){return i.Ua(t).bdpwr.reset_password_create({body:e,type:i.no.Json})}}),setPassword:e.mutation({queryFn(e,t){return i.Ua(t).bdpwr.set_password_create({body:e,type:i.no.Json})}}),validateRecoverPasswordCode:e.mutation({queryFn(e,t){return i.Ua(t).bdpwr.validate_code_create({body:e,type:i.no.Json})}})})}),{useResetPasswordMutation:At,useSetPasswordMutation:jt,useValidateRecoverPasswordCodeMutation:Mt}=kt,Nt=i.Si({reducerPath:`addUserToProjectApi`,baseQuery:i.pi({baseUrl:`https://app.useblocks.io/api/wp-json/user_to_project/v1/add_user`}),endpoints:e=>({addUserToProject:e.mutation({queryFn(e,t){return i.hi(t).userToProject.add_user_create(e,{type:i.no.FormData})}})})}),{useAddUserToProjectMutation:Pt}=Nt,Ft=i.Si({reducerPath:`confirmationMailApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`,responseHandler:e=>e.text()}),endpoints:e=>({getConfirmationMail:e.query({query:({userId:e,email:t})=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/1fbda9c1-3211-4b12-be45-9cd2ea73d73d?user_id=${e}&user_email=${t}`)}`})})})}),{useLazyGetConfirmationMailQuery:It}=Ft,Lt=i.Si({reducerPath:`recurrenceSubscriptionsOffApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({getCanselRecurrence:e.query({query:e=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/38815aec-cb5d-4b40-8dcb-75e7453573a0?subscription_id=${e.sid}&user_id=${e.uid}`)}`})})})}),{useLazyGetCanselRecurrenceQuery:Rt,useGetCanselRecurrenceQuery:zt}=Lt,Bt=i.Si({reducerPath:`recurrenceSubscriptionsOnApi`,baseQuery:i.Di({baseUrl:`https://px0.useblocks.io/`}),endpoints:e=>({getRecurrence:e.query({query:e=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/7ac13d46-e4af-4dea-ab21-aab55415575b?subscription_id=${e.sid}&user_id=${e.uid}`)}`})})})}),{useLazyGetRecurrenceQuery:Vt,useGetRecurrenceQuery:Ht}=Bt,Ut=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
2
2
|
<html>
|
|
3
3
|
<head>
|
|
4
4
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__useblocks__.define(`static/core/35607bb1.js`,[`require`,`exports`,`module`,`static/core/ae8e0b50.js`,`static/core/dd0f0da5.js`],function(e,t,n){let r=e("./ae8e0b50.js"),i=e("./dd0f0da5.js");var a;(function(e){function t(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}e.isEqual=t;function n(e,t=e=>e){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}e.unique=n;function r(e=[],t=[],n=(e,t)=>e===t){let r=[],i=[],a=[];for(let r of e){let e=t.find(e=>n(r,e));e?a.push({prev:r,next:e}):i.push(r)}for(let i of t)e.find(e=>n(i,e))||r.push(i);return{added:r,removed:i,exists:a}}e.diff=r})(a||={});var o=``,s=`Trash`,c=`Trash`,l=class{_inner;rootPath;trashId;trashPath;ensureFolderTrailingSlash;i18n;_pathToId=new Map;_idToPath=new Map;getUrl;getThumbnailUrl;validateDuplicates;constructor(e,t=o,n=c,r=s,a=!0,l=i.m){this._inner=e,this.rootPath=t,this.trashId=n,this.trashPath=r,this.ensureFolderTrailingSlash=a,this.i18n=l,this.validateDuplicates=this._inner.validateDuplicates,typeof e.getUrl==`function`&&(this.getUrl=t=>e.getUrl({...t,id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})),typeof e.getThumbnailUrl==`function`&&(this.getThumbnailUrl=t=>e.getThumbnailUrl({...t,id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})),typeof this._inner.deleteItems!=`function`&&(this.deleteItems=void 0),typeof this._inner.deleteItem!=`function`&&(this.deleteItem=void 0),typeof this._inner.moveItems==`function`?this.moveItem=void 0:this.moveItems=void 0,typeof this._inner.copyItems==`function`?this.copyItem=void 0:this.copyItems=void 0,typeof this._inner.uploadFiles==`function`?this.uploadFile=void 0:this.uploadFiles=void 0,typeof this._inner.clearCache!=`function`&&(this.clearCache=void 0),this._getOrGenerateId(this.rootPath)}setController(e){typeof this._inner.setController==`function`&&this._inner.setController({invalidateItemCache:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);r&&e.invalidateItemCache(r)},getCachedItem:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);if(r){let t=e.getCachedItem(r);if(t)return{...t,id:this.pathForId(t.id,t.isFolder),folderId:this.pathForId(t.folderId,t.isFolder)}}}})}clearCache(e){if(typeof this._inner.clearCache==`function`)return this._inner.clearCache(e)}_getOrGenerateId(e){if(e===this.rootPath)return;let t=e.replaceAll(/^\/+|\/+$/g,``);if(t===this.trashPath.replaceAll(/^\/+|\/+$/g,``))return this.trashId;if(this._pathToId.has(t))return this._pathToId.get(t);let n=r.zo();return this._pathToId.set(t,n),this._idToPath.set(n,t),n}pathForId(e,t,n){let{__:i}=this.i18n;if(e===``||e===void 0)return this.rootPath;if(e===this.trashId)return this.trashPath;let a=this._idToPath.get(e);if(!a){if(n)return`unknown folder ${e}`;throw new r.Io(i?i(`Path for id '${e}' not found in mapping`):`Path for id '${e}' not found in mapping`,`FileNotFound`)}let o=0;for(;o<this.rootPath.length&&this.rootPath[o]===`/`;)o++;if(o){let e=0;for(;e<a.length&&a[e]===`/`;)e++;let t=a.slice(e);a=`/`.repeat(o)+t}return t&&this.ensureFolderTrailingSlash&&!a.endsWith(`/`)&&(a+=`/`),a}_updateIdMapping(e,t){let n=t.replace(/^\/+|\/+$/g,``),r=this._idToPath.get(e);r&&this._pathToId.delete(r),this._idToPath.set(e,n),this._pathToId.set(n,e)}async getItems(e){let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,n=await this._inner.getItems({...e,folderId:t}),r=n.items.map(e=>{let t=this._getOrGenerateId(e.id),n=e.folderId?this._getOrGenerateId(e.folderId):this._getOrGenerateId(this.rootPath);return{...e,id:t,folderId:n}});return{...n,items:r}}async createFolder(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.createFolder(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async renameItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.renameItem!=`function`)throw new r.Io(n?n(`Rename item is not supported by inner storage`):`Rename item is not supported by inner storage`,`RenameNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=i,{...o}=await this._inner.renameItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);return this._updateIdMapping(e.id,o.id),e.isFolder&&this.remapCachedFolderContents(e.id,a,o.id),o.folderId&&(o={...o,folderId:this._getOrGenerateId(o.folderId)}),{...o,id:this._getOrGenerateId(o.id)}}async deleteItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.deleteItem!=`function`)throw new r.Io(n?n(`Delete item is not supported by inner storage`):`Delete item is not supported by inner storage`,`DeleteNotAllowed`);let i=this.pathForId(e.id,e.isFolder);await this._inner.deleteItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t),this.recursivelyRemoveMappings(e.id,i)}async uploadFile(e){let{__:t}=this.i18n;if(typeof this._inner.uploadFile!=`function`)throw new r.Io(t?t(`Upload file is not supported by inner storage`):`Upload file is not supported by inner storage`,`UnsupportedOperation`);let n=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i=await this._inner.uploadFile({...e,folderId:n}),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async uploadFiles(e){let t=e.folderId,n=e.items?.map(e=>e.folderId)??[],r=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i={...e,folderId:r,items:e.items?.map(e=>({...e,folderId:e.folderId?this.pathForId(e.folderId,!0):r}))??[]},a=await this._inner.uploadFiles(i);return{...a,detailed:a.detailed?.map((e,r)=>{if(!e?.data)return e;let i=e.data.id?this._getOrGenerateId(e.data.id):void 0,a=e.data.folderId?this._getOrGenerateId(e.data.folderId):n[r]??t??this._getOrGenerateId(this.rootPath);return{...e,data:{...e.data,id:i,folderId:a}}})}}async findFileByUrl(e,t){let n=t?this.pathForId(t,!0):this.rootPath;if(typeof this._inner.findFileByUrl==`function`){let t=await this._inner.findFileByUrl(e,n);if(!t)return;let r=this._getOrGenerateId(t.id),i=t.folderId?this._getOrGenerateId(t.folderId):this._getOrGenerateId(this.rootPath);return{...t,id:r,folderId:i}}}async uploadFileByUrl(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.uploadFileByUrl(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async moveItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.moveItem!=`function`)throw new r.Io(n?n(`Move item is not supported by inner storage`):`Move item is not supported by inner storage`,`MoveNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=this.pathForId(t,!0),o=await this._inner.moveItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},a);this._updateIdMapping(e.id,o.id),e.isFolder&&this.remapCachedFolderContents(e.id,i,o.id);let s=this._getOrGenerateId(o.id),c=o.folderId?this._getOrGenerateId(o.folderId):t;return{...o,id:s,folderId:c}}async moveItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.moveItems!=`function`)throw new r.Io(n?n(`Move items is not supported by inner storage`):`Move items is not supported by inner storage`,`MoveNotAllowed`);let i=t?this.pathForId(t,!0):this.rootPath,a=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),o=await this._inner.moveItems(a,i),s=[];if(o.detailed&&o.detailed.length>0){let r=new Map;for(let t=0;t<o.detailed.length;t++){let n=o.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let a=r.get(i.id)||(o.detailed.length===e.length?o.detailed[e.indexOf(i)]:void 0);if(a?.success&&a.data){if(this._updateIdMapping(i.id,a.data.id),i.isFolder){let e=this.pathForId(i.id,i.isFolder);this.remapCachedFolderContents(i.id,e,a.data.id)}s.push({requestId:i.id,success:!0,data:{...a.data,id:this._getOrGenerateId(a.data.id),folderId:a.data.folderId?this._getOrGenerateId(a.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else{let e=n?n(`Move operation failed - no detailed result`):`Move operation failed - no detailed result`;s.push({requestId:i.id,success:!1,error:a?.error||{message:e,code:`MoveNotAllowed`}})}}}else for(let t of e){let e=n?n(`Move operation failed - no detailed results`):`Move operation failed - no detailed results`;s.push({requestId:t.id,success:!1,error:{message:e,code:`MoveNotAllowed`}})}return{success:o.success,detailed:s,error:o.error}}async copyItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.copyItems!=`function`)throw new r.Io(n?n(`Copy items is not supported by inner storage`):`Copy items is not supported by inner storage`,`CopyNotAllowed`);let i=t?this.pathForId(t,!0):this.rootPath,a=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),o=await this._inner.copyItems(a,i),s=[];if(o.detailed&&o.detailed.length>0){let r=new Map;for(let t=0;t<o.detailed.length;t++){let n=o.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let a=r.get(i.id)||(o.detailed.length===e.length?o.detailed[e.indexOf(i)]:void 0);if(a?.success&&a.data?.id){let e=this._getOrGenerateId(a.data.id);s.push({requestId:i.id,success:!0,data:{...a.data,id:e,folderId:a.data.folderId?this._getOrGenerateId(a.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else{let e=a?a.success?a.data?a.data.id?{message:n?n(`Unknown copy error`):`Unknown copy error`,code:`CopyNotAllowed`}:{message:n?n(`No ID in copied item data`):`No ID in copied item data`,code:`CopyNotAllowed`}:{message:n?n(`No data returned from copy operation`):`No data returned from copy operation`,code:`CopyNotAllowed`}:a.error||{message:n?n(`Copy operation failed`):`Copy operation failed`,code:`CopyNotAllowed`}:{message:n?n(`No detailed result from copy operation`):`No detailed result from copy operation`,code:`CopyNotAllowed`};s.push({requestId:i.id,success:!1,error:e})}}}else for(let t of e){let e=n?n(`No detailed results from copy operation`):`No detailed results from copy operation`;s.push({requestId:t.id,success:!1,error:{message:e,code:`CopyNotAllowed`}})}let c=s.every(e=>e.success),l=n?n(`Copy operation completed with errors`):`Copy operation completed with errors`;return{success:c,detailed:s,error:c?void 0:o.error||{message:l,code:`CopyNotAllowed`}}}async deleteItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.deleteItems!=`function`)throw new r.Io(n?n(`Delete items is not supported by inner storage`):`Delete items is not supported by inner storage`,`DeleteNotAllowed`);let i=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),a=await this._inner.deleteItems(i,t),o=[];if(a.detailed&&a.detailed.length>0){let r=new Map;for(let t=0;t<a.detailed.length;t++){let n=a.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let s=r.get(i.id)||(a.detailed.length===e.length?a.detailed[e.indexOf(i)]:void 0);if(s?.success){let e=this.pathForId(i.id,i.isFolder);if(t.permanent)this.recursivelyRemoveMappings(i.id,e);else if(this._updateIdMapping(i.id,this.trashPath+`/`+e+(i.isFolder?`/`:``)),i.isFolder){let t=this.pathForId(i.id,i.isFolder);this.remapCachedFolderContents(i.id,t,this.trashPath+`/`+e+(i.isFolder?`/`:``))}o.push({requestId:i.id,success:!0})}else{let e=n?n(`Delete operation failed`):`Delete operation failed`;o.push({requestId:i.id,success:!1,error:s?.error||{message:e,code:`DeleteNotAllowed`}})}}}else for(let r of e)if(a.success){let e=this.pathForId(r.id,r.isFolder);if(t.permanent)this.recursivelyRemoveMappings(r.id,e);else if(this._updateIdMapping(r.id,this.trashPath+`/`+e+(r.isFolder?`/`:``)),r.isFolder){let t=this.pathForId(r.id,r.isFolder);this.remapCachedFolderContents(r.id,t,this.trashPath+`/`+e+(r.isFolder?`/`:``))}o.push({requestId:r.id,success:!0})}else{let e=n?n(`Delete operation failed`):`Delete operation failed`;o.push({requestId:r.id,success:!1,error:a.error||{message:e,code:`DeleteNotAllowed`}})}let s=o.every(e=>e.success),c=n?n(`Some items failed to delete`):`Some items failed to delete`;return{success:s,detailed:o,error:s?void 0:a.error||{message:c,code:`DeleteNotAllowed`}}}remapCachedFolderContents(e,t,n){let r=t.replace(/\/+$/,``),i=n.replace(/\/+$/,``),a=[];for(let[e,t]of this._idToPath.entries()){let n=t.replace(/\/+$/,``);n!==r&&n.startsWith(r+`/`)&&a.push({id:e,oldPath:n})}for(let{id:e,oldPath:t}of a){let n=i+t.substring(r.length);this._updateIdMapping(e,n)}}recursivelyRemoveMappings(e,t){let n=t.replace(/\/+$/,``),r=[],i=[];for(let[e,t]of this._idToPath.entries()){let a=t.replace(/\/+$/,``);(a===n||a.startsWith(n+`/`))&&(r.push(e),i.push(a))}for(let e=0;e<r.length;e++)this._idToPath.delete(r[e]),this._pathToId.delete(i[e])}async copyItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.copyItem!=`function`)throw new r.Io(n?n(`Copy item is not supported by inner storage`):`Copy item is not supported by inner storage`,`CopyNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=this.pathForId(t,!0),o=await this._inner.copyItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},a),s=this._getOrGenerateId(o.id),c=o.folderId?this._getOrGenerateId(o.folderId):t;return{...o,id:s,folderId:c}}async updateFile(e,t){let{__:n}=this.i18n;if(typeof this._inner.updateFile!=`function`)throw new r.Io(n?n(`Update file is not supported by inner storage`):`Update file is not supported by inner storage`,`UnsupportedOperation`);let i=this.pathForId(e.id,!1),{...a}=await this._inner.updateFile({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);return this._updateIdMapping(e.id,a.id),a.folderId&&(a={...a,folderId:this._getOrGenerateId(a.folderId)}),{...a,id:this._getOrGenerateId(a.id)}}async getFileData(e,t){let{__:n}=this.i18n,i=this.pathForId(e.id,!1);if(typeof this._inner.getFileData==`function`)return this._inner.getFileData({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);let a=e.url||(typeof this.getUrl==`function`?await this.getUrl(e):void 0);if(!a)throw new r.Io(n?n(`Cannot get file data: no url and no inner.getFileData`):`Cannot get file data: no url and no inner.getFileData`,`FileReadError`);return fetch(a,t?.forceReload?{cache:`no-store`}:void 0).then(e=>e.blob())}async cleanTrash(){let{__:e}=this.i18n;if(typeof this._inner.cleanTrash!=`function`)throw new r.Io(e?e(`Clean trash is not supported by inner storage`):`Clean trash is not supported by inner storage`,`UnsupportedOperation`);return await this._inner.cleanTrash()}},u=``,d=class{map=new Map;static childrenViewKey(e,t){return`v${u}${e}${u}${t}`}static childrenCountKey(e){return`c${u}${e}`}getFreshError(e,t){let n=this.map.get(e);return n?t!==1/0&&Date.now()-n.updatedAt>t?(this.map.delete(e),null):n.error:null}setError(e,t){this.map.set(e,{error:t,updatedAt:Date.now()})}delete(e){this.map.delete(e)}clearChildrenViewErrorsForParent(e){let t=`v${u}${e}${u}`;for(let e of[...this.map.keys()])e.startsWith(t)&&this.map.delete(e)}clearAll(){this.map.clear()}},f=``,p=1800*1e3;function m(e){return e==null||e===``?f:e}function h(e){if(e==null)return 1/0;let t=Number(e);return Number.isFinite(t)&&t>=0?t:1/0}function g(e){return!e||typeof e.search!=`string`?!1:e.search.trim().length>0}function _(e){if(!e)return null;let t=e.folderId;return t==null?null:String(t)}function v(e){return!!e&&e.isFolder}function y(){if(typeof globalThis?.crypto?.randomUUID==`function`)return globalThis.crypto.randomUUID();try{let e=globalThis.crypto||globalThis.msCrypto;if(e&&typeof e.getRandomValues==`function`){let t=new Uint8Array(16);e.getRandomValues(t);let n=``;for(let e=0;e<t.length;e++)n+=t[e].toString(16).padStart(2,`0`);return`id_${n}`}}catch{}return`id_fallback_${Date.now().toString(36)}_${Math.floor(Math.random()*(2**53-1)).toString(36).slice(0,8)}`}function b(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}function x(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(36)}function S(e){if(!e||typeof e!=`object`)return String(e??``);let t=e,n=[],r={},i=[`page`,`pageSize`,`sortBy`,`sortOrder`,`search`,`itemType`,`limit`];for(let e of Object.keys(t).sort()){let a=t[e];i.includes(e)?n.push(`${e}=${String(a??``)}`):r[e]=a}let a=Object.keys(r).length?JSON.stringify(r):``,o=n.join(`|`),s=a?x(a):``;return`${o}${s?`|${s}`:``}`}var C=class e{entities=new Map;childrenByParent=new Map;maxCacheSize=1e4;now(){return Date.now()}checkCacheSize(){if(this.entities.size>this.maxCacheSize){let e=Array.from(this.entities.entries()).sort((e,t)=>e[1].updatedAt-t[1].updatedAt),t=Math.floor(this.maxCacheSize*.1);for(let n=0;n<t&&n<e.length;n++){let[t,r]=e[n];this.deleteEntityById(t)}}}getEntity(e){return this.entities.get(e)?.value}getRecord(e){return this.entities.get(e)}getFileSystemItem(e){let t=this.getEntity(e);return t&&!v(t)?t:void 0}getFolder(e){let t=this.getEntity(e);return t&&v(t)?t:void 0}getChildrenIds(e,t={}){let n=m(e),r=this.childrenByParent.get(n);return r?t.onlyFileSystemItems?Array.from(r.files):t.onlyFolders?Array.from(r.folders):[...Array.from(r.folders),...Array.from(r.files)]:[]}searchByUrl(e){for(let t of this.entities.values())if(t.value.url===e)return t.value;return null}upsertEntity(e){let t=this.entities.get(e.id)??null,n=t?t.value:null,r=n?_(n):null,i=_(e),a=n?v(n):!1,o=v(e),s;if(n&&v(n)&&o){let t=n.childrenCount,r=e.childrenCount;t!==void 0&&r===void 0&&(s=t)}if(n&&(r!==i||a!==o)){let t=m(r),n=this.childrenByParent.get(t);n&&(a?n.folders.delete(e.id):n.files.delete(e.id),n.files.size===0&&n.folders.size===0&&this.childrenByParent.delete(t))}let c=e;s!==void 0&&(c={...e,childrenCount:s}),this.entities.set(e.id,{value:{...c},updatedAt:this.now()}),this.checkCacheSize();let l=m(i),u=this.childrenByParent.get(l);u||(u={files:new Set,folders:new Set},this.childrenByParent.set(l,u)),o?u.folders.add(e.id):u.files.add(e.id)}updateServerChildrenCount(e,t){if(e==null||t==null||Number.isNaN(t))return;let n=this.entities.get(e);if(!n||!v(n.value))return;let r={...n.value,childrenCount:t};this.entities.set(e,{value:r,updatedAt:this.now()})}deleteEntityById(e){let t=this.entities.get(e)??null;if(!t)return{entity:null,parentId:null};let n=t.value,r=_(n),i=m(r),a=this.childrenByParent.get(i);return a&&(v(n)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i)),this.entities.delete(e),{entity:{...n},parentId:r}}deleteFolderRecursive(e){let t=this.entities.get(e);if(!t||!v(t.value))return{deletedFolderRecords:[],deletedFileSystemItemRecords:[]};let n=[{id:e,parentId:_(t.value)}],r=[],i=[];for(;n.length;){let e=n.shift();r.push(e);let t=this.childrenByParent.get(m(e.id));if(t){for(let e of Array.from(t.folders)){let t=this.entities.get(e);t&&n.push({id:e,parentId:_(t.value)})}for(let e of Array.from(t.files))i.push(e)}}let a=[];for(let e of i){let t=this.entities.get(e);if(!t)continue;let n=t.value,r=m(_(n)),i=this.childrenByParent.get(r);i&&(i.files.delete(e),i.files.size===0&&i.folders.size===0&&this.childrenByParent.delete(r)),this.entities.delete(e),a.push({...n})}let o=[];for(let e=r.length-1;e>=0;e--){let{id:t,parentId:n}=r[e],i=this.entities.get(t);if(!i)continue;let a=i.value,s=m(a.id);this.childrenByParent.delete(s);let c=m(n),l=this.childrenByParent.get(c);l&&(l.folders.delete(t),l.files.size===0&&l.folders.size===0&&this.childrenByParent.delete(c)),this.entities.delete(t),o.push({...a})}return{deletedFolderRecords:o,deletedFileSystemItemRecords:a}}moveEntityById(e,t){let n=this.entities.get(e)??null;if(!n)return null;let r=n.value,i=m(_(r)),a=this.childrenByParent.get(i);a&&(v(r)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i));let o={...r,folderId:t};if(v(r)&&v(o)){let e=r.childrenCount;e!==void 0&&(o.childrenCount=e)}this.entities.set(e,{value:o,updatedAt:this.now()});let s=m(t),c=this.childrenByParent.get(s);return c||(c={files:new Set,folders:new Set},this.childrenByParent.set(s,c)),v(o)?c.folders.add(e):c.files.add(e),{...o}}copyFileSystemItem(e,t,n){let r=this.entities.get(e)??null;if(!r||v(r.value))return null;let i={...r.value,id:t,folderId:n};return this.upsertEntity(i),{...i}}copyFolderShallow(e,t,n){let r=this.entities.get(e)??null;if(!r||!v(r.value))return null;let i={...r.value,id:t,folderId:n};return this.upsertEntity(i),{...i}}isEntityStale(e,t){let n=this.entities.get(e)??null;return n?t===1/0?!1:this.now()-n.updatedAt>t:!0}touch(e,t){let n=this.entities.get(e);n&&(n.updatedAt=t??this.now())}getEntitiesByIds(e){return e.map(e=>this.entities.get(e)?.value??null)}searchByName(e,t){if(!e||e.trim()===``)return[];let n=t?.parentId,r=t?.recursive??!1,i=t?.itemType??`all`,a=t?.caseSensitive??!1,o=t?.limit??1/0,s=a?e.trim():e.trim().toLowerCase(),c=[],l=null;if(n!==void 0){l=new Set;let e=m(n);if(l.add(e),r){let t=[e],n=new Set;for(;t.length>0;){let e=t.shift();if(n.has(e))continue;n.add(e);let r=this.childrenByParent.get(e);if(r)for(let e of r.folders)l.add(e),t.push(e)}}}for(let[,e]of this.entities){if(c.length>=o)break;let t=e.value;if(l!==null){let e=m(_(t));if(!l.has(e))continue}if(i===`file`&&v(t)||i===`folder`&&!v(t))continue;let n=t.name??``;(a?n:n.toLowerCase()).includes(s)&&c.push({...t})}return c}toJSON(){return{entities:Array.from(this.entities.entries()),childrenByParent:Array.from(this.childrenByParent.entries()).map(([e,t])=>[e,{files:Array.from(t.files),folders:Array.from(t.folders)}])}}static fromJSON(t){let n=new e;for(let[e,r]of t.entities??[])n.entities.set(e,{value:r.value,updatedAt:r.updatedAt});for(let[e,r]of t.childrenByParent??[])n.childrenByParent.set(e,{files:new Set(r.files),folders:new Set(r.folders)});return n}},w=class e{views=new Map;strategy;ttl;errorTtl;entityTtl;failedRequests;serverChildrenCountHandler;childrenCountInvalidator;maxViewsPerParent=50;constructor(e={},t=p,n,r,i=new d){this.strategy={allowSortedInsert:e.allowSortedInsert??!0,allowSearchInsert:e.allowSearchInsert??!0,invalidateOnPaginationFull:e.invalidateOnPaginationFull??!0,preloadPagesBefore:e.preloadPagesBefore??0,preloadPagesAfter:e.preloadPagesAfter??1,comparator:e.comparator,filterMatch:e.filterMatch},this.ttl=t,this.errorTtl=n??t,this.entityTtl=r??t,this.failedRequests=i}setServerChildrenCountHandler(e){this.serverChildrenCountHandler=e}setChildrenCountInvalidator(e){this.childrenCountInvalidator=e}now(){return Date.now()}parentKey(e){return m(e??null)}isExpired(e){return e==null?!0:this.ttl===1/0?!1:this.now()-e>this.ttl}areEntitiesStale(e,t){return e?e.some(e=>!t.getEntity(e)||t.isEntityStale(e,this.entityTtl)):!0}isEntityTypeCompatible(e,t){return!!(!t||t===`all`||t===`file`&&!v(e)||t===`folder`&&v(e))}cleanupOldViews(e){if(e.size<=this.maxViewsPerParent)return;let t=Array.from(e.entries()).sort((e,t)=>(t[1].view.updatedAt||0)-(e[1].view.updatedAt||0));for(;e.size>this.maxViewsPerParent&&t.length>0;){let[n]=t.pop();e.delete(n)}}async getOrCreateChildren(e,t,n,r){let i=this.parentKey(e),a=S(t??{}),o=this.views.get(i);o||(o=new Map,this.views.set(i,o));let s=d.childrenViewKey(i,a),c=o.get(a);c||(c={params:t,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},o.set(a,c),this.cleanupOldViews(o));let l=this.failedRequests.getFreshError(s,this.errorTtl);if(l!=null)throw l;if(c.view.value&&!this.isExpired(c.view.updatedAt)&&!this.areEntitiesStale(c.view.value,r)&&!c.view.meta?.stale){let e=c.view.value.map(e=>r.getEntity(e)).filter(Boolean),t=c.params?.itemType||`all`;return{items:e.filter(e=>this.isEntityTypeCompatible(e,t)),...c.view.meta??{}}}if(c.view.promise)return c.view.promise;let u=y();c.view.loadId=u;let f=(async()=>{try{let a=await n(e,t),o=g(t),l=o?{...a,total:void 0}:a,d=this.views.get(i)?.get(S(t));if(!d||d.view.loadId!==u){let e=Error(`StaleLoad`);throw e.name=`StaleLoad`,e}for(let e of l.items)r.upsertEntity(e);c.view.value=l.items.map(e=>e.id);let{items:f,...p}=l,m={...p};c.view.meta=m,c.view.meta.stale=!1,this.failedRequests.delete(s),c.view.updatedAt=this.now(),!o&&typeof m.total==`number`&&(this.serverChildrenCountHandler?this.serverChildrenCountHandler(e??null,m.total,r):r.updateServerChildrenCount(e,m.total));let _=this.strategy.preloadPagesAfter??0,v=this.strategy.preloadPagesBefore??0,y=h(t?.pageSize);if((_>0||v>0)&&Number.isFinite(y)){let i=e,a={...t},o=typeof m.totalPages==`number`?m.totalPages:1,s=t?.page??1,c=y,l=n,d=u;setTimeout(()=>{this.preloadPagesAsync(i,a,s,o,c,_,v,r,m,l,d)},0)}return l}catch(e){if(e?.name===`StaleLoad`)throw this.failedRequests.delete(s),c.view.value=void 0,c.view.updatedAt=this.now(),e;let t=e,n=t?.status??t?.data?.status,r=t?.code??t?.data?.code;if(n===404||r===`FileNotFound`||r===`FolderNotFound`||r===`path_folder_not_found`)return this.failedRequests.delete(s),c.view.value=[],c.view.meta={total:0,totalPages:0},c.view.updatedAt=this.now(),{items:[],total:0,totalPages:0};throw this.failedRequests.setError(s,e),c.view.value=void 0,c.view.updatedAt=this.now(),e}finally{c.view.promise=null}})();return c.view.promise=f,f}async preloadPagesAsync(e,t,n,r,i,a,o,s,c,l,u){try{let i=this.parentKey(e),c=this.views.get(i);if(!c)return;let d=c.get(S(t));if(!d||u!=null&&d.view.loadId!==u)return;let f=c.get(S(t));if(!f?.view.meta)return;let p=typeof f.view.meta.totalPages==`number`?f.view.meta.totalPages:1;if(p!==r)return;let m=async n=>{let r={...t,page:n};try{let a=await l(e,r),o=this.views.get(i);if(!o)return;let c=o.get(S(t));if(!c||u!=null&&c.view.loadId!==u||c.view.loadId!==u)return;for(let e of a.items)s.upsertEntity(e);let d=S(r),f=o.get(d);if(f||(f={params:r,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:c.view.loadId}},o.set(d,f),this.cleanupOldViews(o)),!f.view.value||this.isExpired(f.view.updatedAt)){f.view.value=a.items.map(e=>e.id);let{items:e,...t}=a;f.view.meta={...t,page:n,totalPages:p},f.view.updatedAt=this.now()}}catch{}};if(a>0&&n<p)for(let e=1;e<=Math.min(a,p-n);e++){let r=n+e,i=S({...t,page:r}),a=c.get(i);(!a?.view.value||this.isExpired(a.view.updatedAt))&&m(r)}if(o>0&&n>1)for(let e=1;e<=Math.min(o,n-1);e++){let r=n-e,i=S({...t,page:r}),a=c.get(i);(!a?.view.value||this.isExpired(a.view.updatedAt))&&m(r)}}catch{}}removeEmptyPageIfNeeded(e,t,n,r,i){if(t.view.value&&t.view.value.length===0&&n<r){let t=S({...i,page:n});e.delete(t)}}updateTotalPagesForAllViews(e,t){for(let[,n]of e)n.view.meta&&(n.view.meta.totalPages=t)}isParamsSame(e,t){let n=Object.keys(e??{}).filter(e=>e!==`page`).sort(),r=Object.keys(t??{}).filter(e=>e!==`page`).sort();if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){let a=n[i];if(a!==r[i]||e[a]!==t[a])return!1}return!0}syncTotalsInSameViews(e,t){let n=t.view.meta;if(!n||typeof n.total!=`number`)return;let r=Number(n.total),i=h(t.params?.pageSize),a=Number.isFinite(i)&&i>0?Math.max(1,Math.ceil(r/i)):void 0;for(let[,n]of e)this.isParamsSame(n.params??{},t.params??{})&&(n.view.meta||(n.view.meta={}),n.view.meta.total=r,a!==void 0&&(n.view.meta.totalPages=a))}canSafelyModifySortedView(e){return!!(!e.sortBy&&!e.sortOrder||this.strategy.comparator)}cascadeShiftPages(e,t,n,r,i,a,o){let s=t,c=n,l=!1,u=0;for(;s.view.value&&s.view.value.length<r&&c<i&&u<100;){u++;let t=S({...o,page:c+1}),n=e.get(t);if(!n?.view.value||this.isExpired(n.view.updatedAt)){s.view.meta={...s.view.meta??{},stale:!0};break}let i=r-s.view.value.length,d=n.view.value.slice(0,i).filter(e=>a.getEntity(e));if(d.length===0){s.view.meta={...s.view.meta??{},stale:!0};break}if(s.view.value=[...s.view.value,...d],s.view.updatedAt=Date.now(),n.view.value=n.view.value.slice(d.length),n.view.updatedAt=Date.now(),n.view.value.length===0){let t=c+1,r=n.view.meta;if(t<(r&&typeof r.totalPages==`number`?r.totalPages:1)){let n=S({...o,page:t});e.delete(n),l=!0}break}s=n,c++}return(!s.view.value||s.view.value.length<r)&&c>=i&&(s.view.meta={...s.view.meta??{},stale:!0}),l}cascadeShiftToNextPage(e,t,n,r,i,a,o){if(!t.view.value||t.view.value.length<=r)return!1;if(n-(o.page||1)>=10)return t.view.meta={...t.view.meta??{},stale:!0},!1;let s={...o,page:n+1},c=S(s),l=e.get(c),u=!1;if(!l?.view.value||this.isExpired(l.view.updatedAt))if(n>=i){l={params:s,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},e.set(c,l),this.cleanupOldViews(e);let r=t.view.meta;r&&(l.view.meta={...r,page:n+1}),u=!0}else return t.view.meta={...t.view.meta??{},stale:!0},!1;let d=t.view.value.slice(r).filter(e=>a.getEntity(e));if(d.length===0)return u&&e.delete(c),!1;t.view.value=t.view.value.slice(0,r),t.view.updatedAt=Date.now(),l.view.value=[...d,...l.view.value??[]],l.view.updatedAt=Date.now();let f=l.view.meta&&typeof l.view.meta.totalPages==`number`?l.view.meta.totalPages:i;if(!u&&this.cascadeShiftToNextPage(e,l,n+1,r,f,a,o))return!0;if(!l.view.value||l.view.value.length===0){let t=n+1,r=l.view.meta,i=r&&typeof r.totalPages==`number`?r.totalPages:1;this.removeEmptyPageIfNeeded(e,l,t,i,o)}return u}tryInsertSorted(e,t,n){let r=this.strategy.comparator;if(!r||!e.view.value)return!1;let i=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,i))return!1;let a=e.view.value.map(e=>n.getEntity(e));if(a.some(e=>!e))return!1;let o=0,s=a.length;for(;o<s;){let n=Math.floor((o+s)/2),i=r(t,a[n],e.params);if(typeof i!=`number`||Number.isNaN(i))return!1;i>=0?o=n+1:s=n}return e.view.value.includes(t.id)?(e.view.updatedAt=this.now(),!0):(e.view.value=[...e.view.value.slice(0,o),t.id,...e.view.value.slice(o)],e.view.updatedAt=this.now(),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Number(e.view.meta.total)+1),!0)}updateChildrenCountForOperation(e,t,n,r){let i=_(t);switch(e){case`delete`:this.adjustChildrenCount(r,i,-1),this.childrenCountInvalidator?.(i);break;case`insert`:case`copy`:this.adjustChildrenCount(r,i,1),this.childrenCountInvalidator?.(i);break;case`move`:this.adjustChildrenCount(r,n,-1),this.adjustChildrenCount(r,i,1),this.childrenCountInvalidator?.(n),this.childrenCountInvalidator?.(i);break}}adjustChildrenCount(e,t,n){if(!t)return;let r=e.getFolder(t);if(r&&typeof r.childrenCount==`number`){let i=Math.max(0,r.childrenCount+n);e.updateServerChildrenCount(t,i)}}smartInvalidateChildrenViews(e,t,n,r,i,a){if(!t)return;this.updateChildrenCountForOperation(n,t,i,r);let o=this.parentKey(e),s=this.views.get(o);if(s)for(let[,e]of s){let a=e.params??{},o=a?.page??1,c=h(a?.pageSize),l=Number.isFinite(c),u=!!(a?.sortBy||a?.sortOrder),d=!!a?.search,f=a?.itemType||`all`;if(this.isEntityTypeCompatible(t,f)){if(d&&this.strategy.filterMatch&&!this.strategy.filterMatch(t,e.params)){e.view.value?.includes(t.id)&&(e.view.value=e.view.value.filter(e=>e!==t.id),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Math.max(0,e.view.meta.total-1)),e.view.updatedAt=Date.now());continue}if(!e.view.value){e.view.meta&&(e.view.meta.stale=!0),e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}if(e.view.value.includes(t.id),this.shouldInvalidateCompletely(e,n,t,u,l,o)){e.view.meta={...e.view.meta??{},stale:!0},e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}switch(n){case`delete`:this.handleDelete(s,e,o,c,l,t,r);break;case`insert`:case`copy`:this.handleInsert(s,e,o,c,l,u,t,r);break;case`update`:this.handleUpdate(s,e,o,c,l,u,d,t,r);break;case`move`:this.handleMove(s,e,o,c,l,u,t,i,r);break}}}}shouldInvalidateCompletely(e,t,n,r,i,a){return!!(i&&a>1&&(t===`insert`||t===`delete`||t===`move`)||r&&!this.strategy.comparator&&(t===`insert`||t===`move`)||this.isExpired(e.view.updatedAt))}tryReinsertEntity(e,t,n,r,i){let a=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,a))return!1;if(this.strategy.comparator&&this.strategy.filterMatch){if(!this.strategy.filterMatch(t,e.params))return!1;if(this.tryInsertSorted(e,t,n))return!0}let o=e.params??{};return(o.sortBy||o.sortOrder)&&!this.canSafelyModifySortedView(o)?!1:!r||e.view.value.length<i?(e.view.value.push(t.id),!0):!1}handleDelete(e,t,n,r,i,a,o){let s=t.view.value.includes(a.id);if(s&&(t.view.value=t.view.value.filter(e=>e!==a.id)),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(t.view.updatedAt=Date.now(),s&&i&&t.view.value.length<r&&o){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,o,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}handleInsert(e,t,n,r,i,a,o,s){if(!t.view.value.includes(o.id)){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&s){if(this.tryInsertSorted(t,o,s)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length>r&&s){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftToNextPage(e,t,n,r,a,s,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=t.view.meta.totalPages+1;t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(!i||t.view.value.length<r){if(t.view.value.push(o.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta={...t.view.meta??{},stale:!0};t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleUpdate(e,t,n,r,i,a,o,s,c){let l=t.view.value.includes(s.id),u=this.isEntityTypeCompatible(s,t.params?.itemType||`all`);if(l&&!u){if(t.view.value=t.view.value.filter(e=>e!==s.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l&&(a||o)){if(t.view.value=t.view.value.filter(e=>e!==s.id),!this.tryReinsertEntity(t,s,c,i,r)){if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now(),t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l){t.view.updatedAt=Date.now(),t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(u&&!o){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&c){if(this.tryInsertSorted(t,s,c)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}}else if(!i||t.view.value.length<r){if(t.view.value.push(s.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta={...t.view.meta??{},stale:!0};t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleMove(e,t,n,r,i,a,o,s,c){if(t.view.value.includes(o.id)){if(t.view.value=t.view.value.filter(e=>e!==o.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}this.syncTotalsInSameViews(e,t)}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}forceInvalidateChildrenViews(e){let t=this.parentKey(e??null);this.failedRequests.clearChildrenViewErrorsForParent(t);let n=this.views.get(t);if(n)for(let[,e]of n)e.view.value=void 0,e.view.meta=void 0,e.view.promise=null,e.view.updatedAt=0,e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0)}getKnownTotal(e){let t=this.parentKey(e??null),n=this.views.get(t);if(!n)return;let r=null;for(let[,e]of n){let t=e.view.meta;t&&typeof t.total==`number`&&(!r||(e.view.updatedAt??0)>r.updatedAt)&&(r={total:Number(t.total),updatedAt:e.view.updatedAt??0})}return r?r.total:void 0}toJSON(){return{views:Array.from(this.views.entries()).map(([e,t])=>[e,Array.from(t.entries())]),ttl:this.ttl,errorTtl:this.errorTtl,entityTtl:this.entityTtl,strategy:{allowSortedInsert:this.strategy.allowSortedInsert,allowSearchInsert:this.strategy.allowSearchInsert,invalidateOnPaginationFull:this.strategy.invalidateOnPaginationFull,preloadPagesBefore:this.strategy.preloadPagesBefore,preloadPagesAfter:this.strategy.preloadPagesAfter}}}static fromJSON(t,n){let r=n?.ttl??t?.ttl??18e5,i=new e({},r,n?.errorTtl??t?.errorTtl??r,void 0,n?.failedRequests??new d);for(let[e,n]of t.views??[]){let t=new Map;for(let[e,r]of n){let n=r;n?.view&&`error`in n.view&&delete n.view.error,t.set(e,n)}i.views.set(e,t)}return i}},T=class e{entities;views;ttl;errorTtl;failedRequests;childrenCountPromises=new Map;invalidateChildrenCountCache(e){let t=m(e??``);this.childrenCountPromises.delete(t),this.failedRequests.delete(d.childrenCountKey(t))}constructor(e={},t=p,n){this.failedRequests=new d,this.ttl=t,this.errorTtl=n??t,this.entities=new C,this.views=new w(e,t,this.errorTtl,void 0,this.failedRequests),this.views.setServerChildrenCountHandler((e,t,n)=>{this.handleServerReportedChildrenCount(e,t,n??this.entities)}),this.views.setChildrenCountInvalidator(e=>{this.invalidateChildrenCountCache(e)})}getEntity(e){return this.entities.getEntity(e)??null}getFileSystemItem(e){return this.entities.getFileSystemItem(e)??null}getFolder(e){return this.entities.getFolder(e)??null}async getOrCreateChildren(e,t,n){return this.views.getOrCreateChildren(e,t,n,this.entities)}upsertEntity(e){let t=this.entities.getEntity(e.id),n=t?_(t):null,r=_(e),i=t?v(t):!1,a=v(e);if(this.entities.upsertEntity(e),t){if(n!==r||i!==a){this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities);return}this.views.smartInvalidateChildrenViews(r,e,`update`,this.entities,void 0,t)}else this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities)}isAncestor(e,t){let n=t,r=new Set;for(;n&&!r.has(n);){if(r.add(n),m(n)===m(e))return!0;let t=this.entities.getEntity(n);if(!t)break;n=_(t),n===null&&(n=f)}return!1}moveEntity(e,t){let n=this.entities.getEntity(e);if(!n||v(n)&&t!==null&&this.isAncestor(e,t))return null;let r=_(n),i=this.entities.moveEntityById(e,t);return i?(this.views.smartInvalidateChildrenViews(r,n,`delete`,this.entities),this.views.smartInvalidateChildrenViews(t,i,`insert`,this.entities),i):null}copyEntity(e,t,n,r){let i=this.entities.getEntity(e);if(!i)return null;let a=null;if(v(i)){let n=[e],i=[];for(;n.length;){let e=n.shift();i.push(e);let t=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of t)n.push(e)}let o=new Map;for(let e of i)o.set(e,y());for(let n of i){let i=this.entities.getFolder(n),a=o.get(n),s=_(i),c=s===null?t:o.get(s)??null,l={...i,...n===e?r:void 0,id:a,folderId:(n===e?r?.folderId:void 0)??c};this.entities.upsertEntity(l)}for(let e of i){let t=o.get(e),n=this.entities.getChildrenIds(e,{onlyFileSystemItems:!0});for(let e of n){let n=this.entities.getFileSystemItem(e);if(!n)continue;let r=y(),i={...n,id:r,folderId:t};this.entities.upsertEntity(i)}}a=this.entities.getEntity(o.get(e))??null}else{let i=n??y();if(a=this.entities.copyFileSystemItem(e,i,t??null),a&&r){let e={...a,...r,id:i,folderId:r.folderId??t??null};this.entities.upsertEntity(e),a=e}}return a&&this.views.smartInvalidateChildrenViews(t,a,`copy`,this.entities),a}searchByUrl(e){return this.entities.searchByUrl(e)??null}deleteEntity(e){let t=this.entities.getEntity(e);if(!t)return null;if(v(t)){let{deletedFolderRecords:n,deletedFileSystemItemRecords:r}=this.entities.deleteFolderRecursive(e);for(let e of r)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.forceInvalidateChildrenViews(e.id);return t}else{let{entity:t,parentId:n}=this.entities.deleteEntityById(e);return t&&this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),t}}deleteFolderRecursive(e){let{deletedFolderRecords:t,deletedFileSystemItemRecords:n}=this.entities.deleteFolderRecursive(e);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.forceInvalidateChildrenViews(e.id);return{deletedFileSystemItemIds:n.map(e=>e.id),deletedFolderIds:t.map(e=>e.id)}}forceInvalidate(e){let t=this.entities.getEntity(e);if(!t)return;let n=new Set;if(v(t)){let t=[e];for(;t.length;){let e=t.pop();if(n.has(e))continue;n.add(e),this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e);let r=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of r)t.push(e)}}else{let e=t.folderId??null;this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e)}}getChildrenIds(e){return this.entities.getChildrenIds(e)}searchByName(e,t){return this.entities.searchByName(e,t)}async getChildrenCount(e=``,t){let n=m(e),r=d.childrenCountKey(n),i=this.failedRequests.getFreshError(r,this.errorTtl);if(i!=null)return Promise.reject(i);let a=this.childrenCountPromises.get(n);if(a)return a;let o=(async()=>{try{let n=this.entities.getFolder(e);if(n&&typeof n.childrenCount==`number`)return this.failedRequests.delete(r),n.childrenCount;let i=this.views.getKnownTotal(e);if(typeof i==`number`)return n&&this.handleServerReportedChildrenCount(e,i,this.entities),this.failedRequests.delete(r),i;if(t){let n=await t(e);return this.entities.getFolder(e)&&this.handleServerReportedChildrenCount(e,n,this.entities),this.failedRequests.delete(r),n}return this.failedRequests.delete(r),this.entities.getChildrenIds(e).length}catch(e){if(this.childrenCountPromises.delete(n),b(e))return this.failedRequests.delete(r),0;throw this.failedRequests.setError(r,e),e}finally{this.childrenCountPromises.delete(n)}})();return this.childrenCountPromises.set(n,o),o}toJSON(){return{entities:this.entities.toJSON(),views:this.views.toJSON(),ttl:this.ttl,errorTtl:this.errorTtl}}static fromJSON(t,n){let r=t?.ttl??18e5,i=t?.errorTtl??r,a=new e(n??{},r,i),o=C.fromJSON(t?.entities??{}),s=w.fromJSON(t?.views??{},{failedRequests:a.failedRequests,ttl:r,errorTtl:i});return n&&(s.strategy={allowSortedInsert:n.allowSortedInsert??!0,allowSearchInsert:n.allowSearchInsert??!0,invalidateOnPaginationFull:n.invalidateOnPaginationFull??!0,preloadPagesBefore:n.preloadPagesBefore??0,preloadPagesAfter:n.preloadPagesAfter??1,comparator:n.comparator,filterMatch:n.filterMatch}),a.entities=o,a.views=s,s.setServerChildrenCountHandler((e,t,n)=>{a.handleServerReportedChildrenCount(e,t,n??o)}),s.setChildrenCountInvalidator(e=>{a.invalidateChildrenCountCache(e)}),a}handleServerReportedChildrenCount(e,t,n){this.checkAndResolveChildrenCountConflict(e,t,n),this.invalidateChildrenCountCache(e)}checkAndResolveChildrenCountConflict(e,t,n){if(!n||t===void 0)return;let r=e??null;if(!r){n.updateServerChildrenCount(r,t);return}let i=n.getFolder(r)?.childrenCount;i!==void 0&&i!==t&&this.views.forceInvalidateChildrenViews(r),n.updateServerChildrenCount(r,t)}},E=class{deletingIds=new Set;beginDeleting(e){for(let t of e)t&&this.deletingIds.add(t)}endDeleting(e){for(let t of e)t&&this.deletingIds.delete(t)}isDeleting(e){return!!e&&this.deletingIds.has(e)}},D=``,O=`Trash`,k=`Edited`,A=1e4,j=1e4,M=25,N=10;function P(e,t){let n=e??{},r=Array.isArray(n.detailed)?n.detailed.map(e=>({requestId:e.requestId??e.id,success:!!e.success,data:t(e.data),error:e.error})):void 0;return{success:!!n.success,error:n.error,detailed:r}}function F(e){return e==null?``:String(e)}function I(e){return{...e,name:F(e.name)}}function L(e){return(e??[]).map(I)}function R(e){return!e||typeof e!=`object`||!(`name`in e)?e:{...e,name:F(e.name)}}function z(e){return e?e.replaceAll(`\\`,`/`).split(`/`).filter(Boolean):[]}function B(e){let t=Object.getPrototypeOf(e);for(let n of Object.getOwnPropertyNames(t))n!==`constructor`&&typeof Object.getOwnPropertyDescriptor(t,n)?.value==`function`&&(e[n]=e[n].bind(e))}var V=class{_dataProvider;_options;_pathOptions;i18n;_cache;_rootId;_useSoftDelete;_enableTrash;_validateDuplicates;_blobFetchForceReloadOnceIds=new Set;_mutationRegistry=new E;async _findOrCreateFolderByPath(e){let{__:t}=this.i18n,n=z(e);if(n.length>N)throw new r.Io(t(`Path depth exceeds maximum limit of %s`).replace(`%s`,String(N)),`ValidationError`);let i;for(let a of n){let{files:n}=await this.getFiles({folderId:i?.id||``,itemType:`folder`}),o=n.find(e=>e.name===a);if(o){if(!o.isFolder)throw new r.Io(t(`Path component '%s' in '%s' is not a folder`).replace(`%s`,a).replace(`%s`,e),`ValidationError`);i={id:o.id,name:o.name,parentId:o.folderId}}else{if(typeof this._dataProvider.createFolder!=`function`)throw new r.Io(t(`Create folder operation is not supported by data provider`),`UnsupportedOperation`);i=await this.createFolder({name:a,parentId:i?.id})}}return i}getTrashFolder(){return this._findOrCreateFolderByPath(this._pathOptions.trashPath||O)}getTempFolder(){return this._findOrCreateFolderByPath(this._pathOptions.tempPath||k)}constructor(e,t={},n,r=i.m){this._dataProvider=e,this._options=t,this._pathOptions=n,this.i18n=r,B(this),this._useSoftDelete=this._pathOptions.useSoftDelete,this._rootId=this._pathOptions.rootId||D,this._enableTrash=this._options.enableTrash===void 0?!0:this._options.enableTrash,this._validateDuplicates=this._dataProvider.validateDuplicates,this._cache=new T(t.cacheStrategy||{},t.cacheStrategy?.ttl,t.cacheStrategy?.errorTtl),this.setController({invalidateItemCache:e=>{this._cache.forceInvalidate(e)},getCachedItem:e=>this._cache.getEntity(e)}),typeof this._dataProvider.clearCache!=`function`&&(this.clearCache=void 0)}setController(e){typeof this._dataProvider.setController==`function`&&this._dataProvider.setController(e)}async clearCache(e){if(typeof this._dataProvider.clearCache!=`function`){let{__:e}=this.i18n;throw new r.Io(e(`Clear cache is not supported by data provider`),`UnsupportedOperation`)}this._cache.forceInvalidate(this._rootId),await this._dataProvider.clearCache(e)}markNextFileBlobFetchBypassHttpCache(e){this._blobFetchForceReloadOnceIds.add(this.normalizeId(e))}normalizeId(e){return!e||e===`root`||e===`folders`?this._rootId:e}_isDeletingId(e){return this._mutationRegistry.isDeleting(this.normalizeId(e))}_collectDeletingIds(e){let t=this.normalizeId(e),n=new Set([t]);if(!this._cache.getEntity(t)?.isFolder)return Array.from(n);let r=[t];for(;r.length>0;){let e=r.pop(),t=this._cache.getChildrenIds(e);for(let e of t)n.has(e)||(n.add(e),this._cache.getEntity(e)?.isFolder&&r.push(e))}return Array.from(n)}_emptyFilesResult(e,t){return{files:[],pagination:{...typeof e==`number`?{page:e}:{},...typeof t==`number`?{limit:t}:{},total:0,totalPages:1,hasNext:!1,hasPrev:!1}}}_validateName(e,t=!1){if(!e||e.trim().length===0){let e=t?`FolderInvalidName`:`FileInvalidName`,{__:n}=this.i18n;throw new r.Io(n(t?`Folder name cannot be empty`:`File name cannot be empty`),e)}if(/[\/\\:*?"<>|]/.test(e)){let{__:n}=this.i18n,i=t?`FolderInvalidName`:`FileInvalidName`;throw new r.Io(t?n(`Folder name contains invalid characters: %s`).replace(`%s`,e):n(`File name contains invalid characters: %s`).replace(`%s`,e),i)}}_validateTargetFolderType(e){let t=this.normalizeId(e);if(t===this._rootId)return;let n=this._cache.getEntity(t);if(n&&!n.isFolder){let{__:t}=this.i18n;throw new r.Io(t(`Target item with id '%s' is not a folder`).replace(`%s`,e),`ValidationError`)}}_checkNameExistsInCache(e,t,n,r){let i=this.normalizeId(e),a=this._cache.getChildrenIds(i);for(let e of a){let i=this._cache.getEntity(e);if(i&&i.name===t&&!!i.isFolder===n&&(!r||i.id!==r))return!0}return!1}async _getUrl(e){if(e.url)return e.url;try{return typeof this._dataProvider?.getUrl==`function`&&this._dataProvider.getUrl(e)||``}catch{}return``}async _getThumbnailUrl(e){if(e.thumbnailUrl)return e.thumbnailUrl;try{return typeof this._dataProvider?.getThumbnailUrl==`function`&&this._dataProvider.getThumbnailUrl(e)||``}catch{}return``}_mapItem=async({childrenCount:e,...t})=>{let n=I(t);if(n.isFolder)return{...n,childCount:e,url:``,thumbnailUrl:``};let[r,i]=await Promise.all([this._getUrl(n),this._getThumbnailUrl(n)]);return{...n,childCount:0,url:r,thumbnailUrl:i}};_isAncestor(e,t){if(!t)return!1;let n=this.normalizeId(t),r=this.normalizeId(e);if(n===r)return!0;let i=this._cache.getEntity(n),a=new Set;for(;i&&i.folderId&&!a.has(i.id);){a.add(i.id);let e=this.normalizeId(i.folderId);if(e===r)return!0;if(i=this._cache.getEntity(e),!i||!i.isFolder)break}return!1}async getFile(e,t){return this._isDeletingId(e)?null:this._cache.searchByName(t,{parentId:this.normalizeId(e),caseSensitive:!0,recursive:!1,itemType:`file`})[0]||(await this.getFiles({folderId:e,itemType:`file`,search:t})).files[0]}async getFileById(e){let t=this.normalizeId(e);if(this._isDeletingId(t))return null;let n=this._cache.getFileSystemItem(t);if(n&&!n.isFolder)return await this._mapItem(n);if(!this._dataProvider.pathMode)return null;let r=await this._getFileByPathStyleId(t);if(r&&!r.isFolder){let e=I(r);return this._cache.upsertEntity(e),await this._mapItem(e)}return null}async _getFileByPathStyleId(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``),n=t.lastIndexOf(`/`),r=n<0?``:t.slice(0,n),i=n<0?t:t.slice(n+1);return i?this.getFile(r,i):null}async getFileUrl(e,t){let n=await this.getFile(e,t);return await this._getUrl(n)||await this._getThumbnailUrl(n)||n.thumbnail}async getFiles({folderId:e,search:t,sortBy:n,sortOrder:r,page:i,limit:a,itemType:o=`all`,noFolder:s=!1}){s&&(e=(await this.getTempFolder())?.id);let c=this.normalizeId(e??this._rootId),l=this._options.enablePagination===!1,u=l?1:i,d=l?A:a,f=this._options.clientSideFilter,p=this._options.clientSideSorting,m=this._options.clientSidePaging,h=m?Math.max(1,i??1):void 0,g=m?typeof a==`number`&&Number.isFinite(a)&&a>0?a:M:void 0,_=this._emptyFilesResult(m?h:u,m?g:d);if(this._isDeletingId(c))return _;let v=this._options.unifiedCatalogFetch!==!1&&l&&(o===`folder`||o===`file`),y=v?`all`:o,b={folderId:c,itemType:y};f||(b.search=t),p||(b.sortBy=n??(y===`folder`?void 0:`date`),b.sortOrder=r??(y===`folder`?void 0:`desc`)),m||(b.page=u,b.limit=v?j:d);let x=v?j:m?void 0:d,S={folderId:c,itemType:y,search:f?void 0:t,sortBy:p?void 0:b.sortBy,sortOrder:p?void 0:b.sortOrder,page:m?void 0:u,pageSize:x},C;try{C=await this._cache.getOrCreateChildren(c,S,async(e,t)=>{let n=t.pageSize,r=n!=null&&Number.isFinite(Number(n))?Number(n):A,i=await this._dataProvider.getItems({...t,folderId:e,limit:r}),a=L(i.items);return m?{items:a,total:typeof i.pagination?.total==`number`?i.pagination.total:a.length}:{items:a,...i.pagination}})}catch(e){if(this._isDeletingId(c))return _;throw e}let w=C.items;if(v&&(o===`folder`?w=w.filter(e=>e.isFolder):o===`file`&&(w=w.filter(e=>!e.isFolder))),f){if(typeof this._options.clientSideFilter==`function`)w=this._options.clientSideFilter(w,t);else if(t){let e=t.toLowerCase();w=w.filter(t=>t.name?.toLowerCase().includes(e))}}p&&(w=typeof this._options.clientSideSorting==`function`?this._options.clientSideSorting(w,n,r):this._defaultClientSideSort(w,n,r));let T;T=m||f||v?w.length:C.total??w.length;let E=w;if(m)if(typeof this._options.clientSidePaging==`function`)E=this._options.clientSidePaging(w,h,g);else{let e=(h-1)*g,t=e+g;E=w.slice(e,t)}if(typeof this._dataProvider.getUrl==`function`||typeof this._dataProvider.getThumbnailUrl==`function`){let e=E.map(async e=>{if(e.isFolder)return e;let[t,n]=await Promise.all([e.url?Promise.resolve(e.url):typeof this._dataProvider.getUrl==`function`?this._dataProvider.getUrl(e):Promise.resolve(void 0),e.thumbnailUrl?Promise.resolve(e.thumbnailUrl):typeof this._dataProvider.getThumbnailUrl==`function`?this._dataProvider.getThumbnailUrl(e):Promise.resolve(void 0)]);return{...e,url:t,thumbnailUrl:n}});E=await Promise.all(e)}let D=m?{page:h,limit:g,total:T,totalPages:Math.max(1,Math.ceil(T/g)),hasNext:h*g<T,hasPrev:h>1}:{page:u,limit:d,total:T,...!m&&C.totalPages&&{totalPages:C.totalPages},...!m&&C.hasNextPage&&{hasNextPage:C.hasNextPage}};return{files:await Promise.all(E.map(this._mapItem)),pagination:D}}_defaultClientSideSort(e,t,n){return e.sort((e,r)=>{let i=0;switch(t){case`name`:i=(e.name||``).localeCompare(r.name||``);break;case`date`:i=new Date(e.date||0).getTime()-new Date(r.date||0).getTime();break;case`size`:i=(Number(e.size)||0)-(Number(r.size)||0);break;default:i=(e.name||``).localeCompare(r.name||``)}return n===`desc`?-i:i})}async getFileData(e,t){let n=this.normalizeId(typeof e==`string`?e:e.id),i=t;this._blobFetchForceReloadOnceIds.delete(n)&&(i={...t,forceReload:!0});let a=this._cache.getEntity(n)||(typeof e==`string`?{id:n,name:``,folderId:this._rootId,isFolder:!1}:{...e,childrenCount:e.childCount});if(typeof this._dataProvider.getFileData==`function`)return await this._dataProvider.getFileData(a,i);let{__:o}=this.i18n;if(!a.url&&typeof this._dataProvider.getUrl!=`function`)throw new r.Io(o(`Cannot read file`),`FileReadError`);let s=a.url||(typeof this._dataProvider.getUrl==`function`?await this._dataProvider.getUrl(a):``);if(s)return(await r.qa(s,{config:this._pathOptions.resourceProxyConfig,standalone:this._pathOptions.isStandalone,intent:`downloadBlob`,init:i?.forceReload?{cache:`no-store`}:void 0})).blob();throw new r.Io(o(`Unable to get file data`),`FileReadError`)}async findFileByUrl(e){let t=this._cache.searchByUrl(e);if(t)return t;if(typeof this._dataProvider.findFileByUrl==`function`)try{let t=await this._dataProvider.findFileByUrl(e);if(t){let e=I(t);return this._cache.upsertEntity(e),e}}catch{}return null}async getChildrenCount(e){if(!e)return 0;let t=this.normalizeId(e??this._rootId);return this._isDeletingId(t)?0:this._cache.getChildrenCount(t,async()=>{try{if(this._options.clientSidePaging){let e=await this.getFiles({folderId:t,itemType:`all`,page:1,limit:M});return e.pagination.total??e.files.length}let e=await this._dataProvider.getItems({folderId:t,limit:0,itemType:`all`});return e.pagination===void 0?this._options.enablePagination===!1?e.items.length:0:e.pagination.total||0}catch(e){if(this._isDeletingId(t)||this._isPathFolderNotFoundError(e))return 0;throw e}})}_isPathFolderNotFoundError(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}async _uploadFile(e){let t=this.normalizeId(e.folderId??this._rootId),{__:n}=this.i18n;if(typeof this._dataProvider.uploadFile!=`function`)throw new r.Io(n(`Upload file operation is not supported by data provider`),`UnsupportedOperation`);if(this._validateName(e.name,!1),this._validateDuplicates&&this._checkNameExistsInCache(t,e.name,!1))throw new r.Io(n(`File '%s' already exists in target folder`).replace(`%s`,e.name),`FileAlreadyExists`);let i=await this._dataProvider.uploadFile({...e,folderId:t}),a=I({name:e.name,size:e.size,...i,folderId:t});return this._cache.upsertEntity(a),a}async uploadFiles(e){let t=e.items.some(e=>e.noFolder)?await this.getTempFolder():null;e={...e,items:e.items?.map(e=>({...e,folderId:e.noFolder?t?.id:e.folderId}))};for(let t of e.items)t.folderId&&(e.folderId=t.folderId);let n=e.items||[],i=e.folderId??this._rootId,a=this.normalizeId(i);if(this._validateDuplicates){for(let e of n)if(e.name){this._validateName(e.name,!1);let t=this.normalizeId(e.folderId??a);if(this._checkNameExistsInCache(t,e.name,!1)){let{__:t}=this.i18n;throw new r.Io(t(`File '%s' already exists in target folder`).replace(`%s`,e.name),`FileAlreadyExists`)}}}let o=this._cache.getEntity(a),s={detailed:Array(n.length),success:!0};if(typeof this._dataProvider.uploadFiles==`function`){let e=n.map(e=>({...e,folderId:this.normalizeId(e.folderId??a)}));if(s=P(await this._dataProvider.uploadFiles({folderId:a,items:e}),e=>{if(e)return{id:e.id,name:F(e.name),folderId:e.folderId}}),s.detailed&&s.detailed.length){for(let e=0;e<s.detailed.length;e++){let t=s.detailed[e];if(t&&t.success){let e=t.data,n=e?.id??t.requestId,r=I({...o,...e,folderId:e?.folderId??a});this._cache.upsertEntity(r),t.requestId=n}}s.success===void 0&&(s.success=!s.detailed.some(e=>!e.success))}else s.success=s.error?!1:!!s.success}else if(typeof this._dataProvider.uploadFile==`function`)s.detailed=await Promise.all(n.map(async e=>{let t=this.normalizeId(e.folderId??a);try{let n=await this._uploadFile({...e,folderId:t});return{requestId:n.id,data:n,success:!0}}catch(t){return{requestId:e?.id,success:!1,error:t}}})),s.success=!s.detailed.some(e=>!e.success);else throw new r.Io(`Upload files is not supported by data provider`,`UnsupportedOperation`);if(s.success&&this._enableTrash)try{this._cache.forceInvalidate(a)}catch{}return s}async deleteFile(e){let t=this.normalizeId(e),n=[t];this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash){let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!1})}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async deleteItems(e,t){let n=Array.from(new Set(e.flatMap(e=>this._collectDeletingIds(this.normalizeId(e)))));this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash&&t.permanent!==!0){let t=await this.getTrashFolder();return await this.moveItems(t.id,e)}return await this.hardDeleteItems(e,t)}finally{this._mutationRegistry.endDeleting(n)}}async hardDeleteItems(e,t){let n={success:!0,detailed:[]},i=t.permanent?null:await this.getTrashFolder();if(typeof this._dataProvider.deleteItems==`function`){if(n=P(await this._dataProvider.deleteItems(e.map(e=>this._cache.getEntity(e)),t),e=>e),n.success){let t=n.detailed||e.map(e=>({requestId:e,success:!0,error:void 0}));for(let e of t)e.success&&(i?this._cache.moveEntity(e.requestId,i.id):this._cache.deleteEntity(e.requestId))}}else typeof this._dataProvider.deleteItem==`function`&&(n.detailed=await Promise.all(e.map(async e=>{let n=this._cache.getEntity(e);if(!n){let{__:t}=this.i18n;return{requestId:e,success:!1,error:new r.Io(t(`Item with id '%s' not found`).replace(`%s`,e),`FileNotFound`)}}try{return await this._dataProvider.deleteItem(n,t),i?this._cache.moveEntity(e,i.id):this._cache.deleteEntity(e),{requestId:e,success:!0}}catch(t){return{requestId:e,error:t,success:!1}}})),n.success=!n.detailed.some(e=>!e.success));if(n.success&&i)try{this._cache.forceInvalidate(i.id)}catch{}return n}async hardDeleteItem(e){let t=this._cache.getEntity(e);if(!t){let{__:t}=this.i18n;throw new r.Io(t(`Item with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`)}if(typeof this._dataProvider.deleteItem!=`function`){let{__:e}=this.i18n;throw new r.Io(e(`Delete item operation is not supported by data provider`),`DeleteNotAllowed`)}if(await this._dataProvider.deleteItem(t,{permanent:!0}),this._cache.deleteEntity(e),this._enableTrash)try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return!0}async cleanTrash(){let{__:e}=this.i18n;if(!this._enableTrash)throw new r.Io(e(`Trash is not enabled`),`UnsupportedOperation`);if(typeof this._dataProvider.cleanTrash==`function`){let e=await this._dataProvider.cleanTrash();try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return e}throw new r.Io(e(`Clean trash is not supported by data provider`),`UnsupportedOperation`)}async createFolder({name:e,parentId:t,is_force_create:n}){let i=this.normalizeId(t??this._rootId);if(this._validateName(e,!0),this._validateDuplicates&&this._checkNameExistsInCache(i,e,!0)){let{__:t}=this.i18n;throw new r.Io(t(`Folder '%s' already exists in parent folder`).replace(`%s`,e),`FolderAlreadyExists`)}let a=await this._dataProvider.createFolder(e,i,n),o=I({id:a.id,folderId:i,name:a.name,isFolder:!0,childrenCount:a.childrenCount});return this._cache.upsertEntity(o),{...a,name:o.name}}async deleteFolder(e){let t=this.normalizeId(e),n=this._collectDeletingIds(t);this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash)try{let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!0})?(this._cache.deleteFolderRecursive(t),!0):!1}catch{return await this.hardDeleteItem(t)}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async renameFolder(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.renameItem!=`function`)throw new r.Io(n(`Rename folder is not supported`),`RenameNotAllowed`);let i=this.normalizeId(e),a=this._cache.getEntity(i);if(!a)throw new r.Io(n(`Folder with id '%s' not found in cache`).replace(`%s`,e),`FolderNotFound`);if(this._validateName(t,!0),this._validateDuplicates){let e=this.normalizeId(a.folderId);if(this._checkNameExistsInCache(e,t,!0,i))throw new r.Io(n(`Folder '%s' already exists in parent folder`).replace(`%s`,t),`FolderAlreadyExists`)}let o=R(await this._dataProvider.renameItem(a,t));return this._cache.upsertEntity(I({...this._cache.getEntity(o.id),...o})),this._cache.getEntity(o.id)}async renameFile(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.renameItem!=`function`)throw new r.Io(n(`Rename file is not supported`),`RenameNotAllowed`);let i=this._cache.getEntity(e);if(!i)throw new r.Io(n(`File with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`);let a=this.normalizeId(e);if(this._validateName(t,!1),this._validateDuplicates){let e=this.normalizeId(i.folderId);if(this._checkNameExistsInCache(e,t,!1,a))throw new r.Io(n(`File '%s' already exists in parent folder`).replace(`%s`,t),`FileAlreadyExists`)}let o=R(await this._dataProvider.renameItem(i,t));return o&&this._cache.upsertEntity(I({...this._cache.getEntity(a),...o})),this._cache.getEntity(a)}async moveItem({itemId:e,targetFolderId:t,isFolder:n}){if(typeof this._dataProvider.moveItem!=`function`){let{__:e}=this.i18n;throw new r.Io(e(`Move item operation is not supported by data provider`),`MoveNotAllowed`)}let i=this.normalizeId(t);this._validateTargetFolderType(t);let a=this._cache.getEntity(e);if(!a){let t=R(await this._dataProvider.moveItem({id:e,folderId:i,isFolder:n},i));if(t.id===e)this._cache.upsertEntity(I({...t,folderId:i}));else{try{this._cache.deleteEntity(e)}catch{}this._cache.upsertEntity(I({...t,folderId:i}))}return!0}let{__:o}=this.i18n;if(a.isFolder){if(e===i)throw new r.Io(o(`Cannot move folder into itself`),`MoveIntoSelf`);if(this._isAncestor(e,i))throw new r.Io(o(`Cannot move folder into its descendant`),`MoveIntoDescendant`)}if(this._validateDuplicates&&i!==this.normalizeId(a.folderId)&&a.name&&this._checkNameExistsInCache(i,a.name,!!a.isFolder,e)){let e=a.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.Io(`${a.isFolder?`Folder`:`File`} '${a.name}' already exists in target folder`,e)}let s=R(await this._dataProvider.moveItem(a,i));if(s.id===e){let t=this._cache.moveEntity(e,i);return this._cache.upsertEntity(I({...t,...s})),!0}else{let t=this._cache.deleteEntity(e);return this._cache.upsertEntity(I({...t,...s,folderId:i})),!0}}async moveItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let i=t.map(e=>this._cache.getEntity(e));for(let e of i)if(e){if(e.isFolder){let{__:t}=this.i18n;if(e.id===n)throw new r.Io(t(`Cannot move folder '%s' into itself`).replace(`%s`,e.name),`MoveIntoSelf`);if(this._isAncestor(e.id,n))throw new r.Io(t(`Cannot move folder '%s' into its descendant`).replace(`%s`,e.name),`MoveIntoDescendant`)}if(this._validateDuplicates&&n!==this.normalizeId(e.folderId)&&e.name&&this._checkNameExistsInCache(n,e.name,!!e.isFolder,e.id)){let t=e.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.Io(`${e.isFolder?`Folder`:`File`} '${e.name}' already exists in target folder`,t)}}let a={detailed:Array(i.length),success:!0};if(typeof this._dataProvider.moveItems==`function`)a=P(await this._dataProvider.moveItems(i,n),e=>e);else if(typeof this._dataProvider.moveItem==`function`)a.detailed=await Promise.all(t.map(async(e,t)=>{let r=i[t]||{id:e,folderId:null,isFolder:!1,name:e};try{return{requestId:e,data:R(await this._dataProvider.moveItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}));else throw new r.Io(`Move items is not supported`,`MoveNotAllowed`);if(a.success){let e=a.detailed||t.map(e=>({requestId:e,success:!0,data:void 0}));for(let t of e)if(t.success)if(!t.data||t.data.id===t.requestId)this._cache.moveEntity(t.requestId,n),t.data&&this._cache.upsertEntity(I({...this._cache.getEntity(t.requestId),...t.data,folderId:n}));else{let e=this._cache.deleteEntity(t.requestId);this._cache.upsertEntity(I({...e,...t.data,folderId:n}))}return a}else{let{__:e}=this.i18n;return{success:!1,error:a.error||new r.Io(e(`Move items failed`),`MoveNotAllowed`)}}}async copyItem({itemId:e,targetFolderId:t}){if(typeof this._dataProvider.copyItem!=`function`){let{__:e}=this.i18n;throw new r.Io(e(`Copy item is not supported`),`CopyNotAllowed`)}let n=this.normalizeId(t);this._validateTargetFolderType(t);let i=this._cache.getEntity(e);if(!i){let t=R(await this._dataProvider.copyItem({id:e,folderId:n},n));return this._cache.copyEntity(e,n,t.id),this._cache.upsertEntity(I({...t,folderId:n})),!0}if(this._validateDuplicates&&i.name){let t=n===this.normalizeId(i.folderId)?e:void 0;if(this._checkNameExistsInCache(n,i.name,!!i.isFolder,t)){let e=i.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.Io(`${i.isFolder?`Folder`:`File`} '${i.name}' already exists in target folder`,e)}}let a=R(await this._dataProvider.copyItem(i,n));return this._cache.copyEntity(e,n,a.id,{...a,folderId:n})||this._cache.upsertEntity(I({...a,folderId:n})),!0}async copyItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let i=t.map(e=>typeof e==`string`?{id:e}:e),a=i.map(e=>e.id),o=a.map((e,t)=>{let n=this._cache.getEntity(e),r=i[t]?.newName;return n?r?{...n,name:r}:n:void 0});if(this._validateDuplicates)for(let e=0;e<o.length;e++){let t=o[e];if(t&&t.name){let i=n===this.normalizeId(t.folderId)?a[e]:void 0;if(this._checkNameExistsInCache(n,t.name,!!t.isFolder,i)){let e=t.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.Io(`${t.isFolder?`Folder`:`File`} '${t.name}' already exists in target folder`,e)}}}let s={detailed:Array(o.length),success:!0};if(typeof this._dataProvider.copyItems==`function`)s=P(await this._dataProvider.copyItems(o,n),e=>e);else if(typeof this._dataProvider.copyItem==`function`)s.detailed=await Promise.all(a.map(async(e,t)=>{let r=o[t]||{id:e,folderId:null,isFolder:!1};try{return{requestId:e,data:R(await this._dataProvider.copyItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}));else{let{__:e}=this.i18n;throw new r.Io(e(`Copy items is not supported`),`CopyNotAllowed`)}if(s.success&&s.detailed)for(let e=0,t=s.detailed.length;e<t;e++){let t=s.detailed[e];if(t.success&&t.data?.id){let e=t.data.folderId||n;!this._cache.copyEntity(t.requestId,e,t.data.id,{...t.data,folderId:e})&&t.data&&this._cache.upsertEntity(I({...t.data,folderId:e}))}}else if(!s.detailed)throw new r.Io(`batchResult in copy method must have detailed results`,`ValidationError`);return s}async uploadFileByUrl(e){if(e.noFolder){let t=await this.getTempFolder();e={...e,folderId:t.id}}let t=this.normalizeId(e.folderId??this._rootId);try{let n=I({...await this._dataProvider.uploadFileByUrl(e.url,t,{eventSource:e.eventSource}),folderId:t});return this._cache.upsertEntity(n),n}catch(e){throw e}}async updateFile(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.updateFile!=`function`)throw new r.Io(n(`Update file is not supported`),`UnsupportedOperation`);let i=this.normalizeId(e),a=this._cache.getEntity(i);if(!a)throw new r.Io(n(`File with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`);if(t.name&&t.name!==a.name&&this._validateName(t.name,!1),this._validateDuplicates&&t.name&&t.name!==a.name){let e=this.normalizeId(a.folderId);if(this._checkNameExistsInCache(e,t.name,!1,i))throw new r.Io(n(`File '%s' already exists in parent folder`).replace(`%s`,t.name),`FileAlreadyExists`)}let o=R(await this._dataProvider.updateFile(a,{...t}));return this._cache.upsertEntity(I({...this._cache.getEntity(i),...o,...t})),this._cache.getEntity(i)}};Object.defineProperty(t,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return p}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return V}})});
|
|
1
|
+
__useblocks__.define(`static/core/7eb3f045.js`,[`require`,`exports`,`module`,`static/core/9b1a1232.js`,`static/core/d6d622d8.js`],function(e,t,n){let r=e("./9b1a1232.js"),i=e("./d6d622d8.js");var a;(function(e){function t(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}e.isEqual=t;function n(e,t=e=>e){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}e.unique=n;function r(e=[],t=[],n=(e,t)=>e===t){let r=[],i=[],a=[];for(let r of e){let e=t.find(e=>n(r,e));e?a.push({prev:r,next:e}):i.push(r)}for(let i of t)e.find(e=>n(i,e))||r.push(i);return{added:r,removed:i,exists:a}}e.diff=r})(a||={});var o=``,s=`Trash`,c=`Trash`,l=class{_inner;rootPath;trashId;trashPath;ensureFolderTrailingSlash;i18n;_pathToId=new Map;_idToPath=new Map;getUrl;getThumbnailUrl;validateDuplicates;constructor(e,t=o,n=c,r=s,a=!0,l=i.m){this._inner=e,this.rootPath=t,this.trashId=n,this.trashPath=r,this.ensureFolderTrailingSlash=a,this.i18n=l,this.validateDuplicates=this._inner.validateDuplicates,typeof e.getUrl==`function`&&(this.getUrl=t=>e.getUrl({...t,id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})),typeof e.getThumbnailUrl==`function`&&(this.getThumbnailUrl=t=>e.getThumbnailUrl({...t,id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})),typeof this._inner.deleteItems!=`function`&&(this.deleteItems=void 0),typeof this._inner.deleteItem!=`function`&&(this.deleteItem=void 0),typeof this._inner.moveItems==`function`?this.moveItem=void 0:this.moveItems=void 0,typeof this._inner.copyItems==`function`?this.copyItem=void 0:this.copyItems=void 0,typeof this._inner.uploadFiles==`function`?this.uploadFile=void 0:this.uploadFiles=void 0,typeof this._inner.clearCache!=`function`&&(this.clearCache=void 0),this._getOrGenerateId(this.rootPath)}setController(e){typeof this._inner.setController==`function`&&this._inner.setController({invalidateItemCache:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);r&&e.invalidateItemCache(r)},getCachedItem:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);if(r){let t=e.getCachedItem(r);if(t)return{...t,id:this.pathForId(t.id,t.isFolder),folderId:this.pathForId(t.folderId,t.isFolder)}}}})}clearCache(e){if(typeof this._inner.clearCache==`function`)return this._inner.clearCache(e)}_getOrGenerateId(e){if(e===this.rootPath)return;let t=e.replaceAll(/^\/+|\/+$/g,``);if(t===this.trashPath.replaceAll(/^\/+|\/+$/g,``))return this.trashId;if(this._pathToId.has(t))return this._pathToId.get(t);let n=r.zo();return this._pathToId.set(t,n),this._idToPath.set(n,t),n}pathForId(e,t,n){let{__:i}=this.i18n;if(e===``||e===void 0)return this.rootPath;if(e===this.trashId)return this.trashPath;let a=this._idToPath.get(e);if(!a){if(n)return`unknown folder ${e}`;throw new r.Io(i?i(`Path for id '${e}' not found in mapping`):`Path for id '${e}' not found in mapping`,`FileNotFound`)}let o=0;for(;o<this.rootPath.length&&this.rootPath[o]===`/`;)o++;if(o){let e=0;for(;e<a.length&&a[e]===`/`;)e++;let t=a.slice(e);a=`/`.repeat(o)+t}return t&&this.ensureFolderTrailingSlash&&!a.endsWith(`/`)&&(a+=`/`),a}_updateIdMapping(e,t){let n=t.replace(/^\/+|\/+$/g,``),r=this._idToPath.get(e);r&&this._pathToId.delete(r),this._idToPath.set(e,n),this._pathToId.set(n,e)}async getItems(e){let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,n=await this._inner.getItems({...e,folderId:t}),r=n.items.map(e=>{let t=this._getOrGenerateId(e.id),n=e.folderId?this._getOrGenerateId(e.folderId):this._getOrGenerateId(this.rootPath);return{...e,id:t,folderId:n}});return{...n,items:r}}async createFolder(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.createFolder(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async renameItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.renameItem!=`function`)throw new r.Io(n?n(`Rename item is not supported by inner storage`):`Rename item is not supported by inner storage`,`RenameNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=i,{...o}=await this._inner.renameItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);return this._updateIdMapping(e.id,o.id),e.isFolder&&this.remapCachedFolderContents(e.id,a,o.id),o.folderId&&(o={...o,folderId:this._getOrGenerateId(o.folderId)}),{...o,id:this._getOrGenerateId(o.id)}}async deleteItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.deleteItem!=`function`)throw new r.Io(n?n(`Delete item is not supported by inner storage`):`Delete item is not supported by inner storage`,`DeleteNotAllowed`);let i=this.pathForId(e.id,e.isFolder);await this._inner.deleteItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t),this.recursivelyRemoveMappings(e.id,i)}async uploadFile(e){let{__:t}=this.i18n;if(typeof this._inner.uploadFile!=`function`)throw new r.Io(t?t(`Upload file is not supported by inner storage`):`Upload file is not supported by inner storage`,`UnsupportedOperation`);let n=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i=await this._inner.uploadFile({...e,folderId:n}),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async uploadFiles(e){let t=e.folderId,n=e.items?.map(e=>e.folderId)??[],r=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i={...e,folderId:r,items:e.items?.map(e=>({...e,folderId:e.folderId?this.pathForId(e.folderId,!0):r}))??[]},a=await this._inner.uploadFiles(i);return{...a,detailed:a.detailed?.map((e,r)=>{if(!e?.data)return e;let i=e.data.id?this._getOrGenerateId(e.data.id):void 0,a=e.data.folderId?this._getOrGenerateId(e.data.folderId):n[r]??t??this._getOrGenerateId(this.rootPath);return{...e,data:{...e.data,id:i,folderId:a}}})}}async findFileByUrl(e,t){let n=t?this.pathForId(t,!0):this.rootPath;if(typeof this._inner.findFileByUrl==`function`){let t=await this._inner.findFileByUrl(e,n);if(!t)return;let r=this._getOrGenerateId(t.id),i=t.folderId?this._getOrGenerateId(t.folderId):this._getOrGenerateId(this.rootPath);return{...t,id:r,folderId:i}}}async uploadFileByUrl(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.uploadFileByUrl(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async moveItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.moveItem!=`function`)throw new r.Io(n?n(`Move item is not supported by inner storage`):`Move item is not supported by inner storage`,`MoveNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=this.pathForId(t,!0),o=await this._inner.moveItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},a);this._updateIdMapping(e.id,o.id),e.isFolder&&this.remapCachedFolderContents(e.id,i,o.id);let s=this._getOrGenerateId(o.id),c=o.folderId?this._getOrGenerateId(o.folderId):t;return{...o,id:s,folderId:c}}async moveItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.moveItems!=`function`)throw new r.Io(n?n(`Move items is not supported by inner storage`):`Move items is not supported by inner storage`,`MoveNotAllowed`);let i=t?this.pathForId(t,!0):this.rootPath,a=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),o=await this._inner.moveItems(a,i),s=[];if(o.detailed&&o.detailed.length>0){let r=new Map;for(let t=0;t<o.detailed.length;t++){let n=o.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let a=r.get(i.id)||(o.detailed.length===e.length?o.detailed[e.indexOf(i)]:void 0);if(a?.success&&a.data){if(this._updateIdMapping(i.id,a.data.id),i.isFolder){let e=this.pathForId(i.id,i.isFolder);this.remapCachedFolderContents(i.id,e,a.data.id)}s.push({requestId:i.id,success:!0,data:{...a.data,id:this._getOrGenerateId(a.data.id),folderId:a.data.folderId?this._getOrGenerateId(a.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else{let e=n?n(`Move operation failed - no detailed result`):`Move operation failed - no detailed result`;s.push({requestId:i.id,success:!1,error:a?.error||{message:e,code:`MoveNotAllowed`}})}}}else for(let t of e){let e=n?n(`Move operation failed - no detailed results`):`Move operation failed - no detailed results`;s.push({requestId:t.id,success:!1,error:{message:e,code:`MoveNotAllowed`}})}return{success:o.success,detailed:s,error:o.error}}async copyItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.copyItems!=`function`)throw new r.Io(n?n(`Copy items is not supported by inner storage`):`Copy items is not supported by inner storage`,`CopyNotAllowed`);let i=t?this.pathForId(t,!0):this.rootPath,a=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),o=await this._inner.copyItems(a,i),s=[];if(o.detailed&&o.detailed.length>0){let r=new Map;for(let t=0;t<o.detailed.length;t++){let n=o.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let a=r.get(i.id)||(o.detailed.length===e.length?o.detailed[e.indexOf(i)]:void 0);if(a?.success&&a.data?.id){let e=this._getOrGenerateId(a.data.id);s.push({requestId:i.id,success:!0,data:{...a.data,id:e,folderId:a.data.folderId?this._getOrGenerateId(a.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else{let e=a?a.success?a.data?a.data.id?{message:n?n(`Unknown copy error`):`Unknown copy error`,code:`CopyNotAllowed`}:{message:n?n(`No ID in copied item data`):`No ID in copied item data`,code:`CopyNotAllowed`}:{message:n?n(`No data returned from copy operation`):`No data returned from copy operation`,code:`CopyNotAllowed`}:a.error||{message:n?n(`Copy operation failed`):`Copy operation failed`,code:`CopyNotAllowed`}:{message:n?n(`No detailed result from copy operation`):`No detailed result from copy operation`,code:`CopyNotAllowed`};s.push({requestId:i.id,success:!1,error:e})}}}else for(let t of e){let e=n?n(`No detailed results from copy operation`):`No detailed results from copy operation`;s.push({requestId:t.id,success:!1,error:{message:e,code:`CopyNotAllowed`}})}let c=s.every(e=>e.success),l=n?n(`Copy operation completed with errors`):`Copy operation completed with errors`;return{success:c,detailed:s,error:c?void 0:o.error||{message:l,code:`CopyNotAllowed`}}}async deleteItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.deleteItems!=`function`)throw new r.Io(n?n(`Delete items is not supported by inner storage`):`Delete items is not supported by inner storage`,`DeleteNotAllowed`);let i=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),a=await this._inner.deleteItems(i,t),o=[];if(a.detailed&&a.detailed.length>0){let r=new Map;for(let t=0;t<a.detailed.length;t++){let n=a.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let s=r.get(i.id)||(a.detailed.length===e.length?a.detailed[e.indexOf(i)]:void 0);if(s?.success){let e=this.pathForId(i.id,i.isFolder);if(t.permanent)this.recursivelyRemoveMappings(i.id,e);else if(this._updateIdMapping(i.id,this.trashPath+`/`+e+(i.isFolder?`/`:``)),i.isFolder){let t=this.pathForId(i.id,i.isFolder);this.remapCachedFolderContents(i.id,t,this.trashPath+`/`+e+(i.isFolder?`/`:``))}o.push({requestId:i.id,success:!0})}else{let e=n?n(`Delete operation failed`):`Delete operation failed`;o.push({requestId:i.id,success:!1,error:s?.error||{message:e,code:`DeleteNotAllowed`}})}}}else for(let r of e)if(a.success){let e=this.pathForId(r.id,r.isFolder);if(t.permanent)this.recursivelyRemoveMappings(r.id,e);else if(this._updateIdMapping(r.id,this.trashPath+`/`+e+(r.isFolder?`/`:``)),r.isFolder){let t=this.pathForId(r.id,r.isFolder);this.remapCachedFolderContents(r.id,t,this.trashPath+`/`+e+(r.isFolder?`/`:``))}o.push({requestId:r.id,success:!0})}else{let e=n?n(`Delete operation failed`):`Delete operation failed`;o.push({requestId:r.id,success:!1,error:a.error||{message:e,code:`DeleteNotAllowed`}})}let s=o.every(e=>e.success),c=n?n(`Some items failed to delete`):`Some items failed to delete`;return{success:s,detailed:o,error:s?void 0:a.error||{message:c,code:`DeleteNotAllowed`}}}remapCachedFolderContents(e,t,n){let r=t.replace(/\/+$/,``),i=n.replace(/\/+$/,``),a=[];for(let[e,t]of this._idToPath.entries()){let n=t.replace(/\/+$/,``);n!==r&&n.startsWith(r+`/`)&&a.push({id:e,oldPath:n})}for(let{id:e,oldPath:t}of a){let n=i+t.substring(r.length);this._updateIdMapping(e,n)}}recursivelyRemoveMappings(e,t){let n=t.replace(/\/+$/,``),r=[],i=[];for(let[e,t]of this._idToPath.entries()){let a=t.replace(/\/+$/,``);(a===n||a.startsWith(n+`/`))&&(r.push(e),i.push(a))}for(let e=0;e<r.length;e++)this._idToPath.delete(r[e]),this._pathToId.delete(i[e])}async copyItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.copyItem!=`function`)throw new r.Io(n?n(`Copy item is not supported by inner storage`):`Copy item is not supported by inner storage`,`CopyNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=this.pathForId(t,!0),o=await this._inner.copyItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},a),s=this._getOrGenerateId(o.id),c=o.folderId?this._getOrGenerateId(o.folderId):t;return{...o,id:s,folderId:c}}async updateFile(e,t){let{__:n}=this.i18n;if(typeof this._inner.updateFile!=`function`)throw new r.Io(n?n(`Update file is not supported by inner storage`):`Update file is not supported by inner storage`,`UnsupportedOperation`);let i=this.pathForId(e.id,!1),{...a}=await this._inner.updateFile({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);return this._updateIdMapping(e.id,a.id),a.folderId&&(a={...a,folderId:this._getOrGenerateId(a.folderId)}),{...a,id:this._getOrGenerateId(a.id)}}async getFileData(e,t){let{__:n}=this.i18n,i=this.pathForId(e.id,!1);if(typeof this._inner.getFileData==`function`)return this._inner.getFileData({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);let a=e.url||(typeof this.getUrl==`function`?await this.getUrl(e):void 0);if(!a)throw new r.Io(n?n(`Cannot get file data: no url and no inner.getFileData`):`Cannot get file data: no url and no inner.getFileData`,`FileReadError`);return fetch(a,t?.forceReload?{cache:`no-store`}:void 0).then(e=>e.blob())}async cleanTrash(){let{__:e}=this.i18n;if(typeof this._inner.cleanTrash!=`function`)throw new r.Io(e?e(`Clean trash is not supported by inner storage`):`Clean trash is not supported by inner storage`,`UnsupportedOperation`);return await this._inner.cleanTrash()}},u=``,d=class{map=new Map;static childrenViewKey(e,t){return`v${u}${e}${u}${t}`}static childrenCountKey(e){return`c${u}${e}`}getFreshError(e,t){let n=this.map.get(e);return n?t!==1/0&&Date.now()-n.updatedAt>t?(this.map.delete(e),null):n.error:null}setError(e,t){this.map.set(e,{error:t,updatedAt:Date.now()})}delete(e){this.map.delete(e)}clearChildrenViewErrorsForParent(e){let t=`v${u}${e}${u}`;for(let e of[...this.map.keys()])e.startsWith(t)&&this.map.delete(e)}clearAll(){this.map.clear()}},f=``,p=1800*1e3;function m(e){return e==null||e===``?f:e}function h(e){if(e==null)return 1/0;let t=Number(e);return Number.isFinite(t)&&t>=0?t:1/0}function g(e){return!e||typeof e.search!=`string`?!1:e.search.trim().length>0}function _(e){if(!e)return null;let t=e.folderId;return t==null?null:String(t)}function v(e){return!!e&&e.isFolder}function y(){if(typeof globalThis?.crypto?.randomUUID==`function`)return globalThis.crypto.randomUUID();try{let e=globalThis.crypto||globalThis.msCrypto;if(e&&typeof e.getRandomValues==`function`){let t=new Uint8Array(16);e.getRandomValues(t);let n=``;for(let e=0;e<t.length;e++)n+=t[e].toString(16).padStart(2,`0`);return`id_${n}`}}catch{}return`id_fallback_${Date.now().toString(36)}_${Math.floor(Math.random()*(2**53-1)).toString(36).slice(0,8)}`}function b(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}function x(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(36)}function S(e){if(!e||typeof e!=`object`)return String(e??``);let t=e,n=[],r={},i=[`page`,`pageSize`,`sortBy`,`sortOrder`,`search`,`itemType`,`limit`];for(let e of Object.keys(t).sort()){let a=t[e];i.includes(e)?n.push(`${e}=${String(a??``)}`):r[e]=a}let a=Object.keys(r).length?JSON.stringify(r):``,o=n.join(`|`),s=a?x(a):``;return`${o}${s?`|${s}`:``}`}var C=class e{entities=new Map;childrenByParent=new Map;maxCacheSize=1e4;now(){return Date.now()}checkCacheSize(){if(this.entities.size>this.maxCacheSize){let e=Array.from(this.entities.entries()).sort((e,t)=>e[1].updatedAt-t[1].updatedAt),t=Math.floor(this.maxCacheSize*.1);for(let n=0;n<t&&n<e.length;n++){let[t,r]=e[n];this.deleteEntityById(t)}}}getEntity(e){return this.entities.get(e)?.value}getRecord(e){return this.entities.get(e)}getFileSystemItem(e){let t=this.getEntity(e);return t&&!v(t)?t:void 0}getFolder(e){let t=this.getEntity(e);return t&&v(t)?t:void 0}getChildrenIds(e,t={}){let n=m(e),r=this.childrenByParent.get(n);return r?t.onlyFileSystemItems?Array.from(r.files):t.onlyFolders?Array.from(r.folders):[...Array.from(r.folders),...Array.from(r.files)]:[]}searchByUrl(e){for(let t of this.entities.values())if(t.value.url===e)return t.value;return null}upsertEntity(e){let t=this.entities.get(e.id)??null,n=t?t.value:null,r=n?_(n):null,i=_(e),a=n?v(n):!1,o=v(e),s;if(n&&v(n)&&o){let t=n.childrenCount,r=e.childrenCount;t!==void 0&&r===void 0&&(s=t)}if(n&&(r!==i||a!==o)){let t=m(r),n=this.childrenByParent.get(t);n&&(a?n.folders.delete(e.id):n.files.delete(e.id),n.files.size===0&&n.folders.size===0&&this.childrenByParent.delete(t))}let c=e;s!==void 0&&(c={...e,childrenCount:s}),this.entities.set(e.id,{value:{...c},updatedAt:this.now()}),this.checkCacheSize();let l=m(i),u=this.childrenByParent.get(l);u||(u={files:new Set,folders:new Set},this.childrenByParent.set(l,u)),o?u.folders.add(e.id):u.files.add(e.id)}updateServerChildrenCount(e,t){if(e==null||t==null||Number.isNaN(t))return;let n=this.entities.get(e);if(!n||!v(n.value))return;let r={...n.value,childrenCount:t};this.entities.set(e,{value:r,updatedAt:this.now()})}deleteEntityById(e){let t=this.entities.get(e)??null;if(!t)return{entity:null,parentId:null};let n=t.value,r=_(n),i=m(r),a=this.childrenByParent.get(i);return a&&(v(n)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i)),this.entities.delete(e),{entity:{...n},parentId:r}}deleteFolderRecursive(e){let t=this.entities.get(e);if(!t||!v(t.value))return{deletedFolderRecords:[],deletedFileSystemItemRecords:[]};let n=[{id:e,parentId:_(t.value)}],r=[],i=[];for(;n.length;){let e=n.shift();r.push(e);let t=this.childrenByParent.get(m(e.id));if(t){for(let e of Array.from(t.folders)){let t=this.entities.get(e);t&&n.push({id:e,parentId:_(t.value)})}for(let e of Array.from(t.files))i.push(e)}}let a=[];for(let e of i){let t=this.entities.get(e);if(!t)continue;let n=t.value,r=m(_(n)),i=this.childrenByParent.get(r);i&&(i.files.delete(e),i.files.size===0&&i.folders.size===0&&this.childrenByParent.delete(r)),this.entities.delete(e),a.push({...n})}let o=[];for(let e=r.length-1;e>=0;e--){let{id:t,parentId:n}=r[e],i=this.entities.get(t);if(!i)continue;let a=i.value,s=m(a.id);this.childrenByParent.delete(s);let c=m(n),l=this.childrenByParent.get(c);l&&(l.folders.delete(t),l.files.size===0&&l.folders.size===0&&this.childrenByParent.delete(c)),this.entities.delete(t),o.push({...a})}return{deletedFolderRecords:o,deletedFileSystemItemRecords:a}}moveEntityById(e,t){let n=this.entities.get(e)??null;if(!n)return null;let r=n.value,i=m(_(r)),a=this.childrenByParent.get(i);a&&(v(r)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i));let o={...r,folderId:t};if(v(r)&&v(o)){let e=r.childrenCount;e!==void 0&&(o.childrenCount=e)}this.entities.set(e,{value:o,updatedAt:this.now()});let s=m(t),c=this.childrenByParent.get(s);return c||(c={files:new Set,folders:new Set},this.childrenByParent.set(s,c)),v(o)?c.folders.add(e):c.files.add(e),{...o}}copyFileSystemItem(e,t,n){let r=this.entities.get(e)??null;if(!r||v(r.value))return null;let i={...r.value,id:t,folderId:n};return this.upsertEntity(i),{...i}}copyFolderShallow(e,t,n){let r=this.entities.get(e)??null;if(!r||!v(r.value))return null;let i={...r.value,id:t,folderId:n};return this.upsertEntity(i),{...i}}isEntityStale(e,t){let n=this.entities.get(e)??null;return n?t===1/0?!1:this.now()-n.updatedAt>t:!0}touch(e,t){let n=this.entities.get(e);n&&(n.updatedAt=t??this.now())}getEntitiesByIds(e){return e.map(e=>this.entities.get(e)?.value??null)}searchByName(e,t){if(!e||e.trim()===``)return[];let n=t?.parentId,r=t?.recursive??!1,i=t?.itemType??`all`,a=t?.caseSensitive??!1,o=t?.limit??1/0,s=a?e.trim():e.trim().toLowerCase(),c=[],l=null;if(n!==void 0){l=new Set;let e=m(n);if(l.add(e),r){let t=[e],n=new Set;for(;t.length>0;){let e=t.shift();if(n.has(e))continue;n.add(e);let r=this.childrenByParent.get(e);if(r)for(let e of r.folders)l.add(e),t.push(e)}}}for(let[,e]of this.entities){if(c.length>=o)break;let t=e.value;if(l!==null){let e=m(_(t));if(!l.has(e))continue}if(i===`file`&&v(t)||i===`folder`&&!v(t))continue;let n=t.name??``;(a?n:n.toLowerCase()).includes(s)&&c.push({...t})}return c}toJSON(){return{entities:Array.from(this.entities.entries()),childrenByParent:Array.from(this.childrenByParent.entries()).map(([e,t])=>[e,{files:Array.from(t.files),folders:Array.from(t.folders)}])}}static fromJSON(t){let n=new e;for(let[e,r]of t.entities??[])n.entities.set(e,{value:r.value,updatedAt:r.updatedAt});for(let[e,r]of t.childrenByParent??[])n.childrenByParent.set(e,{files:new Set(r.files),folders:new Set(r.folders)});return n}},w=class e{views=new Map;strategy;ttl;errorTtl;entityTtl;failedRequests;serverChildrenCountHandler;childrenCountInvalidator;maxViewsPerParent=50;constructor(e={},t=p,n,r,i=new d){this.strategy={allowSortedInsert:e.allowSortedInsert??!0,allowSearchInsert:e.allowSearchInsert??!0,invalidateOnPaginationFull:e.invalidateOnPaginationFull??!0,preloadPagesBefore:e.preloadPagesBefore??0,preloadPagesAfter:e.preloadPagesAfter??1,comparator:e.comparator,filterMatch:e.filterMatch},this.ttl=t,this.errorTtl=n??t,this.entityTtl=r??t,this.failedRequests=i}setServerChildrenCountHandler(e){this.serverChildrenCountHandler=e}setChildrenCountInvalidator(e){this.childrenCountInvalidator=e}now(){return Date.now()}parentKey(e){return m(e??null)}isExpired(e){return e==null?!0:this.ttl===1/0?!1:this.now()-e>this.ttl}areEntitiesStale(e,t){return e?e.some(e=>!t.getEntity(e)||t.isEntityStale(e,this.entityTtl)):!0}isEntityTypeCompatible(e,t){return!!(!t||t===`all`||t===`file`&&!v(e)||t===`folder`&&v(e))}cleanupOldViews(e){if(e.size<=this.maxViewsPerParent)return;let t=Array.from(e.entries()).sort((e,t)=>(t[1].view.updatedAt||0)-(e[1].view.updatedAt||0));for(;e.size>this.maxViewsPerParent&&t.length>0;){let[n]=t.pop();e.delete(n)}}async getOrCreateChildren(e,t,n,r){let i=this.parentKey(e),a=S(t??{}),o=this.views.get(i);o||(o=new Map,this.views.set(i,o));let s=d.childrenViewKey(i,a),c=o.get(a);c||(c={params:t,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},o.set(a,c),this.cleanupOldViews(o));let l=this.failedRequests.getFreshError(s,this.errorTtl);if(l!=null)throw l;if(c.view.value&&!this.isExpired(c.view.updatedAt)&&!this.areEntitiesStale(c.view.value,r)&&!c.view.meta?.stale){let e=c.view.value.map(e=>r.getEntity(e)).filter(Boolean),t=c.params?.itemType||`all`;return{items:e.filter(e=>this.isEntityTypeCompatible(e,t)),...c.view.meta??{}}}if(c.view.promise)return c.view.promise;let u=y();c.view.loadId=u;let f=(async()=>{try{let a=await n(e,t),o=g(t),l=o?{...a,total:void 0}:a,d=this.views.get(i)?.get(S(t));if(!d||d.view.loadId!==u){let e=Error(`StaleLoad`);throw e.name=`StaleLoad`,e}for(let e of l.items)r.upsertEntity(e);c.view.value=l.items.map(e=>e.id);let{items:f,...p}=l,m={...p};c.view.meta=m,c.view.meta.stale=!1,this.failedRequests.delete(s),c.view.updatedAt=this.now(),!o&&typeof m.total==`number`&&(this.serverChildrenCountHandler?this.serverChildrenCountHandler(e??null,m.total,r):r.updateServerChildrenCount(e,m.total));let _=this.strategy.preloadPagesAfter??0,v=this.strategy.preloadPagesBefore??0,y=h(t?.pageSize);if((_>0||v>0)&&Number.isFinite(y)){let i=e,a={...t},o=typeof m.totalPages==`number`?m.totalPages:1,s=t?.page??1,c=y,l=n,d=u;setTimeout(()=>{this.preloadPagesAsync(i,a,s,o,c,_,v,r,m,l,d)},0)}return l}catch(e){if(e?.name===`StaleLoad`)throw this.failedRequests.delete(s),c.view.value=void 0,c.view.updatedAt=this.now(),e;let t=e,n=t?.status??t?.data?.status,r=t?.code??t?.data?.code;if(n===404||r===`FileNotFound`||r===`FolderNotFound`||r===`path_folder_not_found`)return this.failedRequests.delete(s),c.view.value=[],c.view.meta={total:0,totalPages:0},c.view.updatedAt=this.now(),{items:[],total:0,totalPages:0};throw this.failedRequests.setError(s,e),c.view.value=void 0,c.view.updatedAt=this.now(),e}finally{c.view.promise=null}})();return c.view.promise=f,f}async preloadPagesAsync(e,t,n,r,i,a,o,s,c,l,u){try{let i=this.parentKey(e),c=this.views.get(i);if(!c)return;let d=c.get(S(t));if(!d||u!=null&&d.view.loadId!==u)return;let f=c.get(S(t));if(!f?.view.meta)return;let p=typeof f.view.meta.totalPages==`number`?f.view.meta.totalPages:1;if(p!==r)return;let m=async n=>{let r={...t,page:n};try{let a=await l(e,r),o=this.views.get(i);if(!o)return;let c=o.get(S(t));if(!c||u!=null&&c.view.loadId!==u||c.view.loadId!==u)return;for(let e of a.items)s.upsertEntity(e);let d=S(r),f=o.get(d);if(f||(f={params:r,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:c.view.loadId}},o.set(d,f),this.cleanupOldViews(o)),!f.view.value||this.isExpired(f.view.updatedAt)){f.view.value=a.items.map(e=>e.id);let{items:e,...t}=a;f.view.meta={...t,page:n,totalPages:p},f.view.updatedAt=this.now()}}catch{}};if(a>0&&n<p)for(let e=1;e<=Math.min(a,p-n);e++){let r=n+e,i=S({...t,page:r}),a=c.get(i);(!a?.view.value||this.isExpired(a.view.updatedAt))&&m(r)}if(o>0&&n>1)for(let e=1;e<=Math.min(o,n-1);e++){let r=n-e,i=S({...t,page:r}),a=c.get(i);(!a?.view.value||this.isExpired(a.view.updatedAt))&&m(r)}}catch{}}removeEmptyPageIfNeeded(e,t,n,r,i){if(t.view.value&&t.view.value.length===0&&n<r){let t=S({...i,page:n});e.delete(t)}}updateTotalPagesForAllViews(e,t){for(let[,n]of e)n.view.meta&&(n.view.meta.totalPages=t)}isParamsSame(e,t){let n=Object.keys(e??{}).filter(e=>e!==`page`).sort(),r=Object.keys(t??{}).filter(e=>e!==`page`).sort();if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){let a=n[i];if(a!==r[i]||e[a]!==t[a])return!1}return!0}syncTotalsInSameViews(e,t){let n=t.view.meta;if(!n||typeof n.total!=`number`)return;let r=Number(n.total),i=h(t.params?.pageSize),a=Number.isFinite(i)&&i>0?Math.max(1,Math.ceil(r/i)):void 0;for(let[,n]of e)this.isParamsSame(n.params??{},t.params??{})&&(n.view.meta||(n.view.meta={}),n.view.meta.total=r,a!==void 0&&(n.view.meta.totalPages=a))}canSafelyModifySortedView(e){return!!(!e.sortBy&&!e.sortOrder||this.strategy.comparator)}cascadeShiftPages(e,t,n,r,i,a,o){let s=t,c=n,l=!1,u=0;for(;s.view.value&&s.view.value.length<r&&c<i&&u<100;){u++;let t=S({...o,page:c+1}),n=e.get(t);if(!n?.view.value||this.isExpired(n.view.updatedAt)){s.view.meta={...s.view.meta??{},stale:!0};break}let i=r-s.view.value.length,d=n.view.value.slice(0,i).filter(e=>a.getEntity(e));if(d.length===0){s.view.meta={...s.view.meta??{},stale:!0};break}if(s.view.value=[...s.view.value,...d],s.view.updatedAt=Date.now(),n.view.value=n.view.value.slice(d.length),n.view.updatedAt=Date.now(),n.view.value.length===0){let t=c+1,r=n.view.meta;if(t<(r&&typeof r.totalPages==`number`?r.totalPages:1)){let n=S({...o,page:t});e.delete(n),l=!0}break}s=n,c++}return(!s.view.value||s.view.value.length<r)&&c>=i&&(s.view.meta={...s.view.meta??{},stale:!0}),l}cascadeShiftToNextPage(e,t,n,r,i,a,o){if(!t.view.value||t.view.value.length<=r)return!1;if(n-(o.page||1)>=10)return t.view.meta={...t.view.meta??{},stale:!0},!1;let s={...o,page:n+1},c=S(s),l=e.get(c),u=!1;if(!l?.view.value||this.isExpired(l.view.updatedAt))if(n>=i){l={params:s,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},e.set(c,l),this.cleanupOldViews(e);let r=t.view.meta;r&&(l.view.meta={...r,page:n+1}),u=!0}else return t.view.meta={...t.view.meta??{},stale:!0},!1;let d=t.view.value.slice(r).filter(e=>a.getEntity(e));if(d.length===0)return u&&e.delete(c),!1;t.view.value=t.view.value.slice(0,r),t.view.updatedAt=Date.now(),l.view.value=[...d,...l.view.value??[]],l.view.updatedAt=Date.now();let f=l.view.meta&&typeof l.view.meta.totalPages==`number`?l.view.meta.totalPages:i;if(!u&&this.cascadeShiftToNextPage(e,l,n+1,r,f,a,o))return!0;if(!l.view.value||l.view.value.length===0){let t=n+1,r=l.view.meta,i=r&&typeof r.totalPages==`number`?r.totalPages:1;this.removeEmptyPageIfNeeded(e,l,t,i,o)}return u}tryInsertSorted(e,t,n){let r=this.strategy.comparator;if(!r||!e.view.value)return!1;let i=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,i))return!1;let a=e.view.value.map(e=>n.getEntity(e));if(a.some(e=>!e))return!1;let o=0,s=a.length;for(;o<s;){let n=Math.floor((o+s)/2),i=r(t,a[n],e.params);if(typeof i!=`number`||Number.isNaN(i))return!1;i>=0?o=n+1:s=n}return e.view.value.includes(t.id)?(e.view.updatedAt=this.now(),!0):(e.view.value=[...e.view.value.slice(0,o),t.id,...e.view.value.slice(o)],e.view.updatedAt=this.now(),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Number(e.view.meta.total)+1),!0)}updateChildrenCountForOperation(e,t,n,r){let i=_(t);switch(e){case`delete`:this.adjustChildrenCount(r,i,-1),this.childrenCountInvalidator?.(i);break;case`insert`:case`copy`:this.adjustChildrenCount(r,i,1),this.childrenCountInvalidator?.(i);break;case`move`:this.adjustChildrenCount(r,n,-1),this.adjustChildrenCount(r,i,1),this.childrenCountInvalidator?.(n),this.childrenCountInvalidator?.(i);break}}adjustChildrenCount(e,t,n){if(!t)return;let r=e.getFolder(t);if(r&&typeof r.childrenCount==`number`){let i=Math.max(0,r.childrenCount+n);e.updateServerChildrenCount(t,i)}}smartInvalidateChildrenViews(e,t,n,r,i,a){if(!t)return;this.updateChildrenCountForOperation(n,t,i,r);let o=this.parentKey(e),s=this.views.get(o);if(s)for(let[,e]of s){let a=e.params??{},o=a?.page??1,c=h(a?.pageSize),l=Number.isFinite(c),u=!!(a?.sortBy||a?.sortOrder),d=!!a?.search,f=a?.itemType||`all`;if(this.isEntityTypeCompatible(t,f)){if(d&&this.strategy.filterMatch&&!this.strategy.filterMatch(t,e.params)){e.view.value?.includes(t.id)&&(e.view.value=e.view.value.filter(e=>e!==t.id),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Math.max(0,e.view.meta.total-1)),e.view.updatedAt=Date.now());continue}if(!e.view.value){e.view.meta&&(e.view.meta.stale=!0),e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}if(e.view.value.includes(t.id),this.shouldInvalidateCompletely(e,n,t,u,l,o)){e.view.meta={...e.view.meta??{},stale:!0},e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}switch(n){case`delete`:this.handleDelete(s,e,o,c,l,t,r);break;case`insert`:case`copy`:this.handleInsert(s,e,o,c,l,u,t,r);break;case`update`:this.handleUpdate(s,e,o,c,l,u,d,t,r);break;case`move`:this.handleMove(s,e,o,c,l,u,t,i,r);break}}}}shouldInvalidateCompletely(e,t,n,r,i,a){return!!(i&&a>1&&(t===`insert`||t===`delete`||t===`move`)||r&&!this.strategy.comparator&&(t===`insert`||t===`move`)||this.isExpired(e.view.updatedAt))}tryReinsertEntity(e,t,n,r,i){let a=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,a))return!1;if(this.strategy.comparator&&this.strategy.filterMatch){if(!this.strategy.filterMatch(t,e.params))return!1;if(this.tryInsertSorted(e,t,n))return!0}let o=e.params??{};return(o.sortBy||o.sortOrder)&&!this.canSafelyModifySortedView(o)?!1:!r||e.view.value.length<i?(e.view.value.push(t.id),!0):!1}handleDelete(e,t,n,r,i,a,o){let s=t.view.value.includes(a.id);if(s&&(t.view.value=t.view.value.filter(e=>e!==a.id)),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(t.view.updatedAt=Date.now(),s&&i&&t.view.value.length<r&&o){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,o,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}handleInsert(e,t,n,r,i,a,o,s){if(!t.view.value.includes(o.id)){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&s){if(this.tryInsertSorted(t,o,s)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length>r&&s){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftToNextPage(e,t,n,r,a,s,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=t.view.meta.totalPages+1;t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(!i||t.view.value.length<r){if(t.view.value.push(o.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta={...t.view.meta??{},stale:!0};t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleUpdate(e,t,n,r,i,a,o,s,c){let l=t.view.value.includes(s.id),u=this.isEntityTypeCompatible(s,t.params?.itemType||`all`);if(l&&!u){if(t.view.value=t.view.value.filter(e=>e!==s.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l&&(a||o)){if(t.view.value=t.view.value.filter(e=>e!==s.id),!this.tryReinsertEntity(t,s,c,i,r)){if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now(),t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l){t.view.updatedAt=Date.now(),t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(u&&!o){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&c){if(this.tryInsertSorted(t,s,c)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}}else if(!i||t.view.value.length<r){if(t.view.value.push(s.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta={...t.view.meta??{},stale:!0};t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleMove(e,t,n,r,i,a,o,s,c){if(t.view.value.includes(o.id)){if(t.view.value=t.view.value.filter(e=>e!==o.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}this.syncTotalsInSameViews(e,t)}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}forceInvalidateChildrenViews(e){let t=this.parentKey(e??null);this.failedRequests.clearChildrenViewErrorsForParent(t);let n=this.views.get(t);if(n)for(let[,e]of n)e.view.value=void 0,e.view.meta=void 0,e.view.promise=null,e.view.updatedAt=0,e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0)}getKnownTotal(e){let t=this.parentKey(e??null),n=this.views.get(t);if(!n)return;let r=null;for(let[,e]of n){let t=e.view.meta;t&&typeof t.total==`number`&&(!r||(e.view.updatedAt??0)>r.updatedAt)&&(r={total:Number(t.total),updatedAt:e.view.updatedAt??0})}return r?r.total:void 0}toJSON(){return{views:Array.from(this.views.entries()).map(([e,t])=>[e,Array.from(t.entries())]),ttl:this.ttl,errorTtl:this.errorTtl,entityTtl:this.entityTtl,strategy:{allowSortedInsert:this.strategy.allowSortedInsert,allowSearchInsert:this.strategy.allowSearchInsert,invalidateOnPaginationFull:this.strategy.invalidateOnPaginationFull,preloadPagesBefore:this.strategy.preloadPagesBefore,preloadPagesAfter:this.strategy.preloadPagesAfter}}}static fromJSON(t,n){let r=n?.ttl??t?.ttl??18e5,i=new e({},r,n?.errorTtl??t?.errorTtl??r,void 0,n?.failedRequests??new d);for(let[e,n]of t.views??[]){let t=new Map;for(let[e,r]of n){let n=r;n?.view&&`error`in n.view&&delete n.view.error,t.set(e,n)}i.views.set(e,t)}return i}},T=class e{entities;views;ttl;errorTtl;failedRequests;childrenCountPromises=new Map;invalidateChildrenCountCache(e){let t=m(e??``);this.childrenCountPromises.delete(t),this.failedRequests.delete(d.childrenCountKey(t))}constructor(e={},t=p,n){this.failedRequests=new d,this.ttl=t,this.errorTtl=n??t,this.entities=new C,this.views=new w(e,t,this.errorTtl,void 0,this.failedRequests),this.views.setServerChildrenCountHandler((e,t,n)=>{this.handleServerReportedChildrenCount(e,t,n??this.entities)}),this.views.setChildrenCountInvalidator(e=>{this.invalidateChildrenCountCache(e)})}getEntity(e){return this.entities.getEntity(e)??null}getFileSystemItem(e){return this.entities.getFileSystemItem(e)??null}getFolder(e){return this.entities.getFolder(e)??null}async getOrCreateChildren(e,t,n){return this.views.getOrCreateChildren(e,t,n,this.entities)}upsertEntity(e){let t=this.entities.getEntity(e.id),n=t?_(t):null,r=_(e),i=t?v(t):!1,a=v(e);if(this.entities.upsertEntity(e),t){if(n!==r||i!==a){this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities);return}this.views.smartInvalidateChildrenViews(r,e,`update`,this.entities,void 0,t)}else this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities)}isAncestor(e,t){let n=t,r=new Set;for(;n&&!r.has(n);){if(r.add(n),m(n)===m(e))return!0;let t=this.entities.getEntity(n);if(!t)break;n=_(t),n===null&&(n=f)}return!1}moveEntity(e,t){let n=this.entities.getEntity(e);if(!n||v(n)&&t!==null&&this.isAncestor(e,t))return null;let r=_(n),i=this.entities.moveEntityById(e,t);return i?(this.views.smartInvalidateChildrenViews(r,n,`delete`,this.entities),this.views.smartInvalidateChildrenViews(t,i,`insert`,this.entities),i):null}copyEntity(e,t,n,r){let i=this.entities.getEntity(e);if(!i)return null;let a=null;if(v(i)){let n=[e],i=[];for(;n.length;){let e=n.shift();i.push(e);let t=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of t)n.push(e)}let o=new Map;for(let e of i)o.set(e,y());for(let n of i){let i=this.entities.getFolder(n),a=o.get(n),s=_(i),c=s===null?t:o.get(s)??null,l={...i,...n===e?r:void 0,id:a,folderId:(n===e?r?.folderId:void 0)??c};this.entities.upsertEntity(l)}for(let e of i){let t=o.get(e),n=this.entities.getChildrenIds(e,{onlyFileSystemItems:!0});for(let e of n){let n=this.entities.getFileSystemItem(e);if(!n)continue;let r=y(),i={...n,id:r,folderId:t};this.entities.upsertEntity(i)}}a=this.entities.getEntity(o.get(e))??null}else{let i=n??y();if(a=this.entities.copyFileSystemItem(e,i,t??null),a&&r){let e={...a,...r,id:i,folderId:r.folderId??t??null};this.entities.upsertEntity(e),a=e}}return a&&this.views.smartInvalidateChildrenViews(t,a,`copy`,this.entities),a}searchByUrl(e){return this.entities.searchByUrl(e)??null}deleteEntity(e){let t=this.entities.getEntity(e);if(!t)return null;if(v(t)){let{deletedFolderRecords:n,deletedFileSystemItemRecords:r}=this.entities.deleteFolderRecursive(e);for(let e of r)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.forceInvalidateChildrenViews(e.id);return t}else{let{entity:t,parentId:n}=this.entities.deleteEntityById(e);return t&&this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),t}}deleteFolderRecursive(e){let{deletedFolderRecords:t,deletedFileSystemItemRecords:n}=this.entities.deleteFolderRecursive(e);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.forceInvalidateChildrenViews(e.id);return{deletedFileSystemItemIds:n.map(e=>e.id),deletedFolderIds:t.map(e=>e.id)}}forceInvalidate(e){let t=this.entities.getEntity(e);if(!t)return;let n=new Set;if(v(t)){let t=[e];for(;t.length;){let e=t.pop();if(n.has(e))continue;n.add(e),this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e);let r=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of r)t.push(e)}}else{let e=t.folderId??null;this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e)}}getChildrenIds(e){return this.entities.getChildrenIds(e)}searchByName(e,t){return this.entities.searchByName(e,t)}async getChildrenCount(e=``,t){let n=m(e),r=d.childrenCountKey(n),i=this.failedRequests.getFreshError(r,this.errorTtl);if(i!=null)return Promise.reject(i);let a=this.childrenCountPromises.get(n);if(a)return a;let o=(async()=>{try{let n=this.entities.getFolder(e);if(n&&typeof n.childrenCount==`number`)return this.failedRequests.delete(r),n.childrenCount;let i=this.views.getKnownTotal(e);if(typeof i==`number`)return n&&this.handleServerReportedChildrenCount(e,i,this.entities),this.failedRequests.delete(r),i;if(t){let n=await t(e);return this.entities.getFolder(e)&&this.handleServerReportedChildrenCount(e,n,this.entities),this.failedRequests.delete(r),n}return this.failedRequests.delete(r),this.entities.getChildrenIds(e).length}catch(e){if(this.childrenCountPromises.delete(n),b(e))return this.failedRequests.delete(r),0;throw this.failedRequests.setError(r,e),e}finally{this.childrenCountPromises.delete(n)}})();return this.childrenCountPromises.set(n,o),o}toJSON(){return{entities:this.entities.toJSON(),views:this.views.toJSON(),ttl:this.ttl,errorTtl:this.errorTtl}}static fromJSON(t,n){let r=t?.ttl??18e5,i=t?.errorTtl??r,a=new e(n??{},r,i),o=C.fromJSON(t?.entities??{}),s=w.fromJSON(t?.views??{},{failedRequests:a.failedRequests,ttl:r,errorTtl:i});return n&&(s.strategy={allowSortedInsert:n.allowSortedInsert??!0,allowSearchInsert:n.allowSearchInsert??!0,invalidateOnPaginationFull:n.invalidateOnPaginationFull??!0,preloadPagesBefore:n.preloadPagesBefore??0,preloadPagesAfter:n.preloadPagesAfter??1,comparator:n.comparator,filterMatch:n.filterMatch}),a.entities=o,a.views=s,s.setServerChildrenCountHandler((e,t,n)=>{a.handleServerReportedChildrenCount(e,t,n??o)}),s.setChildrenCountInvalidator(e=>{a.invalidateChildrenCountCache(e)}),a}handleServerReportedChildrenCount(e,t,n){this.checkAndResolveChildrenCountConflict(e,t,n),this.invalidateChildrenCountCache(e)}checkAndResolveChildrenCountConflict(e,t,n){if(!n||t===void 0)return;let r=e??null;if(!r){n.updateServerChildrenCount(r,t);return}let i=n.getFolder(r)?.childrenCount;i!==void 0&&i!==t&&this.views.forceInvalidateChildrenViews(r),n.updateServerChildrenCount(r,t)}},E=class{deletingIds=new Set;beginDeleting(e){for(let t of e)t&&this.deletingIds.add(t)}endDeleting(e){for(let t of e)t&&this.deletingIds.delete(t)}isDeleting(e){return!!e&&this.deletingIds.has(e)}},D=``,O=`Trash`,k=`Edited`,A=1e4,j=1e4,M=25,N=10;function P(e,t){let n=e??{},r=Array.isArray(n.detailed)?n.detailed.map(e=>({requestId:e.requestId??e.id,success:!!e.success,data:t(e.data),error:e.error})):void 0;return{success:!!n.success,error:n.error,detailed:r}}function F(e){return e==null?``:String(e)}function I(e){return{...e,name:F(e.name)}}function L(e){return(e??[]).map(I)}function R(e){return!e||typeof e!=`object`||!(`name`in e)?e:{...e,name:F(e.name)}}function z(e){return e?e.replaceAll(`\\`,`/`).split(`/`).filter(Boolean):[]}function B(e){let t=Object.getPrototypeOf(e);for(let n of Object.getOwnPropertyNames(t))n!==`constructor`&&typeof Object.getOwnPropertyDescriptor(t,n)?.value==`function`&&(e[n]=e[n].bind(e))}var V=class{_dataProvider;_options;_pathOptions;i18n;_cache;_rootId;_useSoftDelete;_enableTrash;_validateDuplicates;_blobFetchForceReloadOnceIds=new Set;_mutationRegistry=new E;async _findOrCreateFolderByPath(e){let{__:t}=this.i18n,n=z(e);if(n.length>N)throw new r.Io(t(`Path depth exceeds maximum limit of %s`).replace(`%s`,String(N)),`ValidationError`);let i;for(let a of n){let{files:n}=await this.getFiles({folderId:i?.id||``,itemType:`folder`}),o=n.find(e=>e.name===a);if(o){if(!o.isFolder)throw new r.Io(t(`Path component '%s' in '%s' is not a folder`).replace(`%s`,a).replace(`%s`,e),`ValidationError`);i={id:o.id,name:o.name,parentId:o.folderId}}else{if(typeof this._dataProvider.createFolder!=`function`)throw new r.Io(t(`Create folder operation is not supported by data provider`),`UnsupportedOperation`);i=await this.createFolder({name:a,parentId:i?.id})}}return i}getTrashFolder(){return this._findOrCreateFolderByPath(this._pathOptions.trashPath||O)}getTempFolder(){return this._findOrCreateFolderByPath(this._pathOptions.tempPath||k)}constructor(e,t={},n,r=i.m){this._dataProvider=e,this._options=t,this._pathOptions=n,this.i18n=r,B(this),this._useSoftDelete=this._pathOptions.useSoftDelete,this._rootId=this._pathOptions.rootId||D,this._enableTrash=this._options.enableTrash===void 0?!0:this._options.enableTrash,this._validateDuplicates=this._dataProvider.validateDuplicates,this._cache=new T(t.cacheStrategy||{},t.cacheStrategy?.ttl,t.cacheStrategy?.errorTtl),this.setController({invalidateItemCache:e=>{this._cache.forceInvalidate(e)},getCachedItem:e=>this._cache.getEntity(e)}),typeof this._dataProvider.clearCache!=`function`&&(this.clearCache=void 0)}setController(e){typeof this._dataProvider.setController==`function`&&this._dataProvider.setController(e)}async clearCache(e){if(typeof this._dataProvider.clearCache!=`function`){let{__:e}=this.i18n;throw new r.Io(e(`Clear cache is not supported by data provider`),`UnsupportedOperation`)}this._cache.forceInvalidate(this._rootId),await this._dataProvider.clearCache(e)}markNextFileBlobFetchBypassHttpCache(e){this._blobFetchForceReloadOnceIds.add(this.normalizeId(e))}normalizeId(e){return!e||e===`root`||e===`folders`?this._rootId:e}_isDeletingId(e){return this._mutationRegistry.isDeleting(this.normalizeId(e))}_collectDeletingIds(e){let t=this.normalizeId(e),n=new Set([t]);if(!this._cache.getEntity(t)?.isFolder)return Array.from(n);let r=[t];for(;r.length>0;){let e=r.pop(),t=this._cache.getChildrenIds(e);for(let e of t)n.has(e)||(n.add(e),this._cache.getEntity(e)?.isFolder&&r.push(e))}return Array.from(n)}_emptyFilesResult(e,t){return{files:[],pagination:{...typeof e==`number`?{page:e}:{},...typeof t==`number`?{limit:t}:{},total:0,totalPages:1,hasNext:!1,hasPrev:!1}}}_validateName(e,t=!1){if(!e||e.trim().length===0){let e=t?`FolderInvalidName`:`FileInvalidName`,{__:n}=this.i18n;throw new r.Io(n(t?`Folder name cannot be empty`:`File name cannot be empty`),e)}if(/[\/\\:*?"<>|]/.test(e)){let{__:n}=this.i18n,i=t?`FolderInvalidName`:`FileInvalidName`;throw new r.Io(t?n(`Folder name contains invalid characters: %s`).replace(`%s`,e):n(`File name contains invalid characters: %s`).replace(`%s`,e),i)}}_validateTargetFolderType(e){let t=this.normalizeId(e);if(t===this._rootId)return;let n=this._cache.getEntity(t);if(n&&!n.isFolder){let{__:t}=this.i18n;throw new r.Io(t(`Target item with id '%s' is not a folder`).replace(`%s`,e),`ValidationError`)}}_checkNameExistsInCache(e,t,n,r){let i=this.normalizeId(e),a=this._cache.getChildrenIds(i);for(let e of a){let i=this._cache.getEntity(e);if(i&&i.name===t&&!!i.isFolder===n&&(!r||i.id!==r))return!0}return!1}async _getUrl(e){if(e.url)return e.url;try{return typeof this._dataProvider?.getUrl==`function`&&this._dataProvider.getUrl(e)||``}catch{}return``}async _getThumbnailUrl(e){if(e.thumbnailUrl)return e.thumbnailUrl;try{return typeof this._dataProvider?.getThumbnailUrl==`function`&&this._dataProvider.getThumbnailUrl(e)||``}catch{}return``}_mapItem=async({childrenCount:e,...t})=>{let n=I(t);if(n.isFolder)return{...n,childCount:e,url:``,thumbnailUrl:``};let[r,i]=await Promise.all([this._getUrl(n),this._getThumbnailUrl(n)]);return{...n,childCount:0,url:r,thumbnailUrl:i}};_isAncestor(e,t){if(!t)return!1;let n=this.normalizeId(t),r=this.normalizeId(e);if(n===r)return!0;let i=this._cache.getEntity(n),a=new Set;for(;i&&i.folderId&&!a.has(i.id);){a.add(i.id);let e=this.normalizeId(i.folderId);if(e===r)return!0;if(i=this._cache.getEntity(e),!i||!i.isFolder)break}return!1}async getFile(e,t){return this._isDeletingId(e)?null:this._cache.searchByName(t,{parentId:this.normalizeId(e),caseSensitive:!0,recursive:!1,itemType:`file`})[0]||(await this.getFiles({folderId:e,itemType:`file`,search:t})).files[0]}async getFileById(e){let t=this.normalizeId(e);if(this._isDeletingId(t))return null;let n=this._cache.getFileSystemItem(t);if(n&&!n.isFolder)return await this._mapItem(n);if(!this._dataProvider.pathMode)return null;let r=await this._getFileByPathStyleId(t);if(r&&!r.isFolder){let e=I(r);return this._cache.upsertEntity(e),await this._mapItem(e)}return null}async _getFileByPathStyleId(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``),n=t.lastIndexOf(`/`),r=n<0?``:t.slice(0,n),i=n<0?t:t.slice(n+1);return i?this.getFile(r,i):null}async getFileUrl(e,t){let n=await this.getFile(e,t);return await this._getUrl(n)||await this._getThumbnailUrl(n)||n.thumbnail}async getFiles({folderId:e,search:t,sortBy:n,sortOrder:r,page:i,limit:a,itemType:o=`all`,noFolder:s=!1}){s&&(e=(await this.getTempFolder())?.id);let c=this.normalizeId(e??this._rootId),l=this._options.enablePagination===!1,u=l?1:i,d=l?A:a,f=this._options.clientSideFilter,p=this._options.clientSideSorting,m=this._options.clientSidePaging,h=m?Math.max(1,i??1):void 0,g=m?typeof a==`number`&&Number.isFinite(a)&&a>0?a:M:void 0,_=this._emptyFilesResult(m?h:u,m?g:d);if(this._isDeletingId(c))return _;let v=this._options.unifiedCatalogFetch!==!1&&l&&(o===`folder`||o===`file`),y=v?`all`:o,b={folderId:c,itemType:y};f||(b.search=t),p||(b.sortBy=n??(y===`folder`?void 0:`date`),b.sortOrder=r??(y===`folder`?void 0:`desc`)),m||(b.page=u,b.limit=v?j:d);let x=v?j:m?void 0:d,S={folderId:c,itemType:y,search:f?void 0:t,sortBy:p?void 0:b.sortBy,sortOrder:p?void 0:b.sortOrder,page:m?void 0:u,pageSize:x},C;try{C=await this._cache.getOrCreateChildren(c,S,async(e,t)=>{let n=t.pageSize,r=n!=null&&Number.isFinite(Number(n))?Number(n):A,i=await this._dataProvider.getItems({...t,folderId:e,limit:r}),a=L(i.items);return m?{items:a,total:typeof i.pagination?.total==`number`?i.pagination.total:a.length}:{items:a,...i.pagination}})}catch(e){if(this._isDeletingId(c))return _;throw e}let w=C.items;if(v&&(o===`folder`?w=w.filter(e=>e.isFolder):o===`file`&&(w=w.filter(e=>!e.isFolder))),f){if(typeof this._options.clientSideFilter==`function`)w=this._options.clientSideFilter(w,t);else if(t){let e=t.toLowerCase();w=w.filter(t=>t.name?.toLowerCase().includes(e))}}p&&(w=typeof this._options.clientSideSorting==`function`?this._options.clientSideSorting(w,n,r):this._defaultClientSideSort(w,n,r));let T;T=m||f||v?w.length:C.total??w.length;let E=w;if(m)if(typeof this._options.clientSidePaging==`function`)E=this._options.clientSidePaging(w,h,g);else{let e=(h-1)*g,t=e+g;E=w.slice(e,t)}if(typeof this._dataProvider.getUrl==`function`||typeof this._dataProvider.getThumbnailUrl==`function`){let e=E.map(async e=>{if(e.isFolder)return e;let[t,n]=await Promise.all([e.url?Promise.resolve(e.url):typeof this._dataProvider.getUrl==`function`?this._dataProvider.getUrl(e):Promise.resolve(void 0),e.thumbnailUrl?Promise.resolve(e.thumbnailUrl):typeof this._dataProvider.getThumbnailUrl==`function`?this._dataProvider.getThumbnailUrl(e):Promise.resolve(void 0)]);return{...e,url:t,thumbnailUrl:n}});E=await Promise.all(e)}let D=m?{page:h,limit:g,total:T,totalPages:Math.max(1,Math.ceil(T/g)),hasNext:h*g<T,hasPrev:h>1}:{page:u,limit:d,total:T,...!m&&C.totalPages&&{totalPages:C.totalPages},...!m&&C.hasNextPage&&{hasNextPage:C.hasNextPage}};return{files:await Promise.all(E.map(this._mapItem)),pagination:D}}_defaultClientSideSort(e,t,n){return e.sort((e,r)=>{let i=0;switch(t){case`name`:i=(e.name||``).localeCompare(r.name||``);break;case`date`:i=new Date(e.date||0).getTime()-new Date(r.date||0).getTime();break;case`size`:i=(Number(e.size)||0)-(Number(r.size)||0);break;default:i=(e.name||``).localeCompare(r.name||``)}return n===`desc`?-i:i})}async getFileData(e,t){let n=this.normalizeId(typeof e==`string`?e:e.id),i=t;this._blobFetchForceReloadOnceIds.delete(n)&&(i={...t,forceReload:!0});let a=this._cache.getEntity(n)||(typeof e==`string`?{id:n,name:``,folderId:this._rootId,isFolder:!1}:{...e,childrenCount:e.childCount});if(typeof this._dataProvider.getFileData==`function`)return await this._dataProvider.getFileData(a,i);let{__:o}=this.i18n;if(!a.url&&typeof this._dataProvider.getUrl!=`function`)throw new r.Io(o(`Cannot read file`),`FileReadError`);let s=a.url||(typeof this._dataProvider.getUrl==`function`?await this._dataProvider.getUrl(a):``);if(s)return(await r.qa(s,{config:this._pathOptions.resourceProxyConfig,standalone:this._pathOptions.isStandalone,intent:`downloadBlob`,init:i?.forceReload?{cache:`no-store`}:void 0})).blob();throw new r.Io(o(`Unable to get file data`),`FileReadError`)}async findFileByUrl(e){let t=this._cache.searchByUrl(e);if(t)return t;if(typeof this._dataProvider.findFileByUrl==`function`)try{let t=await this._dataProvider.findFileByUrl(e);if(t){let e=I(t);return this._cache.upsertEntity(e),e}}catch{}return null}async getChildrenCount(e){if(!e)return 0;let t=this.normalizeId(e??this._rootId);return this._isDeletingId(t)?0:this._cache.getChildrenCount(t,async()=>{try{if(this._options.clientSidePaging){let e=await this.getFiles({folderId:t,itemType:`all`,page:1,limit:M});return e.pagination.total??e.files.length}let e=await this._dataProvider.getItems({folderId:t,limit:0,itemType:`all`});return e.pagination===void 0?this._options.enablePagination===!1?e.items.length:0:e.pagination.total||0}catch(e){if(this._isDeletingId(t)||this._isPathFolderNotFoundError(e))return 0;throw e}})}_isPathFolderNotFoundError(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}async _uploadFile(e){let t=this.normalizeId(e.folderId??this._rootId),{__:n}=this.i18n;if(typeof this._dataProvider.uploadFile!=`function`)throw new r.Io(n(`Upload file operation is not supported by data provider`),`UnsupportedOperation`);if(this._validateName(e.name,!1),this._validateDuplicates&&this._checkNameExistsInCache(t,e.name,!1))throw new r.Io(n(`File '%s' already exists in target folder`).replace(`%s`,e.name),`FileAlreadyExists`);let i=await this._dataProvider.uploadFile({...e,folderId:t}),a=I({name:e.name,size:e.size,...i,folderId:t});return this._cache.upsertEntity(a),a}async uploadFiles(e){let t=e.items.some(e=>e.noFolder)?await this.getTempFolder():null;e={...e,items:e.items?.map(e=>({...e,folderId:e.noFolder?t?.id:e.folderId}))};for(let t of e.items)t.folderId&&(e.folderId=t.folderId);let n=e.items||[],i=e.folderId??this._rootId,a=this.normalizeId(i);if(this._validateDuplicates){for(let e of n)if(e.name){this._validateName(e.name,!1);let t=this.normalizeId(e.folderId??a);if(this._checkNameExistsInCache(t,e.name,!1)){let{__:t}=this.i18n;throw new r.Io(t(`File '%s' already exists in target folder`).replace(`%s`,e.name),`FileAlreadyExists`)}}}let o=this._cache.getEntity(a),s={detailed:Array(n.length),success:!0};if(typeof this._dataProvider.uploadFiles==`function`){let e=n.map(e=>({...e,folderId:this.normalizeId(e.folderId??a)}));if(s=P(await this._dataProvider.uploadFiles({folderId:a,items:e}),e=>{if(e)return{id:e.id,name:F(e.name),folderId:e.folderId}}),s.detailed&&s.detailed.length){for(let e=0;e<s.detailed.length;e++){let t=s.detailed[e];if(t&&t.success){let e=t.data,n=e?.id??t.requestId,r=I({...o,...e,folderId:e?.folderId??a});this._cache.upsertEntity(r),t.requestId=n}}s.success===void 0&&(s.success=!s.detailed.some(e=>!e.success))}else s.success=s.error?!1:!!s.success}else if(typeof this._dataProvider.uploadFile==`function`)s.detailed=await Promise.all(n.map(async e=>{let t=this.normalizeId(e.folderId??a);try{let n=await this._uploadFile({...e,folderId:t});return{requestId:n.id,data:n,success:!0}}catch(t){return{requestId:e?.id,success:!1,error:t}}})),s.success=!s.detailed.some(e=>!e.success);else throw new r.Io(`Upload files is not supported by data provider`,`UnsupportedOperation`);if(s.success&&this._enableTrash)try{this._cache.forceInvalidate(a)}catch{}return s}async deleteFile(e){let t=this.normalizeId(e),n=[t];this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash){let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!1})}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async deleteItems(e,t){let n=Array.from(new Set(e.flatMap(e=>this._collectDeletingIds(this.normalizeId(e)))));this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash&&t.permanent!==!0){let t=await this.getTrashFolder();return await this.moveItems(t.id,e)}return await this.hardDeleteItems(e,t)}finally{this._mutationRegistry.endDeleting(n)}}async hardDeleteItems(e,t){let n={success:!0,detailed:[]},i=t.permanent?null:await this.getTrashFolder();if(typeof this._dataProvider.deleteItems==`function`){if(n=P(await this._dataProvider.deleteItems(e.map(e=>this._cache.getEntity(e)),t),e=>e),n.success){let t=n.detailed||e.map(e=>({requestId:e,success:!0,error:void 0}));for(let e of t)e.success&&(i?this._cache.moveEntity(e.requestId,i.id):this._cache.deleteEntity(e.requestId))}}else typeof this._dataProvider.deleteItem==`function`&&(n.detailed=await Promise.all(e.map(async e=>{let n=this._cache.getEntity(e);if(!n){let{__:t}=this.i18n;return{requestId:e,success:!1,error:new r.Io(t(`Item with id '%s' not found`).replace(`%s`,e),`FileNotFound`)}}try{return await this._dataProvider.deleteItem(n,t),i?this._cache.moveEntity(e,i.id):this._cache.deleteEntity(e),{requestId:e,success:!0}}catch(t){return{requestId:e,error:t,success:!1}}})),n.success=!n.detailed.some(e=>!e.success));if(n.success&&i)try{this._cache.forceInvalidate(i.id)}catch{}return n}async hardDeleteItem(e){let t=this._cache.getEntity(e);if(!t){let{__:t}=this.i18n;throw new r.Io(t(`Item with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`)}if(typeof this._dataProvider.deleteItem!=`function`){let{__:e}=this.i18n;throw new r.Io(e(`Delete item operation is not supported by data provider`),`DeleteNotAllowed`)}if(await this._dataProvider.deleteItem(t,{permanent:!0}),this._cache.deleteEntity(e),this._enableTrash)try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return!0}async cleanTrash(){let{__:e}=this.i18n;if(!this._enableTrash)throw new r.Io(e(`Trash is not enabled`),`UnsupportedOperation`);if(typeof this._dataProvider.cleanTrash==`function`){let e=await this._dataProvider.cleanTrash();try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return e}throw new r.Io(e(`Clean trash is not supported by data provider`),`UnsupportedOperation`)}async createFolder({name:e,parentId:t,is_force_create:n}){let i=this.normalizeId(t??this._rootId);if(this._validateName(e,!0),this._validateDuplicates&&this._checkNameExistsInCache(i,e,!0)){let{__:t}=this.i18n;throw new r.Io(t(`Folder '%s' already exists in parent folder`).replace(`%s`,e),`FolderAlreadyExists`)}let a=await this._dataProvider.createFolder(e,i,n),o=I({id:a.id,folderId:i,name:a.name,isFolder:!0,childrenCount:a.childrenCount});return this._cache.upsertEntity(o),{...a,name:o.name}}async deleteFolder(e){let t=this.normalizeId(e),n=this._collectDeletingIds(t);this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash)try{let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!0})?(this._cache.deleteFolderRecursive(t),!0):!1}catch{return await this.hardDeleteItem(t)}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async renameFolder(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.renameItem!=`function`)throw new r.Io(n(`Rename folder is not supported`),`RenameNotAllowed`);let i=this.normalizeId(e),a=this._cache.getEntity(i);if(!a)throw new r.Io(n(`Folder with id '%s' not found in cache`).replace(`%s`,e),`FolderNotFound`);if(this._validateName(t,!0),this._validateDuplicates){let e=this.normalizeId(a.folderId);if(this._checkNameExistsInCache(e,t,!0,i))throw new r.Io(n(`Folder '%s' already exists in parent folder`).replace(`%s`,t),`FolderAlreadyExists`)}let o=R(await this._dataProvider.renameItem(a,t));return this._cache.upsertEntity(I({...this._cache.getEntity(o.id),...o})),this._cache.getEntity(o.id)}async renameFile(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.renameItem!=`function`)throw new r.Io(n(`Rename file is not supported`),`RenameNotAllowed`);let i=this._cache.getEntity(e);if(!i)throw new r.Io(n(`File with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`);let a=this.normalizeId(e);if(this._validateName(t,!1),this._validateDuplicates){let e=this.normalizeId(i.folderId);if(this._checkNameExistsInCache(e,t,!1,a))throw new r.Io(n(`File '%s' already exists in parent folder`).replace(`%s`,t),`FileAlreadyExists`)}let o=R(await this._dataProvider.renameItem(i,t));return o&&this._cache.upsertEntity(I({...this._cache.getEntity(a),...o})),this._cache.getEntity(a)}async moveItem({itemId:e,targetFolderId:t,isFolder:n}){if(typeof this._dataProvider.moveItem!=`function`){let{__:e}=this.i18n;throw new r.Io(e(`Move item operation is not supported by data provider`),`MoveNotAllowed`)}let i=this.normalizeId(t);this._validateTargetFolderType(t);let a=this._cache.getEntity(e);if(!a){let t=R(await this._dataProvider.moveItem({id:e,folderId:i,isFolder:n},i));if(t.id===e)this._cache.upsertEntity(I({...t,folderId:i}));else{try{this._cache.deleteEntity(e)}catch{}this._cache.upsertEntity(I({...t,folderId:i}))}return!0}let{__:o}=this.i18n;if(a.isFolder){if(e===i)throw new r.Io(o(`Cannot move folder into itself`),`MoveIntoSelf`);if(this._isAncestor(e,i))throw new r.Io(o(`Cannot move folder into its descendant`),`MoveIntoDescendant`)}if(this._validateDuplicates&&i!==this.normalizeId(a.folderId)&&a.name&&this._checkNameExistsInCache(i,a.name,!!a.isFolder,e)){let e=a.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.Io(`${a.isFolder?`Folder`:`File`} '${a.name}' already exists in target folder`,e)}let s=R(await this._dataProvider.moveItem(a,i));if(s.id===e){let t=this._cache.moveEntity(e,i);return this._cache.upsertEntity(I({...t,...s})),!0}else{let t=this._cache.deleteEntity(e);return this._cache.upsertEntity(I({...t,...s,folderId:i})),!0}}async moveItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let i=t.map(e=>this._cache.getEntity(e));for(let e of i)if(e){if(e.isFolder){let{__:t}=this.i18n;if(e.id===n)throw new r.Io(t(`Cannot move folder '%s' into itself`).replace(`%s`,e.name),`MoveIntoSelf`);if(this._isAncestor(e.id,n))throw new r.Io(t(`Cannot move folder '%s' into its descendant`).replace(`%s`,e.name),`MoveIntoDescendant`)}if(this._validateDuplicates&&n!==this.normalizeId(e.folderId)&&e.name&&this._checkNameExistsInCache(n,e.name,!!e.isFolder,e.id)){let t=e.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.Io(`${e.isFolder?`Folder`:`File`} '${e.name}' already exists in target folder`,t)}}let a={detailed:Array(i.length),success:!0};if(typeof this._dataProvider.moveItems==`function`)a=P(await this._dataProvider.moveItems(i,n),e=>e);else if(typeof this._dataProvider.moveItem==`function`)a.detailed=await Promise.all(t.map(async(e,t)=>{let r=i[t]||{id:e,folderId:null,isFolder:!1,name:e};try{return{requestId:e,data:R(await this._dataProvider.moveItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}));else throw new r.Io(`Move items is not supported`,`MoveNotAllowed`);if(a.success){let e=a.detailed||t.map(e=>({requestId:e,success:!0,data:void 0}));for(let t of e)if(t.success)if(!t.data||t.data.id===t.requestId)this._cache.moveEntity(t.requestId,n),t.data&&this._cache.upsertEntity(I({...this._cache.getEntity(t.requestId),...t.data,folderId:n}));else{let e=this._cache.deleteEntity(t.requestId);this._cache.upsertEntity(I({...e,...t.data,folderId:n}))}return a}else{let{__:e}=this.i18n;return{success:!1,error:a.error||new r.Io(e(`Move items failed`),`MoveNotAllowed`)}}}async copyItem({itemId:e,targetFolderId:t}){if(typeof this._dataProvider.copyItem!=`function`){let{__:e}=this.i18n;throw new r.Io(e(`Copy item is not supported`),`CopyNotAllowed`)}let n=this.normalizeId(t);this._validateTargetFolderType(t);let i=this._cache.getEntity(e);if(!i){let t=R(await this._dataProvider.copyItem({id:e,folderId:n},n));return this._cache.copyEntity(e,n,t.id),this._cache.upsertEntity(I({...t,folderId:n})),!0}if(this._validateDuplicates&&i.name){let t=n===this.normalizeId(i.folderId)?e:void 0;if(this._checkNameExistsInCache(n,i.name,!!i.isFolder,t)){let e=i.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.Io(`${i.isFolder?`Folder`:`File`} '${i.name}' already exists in target folder`,e)}}let a=R(await this._dataProvider.copyItem(i,n));return this._cache.copyEntity(e,n,a.id,{...a,folderId:n})||this._cache.upsertEntity(I({...a,folderId:n})),!0}async copyItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let i=t.map(e=>typeof e==`string`?{id:e}:e),a=i.map(e=>e.id),o=a.map((e,t)=>{let n=this._cache.getEntity(e),r=i[t]?.newName;return n?r?{...n,name:r}:n:void 0});if(this._validateDuplicates)for(let e=0;e<o.length;e++){let t=o[e];if(t&&t.name){let i=n===this.normalizeId(t.folderId)?a[e]:void 0;if(this._checkNameExistsInCache(n,t.name,!!t.isFolder,i)){let e=t.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.Io(`${t.isFolder?`Folder`:`File`} '${t.name}' already exists in target folder`,e)}}}let s={detailed:Array(o.length),success:!0};if(typeof this._dataProvider.copyItems==`function`)s=P(await this._dataProvider.copyItems(o,n),e=>e);else if(typeof this._dataProvider.copyItem==`function`)s.detailed=await Promise.all(a.map(async(e,t)=>{let r=o[t]||{id:e,folderId:null,isFolder:!1};try{return{requestId:e,data:R(await this._dataProvider.copyItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}));else{let{__:e}=this.i18n;throw new r.Io(e(`Copy items is not supported`),`CopyNotAllowed`)}if(s.success&&s.detailed)for(let e=0,t=s.detailed.length;e<t;e++){let t=s.detailed[e];if(t.success&&t.data?.id){let e=t.data.folderId||n;!this._cache.copyEntity(t.requestId,e,t.data.id,{...t.data,folderId:e})&&t.data&&this._cache.upsertEntity(I({...t.data,folderId:e}))}}else if(!s.detailed)throw new r.Io(`batchResult in copy method must have detailed results`,`ValidationError`);return s}async uploadFileByUrl(e){if(e.noFolder){let t=await this.getTempFolder();e={...e,folderId:t.id}}let t=this.normalizeId(e.folderId??this._rootId);try{let n=I({...await this._dataProvider.uploadFileByUrl(e.url,t,{eventSource:e.eventSource}),folderId:t});return this._cache.upsertEntity(n),n}catch(e){throw e}}async updateFile(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.updateFile!=`function`)throw new r.Io(n(`Update file is not supported`),`UnsupportedOperation`);let i=this.normalizeId(e),a=this._cache.getEntity(i);if(!a)throw new r.Io(n(`File with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`);if(t.name&&t.name!==a.name&&this._validateName(t.name,!1),this._validateDuplicates&&t.name&&t.name!==a.name){let e=this.normalizeId(a.folderId);if(this._checkNameExistsInCache(e,t.name,!1,i))throw new r.Io(n(`File '%s' already exists in parent folder`).replace(`%s`,t.name),`FileAlreadyExists`)}let o=R(await this._dataProvider.updateFile(a,{...t}));return this._cache.upsertEntity(I({...this._cache.getEntity(i),...o,...t})),this._cache.getEntity(i)}};Object.defineProperty(t,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return p}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return V}})});
|